Skip to content
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.166.0 #32042

Merged
merged 44 commits into from
Nov 6, 2024
Merged

chore(release): 2.166.0 #32042

merged 44 commits into from
Nov 6, 2024

Conversation

aws-cdk-automation
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation commented Nov 6, 2024

See CHANGELOG

nicholaschiasson and others added 30 commits October 31, 2024 20:37
…Set weight (#31823)

### Issue # (if applicable)

Closes #31810.

### Reason for this change

Could not use CfnParameter.valueAsNumber for L2 RecordSet weight.

### Description of changes

Adding validation of weight property as a potential Token in RecordSet constructor.

### Description of how you validated changes

Added unit and integration 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*
### Reason for this change

Update the Mergify queue rules, so if the [mergify queue command](https://docs.mergify.com/commands/queue/) used it will use the correct queue based on the conditions added to each queue, and to avoid human mistakes if this command used and the PR does not fulfill the minimum requirements to be merged.

### Description of changes

Updated the default-merge, and default-squash queues to add the minimum requirements before to be checked before adding a PR to that queue.

### 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*
…veloper preview (#31969)

Update the Change log file to announce kinesisfirehose as developer preview

### 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 #28814 .

### Reason for this change
To support resource policy for a Kinesis Data stream.


### Description of changes
* Add `ResourcePolicy` Construct.
* Add `addToResourcePolicy` method to `Stream` Construct.



### Description of how you validated changes
Add unit tests and integ 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*
…#31962)

### Issue # (if applicable)

None

### Reason for this change

We can configure `autoMinorVersionUpgrade' for a database cluster, but AWS CDK cannot do this.

### Description of changes

Add `autoMinorVersionUpgrade` to `DatabaseClusterBaseProps`.

### 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*
Previously there were methods on the `Deployments` class that made it possible to directly get an SDK from the `SdkProvider` for a particular environment. Calling these methods made it possible to get an SDK without thinking of assuming roles to go into a different account.

This PR introduces a new class, `EnvironmentAccess`, with a couple of public methods that are the only ones allowed to obtain SDKs with credentials. It has the methods:

- accessStackForStackOperations(stack)
- accessStackForLookup(stack)
- accessStackForReading(stack)

These will always respect the role information on the stack.

Ideally there would have been similar methods for assets as well, but the `cdk-assets` library is entirely handling asset roles itself, and it's not in the scope of this PR to change that. That keeps on using a plain `SdkProvider`. Hotswap deployments will also just use CLI credentials and not assume role, so that also keeps on using an `SdkProvider`.

All other uses have moved to `EnvironmentAccess`.

----

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

Object Lock requires passing an object checksum. By default, SDKv2 only calculates MD5 checksums.

We used to turn off checksums altogether and rely on SigV4 checksums to produce a workable setup for both FIPS and non-FIPS users, but in case of Object Lock this doesn't work: we must definitely have an S3 content checksum, and the the SigV4 checksum alone is not good enough.

Since SDKv2 only supports MD5 checksums, we now only disable checksums for FIPS environments.

The unfortunate result is that Object Lock will not work in a FIPS environment, but there's no way around that for now.

When we migrate to SDKv3, which can be configured to checksum using SHA256, Object Lock + FIPS will work again.

Relates to #31926

(This PR also adds tests for the PluginHost because otherwise the build fails due to coverage requirements)

----

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

### Issue # (if applicable)

N/A
### Reason for this change

Route53 supports additional record types.

Ref: https://aws.amazon.com/about-aws/whats-new/2024/10/amazon-route-53-https-sshfp-svcb-tlsa-dns-support/

These are already supported in CFn.

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html#cfn-route53-recordset-type

### Description of changes
Add Enum.



### Description of how you validated changes
Nothing because only enum added.


### 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*
…S volumes (#31948)

### Issue # (if applicable)

Closes #31764

### Reason for this change



CDK is failing to deploy OpenSearch with I4G nodes with error message indicating that EBS configuration is required. 
However, OpenSearch clusters with I4G nodes use instance store and cannot be configured with EBS storage.

### Description of changes



This change adds I4G node type to the list of OpenSearch nodes that does not support EBS volumes in the cluster configuration.

### Description of how you validated changes



Added unit tests and run them successfully
Ran integration test on private account

### 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*
…gleton schedule target role (#31895)

### Issue # (if applicable)

Tracking #31785.

### Reason for this change

The current logic for creating a schedule target execution role uses a hash on the `targetArn` to determine if there is an existing role in the stack. Currently if the `targetArn` contains token values (e.g. intrinsic functions), `stack.resolve(targetArn).toString()` is used to convert the tokenized ARN into a string. However this always results in `[object Object]` which then gets hashed, meaning the same role is used for any target where the ARN passed in is not a pure string. This does not follow principle of least privilege, and a singleton role used across multiple different targets/target types can be confusing for the customer to manage. 

### Description of changes

- Use `JSON.stringify()` instead of `.toString()` to produce unique hash (and thus create new role) per target.

### Description of how you validated changes

Updated unit tests and 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)

BREAKING CHANGE: Schedule Target will reuse role if target is re-used across schedules. This change triggered replacement of existing roles for Schedule as logical ID of the roles are changed.

----

*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

We can configure amplify domain name but there is no validation for that.

### Description of changes

Add validation for an amplify domain name
- length must be lower than 255 characters
- match with [the regular expression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-domainname)
  - /^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\.)?$/

### 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*
Update the integration test cases for both pipes-sources and pipes-targets modules to add comments explained why we use TestTarget, and TestSource instead of using real classes, and this to avoid the circular dependencies, as we need to depend on each module on the other so we can implement these test cases.

These Test classes should be replaced before graduating the pipes alpha modules.
### Issue # (if applicable)

None

### Reason for this change

Neptune had released engine version 1.3.4.0.

https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-1.3.4.0.html

### Description of changes

Add `v1_3_4_0` member 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*
### Issue # (if applicable)

Closes #30631 

### Reason for this change



The [`AWS::DynamoDB::GlobalTable`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html) resource does not natively support tags. However, at the L2 level (`TableV2`), the [`tags`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.TableV2.html#tags) option is available when creating this resource, which may give customers the impression that it is taggable. When customers apply tags using the aspect at the `TableV2` level, it’s likely they intend to tag all replicas, as each replica has its own `tags` property as well. This behavior also aligns with the related [construct documentation](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.TableV2.html#tags).

### Description of changes



- Enable tagging for `TableV2`
- If a tag key is defined in the replica `tags` properties, it will take precedence over the `TagAspect` for that key, as it is more specific.
- Keep the `tags` property behavior in `TableV2`
  - Update the description doc on it to reflect that it only applies to the default replica table

### Description of how you validated changes



- added new unit test cases
- deployed related integration test cases

### 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*
…to 3.0.1 (#32005)

Bumps [thollander/actions-comment-pull-request](https://github.com/thollander/actions-comment-pull-request) from 3.0.0 to 3.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/thollander/actions-comment-pull-request/releases">thollander/actions-comment-pull-request's releases</a>.</em></p>
<blockquote>
<h2>v3.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps-dev): bump <code>@​vercel/ncc</code> from 0.38.1 to 0.38.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/thollander/actions-comment-pull-request/pull/392">thollander/actions-comment-pull-request#392</a></li>
<li>chore(deps): bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/thollander/actions-comment-pull-request/pull/394">thollander/actions-comment-pull-request#394</a></li>
<li>chore(deps-dev): bump prettier from 3.2.5 to 3.3.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/thollander/actions-comment-pull-request/pull/393">thollander/actions-comment-pull-request#393</a></li>
<li>chore(deps): bump <code>@​actions/github</code> from 5.1.1 to 6.0.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/thollander/actions-comment-pull-request/pull/300">thollander/actions-comment-pull-request#300</a></li>
<li>fix: some wrong variables renaming by <a href="https://github.com/thollander"><code>@​thollander</code></a> in <a href="https://redirect.github.com/thollander/actions-comment-pull-request/pull/409">thollander/actions-comment-pull-request#409</a></li>
<li>chore: release 3.0.1 by <a href="https://github.com/thollander"><code>@​thollander</code></a> in <a href="https://redirect.github.com/thollander/actions-comment-pull-request/pull/410">thollander/actions-comment-pull-request#410</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/thollander/actions-comment-pull-request/compare/v3.0.0...v3.0.1">https://github.com/thollander/actions-comment-pull-request/compare/v3.0.0...v3.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/24bffb9b452ba05a4f3f77933840a6a841d1b32b"><code>24bffb9</code></a> Merge pull request <a href="https://redirect.github.com/thollander/actions-comment-pull-request/issues/410">#410</a> from thollander/chore/release-3.0.1</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/5fd7012952da104579abe39cd42e00b6c20d7d3b"><code>5fd7012</code></a> chore: release 3.0.1</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/a38b001579b2bd89ff01c9927793b8a8196f9ab9"><code>a38b001</code></a> Merge pull request <a href="https://redirect.github.com/thollander/actions-comment-pull-request/issues/409">#409</a> from thollander/fix/wrong-var-renaming</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/a11fbfe707d47a1bcbee412b88496301f7837330"><code>a11fbfe</code></a> fix: some wrong variables renaming</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/cb135190947de59b3e3a861db25ab140810b8699"><code>cb13519</code></a> Merge pull request <a href="https://redirect.github.com/thollander/actions-comment-pull-request/issues/300">#300</a> from thollander/dependabot/npm_and_yarn/actions/githu...</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/38af97b455a6a00de2272df200ed101b2a787df9"><code>38af97b</code></a> chore(deps): bump <code>@​actions/github</code> from 5.1.1 to 6.0.0</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/301a80eb13307b4e21ba654dd8eaf36598076566"><code>301a80e</code></a> Merge pull request <a href="https://redirect.github.com/thollander/actions-comment-pull-request/issues/393">#393</a> from thollander/dependabot/npm_and_yarn/prettier-3.3.3</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/64dcac73643bc871b4b765d2d661096107a9e134"><code>64dcac7</code></a> chore(deps-dev): bump prettier from 3.2.5 to 3.3.3</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/0a327d55ba7f1ca53cc16321616b224f89d63f05"><code>0a327d5</code></a> Merge pull request <a href="https://redirect.github.com/thollander/actions-comment-pull-request/issues/394">#394</a> from thollander/dependabot/npm_and_yarn/actions/core-...</li>
<li><a href="https://github.com/thollander/actions-comment-pull-request/commit/ece12bad81130dfb55ace22819e69921d4557c42"><code>ece12ba</code></a> Merge pull request <a href="https://redirect.github.com/thollander/actions-comment-pull-request/issues/392">#392</a> from thollander/dependabot/npm_and_yarn/vercel/ncc-0....</li>
<li>Additional commits viewable in <a href="https://github.com/thollander/actions-comment-pull-request/compare/e2c37e53a7d2227b61585343765f73a9ca57eda9...24bffb9b452ba05a4f3f77933840a6a841d1b32b">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thollander/actions-comment-pull-request&package-manager=github_actions&previous-version=3.0.0&new-version=3.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
This includes a bugfix that produces an error when optional properties are not declared in an abstract class.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Updates the L1 CloudFormation resource definitions with the latest changes from `@aws-cdk/aws-service-spec`

**L1 CloudFormation resource definition changes:**
```
├[~] service aws-appconfig
│ └ resources
│    └[~] resource AWS::AppConfig::DeploymentStrategy
│      └ types
│         └[~] type Tags
│           ├  - documentation: Metadata to assign to the deployment strategy. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
│           │  + documentation: undefined
│           └ properties
│              ├ Key: (documentation changed)
│              └ Value: (documentation changed)
├[~] service aws-appsync
│ └ resources
│    ├[+] resource AWS::AppSync::Api
│    │ ├  name: Api
│    │ │  cloudFormationType: AWS::AppSync::Api
│    │ │  documentation: Creates a `GraphqlApi` object.
│    │ │  tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│    │ ├ properties
│    │ │  ├Name: string (required)
│    │ │  ├OwnerContact: string
│    │ │  ├EventConfig: EventConfig
│    │ │  └Tags: Array<tag>
│    │ ├ attributes
│    │ │  ├ApiId: string
│    │ │  ├Dns: Map<string, string>
│    │ │  └ApiArn: string
│    │ └ types
│    │    ├type EventConfig
│    │    │├  documentation: The configuration for an Event Api
│    │    ││  name: EventConfig
│    │    │└ properties
│    │    │   ├AuthProviders: Array<AuthProvider> (required)
│    │    │   ├ConnectionAuthModes: Array<AuthMode> (required)
│    │    │   ├DefaultPublishAuthModes: Array<AuthMode> (required)
│    │    │   ├DefaultSubscribeAuthModes: Array<AuthMode> (required)
│    │    │   └LogConfig: EventLogConfig
│    │    ├type AuthProvider
│    │    │├  documentation: An auth provider for the AppSync API.
│    │    ││  name: AuthProvider
│    │    │└ properties
│    │    │   ├AuthType: string (required)
│    │    │   ├OpenIDConnectConfig: OpenIDConnectConfig
│    │    │   ├CognitoConfig: CognitoConfig
│    │    │   └LambdaAuthorizerConfig: LambdaAuthorizerConfig
│    │    ├type OpenIDConnectConfig
│    │    │├  documentation: Describes an OpenID Connect (OIDC) configuration.
│    │    ││  name: OpenIDConnectConfig
│    │    │└ properties
│    │    │   ├ClientId: string
│    │    │   ├AuthTTL: number
│    │    │   ├Issuer: string (required)
│    │    │   └IatTTL: number
│    │    ├type CognitoConfig
│    │    │├  documentation: Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.
│    │    ││  name: CognitoConfig
│    │    │└ properties
│    │    │   ├AppIdClientRegex: string
│    │    │   ├UserPoolId: string (required)
│    │    │   └AwsRegion: string (required)
│    │    ├type LambdaAuthorizerConfig
│    │    │├  documentation: A `LambdaAuthorizerConfig` specifies how to authorize AWS AppSync API access when using the `AWS_LAMBDA` authorizer mode. Be aware that an AWS AppSync API can have only one AWS Lambda authorizer configured at a time.
│    │    ││  name: LambdaAuthorizerConfig
│    │    │└ properties
│    │    │   ├AuthorizerResultTtlInSeconds: integer
│    │    │   ├AuthorizerUri: string (required)
│    │    │   └IdentityValidationExpression: string
│    │    ├type AuthMode
│    │    │├  documentation: An auth mode.
│    │    ││  name: AuthMode
│    │    │└ properties
│    │    │   └AuthType: string
│    │    └type EventLogConfig
│    │     ├  documentation: The log config for the AppSync API.
│    │     │  name: EventLogConfig
│    │     └ properties
│    │        ├LogLevel: string (required)
│    │        └CloudWatchLogsRoleArn: string (required)
│    └[+] resource AWS::AppSync::ChannelNamespace
│      ├  name: ChannelNamespace
│      │  cloudFormationType: AWS::AppSync::ChannelNamespace
│      │  documentation: Resource schema for AppSync ChannelNamespace
│      │  tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│      ├ properties
│      │  ├ApiId: string (required, immutable)
│      │  ├Name: string (required, immutable)
│      │  ├SubscribeAuthModes: Array<AuthMode>
│      │  ├PublishAuthModes: Array<AuthMode>
│      │  ├CodeHandlers: string
│      │  ├CodeS3Location: string
│      │  └Tags: Array<tag>
│      ├ attributes
│      │  └ChannelNamespaceArn: string
│      └ types
│         └type AuthMode
│          ├  documentation: An auth mode.
│          │  name: AuthMode
│          └ properties
│             └AuthType: string
├[~] service aws-backup
│ └ resources
│    ├[~] resource AWS::Backup::LogicallyAirGappedBackupVault
│    │ ├ properties
│    │ │  ├ AccessPolicy: (documentation changed)
│    │ │  ├ BackupVaultName: (documentation changed)
│    │ │  ├ BackupVaultTags: (documentation changed)
│    │ │  ├ MaxRetentionDays: (documentation changed)
│    │ │  ├ MinRetentionDays: (documentation changed)
│    │ │  ├ Notifications: (documentation changed)
│    │ │  ├ VaultState: (documentation changed)
│    │ │  └ VaultType: (documentation changed)
│    │ └ types
│    │    └[~] type NotificationObjectType
│    │      └ properties
│    │         ├ BackupVaultEvents: (documentation changed)
│    │         └ SNSTopicArn: (documentation changed)
│    └[~] resource AWS::Backup::RestoreTestingPlan
│      └ properties
│         └ ScheduleStatus: (documentation changed)
├[~] service aws-bedrock
│ └ resources
│    ├[+] resource AWS::Bedrock::ApplicationInferenceProfile
│    │ ├  name: ApplicationInferenceProfile
│    │ │  cloudFormationType: AWS::Bedrock::ApplicationInferenceProfile
│    │ │  documentation: Definition of AWS::Bedrock::ApplicationInferenceProfile Resource Type
│    │ │  tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│    │ ├ properties
│    │ │  ├Description: string (immutable)
│    │ │  ├InferenceProfileName: string (required, immutable)
│    │ │  ├ModelSource: InferenceProfileModelSource (immutable)
│    │ │  └Tags: Array<tag>
│    │ ├ attributes
│    │ │  ├Models: Array<InferenceProfileModel>
│    │ │  ├InferenceProfileArn: string
│    │ │  ├InferenceProfileId: string
│    │ │  ├InferenceProfileIdentifier: string
│    │ │  ├Status: string
│    │ │  ├Type: string
│    │ │  ├CreatedAt: string
│    │ │  └UpdatedAt: string
│    │ └ types
│    │    ├type InferenceProfileModelSource
│    │    │├  documentation: Various ways to encode a list of models in a CreateInferenceProfile request
│    │    ││  name: InferenceProfileModelSource
│    │    │└ properties
│    │    │   └CopyFrom: string (required)
│    │    └type InferenceProfileModel
│    │     ├  documentation: Model configuration
│    │     │  name: InferenceProfileModel
│    │     └ properties
│    │        └ModelArn: string
│    ├[~] resource AWS::Bedrock::Flow
│    │ └ types
│    │    ├[+] type GuardrailConfiguration
│    │    │ ├  documentation: Configuration information for a guardrail that you use with the [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) operation.
│    │    │ │  name: GuardrailConfiguration
│    │    │ └ properties
│    │    │    ├GuardrailIdentifier: string
│    │    │    └GuardrailVersion: string
│    │    ├[~] type KnowledgeBaseFlowNodeConfiguration
│    │    │ └ properties
│    │    │    └[+] GuardrailConfiguration: GuardrailConfiguration
│    │    ├[~] type PromptFlowNodeConfiguration
│    │    │ └ properties
│    │    │    └[+] GuardrailConfiguration: GuardrailConfiguration
│    │    └[~] type PromptModelInferenceConfiguration
│    │      └ properties
│    │         └[-] TopK: number
│    ├[~] resource AWS::Bedrock::FlowVersion
│    │ └ types
│    │    ├[+] type GuardrailConfiguration
│    │    │ ├  documentation: Configuration information for a guardrail that you use with the [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) operation.
│    │    │ │  name: GuardrailConfiguration
│    │    │ └ properties
│    │    │    ├GuardrailIdentifier: string
│    │    │    └GuardrailVersion: string
│    │    ├[~] type KnowledgeBaseFlowNodeConfiguration
│    │    │ └ properties
│    │    │    └[+] GuardrailConfiguration: GuardrailConfiguration
│    │    ├[~] type PromptFlowNodeConfiguration
│    │    │ └ properties
│    │    │    └[+] GuardrailConfiguration: GuardrailConfiguration
│    │    └[~] type PromptModelInferenceConfiguration
│    │      └ properties
│    │         └[-] TopK: number
│    ├[~] resource AWS::Bedrock::Prompt
│    │ └ types
│    │    ├[~] type PromptModelInferenceConfiguration
│    │    │ └ properties
│    │    │    └[-] TopK: number
│    │    └[~] type PromptVariant
│    │      └ properties
│    │         └ TemplateConfiguration: - PromptTemplateConfiguration
│    │                                  + PromptTemplateConfiguration (required)
│    └[~] resource AWS::Bedrock::PromptVersion
│      ├ properties
│      │  └ Tags: - Map<string, string>
│      │          + Map<string, string> (immutable)
│      └ types
│         ├[~] type PromptModelInferenceConfiguration
│         │ └ properties
│         │    └[-] TopK: number
│         └[~] type PromptVariant
│           └ properties
│              └ TemplateConfiguration: - PromptTemplateConfiguration
│                                       + PromptTemplateConfiguration (required)
├[~] service aws-codepipeline
│ └ resources
│    └[~] resource AWS::CodePipeline::Pipeline
│      └ types
│         ├[~] type FailureConditions
│         │ └ properties
│         │    └[+] RetryConfiguration: RetryConfiguration
│         └[+] type RetryConfiguration
│           ├  documentation: The retry configuration specifies automatic retry for a failed stage, along with the configured retry mode.
│           │  name: RetryConfiguration
│           └ properties
│              └RetryMode: string
├[~] service aws-codestar
│ └ resources
│    └[~] resource AWS::CodeStar::GitHubRepository
│      └  - documentation: The `AWS::CodeStar::GitHubRepository` resource creates a GitHub repository where users can store source code for use with AWS workflows. You must provide a location for the source code ZIP file in the AWS CloudFormation template, so the code can be uploaded to the created repository. You must have created a personal access token in GitHub to provide in the AWS CloudFormation template. AWS uses this token to connect to GitHub on your behalf. For more information about using a GitHub source repository with AWS CodeStar projects, see [AWS CodeStar Project Files and Resources](https://docs.aws.amazon.com/codestar/latest/userguide/templates.html#templates-whatis) .
│         + documentation: The `AWS::CodeStar::GitHubRepository` resource creates a GitHub repository where users can store source code for use with AWS workflows. You must provide a location for the source code ZIP file in the AWS CloudFormation template, so the code can be uploaded to the created repository. You must have created a personal access token in GitHub to provide in the AWS CloudFormation template. AWS uses this token to connect to GitHub on your behalf.
├[~] service aws-cognito
│ └ resources
│    └[~] resource AWS::Cognito::UserPoolIdentityProvider
│      └ attributes
│         └[-] Id: string
├[~] service aws-connect
│ └ resources
│    └[~] resource AWS::Connect::User
│      └ types
│         └[~] type UserIdentityInfo
│           └  - documentation: Contains information about the identity of a user.
│              > For Amazon Connect instances that are created with the `EXISTING_DIRECTORY` identity management type, `FirstName` , `LastName` , and `Email` cannot be updated from within Amazon Connect because they are managed by the directory.
│              + documentation: Contains information about the identity of a user.
│              > For Amazon Connect instances that are created with the `EXISTING_DIRECTORY` identity management type, `FirstName` , `LastName` , and `Email` cannot be updated from within Amazon Connect because they are managed by the directory. > The `FirstName` and `LastName` length constraints below apply only to instances using SAML for identity management. If you are using Amazon Connect for identity management, the length constraints are 1-255 for `FirstName` , and 1-256 for `LastName` .
├[~] service aws-datasync
│ └ resources
│    └[~] resource AWS::DataSync::Task
│      └ properties
│         ├ CloudWatchLogGroupArn: (documentation changed)
│         └ Includes: (documentation changed)
├[~] service aws-devopsguru
│ └ resources
│    └[~] resource AWS::DevOpsGuru::ResourceCollection
│      └ types
│         └[~] type TagCollection
│           └ properties
│              └ AppBoundaryKey: (documentation changed)
├[~] service aws-dms
│ └ resources
│    └[+] resource AWS::DMS::DataMigration
│      ├  name: DataMigration
│      │  cloudFormationType: AWS::DMS::DataMigration
│      │  documentation: This object provides information about a AWS DMS data migration.
│      │  tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│      ├ properties
│      │  ├DataMigrationName: string
│      │  ├DataMigrationIdentifier: string
│      │  ├ServiceAccessRoleArn: string (required)
│      │  ├MigrationProjectIdentifier: string (required)
│      │  ├DataMigrationType: string (required)
│      │  ├DataMigrationSettings: DataMigrationSettings
│      │  ├SourceDataSettings: Array<SourceDataSettings>
│      │  └Tags: Array<tag>
│      ├ attributes
│      │  ├DataMigrationArn: string
│      │  └DataMigrationCreateTime: string
│      └ types
│         ├type DataMigrationSettings
│         │├  documentation: Options for configuring a data migration, including whether to enable CloudWatch logs, and the selection rules to use to include or exclude database objects from the migration.
│         ││  name: DataMigrationSettings
│         │└ properties
│         │   ├CloudwatchLogsEnabled: boolean
│         │   ├NumberOfJobs: integer
│         │   └SelectionRules: string
│         └type SourceDataSettings
│          ├  name: SourceDataSettings
│          └ properties
│             ├CDCStartPosition: string
│             ├CDCStartTime: string
│             ├CDCStopTime: string
│             └SlotName: string
├[~] service aws-ec2
│ └ resources
│    ├[~] resource AWS::EC2::EIP
│    │ └ properties
│    │    └ Address: (documentation changed)
│    └[~] resource AWS::EC2::LaunchTemplate
│      └ types
│         └[~] type NetworkInterface
│           └ properties
│              └ InterfaceType: (documentation changed)
├[~] service aws-ecs
│ └ resources
│    ├[~] resource AWS::ECS::CapacityProvider
│    │ └ types
│    │    └[~] type ManagedScaling
│    │      └ properties
│    │         └ MinimumScalingStepSize: (documentation changed)
│    ├[~] resource AWS::ECS::Service
│    │ ├ properties
│    │ │  └ DeploymentConfiguration: (documentation changed)
│    │ └ types
│    │    ├[~] type DeploymentConfiguration
│    │    │ └  - documentation: Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.
│    │    │    + documentation: Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods.
│    │    ├[~] type LoadBalancer
│    │    │ └ properties
│    │    │    └ LoadBalancerName: (documentation changed)
│    │    └[~] type ServiceManagedEBSVolumeConfiguration
│    │      ├  - documentation: The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.
│    │      │  Many of these parameters map 1:1 with the Amazon EBS `CreateVolume` API request parameters.
│    │      │  + documentation: The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. For information about the supported launch types and operating systems, see [Supported operating systems and launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volumes-configuration) in the *Amazon Elastic Container Service Developer Guide* .
│    │      │  Many of these parameters map 1:1 with the Amazon EBS `CreateVolume` API request parameters.
│    │      └ properties
│    │         └ FilesystemType: (documentation changed)
│    └[~] resource AWS::ECS::TaskDefinition
│      ├ properties
│      │  ├ IpcMode: (documentation changed)
│      │  ├ NetworkMode: (documentation changed)
│      │  └ PidMode: (documentation changed)
│      └ types
│         ├[~] type HealthCheck
│         │ └ properties
│         │    └ Command: (documentation changed)
│         ├[~] type PortMapping
│         │ └ properties
│         │    └ ContainerPort: (documentation changed)
│         └[~] type RuntimePlatform
│           └ properties
│              ├ CpuArchitecture: (documentation changed)
│              └ OperatingSystemFamily: (documentation changed)
├[~] service aws-elasticache
│ └ resources
│    ├[~] resource AWS::ElastiCache::GlobalReplicationGroup
│    │ └ properties
│    │    └ Engine: (documentation changed)
│    └[~] resource AWS::ElastiCache::ReplicationGroup
│      └ properties
│         └ Engine: (documentation changed)
├[~] service aws-emrserverless
│ └ resources
│    └[~] resource AWS::EMRServerless::Application
│      └ types
│         ├[~] type AutoStartConfiguration
│         │ ├  - documentation: Configuration for Auto Start of Application
│         │ │  + documentation: The configuration for an application to automatically start on job submission.
│         │ └ properties
│         │    └ Enabled: (documentation changed)
│         ├[~] type AutoStopConfiguration
│         │ ├  - documentation: Configuration for Auto Stop of Application
│         │ │  + documentation: The configuration for an application to automatically stop after a certain amount of time being idle.
│         │ └ properties
│         │    ├ Enabled: (documentation changed)
│         │    └ IdleTimeoutMinutes: (documentation changed)
│         ├[~] type ConfigurationObject
│         │ ├  - documentation: Configuration for a JobRun.
│         │ │  + documentation: A configuration specification to be used when provisioning an application. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file.
│         │ └ properties
│         │    ├ Classification: (documentation changed)
│         │    ├ Configurations: (documentation changed)
│         │    └ Properties: (documentation changed)
│         ├[~] type MonitoringConfiguration
│         │ └  - documentation: The configuration setting for monitoring.
│         │    + documentation: The configuration setting for monitoring logs.
│         └[~] type WorkerConfiguration
│           ├  - documentation: undefined
│           │  + documentation: The configuration of a worker. For more information, see [Supported worker configurations](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/app-behavior.html#worker-configs) .
│           └ properties
│              ├ Cpu: (documentation changed)
│              ├ Disk: (documentation changed)
│              ├ DiskType: (documentation changed)
│              └ Memory: (documentation changed)
├[~] service aws-events
│ └ resources
│    └[~] resource AWS::Events::Connection
│      └ properties
│         ├ AuthorizationType: - string (required)
│         │                    + string
│         └ AuthParameters: - AuthParameters (required)
│                           + AuthParameters
├[~] service aws-lambda
│ └ resources
│    └[~] resource AWS::Lambda::Function
│      └ types
│         └[~] type Environment
│           └ properties
│              └ Variables: (documentation changed)
├[~] service aws-m2
│ └ resources
│    └[~] resource AWS::M2::Application
│      └ properties
│         └ Definition: - Definition (required)
│                       + Definition
├[~] service aws-mediapackagev2
│ └ resources
│    └[~] resource AWS::MediaPackageV2::OriginEndpoint
│      └ types
│         ├[~] type FilterConfiguration
│         │ └ properties
│         │    └[+] ClipStartTime: string
│         ├[~] type HlsManifestConfiguration
│         │ └ properties
│         │    └[+] StartTag: StartTag
│         ├[~] type LowLatencyHlsManifestConfiguration
│         │ └ properties
│         │    └[+] StartTag: StartTag
│         └[+] type StartTag
│           ├  documentation: To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset. When you do, you can also optionally specify whether to include a PRECISE value in the EXT-X-START tag.
│           │  name: StartTag
│           └ properties
│              ├TimeOffset: number (required)
│              └Precise: boolean
├[~] service aws-networkfirewall
│ └ resources
│    └[~] resource AWS::NetworkFirewall::FirewallPolicy
│      └ types
│         ├[~] type FlowTimeouts
│         │ ├  - documentation: undefined
│         │ │  + documentation: Describes the amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle and Network Firewall removes the flow entry from its flow table. Existing connections and flows are not impacted when you update this value. Only new connections after you update this value are impacted.
│         │ └ properties
│         │    └ TcpIdleTimeoutSeconds: (documentation changed)
│         └[~] type StatefulEngineOptions
│           └ properties
│              └ FlowTimeouts: (documentation changed)
├[~] service aws-opensearchservice
│ └ resources
│    ├[+] resource AWS::OpenSearchService::Application
│    │ ├  name: Application
│    │ │  cloudFormationType: AWS::OpenSearchService::Application
│    │ │  documentation: Creates an OpenSearch Application.
│    │ │  tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│    │ ├ properties
│    │ │  ├IamIdentityCenterOptions: IamIdentityCenterOptions
│    │ │  ├Name: string (required, immutable)
│    │ │  ├Endpoint: string
│    │ │  ├AppConfigs: Array<AppConfig>
│    │ │  ├DataSources: Array<DataSource>
│    │ │  └Tags: Array<tag>
│    │ ├ attributes
│    │ │  ├Id: string
│    │ │  └Arn: string
│    │ └ types
│    │    ├type IamIdentityCenterOptions
│    │    │├  documentation: Settings for IAM Identity Center for an OpenSearch Application.
│    │    ││  name: IamIdentityCenterOptions
│    │    │└ properties
│    │    │   ├Enabled: boolean
│    │    │   ├IamIdentityCenterInstanceArn: string
│    │    │   └IamRoleForIdentityCenterApplicationArn: string
│    │    ├type AppConfig
│    │    │├  documentation: Configurations of the OpenSearch Application.
│    │    ││  name: AppConfig
│    │    │└ properties
│    │    │   ├Key: string (required)
│    │    │   └Value: string (required)
│    │    └type DataSource
│    │     ├  documentation: Data sources that are associated with an OpenSearch Application.
│    │     │  name: DataSource
│    │     └ properties
│    │        ├DataSourceArn: string (required)
│    │        └DataSourceDescription: string
│    └[~] resource AWS::OpenSearchService::Domain
│      ├ properties
│      │  └[+] IdentityCenterOptions: IdentityCenterOptions
│      ├ attributes
│      │  ├[+] IdentityCenterOptions.IdentityCenterApplicationARN: string
│      │  └[+] IdentityCenterOptions.IdentityStoreId: string
│      └ types
│         └[+] type IdentityCenterOptions
│           ├  documentation: Container for IAM Identity Center Options settings.
│           │  name: IdentityCenterOptions
│           └ properties
│              ├EnabledAPIAccess: boolean
│              ├IdentityCenterInstanceARN: string
│              ├SubjectKey: string
│              ├RolesKey: string
│              ├IdentityCenterApplicationARN: string
│              └IdentityStoreId: string
├[~] service aws-qbusiness
│ └ resources
│    └[~] resource AWS::QBusiness::Application
│      └  - documentation: Creates an Amazon Q Business application.
│         > There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see [Amazon Q Business tiers](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/tiers.html#user-sub-tiers) . You must use the Amazon Q Business console to assign subscription tiers to users.
│         + documentation: Creates an Amazon Q Business application.
│         > There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see [Amazon Q Business tiers](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/tiers.html#user-sub-tiers) . You must use the Amazon Q Business console to assign subscription tiers to users.
│         > 
│         > A Amazon Q Apps service linked role will be created if it's absent in the AWS account when the QAppsConfiguration is enabled in the request. For more information, see [Using service-linked roles for Q Apps](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles-qapps.html)
├[~] service aws-route53
│ └ resources
│    ├[~] resource AWS::Route53::RecordSet
│    │ ├ properties
│    │ │  └ Type: (documentation changed)
│    │ └ types
│    │    └[~] type AliasTarget
│    │      └ properties
│    │         └ EvaluateTargetHealth: - boolean (default=false)
│    │                                 + boolean
│    └[~] resource AWS::Route53::RecordSetGroup
│      └ types
│         └[~] type RecordSet
│           └ properties
│              └ Type: (documentation changed)
├[~] service aws-sagemaker
│ └ resources
│    ├[~] resource AWS::SageMaker::Domain
│    │ ├ properties
│    │ │  └ DefaultSpaceSettings: (documentation changed)
│    │ └ types
│    │    ├[~] type DefaultSpaceSettings
│    │    │ └  - documentation: A collection of settings that apply to spaces created in the domain.
│    │    │    + documentation: The default settings for shared spaces that users create in the domain.
│    │    │    SageMaker applies these settings only to shared spaces. It doesn't apply them to private spaces.
│    │    ├[~] type DomainSettings
│    │    │ └ properties
│    │    │    └ ExecutionRoleIdentityConfig: (documentation changed)
│    │    └[~] type UserSettings
│    │      └ properties
│    │         ├ CodeEditorAppSettings: (documentation changed)
│    │         ├ CustomFileSystemConfigs: (documentation changed)
│    │         ├ CustomPosixUserConfig: (documentation changed)
│    │         ├ ExecutionRole: (documentation changed)
│    │         ├ JupyterLabAppSettings: (documentation changed)
│    │         ├ SecurityGroups: (documentation changed)
│    │         └ SpaceStorageSettings: (documentation changed)
│    ├[~] resource AWS::SageMaker::Endpoint
│    ├[~] resource AWS::SageMaker::StudioLifecycleConfig
│    │ └ properties
│    │    ├ StudioLifecycleConfigContent: (documentation changed)
│    │    └ Tags: (documentation changed)
│    └[~] resource AWS::SageMaker::UserProfile
│      └ types
│         └[~] type UserSettings
│           └ properties
│              ├ CodeEditorAppSettings: (documentation changed)
│              ├ CustomFileSystemConfigs: (documentation changed)
│              ├ CustomPosixUserConfig: (documentation changed)
│              ├ ExecutionRole: (documentation changed)
│              ├ JupyterLabAppSettings: (documentation changed)
│              ├ SecurityGroups: (documentation changed)
│              └ SpaceStorageSettings: (documentation changed)
├[~] service aws-secretsmanager
│ └ resources
│    ├[~] resource AWS::SecretsManager::RotationSchedule
│    │ └ attributes
│    │    └ Id: (documentation changed)
│    └[~] resource AWS::SecretsManager::SecretTargetAttachment
│      └ properties
│         └ SecretId: - string (required)
│                     + string (required, immutable)
├[~] service aws-ses
│ └ resources
│    └[~] resource AWS::SES::ConfigurationSet
│      └ types
│         └[~] type DeliveryOptions
│           └ properties
│              └[+] MaxDeliverySeconds: number
├[~] service aws-timestream
│ └ resources
│    └[~] resource AWS::Timestream::InfluxDBInstance
│      └ properties
│         └[+] Port: integer
├[~] service aws-wafv2
│ └ resources
│    ├[~] resource AWS::WAFv2::IPSet
│    │ └  - tagInformation: undefined
│    │    + tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│    ├[~] resource AWS::WAFv2::RegexPatternSet
│    │ └  - tagInformation: undefined
│    │    + tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│    ├[~] resource AWS::WAFv2::RuleGroup
│    │ └  - tagInformation: undefined
│    │    + tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│    └[~] resource AWS::WAFv2::WebACL
│      └  - tagInformation: undefined
│         + tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
└[~] service aws-wisdom
  └ resources
     ├[+] resource AWS::Wisdom::AIAgent
     │ ├  name: AIAgent
     │ │  cloudFormationType: AWS::Wisdom::AIAgent
     │ │  documentation: Definition of AWS::Wisdom::AIAgent Resource Type
     │ │  tagInformation: {"tagPropertyName":"Tags","variant":"map"}
     │ ├ properties
     │ │  ├AssistantId: string (required, immutable)
     │ │  ├Configuration: AIAgentConfiguration (required)
     │ │  ├Description: string
     │ │  ├Name: string (immutable)
     │ │  ├Tags: Map<string, string> (immutable)
     │ │  └Type: string (required, immutable)
     │ ├ attributes
     │ │  ├AIAgentArn: string
     │ │  ├AIAgentId: string
     │ │  └AssistantArn: string
     │ └ types
     │    ├type AIAgentConfiguration
     │    │├  name: AIAgentConfiguration
     │    │└ properties
     │    │   ├ManualSearchAIAgentConfiguration: ManualSearchAIAgentConfiguration
     │    │   └AnswerRecommendationAIAgentConfiguration: AnswerRecommendationAIAgentConfiguration
     │    ├type ManualSearchAIAgentConfiguration
     │    │├  name: ManualSearchAIAgentConfiguration
     │    │└ properties
     │    │   ├AnswerGenerationAIPromptId: string
     │    │   └AssociationConfigurations: Array<AssociationConfiguration>
     │    ├type AssociationConfiguration
     │    │├  name: AssociationConfiguration
     │    │└ properties
     │    │   ├AssociationId: string
     │    │   ├AssociationType: string
     │    │   └AssociationConfigurationData: AssociationConfigurationData
     │    ├type AssociationConfigurationData
     │    │├  name: AssociationConfigurationData
     │    │└ properties
     │    │   └KnowledgeBaseAssociationConfigurationData: KnowledgeBaseAssociationConfigurationData (required)
     │    ├type KnowledgeBaseAssociationConfigurationData
     │    │├  name: KnowledgeBaseAssociationConfigurationData
     │    │└ properties
     │    │   ├ContentTagFilter: TagFilter
     │    │   ├MaxResults: number
     │    │   └OverrideKnowledgeBaseSearchType: string
     │    ├type TagFilter
     │    │├  name: TagFilter
     │    │└ properties
     │    │   ├TagCondition: TagCondition
     │    │   ├AndConditions: Array<TagCondition>
     │    │   └OrConditions: Array<OrCondition>
     │    ├type TagCondition
     │    │├  name: TagCondition
     │    │└ properties
     │    │   ├Key: string (required)
     │    │   └Value: string
     │    ├type OrCondition
     │    │├  name: OrCondition
     │    │└ properties
     │    │   ├AndConditions: Array<TagCondition>
     │    │   └TagCondition: TagCondition
     │    └type AnswerRecommendationAIAgentConfiguration
     │     ├  name: AnswerRecommendationAIAgentConfiguration
     │     └ properties
     │        ├IntentLabelingGenerationAIPromptId: string
     │        ├QueryReformulationAIPromptId: string
     │        ├AnswerGenerationAIPromptId: string
     │        └AssociationConfigurations: Array<AssociationConfiguration>
     └[+] resource AWS::Wisdom::AIPromptVersion
       ├  name: AIPromptVersion
       │  cloudFormationType: AWS::Wisdom::AIPromptVersion
       │  documentation: Definition of AWS::Wisdom::AIPromptVersion Resource Type
       ├ properties
       │  ├AIPromptId: string (required, immutable)
       │  ├AssistantId: string (required, immutable)
       │  └ModifiedTimeSeconds: number (immutable)
       └ attributes
          ├AIPromptArn: string
          ├AIPromptVersionId: string
          ├AssistantArn: string
          └VersionNumber: number
```
### Issue # (if applicable)

Closes #31826 

### Reason for this change

[Job](https://docs.aws.amazon.com/cdk/api/v2/docs/@aws-cdk_aws-glue-alpha.Job.html) within [@aws-cdk/aws-glue-alpha](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-glue-alpha-readme.html) does not currently include the [jobRunQueuingEnabled](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_glue.CfnJob.html#jobrunqueuingenabled) property of the [CfnJob](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_glue.CfnJob.html) within [aws-cdk-lib/aws-glue](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_glue-readme.html). Setting this property currently requires a [raw override](https://docs.aws.amazon.com/cdk/v2/guide/cfn_layer.html#develop-customize-override).

### Description of changes

Added `jobRunQueuingEnabled` to construction properties for `Job`, along with validation that this is not enabled when execution class is flexible and/or `maxRetries` exceeds zero  ([see](https://aws.amazon.com/blogs/big-data/introducing-job-queuing-to-scale-your-aws-glue-workloads/)).

### Description of how you validated changes

Unit tests and an integration 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*
### Issue # (if applicable)

None

### Reason for this change

The generated document is broken due to an incorrect format.

```ts
@see https://example.com Some redundant phrases
```

<img width="1398" alt="スクリーンショット 2024-11-02 20 00 25" src="https://github.com/user-attachments/assets/b29dc368-c44f-4f2b-a95b-9e2651f96ef1">

### Description of changes

Remove redundant description.

### 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*
Minor updates to how `cdk gc` is presented in docs, specifically with regards to the `--unstable` flag.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Description of changes

This generated weekly report is no longer useful so removing the workflow that creates it. 
### 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*
…ation encryption setting (#32016)

### Description of changes

Clarify in the README that the default encryption for the destination is disabled but that it uses the default encryption setting of the destination S3 bucket. 

### 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*
Add a new foundation model.

Ref: [Anthropic’s Claude 3.5 Haiku model now available in Amazon Bedrock](https://aws.amazon.com/about-aws/whats-new/2024/11/anthropics-claude-3-5-haiku-model-amazon-bedrock/)

```sh
% aws bedrock get-foundation-model --model-identifier anthropic.claude-3-5-haiku-20241022-v1:0 --region us-west-2
{
    "modelDetails": {
        "modelArn": "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-haiku-20241022-v1:0",
        "modelId": "anthropic.claude-3-5-haiku-20241022-v1:0",
        "modelName": "Claude 3.5 Haiku",
        "providerName": "Anthropic",
// omit
```

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

### Reason for this change
`prune` and `destinationKeyPrefix` properties documentation is not super clear for users. Adding more details to behaviors when setting/unsetting the property.

### Description of changes



### 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*
Make `node-bundle` easier to test (in-process instead of using a subcommand that requires `.js` to have been compiled), and fix a bug in the tests that used `--license` instead of `--allowed-license` (configure `yargs` to be `strict`).

----

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

N/A

### Reason for this change

We'd like to create a programmatic interface to the CDK Toolkit. A bonus of this overhaul is moving to a single source of truth for both the programmatic interface to the CDK Toolkit and the command line interface to the CDK Toolkit. This PR generates the existing `yargs` configuration from a TS configuration. In the long term, we'd generate the `yargs` configuration purely from the programmatic interface to the Toolkit, but this is an improvement with less effort. 

### Description of changes

Creates a new package, `@aws-cdk/yargs-gen`, which generates our `yargs` configuration from a `CliConfig` defined in `aws-cdk/config.ts` using `@cdklabs/typewriter`. 

### Description of how you validated changes

N/A yet. 

### 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*
mrgrain and others added 14 commits November 5, 2024 13:46
### Reason for this change

Fixes some small issues that got missed before #31850 was unintentionally merged too early.

### Description of changes

* re-add support for `CDK_` env variables
* remove square bracktes when commands don't have an alias
* remove extra space in command args
* fixed `demandCommand` call

### Description of how you validated changes

Run via tests, compared manually with cli options before we started to generate them.

### 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*
If a user is deploying with `--no-rollback`, and the stack contains replacements (or the `--no-rollback` flag is dropped), then a rollback needs to be performed before a regular deployment can happen again.

In this PR, we add a prompt where we ask the user to confirm that they are okay with performing a rollback and then a normal deployment.

The way this works is that `deployStack` detects a disallowed combination (replacement and no-rollback, or being in a stuck state and not being called with no-rollback), and returns a special status code. The driver of the calls, `CdkToolkit`, will see those special return codes, prompt the user, and retry.

Also get rid of a stray `Stack undefined` that gets printed to the console.

Closes #30546, Closes #31685

----

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

### Reason for this change



The following is the code in the `Template` constructor in the assertions module:

```ts
    if (!templateParsingOptions?.skipCyclicalDependenciesCheck ?? true) {
      checkTemplateForCyclicDependencies(this.template);
    }
```

However, since the left operand (`!templateParsingOptions?.skipCyclicalDependenciesCheck`) is never undefined (null), the right operand (`?? true`) should not be needed. And the `templateParsingOptions` is not optional arg.

### Description of changes



```diff
-    if (!templateParsingOptions?.skipCyclicalDependenciesCheck ?? true) {
+    if (!templateParsingOptions.skipCyclicalDependenciesCheck) {
      checkTemplateForCyclicDependencies(this.template);
    }
```

### Description of how you validated changes



A 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*
### Issue # (if applicable)

None

### Reason for this change

Cost optimization hub interface VPC endpoint is not supported by AWS CDK.

### Description of changes

Add cost optimization hub interface VPC endpoint.

### Description of how you validated changes

```sh
aws ec2 describe-vpc-endpoint-services --filters Name=service-type,Values=Interface Name=owner,Values=amazon --region us-east-1 --query ServiceNames | grep cost-optimization-hub
    "com.amazonaws.us-east-1.cost-optimization-hub",
```

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

Include @saiyush to list of core contributors.

### Description of how you validated changes

Copy-pasted the username verbatim.

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



- add myself `5d` to contributor list

### Description of changes


- add github user `5d` to contributor list

### 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*
small changes to README before developer preview, mostly formatting and some grammar fixes

----

*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



### Description of changes



### Description of how you validated changes



### Checklist
- [ ] 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)

No issue

### Reason for this change

There is a new runtime that was published. [syn-nodejs-puppeteer-9.1](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_puppeteer.html#CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-9.1)

### Description of changes

Just adding the new runtime.

### Description of how you validated changes

Against documentation and updating that the template deploys with the new runtime version.

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

n/A

### Description of changes

Fix invalid anchor links in [DESIGN_GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md).


### 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*
…onstruct. (#30197)

### Issue # (if applicable)

Closes #30190.

### Reason for this change
To select encryption options.



### Description of changes
Add `artifactS3Encryption` property to the Canary Construct.



### Description of how you validated changes
Add unit tests 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)

tracking issue: #31785 

### Reason for this change

Satisfy 90% unit test coverage required for developer preview (see https://github.com/cdklabs/team-internal/blob/main/docs/construct-library-lifecycle.md#exit-criteria-1)

### Description of changes

Added parameterized unit tests for metric methods

Previous coverage summary:
```
=============================== Coverage summary ===============================
Statements   : 83.06% ( 103/124 )
Branches     : 76.19% ( 32/42 )
Functions    : 70.9% ( 39/55 )
Lines        : 83.47% ( 101/121 )
================================================================================
```
Current coverage summary:

```
=============================== Coverage summary ===============================
Statements   : 95.16% ( 118/124 )
Branches     : 83.33% ( 35/42 )
Functions    : 96.36% ( 53/55 )
Lines        : 95.86% ( 116/121 )
================================================================================
```

### Description of how you validated changes

Unit tests pass

### 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 #31457, we introduced a change that made synthesis fail if one of the stack tags was a deploy-time value. Since stack tags are assigned outside a CloudFormation context, deploy-time values cannot be evaluated, so the stack ends up with a tag like `{ Key: "my-tag", Value: "${Token[1234]}" }`, which is probably not what is intended.

Worse, those tags are automatically propagated to all resources in the stack by CloudFormation, and some may validate the tag value and find that `$` or any of the other characters are not valid tag values.

The intent was that customers would be alerted to these kinds of mistakes and apply their tags to resources, or skip stacks when applying tags to large scopes:

```ts
Tags.of(this).add('my-tag', Fn.importValue('SomeExport'), {
  excludeResourceTypes: ['aws:cdk:stack'],
});
```

The previous change was a bit drastic in its attempts.  In this one we ignore the unresolved tags and add a warning instead. That way, synthesis still succeeds.

Closes #32040.

----

*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 added auto-approve pr/no-squash This PR should be merged instead of squash-merging it labels Nov 6, 2024
@aws-cdk-automation aws-cdk-automation requested a review from a team November 6, 2024 21:58
@aws-cdk-automation
Copy link
Collaborator Author

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 33985eb
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Copy link
Contributor

mergify bot commented Nov 6, 2024

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

@mergify mergify bot merged commit 7bb9203 into v2-release Nov 6, 2024
25 of 26 checks passed
@mergify mergify bot deleted the bump/2.166.0 branch November 6, 2024 22:28
Copy link

github-actions bot commented Nov 6, 2024

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 Nov 6, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-approve p2 pr/no-squash This PR should be merged instead of squash-merging it
Projects
None yet
Development

Successfully merging this pull request may close these issues.