-
Notifications
You must be signed in to change notification settings - Fork 4.3k
chore(release): 2.218.0 #35613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(release): 2.218.0 #35613
Conversation
### Issue # (if applicable) Closes #35427. ### Reason for this change AWS Cloudfront now supports for configuring IP address type for custom origins. ### Description of changes - Add `OriginIpAddressType` enum - Add `ipAddressType` prop to `HttpOriginProps` ### Describe any new or updated permissions being added None ### Description of how you validated changes Add both unit and integ tests ### 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*
### Issue # (if applicable) Closes #<issue number here>. ### Reason for this change Adding new team member's GitHub account ### Description of changes Added my github username to workflows github-merit-badger config ### 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*
### Reason for this change https://aws.amazon.com/about-aws/whats-new/2025/09/amazon-ec2-r8gb-instances/ ### Description of changes Add r8gb instance class ### Description of how you validated changes ```console $ aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=r8gb.*" \ --query "InstanceTypes[].InstanceType" \ --output table ----------------------- |DescribeInstanceTypes| +---------------------+ | r8gb.8xlarge | | r8gb.4xlarge | | r8gb.large | | r8gb.12xlarge | | r8gb.16xlarge | | r8gb.medium | | r8gb.metal-24xl | | r8gb.xlarge | | r8gb.2xlarge | | r8gb.24xlarge | +---------------------+ ``` ### 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*
…>` in every L1 (#35470) For every L1 resource, generate a static factory method called `from<Resource>Arn()`: ```ts /** * Creates a new ITableRef from an ARN */ public static fromTableArn(scope: constructs.Construct, id: string, arn: string): ITableRef { class Import extends cdk.Resource { public tableRef: TableReference; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) */ public constructor(scope: constructs.Construct, id: string, arn: string) { super(scope, id, { "environmentFromArn": arn }); const variables = new cfn_parse.TemplateString("arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}").parse(arn); this.tableRef = { "tableName": variables.TableName, "tableArn": arn }; } } return new Import(scope, id, arn); } ``` as well as a `from<Prop>()` (where `<Prop>` is the single field in the primary identifier): ```ts /** * Creates a new ITableRef from a tableName */ public static fromTableName(scope: constructs.Construct, id: string, tableName: string): ITableRef { class Import extends cdk.Resource { public tableRef: TableReference; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) */ public constructor(scope: constructs.Construct, id: string, tableName: string) { const arn = new cfn_parse.TemplateString("arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}").interpolate({ "Partition": cdk.Stack.of(scope).partition, "Region": cdk.Stack.of(scope).region, "Account": cdk.Stack.of(scope).account, "TableName": tableName }); super(scope, id, { "environmentFromArn": arn }); this.tableRef = { "tableName": tableName, "tableArn": arn }; } } return new Import(scope, id, tableName); } ``` **Note**: If the primary identifier for a given resource type has more than one field, we skip the generation of the factory methods for the corresponding class. `TemplateStringParser` is a new class with two static methods (inverses of each other): - `parse`: matches a given ARN template with a concrete ARN string, and returns the values of each variable. - `interpolate`: given an ARN template and a map of variables, returns a string with the variables replaced with their respective values. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # Closes #35199. ### Reason for this change Adding support for DocumentDB [serverless clusters](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-serverless.html) ### Description of changes Added the new `ServerlessV2ScalingConfiguration` property which maps to the corresponding [CFN property](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-docdb-dbcluster-serverlessv2scalingconfiguration.html). `instanceType` is no longer a required field, since a serverless cluster has no instance type. This is not a breaking change since loosening constraints does not impact existing users. The choice of `instanceType` or `serverlessV2ScalingConfiguration` aligns with the AWS console experience of choosing between the two when creating a cluster. <img width="1125" height="409" alt="Screenshot 2025-09-25 at 14 20 27" src="https://github.com/user-attachments/assets/c7b94897-e1f2-40d3-b785-1204c4a27c6b" /> <img width="1625" height="495" alt="Screenshot 2025-09-25 at 14 20 34" src="https://github.com/user-attachments/assets/9f8eb14a-ef0b-4f52-85d3-09a199113259" /> ### Describe any new or updated permissions being added N/A ### Description of how you validated changes ### 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*
…#35578) **Issue**: #35571 **Reason for this change:** AWS EKS now supports Amazon Linux 2023 with NVIDIA drivers for ARM64 architecture (`AL2023_ARM_64_NVIDIA`) for managed node groups, but this AMI type is not available in the CDK EKS constructs. Users who want to leverage ARM64-based GPU instances (like Graviton-based GPU instances) with the latest Amazon Linux 2023 optimized for NVIDIA workloads cannot specify this AMI type through CDK, forcing them to use CloudFormation directly or older AMI types. **Description of changes:** Add support for Amazon Linux 2023 with NVIDIA drivers on ARM64 architecture for EKS managed node groups: * **Add `AL2023_ARM_64_NVIDIA` to `NodegroupAmiType` enum**: New AMI type following the established naming convention * **Include in `gpuAmiTypes` array**: Ensures proper validation logic for GPU instance types * **Add comprehensive JSDoc documentation**: Describes the AMI as "Amazon Linux 2023 with NVIDIA drivers (ARM-64)" * **Maintain backward compatibility**: No breaking changes to existing functionality * **Follow established patterns**: Consistent with existing AMI type implementations The implementation enables users to specify ARM64 GPU instances with the latest Amazon Linux 2023 optimized for NVIDIA workloads: ```typescript new eks.Nodegroup(this, 'GpuNodeGroup', { cluster: cluster, amiType: eks.NodegroupAmiType.AL2023_ARM_64_NVIDIA, instanceTypes: [new ec2.InstanceType('g5g.xlarge')], // ARM64 GPU instance }); ``` **Description of how you validated changes:** * Unit Tests: All existing EKS tests pass without modifications, confirming no regressions **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)
) ### Issue # (if applicable) Closes #<issue number here>. ### Reason for this change AWS CDK currently lacks L2 constructs for Serverless ElastiCache and user management features. Customers must work directly with L1 constructs (CfnUser, CfnUserGroup, CfnServerlessCache) which are verbose and lack the convenience, validation, and best practices that L2 constructs provide. ### Description of changes This PR implements the L2 constructs for ElastiCache UserGroup and ServerlessCache as an initial step towards complete Serverless ElastiCache support. **Files added to `aws-elasticache` package:** - `common.ts` - Shared `UserEngine` enum (VALKEY, REDIS) - `user-group.ts` - Complete `UserGroup` L2 construct with import methods, `addUser()` functionality, and engine-specific validation - `serverless-cache-base.ts` - Engine Enum; Interface and Base class for `ServerlessCache` L2 construct - `serverless-cache.ts` - Complete `ServerlessCache` L2 construct with IAM grant methods, comprehensive CloudWatch metrics, networking connections, backup management, usage limits configuration, and robust input validations - `user-base.ts` - Base class and interface extended by ElastiCache User constructs with shared properties and import methods - `password-user.ts`- Complete `PasswordUser` L2 construct with password-based authentication, and proper validations - `no-password-user.ts`- Complete `NoPasswordUser` L2 construct without password authentication, and proper validations - `iam-user.ts` - Complete `IamUser` L2 construct with IAM authentication, connect permissions, and validations - `README.md` - Complete user manual describing how to create and configure a user, user group and a serverless cache, explaining all the important features ### Describe any new or updated permissions being added NA ### Description of how you validated changes I implemented unit tests for all the construct files introduced: all the 3 types of `users`, `user-group` and `serverless-cache`. I also added integration tests. ### 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*
…35510) ### Issue # (if applicable) N/A ### Reason for this change B3 propagator currently drops trace state and baggage if it comes after either of the propagators responsible for propagating these informations. It provides no functionality and only blocks baggage in the current state. This blocks certain AWS X-Ray features from being used effectively without asking users to override the default propagators ### Description of changes - Removed B3 propagator from default propagators environment variable list ### Describe any new or updated permissions being added N/A ### Description of how you validated changes Confirmed with SME [wangzlei@](https://github.com/wangzlei) that B3 is no longer needed, as per owners listed in https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-xray-propagator Ran manual tests by deploying applications hosted in both EC2 and EKS with various propagator configurations that exclude B3 using Application Signals on Java and verified all Application Signals behaviour was functional and as expected. Removed the B3 default propagator in ADOT Java that is applied in non-CDK environments and verified the Application Signals E2E tests passed: https://github.com/aws-observability/aws-otel-java-instrumentation/actions/runs/17587061009/job/49960543385 (Failed jobs are due to misconfiguration of unrelated actions) ### 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*
05ba139 to
4aa3438
Compare
|
Thank you for contributing! Your pull request will be automatically updated and merged without squashing (do not update manually, and be sure to allow changes to be pushed to your fork). |
|
This pull request has been removed from the queue for the following reason: Pull request #35613 has been dequeued. The pull request could not be merged. This could be related to an activated branch protection or ruleset rule that prevents us from merging. (details: 2 of 2 required status checks have not succeeded: 1 expected.). You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it. |
|
Thank you for contributing! Your pull request will be automatically updated and merged without squashing (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. |
See CHANGELOG