File tree Expand file tree Collapse file tree 4 files changed +41
-3
lines changed
terraform/account-wide-infrastructure/modules/lambda-errors-metric-alarm Expand file tree Collapse file tree 4 files changed +41
-3
lines changed Original file line number Diff line number Diff line change 1+ resource "aws_iam_policy" "lambda-errors-topic-kms-read-write" {
2+ name = " ${ var . name_prefix } -lambda-errors-topic-kms-read-write"
3+ description = " Encrypt and decrypt with the lambda errors sns topic kms key"
4+ policy = jsonencode ({
5+ Version = " 2012-10-17"
6+ Statement = [
7+ {
8+ Action = [
9+ " kms:Decrypt" ,
10+ " kms:DescribeKey" ,
11+ " kms:Encrypt" ,
12+ " kms:GenerateDataKey"
13+ ]
14+ Effect = " Allow"
15+ Resource = [
16+ aws_kms_key.lambda- errors- topic- key.arn
17+ ]
18+ }
19+ ]
20+ })
21+ }
Original file line number Diff line number Diff line change 1+ resource "aws_kms_key" "lambda-errors-topic-key" {
2+ description = " Lambda errors SNS topic table KMS key"
3+ deletion_window_in_days = var. kms_deletion_window_in_days
4+
5+ }
6+
7+ resource "aws_kms_alias" "lambda-errors-topic-alias" {
8+ name = " alias/${ var . name_prefix } -lambda-errors-topic-table-key"
9+ target_key_id = aws_kms_key. lambda-errors-topic-key . key_id
10+ }
Original file line number Diff line number Diff line change 11resource "aws_sns_topic" "sns_topic" {
2- name = " ${ var . name_prefix } --lambda-errors-sns-topic"
2+ name = " ${ var . name_prefix } --lambda-errors-sns-topic"
3+ kms_master_key_id = aws_kms_key. lambda-errors-topic-key . key_id
34}
45
56resource "aws_sns_topic_subscription" "sns_subscription" {
6- for_each = toset (data. aws_secretsmanager_secret_version . emails . secret_string )
7+ for_each = nonsensitive ( toset (tolist ( jsondecode ( data. aws_secretsmanager_secret_version . emails . secret_string ))) )
78 topic_arn = aws_sns_topic. sns_topic . arn
89 protocol = " email"
9- endpoint = each. value
10+ endpoint = sensitive ( each. value )
1011}
Original file line number Diff line number Diff line change @@ -54,3 +54,9 @@ variable "name_prefix" {
5454 type = string
5555 description = " The prefix to apply to all resources in the module."
5656}
57+
58+ variable "kms_deletion_window_in_days" {
59+ type = number
60+ description = " The duration in days after which the key is deleted after destruction of the resource."
61+ default = 7
62+ }
You can’t perform that action at this time.
0 commit comments