-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlambda.tf
More file actions
120 lines (106 loc) · 4.96 KB
/
lambda.tf
File metadata and controls
120 lines (106 loc) · 4.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
data "aws_iam_policy_document" "bridge-allow-logging" {
statement {
actions = ["logs:*"]
resources = ["*"]
}
}
data "aws_iam_policy_document" "bridge-allow-dynamodb" {
statement {
actions = ["logs:*"]
resources = ["*"]
}
statement {
actions = ["dynamodb:*"]
resources = [aws_dynamodb_table.bridge.arn]
}
}
module "list_shopping_items" {
source = "./modules/lambda_route"
api_gateway_rest_api_id = aws_api_gateway_rest_api.bridge.id
api_gateway_rest_api_execution_arn = aws_api_gateway_rest_api.bridge.execution_arn
api_gateway_resource_parent_id = aws_api_gateway_rest_api.bridge.root_resource_id
path_part = "shopping-list"
http_method = "GET"
lambda_name = "bridge-list-shopping-list"
lambda_policy = data.aws_iam_policy_document.bridge-allow-logging.json
lambda_source_dir = "${path.module}/lambda/list-shopping-list"
lambda_environment = {
AUTH_TOKEN = var.auth_token
TODOIST_API_TOKEN = var.todoist_api_token
TODOIST_SHOPPING_LIST_PROJECT_ID = var.todoist_shopping_list_project_id
}
}
module "new_shopping_items" {
source = "./modules/lambda_route"
api_gateway_rest_api_id = aws_api_gateway_rest_api.bridge.id
api_gateway_rest_api_execution_arn = aws_api_gateway_rest_api.bridge.execution_arn
api_gateway_resource_parent_id = module.list_shopping_items.aws_api_gateway_resource_id
path_part = "new"
http_method = "POST"
lambda_name = "bridge-new-shopping-item"
lambda_policy = data.aws_iam_policy_document.bridge-allow-logging.json
lambda_source_dir = "${path.module}/lambda/new-shopping-item"
lambda_environment = {
AUTH_TOKEN = var.auth_token
TODOIST_API_TOKEN = var.todoist_api_token
TODOIST_SHOPPING_LIST_PROJECT_ID = var.todoist_shopping_list_project_id
}
}
module "list_overdue_todos" {
source = "./modules/lambda_route"
api_gateway_rest_api_id = aws_api_gateway_rest_api.bridge.id
api_gateway_rest_api_execution_arn = aws_api_gateway_rest_api.bridge.execution_arn
api_gateway_resource_parent_id = aws_api_gateway_rest_api.bridge.root_resource_id
path_part = "overdue-todos"
http_method = "GET"
lambda_name = "bridge-list-overdue-todos"
lambda_policy = data.aws_iam_policy_document.bridge-allow-logging.json
lambda_source_dir = "${path.module}/lambda/list-overdue-todos"
lambda_environment = {
AUTH_TOKEN = var.auth_token
TODOIST_API_TOKEN = var.todoist_api_token
}
}
module "close_overdue_todo" {
source = "./modules/lambda_route"
api_gateway_rest_api_id = aws_api_gateway_rest_api.bridge.id
api_gateway_rest_api_execution_arn = aws_api_gateway_rest_api.bridge.execution_arn
api_gateway_resource_parent_id = module.list_overdue_todos.aws_api_gateway_resource_id
path_part = "close"
http_method = "POST"
lambda_name = "bridge-close-overdue-todo"
lambda_policy = data.aws_iam_policy_document.bridge-allow-logging.json
lambda_source_dir = "${path.module}/lambda/close-overdue-todo"
lambda_environment = {
AUTH_TOKEN = var.auth_token
TODOIST_API_TOKEN = var.todoist_api_token
}
}
module "mark_venting_done" {
source = "./modules/lambda_route"
api_gateway_rest_api_id = aws_api_gateway_rest_api.bridge.id
api_gateway_rest_api_execution_arn = aws_api_gateway_rest_api.bridge.execution_arn
api_gateway_resource_parent_id = aws_api_gateway_rest_api.bridge.root_resource_id
path_part = "venting-done"
http_method = "POST"
lambda_name = "bridge-mark-venting-done"
lambda_policy = data.aws_iam_policy_document.bridge-allow-dynamodb.json
lambda_source_dir = "${path.module}/lambda/mark-venting-done"
lambda_environment = {
AUTH_TOKEN = var.auth_token
}
}
module "is_venting_done" {
source = "./modules/lambda_route"
api_gateway_rest_api_id = aws_api_gateway_rest_api.bridge.id
api_gateway_rest_api_execution_arn = aws_api_gateway_rest_api.bridge.execution_arn
api_gateway_resource_parent_id = aws_api_gateway_rest_api.bridge.root_resource_id
path_part = "venting"
http_method = "GET"
lambda_name = "bridge-is-venting-done"
lambda_policy = data.aws_iam_policy_document.bridge-allow-dynamodb.json
lambda_source_dir = "${path.module}/lambda/is-venting-done"
lambda_environment = {
AUTH_TOKEN = var.auth_token
}
}