Skip to content

Conversation

@lvthillo
Copy link
Contributor

@lvthillo lvthillo commented Dec 2, 2025

Rollback Plan

If a change needs to be reverted, we will publish an updated version of the library.

Changes to Security Controls

Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.

Description

Add support for change calender integration in aws_ssm_association. There is no way to create a change calender except using the console so it's hard to test.

Relations

Closes #45318

References

Output from Acceptance Testing

% make testacc TESTS=TestAccSSMAssociation PKG=ssm                                     <aws:lorenz>
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 f-ssm-calender-association 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ssm/... -v -count 1 -parallel 20 -run='TestAccSSMAssociation'  -timeout 360m -vet=off
2025/12/02 21:35:43 Creating Terraform AWS Provider (SDKv2-style)...
2025/12/02 21:35:43 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccSSMAssociation_Identity_Basic
=== PAUSE TestAccSSMAssociation_Identity_Basic
=== RUN   TestAccSSMAssociation_Identity_RegionOverride
=== PAUSE TestAccSSMAssociation_Identity_RegionOverride
=== RUN   TestAccSSMAssociation_Identity_ExistingResource
=== PAUSE TestAccSSMAssociation_Identity_ExistingResource
=== RUN   TestAccSSMAssociation_Identity_ExistingResource_NoRefresh_NoChange
=== PAUSE TestAccSSMAssociation_Identity_ExistingResource_NoRefresh_NoChange
=== RUN   TestAccSSMAssociation_tags
=== PAUSE TestAccSSMAssociation_tags
=== RUN   TestAccSSMAssociation_tags_null
=== PAUSE TestAccSSMAssociation_tags_null
=== RUN   TestAccSSMAssociation_tags_EmptyMap
=== PAUSE TestAccSSMAssociation_tags_EmptyMap
=== RUN   TestAccSSMAssociation_tags_AddOnUpdate
=== PAUSE TestAccSSMAssociation_tags_AddOnUpdate
=== RUN   TestAccSSMAssociation_tags_EmptyTag_OnCreate
=== PAUSE TestAccSSMAssociation_tags_EmptyTag_OnCreate
=== RUN   TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Add
=== PAUSE TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Add
=== RUN   TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Replace
=== PAUSE TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Replace
=== RUN   TestAccSSMAssociation_tags_DefaultTags_providerOnly
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_providerOnly
=== RUN   TestAccSSMAssociation_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_nonOverlapping
=== RUN   TestAccSSMAssociation_tags_DefaultTags_overlapping
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_overlapping
=== RUN   TestAccSSMAssociation_tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_updateToProviderOnly
=== RUN   TestAccSSMAssociation_tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_updateToResourceOnly
=== RUN   TestAccSSMAssociation_tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_emptyResourceTag
=== RUN   TestAccSSMAssociation_tags_DefaultTags_emptyProviderOnlyTag
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_emptyProviderOnlyTag
=== RUN   TestAccSSMAssociation_tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_nullOverlappingResourceTag
=== RUN   TestAccSSMAssociation_tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccSSMAssociation_tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN   TestAccSSMAssociation_tags_ComputedTag_OnCreate
=== PAUSE TestAccSSMAssociation_tags_ComputedTag_OnCreate
=== RUN   TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Add
=== PAUSE TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Add
=== RUN   TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Replace
=== PAUSE TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Replace
=== RUN   TestAccSSMAssociation_tags_IgnoreTags_Overlap_DefaultTag
=== PAUSE TestAccSSMAssociation_tags_IgnoreTags_Overlap_DefaultTag
=== RUN   TestAccSSMAssociation_tags_IgnoreTags_Overlap_ResourceTag
=== PAUSE TestAccSSMAssociation_tags_IgnoreTags_Overlap_ResourceTag
=== RUN   TestAccSSMAssociation_basic
=== PAUSE TestAccSSMAssociation_basic
=== RUN   TestAccSSMAssociation_disappears
=== PAUSE TestAccSSMAssociation_disappears
=== RUN   TestAccSSMAssociation_disappears_document
=== PAUSE TestAccSSMAssociation_disappears_document
=== RUN   TestAccSSMAssociation_applyOnlyAtCronInterval
=== PAUSE TestAccSSMAssociation_applyOnlyAtCronInterval
=== RUN   TestAccSSMAssociation_withTargets
=== PAUSE TestAccSSMAssociation_withTargets
=== RUN   TestAccSSMAssociation_withParameters
=== PAUSE TestAccSSMAssociation_withParameters
=== RUN   TestAccSSMAssociation_withAssociationName
=== PAUSE TestAccSSMAssociation_withAssociationName
=== RUN   TestAccSSMAssociation_withAssociationNameAndScheduleExpression
=== PAUSE TestAccSSMAssociation_withAssociationNameAndScheduleExpression
=== RUN   TestAccSSMAssociation_withDocumentVersion
=== PAUSE TestAccSSMAssociation_withDocumentVersion
=== RUN   TestAccSSMAssociation_withOutputLocation
=== PAUSE TestAccSSMAssociation_withOutputLocation
=== RUN   TestAccSSMAssociation_withOutputLocation_s3Region
=== PAUSE TestAccSSMAssociation_withOutputLocation_s3Region
=== RUN   TestAccSSMAssociation_withOutputLocation_waitForSuccessTimeout
=== PAUSE TestAccSSMAssociation_withOutputLocation_waitForSuccessTimeout
=== RUN   TestAccSSMAssociation_withAutomationTargetParamName
=== PAUSE TestAccSSMAssociation_withAutomationTargetParamName
=== RUN   TestAccSSMAssociation_withScheduleExpression
=== PAUSE TestAccSSMAssociation_withScheduleExpression
=== RUN   TestAccSSMAssociation_withComplianceSeverity
=== PAUSE TestAccSSMAssociation_withComplianceSeverity
=== RUN   TestAccSSMAssociation_rateControl
=== PAUSE TestAccSSMAssociation_rateControl
=== RUN   TestAccSSMAssociation_syncCompliance
=== PAUSE TestAccSSMAssociation_syncCompliance
=== CONT  TestAccSSMAssociation_Identity_Basic
=== CONT  TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Add
=== CONT  TestAccSSMAssociation_withAssociationNameAndScheduleExpression
=== CONT  TestAccSSMAssociation_tags_DefaultTags_nullOverlappingResourceTag
=== CONT  TestAccSSMAssociation_withAutomationTargetParamName
=== CONT  TestAccSSMAssociation_withOutputLocation
=== CONT  TestAccSSMAssociation_tags_DefaultTags_providerOnly
=== CONT  TestAccSSMAssociation_tags_EmptyTag_OnCreate
=== CONT  TestAccSSMAssociation_tags_DefaultTags_updateToResourceOnly
=== CONT  TestAccSSMAssociation_tags_DefaultTags_emptyProviderOnlyTag
=== CONT  TestAccSSMAssociation_tags_DefaultTags_emptyResourceTag
=== CONT  TestAccSSMAssociation_withOutputLocation_s3Region
=== CONT  TestAccSSMAssociation_withOutputLocation_waitForSuccessTimeout
=== CONT  TestAccSSMAssociation_tags_EmptyMap
=== CONT  TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Replace
=== CONT  TestAccSSMAssociation_tags_AddOnUpdate
=== CONT  TestAccSSMAssociation_rateControl
=== CONT  TestAccSSMAssociation_syncCompliance
=== CONT  TestAccSSMAssociation_tags_ComputedTag_OnCreate
=== CONT  TestAccSSMAssociation_tags_DefaultTags_nullNonOverlappingResourceTag
=== NAME  TestAccSSMAssociation_Identity_Basic
    association_identity_gen_test.go:28: Terraform CLI version 1.11.0 is below minimum version 1.12.0: skipping test
--- SKIP: TestAccSSMAssociation_Identity_Basic (2.09s)
=== CONT  TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Add
--- PASS: TestAccSSMAssociation_tags_DefaultTags_nullNonOverlappingResourceTag (38.19s)
=== CONT  TestAccSSMAssociation_withComplianceSeverity
--- PASS: TestAccSSMAssociation_withOutputLocation_waitForSuccessTimeout (40.34s)
=== CONT  TestAccSSMAssociation_tags_null
--- PASS: TestAccSSMAssociation_syncCompliance (46.28s)
=== CONT  TestAccSSMAssociation_tags_DefaultTags_overlapping
--- PASS: TestAccSSMAssociation_tags_DefaultTags_emptyProviderOnlyTag (57.66s)
=== CONT  TestAccSSMAssociation_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccSSMAssociation_withAssociationNameAndScheduleExpression (61.03s)
=== CONT  TestAccSSMAssociation_Identity_ExistingResource_NoRefresh_NoChange
    association_identity_gen_test.go:261: Terraform CLI version 1.11.0 is below minimum version 1.12.0: skipping test
--- SKIP: TestAccSSMAssociation_Identity_ExistingResource_NoRefresh_NoChange (0.15s)
=== CONT  TestAccSSMAssociation_withDocumentVersion
--- PASS: TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Add (72.68s)
=== CONT  TestAccSSMAssociation_tags
--- PASS: TestAccSSMAssociation_tags_DefaultTags_nullOverlappingResourceTag (74.65s)
=== CONT  TestAccSSMAssociation_tags_DefaultTags_nonOverlapping
--- PASS: TestAccSSMAssociation_tags_EmptyTag_OnCreate (75.67s)
=== CONT  TestAccSSMAssociation_disappears_document
--- PASS: TestAccSSMAssociation_tags_DefaultTags_emptyResourceTag (77.04s)
=== CONT  TestAccSSMAssociation_withAssociationName
--- PASS: TestAccSSMAssociation_tags_ComputedTag_OnCreate (79.43s)
=== CONT  TestAccSSMAssociation_withParameters
--- PASS: TestAccSSMAssociation_tags_EmptyMap (81.18s)
=== CONT  TestAccSSMAssociation_withTargets
--- PASS: TestAccSSMAssociation_withAutomationTargetParamName (92.34s)
=== CONT  TestAccSSMAssociation_applyOnlyAtCronInterval
--- PASS: TestAccSSMAssociation_withDocumentVersion (45.29s)
=== CONT  TestAccSSMAssociation_Identity_ExistingResource
    association_identity_gen_test.go:204: Terraform CLI version 1.11.0 is below minimum version 1.12.0: skipping test
--- SKIP: TestAccSSMAssociation_Identity_ExistingResource (0.30s)
=== CONT  TestAccSSMAssociation_Identity_RegionOverride
    association_identity_gen_test.go:115: Terraform CLI version 1.11.0 is below minimum version 1.12.0: skipping test
--- SKIP: TestAccSSMAssociation_Identity_RegionOverride (0.16s)
=== CONT  TestAccSSMAssociation_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccSSMAssociation_rateControl (110.76s)
=== CONT  TestAccSSMAssociation_disappears
--- PASS: TestAccSSMAssociation_tags_null (74.09s)
=== CONT  TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Replace
--- PASS: TestAccSSMAssociation_withOutputLocation (115.56s)
=== CONT  TestAccSSMAssociation_basic
--- PASS: TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Replace (115.76s)
=== CONT  TestAccSSMAssociation_withScheduleExpression
--- PASS: TestAccSSMAssociation_withComplianceSeverity (77.66s)
=== CONT  TestAccSSMAssociation_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccSSMAssociation_tags_AddOnUpdate (116.05s)
--- PASS: TestAccSSMAssociation_withOutputLocation_s3Region (118.09s)
--- PASS: TestAccSSMAssociation_tags_DefaultTags_updateToResourceOnly (130.50s)
--- PASS: TestAccSSMAssociation_tags_DefaultTags_updateToProviderOnly (81.70s)
--- PASS: TestAccSSMAssociation_withAssociationName (63.66s)
--- PASS: TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Add (140.27s)
--- PASS: TestAccSSMAssociation_withParameters (69.34s)
--- PASS: TestAccSSMAssociation_applyOnlyAtCronInterval (64.40s)
--- PASS: TestAccSSMAssociation_withScheduleExpression (54.44s)
--- PASS: TestAccSSMAssociation_tags_DefaultTags_overlapping (126.27s)
--- PASS: TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Replace (61.27s)
--- PASS: TestAccSSMAssociation_tags_IgnoreTags_Overlap_DefaultTag (71.62s)
--- PASS: TestAccSSMAssociation_tags_DefaultTags_nonOverlapping (108.01s)
--- PASS: TestAccSSMAssociation_tags_DefaultTags_providerOnly (183.91s)
--- PASS: TestAccSSMAssociation_disappears_document (108.57s)
--- PASS: TestAccSSMAssociation_withTargets (106.11s)
--- PASS: TestAccSSMAssociation_tags_IgnoreTags_Overlap_ResourceTag (75.03s)
--- PASS: TestAccSSMAssociation_tags (124.59s)
--- PASS: TestAccSSMAssociation_disappears (100.15s)
--- PASS: TestAccSSMAssociation_basic (110.59s)
PASS
ok      github.com/hashicorp/terraform-provider-aws/internal/service/ssm        232.911s

...

@lvthillo lvthillo requested a review from a team as a code owner December 2, 2025 20:44
@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

Community Guidelines

This comment is added to every new Pull Request to provide quick reference to how the Terraform AWS Provider is maintained. Please review the information below, and thank you for contributing to the community that keeps the provider thriving! 🚀

Voting for Prioritization

  • Please vote on this Pull Request by adding a 👍 reaction to the original post to help the community and maintainers prioritize it.
  • Please see our prioritization guide for additional information on how the maintainers handle prioritization.
  • Please do not leave +1 or other comments that do not add relevant new information or questions; they generate extra noise for others following the Pull Request and do not help prioritize the request.

Pull Request Authors

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions github-actions bot added needs-triage Waiting for first response or review from a maintainer. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. service/ssm Issues and PRs that pertain to the ssm service. size/XS Managed by automation to categorize the size of a PR. labels Dec 2, 2025
@github-actions github-actions bot added the documentation Introduces or discusses updates to documentation. label Dec 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Introduces or discusses updates to documentation. needs-triage Waiting for first response or review from a maintainer. service/ssm Issues and PRs that pertain to the ssm service. size/XS Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Change Calendar integration in aws_ssm_association

1 participant