generated from NHSDigital/nhs-notify-repository-template
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmodule_delete_routing_config_lambda.tf
More file actions
79 lines (61 loc) · 1.84 KB
/
module_delete_routing_config_lambda.tf
File metadata and controls
79 lines (61 loc) · 1.84 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
module "delete_routing_config_lambda" {
source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.22/terraform-lambda.zip"
project = var.project
environment = var.environment
component = var.component
aws_account_id = var.aws_account_id
region = var.region
kms_key_arn = var.kms_key_arn
function_name = "delete-routing-config"
function_module_name = "delete-routing-config"
handler_function_name = "handler"
description = "Delete Routing Config API endpoint"
memory = 512
timeout = 3
runtime = "nodejs20.x"
log_retention_in_days = var.log_retention_in_days
iam_policy_document = {
body = data.aws_iam_policy_document.delete_routing_config_lambda_policy.json
}
lambda_env_vars = local.backend_lambda_environment_variables
function_s3_bucket = var.function_s3_bucket
function_code_base_path = local.lambdas_dir
function_code_dir = "backend-api/dist/delete-routing-config"
send_to_firehose = var.send_to_firehose
log_destination_arn = var.log_destination_arn
log_subscription_role_arn = var.log_subscription_role_arn
}
data "aws_iam_policy_document" "delete_routing_config_lambda_policy" {
statement {
sid = "AllowDynamoAccess"
effect = "Allow"
actions = [
"dynamodb:UpdateItem",
]
resources = [
aws_dynamodb_table.routing_configuration.arn,
]
}
statement {
sid = "AllowKMSAccess"
effect = "Allow"
actions = [
"kms:Decrypt",
"kms:DescribeKey",
"kms:Encrypt",
"kms:GenerateDataKey*",
"kms:ReEncrypt*",
]
resources = [
var.kms_key_arn
]
}
statement {
sid = "AllowSSMParameterRead"
effect = "Allow"
actions = [
"ssm:GetParameter",
]
resources = [local.client_ssm_path_pattern]
}
}