Skip to content
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

feat(kms): allow fromLookup method to return dummy key if target key was not found #31676

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

go-to-k
Copy link
Contributor

@go-to-k go-to-k commented Oct 6, 2024

Issue # (if applicable)

Closes #31574.

Reason for this change

The fromLookup method causes an error if the target key was not found. However it would be also good not to cause an error in that case.

Description of changes

Added returnDummyKeyOnMissing in KeyLookupOptions. If the property is set to true, the context method will not cause an error and will return a dummy key if the key was not found.

Originally, I thought to make the method to return undefined in that case, but the return type of method is IKey. If we change the type to IKey | undefined, it should be a breaking change.

  public static fromLookup(scope: Construct, id: string, options: KeyLookupOptions): IKey {

So I decided to return a dummy key with a dummy key id '1234abcd-12ab-34cd-56ef-1234567890ab'. The dummy key id had been defined originally (see: https://github.com/aws/aws-cdk/blob/v2.161.0/packages/aws-cdk-lib/aws-kms/lib/key.ts#L686).

The property returnDummyKeyOnMissing will be passed to ignoreErrorOnMissingContext added in the PR. If the ignoreErrorOnMissingContext is true and the key doesn't exist, an error will be suppressed in the ContextProvider.

Additional information

see: #31574 (comment)

Description of how you validated changes

Both of unit and integ tests

Checklist


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

@aws-cdk-automation aws-cdk-automation requested a review from a team October 6, 2024 15:29
@github-actions github-actions bot added effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. p2 distinguished-contributor [Pilot] contributed 50+ PRs to the CDK labels Oct 6, 2024
@go-to-k go-to-k changed the title feat(kms): allow fromLookup method to return a dummy key if target key was not found feat(kms): allow fromLookup method to return a dummy key if target key was not found Oct 6, 2024
@go-to-k go-to-k marked this pull request as ready for review October 6, 2024 15:29
Copy link
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 Oct 6, 2024
@go-to-k go-to-k marked this pull request as draft October 6, 2024 15:40
@go-to-k go-to-k marked this pull request as ready for review October 6, 2024 15:55
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@go-to-k go-to-k changed the title feat(kms): allow fromLookup method to return a dummy key if target key was not found feat(kms): allow fromLookup method to return dummy key if target key was not found Oct 6, 2024
@go-to-k
Copy link
Contributor Author

go-to-k commented Oct 9, 2024

Exemption Request: The code changes in Context Providers only affect the KMS context (lookup) method, they could be covered by unit tests for context-providers and integ tests for KMS module.

@aws-cdk-automation aws-cdk-automation added pr-linter/exemption-requested The contributor has requested an exemption to the PR Linter feedback. pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. labels Oct 9, 2024
@aws-cdk-automation
Copy link
Collaborator

The pull request linter fails with the following errors:

❌ CLI code has changed. A maintainer must run the code through the testing pipeline (git fetch origin pull/31676/head && git push -f origin FETCH_HEAD:test-main-pipeline), then add the 'pr-linter/cli-integ-tested' label when the pipeline succeeds.

PRs must pass status checks before we can provide a meaningful review.

If you would like to request an exemption from the status checks or clarification on feedback, please leave a comment on this PR containing Exemption Request and/or Clarification Request.

✅ A exemption request has been requested. Please wait for a maintainer's review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distinguished-contributor [Pilot] contributed 50+ PRs to the CDK effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. p2 pr/needs-cli-test-run This PR needs CLI tests run against it. pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. pr-linter/exemption-requested The contributor has requested an exemption to the PR Linter feedback.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(aws-cdk-lib/aws-kms): Allow testing for the existence of a KMS key by alias name
2 participants