Skip to content

feat(core): configure SNS topics to receive stack events on the Stack construct#30551

Merged
mergify[bot] merged 59 commits intomainfrom
comcalvi/notification-arns
Aug 13, 2024
Merged

feat(core): configure SNS topics to receive stack events on the Stack construct#30551
mergify[bot] merged 59 commits intomainfrom
comcalvi/notification-arns

Conversation

@comcalvi
Copy link
Copy Markdown
Contributor

@comcalvi comcalvi commented Jun 13, 2024

Issue # (if applicable)

#8581.

Reason for this change

It is easier and clearer to specify the SNS Topic ARNs on the stack construct itself instead of passing it as a command line argument.

Description of changes

Added a new optional stack prop, notificationArns, that is written to the CloudAssembly and concatenated with the CLI option --notification-arns.

When I added CLI integ tests, I discovered that the existing framework is unable to use your local code. It always retrieves the latest release, which is not what you want when running it locally. This fixes that.

Don't forget to select stacks by hierarchical ID (currently display name, in our tests) when writing certain test code. Otherwise, the tests may not select the stack you expected.

Description of how you validated changes

Unit tests + CLI integ test.

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added the p2 label Jun 13, 2024
@aws-cdk-automation aws-cdk-automation requested a review from a team June 13, 2024 21:56
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Jun 13, 2024
Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation aws-cdk-automation added the pr/needs-cli-test-run This PR needs CLI tests run against it. label Jun 13, 2024
@comcalvi comcalvi added the pr-linter/exempt-integ-test The PR linter will not require integ test changes label Jun 13, 2024
@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Jul 13, 2024
@comcalvi comcalvi added pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested and removed pr/needs-cli-test-run This PR needs CLI tests run against it. labels Jul 15, 2024
@aws-cdk-automation aws-cdk-automation dismissed their stale review July 15, 2024 22:30

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@aws-cdk-automation aws-cdk-automation added the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Jul 15, 2024
Copy link
Copy Markdown
Contributor

@scanlonp scanlonp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks solid. Couple clarifying questions so I can get a better sense of a few parts of the PR.

Other than the individual comments, main question would be about the notificationArns being put into the toolkit in some tests. From a user perspective, these options are added on the stack. Are the toolkit Arns a product of the cli option?

sdkProvider: cloudExecutable.sdkProvider,
deployments: new FakeCloudFormation({
'Test-Stack-A': { Foo: 'Bar' },
}, notificationArns),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are the arns being passed into the toolkit?

Copy link
Copy Markdown
Contributor Author

@comcalvi comcalvi Aug 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgot why I did this initially, but now I see; these are not passed to the toolkit, they're part of the FakeCloudFormation. FakeCloudFormation will assert that the notification arns it uses are passed from the executable.

The test doesn't create an executable with the notification arns directly; instead, the Test-Stack-Notification-Arns is the thing in the executable that defines it.

Co-authored-by: Parker Scanlon <69879391+scanlonp@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@scanlonp scanlonp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!

@scanlonp scanlonp added the pr/do-not-merge This PR should not be merged at this time. label Aug 12, 2024
@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Aug 12, 2024
@comcalvi comcalvi removed pr/do-not-merge This PR should not be merged at this time. pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested labels Aug 12, 2024
Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation aws-cdk-automation added the pr/needs-cli-test-run This PR needs CLI tests run against it. label Aug 12, 2024
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Aug 13, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@aws-cdk-automation
Copy link
Copy Markdown
Collaborator

➡️ PR build request submitted to test-main-pipeline ⬅️

A maintainer must now check the pipeline and add the pr-linter/cli-integ-tested label once the pipeline succeeds.

@aws-cdk-automation
Copy link
Copy Markdown
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: c308c5a
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Aug 13, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@github-actions
Copy link
Copy Markdown
Contributor

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@TheRealAmazonKendra
Copy link
Copy Markdown
Contributor

You guys, we cannot take changes to Cloud Assembly Schema in this repo any longer. Reverting this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

contribution/core This is a PR that came from AWS. p1 pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested pr-linter/exempt-integ-test The PR linter will not require integ test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants