Commit 0851ffd
authored
chore(mixins-preview): typed L1 property mixins (#36062)
### Reason for this change
Adds auto-generated L1 property mixins for all CloudFormation resources, providing type-safe property application with merge strategies.
**Note:** Still a chore as package is still not yet released. This will come next.
### Description of changes
- Generates type-safe property mixins for every CloudFormation resource across all AWS services
- Adds package.json exports for all service-specific mixin modules (e.g., `@aws-cdk/mixins-preview/aws-s3/mixins`)
- Supports two merge strategies: MERGE (deep merge, default) and OVERWRITE (shallow assign)
- Enables applying L1 properties to both L1 and L2 constructs with full TypeScript support
- Updates README with L1 Property Mixins documentation and examples
Example usage:
```typescript
import '@aws-cdk/mixins-preview/with';
import { CfnBucketPropsMixin } from '@aws-cdk/mixins-preview/aws-s3/mixins';
const bucket = new s3.Bucket(scope, "Bucket")
.with(new CfnBucketPropsMixin({
versioningConfiguration: { status: "Enabled" },
publicAccessBlockConfiguration: {
blockPublicAcls: true,
blockPublicPolicy: true
}
}));
```
### Describe any new or updated permissions being added
No new or updated IAM permissions.
### Description of how you validated changes
- Generated mixins for all AWS services
- Verified type safety and merge strategies
- Updated documentation with examples
### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)
----
*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*1 parent c6881e9 commit 0851ffd
File tree
288 files changed
+1888
-67
lines changed- packages
- @aws-cdk/mixins-preview
- lib
- services
- alexa-ask
- aws-accessanalyzer
- aws-acmpca
- aws-aiops
- aws-amazonmq
- aws-amplifyuibuilder
- aws-amplify
- aws-apigatewayv2
- aws-apigateway
- aws-appconfig
- aws-appflow
- aws-appintegrations
- aws-applicationautoscaling
- aws-applicationinsights
- aws-applicationsignals
- aws-appmesh
- aws-apprunner
- aws-appstream
- aws-appsync
- aws-apptest
- aws-aps
- aws-arcregionswitch
- aws-arczonalshift
- aws-athena
- aws-auditmanager
- aws-autoscalingplans
- aws-autoscaling
- aws-b2bi
- aws-backupgateway
- aws-backup
- aws-batch
- aws-bcmdataexports
- aws-bedrockagentcore
- aws-bedrock
- aws-billingconductor
- aws-billing
- aws-budgets
- aws-cassandra
- aws-certificatemanager
- aws-ce
- aws-chatbot
- aws-cleanroomsml
- aws-cleanrooms
- aws-cloud9
- aws-cloudformation
- aws-cloudfront
- aws-cloudtrail
- aws-cloudwatch
- aws-codeartifact
- aws-codebuild
- aws-codecommit
- aws-codeconnections
- aws-codedeploy
- aws-codeguruprofiler
- aws-codegurureviewer
- aws-codepipeline
- aws-codestarconnections
- aws-codestarnotifications
- aws-codestar
- aws-cognito
- aws-comprehend
- aws-config
- aws-connectcampaignsv2
- aws-connectcampaigns
- aws-connect
- aws-controltower
- aws-cur
- aws-customerprofiles
- aws-databrew
- aws-datapipeline
- aws-datasync
- aws-datazone
- aws-dax
- aws-deadline
- aws-detective
- aws-devicefarm
- aws-devopsguru
- aws-directoryservice
- aws-dlm
- aws-dms
- aws-docdbelastic
- aws-docdb
- aws-dsql
- aws-dynamodb
- aws-ec2
- aws-ecr
- aws-ecs
- aws-efs
- aws-eks
- aws-elasticache
- aws-elasticbeanstalk
- aws-elasticloadbalancingv2
- aws-elasticloadbalancing
- aws-elasticsearch
- aws-emrcontainers
- aws-emrserverless
- aws-emr
- aws-entityresolution
- aws-eventschemas
- aws-events
- aws-evidently
- aws-evs
- aws-finspace
- aws-fis
- aws-fms
- aws-forecast
- aws-frauddetector
- aws-fsx
- aws-gameliftstreams
- aws-gamelift
- aws-globalaccelerator
- aws-glue
- aws-grafana
- aws-greengrassv2
- aws-greengrass
- aws-groundstation
- aws-guardduty
- aws-healthimaging
- aws-healthlake
- aws-iam
- aws-identitystore
- aws-imagebuilder
- aws-inspectorv2
- aws-inspector
- aws-internetmonitor
- aws-invoicing
- aws-iotanalytics
- aws-iotcoredeviceadvisor
- aws-iotevents
- aws-iotfleethub
- aws-iotfleetwise
- aws-iotsitewise
- aws-iotthingsgraph
- aws-iottwinmaker
- aws-iotwireless
- aws-iot
- aws-ivschat
- aws-ivs
- aws-kafkaconnect
- aws-kendraranking
- aws-kendra
- aws-kinesisanalyticsv2
- aws-kinesisanalytics
- aws-kinesisfirehose
- aws-kinesisvideo
- aws-kinesis
- aws-kms
- aws-lakeformation
- aws-lambda
- aws-launchwizard
- aws-lex
- aws-licensemanager
- aws-lightsail
- aws-location
- aws-logs
- aws-lookoutequipment
- aws-lookoutmetrics
- aws-lookoutvision
- aws-m2
- aws-macie
- aws-managedblockchain
- aws-mediaconnect
- aws-mediaconvert
- aws-medialive
- aws-mediapackagev2
- aws-mediapackage
- aws-mediastore
- aws-mediatailor
- aws-memorydb
- aws-mpa
- aws-msk
- aws-mwaa
- aws-neptunegraph
- aws-neptune
- aws-networkfirewall
- aws-networkmanager
- aws-nimblestudio
- aws-notificationscontacts
- aws-notifications
- aws-oam
- aws-observabilityadmin
- aws-odb
- aws-omics
- aws-opensearchserverless
- aws-opensearchservice
- aws-opsworkscm
- aws-opsworks
- aws-organizations
- aws-osis
- aws-panorama
- aws-paymentcryptography
- aws-pcaconnectorad
- aws-pcaconnectorscep
- aws-pcs
- aws-personalize
- aws-pinpointemail
- aws-pinpoint
- aws-pipes
- aws-proton
- aws-qbusiness
- aws-qldb
- aws-quicksight
- aws-ram
- aws-rbin
- aws-rds
- aws-redshiftserverless
- aws-redshift
- aws-refactorspaces
- aws-rekognition
- aws-resiliencehub
- aws-resourceexplorer2
- aws-resourcegroups
- aws-robomaker
- aws-rolesanywhere
- aws-route53profiles
- aws-route53recoverycontrol
- aws-route53recoveryreadiness
- aws-route53resolver
- aws-route53
- aws-rtbfabric
- aws-rum
- aws-s3express
- aws-s3objectlambda
- aws-s3outposts
- aws-s3tables
- aws-s3vectors
- aws-s3
- aws-sagemaker
- aws-sam
- aws-scheduler
- aws-sdb
- aws-secretsmanager
- aws-securityhub
- aws-securitylake
- aws-servicecatalogappregistry
- aws-servicecatalog
- aws-servicediscovery
- aws-ses
- aws-shield
- aws-signer
- aws-simspaceweaver
- aws-smsvoice
- aws-sns
- aws-sqs
- aws-ssmcontacts
- aws-ssmguiconnect
- aws-ssmincidents
- aws-ssmquicksetup
- aws-ssm
- aws-sso
- aws-stepfunctions
- aws-supportapp
- aws-synthetics
- aws-systemsmanagersap
- aws-timestream
- aws-transfer
- aws-verifiedpermissions
- aws-voiceid
- aws-vpclattice
- aws-wafregional
- aws-wafv2
- aws-waf
- aws-wisdom
- aws-workspacesinstances
- aws-workspacesthinclient
- aws-workspacesweb
- aws-workspaces
- aws-xray
- scripts
- spec2mixins
- test
- codegen
- __snapshots__
- mixins
- awslint/lib/rules
- tools/@aws-cdk/spec2cdk/lib/cdk
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
288 files changed
+1888
-67
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments