Skip to content

feat: s3 and ecs service mixins are now available in aws-cdk-lib#37151

Merged
mergify[bot] merged 2 commits into
mainfrom
mrgrain/feat/s3-mixins
Mar 4, 2026
Merged

feat: s3 and ecs service mixins are now available in aws-cdk-lib#37151
mergify[bot] merged 2 commits into
mainfrom
mrgrain/feat/s3-mixins

Conversation

@mrgrain
Copy link
Copy Markdown
Contributor

@mrgrain mrgrain commented Mar 3, 2026

Reason for this change

The S3 and ECS mixins were previously only available in the @aws-cdk/mixins-preview experimental package. Now that the core Mixins mechanism (Mixin, IMixin, MixinApplicator, ConstructSelector) has landed in constructs and aws-cdk-lib, the service-specific mixins should live alongside their respective service modules in aws-cdk-lib. This makes them discoverable, properly versioned, and available without an additional dependency.

The mixins-preview package 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 to aws-cdk-lib under new lib/mixins/ subdirectories in their respective service modules. Each mixin is exposed through a mixins namespace export (e.g. s3.mixins.BucketVersioning), following a convention enforced by a new pkglint rule that requires any submodule with a lib/mixins/ directory to re-export it.

A new awslint rule set ensures all IMixin implementors extend the Mixin base class, live in a lib/mixins/ directory on disk, and belong to a .mixins. jsii submodule namespace. The spec2cdk codegen is updated to automatically generate .jsiirc.json target mappings for any lib/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 to aws-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 ClusterSettings mixin is included.

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 3, 2026
@aws-cdk-automation aws-cdk-automation requested a review from a team March 3, 2026 15:00
@mergify mergify Bot added the contribution/core This is a PR that came from AWS. label Mar 3, 2026
@mergify mergify Bot temporarily deployed to automation March 3, 2026 15:01 Inactive
@mergify mergify Bot temporarily deployed to automation March 3, 2026 15:01 Inactive
Copy link
Copy Markdown
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.

(This review is outdated)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 3, 2026

⚠️ Experimental Feature: This security report is currently in experimental phase. Results may include false positives and the rules are being actively refined.
Please try merge from main to avoid findings unrelated to the PR.


TestsPassed ❌️SkippedFailed
Security Guardian Results
TestResult
No test annotations available

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 3, 2026

⚠️ Experimental Feature: This security report is currently in experimental phase. Results may include false positives and the rules are being actively refined.
Please try merge from main to avoid findings unrelated to the PR.


TestsPassed ❌️SkippedFailed
Security Guardian Results with resolved templates
TestResult
No test annotations available

@aws-cdk-automation aws-cdk-automation added the pr/needs-further-review PR requires additional review from our team specialists due to the scope or complexity of changes. label Mar 3, 2026
@mrgrain mrgrain force-pushed the mrgrain/feat/s3-mixins branch from 980e825 to 44d8212 Compare March 4, 2026 09:43
@mrgrain mrgrain marked this pull request as ready for review March 4, 2026 09:44
@mrgrain mrgrain changed the title mixins: move mixins to aws-cdk-lib feat(s3,ecs): move service mixins from mixins-preview to aws-cdk-lib Mar 4, 2026
@mrgrain mrgrain changed the title feat(s3,ecs): move service mixins from mixins-preview to aws-cdk-lib feat(s3,ecs): s3 and ecs service mixins are now available in aws-cdk-lib Mar 4, 2026
@aws-cdk-automation aws-cdk-automation removed the pr/needs-further-review PR requires additional review from our team specialists due to the scope or complexity of changes. label Mar 4, 2026
@mrgrain mrgrain changed the title feat(s3,ecs): s3 and ecs service mixins are now available in aws-cdk-lib feat: s3 and ecs service mixins are now available in aws-cdk-lib Mar 4, 2026
@aws-cdk-automation aws-cdk-automation dismissed their stale review March 4, 2026 10:17

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

@mrgrain mrgrain force-pushed the mrgrain/feat/s3-mixins branch from 9f0b05c to 9414a81 Compare March 4, 2026 10:23
@aws-cdk-automation aws-cdk-automation added the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Mar 4, 2026
@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Mar 4, 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 4, 2026

Merge Queue Status

Rule: default-squash


  • Entered queue2026-03-04 14:37 UTC
  • Checks passed · in-place
  • Merged2026-03-04 15:51 UTC · at 5a24ed389a0a9a7b61e333e46e0a1d5f018e3554

This pull request spent 1 hour 14 minutes 23 seconds in the queue, including 44 minutes 2 seconds running CI.

Required conditions to merge

@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Mar 4, 2026
@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Mar 4, 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 4, 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 52c99da into main Mar 4, 2026
20 of 21 checks passed
@mergify mergify Bot deleted the mrgrain/feat/s3-mixins branch March 4, 2026 15:51
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2026

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 4, 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants