-
Notifications
You must be signed in to change notification settings - Fork 9.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Allow name, name_prefix_and path update for aws_iam_server_certificate #41186
fix: Allow name, name_prefix_and path update for aws_iam_server_certificate #41186
Conversation
Community NoteVoting for Prioritization
For Submitters
|
794eacb
to
8f1c7df
Compare
8f1c7df
to
e8df824
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀.
% make testacc TESTARGS='-run=TestAccIAMServerCertificate_' PKG=iam ACCTEST_PARALLELISM=3
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.23.5 test ./internal/service/iam/... -v -count 1 -parallel 3 -run=TestAccIAMServerCertificate_ -timeout 360m -vet=off
2025/02/03 08:44:10 Initializing Terraform AWS Provider...
=== RUN TestAccIAMServerCertificate_tags
=== PAUSE TestAccIAMServerCertificate_tags
=== RUN TestAccIAMServerCertificate_tags_null
=== PAUSE TestAccIAMServerCertificate_tags_null
=== RUN TestAccIAMServerCertificate_tags_EmptyMap
=== PAUSE TestAccIAMServerCertificate_tags_EmptyMap
=== RUN TestAccIAMServerCertificate_tags_AddOnUpdate
=== PAUSE TestAccIAMServerCertificate_tags_AddOnUpdate
=== RUN TestAccIAMServerCertificate_tags_EmptyTag_OnCreate
=== PAUSE TestAccIAMServerCertificate_tags_EmptyTag_OnCreate
=== RUN TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Add
=== PAUSE TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Add
=== RUN TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Replace
=== PAUSE TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Replace
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_providerOnly
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_providerOnly
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_nonOverlapping
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_overlapping
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_overlapping
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_updateToProviderOnly
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_updateToResourceOnly
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_emptyResourceTag
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_emptyProviderOnlyTag
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_emptyProviderOnlyTag
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_nullOverlappingResourceTag
=== RUN TestAccIAMServerCertificate_tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccIAMServerCertificate_tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN TestAccIAMServerCertificate_tags_ComputedTag_OnCreate
=== PAUSE TestAccIAMServerCertificate_tags_ComputedTag_OnCreate
=== RUN TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Add
=== PAUSE TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Add
=== RUN TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Replace
=== PAUSE TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Replace
=== RUN TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_DefaultTag
=== PAUSE TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_DefaultTag
=== RUN TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_ResourceTag
=== PAUSE TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_ResourceTag
=== RUN TestAccIAMServerCertificate_basic
=== PAUSE TestAccIAMServerCertificate_basic
=== RUN TestAccIAMServerCertificate_nameGenerated
=== PAUSE TestAccIAMServerCertificate_nameGenerated
=== RUN TestAccIAMServerCertificate_namePrefix
=== PAUSE TestAccIAMServerCertificate_namePrefix
=== RUN TestAccIAMServerCertificate_disappears
=== PAUSE TestAccIAMServerCertificate_disappears
=== RUN TestAccIAMServerCertificate_file
=== PAUSE TestAccIAMServerCertificate_file
=== RUN TestAccIAMServerCertificate_path
=== PAUSE TestAccIAMServerCertificate_path
=== CONT TestAccIAMServerCertificate_tags
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_nullOverlappingResourceTag
=== CONT TestAccIAMServerCertificate_basic
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_nullOverlappingResourceTag (12.90s)
=== CONT TestAccIAMServerCertificate_path
--- PASS: TestAccIAMServerCertificate_basic (18.04s)
=== CONT TestAccIAMServerCertificate_file
--- PASS: TestAccIAMServerCertificate_file (16.94s)
=== CONT TestAccIAMServerCertificate_disappears
=== CONT TestAccIAMServerCertificate_namePrefix
--- PASS: TestAccIAMServerCertificate_path (24.64s)
--- PASS: TestAccIAMServerCertificate_tags (43.15s)
=== CONT TestAccIAMServerCertificate_nameGenerated
--- PASS: TestAccIAMServerCertificate_disappears (9.46s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccIAMServerCertificate_nameGenerated (8.87s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_emptyProviderOnlyTag
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_updateToResourceOnly (19.58s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_emptyResourceTag
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_emptyProviderOnlyTag (12.74s)
=== CONT TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Replace
--- PASS: TestAccIAMServerCertificate_namePrefix (28.64s)
=== CONT TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_emptyResourceTag (12.54s)
=== CONT TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Replace (22.91s)
=== CONT TestAccIAMServerCertificate_tags_ComputedTag_OnCreate
--- PASS: TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_ResourceTag (29.52s)
=== CONT TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Add
--- PASS: TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_DefaultTag (25.44s)
=== CONT TestAccIAMServerCertificate_tags_EmptyTag_OnCreate
--- PASS: TestAccIAMServerCertificate_tags_ComputedTag_OnCreate (15.16s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_providerOnly
--- PASS: TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Add (23.02s)
=== CONT TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccIAMServerCertificate_tags_EmptyTag_OnCreate (22.12s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Replace (19.79s)
=== CONT TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Add
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_updateToProviderOnly (20.28s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_overlapping
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_providerOnly (42.56s)
=== CONT TestAccIAMServerCertificate_tags_EmptyMap
--- PASS: TestAccIAMServerCertificate_tags_EmptyMap (15.28s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_nonOverlapping
--- PASS: TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Add (30.17s)
=== CONT TestAccIAMServerCertificate_tags_AddOnUpdate
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_overlapping (32.73s)
=== CONT TestAccIAMServerCertificate_tags_DefaultTags_nullNonOverlappingResourceTag
--- PASS: TestAccIAMServerCertificate_tags_AddOnUpdate (20.15s)
=== CONT TestAccIAMServerCertificate_tags_null
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_nullNonOverlappingResourceTag (12.60s)
--- PASS: TestAccIAMServerCertificate_tags_DefaultTags_nonOverlapping (32.69s)
--- PASS: TestAccIAMServerCertificate_tags_null (17.76s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/iam 213.496s
@acwwat Thanks for the contribution 🎉 👏. |
This functionality has been released in v5.85.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you! |
Description
This PR is to allow updating the
name
,name_prefix
, andpath
arguments of theaws_iam_server_certificate
resource without force creating a new one.Note that there is still one limitation, where you cannot update the resource with both
name
andname_prefix
set to null to change to a fully-generated name. Since both of these arguments are optional + computed, the plan will simply detect no changes.As well, there is an account-level quota limit on 20 IAM server certificates. You'll either have to request for a quota increase (which I did, to 40) or set
-parallel
to a smaller number than 20.Relations
Closes #37479
References
Referred to UpdateServerCertificate for specs and wordings.
Output from Acceptance Testing