NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #3068 most downloaded on NuGet
The CDK Construct Library for AWS::CloudWatch (Stability: Stable)
Last release 3 years ago
no release in 18 months
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 6 of the last 60 stable releases
39 versions withdrawn
withdrawn after publishing
127 years old
285 releases · first in 1900
stepfunctions-tasks: Dynamo* tasks no longer implementIStepFunctionsTask and have been replaced by constructs that can be instantiated directly. See R
Dynamo* tasks no longer implementIStepFunctionsTask and have been replaced by constructs that can be instantiated directly. See README for examplesOne column per quarter.
stepfunctions-tasks: constructs for EMR* have been introduced to replace previous implementation which implemented IStepFUnctionsTask.
EMR* have been introduced to replace
previous implementation which implemented IStepFUnctionsTask.sizeInGB property in VolumeSpecification has been renamed to volumeSize and is of type cdk.Size as we want to enable specifying any unitebsRootVolumeSize property in EmrCreateCluster is now of type cdk.Size as we want to enable specifying any unitTags in EmrCreateCluster type has changed from cdk.CfnTag[] to a map of string to string as we do not want to leak Cfn typesengine can no longer be passed when creating a DatabaseInstanceReadReplicastepfunctions-tasks: constructs for SageMakerCreateTrainingJob and SageMakerCreateTransformJob replace previous implementation that implemented IStepF
SageMakerCreateTrainingJob and
SageMakerCreateTransformJob replace previous implementation that
implemented IStepFunctionsTask.volumeSizeInGB property in ResourceConfig for
SageMaker tasks are now type core.SizemaxPayload property in SagemakerTransformProps
is now type core.SizevolumeKmsKeyId property in SageMakerCreateTrainingJob is now volumeEncryptionKeyrequiredAttributes on UserPool construct is now replaced with standardAttributes with a slightly modified signature.domainPrefix (#8399) (681b3bb), closes #8314ecs-patterns: support min and max health percentage in queueprocessingservice
rds: the default retention policy for RDS Cluster and DbInstance is now 'Snapshot'
authorizationCodeGrant and
implicitCodeGrant in UserPoolClient are enabled by default.callbackUrl property in UserPoolClient is now
optional and has a default.UserPoolClient are now enabled
by default.SingletonFunction.grantInvoke() API fails with error 'No child with id' (#8296) (a8b1815), closes #8240lambda: SingletonFunction.grantInvoke() API fails with error 'No child with id' (#8296) (b4e264c), closes #8240
cloudtrail: API signatures of addS3EventSelectors and addLambdaEventSelectors have changed. Their parameters are now strongly typed to accept IBucket
addS3EventSelectors and
addLambdaEventSelectors have changed. Their parameters are now
strongly typed to accept IBucket and IFunction respectively.addS3EventSelectors and addLambdaEventSelectors
can no longer be used to configure all S3 data events or all Lambda data
events. Two new APIs logAllS3DataEvents() and
logAllLambdaDataEvents() have been introduced to achieve this.snsTopic is now of the type ITopic.cloudtrail: create cloudwatch event without needing to create a Trail (#8076) (0567a23), closes #6716
add support for Gitpod workspaces
cognito: An invalid template placeholder has been removed from the default verification email body in a user pool.
addApiKey() (#7714) (e93da2c), closes #3233 #7767cloudfront: support geo restrictions for cloudfront distribution (#7345) (cf25ba0), closes #3456
s3UrlForObject method on IBucket (#7508) (8fe4015), closes #7507amplify: mapSubDomain() called with an empty string for prefix now maps to the domain root.
mapSubDomain() called with an empty string for prefix now
maps to the domain root.MathExpression without submetrics (b59aed0), closes #7155new Instance fails in lookup Vpc (3161de8), closes #7580Vpc.fromLookup() does not work in unit tests (e869a0d), closes #6045multiple breakages due to jest version upgrade (#7667) (e18312), closes #7657
stepfunctions-tasks: payload in RunLambdaTask is now of type TaskInput and has a default of the state input instead of the empty object. You can migra
payload in RunLambdaTask is now of type TaskInput and has a default of the state input instead of the empty object.
You can migrate your current assignment to payload by supplying it to the TaskInput.fromObject() APIcdk.json get moved to cdk.context.json (022eb66), closes #7399RunLambda service integration (#7428) (a1d9884), closes #7371assets: cdk deploy now needs s3:ListBucket instead of s3:HeadObject.
cdk deploy now needs s3:ListBucket instead of s3:HeadObject.Efs prefix.provisionedThroughputInMibps property is renamed to provisionedThroughputPerSecond and has the type Size.fileSystemID is now renamed to fileSystemId in the now named FileSystemAttributes (previously, EfsFileSystemAttributes).LifecyclePolicyProperty is now renamed to LifecyclePolicy.cli: Javascript init-templates cannot be synthesized (ce4b8dd), closes #7356
glue: DateFormat constant names are now UPPERCASE (JSON, AVRO, LOGSTASH, ...)
DateFormat constant names are now UPPERCASE (JSON, AVRO, LOGSTASH, ...)jsii version conflict due to upgrade from v1.1.0 to v1.3.0 (f2fdfe5), closes #7426
kinesis: grantRead() API no longer provides permissions to kinesis:DescribeStream as it provides permissions to kinesis:DescribeStreamSummary and kine
grantRead() API no longer provides permissions to kinesis:DescribeStream as it provides permissions to kinesis:DescribeStreamSummary and kinesis:SubscribeToShard in it's place. If it's still desired, it can be added through the grant() API on the stream.grantWrite() API no longer has DescribeStream permissions as it has been replaced by ListShards for shard discoverybottlerocket capacity. (e9f691f), closes #7268grantRead now allows the ListShards action and grant is now public (#6141) (563fba4), closes #3357grant API to IStream to add permissions to a Stream (#7354) (c223406)aws-kinesis module is now stable (#7349) (4ab3ffa), closes #5874= symbols get truncated (#7226) (b7ddf5b), closes #7246cli: profile AssumeRole credentials don't work via proxy
iam: new IAM Condition type is unusable in Java
cognito: UserPoolClient construct no longer has the property userPoolClientClientSecret. The functionality to retrieve the client secret never existed
UserPoolClient construct no longer has the property
userPoolClientClientSecret. The functionality to retrieve the client
secret never existed in CloudFormation, so this property was not
working in the first place.userPoolClientName property on the UserPoolClient
construct will throw an error if client name was not configured on the
UserPoolClient during initialization. This property was previously
incorrectly configured and was returning a not-implemented message from
CloudFormation every time.sourceCodeProvider prop to connect your app to a source
code provider. The props repository, accessToken and oauthToken do not exist
anymore in AppProps.retentionPeriodHours is now retentionPeriod and of type DurationCluster now creates a default managed nodegroup as its default capacity. Set the new cluster property defaultCapacityType to DefaultCapacityType.EC2 to preserve EC2 as its default capacity.add*Trigger() methods to configure
lambda triggers has now been replaced by a single
addTrigger() method.addTrigger() method will fail if a trigger
was already configured for that user pool operation.{[key: string]: any} instead of plain any. You were always supposed to pass a map/dictionary in these locations, but the type system didn't enforce it. It now does.aws:SecureTransport for staging bucket (#7192) (ed106ea)Size unit representing digital information quantity (#6940) (22a560d)acm-certificatemanager: DnsValidatedCertificateHandler support for SubjectAlternativeNames (#7050) (a711c01), closes #4659
aws-kinesis: test assume order between stacks (#7065) (17aab37)
cli: can't use credential providers for stacks with assets (#7022) (afd7045), closes #7005
cloudtrail: include s3KeyPrefix in bucket policy resource (#7053) (b49881f), closes #6741
cognito: user pool - passwordPolicy.minLength is not optional in all cases (#6971) (49cdd8f)
dynamodb: cannot use attribute as key in a GSI, non-key in another (#7075) (a6bd34f), closes #4398
ecs: default Service throws in a VPC without private subnets (#7188) (0ef6a95), closes #7062
events: Batch target does not work (#7191) (6f00783), closes #7137
kinesis: retention period does not use Duration type (#7037) (1186227), closes #7036
rewrite-imports: incorrect main in package.json (#7021) (2bf85b3)
stepfunctions-tasks: batch job - can not use task input as array size (#7008) (923d2a1), closes #6922
stepfunctions-tasks: confusion between multiple ways to run a Lambda (#6796) (7485448), closes #4801
.NET Core v3.1 is required with JSII v1.1
acm: Allow tokens as a part of the hosted zone name (#6685) (acfb6ef), closes #6133
aws-ecs-patterns: only create an A record if LB is public (#6895) (f31f4e1), closes #6702
cdk-assets: context path not honored by Docker asset build (#6957) (1edd507), closes #6954 #6814
cloudwatch: unhelpful error when reusing metric IDs (#6892) (60253a3)
cognito: user pool - link style email verification fails to deploy (#6938) (b5c60d5), closes #6811
ec2: spelling error in Instance's subnet selection logic. (#6752) (564561a)
iam: immutable role cannot be used as a construct (#6920) (56be032), closes #6885
:rocket: To enable new CDK projects such as CDK for Kubernetes, we have released the constructs programming model as an independent library called con
:rocket: To enable new CDK projects such as CDK for Kubernetes, we have released the constructs programming model as an independent library called constructs. The @aws-cdk/core.Construct class is now a subclass of the base constructs.Construct.
UserPoolAttribute has been removed. It is no longer
required to defined a UserPool.IMachineImage it must now always return a userData object.cdk deploy (#6684) (52fd078)batch: computeEnvironments is now required
computeEnvironments is now requiredallocationStrategy property was moved from ComputeEnvironmentProps to the ComputeResources interface, which is where it semantically belongs.getDataString was renamed to getResponseField.getData was renamed to getResponseFieldReference.catchErrorPattern was renamed to ignoreErrorCodesMatching. In addition, a few synth time validations were added when using this property. See Error Handling for details.policyStatements property was removed in favor of a required policy property. Refer to Execution Policy for more details.catchErrorPattern to ignoreErrorCodesMatching (#6553) (94599f8), closes #5873getData* to getResponseField* (#6556) (d5867b4), closes #5873computeEnvironments is now required for JobQueue (#6616) (0b6c865), closes #6615cognito: UserPool.fromUserPoolAttributes() has been replaced by fromUserPoolId() and fromUserPoolArn().
UserPool.fromUserPoolAttributes() has been replaced
by fromUserPoolId() and fromUserPoolArn().IUserPool no longer contains userPoolProviderName
and userPoolProviderUrl.signInType of UserPool has been
renamed to signInAliases and given a new type SignInAliases. The
list of sign in types are now specified via boolean properties.usernameAliasAttributes of UserPool has
been dropped and its functionality merged with the signInAliases
property.autoVerifiedAttributes for UserPool is
now renamed to autoVerify and its default has now changed. The new
default is now determined by the value of signInAliases.physicalResourceId and physicalResourceIdPath
were unified to a concrete type under the physicalResourceId property.
Use PhysicalResourceId.fromResponse and PhysicalResourceId.of factory
functions to specify it.eventSourceMappingId (#5689) (5ea2679), closes #5430haveResourceLike and countResourcesLike compatibility (#6202) (86c04f3)apigateway: the interface now accepts endpointconfiguration property instead of endpoint type as defined by cfn
parcel-bundler v1.x is now a peer dependency of @aws-cdk/aws-lambda-nodejs. Please add it to your package.json.trustAccountIdentities avoids cyclic stack dependencies (03f4ef2)cdk deploy hangs when stack deployment fails (#6433) (4b11d99)appsync: Changes MappingTemplate.dynamoDbPutItem() to accept PrimaryKey and AttributeValues, which allow configuring the primary key and to project an
MappingTemplate.dynamoDbPutItem() to accept
PrimaryKey and AttributeValues, which allow configuring the primary
key and to project an object to a set of attribute values.--wait option. (#6276) (1811e00), closes /github.com/helm/helm/blob/b63822ed12de1badbb61736d2f7ea4e756ef757d/pkg/action/install.go#L52-L55assert: add countResourcesLike method
function.deadLetterQueue (6656047), closes #6170grantStartExecution available on imported StateMachine (5ae81cd), closes #6173onePerAz does not work for looked-up VPCs (3332d06), closes #3126appsync: add support for mapping DynamoDB queries (#5940) (2240e97), closes #5861
MachineImage factory, document instance replacement (#6065) (435d810), closes #5675 #6025eks: (experimental module) the Mapping struct was renamed to AwsAuthMapping.
Mapping struct was renamed to AwsAuthMapping.aws-cdk/assets with an image tag based on the hash of the docker build source directory (the directory where your Dockerfile resides). See PR #5733 for details and discussion.scaleOnMetric will no longer force the alarm period to 1 minute, but use the period from the Metric object instead (5 minutes by default). Use metric.with({ period: Duration.minute(1) }) to create a high-frequency scaling policy.MathExpression in scaleOnMetric (d4c1b0e), closes #5776SecretsManagerRDSPostgreSQLRotationMultiUser not working (49032ee)ecr-assets: cannot build docker images outside the source tree (i.e. against a cdk.out directory) (#5836) (6bc8ecc), fixes
cdk init fails if run under a directory where cdk.json exists, reverts (#5772) due to an issue which will be fixed in a subsequent version (#5836) (da9c626)
, fixes (#5826)assert: cdk assert: implement 'haveOutput' assertion (#5366) (ee6decb), closes #1906
VpcEndpointService construct (#5498) (a2713f3)Role.withoutPolicyUpdates() (#5569) (ea4ca3e), closes #2985 #4465 #4501DnsValidatedCertificate in non-aws partitions (#5771) (e3305d8)Cluster and Ec2Service behind ALB (#5813) (eb3c517)OrganizationPrincipal for assuming Role (#5746) (6c3d4c4), closes #5732autoscaling: AutoScalingGroups without desiredCapacity are now initially scaled to their minimum capacity (instead of their maximum capaciety).
desiredCapacity are now
initially scaled to their minimum capacity (instead of their maximum
capaciety).addRotationSingleUser(id: string, options: SecretRotationOptions) is now addRotationSingleUser(automaticallyAfter?: Duration)privateIpAddress to Instance (a00906d), closes #4004Instance (#5567) (1085a27), closes #4773 #4781codebuild: add deprecation warning for UBUNTU_14_04
hostedZoneId will no longer include /hostedzone/ prefix and only includes the hostedZoneId when using HostedZone.fromLookup or fromHostedZoneAttributesS3OriginConfig.originAccessIdentityId or type string has been removed in favor of S3OriginConfig.originAccessIdentity of type IOriginAccessIdentity.cdk diff now exits with 0 even when there's a diff, use --fail to exit with 1. To enable this feature for old projects, add the context key "aws-cdk:diffNoFail": "true" in your cdk.json file.--generate-only flag (#5253) (ecbe0b6)cdk diff to fail #4700 (#5284) (1b12dba)docker build is missing dotnet (#5091) (18fa3aa)parameters property does nothing (#5408) (01df7c6), closes #5267We are excited to announce the general availability of support for the .NET family of languages (C#, F#, ...) as well as Java!
We are excited to announce the general availability of support for the .NET family of languages (C#, F#, ...) as well as Java!
We want to express our gratitude to all of our early customers as well as the amazing contributors for all the help and support in making this release possible. Thank you for all the feedback provided during the Developer Preview of .NET and Java support, without which the product would not be what it is today.
Special thanks go out to a handful of amazing people who have provided instrumental support in bringing .NET and Java support to this point:
Of course, we continue to be amazed and thrilled by the community contributions we received besides language support. The passion demonstrated by the CDK community is heartwarming and largely contributes to making maintaining the CDK an enjoyable, enriching experience!
The following known issues were identified that specifically affect .NET and Java support in the CDK, and which will be promptly addressed in upcoming CDK releases (in no particular order). See the GitHub issues for more information and workarounds where applicable.
aws/jsii#1011 - abstract members are not marked as such on their .NET and Java representationsaws/jsii#1029 - user-defined classes implementing CDK interfaces must extend Amazon.Jsii.Runtime.Deputy.DeputyBaseaws/jsii#1042 - Parameters typed object accept only primitive types, instances of CDK types, Dictionary<string,?>aws/jsii#1044 - Unable to pass interface instance through in a Dictionary<string,object>aws/jsii#1034 - Implementing or overriding overloaded methods in Java does not work consistentlyaws/jsii#1035 - Returning Lazy.anyValue from an method whose return type is java.lang.Object may result in Resolution Errorsaws/jsii#1005 - property getter implementations (e.g: from an interface) may be ignoredNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →