Skip to content

Commit eb4a1e2

Browse files
Merge branch 'PRMT-574' of github.com:nhsconnect/national-document-repository-infrastructure into PRMT-575
2 parents 96643c9 + 21dd4ed commit eb4a1e2

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed

infrastructure/iam.tf

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,25 @@ resource "aws_iam_policy" "lambda_toggle_bulk_upload_policy" {
196196
policy = data.aws_iam_policy_document.lambda_toggle_bulk_upload_document.json
197197
}
198198

199+
data "aws_iam_policy_document" "v2_lambda_toggle_bulk_upload_document" {
200+
statement {
201+
effect = "Allow"
202+
203+
actions = [
204+
"lambda:UpdateEventSourceMapping",
205+
"lambda:GetEventSourceMapping"
206+
]
207+
208+
resources = [
209+
aws_lambda_event_source_mapping.v2_bulk_upload_lambda.arn
210+
]
211+
}
212+
}
213+
214+
resource "aws_iam_policy" "v2_lambda_toggle_bulk_upload_policy" {
215+
name = "${terraform.workspace}_v2_lambda_toggle_bulk_upload_policy"
216+
policy = data.aws_iam_policy_document.v2_lambda_toggle_bulk_upload_document.json
217+
}
199218

200219
data "aws_iam_policy_document" "assume_role_policy_for_ods_report_lambda" {
201220
statement {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
module "v2-toggle-bulk-upload-lambda" {
2+
source = "./modules/lambda"
3+
name = "V2ToggleBulkUploadLambda"
4+
handler = "handlers.toggle_bulk_upload_handler.lambda_handler"
5+
lambda_timeout = 60
6+
memory_size = 128
7+
8+
iam_role_policy_documents = [
9+
data.aws_iam_policy_document.v2_lambda_toggle_bulk_upload_document.json
10+
]
11+
12+
lambda_environment_variables = {
13+
ESM_UUID = aws_lambda_event_source_mapping.v2_bulk_upload_lambda.uuid
14+
}
15+
16+
is_gateway_integration_needed = false
17+
is_invoked_from_gateway = false
18+
}
19+

infrastructure/schedules.tf

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,3 +225,33 @@ resource "aws_lambda_permission" "toggle_bulk_upload_disable_permission" {
225225
principal = "events.amazonaws.com"
226226
source_arn = aws_cloudwatch_event_rule.bulk_upload_disable_rule.arn
227227
}
228+
229+
resource "aws_cloudwatch_event_target" "v2_bulk_upload_enable_target" {
230+
rule = aws_cloudwatch_event_rule.bulk_upload_enable_rule.name
231+
target_id = "v2-toggle-bulk-upload-enable"
232+
arn = module.v2-toggle-bulk-upload-lambda.lambda_arn
233+
input = jsonencode({ action = "enable" })
234+
}
235+
236+
resource "aws_cloudwatch_event_target" "v2_bulk_upload_disable_target" {
237+
rule = aws_cloudwatch_event_rule.bulk_upload_disable_rule.name
238+
target_id = "v2-toggle-bulk-upload-disable"
239+
arn = module.v2-toggle-bulk-upload-lambda.lambda_arn
240+
input = jsonencode({ action = "disable" })
241+
}
242+
243+
resource "aws_lambda_permission" "v2_toggle_bulk_upload_enable_permission" {
244+
statement_id = "AllowExecutionFromCloudWatchEnable"
245+
action = "lambda:InvokeFunction"
246+
function_name = module.v2-toggle-bulk-upload-lambda.function_name
247+
principal = "events.amazonaws.com"
248+
source_arn = aws_cloudwatch_event_rule.bulk_upload_enable_rule.arn
249+
}
250+
251+
resource "aws_lambda_permission" "v2_toggle_bulk_upload_disable_permission" {
252+
statement_id = "AllowExecutionFromCloudWatchDisable"
253+
action = "lambda:InvokeFunction"
254+
function_name = module.v2-toggle-bulk-upload-lambda.function_name
255+
principal = "events.amazonaws.com"
256+
source_arn = aws_cloudwatch_event_rule.bulk_upload_disable_rule.arn
257+
}

0 commit comments

Comments
 (0)