refactor: update enum types to remove duplicate member values#19320
Merged
mergify[bot] merged 7 commits intoaws:v1-mainfrom Jun 30, 2022
Merged
refactor: update enum types to remove duplicate member values#19320mergify[bot] merged 7 commits intoaws:v1-mainfrom
mergify[bot] merged 7 commits intoaws:v1-mainfrom
Conversation
CDK has some enums which use the same value for different enum members. This is done to support friendly names for EC2 instance and Subnet type. Having same value for differnt members causes the typescript compiler to ignore the members with same value and causes JSII not to generate the enum members in other languages. To fix this [JSII will throw an error](aws/jsii#3412) when enum members have the same value. Updating CDK code to ensure the build pass when this change lands in JSII re #aws/jsii#3412
mergify bot
pushed a commit
to aws/jsii
that referenced
this pull request
Jun 29, 2022
…al (#3412) If two enum members have the same value, only the first one will be retained. This is a bit of an issue as we are renaming enum members: the named version will never appear in the assembly, and so not work over jsii. What's worse, if we deprecate-and-strip the original one, neither of the enum members will appear. Addressing the issue by failing the compilation by adding validation for enum values Related change in CDK aws/aws-cdk#19320 Fixes #2782. --- By submitting this pull request, I confirm that my contribution is made under the terms of the [Apache 2.0 license]. [Apache 2.0 license]: https://www.apache.org/licenses/LICENSE-2.0
Contributor
|
@Mergifyio backport main |
Contributor
🟠 Waiting for conditions to matchDetails
|
rix0rrr
approved these changes
Jun 30, 2022
Contributor
|
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). |
Collaborator
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Contributor
|
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 bot
pushed a commit
that referenced
this pull request
Jun 30, 2022
CDK has some enums which use the same value for different enum members. This is done to support friendly names for EC2 instance and Subnet type. Having same value for differnt members causes the typescript compiler to ignore the members with same value and causes JSII not to generate the enum members in other languages. To fix this [JSII will throw an error](aws/jsii#3412) when enum members have the same value. Updating CDK code to ensure the build pass when this change lands in JSII re #aws/jsii#3412 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* (cherry picked from commit b0346a4) # Conflicts: # packages/@aws-cdk/aws-ec2/lib/vpc.ts # packages/@aws-cdk/aws-ec2/lib/windows-versions.ts
Contributor
✅ Backports have been createdDetails
|
mergify bot
added a commit
that referenced
this pull request
Jun 30, 2022
#19320) (#20932) This is an automatic backport of pull request #19320 done by [Mergify](https://mergify.com). Cherry-pick of b0346a4 has failed: ``` On branch mergify/bp/main/pr-19320 Your branch is up to date with 'origin/main'. You are currently cherry-picking commit b0346a4. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --skip" to skip this patch) (use "git cherry-pick --abort" to cancel the cherry-pick operation) Changes to be committed: modified: packages/@aws-cdk/aws-ec2/lib/instance-types.ts modified: packages/@aws-cdk/aws-ec2/lib/machine-image.ts modified: packages/@aws-cdk/aws-ec2/lib/port.ts modified: packages/@aws-cdk/aws-ec2/lib/util.ts modified: packages/@aws-cdk/aws-ec2/test/instance.test.ts Unmerged paths: (use "git add <file>..." to mark resolution) both modified: packages/@aws-cdk/aws-ec2/lib/vpc.ts both modified: packages/@aws-cdk/aws-ec2/lib/windows-versions.ts ``` To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally --- <details> <summary>Mergify commands and options</summary> <br /> More conditions and actions can be found in the [documentation](https://docs.mergify.com/). You can also trigger Mergify actions by commenting on this pull request: - `@Mergifyio refresh` will re-evaluate the rules - `@Mergifyio rebase` will rebase this PR on its base branch - `@Mergifyio update` will merge the base branch into this PR - `@Mergifyio backport <destination>` will backport this PR on `<destination>` branch Additionally, on Mergify [dashboard](https://dashboard.mergify.com/) you can: - look at your merge queues - generate the Mergify configuration with the config editor. Finally, you can contact us on https://mergify.com </details>
rix0rrr
added a commit
that referenced
this pull request
Jul 4, 2022
This is a follow-up to #19320: there are more duplicate enum values that need to be removed, in anticipation of a jsii release that will make these duplicate values illegal.
mergify bot
pushed a commit
that referenced
this pull request
Jul 4, 2022
This is a follow-up to #19320: there are more duplicate enum values that need to be removed, in anticipation of a jsii release that will make these duplicate values illegal. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
mergify bot
pushed a commit
that referenced
this pull request
Jul 4, 2022
This is a follow-up to #19320: there are more duplicate enum values that need to be removed, in anticipation of a jsii release that will make these duplicate values illegal. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* (cherry picked from commit 7f4f150) # Conflicts: # packages/@aws-cdk/aws-secretsmanager/lib/secret.ts
daschaa
pushed a commit
to daschaa/aws-cdk
that referenced
this pull request
Jul 9, 2022
aws#19320) (aws#20932) This is an automatic backport of pull request aws#19320 done by [Mergify](https://mergify.com). Cherry-pick of b0346a4 has failed: ``` On branch mergify/bp/main/pr-19320 Your branch is up to date with 'origin/main'. You are currently cherry-picking commit b0346a4. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --skip" to skip this patch) (use "git cherry-pick --abort" to cancel the cherry-pick operation) Changes to be committed: modified: packages/@aws-cdk/aws-ec2/lib/instance-types.ts modified: packages/@aws-cdk/aws-ec2/lib/machine-image.ts modified: packages/@aws-cdk/aws-ec2/lib/port.ts modified: packages/@aws-cdk/aws-ec2/lib/util.ts modified: packages/@aws-cdk/aws-ec2/test/instance.test.ts Unmerged paths: (use "git add <file>..." to mark resolution) both modified: packages/@aws-cdk/aws-ec2/lib/vpc.ts both modified: packages/@aws-cdk/aws-ec2/lib/windows-versions.ts ``` To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally --- <details> <summary>Mergify commands and options</summary> <br /> More conditions and actions can be found in the [documentation](https://docs.mergify.com/). You can also trigger Mergify actions by commenting on this pull request: - `@Mergifyio refresh` will re-evaluate the rules - `@Mergifyio rebase` will rebase this PR on its base branch - `@Mergifyio update` will merge the base branch into this PR - `@Mergifyio backport <destination>` will backport this PR on `<destination>` branch Additionally, on Mergify [dashboard](https://dashboard.mergify.com/) you can: - look at your merge queues - generate the Mergify configuration with the config editor. Finally, you can contact us on https://mergify.com </details>
daschaa
pushed a commit
to daschaa/aws-cdk
that referenced
this pull request
Jul 9, 2022
This is a follow-up to aws#19320: there are more duplicate enum values that need to be removed, in anticipation of a jsii release that will make these duplicate values illegal. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
4 tasks
mergify bot
pushed a commit
that referenced
this pull request
Jul 14, 2022
In #19320, we changed the values of deprecated enums to include a `Deprecated_` prefix. This also meant we had to do some gymnastics in the code to change usages of the value to a switch case. However, there were also places in the code that do enum comparison, which uses the enum value. Those comparison points need to also explicitly consider the equivalent deprecated enums. Fixes #21131, Fixes #21138 ---- ### All Submissions: * [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
mergify bot
pushed a commit
that referenced
this pull request
Jul 14, 2022
In #19320, we changed the values of deprecated enums to include a `Deprecated_` prefix. This also meant we had to do some gymnastics in the code to change usages of the value to a switch case. However, there were also places in the code that do enum comparison, which uses the enum value. Those comparison points need to also explicitly consider the equivalent deprecated enums. Fixes #21131, Fixes #21138 ---- ### All Submissions: * [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* (cherry picked from commit 0b5123a)
4 tasks
This was referenced Mar 31, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CDK has some enums which use the same value for different enum members. This is done to support friendly names for EC2 instance and Subnet type. Having same value for differnt members causes the typescript compiler to ignore the members with same value and causes JSII not to generate the enum members in other languages. To fix this JSII will throw an error when enum members have the same value. Updating CDK code to ensure the build pass when this change lands in JSII
re #aws/jsii#3412
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license