Skip to content

Commit 1ec8ebf

Browse files
committed
DR-235 Ignore value field changes to smm param
1 parent 9125093 commit 1ec8ebf

File tree

3 files changed

+41
-23
lines changed

3 files changed

+41
-23
lines changed

infrastructure/modules/ssm_parameter/main.tf

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
11
resource "aws_ssm_parameter" "secret" {
2+
count = var.ignore_value_changes ? 0 : 1
3+
name = "/ndr/${terraform.workspace}/${var.name}"
4+
type = var.type
5+
description = var.description
6+
value = var.value
7+
key_id = var.key_id
8+
depends_on = [var.resource_depends_on]
9+
tags = {
10+
Name = "${terraform.workspace}-ssm"
11+
}
12+
13+
}
14+
15+
16+
resource "aws_ssm_parameter" "secret_ignore_value_changes" {
17+
count = var.ignore_value_changes ? 1 : 0
218
name = "/ndr/${terraform.workspace}/${var.name}"
319
type = var.type
420
description = var.description
@@ -10,7 +26,9 @@ resource "aws_ssm_parameter" "secret" {
1026
}
1127

1228
lifecycle {
13-
ignore_changes = var.ignore_changes
29+
ignore_changes = [
30+
value,
31+
]
1432
}
1533
}
1634

infrastructure/modules/ssm_parameter/variable.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ variable "key_id" {
4444
description = "KMS Key ID or ARN to encrypt the SecureString parameter"
4545
}
4646

47-
variable "ignore_changes" {
48-
type = list(string)
49-
default = []
50-
description = "List of resource attributes to ignore changes for"
47+
variable "ignore_value_changes" {
48+
type = bool
49+
default = false
50+
description = "Whether to ignore changes to the value field"
5151
}
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
# Creating Params to hold a copy of externally signed client cert and key
22
module "ssm_param_external_client_cert" {
33
# count = var.externally_signed_certs ? 1 : 0
4-
source = "./modules/ssm_parameter"
5-
environment = var.environment
6-
owner = var.owner
7-
name = "external_client_cert"
8-
type = "SecureString"
9-
description = "Externally signed client certificate for mTLS"
10-
value = "REPLACE_ME"
11-
key_id = module.sns_encryption_key.key_id
12-
ignore_changes = ["value"]
4+
source = "./modules/ssm_parameter"
5+
environment = var.environment
6+
owner = var.owner
7+
name = "external_client_cert"
8+
type = "SecureString"
9+
description = "Externally signed client certificate for mTLS"
10+
value = "REPLACE_ME"
11+
key_id = module.sns_encryption_key.key_id
12+
ignore_value_changes = true
1313
}
1414

1515
module "ssm_param_external_client_key" {
1616
# count = var.externally_signed_certs ? 1 : 0
17-
source = "./modules/ssm_parameter"
18-
environment = var.environment
19-
owner = var.owner
20-
name = "external_client_key"
21-
type = "SecureString"
22-
description = "Externally signed client certificate for mTLS"
23-
value = "REPLACE_ME"
24-
key_id = module.sns_encryption_key.key_id
25-
ignore_changes = ["value"]
17+
source = "./modules/ssm_parameter"
18+
environment = var.environment
19+
owner = var.owner
20+
name = "external_client_key"
21+
type = "SecureString"
22+
description = "Externally signed client certificate for mTLS"
23+
value = "REPLACE_ME"
24+
key_id = module.sns_encryption_key.key_id
25+
ignore_value_changes = true
2626
}

0 commit comments

Comments
 (0)