Skip to content

chore(release): 2.247.0#37497

Merged
mergify[bot] merged 19 commits intov2-releasefrom
bump/2.247.0
Apr 2, 2026
Merged

chore(release): 2.247.0#37497
mergify[bot] merged 19 commits intov2-releasefrom
bump/2.247.0

Conversation

@aws-cdk-automation
Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation commented Apr 2, 2026

See CHANGELOG

syukawa-gh and others added 17 commits March 31, 2026 08:32
### Reason for this change

Fix various misspellings in JSDoc comments and code comments.

### Description of changes

- `supress`/`Supresses` → `suppress`/`Suppresses` (aws-autoscaling)
- `attatched` → `attached` (aws-stepfunctions-tasks)
- `attched` → `attached` (aws-ecs)
- `Specifiying` → `Specifying` (aws-ec2)
- `acccount` → `account` (aws-apigateway)

### Description of how you validated changes

Comment-only changes. No functional impact.

### 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)
To go with our changes in aws/aws-cdk-cli#1294:

We can no longer scan `stderr` to find the actual terminating error code. Best we can do then is guess that it is probably the most recently thrown error. We will therefore replace the file on every new `Error` creation, leaving the last error to be found there if the subprocess happens to exit with an error code.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
We have concerns that future maintainers may accidentally pass message strings with interpolated variables where error codes are expected.

To prevent that, introduce a new type `LiteralString`, with only possible way of obtaining one:

```ts
const x: LiteralString = lit`this does not have variables`;
```

Any attempt to use variables inside this string throws an error at runtime, so code that does that can never execute.

Then update all locations in which we expect error codes to take `LiteralString`s.

----

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

We take efforts to condense a construct library stack trace to make it more comprehensible. 

This PR fixes two issues with the current approach:

- Only the first part of a namespaced package name would be captured
- The stack trace looks confusing if it's too short to contain user code.

Old:

```
    ...aws-cdk-lib, @aws-cdk...
```

New:

```
    ...aws-cdk-lib, @aws-cdk/aws-lambda-python-alpha...
    (no user code in 10 frames, use --stack-trace-limit to capture more)
```

----

*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

New L2 Construct for AWS Elemental MediaPackage V2.

### Description of changes

Implements AWS Elemental MediaPackage V2 L2 constructs (inc. Channel Group, Channel, Origin Endpoint, Channel Policy & Origin Endpoint Policy).
RFC: https://github.com/aws/aws-cdk-rfcs/blob/main/text/0728-aws-elemental-mediapackagev2-l2.md

### Describe any new or updated permissions being added

N/A

### Description of how you validated changes

Coverage on unit test and new 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*
### Issue # (if applicable)

None

### Reason for this change

Cloudformation now supports for skipping unregister job definition on update.
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/TemplateReference/aws-properties-batch-jobdefinition-resourceretentionpolicy.html#cfn-batch-jobdefinition-resourceretentionpolicy-skipderegisteronupdate

### Description of changes

- add `skipDeregisterOnUpdate` to `JobdefinitionProps`

### 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*
Prevent prototype pollution in a couple of APIs:

* `Fact.register()`
* `cfnResource.addOverride()`

Prototype pollution is not a realistic attack on CDK, since values never come from untrusted sources. Nevertheless, the presence of possible prototype pollution sites makes for a fertile ground for security reports that we then have to look into.

This PR replaces #37408, in which I got bamboozled by Kiro into identifying a lot of non-vulnerable locations.

Fix a couple of sites here, and also add tests to confirm that a number of other sites are already protected.

----

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

Fixes: #37390

### Reason for this change
Current build uses brace-expansion version with CVE

### Description of changes
 bump brace-expansion from 5.0.3 to 5.0.5 to address CVE-2026-33750

### Describe any new or updated permissions being added
N/A

### Description of how you validated changes
patch version bump, hoping to rely on CI

### 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*
…arn group across 1 directory (#37456)

Bumps the npm_and_yarn group with 1 update in the / directory: [@xmldom/xmldom](https://github.com/xmldom/xmldom).

Updates `@xmldom/xmldom` from 0.9.8 to 0.9.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/xmldom/xmldom/releases"><code>@​xmldom/xmldom</code>'s releases</a>.</em></p>
<blockquote>
<h2>0.9.9</h2>
<p><a href="https://github.com/xmldom/xmldom/compare/0.9.8...0.9.9">Commits</a></p>
<h3>Added</h3>
<ul>
<li>implement <code>ParentNode.children</code> getter <a href="https://redirect.github.com/xmldom/xmldom/pull/960"><code>[#960](https://github.com/xmldom/xmldom/issues/960)</code></a> / <a href="https://redirect.github.com/xmldom/xmldom/issues/410"><code>[#410](https://github.com/xmldom/xmldom/issues/410)</code></a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Security: <code>createCDATASection</code> now throws <code>InvalidCharacterError</code> when <code>data</code> contains <code>&quot;]]&gt;&quot;</code>, as required by the <a href="https://dom.spec.whatwg.org/#dom-document-createcdatasection">WHATWG DOM spec</a>. <a href="https://github.com/xmldom/xmldom/security/advisories/GHSA-wh4c-j3r5-mjhp"><code>GHSA-wh4c-j3r5-mjhp</code></a></li>
<li>Security: <code>XMLSerializer</code> now splits CDATASection nodes whose data contains <code>&quot;]]&gt;&quot;</code> into adjacent CDATA sections at serialization time, preventing XML injection via mutation methods (<code>appendData</code>, <code>replaceData</code>, <code>.data =</code>, <code>.textContent =</code>). <a href="https://github.com/xmldom/xmldom/security/advisories/GHSA-wh4c-j3r5-mjhp"><code>GHSA-wh4c-j3r5-mjhp</code></a></li>
<li>correctly traverse ancestor chain in <code>Node.contains</code> <a href="https://redirect.github.com/xmldom/xmldom/pull/931"><code>[#931](https://github.com/xmldom/xmldom/issues/931)</code></a></li>
</ul>
<p>Code that passes a string containing <code>&quot;]]&gt;&quot;</code> to <code>createCDATASection</code> and relied on the previously unsafe behavior will now receive <code>InvalidCharacterError</code>. Use a mutation method such as <code>appendData</code> if you intentionally need <code>&quot;]]&gt;&quot;</code> in a CDATASection node's data.</p>
<h3>Chore</h3>
<ul>
<li>updated dependencies</li>
</ul>
<p>Thank you,
<a href="https://github.com/stevenobiajulu"><code>@​stevenobiajulu</code></a>,
<a href="https://github.com/yoshi389111"><code>@​yoshi389111</code></a>,
<a href="https://github.com/thesmartshadow"><code>@​thesmartshadow</code></a>,
for your contributions</p>
<p><a href="https://github.com/xmldom/xmldom/discussions/435">https://github.com/xmldom/xmldom/discussions/435</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/xmldom/xmldom/blob/master/CHANGELOG.md"><code>@​xmldom/xmldom</code>'s changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/xmldom/xmldom/compare/0.9.8...0.9.9">0.9.9</a></h2>
<h3>Added</h3>
<ul>
<li>implement <code>ParentNode.children</code> getter <a href="https://redirect.github.com/xmldom/xmldom/pull/960"><code>[#960](https://github.com/xmldom/xmldom/issues/960)</code></a> / <a href="https://redirect.github.com/xmldom/xmldom/issues/410"><code>[#410](https://github.com/xmldom/xmldom/issues/410)</code></a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Security: <code>createCDATASection</code> now throws <code>InvalidCharacterError</code> when <code>data</code> contains <code>&quot;]]&gt;&quot;</code>, as required by the <a href="https://dom.spec.whatwg.org/#dom-document-createcdatasection">WHATWG DOM spec</a>. <a href="https://github.com/xmldom/xmldom/security/advisories/GHSA-wh4c-j3r5-mjhp"><code>GHSA-wh4c-j3r5-mjhp</code></a></li>
<li>Security: <code>XMLSerializer</code> now splits CDATASection nodes whose data contains <code>&quot;]]&gt;&quot;</code> into adjacent CDATA sections at serialization time, preventing XML injection via mutation methods (<code>appendData</code>, <code>replaceData</code>, <code>.data =</code>, <code>.textContent =</code>). <a href="https://github.com/xmldom/xmldom/security/advisories/GHSA-wh4c-j3r5-mjhp"><code>GHSA-wh4c-j3r5-mjhp</code></a></li>
<li>correctly traverse ancestor chain in <code>Node.contains</code> <a href="https://redirect.github.com/xmldom/xmldom/pull/931"><code>[#931](https://github.com/xmldom/xmldom/issues/931)</code></a></li>
</ul>
<p>Code that passes a string containing <code>&quot;]]&gt;&quot;</code> to <code>createCDATASection</code> and relied on the previously unsafe behavior will now receive <code>InvalidCharacterError</code>. Use a mutation method such as <code>appendData</code> if you intentionally need <code>&quot;]]&gt;&quot;</code> in a CDATASection node's data.</p>
<h3>Chore</h3>
<ul>
<li>updated dependencies</li>
</ul>
<p>Thank you,
<a href="https://github.com/stevenobiajulu"><code>@​stevenobiajulu</code></a>,
<a href="https://github.com/yoshi389111"><code>@​yoshi389111</code></a>,
<a href="https://github.com/thesmartshadow"><code>@​thesmartshadow</code></a>,
for your contributions</p>
<h2><a href="https://github.com/xmldom/xmldom/compare/0.8.11...0.8.12">0.8.12</a></h2>
<h3>Fixed</h3>
<ul>
<li>preserve trailing whitespace in ProcessingInstruction data <a href="https://redirect.github.com/xmldom/xmldom/pull/962"><code>[#962](https://github.com/xmldom/xmldom/issues/962)</code></a> / <a href="https://redirect.github.com/xmldom/xmldom/issues/42"><code>[#42](https://github.com/xmldom/xmldom/issues/42)</code></a></li>
<li>Security: <code>createCDATASection</code> now throws <code>InvalidCharacterError</code> when <code>data</code> contains <code>&quot;]]&gt;&quot;</code>, as required by the <a href="https://dom.spec.whatwg.org/#dom-document-createcdatasection">WHATWG DOM spec</a>. <a href="https://github.com/xmldom/xmldom/security/advisories/GHSA-wh4c-j3r5-mjhp"><code>GHSA-wh4c-j3r5-mjhp</code></a></li>
<li>Security: <code>XMLSerializer</code> now splits CDATASection nodes whose data contains <code>&quot;]]&gt;&quot;</code> into adjacent CDATA sections at serialization time, preventing XML injection via mutation methods (<code>appendData</code>, <code>replaceData</code>, <code>.data =</code>, <code>.textContent =</code>). <a href="https://github.com/xmldom/xmldom/security/advisories/GHSA-wh4c-j3r5-mjhp"><code>GHSA-wh4c-j3r5-mjhp</code></a></li>
</ul>
<p>Code that passes a string containing <code>&quot;]]&gt;&quot;</code> to <code>createCDATASection</code> and relied on the previously unsafe behavior will now receive <code>InvalidCharacterError</code>. Use a mutation method such as <code>appendData</code> if you intentionally need <code>&quot;]]&gt;&quot;</code> in a CDATASection node's data.</p>
<p>Thank you,
<a href="https://github.com/thesmartshadow"><code>@​thesmartshadow</code></a>,
<a href="https://github.com/stevenobiajulu"><code>@​stevenobiajulu</code></a>,
for your contributions</p>
<h2><a href="https://github.com/xmldom/xmldom/compare/0.8.10...0.8.11">0.8.11</a></h2>
<h3>Fixed</h3>
<ul>
<li>update <code>ownerDocument</code> when moving nodes between documents <a href="https://redirect.github.com/xmldom/xmldom/pull/933"><code>[#933](https://github.com/xmldom/xmldom/issues/933)</code></a> / <a href="https://redirect.github.com/xmldom/xmldom/issues/932"><code>[#932](https://github.com/xmldom/xmldom/issues/932)</code></a></li>
</ul>
<p>Thank you, <a href="https://github.com/shunkica"><code>@​shunkica</code></a>, for your contributions</p>
<h2><a href="https://github.com/xmldom/xmldom/compare/0.9.8...0.9.7">0.9.8</a></h2>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/xmldom/xmldom/commit/7ffb16bce1170c7314151379531147637ab772a1"><code>7ffb16b</code></a> 0.9.9</li>
<li><a href="https://github.com/xmldom/xmldom/commit/07aade132766def1a8a63b98ddeee814eab24445"><code>07aade1</code></a> docs: add missing references to changelog (<a href="https://redirect.github.com/xmldom/xmldom/issues/970">#970</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/2b852e836ab86dbbd6cbaf0537f584dd0b5ac184"><code>2b852e8</code></a> fix: XML injection via unsafe CDATA serialization (GHSA-wh4c-j3r5-mjhp) (<a href="https://redirect.github.com/xmldom/xmldom/issues/969">#969</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/d9adeff0bb2fb91d7e0316ba25c20f8c0d920590"><code>d9adeff</code></a> chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 (<a href="https://redirect.github.com/xmldom/xmldom/issues/966">#966</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/be45d04f152075158877a9443713400e37cdd428"><code>be45d04</code></a> chore: add local CI script and format:check (<a href="https://redirect.github.com/xmldom/xmldom/issues/965">#965</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/2d73ddd1515f8d8bcf1e96cf8434384271bf9587"><code>2d73ddd</code></a> chore(deps-dev): bump yauzl from 3.2.0 to 3.2.1 (<a href="https://redirect.github.com/xmldom/xmldom/issues/963">#963</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/385c392f62ebe973c41028a48badccdc78db33d2"><code>385c392</code></a> chore(deps): bump minimatch (<a href="https://redirect.github.com/xmldom/xmldom/issues/961">#961</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/7750b3120628f136ca2510919433fab4bb30078b"><code>7750b31</code></a> feat: implement ParentNode.children getter (<a href="https://redirect.github.com/xmldom/xmldom/issues/960">#960</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/aa806cdfdf00bbfa6bcfff6cca32000689e76422"><code>aa806cd</code></a> chore(deps-dev): bump lodash from 4.17.21 to 4.17.23 (<a href="https://redirect.github.com/xmldom/xmldom/issues/958">#958</a>)</li>
<li><a href="https://github.com/xmldom/xmldom/commit/7d2610c8c0142172daa6a5432e4d7946a78695c0"><code>7d2610c</code></a> chore(deps): update npm to v11.6.3 (<a href="https://redirect.github.com/xmldom/xmldom/issues/947">#947</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/xmldom/xmldom/compare/0.9.8...0.9.9">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~karfau">karfau</a>, a new releaser for <code>@​xmldom/xmldom</code> since your current version.</p>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@xmldom/xmldom&package-manager=npm_and_yarn&previous-version=0.9.8&new-version=0.9.9)](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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/aws/aws-cdk/network/alerts).

</details>
…alancer (#36099)

### Issue # (if applicable)

closes #36096

### Reason for this change

ALB now supports for JWT(JSON Web Token) verification.

https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/listener-verify-jwt.html

### Description of changes

- add `ListenerAction.authenticateJwt()`
- define `AuthenticateJwtAction` class

I'm currently aiming to implement basic functionality first, so I do not support the `additionalClaims` argument. I will add implementation as needed.

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

### Reason for this change

Added support for specifying the role to use to invoke an authorizer.

### Description of changes

Added an optional `role: iam.IRole` to relevant interfaces and passing it down to the L1 construct.

### Description of how you validated changes

Added unit tests and updated the 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*
Updates the L1 CloudFormation resource definitions with the latest changes from `@aws-cdk/aws-service-spec`

**L1 CloudFormation resource definition changes:**
```
├[~] service aws-appstream
│ └ resources
│    └[~]  resource AWS::AppStream::ImageBuilder
│       ├ properties
│       │  ├ Name: - string (required)
│       │  │       + string (required, immutable)
│       │  ├[+] RootVolumeConfig: VolumeConfig
│       │  ├[+] SoftwaresToInstall: Array<string>
│       │  └[+] SoftwaresToUninstall: Array<string>
│       └ types
│          └[+]  type VolumeConfig
│             ├      name: VolumeConfig
│             └ properties
│                └ VolumeSizeInGb: integer
├[~] service aws-arcregionswitch
│ └ resources
│    └[~]  resource AWS::ARCRegionSwitch::Plan
│       └      - arnTemplate: arn:${Partition}:arc-region-switch:${Region}:${Account}:plan/${ResourceId}
│              + arnTemplate: arn:${Partition}:arc-region-switch::${Account}:plan/${ResourceId}
├[~] service aws-autoscaling
│ └ resources
│    └[~]  resource AWS::AutoScaling::AutoScalingGroup
│       └ properties
│          └[+] AvailabilityZoneIds: Array<string>
├[~] service aws-bedrockagentcore
│ └ resources
│    └[~]  resource AWS::BedrockAgentCore::OnlineEvaluationConfig
│       ├ properties
│       │  └[+] ExecutionStatus: string<ENABLED|DISABLED>
│       └ attributes
│          └[-] ExecutionStatus: string<ENABLED|DISABLED>
├[~] service aws-customerprofiles
│ └ resources
│    └[+]  resource AWS::CustomerProfiles::Recommender
│       ├      name: Recommender
│       │      cloudFormationType: AWS::CustomerProfiles::Recommender
│       │      documentation: Resource Type definition for AWS::CustomerProfiles::Recommender
│       │      tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│       │      primaryIdentifier: ["DomainName","RecommenderName"]
│       ├ properties
│       │  ├ DomainName: string (required, immutable)
│       │  ├ RecommenderName: string (required, immutable)
│       │  ├ RecommenderRecipeName: string (required, immutable)
│       │  ├ RecommenderConfig: RecommenderConfig
│       │  ├ Description: string
│       │  └ Tags: Array<tag>
│       ├ attributes
│       │  ├ RecommenderArn: string
│       │  ├ Status: string<PENDING|IN_PROGRESS|STOPPING|STARTING|ACTIVE|INACTIVE|FAILED|DELETING>
│       │  ├ CreatedAt: string
│       │  ├ LastUpdatedAt: string
│       │  ├ FailureReason: string
│       │  ├ LatestRecommenderUpdate: RecommenderUpdate
│       │  └ TrainingMetrics: Array<TrainingMetrics>
│       └ types
│          ├ type EventParameters
│          │ ├      documentation: Event parameters with type and value threshold
│          │ │      name: EventParameters
│          │ └ properties
│          │    ├ EventType: string (required)
│          │    └ EventValueThreshold: number
│          ├ type EventsConfig
│          │ ├      documentation: Configuration for events used in the recommender
│          │ │      name: EventsConfig
│          │ └ properties
│          │    └ EventParametersList: Array<EventParameters> (required)
│          ├ type Metrics
│          │ ├      documentation: Training metrics by type
│          │ │      name: Metrics
│          │ └ properties
│          │    ├ hit: number
│          │    ├ coverage: number
│          │    ├ recall: number
│          │    ├ popularity: number
│          │    ├ freshness: number
│          │    └ similarity: number
│          ├ type RecommenderConfig
│          │ ├      documentation: Configuration for the recommender
│          │ │      name: RecommenderConfig
│          │ └ properties
│          │    └ EventsConfig: EventsConfig
│          ├ type RecommenderUpdate
│          │ ├      documentation: Information about the latest recommender update
│          │ │      name: RecommenderUpdate
│          │ └ properties
│          │    ├ RecommenderConfig: RecommenderConfig
│          │    ├ Status: string<PENDING|IN_PROGRESS|STOPPING|STARTING|ACTIVE|INACTIVE|FAILED|DELETING>
│          │    ├ CreationDateTime: string
│          │    ├ LastUpdatedDateTime: string
│          │    └ FailureReason: string
│          └ type TrainingMetrics
│            ├      name: TrainingMetrics
│            └ properties
│               ├ Time: string
│               └ Metrics: Metrics
├[~] service aws-ec2
│ └ resources
│    ├[~]  resource AWS::EC2::EC2Fleet
│    │  ├ properties
│    │  │  └[+] ReservedCapacityOptions: ReservedCapacityOptionsRequest (immutable)
│    │  └ types
│    │     └[+]  type ReservedCapacityOptionsRequest
│    │        ├      name: ReservedCapacityOptionsRequest
│    │        └ properties
│    │           └ ReservationTypes: Array<string<interruptible-capacity-reservation>>
│    ├[~]  resource AWS::EC2::IPAMPrefixListResolverTarget
│    │  └      - arnTemplate: undefined
│    │         + arnTemplate: arn:${Partition}:ec2::${Account}:ipam-prefix-list-resolver-target/${IpamPrefixListResolverTargetId}
│    └[+]  resource AWS::EC2::SqlHaStandbyDetectedInstance
│       ├      name: SqlHaStandbyDetectedInstance
│       │      cloudFormationType: AWS::EC2::SqlHaStandbyDetectedInstance
│       │      documentation: Resource Type definition for AWS::EC2::SqlHaStandbyDetectedInstance
│       │      primaryIdentifier: ["InstanceId"]
│       ├ properties
│       │  ├ InstanceId: string (required, immutable)
│       │  └ SqlServerCredentials: string
│       └ attributes
│          ├ HaStatus: string<processing|active|standby|invalid>
│          ├ SqlServerLicenseUsage: string<full|waived>
│          └ LastUpdatedTime: string
├[~] service aws-ecs
│ └ resources
│    └[~]  resource AWS::ECS::CapacityProvider
│       └ types
│          └[~] type InstanceLaunchTemplate
│            └ properties
│               └[+] InstanceMetadataTagsPropagation: boolean
├[~] service aws-eks
│ └ resources
│    └[~]  resource AWS::EKS::Capability
│       ├      - vendedLogs: [{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ACK_S3_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","msg","err","error","controller","controllerGroup","controllerKind","reconcileID","worker-count","kind","reconciler-kind","name","namespace","aws.service","version","type"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ARGOCD_APPLICATION_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","msg","error","application","app-namespace","project","dest-server","dest-namespace","dest-name","comparison-level","time_ms","patch_ms","setop_ms","compare_app_state_ms","refresh_app_conditions_ms","process_refresh_app_conditions_errors_ms","comparison_with_nothing_ms"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_KRO_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message","err","error","controller","controllerGroup","controllerKind","reconcileID","worker-count","gvr","crd","name","namespace","item","ResourceGraphDefinition","type"]}]
│       │      + vendedLogs: [{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ACK_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message","err","error","controller","controllerGroup","controllerKind","reconcileID","worker-count","kind","reconciler-kind","name","namespace","aws.service","version","type"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ARGOCD_APPLICATION_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message","error","application","app-namespace","project","dest-server","dest-namespace","dest-name","comparison-level","time_ms","patch_ms","setop_ms","compare_app_state_ms","refresh_app_conditions_ms","process_refresh_app_conditions_errors_ms","comparison_with_nothing_ms"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ARGOCD_APPLICATIONSET_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message","error","controller","controllerGroup","controllerKind","reconcileID","worker-count","name","namespace","application","app-namespace","project","applicationset","action","count","requeueAfter","type"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ARGOCD_COMMITSERVER_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ARGOCD_REPOSERVER_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message","error"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_ARGOCD_SERVER_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message","error","name","namespace","reason"]},{"permissionsVersion":"V2","logType":"EKS_CAPABILITY_KRO_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_arn","event_timestamp"],"optionalFields":["stream","level","message","err","error","controller","controllerGroup","controllerKind","reconcileID","worker-count","gvr","crd","name","namespace","item","ResourceGraphDefinition","type"]}]
│       └ vendedLogs
│          ├[-] logType: EKS_CAPABILITY_ACK_S3_LOGS
│          │ ├permissionsVersion: V2
│          │ ├destinations: [S3, CWL, FH]
│          │ ├mandatoryFields: [resource_arn, event_timestamp]
│          │ └optionalFields: [stream, level, msg, err, error, controller, controllerGroup, controllerKind, reconcileID, worker-count, kind, reconciler-kind, name, namespace, aws.service, version, type]
│          ├[~] logType: EKS_CAPABILITY_ARGOCD_APPLICATION_LOGS
│          │ └optionalFields:
│          │  ├- [stream, level, msg, error, application, app-namespace, project, dest-server, dest-namespace, dest-name, comparison-level, time_ms, patch_ms, setop_ms, compare_app_state_ms, refresh_app_conditions_ms, process_refresh_app_conditions_errors_ms, comparison_with_nothing_ms]
│          │  └+ [stream, level, message, error, application, app-namespace, project, dest-server, dest-namespace, dest-name, comparison-level, time_ms, patch_ms, setop_ms, compare_app_state_ms, refresh_app_conditions_ms, process_refresh_app_conditions_errors_ms, comparison_with_nothing_ms]
│          ├[+] logType: EKS_CAPABILITY_ACK_LOGS
│          │ ├permissionsVersion: V2
│          │ ├destinations: [S3, CWL, FH]
│          │ ├mandatoryFields: [resource_arn, event_timestamp]
│          │ └optionalFields: [stream, level, message, err, error, controller, controllerGroup, controllerKind, reconcileID, worker-count, kind, reconciler-kind, name, namespace, aws.service, version, type]
│          ├[+] logType: EKS_CAPABILITY_ARGOCD_APPLICATIONSET_LOGS
│          │ ├permissionsVersion: V2
│          │ ├destinations: [S3, CWL, FH]
│          │ ├mandatoryFields: [resource_arn, event_timestamp]
│          │ └optionalFields: [stream, level, message, error, controller, controllerGroup, controllerKind, reconcileID, worker-count, name, namespace, application, app-namespace, project, applicationset, action, count, requeueAfter, type]
│          ├[+] logType: EKS_CAPABILITY_ARGOCD_COMMITSERVER_LOGS
│          │ ├permissionsVersion: V2
│          │ ├destinations: [S3, CWL, FH]
│          │ ├mandatoryFields: [resource_arn, event_timestamp]
│          │ └optionalFields: [stream, level, message]
│          ├[+] logType: EKS_CAPABILITY_ARGOCD_REPOSERVER_LOGS
│          │ ├permissionsVersion: V2
│          │ ├destinations: [S3, CWL, FH]
│          │ ├mandatoryFields: [resource_arn, event_timestamp]
│          │ └optionalFields: [stream, level, message, error]
│          └[+] logType: EKS_CAPABILITY_ARGOCD_SERVER_LOGS
│            ├permissionsVersion: V2
│            ├destinations: [S3, CWL, FH]
│            ├mandatoryFields: [resource_arn, event_timestamp]
│            └optionalFields: [stream, level, message, error, name, namespace, reason]
├[~] service aws-emr
│ └ resources
│    └[~]  resource AWS::EMR::Cluster
│       ├ properties
│       │  ├ AdditionalInfo: - json (immutable)
│       │  │                 + json | string ⇐ json (immutable)
│       │  ├ Configurations: - Array<Configuration> (immutable)
│       │  │                 + Array<EMRConfiguration> ⇐ Array<Configuration> (immutable)
│       │  ├[+] MonitoringConfiguration: MonitoringConfiguration (immutable)
│       │  ├ PlacementGroupConfigs: (documentation changed)
│       │  ├ ScaleDownBehavior: - string (immutable)
│       │  │                    + string<TERMINATE_AT_INSTANCE_HOUR|TERMINATE_AT_TASK_COMPLETION> (immutable)
│       │  └ VisibleToAllUsers: - boolean
│       │                       + boolean (deprecated=WARN)
│       └ types
│          ├[~] type CloudWatchAlarmDefinition
│          │ └ properties
│          │    ├ ComparisonOperator: - string (required)
│          │    │                     + string<GREATER_THAN_OR_EQUAL|GREATER_THAN|LESS_THAN|LESS_THAN_OR_EQUAL> (required)
│          │    ├ Statistic: - string
│          │    │            + string<SAMPLE_COUNT|AVERAGE|SUM|MINIMUM|MAXIMUM>
│          │    └ Unit: - string
│          │            + string<NONE|SECONDS|MICRO_SECONDS|MILLI_SECONDS|BYTES|KILO_BYTES|MEGA_BYTES|GIGA_BYTES|TERA_BYTES|BITS|KILO_BITS|MEGA_BITS|GIGA_BITS|TERA_BITS|PERCENT|COUNT|BYTES_PER_SECOND|KILO_BYTES_PER_SECOND|MEGA_BYTES_PER_SECOND|GIGA_BYTES_PER_SECOND|TERA_BYTES_PER_SECOND|BITS_PER_SECOND|KILO_BITS_PER_SECOND|MEGA_BITS_PER_SECOND|GIGA_BITS_PER_SECOND|TERA_BITS_PER_SECOND|COUNT_PER_SECOND>
│          ├[+]  type CloudWatchLogConfiguration
│          │  ├      documentation: Holds CloudWatch log configuration settings and metadata that specify settings like log files to monitor and where to send them.
│          │  │      name: CloudWatchLogConfiguration
│          │  └ properties
│          │     ├ Enabled: boolean (required)
│          │     ├ LogGroupName: string
│          │     ├ LogStreamNamePrefix: string
│          │     ├ EncryptionKeyArn: string
│          │     └ LogTypes: Map<string, Array<string>>
│          ├[~] type ComputeLimits
│          │ └ properties
│          │    └ UnitType: - string (required)
│          │                + string<InstanceFleetUnits|Instances|VCPU> (required)
│          ├[+]  type EMRConfiguration
│          │  ├      name: EMRConfiguration
│          │  └ properties
│          │     ├ Classification: string
│          │     ├ ConfigurationProperties: Map<string, string>
│          │     └ Configurations: Array<EMRConfiguration>
│          ├[~] type InstanceGroupConfig
│          │ └ properties
│          │    ├ Configurations: - Array<Configuration> (immutable)
│          │    │                 + Array<EMRConfiguration> ⇐ Array<Configuration> (immutable)
│          │    └ Market: - string (immutable)
│          │              + string<ON_DEMAND|SPOT> (immutable)
│          ├[~] type InstanceTypeConfig
│          │ └ properties
│          │    └ Configurations: - Array<Configuration> (immutable)
│          │                      + Array<EMRConfiguration> ⇐ Array<Configuration> (immutable)
│          ├[+]  type MonitoringConfiguration
│          │  ├      documentation: Contains CloudWatch log configuration metadata and settings.
│          │  │      name: MonitoringConfiguration
│          │  └ properties
│          │     └ CloudWatchLogConfiguration: CloudWatchLogConfiguration
│          ├[~] type PlacementGroupConfig
│          │ └ properties
│          │    ├ InstanceRole: - string (required)
│          │    │               + string<MASTER|CORE|TASK> (required)
│          │    └ PlacementStrategy: - string
│          │                         + string<SPREAD|PARTITION|CLUSTER|NONE>
│          ├[~] type ScalingAction
│          │ └ properties
│          │    └ Market: - string
│          │              + string<ON_DEMAND|SPOT>
│          ├[~] type SimpleScalingPolicyConfiguration
│          │ └ properties
│          │    └ AdjustmentType: - string
│          │                      + string<CHANGE_IN_CAPACITY|EXACT_CAPACITY|PERCENT_CHANGE_IN_CAPACITY>
│          ├[~] type SpotProvisioningSpecification
│          │ └ properties
│          │    └ TimeoutAction: - string (required)
│          │                     + string<SWITCH_TO_ON_DEMAND|TERMINATE_CLUSTER> (required)
│          └[~] type StepConfig
│            └ properties
│               └ ActionOnFailure: - string
│                                  + string<CANCEL_AND_WAIT|CONTINUE|TERMINATE_CLUSTER|TERMINATE_JOB_FLOW>
├[~] service aws-glue
│ └ resources
│    └[~]  resource AWS::Glue::Catalog
│       └      - arnTemplate: undefined
│              + arnTemplate: arn:${Partition}:glue:${Region}:${Account}:catalog/${CatalogName}
├[+] service aws-interconnect
│ ├      capitalized: Interconnect
│ │      cloudFormationNamespace: AWS::Interconnect
│ │      name: aws-interconnect
│ │      shortName: interconnect
│ └ resources
│    └ resource AWS::Interconnect::Connection
│      ├      name: Connection
│      │      cloudFormationType: AWS::Interconnect::Connection
│      │      documentation: Resource Type definition for AWS::Interconnect::Connection. Creates a managed network connection between AWS and a partner cloud service provider.
│      │      tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
│      │      primaryIdentifier: ["Arn"]
│      ├ properties
│      │  ├ Description: string
│      │  ├ Bandwidth: string
│      │  ├ AttachPoint: AttachPoint (required, immutable)
│      │  ├ EnvironmentId: string (immutable)
│      │  ├ RemoteOwnerAccount: string
│      │  ├ ActivationKey: string (immutable)
│      │  └ Tags: Array<tag>
│      ├ attributes
│      │  ├ ConnectionId: string
│      │  ├ Arn: string
│      │  ├ Provider: Provider
│      │  ├ Type: string
│      │  ├ State: string<available|requested|pending|down|deleting|deleted|failed>
│      │  ├ SharedId: string
│      │  ├ OwnerAccount: string
│      │  └ BillingTier: integer
│      └ types
│         ├ type AttachPoint
│         │ ├      documentation: The logical attachment point in your AWS network where the managed connection will be connected.
│         │ │      name: AttachPoint
│         │ └ properties
│         │    ├ DirectConnectGateway: string
│         │    └ Arn: string
│         └ type Provider
│           ├      documentation: The partner cloud service provider.
│           │      name: Provider
│           └ properties
│              ├ CloudServiceProvider: string
│              └ LastMileProvider: string
├[~] service aws-iotwireless
│ └ resources
│    └[~]  resource AWS::IoTWireless::WirelessDeviceImportTask
│       └      - arnTemplate: arn:${Partition}:iotwireless:${Region}:${Account}:ImportTask/${ImportTaskId}
│              + arnTemplate: arn:${Partition}:iotwireless:${Region}:${Account}:WirelessDeviceImportTask/${WirelessDeviceImportTaskId}
├[~] service aws-logs
│ └ resources
│    └[~]  resource AWS::Logs::LogGroup
│       ├      - vendedLogs: [{"permissionsVersion":"V2","logType":"AUDIT_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["auditTimestamp","resourceArn","resourceName","dataIdentifiers"],"optionalFields":["policyName","cloudWatchLogs.EventTimestamp","cloudWatchLogs.LogStream"]}]
│       │      + vendedLogs: [{"permissionsVersion":"V2","logType":"AUDIT_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["auditTimestamp","resourceArn","dataIdentifiers"],"optionalFields":["policyName","cloudWatchLogs.EventTimestamp","cloudWatchLogs.LogStream"]}]
│       ├ properties
│       │  └[+] BearerTokenAuthenticationEnabled: boolean (default=false)
│       └ vendedLogs
│          └[~] logType: AUDIT_LOGS
│            └mandatoryFields:
│             ├- [auditTimestamp, resourceArn, resourceName, dataIdentifiers]
│             └+ [auditTimestamp, resourceArn, dataIdentifiers]
├[~] service aws-networkfirewall
│ └ resources
│    └[~]  resource AWS::NetworkFirewall::RuleGroup
│       └      - arnTemplate: arn:${Partition}:network-firewall:${Region}:${Account}:stateless-rulegroup/${Name}
│              + arnTemplate: arn:${Partition}:network-firewall:${Region}:${Account}:stateful-rulegroup/${Name}
├[~] service aws-observabilityadmin
│ └ resources
│    └[~]  resource AWS::ObservabilityAdmin::OrganizationCentralizationRule
│       └ types
│          └[~] type SourceLogsConfiguration
│            └ properties
│               ├[+] DataSourceSelectionCriteria: string
│               └ LogGroupSelectionCriteria: - string (required)
│                                            + string
├[~] service aws-opensearchserverless
│ └ resources
│    └[~]  resource AWS::OpenSearchServerless::Collection
│       ├ attributes
│       │  └[+] FipsEndpoints: FipsEndpoints
│       └ types
│          └[+]  type FipsEndpoints
│             ├      name: FipsEndpoints
│             └ properties
│                ├ CollectionEndpoint: string
│                └ DashboardEndpoint: string
├[~] service aws-pcs
│ └ resources
│    └[~]  resource AWS::PCS::Cluster
│       ├      - vendedLogs: [{"permissionsVersion":"V2","logType":"PCS_JOBCOMP_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_id","resource_type","event_timestamp","scheduler_type","scheduler_major_version","fields"]},{"permissionsVersion":"V2","logType":"PCS_SCHEDULER_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_id","resource_type","event_timestamp","log_level","log_name","scheduler_type","scheduler_major_version","scheduler_patch_version","node_type","message"]},{"permissionsVersion":"V2","logType":"PCS_SCHEDULER_AUDIT_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"optionalFields":["resource_id","resource_type","event_timestamp","log_level","scheduler_type","scheduler_patch_version","node_type","log_type","message"],"mandatoryFields":["log_name","scheduler_major_version"]}]
│       │      + vendedLogs: [{"permissionsVersion":"V2","logType":"PCS_JOBCOMP_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_id","resource_type","event_timestamp","scheduler_type","scheduler_major_version","fields"]},{"permissionsVersion":"V2","logType":"PCS_SCHEDULER_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"mandatoryFields":["resource_id","resource_type","event_timestamp","log_level","log_name","scheduler_type","scheduler_major_version","scheduler_patch_version","node_type","message"]},{"permissionsVersion":"V2","logType":"PCS_SCHEDULER_AUDIT_LOGS","destinations":[{"destinationType":"S3","outputFormats":["json","plain","w3c","parquet"]},{"destinationType":"CWL","outputFormats":["plain","json"]},{"destinationType":"FH","outputFormats":["json","plain","raw"]}],"optionalFields":["resource_id","resource_type","event_timestamp","log_level","scheduler_type","scheduler_patch_version","node_type","message"],"mandatoryFields":["log_name","scheduler_major_version","log_type"]}]
│       ├ vendedLogs
│       │  └[~] logType: PCS_SCHEDULER_AUDIT_LOGS
│       │    ├mandatoryFields:
│       │    │├- [log_name, scheduler_major_version]
│       │    │└+ [log_name, scheduler_major_version, log_type]
│       │    └optionalFields:
│       │     ├- [resource_id, resource_type, event_timestamp, log_level, scheduler_type, scheduler_patch_version, node_type, log_type, message]
│       │     └+ [resource_id, resource_type, event_timestamp, log_level, scheduler_type, scheduler_patch_version, node_type, message]
│       └ types
│          ├[+]  type CgroupCustomSetting
│          │  ├      documentation: Additional cgroup configuration settings.
│          │  │      name: CgroupCustomSetting
│          │  └ properties
│          │     ├ ParameterName: string (required)
│          │     └ ParameterValue: string (required)
│          ├[~] type SlurmConfiguration
│          │ └ properties
│          │    ├[+] CgroupCustomSettings: Array<CgroupCustomSetting>
│          │    └[+] SlurmdbdCustomSettings: Array<SlurmdbdCustomSetting>
│          └[+]  type SlurmdbdCustomSetting
│             ├      documentation: Additional slurmdbd configuration settings.
│             │      name: SlurmdbdCustomSetting
│             └ properties
│                ├ ParameterName: string (required)
│                └ ParameterValue: string (required)
├[~] service aws-quicksight
│ └ resources
│    └[~]  resource AWS::QuickSight::CustomPermissions
│       └ types
│          └[~] type Capabilities
│            └ properties
│               ├[+] AmazonBedrockARSAction: string<DENY>
│               ├[+] AmazonBedrockFSAction: string<DENY>
│               ├[+] AmazonBedrockKRSAction: string<DENY>
│               ├[+] AmazonSThreeAction: string<DENY>
│               ├[+] ApproveFlowShareRequests: string<DENY>
│               ├[+] AsanaAction: string<DENY>
│               ├[+] BambooHRAction: string<DENY>
│               ├[+] BoxAgentAction: string<DENY>
│               ├[+] BuildCalculatedFieldWithQ: string<DENY>
│               ├[+] CanvaAgentAction: string<DENY>
│               ├[+] ComprehendAction: string<DENY>
│               ├[+] ComprehendMedicalAction: string<DENY>
│               ├[+] ConfluenceAction: string<DENY>
│               ├[+] CreateAndUpdateAmazonBedrockARSAction: string<DENY>
│               ├[+] CreateAndUpdateAmazonBedrockFSAction: string<DENY>
│               ├[+] CreateAndUpdateAmazonBedrockKRSAction: string<DENY>
│               ├[+] CreateAndUpdateAmazonSThreeAction: string<DENY>
│               ├[+] CreateAndUpdateAsanaAction: string<DENY>
│               ├[+] CreateAndUpdateBambooHRAction: string<DENY>
│               ├[+] CreateAndUpdateBoxAgentAction: string<DENY>
│               ├[+] CreateAndUpdateCanvaAgentAction: string<DENY>
│               ├[+] CreateAndUpdateComprehendAction: string<DENY>
│               ├[+] CreateAndUpdateComprehendMedicalAction: string<DENY>
│               ├[+] CreateAndUpdateConfluenceAction: string<DENY>
│               ├[+] CreateAndUpdateFactSetAction: string<DENY>
│               ├[+] CreateAndUpdateGenericHTTPAction: string<DENY>
│               ├[+] CreateAndUpdateGithubAction: string<DENY>
│               ├[+] CreateAndUpdateGoogleCalendarAction: string<DENY>
│               ├[+] CreateAndUpdateHubspotAction: string<DENY>
│               ├[+] CreateAndUpdateHuggingFaceAction: string<DENY>
│               ├[+] CreateAndUpdateIntercomAction: string<DENY>
│               ├[+] CreateAndUpdateJiraAction: string<DENY>
│               ├[+] CreateAndUpdateKnowledgeBases: string<DENY>
│               ├[+] CreateAndUpdateLinearAction: string<DENY>
│               ├[+] CreateAndUpdateMCPAction: string<DENY>
│               ├[+] CreateAndUpdateMondayAction: string<DENY>
│               ├[+] CreateAndUpdateMSExchangeAction: string<DENY>
│               ├[+] CreateAndUpdateMSTeamsAction: string<DENY>
│               ├[+] CreateAndUpdateNewRelicAction: string<DENY>
│               ├[+] CreateAndUpdateNotionAction: string<DENY>
│               ├[+] CreateAndUpdateOneDriveAction: string<DENY>
│               ├[+] CreateAndUpdateOpenAPIAction: string<DENY>
│               ├[+] CreateAndUpdatePagerDutyAction: string<DENY>
│               ├[+] CreateAndUpdateSalesforceAction: string<DENY>
│               ├[+] CreateAndUpdateSandPGlobalEnergyAction: string<DENY>
│               ├[+] CreateAndUpdateSandPGMIAction: string<DENY>
│               ├[+] CreateAndUpdateSAPBillOfMaterialAction: string<DENY>
│               ├[+] CreateAndUpdateSAPBusinessPartnerAction: string<DENY>
│               ├[+] CreateAndUpdateSAPMaterialStockAction: string<DENY>
│               ├[+] CreateAndUpdateSAPPhysicalInventoryAction: string<DENY>
│               ├[+] CreateAndUpdateSAPProductMasterDataAction: string<DENY>
│               ├[+] CreateAndUpdateServiceNowAction: string<DENY>
│               ├[+] CreateAndUpdateSharePointAction: string<DENY>
│               ├[+] CreateAndUpdateSlackAction: string<DENY>
│               ├[+] CreateAndUpdateSmartsheetAction: string<DENY>
│               ├[+] CreateAndUpdateTextractAction: string<DENY>
│               ├[+] CreateAndUpdateZendeskAction: string<DENY>
│               ├[+] CreateDashboardExecutiveSummaryWithQ: string<DENY>
│               ├[+] EditVisualWithQ: string<DENY>
│               ├[+] Extension: string<DENY>
│               ├[+] FactSetAction: string<DENY>
│               ├[+] GenericHTTPAction: string<DENY>
│               ├[+] GithubAction: string<DENY>
│               ├[+] GoogleCalendarAction: string<DENY>
│               ├[+] HubspotAction: string<DENY>
│               ├[+] HuggingFaceAction: string<DENY>
│               ├[+] IntercomAction: string<DENY>
│               ├[+] JiraAction: string<DENY>
│               ├[+] LinearAction: string<DENY>
│               ├[+] ManageSharedFolders: string<DENY>
│               ├[+] MCPAction: string<DENY>
│               ├[+] MondayAction: string<DENY>
│               ├[+] MSExchangeAction: string<DENY>
│               ├[+] MSTeamsAction: string<DENY>
│               ├[+] NewRelicAction: string<DENY>
│               ├[+] NotionAction: string<DENY>
│               ├[+] OneDriveAction: string<DENY>
│               ├[+] OpenAPIAction: string<DENY>
│               ├[+] PagerDutyAction: string<DENY>
│               ├[+] SalesforceAction: string<DENY>
│               ├[+] SandPGlobalEnergyAction: string<DENY>
│               ├[+] SandPGMIAction: string<DENY>
│               ├[+] SAPBillOfMaterialAction: string<DENY>
│               ├[+] SAPBusinessPartnerAction: string<DENY>
│               ├[+] SAPMaterialStockAction: string<DENY>
│               ├[+] SAPPhysicalInventoryAction: string<DENY>
│               ├[+] SAPProductMasterDataAction: string<DENY>
│               ├[+] ServiceNowAction: string<DENY>
│               ├[+] ShareAmazonBedrockARSAction: string<DENY>
│               ├[+] ShareAmazonBedrockFSAction: string<DENY>
│               ├[+] ShareAmazonBedrockKRSAction: string<DENY>
│               ├[+] ShareAmazonSThreeAction: string<DENY>
│               ├[+] ShareAsanaAction: string<DENY>
│               ├[+] ShareBambooHRAction: string<DENY>
│               ├[+] ShareBoxAgentAction: string<DENY>
│               ├[+] ShareCanvaAgentAction: string<DENY>
│               ├[+] ShareComprehendAction: string<DENY>
│               ├[+] ShareComprehendMedicalAction: string<DENY>
│               ├[+] ShareConfluenceAction: string<DENY>
│               ├[+] ShareFactSetAction: string<DENY>
│               ├[+] ShareGenericHTTPAction: string<DENY>
│               ├[+] ShareGithubAction: string<DENY>
│               ├[+] ShareGoogleCalendarAction: string<DENY>
│               ├[+] ShareHubspotAction: string<DENY>
│               ├[+] ShareHuggingFaceAction: string<DENY>
│               ├[+] ShareIntercomAction: string<DENY>
│               ├[+] ShareJiraAction: string<DENY>
│               ├[+] ShareKnowledgeBases: string<DENY>
│               ├[+] ShareLinearAction: string<DENY>
│               ├[+] ShareMCPAction: string<DENY>
│               ├[+] ShareMondayAction: string<DENY>
│               ├[+] ShareMSExchangeAction: string<DENY>
│               ├[+] ShareMSTeamsAction: string<DENY>
│               ├[+] ShareNewRelicAction: string<DENY>
│               ├[+] ShareNotionAction: string<DENY>
│               ├[+] ShareOneDriveAction: string<DENY>
│               ├[+] ShareOpenAPIAction: string<DENY>
│               ├[+] SharePagerDutyAction: string<DENY>
│               ├[+] SharePointAction: string<DENY>
│               ├[+] ShareSalesforceAction: string<DENY>
│               ├[+] ShareSandPGlobalEnergyAction: string<DENY>
│               ├[+] ShareSandPGMIAction: string<DENY>
│               ├[+] ShareSAPBillOfMaterialAction: string<DENY>
│               ├[+] ShareSAPBusinessPartnerAction: string<DENY>
│               ├[+] ShareSAPMaterialStockAction: string<DENY>
│               ├[+] ShareSAPPhysicalInventoryAction: string<DENY>
│               ├[+] ShareSAPProductMasterDataAction: string<DENY>
│               ├[+] ShareServiceNowAction: string<DENY>
│               ├[+] ShareSharePointAction: string<DENY>
│               ├[+] ShareSlackAction: string<DENY>
│               ├[+] ShareSmartsheetAction: string<DENY>
│               ├[+] ShareTextractAction: string<DENY>
│               ├[+] ShareZendeskAction: string<DENY>
│               ├[+] SlackAction: string<DENY>
│               ├[+] SmartsheetAction: string<DENY>
│               ├[+] TextractAction: string<DENY>
│               ├[+] Topic: string<DENY>
│               ├[+] UseAmazonBedrockARSAction: string<DENY>
│               ├[+] UseAmazonBedrockFSAction: string<DENY>
│               ├[+] UseAmazonBedrockKRSAction: string<DENY>
│               ├[+] UseAmazonSThreeAction: string<DENY>
│               ├[+] UseAsanaAction: string<DENY>
│               ├[+] UseBambooHRAction: string<DENY>
│               ├[+] UseBoxAgentAction: string<DENY>
│               ├[+] UseCanvaAgentAction: string<DENY>
│               ├[+] UseComprehendAction: string<DENY>
│               ├[+] UseComprehendMedicalAction: string<DENY>
│               ├[+] UseConfluenceAction: string<DENY>
│               ├[+] UseFactSetAction: string<DENY>
│               ├[+] UseGenericHTTPAction: string<DENY>
│               ├[+] UseGithubAction: string<DENY>
│               ├[+] UseGoogleCalendarAction: string<DENY>
│               ├[+] UseHubspotAction: string<DENY>
│               ├[+] UseHuggingFaceAction: string<DENY>
│               ├[+] UseIntercomAction: string<DENY>
│               ├[+] UseJiraAction: string<DENY>
│               ├[+] UseLinearAction: string<DENY>
│               ├[+] UseMCPAction: string<DENY>
│               ├[+] UseMondayAction: string<DENY>
│               ├[+] UseMSExchangeAction: string<DENY>
│               ├[+] UseMSTeamsAction: string<DENY>
│               ├[+] UseNewRelicAction: string<DENY>
│               ├[+] UseNotionAction: string<DENY>
│               ├[+] UseOneDriveAction: string<DENY>
│               ├[+] UseOpenAPIAction: string<DENY>
│               ├[+] UsePagerDutyAction: string<DENY>
│               ├[+] UseSalesforceAction: string<DENY>
│               ├[+] UseSandPGlobalEnergyAction: string<DENY>
│               ├[+] UseSandPGMIAction: string<DENY>
│               ├[+] UseSAPBillOfMaterialAction: string<DENY>
│               ├[+] UseSAPBusinessPartnerAction: string<DENY>
│               ├[+] UseSAPMaterialStockAction: string<DENY>
│               ├[+] UseSAPPhysicalInventoryAction: string<DENY>
│               ├[+] UseSAPProductMasterDataAction: string<DENY>
│               ├[+] UseServiceNowAction: string<DENY>
│               ├[+] UseSharePointAction: string<DENY>
│               ├[+] UseSlackAction: string<DENY>
│               ├[+] UseSmartsheetAction: string<DENY>
│               ├[+] UseTextractAction: string<DENY>
│               ├[+] UseZendeskAction: string<DENY>
│               └[+] ZendeskAction: string<DENY>
└[+] service aws-uxc
  ├      capitalized: UXC
  │      cloudFormationNamespace: AWS::UXC
  │      name: aws-uxc
  │      shortName: uxc
  └ resources
     └ resource AWS::UXC::AccountCustomization
       ├      name: AccountCustomization
       │      cloudFormationType: AWS::UXC::AccountCustomization
       │      documentation: Resource schema for managing AWS account-level UX customization settings, including account color, visible services, and visible regions.
       │      primaryIdentifier: ["AccountId"]
       ├ properties
       │  ├ AccountColor: string<none|pink|purple|darkBlue|lightBlue|teal|green|yellow|orange|red>
       │  ├ VisibleServices: Array<string>
       │  └ VisibleRegions: Array<string>
       └ attributes
          └ AccountId: string
```

**CHANGES TO L1 RESOURCES:** L1 resources are automatically generated from public CloudFormation Resource Schemas. They are built to closely reflect the real state of CloudFormation. Sometimes these updates can contain changes that are incompatible with previous types, but more accurately reflect reality. In this release we have changed:

aws-bedrockagentcore: AWS::BedrockAgentCore::OnlineEvaluationConfig: ExecutionStatus attribute removed.
aws-appstream: AWS::AppStream::ImageBuilder: Name property is now immutable.
aws-eks: AWS::EKS::Capability: EKS_CAPABILITY_ACK_S3_LOGS vended log type removed.
Ran npm-check-updates and yarn upgrade for the following dependencies:
```
@aws-cdk/asset-awscli-v1
```
Checkout this branch and run integration tests locally to update
snapshots.
```
(cd packages/@aws-cdk-testing/framework-integ && yarn integ --update-on-failed)
```
See https://www.npmjs.com/package/@aws-cdk/integ-runner for more integ
runner options.

---------

Co-authored-by: aws-cdk-automation <aws-cdk-automation@users.noreply.github.com>
Co-authored-by: Ahmed Hamed <aemada@amazon.com>
@aws-cdk-automation aws-cdk-automation requested a review from a team as a code owner April 2, 2026 05:50
@aws-cdk-automation aws-cdk-automation added auto-approve pr/no-squash This PR should be merged instead of squash-merging it labels Apr 2, 2026
@aws-cdk-automation aws-cdk-automation requested a review from a team April 2, 2026 05:50
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Apr 2, 2026

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
Copy link
Copy Markdown
Contributor

mergify bot commented Apr 2, 2026

Merge Queue Status

  • Entered queue2026-04-02 07:33 UTC · Rule: default-merge
  • Checks skipped · PR is already up-to-date
  • Merged2026-04-02 07:33 UTC · at 447ac6c4e47021fca8531d3159e419abe3e10555

This pull request spent 10 seconds in the queue, including 1 second running CI.

Required conditions to merge
  • #approved-reviews-by >= 1 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = build
    • check-neutral = build
    • check-skipped = build
  • any of [🛡 GitHub branch protection]:
    • check-success = validate-pr
    • check-neutral = validate-pr
    • check-skipped = validate-pr

@mergify mergify bot merged commit f50b8a4 into v2-release Apr 2, 2026
20 of 21 checks passed
@mergify mergify bot deleted the bump/2.247.0 branch April 2, 2026 07:33
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

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 Apr 2, 2026
@aws-cdk-automation aws-cdk-automation added the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Apr 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

auto-approve p2 pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. 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.

8 participants