diff --git a/modules/aws-backup-destination/parameter_store_kms.tf b/modules/aws-backup-destination/parameter_store_kms.tf index dc5e068..3f4217e 100644 --- a/modules/aws-backup-destination/parameter_store_kms.tf +++ b/modules/aws-backup-destination/parameter_store_kms.tf @@ -39,7 +39,7 @@ resource "aws_kms_key" "parameter_store_key" { } resource "aws_kms_alias" "parameter_store_alias" { - name = "alias/parameter-store-backup-key" + name = var.name_prefix != null ? "alias/${var.name_prefix}-parameter-store-backup-key" : "alias/${var.source_account_name}-parameter-store-backup-key" target_key_id = aws_kms_key.parameter_store_key.key_id } diff --git a/modules/aws-backup-source/backup_plan.tf b/modules/aws-backup-source/backup_plan.tf index f4e783d..9bac769 100644 --- a/modules/aws-backup-source/backup_plan.tf +++ b/modules/aws-backup-source/backup_plan.tf @@ -27,6 +27,10 @@ resource "aws_backup_plan" "default" { } } } + + tags = { + "environment_name" = var.environment_name + } } # this backup plan shouldn't include a continous backup rule as it isn't supported for DynamoDB @@ -59,6 +63,10 @@ resource "aws_backup_plan" "dynamodb" { } } } + + tags = { + "environment_name" = var.environment_name + } } resource "aws_backup_plan" "ebsvol" { @@ -89,9 +97,13 @@ resource "aws_backup_plan" "ebsvol" { } } } + + tags = { + "environment_name" = var.environment_name + } } -# this backup plan shouldn't include a continous backup rule as it isn't supported for Aurora +# this backup plan shouldn't include a continuous backup rule as it isn't supported for Aurora resource "aws_backup_plan" "aurora" { count = var.backup_plan_config_aurora.enable ? 1 : 0 name = "${local.resource_name_prefix}-aurora-plan" @@ -120,6 +132,10 @@ resource "aws_backup_plan" "aurora" { } } } + + tags = { + "environment_name" = var.environment_name + } } @@ -153,6 +169,10 @@ resource "aws_backup_plan" "parameter_store" { } } } + + tags = { + "environment_name" = var.environment_name + } } @@ -230,7 +250,7 @@ resource "aws_backup_selection" "aurora" { selection_tag { key = var.backup_plan_config_aurora.selection_tag type = "STRINGEQUALS" - value = "True" + value = (var.backup_plan_config_aurora.selection_tag_value == null) ? "True" : var.backup_plan_config_aurora.selection_tag_value } } diff --git a/modules/aws-backup-source/backup_restore_testing.tf b/modules/aws-backup-source/backup_restore_testing.tf index b6389fc..2e94756 100644 --- a/modules/aws-backup-source/backup_restore_testing.tf +++ b/modules/aws-backup-source/backup_restore_testing.tf @@ -20,7 +20,7 @@ resource "awscc_backup_restore_testing_selection" "backup_restore_testing_select protected_resource_conditions = { string_equals = [{ key = "aws:ResourceTag/${var.backup_plan_config_dynamodb.selection_tag}" - value = "True" + value = (var.backup_plan_config_dynamodb.selection_tag_value == null) ? "True" : var.backup_plan_config_dynamodb.selection_tag_value }] } } @@ -36,7 +36,7 @@ resource "awscc_backup_restore_testing_selection" "backup_restore_testing_select protected_resource_conditions = { string_equals = [{ key = "aws:ResourceTag/${var.backup_plan_config_ebsvol.selection_tag}" - value = "True" + value = (var.backup_plan_config_ebsvol.selection_tag_value == null) ? "True" : var.backup_plan_config_ebsvol.selection_tag_value }] } } @@ -51,7 +51,7 @@ resource "awscc_backup_restore_testing_selection" "backup_restore_testing_select protected_resource_conditions = { string_equals = [{ key = "aws:ResourceTag/${var.backup_plan_config_aurora.selection_tag}" - value = "True" + value = (var.backup_plan_config_aurora.selection_tag_value == null) ? "True" : var.backup_plan_config_aurora.selection_tag_value }] } restore_metadata_overrides = local.aurora_overrides diff --git a/modules/aws-backup-source/variables.tf b/modules/aws-backup-source/variables.tf index 6ca9252..25a13fe 100644 --- a/modules/aws-backup-source/variables.tf +++ b/modules/aws-backup-source/variables.tf @@ -307,6 +307,7 @@ variable "backup_plan_config_aurora" { type = object({ enable = bool selection_tag = string + selection_tag_value = optional(string) compliance_resource_types = list(string) restore_testing_overrides = optional(string) rules = optional(list(object({