Skip to content

feat: update references to use new shared resource interface (ref-interfaces #3)#35282

Merged
rix0rrr merged 60 commits intootaviom/resource-ref-interfacefrom
otaviomhuijbers/ref-interfaces-usage
Sep 2, 2025
Merged

feat: update references to use new shared resource interface (ref-interfaces #3)#35282
rix0rrr merged 60 commits intootaviom/resource-ref-interfacefrom
otaviomhuijbers/ref-interfaces-usage

Conversation

@otaviomacedo
Copy link
Copy Markdown
Contributor

@otaviomacedo otaviomacedo commented Aug 20, 2025

Using the updated interfaces from #35271.


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 Aug 20, 2025
@aws-cdk-automation aws-cdk-automation requested a review from a team August 20, 2025 12:39
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Aug 20, 2025

⚠️ The sha of the head commit of this PR conflicts with #35271. Mergify cannot evaluate rules on this PR. ⚠️

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)

@otaviomacedo otaviomacedo changed the base branch from main to otaviomhuijbers/ref-interfaces-l2s August 20, 2025 12:42
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Aug 20, 2025
@otaviomacedo otaviomacedo changed the title Otaviomhuijbers/ref interfaces usage feat: update references to use new shared resource interface Aug 20, 2025
@otaviomacedo otaviomacedo changed the title feat: update references to use new shared resource interface feat: update references to use new shared resource interface (ref-interfaces #3) Aug 21, 2025
frankhefeng and others added 6 commits September 1, 2025 16:30
### Issue # (if applicable)

Closes #35078.

### Reason for this change

We want to use ACM exportable public certificates to replace all those certificates purchased from another vendor

### Description of changes

Add `certificateExportEnabled` in `acm.Certificate` Construct

### Describe any new or updated permissions being added

N/A


### Description of how you validated changes

Unit updated to cover new `certificateExportEnabled` property

### 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)

None

### Reason for this change

AWS RDS now supports for retaining automated backups when cluster is deleted.
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.Retaining.html

### Description of changes

- Add `deleteAutomatedBackups` prop  to `ClusterBaseProps`.

### Describe any new or updated permissions being added

None

### Description of how you validated changes

Added 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 #35093.

### Reason for this change

Improve doc string to clarity what inputs are accepted for `contentType`.

### Description of changes

Simple documentation additions.

### Describe any new or updated permissions being added

None


### Description of how you validated changes

None, only documentation 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*
It is mysteriously broken on PR builds, but not on my own machine.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…licy (#35308)

### Issue # (if applicable)

None

### Reason for this change

When creating a `ResponseHeadersPolicy`, if we set `accessControlAllowCredentials` to true in the CORS configuration and include a string containing `*` in `accessControlAllowHeaders`, it causes a deployment error. I added validation to prevent this in advance.

```console
10:57:02 PM | CREATE_FAILED        | AWS::CloudFront::ResponseHeadersPolicy      | Dev-PriCo
ach/MainS...ponseHeadersPolicy
Resource handler returned message: "Invalid request provided: AWS::CloudFront::ResponseHeade
rsPolicy: The parameter Access-Control-Allow-Headers cannot contain * when allowCredentials
is true. (Service: CloudFront, Status Code: 400, Request ID: 9298af67-dfb6-4ddc-9cd6-b301e8f
eed3e) (SDK Attempt Count: 1)" (RequestToken: 2cbce7b6-8501-7bf8-aeb8-6781277473a0, HandlerE
rrorCode: InvalidRequest)
```

### Description of changes

Add validation for `ResponseHeadersPolicy`.

### Describe any new or updated permissions being added

None

### Description of how you validated changes

Add unit test

### 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*
…5309)

### Issue # (if applicable)

None

### Reason for this change

The `targets.AwsApi()` method enables us to call AWS API from EventBridge directly but there is no documentation about this feature.

### Description of changes

Update README.md

### Describe any new or updated permissions being added

None

### Description of how you validated changes

None

### 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*
Base automatically changed from otaviomhuijbers/ref-interfaces-l2s to otaviom/resource-ref-interface September 2, 2025 08:13
otaviomacedo and others added 9 commits September 2, 2025 09:39
…f-interfaces-usage

# Conflicts:
#	packages/@aws-cdk-testing/framework-integ/test/aws-codepipeline-actions/test/integ.pipeline-elastic-beanstalk-deploy.ts
#	packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions-tasks/test/databrew/integ.start-job-run.ts
#	packages/@aws-cdk/aws-ec2-alpha/lib/subnet-v2.ts
#	packages/@aws-cdk/aws-ec2-alpha/lib/vpc-v2-base.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/api-key.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/domain-name.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/gateway-response.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/resource.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/restapi.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/stage.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/usage-plan.ts
#	packages/aws-cdk-lib/aws-apigateway/lib/vpc-link.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/cache-policy.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/distribution.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/experimental/edge-function.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/function.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/key-group.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/key-value-store.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/origin-access-identity.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/origin-request-policy.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/public-key.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/realtime-log-config.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/response-headers-policy.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/vpc-origin.ts
#	packages/aws-cdk-lib/aws-cloudfront/lib/web-distribution.ts
#	packages/aws-cdk-lib/aws-ec2/lib/bastion-host.ts
#	packages/aws-cdk-lib/aws-ec2/lib/client-vpn-endpoint.ts
#	packages/aws-cdk-lib/aws-ec2/lib/instance.ts
#	packages/aws-cdk-lib/aws-ec2/lib/key-pair.ts
#	packages/aws-cdk-lib/aws-ec2/lib/launch-template.ts
#	packages/aws-cdk-lib/aws-ec2/lib/network-acl.ts
#	packages/aws-cdk-lib/aws-ec2/lib/placement-group.ts
#	packages/aws-cdk-lib/aws-ec2/lib/prefix-list.ts
#	packages/aws-cdk-lib/aws-ec2/lib/security-group.ts
#	packages/aws-cdk-lib/aws-ec2/lib/volume.ts
#	packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint-service.ts
#	packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts
#	packages/aws-cdk-lib/aws-ec2/lib/vpc-flow-logs.ts
#	packages/aws-cdk-lib/aws-ec2/lib/vpc.ts
#	packages/aws-cdk-lib/aws-ec2/lib/vpn.ts
#	packages/aws-cdk-lib/aws-iam/lib/access-key.ts
#	packages/aws-cdk-lib/aws-iam/lib/group.ts
#	packages/aws-cdk-lib/aws-iam/lib/instance-profile.ts
#	packages/aws-cdk-lib/aws-iam/lib/lazy-role.ts
#	packages/aws-cdk-lib/aws-iam/lib/managed-policy.ts
#	packages/aws-cdk-lib/aws-iam/lib/oidc-provider-native.ts
#	packages/aws-cdk-lib/aws-iam/lib/oidc-provider.ts
#	packages/aws-cdk-lib/aws-iam/lib/policy.ts
#	packages/aws-cdk-lib/aws-iam/lib/private/immutable-role.ts
#	packages/aws-cdk-lib/aws-iam/lib/private/imported-role.ts
#	packages/aws-cdk-lib/aws-iam/lib/private/precreated-role.ts
#	packages/aws-cdk-lib/aws-iam/lib/role.ts
#	packages/aws-cdk-lib/aws-iam/lib/saml-provider.ts
#	packages/aws-cdk-lib/aws-iam/lib/user.ts
#	packages/aws-cdk-lib/aws-kms/lib/alias.ts
#	packages/aws-cdk-lib/aws-kms/lib/key.ts
#	packages/aws-cdk-lib/aws-lambda/lib/alias.ts
#	packages/aws-cdk-lib/aws-lambda/lib/code-signing-config.ts
#	packages/aws-cdk-lib/aws-lambda/lib/event-source-mapping.ts
#	packages/aws-cdk-lib/aws-lambda/lib/function-base.ts
#	packages/aws-cdk-lib/aws-lambda/lib/lambda-version.ts
#	packages/aws-cdk-lib/aws-lambda/lib/layers.ts
#	packages/aws-cdk-lib/aws-s3/lib/bucket-policy.ts
#	packages/aws-cdk-lib/aws-s3/lib/bucket.ts
…on (#35370)

### Issue # (if applicable)

Closes #35353.

### Reason for this change

Currently you are unable to specify the NodeJS 22 Runtime directly in the EvaluateExpression construct. When users try to use `Runtime.NODEJS_22_X`, they receive an error that this runtime is not supported. 

### Description of changes

- Added Node.js 22 runtime mapping to the `nodeJsGuids` object in `evaluate-expression.ts` with UUID `'b64e1fb8-9c89-4f7d-8a34-2e2a1c5f6d7e'`
- Added unit test coverage for Node.js 22 runtime in `evaluate-expression.test.ts`

The changes follow the exact same pattern as existing Node.js runtime support (Node.js 20, 18, etc.). No alternatives were considered as this is a straightforward addition to the existing runtime mapping system. The UUID was generated to ensure uniqueness for the singleton Lambda function pattern used by EvaluateExpression.

### Describe any new or updated permissions being added

No new or updated IAM permissions are required. This change only adds support for an additional Lambda runtime version.

### Description of how you validated changes

- Added unit test that verifies EvaluateExpression creates a Lambda function with `nodejs22.x` runtime
- All existing tests continue to pass (5/5 tests passing)
- Manually tested by creating a CDK app, synthesizing CloudFormation template, and deploying to AWS
- Verified the deployed Lambda function uses Node.js 22 runtime and executes successfully and returns 

### 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)
None

### Reason for this change
https://aws.amazon.com/about-aws/whats-new/2025/08/amazon-ec2-m8i-and-m8i-flex-instances-generally-available/
https://aws.amazon.com/about-aws/whats-new/2025/08/memory-optimized-amazon-ec2-r8i-r8i-flex-instances/

### Description of changes
Add m8i, m8i-flex, r8i, r8i-flex instance class

### Description of how you validated changes
```console
$ aws ec2 describe-instance-types | grep -e m8i -e r8i
            "InstanceType": "r8i.48xlarge",
            "InstanceType": "r8i-flex.8xlarge",
            "InstanceType": "m8i.16xlarge",
            "InstanceType": "m8i-flex.2xlarge",
```

### 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)

None

### Reason for this change

Neptune had released engine version 1.4.5.1.

- Docs
  - https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-1.4.5.1.html
- Version confirmed via CLI
  - `aws neptune describe-db-engine-versions --engine neptune --engine-version 1.4.5.1 --region us-east-1
{
    "DBEngineVersions": [
        {
            "Engine": "neptune",
            "EngineVersion": "1.4.5.1",
            "DBParameterGroupFamily": "neptune1.4",
            "DBEngineDescription": "neptune",
            "DBEngineVersionDescription": "Neptune 1.4.5.1.R1",
            "ValidUpgradeTarget": [],
            "ExportableLogTypes": [
                "audit",
                "slowquery"
            ],
            "SupportsLogExportsToCloudwatchLogs": true,
            "SupportsReadReplica": false,
            "SupportsGlobalDatabases": true
        }
    ]
}`

### Description of changes

Added `V1_4_5_1` to EngineVersion class


### Description of how you validated changes

None

### 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 this test, the platform specified to bundle the asset is `linux/amd64`. But the image used doesn't specify any platform. This is causing the `integ.assets.bundling.docker-opts.ts` to fail with the message:

>Unable to find image 'cdk-66687611b68d3de0f92ed971e4c457e4828f2e0c877c8b1f5fab42ac3d2772ec:latest' locally
>docker: Error response from daemon: pull access denied for cdk-66687611b68d3de0f92ed971e4c457e4828f2e0c877c8b1f5fab42ac3d2772ec, repository does not exist or may require 'docker login'
>
>Run 'docker run --help' for more information

Add the platform to the build parameters of the Docker image.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@aws-cdk-automation aws-cdk-automation dismissed their stale review September 2, 2025 13:16

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

@rix0rrr rix0rrr merged commit 5f9fb8c into otaviom/resource-ref-interface Sep 2, 2025
14 of 15 checks passed
@rix0rrr rix0rrr deleted the otaviomhuijbers/ref-interfaces-usage branch September 2, 2025 14:26
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Sep 2, 2025

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 Sep 2, 2025
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.

10 participants