Skip to content

feat(cfn-property-mixins): graduate to stable @aws-cdk/cfn-property-mixins package#37215

Merged
mergify[bot] merged 2 commits intomainfrom
mrgrain/feat/aws-cdk/cfn-property-mixins
Mar 11, 2026
Merged

feat(cfn-property-mixins): graduate to stable @aws-cdk/cfn-property-mixins package#37215
mergify[bot] merged 2 commits intomainfrom
mrgrain/feat/aws-cdk/cfn-property-mixins

Conversation

@mrgrain
Copy link
Copy Markdown
Contributor

@mrgrain mrgrain commented Mar 10, 2026

Reason for this change

The CFN property mixins feature has been incubating in @aws-cdk/mixins-preview and is now stable enough to graduate to its own dedicated package. The preview package name signals instability and carries unrelated experimental features, which is no longer appropriate for a feature ready for general consumption. A stable, focused package gives users a clear import path and a name that reflects the feature's maturity.

Description of changes

This introduces @aws-cdk/cfn-property-mixins as the stable home for auto-generated CloudFormation property mixins. The package provides a CfnXxxPropsMixin class for every CloudFormation resource, organized into per-service submodules that mirror the aws-cdk-lib module structure (e.g. @aws-cdk/cfn-property-mixins/aws-s3). The code generation reuses the same cfnPropMixins.generateAll() pipeline from @aws-cdk/spec2cdk that already powers @aws-cdk/mixins-preview, with its own gen.ts orchestration and package base names.

The generated mixin classes now import IMergeStrategy and PropertyMergeStrategy from aws-cdk-lib/core (where they were moved in a prior commit) rather than from the preview package's internal helpers. This is reflected in small updates to the spec2cdk builder and helpers.

The awslint exclusion list and pkglint visibility rules are updated to include the new package. Unit tests for S3 property mixins cover property application, merge strategies, construct type matching, and cross-service references.

Describe any new or updated permissions being added

None.

Description of how you validated changes

Unit tests verify property application, deep merge and override strategies, construct type matching, and cross-service KMS key references. The code generation pipeline produces submodules for all CloudFormation services.

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 Mar 10, 2026
@aws-cdk-automation aws-cdk-automation requested a review from a team March 10, 2026 15:22
@mrgrain mrgrain added pr/do-not-merge This PR should not be merged at this time. @aws-cdk/integ-tests labels Mar 10, 2026
@mrgrain mrgrain added pr-linter/exempt-integ-test The PR linter will not require integ test changes and removed @aws-cdk/integ-tests labels Mar 10, 2026
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Mar 10, 2026
@mrgrain mrgrain added the pr/request-cli-integ-tests Request CLI integ tests to be run. You will need to review the code and approve the deployment. label Mar 10, 2026
@mrgrain mrgrain force-pushed the mrgrain/feat/aws-cdk/cfn-property-mixins branch from 5e71a01 to bc8cbde Compare March 10, 2026 15:23
@mrgrain mrgrain force-pushed the mrgrain/feat/aws-cdk/cfn-property-mixins branch from bc8cbde to f8d1e54 Compare March 10, 2026 16:45
@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.

@mrgrain mrgrain removed the pr/do-not-merge This PR should not be merged at this time. label Mar 11, 2026
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Mar 11, 2026

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
Copy link
Copy Markdown
Contributor

mergify bot commented Mar 11, 2026

Merge Queue Status

  • Entered queue2026-03-11 08:25 UTC · Rule: default-squash
  • Checks passed · in-place
  • Merged2026-03-11 09:09 UTC · at 064f0052f99186c1424e87f1437665f6fe60a3e8

This pull request spent 43 minutes 42 seconds in the queue, including 43 minutes 31 seconds running CI.

Required conditions to merge

@mrgrain mrgrain added pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested and removed pr/request-cli-integ-tests Request CLI integ tests to be run. You will need to review the code and approve the deployment. labels Mar 11, 2026
@mergify mergify bot requested a deployment to test-pipeline March 11, 2026 08:26 Waiting
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Mar 11, 2026

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 merged commit f071e67 into main Mar 11, 2026
29 of 31 checks passed
@mergify mergify bot deleted the mrgrain/feat/aws-cdk/cfn-property-mixins branch March 11, 2026 09:09
@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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 11, 2026
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.

3 participants