pulumi-aws
pulumi-aws copied to clipboard
SecretManger Secret has a persistent diff, when replicas is set!
Hello!
Issue details
When adding a replica to a SecretManger.Secert in golang:
_, err := secretsmanager.NewSecret(ctx, "my-secret", &secretsmanager.SecretArgs{
Name: pulumi.String("my-secret"),
Description: pulumi.String("My secret"),
ForceOverwriteReplicaSecret: pulumi.Bool(false),
Replicas: secretsmanager.SecretReplicaArray{
&secretsmanager.SecretReplicaArgs{
Region: pulumi.String("us-east-1"),
},
},
})
if err != nil {
return err
}
I get on all pulumi up
call a difference displayed:
Resources:
~ 1 to update
1 unchanged
Do you want to perform this update? details
pulumi:pulumi:Stack: (same)
[urn=urn:pulumi:dev::aws-classic-test::pulumi:pulumi:Stack::aws-classic-test-dev]
~ aws:secretsmanager/secret:Secret: (update)
[id=arn:aws:secretsmanager:eu-central-1:052848974346:secret:my-secret-css8X3]
[urn=urn:pulumi:dev::aws-classic-test::aws:secretsmanager/secret:Secret::my-secret]
~ replicas: [
~ [0]: {
~ region: "us-east-1" => "us-east-1"
}
]
But actually, I can't see any difference in the region
field.
Affected area/feature
SecretManger.Secret
Successfully reproduced this issue in TypeScript too:
new aws.secretsmanager.Secret(
"my-secret",
{
name: "my-secret",
description: "my-secret",
replicas: [{ region: "us-east-1" }],
});
Workaround
Applying an ignore to the region of the specific replica will hide this issue:
new aws.secretsmanager.Secret(
"my-secret",
{
name: "my-secret",
description: "my-secret",
replicas: [{ region: "us-east-1" }],
},
{
ignoreChanges: ["replicas[0].region"],
}
);
Investigation Notes
There are additional fields (status, kmsKeyId and lastAccessedDate) which are automatically populated, but these don't appear to be causing the diff. It seems isolated to region
field. Tested this by ignoring all fields except region
and it still reported the diff.
This could likely be a bug within in the bridge on either the InstanceDiff result that comes back from tf.Diff()
, or possibly something which should then get ignored by doIgnoreChanges
but perhaps has something missing in the schema to trigger this correctly.
Unfortunately this reproduces still. The root cause here is pulumi/pulumi-terraform-bridge#186
Added to epic https://github.com/pulumi/home/issues/3558