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

fix(cloudformation-include): drops unknown policy attributes #32321

Merged
merged 10 commits into from
Dec 2, 2024

Conversation

rix0rrr
Copy link
Contributor

@rix0rrr rix0rrr commented Nov 28, 2024

Unknown fields in CreationPolicy/UpdatePolicy were dropped while loading resources using CfnInclude.

In this PR, handle unknown fields in those places like unknown fields in other places: retain them during parsing and add them as overrides.


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

Unknown fields in `CreationPolicy`/`UpdatePolicy` were dropped while
loading resources using `CfnInclude`.

In this PR, handle unknown fields in those places like unknown fields
in other places: retain them during parsing and add them as overrides.
@rix0rrr rix0rrr requested a review from a team as a code owner November 28, 2024 16:47
@aws-cdk-automation aws-cdk-automation requested a review from a team November 28, 2024 16:47
@github-actions github-actions bot added the p2 label Nov 28, 2024
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Nov 28, 2024
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.

});
const sig = new ObjectParser<CfnResourceSignal>(p);
sig.parse('count', 'Count', FromCloudFormation.getNumber);
sig.parse('timeout', 'Tiemout', FromCloudFormation.getString);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
sig.parse('timeout', 'Tiemout', FromCloudFormation.getString);
sig.parse('timeout', 'Timeout', FromCloudFormation.getString);

Perhaps we could have special method, built on top of parse, that converts the cases automatically, to reduce the risk of typos like this one.

parseConvertingCase('timeout', FromCloudFormation.getString);

Copy link

codecov bot commented Nov 28, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 78.50%. Comparing base (24adca3) to head (5700dec).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #32321      +/-   ##
==========================================
+ Coverage   78.46%   78.50%   +0.03%     
==========================================
  Files         106      106              
  Lines        7208     7201       -7     
  Branches     1323     1321       -2     
==========================================
- Hits         5656     5653       -3     
+ Misses       1364     1361       -3     
+ Partials      188      187       -1     
Flag Coverage Δ
suite.unit 78.50% <ø> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
packages/aws-cdk 78.50% <ø> (+0.03%) ⬆️

}

// eslint-disable-next-line max-len
public parse<K extends keyof T>(targetKey: K, key: string, parser: (x: any) => T[K] | FromCloudFormationResult<T[K] | IResolvable>) {
Copy link
Contributor

@mrgrain mrgrain Nov 28, 2024

Choose a reason for hiding this comment

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

Suggested change
public parse<K extends keyof T>(targetKey: K, key: string, parser: (x: any) => T[K] | FromCloudFormationResult<T[K] | IResolvable>) {
public parse<K extends Extract<keyof T, string>>(targetKey: K, key: Capitalize<K>, parser: (x: any) => T[K] | FromCloudFormationResult<T[K] | IResolvable>) {

Copy link
Contributor

Choose a reason for hiding this comment

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

But I agree with @otaviomacedo A simple firstCharUpper would be even better.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I didn't because we can't assume this is true in general. But I guess this is on a small enough domain that it's always true here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Didn't know about Capitalize btw. That's neat.

@rix0rrr rix0rrr added the pr-linter/exempt-integ-test The PR linter will not require integ test changes label Nov 28, 2024
@aws-cdk-automation aws-cdk-automation dismissed their stale review November 28, 2024 19:26

✅ 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 Nov 28, 2024
Copy link
Contributor

mergify bot commented Nov 29, 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 aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Nov 29, 2024
Copy link
Contributor

mergify bot commented Nov 29, 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).

…b.com:aws/aws-cdk into huijbers/parse-unrecognized-policy-attributes
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 Nov 29, 2024
…b.com:aws/aws-cdk into huijbers/parse-unrecognized-policy-attributes
@rix0rrr rix0rrr added the pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested label Dec 2, 2024
@aws-cdk-automation aws-cdk-automation dismissed their stale review December 2, 2024 16:50

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

@aws-cdk-automation aws-cdk-automation removed the pr/needs-cli-test-run This PR needs CLI tests run against it. label Dec 2, 2024
Copy link
Contributor

mergify bot commented Dec 2, 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
Collaborator

AWS CodeBuild CI Report

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

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

@mergify mergify bot merged commit 20edc7f into main Dec 2, 2024
16 of 17 checks passed
Copy link
Contributor

mergify bot commented Dec 2, 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).

@mergify mergify bot deleted the huijbers/parse-unrecognized-policy-attributes branch December 2, 2024 17:24
Copy link

github-actions bot commented Dec 2, 2024

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 2, 2024
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. p2 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