|
3 | 3 | # |
4 | 4 | ######## aft_account_request_audit_trigger ######## |
5 | 5 |
|
| 6 | +#tfsec:ignore:aws-lambda-enable-tracing |
6 | 7 | resource "aws_lambda_function" "aft_account_request_audit_trigger" { |
7 | 8 |
|
8 | 9 | filename = var.request_framework_archive_path |
@@ -38,14 +39,15 @@ resource "aws_lambda_event_source_mapping" "aft_account_request_audit_trigger" { |
38 | 39 | maximum_retry_attempts = 1 |
39 | 40 | } |
40 | 41 |
|
| 42 | +#tfsec:ignore:aws-cloudwatch-log-group-customer-key |
41 | 43 | resource "aws_cloudwatch_log_group" "aft_account_request_audit_trigger" { |
42 | 44 | name = "/aws/lambda/${aws_lambda_function.aft_account_request_audit_trigger.function_name}" |
43 | 45 | retention_in_days = var.cloudwatch_log_group_retention |
44 | 46 | } |
45 | 47 |
|
46 | 48 | ######## aft_account_request_action_trigger ######## |
47 | 49 |
|
48 | | - |
| 50 | +#tfsec:ignore:aws-lambda-enable-tracing |
49 | 51 | resource "aws_lambda_function" "aft_account_request_action_trigger" { |
50 | 52 |
|
51 | 53 | filename = var.request_framework_archive_path |
@@ -75,14 +77,15 @@ resource "aws_lambda_event_source_mapping" "aft_account_request_action_trigger" |
75 | 77 | maximum_retry_attempts = 1 |
76 | 78 | } |
77 | 79 |
|
| 80 | +#tfsec:ignore:aws-cloudwatch-log-group-customer-key |
78 | 81 | resource "aws_cloudwatch_log_group" "aft_account_request_action_trigger" { |
79 | 82 | name = "/aws/lambda/${aws_lambda_function.aft_account_request_action_trigger.function_name}" |
80 | 83 | retention_in_days = var.cloudwatch_log_group_retention |
81 | 84 | } |
82 | 85 |
|
83 | 86 | ######## aft_controltower_event_logger ######## |
84 | 87 |
|
85 | | - |
| 88 | +#tfsec:ignore:aws-lambda-enable-tracing |
86 | 89 | resource "aws_lambda_function" "aft_controltower_event_logger" { |
87 | 90 |
|
88 | 91 | filename = var.request_framework_archive_path |
@@ -111,14 +114,15 @@ resource "aws_lambda_permission" "aft_controltower_event_logger" { |
111 | 114 | source_arn = aws_cloudwatch_event_rule.aft_controltower_event_trigger.arn |
112 | 115 | } |
113 | 116 |
|
| 117 | +#tfsec:ignore:aws-cloudwatch-log-group-customer-key |
114 | 118 | resource "aws_cloudwatch_log_group" "aft_controltower_event_logger" { |
115 | 119 | name = "/aws/lambda/${aws_lambda_function.aft_controltower_event_logger.function_name}" |
116 | 120 | retention_in_days = var.cloudwatch_log_group_retention |
117 | 121 | } |
118 | 122 |
|
119 | 123 | ######## aft_account_request_processor ######## |
120 | 124 |
|
121 | | - |
| 125 | +#tfsec:ignore:aws-lambda-enable-tracing |
122 | 126 | resource "aws_lambda_function" "aft_account_request_processor" { |
123 | 127 |
|
124 | 128 | filename = var.request_framework_archive_path |
@@ -148,14 +152,15 @@ resource "aws_lambda_permission" "aft_account_request_processor" { |
148 | 152 | source_arn = aws_cloudwatch_event_rule.aft_account_request_processor.arn |
149 | 153 | } |
150 | 154 |
|
| 155 | +#tfsec:ignore:aws-cloudwatch-log-group-customer-key |
151 | 156 | resource "aws_cloudwatch_log_group" "aft_account_request_processor" { |
152 | 157 | name = "/aws/lambda/${aws_lambda_function.aft_account_request_processor.function_name}" |
153 | 158 | retention_in_days = var.cloudwatch_log_group_retention |
154 | 159 | } |
155 | 160 |
|
156 | 161 | ######## aft_invoke_aft_account_provisioning_framework ######## |
157 | 162 |
|
158 | | - |
| 163 | +#tfsec:ignore:aws-lambda-enable-tracing |
159 | 164 | resource "aws_lambda_function" "aft_invoke_aft_account_provisioning_framework" { |
160 | 165 |
|
161 | 166 | filename = var.request_framework_archive_path |
@@ -185,7 +190,38 @@ resource "aws_lambda_permission" "aft_invoke_aft_account_provisioning_framework" |
185 | 190 | source_arn = aws_cloudwatch_event_rule.aft_controltower_event_trigger.arn |
186 | 191 | } |
187 | 192 |
|
| 193 | +#tfsec:ignore:aws-cloudwatch-log-group-customer-key |
188 | 194 | resource "aws_cloudwatch_log_group" "aft_invoke_aft_account_provisioning_framework" { |
189 | 195 | name = "/aws/lambda/${aws_lambda_function.aft_invoke_aft_account_provisioning_framework.function_name}" |
190 | 196 | retention_in_days = var.cloudwatch_log_group_retention |
191 | 197 | } |
| 198 | + |
| 199 | +######## aft_cleanup_resources ######## |
| 200 | + |
| 201 | +#tfsec:ignore:aws-lambda-enable-tracing |
| 202 | +resource "aws_lambda_function" "aft_cleanup_resources" { |
| 203 | + |
| 204 | + filename = var.request_framework_archive_path |
| 205 | + function_name = "aft-cleanup-resources" |
| 206 | + description = "Removes AFT pipeline resources when an account record is removed from the AFT repo" |
| 207 | + role = aws_iam_role.aft_cleanup_resources.arn |
| 208 | + handler = "aft_cleanup_resources.lambda_handler" |
| 209 | + |
| 210 | + source_code_hash = var.request_framework_archive_hash |
| 211 | + memory_size = 1024 |
| 212 | + runtime = "python3.8" |
| 213 | + timeout = "300" |
| 214 | + layers = [var.aft_common_layer_arn] |
| 215 | + |
| 216 | + vpc_config { |
| 217 | + subnet_ids = tolist([aws_subnet.aft_vpc_private_subnet_01.id, aws_subnet.aft_vpc_private_subnet_02.id]) |
| 218 | + security_group_ids = tolist([aws_security_group.aft_vpc_default_sg.id]) |
| 219 | + } |
| 220 | + |
| 221 | +} |
| 222 | + |
| 223 | +#tfsec:ignore:aws-cloudwatch-log-group-customer-key |
| 224 | +resource "aws_cloudwatch_log_group" "aft_cleanup_resources" { |
| 225 | + name = "/aws/lambda/${aws_lambda_function.aft_cleanup_resources.function_name}" |
| 226 | + retention_in_days = var.cloudwatch_log_group_retention |
| 227 | +} |
0 commit comments