feat: s3 and ecs service mixins are now available in aws-cdk-lib#37151
Conversation
ed6da2f to
14008ef
Compare
|
|
||||||||||||||
|
|
||||||||||||||
980e825 to
44d8212
Compare
s3 and ecs service mixins are now available in aws-cdk-lib
s3 and ecs service mixins are now available in aws-cdk-libs3 and ecs service mixins are now available in aws-cdk-lib
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
9f0b05c to
9414a81
Compare
|
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). |
Merge Queue StatusRule:
This pull request spent 1 hour 14 minutes 23 seconds in the queue, including 44 minutes 2 seconds running CI. Required conditions to merge
|
|
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). |
|
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). |
|
Comments on closed issues and PRs are hard for our team to see. |
Reason for this change
The S3 and ECS mixins were previously only available in the
@aws-cdk/mixins-previewexperimental package. Now that the core Mixins mechanism (Mixin,IMixin,MixinApplicator,ConstructSelector) has landed inconstructsandaws-cdk-lib, the service-specific mixins should live alongside their respective service modules inaws-cdk-lib. This makes them discoverable, properly versioned, and available without an additional dependency.The
mixins-previewpackage retains only the Logs Delivery Mixins and EventBridge Event Facades that haven't been promoted yet.Description of changes
Three S3 mixins (
BucketVersioning,BucketBlockPublicAccess,BucketPolicyStatements) and one ECS mixin (ClusterSettings) are added toaws-cdk-libunder newlib/mixins/subdirectories in their respective service modules. Each mixin is exposed through amixinsnamespace export (e.g.s3.mixins.BucketVersioning), following a convention enforced by a newpkglintrule that requires any submodule with alib/mixins/directory to re-export it.A new
awslintrule set ensures allIMixinimplementors extend theMixinbase class, live in alib/mixins/directory on disk, and belong to a.mixins.jsii submodule namespace. Thespec2cdkcodegen is updated to automatically generate.jsiirc.jsontarget mappings for anylib/mixins/directory it encounters, so future service mixins get correct Java, .NET, Python, and Go package names without manual setup.The corresponding implementations and tests are removed from
mixins-preview, and its README is updated to point users toaws-cdk-lib.Describe any new or updated permissions being added
None.
Description of how you validated changes
Unit tests are included for all S3 and ECS mixins. An integration test for the ECS
ClusterSettingsmixin is included.Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license