Skip to content

feat (AWS notifications): implement notification configuration, event rule, email contact #42575

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

marcinbelczewski
Copy link

@marcinbelczewski marcinbelczewski commented May 12, 2025

Description

This PR introduces Notification Configuration, Event Rule, Email Contact and Channel Association resources for AWS Notifications service.

Relations

Relates #34969 and #40292

References

https://docs.aws.amazon.com/notifications/latest/APIReference
https://docs.aws.amazon.com/notificationscontacts/latest/APIReference

Output from Acceptance Testing

make testacc PKG=notifications
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.23.8 test ./internal/service/notifications/... -v -count 1 -parallel 20   -timeout 360m -vet=off
2025/05/14 19:09:27 Initializing Terraform AWS Provider...
=== RUN   TestAccNotificationsChannelAssociation_basic
=== PAUSE TestAccNotificationsChannelAssociation_basic
=== RUN   TestAccNotificationsChannelAssociation_disappears
=== PAUSE TestAccNotificationsChannelAssociation_disappears
=== RUN   TestAccNotificationsEventRule_basic
=== PAUSE TestAccNotificationsEventRule_basic
=== RUN   TestAccNotificationsEventRule_update
=== PAUSE TestAccNotificationsEventRule_update
=== RUN   TestAccNotificationsEventRule_recreate
=== PAUSE TestAccNotificationsEventRule_recreate
=== RUN   TestAccNotificationsEventRule_disappears
=== PAUSE TestAccNotificationsEventRule_disappears
=== RUN   TestAccNotificationsNotificationConfiguration_basic
=== PAUSE TestAccNotificationsNotificationConfiguration_basic
=== RUN   TestAccNotificationsNotificationConfiguration_disappears
=== PAUSE TestAccNotificationsNotificationConfiguration_disappears
=== RUN   TestAccNotificationsNotificationConfiguration_update
=== PAUSE TestAccNotificationsNotificationConfiguration_update
=== RUN   TestEndpointConfiguration
=== RUN   TestEndpointConfiguration/service_config_file
=== RUN   TestEndpointConfiguration/base_endpoint_config_file
=== RUN   TestEndpointConfiguration/base_endpoint_envvar_overrides_service_config_file
=== RUN   TestEndpointConfiguration/base_endpoint_envvar_overrides_base_config_file
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_base_config_file
=== RUN   TestEndpointConfiguration/service_aws_envvar
=== RUN   TestEndpointConfiguration/service_config_file_overrides_base_config_file
=== RUN   TestEndpointConfiguration/use_fips_config_with_package_name_endpoint_config
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_aws_service_envvar
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_base_envvar
=== RUN   TestEndpointConfiguration/service_aws_envvar_overrides_service_config_file
=== RUN   TestEndpointConfiguration/base_endpoint_envvar
=== RUN   TestEndpointConfiguration/use_fips_config
=== RUN   TestEndpointConfiguration/no_config
=== RUN   TestEndpointConfiguration/package_name_endpoint_config
=== RUN   TestEndpointConfiguration/service_aws_envvar_overrides_base_config_file
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_service_config_file
=== RUN   TestEndpointConfiguration/service_aws_envvar_overrides_base_envvar
--- PASS: TestEndpointConfiguration (0.33s)
    --- PASS: TestEndpointConfiguration/service_config_file (0.01s)
    --- PASS: TestEndpointConfiguration/base_endpoint_config_file (0.01s)
    --- PASS: TestEndpointConfiguration/base_endpoint_envvar_overrides_service_config_file (0.02s)
    --- PASS: TestEndpointConfiguration/base_endpoint_envvar_overrides_base_config_file (0.01s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_base_config_file (0.03s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar (0.01s)
    --- PASS: TestEndpointConfiguration/service_config_file_overrides_base_config_file (0.01s)
    --- PASS: TestEndpointConfiguration/use_fips_config_with_package_name_endpoint_config (0.03s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_aws_service_envvar (0.03s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_base_envvar (0.03s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar_overrides_service_config_file (0.02s)
    --- PASS: TestEndpointConfiguration/base_endpoint_envvar (0.01s)
    --- PASS: TestEndpointConfiguration/use_fips_config (0.02s)
    --- PASS: TestEndpointConfiguration/no_config (0.01s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config (0.03s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar_overrides_base_config_file (0.01s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_service_config_file (0.03s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar_overrides_base_envvar (0.01s)
=== CONT  TestAccNotificationsChannelAssociation_basic
=== CONT  TestAccNotificationsEventRule_disappears
=== CONT  TestAccNotificationsEventRule_update
=== CONT  TestAccNotificationsNotificationConfiguration_disappears
=== CONT  TestAccNotificationsNotificationConfiguration_update
=== CONT  TestAccNotificationsNotificationConfiguration_basic
=== CONT  TestAccNotificationsEventRule_basic
=== CONT  TestAccNotificationsChannelAssociation_disappears
=== CONT  TestAccNotificationsEventRule_recreate
--- PASS: TestAccNotificationsNotificationConfiguration_disappears (18.17s)
--- PASS: TestAccNotificationsChannelAssociation_disappears (19.80s)
--- PASS: TestAccNotificationsEventRule_disappears (21.01s)
--- PASS: TestAccNotificationsNotificationConfiguration_basic (21.08s)
--- PASS: TestAccNotificationsEventRule_basic (23.13s)
--- PASS: TestAccNotificationsChannelAssociation_basic (23.65s)
--- PASS: TestAccNotificationsEventRule_update (31.97s)
--- PASS: TestAccNotificationsEventRule_recreate (32.37s)
--- PASS: TestAccNotificationsNotificationConfiguration_update (36.21s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/notifications	42.059smake testacc PKG=notificationscontacts
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.23.8 test ./internal/service/notificationscontacts/... -v -count 1 -parallel 20   -timeout 360m -vet=off
2025/05/14 19:12:29 Initializing Terraform AWS Provider...
=== RUN   TestAccNotificationsContactsEmailContact_basic
=== PAUSE TestAccNotificationsContactsEmailContact_basic
=== RUN   TestAccNotificationsContactsEmailContact_disappears
=== PAUSE TestAccNotificationsContactsEmailContact_disappears
=== RUN   TestAccNotificationsContactsEmailContact_update
=== PAUSE TestAccNotificationsContactsEmailContact_update
=== RUN   TestEndpointConfiguration
=== RUN   TestEndpointConfiguration/package_name_endpoint_config
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_service_config_file
=== RUN   TestEndpointConfiguration/service_aws_envvar_overrides_base_envvar
=== RUN   TestEndpointConfiguration/service_aws_envvar_overrides_service_config_file
=== RUN   TestEndpointConfiguration/base_endpoint_envvar_overrides_base_config_file
=== RUN   TestEndpointConfiguration/base_endpoint_config_file
=== RUN   TestEndpointConfiguration/use_fips_config
=== RUN   TestEndpointConfiguration/service_aws_envvar
=== RUN   TestEndpointConfiguration/base_endpoint_envvar_overrides_service_config_file
=== RUN   TestEndpointConfiguration/use_fips_config_with_package_name_endpoint_config
=== RUN   TestEndpointConfiguration/no_config
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_aws_service_envvar
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_base_envvar
=== RUN   TestEndpointConfiguration/package_name_endpoint_config_overrides_base_config_file
=== RUN   TestEndpointConfiguration/service_aws_envvar_overrides_base_config_file
=== RUN   TestEndpointConfiguration/base_endpoint_envvar
=== RUN   TestEndpointConfiguration/service_config_file
=== RUN   TestEndpointConfiguration/service_config_file_overrides_base_config_file
--- PASS: TestEndpointConfiguration (0.41s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config (0.03s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_service_config_file (0.03s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar_overrides_base_envvar (0.01s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar_overrides_service_config_file (0.02s)
    --- PASS: TestEndpointConfiguration/base_endpoint_envvar_overrides_base_config_file (0.01s)
    --- PASS: TestEndpointConfiguration/base_endpoint_config_file (0.02s)
    --- PASS: TestEndpointConfiguration/use_fips_config (0.01s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar (0.02s)
    --- PASS: TestEndpointConfiguration/base_endpoint_envvar_overrides_service_config_file (0.02s)
    --- PASS: TestEndpointConfiguration/use_fips_config_with_package_name_endpoint_config (0.03s)
    --- PASS: TestEndpointConfiguration/no_config (0.01s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_aws_service_envvar (0.03s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_base_envvar (0.03s)
    --- PASS: TestEndpointConfiguration/package_name_endpoint_config_overrides_base_config_file (0.03s)
    --- PASS: TestEndpointConfiguration/service_aws_envvar_overrides_base_config_file (0.02s)
    --- PASS: TestEndpointConfiguration/base_endpoint_envvar (0.02s)
    --- PASS: TestEndpointConfiguration/service_config_file (0.01s)
    --- PASS: TestEndpointConfiguration/service_config_file_overrides_base_config_file (0.02s)
=== CONT  TestAccNotificationsContactsEmailContact_basic
=== CONT  TestAccNotificationsContactsEmailContact_update
=== CONT  TestAccNotificationsContactsEmailContact_disappears
--- PASS: TestAccNotificationsContactsEmailContact_disappears (17.69s)
--- PASS: TestAccNotificationsContactsEmailContact_basic (18.09s)
--- PASS: TestAccNotificationsContactsEmailContact_update (34.93s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/notificationscontacts	40.815s

Copy link

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. documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. sweeper Pertains to changes to or issues with the sweeper. tags Pertains to resource tagging. generators Relates to code generators. service/notifications Issues and PRs that pertain to the notifications service. service/notificationscontacts Issues and PRs that pertain to the notificationscontacts service. size/XL Managed by automation to categorize the size of a PR. external-maintainer Contribution from a trusted external contributor. labels May 12, 2025
@marcinbelczewski marcinbelczewski force-pushed the f-notifications-configuration-evenrule-email branch 5 times, most recently from 48cc423 to 438776b Compare May 12, 2025 16:01
@justinretzolk justinretzolk added new-resource Introduces a new resource. and removed needs-triage Waiting for first response or review from a maintainer. labels May 12, 2025
@marcinbelczewski marcinbelczewski force-pushed the f-notifications-configuration-evenrule-email branch 8 times, most recently from 414b741 to 62e3bed Compare May 14, 2025 17:19
@marcinbelczewski marcinbelczewski force-pushed the f-notifications-configuration-evenrule-email branch from 62e3bed to bc8884c Compare May 14, 2025 17:25
@marcinbelczewski marcinbelczewski marked this pull request as ready for review May 14, 2025 18:18
@marcinbelczewski marcinbelczewski requested a review from a team as a code owner May 14, 2025 18:18
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. external-maintainer Contribution from a trusted external contributor. generators Relates to code generators. new-resource Introduces a new resource. service/notifications Issues and PRs that pertain to the notifications service. service/notificationscontacts Issues and PRs that pertain to the notificationscontacts service. size/XL Managed by automation to categorize the size of a PR. sweeper Pertains to changes to or issues with the sweeper. tags Pertains to resource tagging. 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.

2 participants