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.168.0 #32209

Merged
merged 38 commits into from
Nov 20, 2024
Merged

chore(release): 2.168.0 #32209

merged 38 commits into from
Nov 20, 2024

Commits on Nov 14, 2024

  1. Configuration menu
    Copy the full SHA
    588f1f6 View commit details
    Browse the repository at this point in the history
  2. chore: disable codecov from v2-release branch (#32125)

    In #32082, we added codecov checks to
    mergify merge conditions.
    
    This, as originally intended, blocked merging to both the `main` and the
    `v2-release` branches. However, we decided that currently we won't be
    applying codecov on the `v2-release` branch because it is redundant.
    
    Ideally, to achieve this, we would remove the conditions only from the
    mergify configuration that applies to the `v2-release` branch. But our
    configuration isn't set up that way right now, it doesn't distinguish
    between branches.
    
    Luckily, mergify will [automatically honor branch protection
    rules](Mergifyio/mergify#2184 (comment)),
    so we can safely remove the branch dependant conditions from mergify all
    together, and keep them only in branch protection rules (which we
    already configured).
    
    Once this PR is merged, I will also remove the codecov branch protection
    from `v2-release` (but keep it on `main`).
    
    ## Additional Changes
    
    There's some additional codecov related cleanup we need to do so might
    as well. They are explained as review comments.
    
    ----
    
    *By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache-2.0 license*
    iliapolo authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    f8415c0 View commit details
    Browse the repository at this point in the history
  3. fix(cdk): remove source-map-support from typescript init templates (#…

    …32113)
    
    ### Issue
    
    Closes #20754
    Closes #30231
    
    ### Reason for this change
    
    This package is no longer needed and not recommended for users.
    
    ### Description of changes
    
    Remove the package from `package.json` and sample code.
    
    ### Description of how you validated changes
    
    Tested locally.
    
    ### 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 authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    d5c0aa2 View commit details
    Browse the repository at this point in the history
  4. chore(deps): bump tj-actions/changed-files from 45.0.3 to 45.0.4 (#32086

    )
    
    Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.3 to 45.0.4.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="https://github.com/tj-actions/changed-files/releases">tj-actions/changed-files's releases</a>.</em></p>
    <blockquote>
    <h2>v45.0.4</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Upgraded to v45.0.3 by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2308">tj-actions/changed-files#2308</a></li>
    <li>fix(deps): update dependency <code>@​actions/core</code> to v1.11.1 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2309">tj-actions/changed-files#2309</a></li>
    <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2310">tj-actions/changed-files#2310</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.7.5 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2312">tj-actions/changed-files#2312</a></li>
    <li>chore(deps): update dependency typescript to v5.6.3 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2313">tj-actions/changed-files#2313</a></li>
    <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2315">tj-actions/changed-files#2315</a></li>
    <li>skip: step for dependabot PRs by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2317">tj-actions/changed-files#2317</a></li>
    <li>feat: prevent ignore files warning by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2318">tj-actions/changed-files#2318</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.7.6 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2321">tj-actions/changed-files#2321</a></li>
    <li>chore(deps): update dependency <code>@​types/lodash</code> to v4.17.11 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2322">tj-actions/changed-files#2322</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.7.7 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2323">tj-actions/changed-files#2323</a></li>
    <li>chore(deps): update dependency <code>@​types/lodash</code> to v4.17.12 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2324">tj-actions/changed-files#2324</a></li>
    <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2325">tj-actions/changed-files#2325</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.7.8 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2327">tj-actions/changed-files#2327</a></li>
    <li>chore(deps): update dependency <code>@​types/jest</code> to v29.5.14 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2328">tj-actions/changed-files#2328</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.7.9 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2329">tj-actions/changed-files#2329</a></li>
    <li>chore(deps): update actions/setup-node action to v4.1.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2330">tj-actions/changed-files#2330</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.8.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2331">tj-actions/changed-files#2331</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.8.1 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2332">tj-actions/changed-files#2332</a></li>
    <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2333">tj-actions/changed-files#2333</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.8.2 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2334">tj-actions/changed-files#2334</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.8.4 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2335">tj-actions/changed-files#2335</a></li>
    <li>chore(deps): update dependency <code>@​types/lodash</code> to v4.17.13 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2336">tj-actions/changed-files#2336</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.8.5 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2337">tj-actions/changed-files#2337</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.8.6 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2338">tj-actions/changed-files#2338</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.8.7 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2339">tj-actions/changed-files#2339</a></li>
    <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2340">tj-actions/changed-files#2340</a></li>
    <li>chore(deps): update dependency <code>@​types/node</code> to v22.9.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2341">tj-actions/changed-files#2341</a></li>
    <li>chore(deps): update dependency eslint-plugin-jest to v28.9.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/2342">tj-actions/changed-files#2342</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a href="https://github.com/tj-actions/changed-files/compare/v45...v45.0.4">https://github.com/tj-actions/changed-files/compare/v45...v45.0.4</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a href="https://github.com/tj-actions/changed-files/blob/main/HISTORY.md">tj-actions/changed-files's changelog</a>.</em></p>
    <blockquote>
    <h1>Changelog</h1>
    <h1><a href="https://github.com/tj-actions/changed-files/compare/v45.0.3...v45.0.4">45.0.4</a> - (2024-11-05)</h1>
    <h2>🚀 Features</h2>
    <ul>
    <li>Prevent ignore files warning (<a href="https://redirect.github.com/tj-actions/changed-files/issues/2318">#2318</a>) (<a href="https://github.com/tj-actions/changed-files/commit/1f772e919bcbf025d221836bc4b8e3b72e2ef117">1f772e9</a>)  - (Tonye Jack)</li>
    </ul>
    <h2>🐛 Bug Fixes</h2>
    <ul>
    <li><strong>deps:</strong> Update dependency <code>@​actions/core</code> to v1.11.1 (<a href="https://github.com/tj-actions/changed-files/commit/4d0aab94b6284beb85e6cc3dd23ec0ee523dcca6">4d0aab9</a>)  - (renovate[bot])</li>
    </ul>
    <h2>➕ Add</h2>
    <ul>
    <li>Added missing changes and modified dist assets.
    (<a href="https://github.com/tj-actions/changed-files/commit/9d7201ded6d75401ce2b888a4f643a921bfb8604">9d7201d</a>)  - (GitHub Action)</li>
    <li>Added missing changes and modified dist assets.
    (<a href="https://github.com/tj-actions/changed-files/commit/0104c75ccc49741ff97b817da4cd36887e0c13cd">0104c75</a>)  - (GitHub Action)</li>
    </ul>
    <h2>📝 Other</h2>
    <ul>
    <li>Step for dependabot PRs (<a href="https://redirect.github.com/tj-actions/changed-files/issues/2317">#2317</a>) (<a href="https://github.com/tj-actions/changed-files/commit/684c5e6d941e3591a9de8182da044dd242dc17c9">684c5e6</a>)  - (Tonye Jack)</li>
    </ul>
    <h2>⚙️ Miscellaneous Tasks</h2>
    <ul>
    <li><strong>deps:</strong> Update dependency eslint-plugin-jest to v28.9.0 (<a href="https://github.com/tj-actions/changed-files/commit/4edd678ac3f81e2dc578756871e4d00c19191daf">4edd678</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.9.0 (<a href="https://github.com/tj-actions/changed-files/commit/f08255874b882608b0d7f6dde476c5756dbfc08c">f082558</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/92c02a00a1b05d13ef79d053e8e8e4aafc1431cd">92c02a0</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.8.7 (<a href="https://github.com/tj-actions/changed-files/commit/b70221184d8c03f985dc253d1a84169c4b530010">b702211</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.8.6 (<a href="https://github.com/tj-actions/changed-files/commit/435fd74b2ec5d115590c1a20ba1101bf9a291563">435fd74</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.8.5 (<a href="https://github.com/tj-actions/changed-files/commit/0626fa3ff3e2030febaa380334fab666814bd24f">0626fa3</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/lodash</code> to v4.17.13 (<a href="https://github.com/tj-actions/changed-files/commit/8817a797cbad83643006b4fafc757bb72a50bd51">8817a79</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.8.4 (<a href="https://github.com/tj-actions/changed-files/commit/54174910beb91e8c0eb59a8449720659f72bf24b">5417491</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.8.2 (<a href="https://github.com/tj-actions/changed-files/commit/84ef16253002b9f411c38d53e45521709f43247e">84ef162</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/b672a5115a5ab8c2b27838329a827d3ffda1202c">b672a51</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.8.1 (<a href="https://github.com/tj-actions/changed-files/commit/678cdc28086f7f6f8762a1934db3e94e7c0cadb4">678cdc2</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.8.0 (<a href="https://github.com/tj-actions/changed-files/commit/27b7bbb0aeabaa9258fe4bfd52318bbbb9bdbc9c">27b7bbb</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update actions/setup-node action to v4.1.0 (<a href="https://github.com/tj-actions/changed-files/commit/83610723bb32196f24d5880eca9cd59951b17c69">8361072</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.7.9 (<a href="https://github.com/tj-actions/changed-files/commit/21acf46f4af54c16f04ec314f1929b73692c4441">21acf46</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/jest</code> to v29.5.14 (<a href="https://github.com/tj-actions/changed-files/commit/f356b3c86b5e3dbe272d6579b57cb7344f3e8ea3">f356b3c</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.7.8 (<a href="https://github.com/tj-actions/changed-files/commit/66275de0606e56bdce755a9408b1cef1aac91580">66275de</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/a16702bf7a036756d8ef85e34bf2e6cbcd474726">a16702b</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/lodash</code> to v4.17.12 (<a href="https://github.com/tj-actions/changed-files/commit/aa11897ec4afaea2c563502c017812d493d21a90">aa11897</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.7.7 (<a href="https://github.com/tj-actions/changed-files/commit/6513fe1691ddc9793b54c3b337d6946cd331ab26">6513fe1</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/lodash</code> to v4.17.11 (<a href="https://github.com/tj-actions/changed-files/commit/45e0c78ac7fad3fc00ec4a92c7d93a3f4489a906">45e0c78</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.7.6 (<a href="https://github.com/tj-actions/changed-files/commit/a949a8338c60e9581f87873ab195f1a23066a4fc">a949a83</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/f93ff336292f0bcab245d8fc70fe7f1a6446464b">f93ff33</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency typescript to v5.6.3 (<a href="https://github.com/tj-actions/changed-files/commit/729c70475c2976c3d4ca8897d34d9df975a4d05c">729c704</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v22.7.5 (<a href="https://github.com/tj-actions/changed-files/commit/2009d446ac92d696d7df2230847a71ba91db7d4a">2009d44</a>)  - (renovate[bot])</li>
    <li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/b693fc207f2cd18198a39916698cec17bc8e8d42">b693fc2</a>)  - (renovate[bot])</li>
    </ul>
    
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="https://github.com/tj-actions/changed-files/commit/4edd678ac3f81e2dc578756871e4d00c19191daf"><code>4edd678</code></a> chore(deps): update dependency eslint-plugin-jest to v28.9.0</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/f08255874b882608b0d7f6dde476c5756dbfc08c"><code>f082558</code></a> chore(deps): update dependency <code>@​types/node</code> to v22.9.0</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/92c02a00a1b05d13ef79d053e8e8e4aafc1431cd"><code>92c02a0</code></a> chore(deps): lock file maintenance</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/b70221184d8c03f985dc253d1a84169c4b530010"><code>b702211</code></a> chore(deps): update dependency <code>@​types/node</code> to v22.8.7</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/435fd74b2ec5d115590c1a20ba1101bf9a291563"><code>435fd74</code></a> chore(deps): update dependency <code>@​types/node</code> to v22.8.6</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/0626fa3ff3e2030febaa380334fab666814bd24f"><code>0626fa3</code></a> chore(deps): update dependency <code>@​types/node</code> to v22.8.5</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/8817a797cbad83643006b4fafc757bb72a50bd51"><code>8817a79</code></a> chore(deps): update dependency <code>@​types/lodash</code> to v4.17.13</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/54174910beb91e8c0eb59a8449720659f72bf24b"><code>5417491</code></a> chore(deps): update dependency <code>@​types/node</code> to v22.8.4</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/84ef16253002b9f411c38d53e45521709f43247e"><code>84ef162</code></a> chore(deps): update dependency <code>@​types/node</code> to v22.8.2</li>
    <li><a href="https://github.com/tj-actions/changed-files/commit/b672a5115a5ab8c2b27838329a827d3ffda1202c"><code>b672a51</code></a> chore(deps): lock file maintenance</li>
    <li>Additional commits viewable in <a href="https://github.com/tj-actions/changed-files/compare/c3a1bb2c992d77180ae65be6ae6c166cf40f857c...4edd678ac3f81e2dc578756871e4d00c19191daf">compare view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tj-actions/changed-files&package-manager=github_actions&previous-version=45.0.3&new-version=45.0.4)](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>
    dependabot[bot] authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    36d4d1a View commit details
    Browse the repository at this point in the history
  5. chore: use codecov token instead of OIDC (#32129)

    For PR from forks, OIDC doesn't currently work with the latest version of the GitHub Action. 
    
    [Example failure](https://github.com/aws/aws-cdk/actions/runs/11834319601/job/32974759899?pr=32121):
    
    ```console
    Run codecov/codecov-action@v4
    Error: Codecov: Failed to get OIDC token with url: https://codecov.io/. Error message: Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable
    ```
    
    See codecov/codecov-action#1594
    
    Revert back to token until we validate a fix. 
    
    ----
    
    *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
    iliapolo authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    fb97684 View commit details
    Browse the repository at this point in the history
  6. chore(contributing): mention manual PR merge option (#32126)

    Folks are probably already doing this, but just clarify that when a PR is failing status checks you can ping a maintainer for a manual merge if you think its justified. 
    
    ----
    
    *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
    iliapolo authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    339fed1 View commit details
    Browse the repository at this point in the history
  7. fix(cli): failure to get credentials when session token is not set (#…

    …32134)
    
    In Node.js, if you assign `undefined` to an environment variable, that variable ends up having the string `"undefined"`.
    
    If we are using IAM user credentials, `AWS_SESSION_TOKEN` should not be set, but because we were not handling this edge case, it was getting assigned an invalid value:
    
    ```
    Welcome to Node.js v22.9.0.
    Type ".help" for more information.
    > process.env.AWS_SESSION_TOKEN || process.env.AMAZON_SESSION_TOKEN
    undefined
    > process.env.AWS_SESSION_TOKEN = process.env.AWS_SESSION_TOKEN || process.env.AMAZON_SESSION_TOKEN
    undefined
    > process.env.AWS_SESSION_TOKEN
    'undefined'
    ```
    
    Closes #32120.
    
    ### 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*
    otaviomacedo authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    9ef4e72 View commit details
    Browse the repository at this point in the history
  8. fix(cdk): use built-in source map support (#32115)

    ### Reason for this change
    
    We don't need to use the third party `source-map-support` package anymore to achieve the same result.
    
    ### Description of changes
    
    We use `process.setSourceMapsEnabled(true)` instead. However unlike the previous package, this command needs to be run _before_ we import any other files, otherwise it won't work. We therefore move it into the executable.
    
    ### Description of how you validated changes
    
    Manual verification
    
    ### 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 authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    5d499dc View commit details
    Browse the repository at this point in the history
  9. chore(scheduler-targets-alpha): readme updates (#32123)

    ### Issue # (if applicable)
    
    Tracking: #31785 
    
    ### Reason for this change
    
    Improve README quality.
    
    ### Description of changes
    
    Mostly grammar and formatting fixes.
    
    
    ----
    
    *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
    gracelu0 authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    92bfb59 View commit details
    Browse the repository at this point in the history
  10. feat(stepfunctions-tasks): create scheduler (#29458)

    ### Issue # (if applicable)
    
    Closes #29351.
    
    ### Reason for this change
    
    Although the creation of schedule task is supported, the AWS CDK currently lacks the capability to create these without a custom task definition.
    
    ### Description of changes
    
    I've introduced the `EventBridgeSchedulerCreateScheduleTask` class to address this gap.
    
    The original issue discussed the need for both creating and updating schedules. However, to maintain focus and simplicity, this PR will only cover the creation aspect. A subsequent PR will be dedicated to schedule updates.
    
    ### Description of how you validated changes
    
    I have added both integ and unit 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*
    badmintoncryer authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    d14a01c View commit details
    Browse the repository at this point in the history
  11. feat(elasticloadbalancingv2): support target group level cross-zone s…

    …ettings for ALB and NLB (#31814)
    
    ### Issue # (if applicable)
    
    Closes #31790.
    
    ### Reason for this change
    To support target group level cross-zone settings  for ALB and NLB
    
    
    ### Description of changes
    Add `crossZoneEnabled` property to `baseTargetGroup`.
    
    
    ### 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*
    mazyu36 authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    6b0b1e1 View commit details
    Browse the repository at this point in the history
  12. fix(cli): region specified in ~/.aws/credentials is ignored (#32133)

    We just didn't consider the shared credentials file as returned by the SDK when loading configuration. 
    
    Closes #32130.
    
    ### 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*
    iliapolo authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    d1b3c81 View commit details
    Browse the repository at this point in the history
  13. feat(rds): support 8.0.40 engine version for RDS for MySQL (#32117)

    Support new minor version
    
    * Ref: [Amazon RDS for MySQL supports new minor version 8.0.40
    ](https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-rds-mysql-new-minor-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*
    mazyu36 authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    dcb5cf1 View commit details
    Browse the repository at this point in the history
  14. fix(scheduler-targets-alpha): imported target resources as schedule t…

    …arget throws synth error (#32105)
    
    ### Issue # (if applicable)
    
    Tracking #31785 
    
    ### Reason for this change
    
    Similar to what was done in this PR for the Lambda Invoke target: #31837. 
    Reasoning is explained in this [comment](#29615 (comment)):
    > At synth time, there are cases where CDK does not know about the actual environment (e.g. when the environment is using Tokens). In other words, the environment check works in some scenarios and not others. This creates more confusion than benefit.
    IF cross env target support is added in the future, this check will become a blocker for CDK customers to set up cross env target.
    
    
    ### Description of changes
    
    Remove synth-time error that checks for same account and region for all targets to allow use of imported resources as target.
    
    ### Description of how you validated changes
    
    All tests are passing.
    
    ### 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*
    gracelu0 authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    1a8306f View commit details
    Browse the repository at this point in the history
  15. chore(ec2): billing interface vpc endpoint (#32103)

    ### Issue # (if applicable)
    
    None
    
    ### Reason for this change
    
    New interface VPC endpoint has released.
    
    ### Description of changes
    
    Add BILLING `InterfaceVpcEndpointService`.
    
    ### Description of how you validated changes
    
    Execute descrive endpoint CLI:
    
    ```sh
    ❯ aws ec2 describe-vpc-endpoint-services --filters Name=service-type,Values=Interface Name=owner,Values=amazon --region us-east-1 --query ServiceNames | grep billing
        "com.amazonaws.us-east-1.billing", // newly added
        "com.amazonaws.us-east-1.billingconductor",
    ```
    
    ### 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*
    badmintoncryer authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    bf103d5 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2024

  1. fix(eks): eks.AccessEntryType.STANDARD maps to a wrong value (#31147)

    ### Reason for this change
    
    Tried making use of the `eks.AccessEntry` construct, with the `eks.AccessEntryType.STANDARD` as accessEntryType, but the stack deployment failed with the following error: `AccessEntry type must be one of [EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX, STANDARD]`.
    
    Seems like 'Standard' is not alright, suggested also by `eksctl` [docs](https://eksctl.io/usage/access-entries/#iam-entities).
    
    If this is the case, documentation in the following places also needs to be corrected:
    
    - https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateAccessEntry.html
    - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html
    - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_eks.CfnAccessEntry.html#construct-props
    
    ### 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*
    ncsereoka authored Nov 15, 2024
    Configuration menu
    Copy the full SHA
    1bbb456 View commit details
    Browse the repository at this point in the history
  2. fix(scheduler-targets-alpha): scope down permissions for sqs and kine…

    …sis stream targets (#32122)
    
    ### Issue # (if applicable)
    
    Tracking #31785 
    
    ### Reason for this change
    
    We want to enforce principle of least privilege when granting target actions to the scheduler execution role. From the Scheduler docs, only `kinesis:PutRecord` and `sqs:SendMessage` are required. Previously we were using built-in grant methods for these targets that granted additional permissions. If wider permissions are needed the user can always provide their own IAM role for the scheduler to use.
    
    KMS permissions references from service docs:
    - Kinesis stream: https://docs.aws.amazon.com/streams/latest/dev/permissions-user-key-KMS.html#example-producer-permissions
    - SQS Queue: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-key-management.html#sqs-what-permissions-for-sse
    
    ### Description of changes
    
    - Explicitly grant only the necessary target permissions
    - If target uses customer-managed key for SSEKMS, grant key permissions to role as well
    
    ### Description of how you validated changes
    
    - updated unit tests
    - deployed stacks with SSEKMS targets and verified the scheduled actions succeed
    
    ### 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*
    gracelu0 authored Nov 15, 2024
    Configuration menu
    Copy the full SHA
    6bb142e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    52ef4d0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    38baef3 View commit details
    Browse the repository at this point in the history
  5. chore(secrets): bump semanticVersion for aws-gov-cloud (#32146)

    ### Issue # (if applicable)
    
    ### Reason for this change
    
    Need to bump the semanticVersion for gov cloud region.
    
    ### Description of changes
    Bump the version to 1.1.213. This version is validated by an engineer with gov-cloud access.
    
    ### 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*
    xazhao authored Nov 15, 2024
    Configuration menu
    Copy the full SHA
    740db43 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2024

  1. fix(cli): cdk diff always falls back to template only diff (#32165)

    Closes #32160
    
    ### Reason for this change
    
    <!--What is the bug or use case behind this change?-->
    
    When running `cdk deploy`, it is supposed to (by default) create a
    read-only change set and incorporate it within the diff.
    However, it currently fails creating the change-set and always falls
    back to template only diffs.
    
    ### Description of changes
    
    <!--What code changes did you make? Have you made any important design
    decisions?-->
    
    There was a wrong invocation of the `makeBodyParameter` parameter after
    the [migration to sdk v3](#31702).
    
    ### Description of how you validated changes
    
    Added missing integration tests. Unit test for this code are tricky
    because they require too many mocks.
    
    ### 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*
    iliapolo authored Nov 17, 2024
    Configuration menu
    Copy the full SHA
    089e9d8 View commit details
    Browse the repository at this point in the history
  2. fix(cli): the LoadBalancerProvider doesn't match LBs when querying by…

    … a subset of tags (#32164)
    
    There was a regression in the load balancer lookup, in which we started
    requiring that the set of tags in the query is strictly the same as the
    set of tags in the load balancer (rather than merely a subset of it).
    
    Remove the length equality constraint and also simplify the code to make
    the intent clearer.
    
    Fixes #32161.
    
    ### 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*
    
    Co-authored-by: Momo Kornher <[email protected]>
    otaviomacedo and mrgrain authored Nov 17, 2024
    Configuration menu
    Copy the full SHA
    f75dc72 View commit details
    Browse the repository at this point in the history
  3. chore(opensearch): support OpenSearch version 2.17 (#32121)

    ### Issue # (if applicable)
    
    N/A
    
    ### Reason for this change
    Support  OpenSearch version 2.17.
    https://docs.aws.amazon.com/opensearch-service/latest/developerguide/release-notes.html
    
    
    
    ### Description of changes
    Add Enum.
    
    
    
    
    ### 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*
    mazyu36 authored Nov 17, 2024
    Configuration menu
    Copy the full SHA
    50d11a3 View commit details
    Browse the repository at this point in the history
  4. fix(scheduler-targets-alpha): kinesis data firehose target uses l1 in…

    …stead of l2 (#32150)
    
    ### Issue # (if applicable)
    
    Tracking #31785 
    
    ### Reason for this change
    
    Since the Kinesis Data Firehose Alpha module is in developer preview and contains the L2 construct for a Firehose Delivery Stream, we should make this upgrade from L1 to L2 now while the module is experimental instead of in the future, where we would need to add a V2 for this target (like for event targets, see #30189) to avoid breaking customers. 
    
    ### Description of changes
    
    Replace CfnDeliveryStream with IDeliveryStream. The L1 uses `S3DestinationConfiguration` property whereas the L2 uses `ExtendedS3DestinationConfiguration` property  (includes additional fields on top of S3DestinationConfiguration fields). According to 
     https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html, "If you change the delivery stream destination from an Amazon S3 destination to an Amazon ES destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)."
    
    ### Description of how you validated changes
    
    - Updated unit tests and integration test
    - Deployed locally using CfnDeliveryStream then IDeliveryStream and verified the objects are written to the 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*
    
    BREAKING CHANGE: KinesisDataFirehosePutRecord scheduler target now accepts IDeliveryStream instead of CfnDeliveryStream.
    gracelu0 authored Nov 17, 2024
    Configuration menu
    Copy the full SHA
    11384f0 View commit details
    Browse the repository at this point in the history
  5. chore(rds): support postgresql 17 engine version (#32143)

    ### Issue # (if applicable)
    
    None
    
    ### Reason for this change
    
    [AWS RDS now supports for Postgresql 17](https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-rds-postgresql-supports-version-17/).
    
    ### Description of changes
    
    Add below versions
    - 17.1
    - 16.5
    - 15.9
    - 14.14
    - 13.17
    - 12.21
    
    ### 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*
    badmintoncryer authored Nov 17, 2024
    Configuration menu
    Copy the full SHA
    b70ad52 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2024

  1. fix(cli): externally managed stack notification arns are deleted on `…

    …deploy` (#32163)
    
    Closes #32153.
    
    ### Reason for this change
    
    
    
    When a stack contains externally managed notification ARNs (i.e ones that were added outside of CDK), a `cdk deploy` command will remove those ARNs.
    
    ### Description of changes
    
    
    
    We incorrectly default notification ARNs to `[]` instead of `undefined`. When an empty array is passed to the SDK , it reasonably assumes you want to delete existing ARNs (because how otherwise would you delete them). If on the other hand you don't pass notification ARNs at all to the SDK (e.g `undefined`), it will preserve them.
    
    This is the correct behavior and CDK should follow suite. This does however create a (maybe) quirky API ergonomic where in order to remove notification ARNs, one must pass `[]` instead of simply omitting the property. 
    
    This stems from the fact notification ARNs are not managed through the template, but rather through imperative actions. So it seems reasonable al things considered. 
    
    ### Description of how you validated changes
    
    Added both unit 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)
    
    ----
    
    *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
    iliapolo authored Nov 18, 2024
    Configuration menu
    Copy the full SHA
    9966f57 View commit details
    Browse the repository at this point in the history
  2. feat: update L1 CloudFormation resource definitions (#32175)

    Updates the L1 CloudFormation resource definitions with the latest changes from `@aws-cdk/aws-service-spec`
    
    **L1 CloudFormation resource definition changes:**
    ```
    ├[~] service aws-applicationautoscaling
    │ └ resources
    │    └[~] resource AWS::ApplicationAutoScaling::ScalingPolicy
    │      ├ properties
    │      │  └[+] PredictiveScalingPolicyConfiguration: PredictiveScalingPolicyConfiguration
    │      └ types
    │         ├[+] type PredictiveScalingCustomizedCapacityMetric
    │         │ ├  name: PredictiveScalingCustomizedCapacityMetric
    │         │ └ properties
    │         │    └MetricDataQueries: Array<PredictiveScalingMetricDataQuery> (required)
    │         ├[+] type PredictiveScalingCustomizedLoadMetric
    │         │ ├  name: PredictiveScalingCustomizedLoadMetric
    │         │ └ properties
    │         │    └MetricDataQueries: Array<PredictiveScalingMetricDataQuery> (required)
    │         ├[+] type PredictiveScalingCustomizedScalingMetric
    │         │ ├  name: PredictiveScalingCustomizedScalingMetric
    │         │ └ properties
    │         │    └MetricDataQueries: Array<PredictiveScalingMetricDataQuery> (required)
    │         ├[+] type PredictiveScalingMetric
    │         │ ├  name: PredictiveScalingMetric
    │         │ └ properties
    │         │    ├MetricName: string
    │         │    ├Dimensions: Array<PredictiveScalingMetricDimension>
    │         │    └Namespace: string
    │         ├[+] type PredictiveScalingMetricDataQuery
    │         │ ├  name: PredictiveScalingMetricDataQuery
    │         │ └ properties
    │         │    ├ReturnData: boolean
    │         │    ├Expression: string
    │         │    ├Label: string
    │         │    ├MetricStat: PredictiveScalingMetricStat
    │         │    └Id: string
    │         ├[+] type PredictiveScalingMetricDimension
    │         │ ├  name: PredictiveScalingMetricDimension
    │         │ └ properties
    │         │    ├Value: string
    │         │    └Name: string
    │         ├[+] type PredictiveScalingMetricSpecification
    │         │ ├  name: PredictiveScalingMetricSpecification
    │         │ └ properties
    │         │    ├CustomizedLoadMetricSpecification: PredictiveScalingCustomizedLoadMetric
    │         │    ├PredefinedLoadMetricSpecification: PredictiveScalingPredefinedLoadMetric
    │         │    ├TargetValue: number (required)
    │         │    ├PredefinedScalingMetricSpecification: PredictiveScalingPredefinedScalingMetric
    │         │    ├CustomizedCapacityMetricSpecification: PredictiveScalingCustomizedCapacityMetric
    │         │    ├CustomizedScalingMetricSpecification: PredictiveScalingCustomizedScalingMetric
    │         │    └PredefinedMetricPairSpecification: PredictiveScalingPredefinedMetricPair
    │         ├[+] type PredictiveScalingMetricStat
    │         │ ├  name: PredictiveScalingMetricStat
    │         │ └ properties
    │         │    ├Stat: string
    │         │    ├Metric: PredictiveScalingMetric
    │         │    └Unit: string
    │         ├[+] type PredictiveScalingPolicyConfiguration
    │         │ ├  name: PredictiveScalingPolicyConfiguration
    │         │ └ properties
    │         │    ├MaxCapacityBreachBehavior: string
    │         │    ├MaxCapacityBuffer: integer
    │         │    ├Mode: string
    │         │    ├MetricSpecifications: Array<PredictiveScalingMetricSpecification> (required)
    │         │    └SchedulingBufferTime: integer
    │         ├[+] type PredictiveScalingPredefinedLoadMetric
    │         │ ├  name: PredictiveScalingPredefinedLoadMetric
    │         │ └ properties
    │         │    ├PredefinedMetricType: string (required)
    │         │    └ResourceLabel: string
    │         ├[+] type PredictiveScalingPredefinedMetricPair
    │         │ ├  name: PredictiveScalingPredefinedMetricPair
    │         │ └ properties
    │         │    ├PredefinedMetricType: string (required)
    │         │    └ResourceLabel: string
    │         └[+] type PredictiveScalingPredefinedScalingMetric
    │           ├  name: PredictiveScalingPredefinedScalingMetric
    │           └ properties
    │              ├PredefinedMetricType: string (required)
    │              └ResourceLabel: string
    ├[~] service aws-applicationinsights
    │ └ resources
    │    └[~] resource AWS::ApplicationInsights::Application
    │      └ properties
    │         └[+] SNSNotificationArn: string
    ├[~] service aws-applicationsignals
    │ └ resources
    │    └[~] resource AWS::ApplicationSignals::ServiceLevelObjective
    │      ├ properties
    │      │  └[+] BurnRateConfigurations: Array<BurnRateConfiguration>
    │      └ types
    │         └[+] type BurnRateConfiguration
    │           ├  documentation: This object defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. A burn rate of exactly 1 indicates that the SLO goal will be met exactly.
    │           │  For example, if you specify 60 as the number of minutes in the look-back window, the burn rate is calculated as the following:
    │           │  burn rate = error rate over the look-back window / (1 - attainment goal percentage)
    │           │  name: BurnRateConfiguration
    │           └ properties
    │              └LookBackWindowMinutes: integer (required)
    ├[~] service aws-aps
    │ └ resources
    │    └[~] resource AWS::APS::Scraper
    │      └ properties
    │         ├ Alias: - string (immutable)
    │         │        + string
    │         ├ Destination: - Destination (required, immutable)
    │         │              + Destination (required)
    │         └ ScrapeConfiguration: - ScrapeConfiguration (required, immutable)
    │                                + ScrapeConfiguration (required)
    ├[~] service aws-autoscaling
    │ └ resources
    │    └[~] resource AWS::AutoScaling::AutoScalingGroup
    │      ├ properties
    │      │  ├ AvailabilityZoneDistribution: (documentation changed)
    │      │  ├[+] AvailabilityZoneImpairmentPolicy: AvailabilityZoneImpairmentPolicy
    │      │  └[+] SkipZonalShiftValidation: boolean
    │      └ types
    │         ├[~] type AvailabilityZoneDistribution
    │         │ ├  - documentation: undefined
    │         │ │  + documentation: `AvailabilityZoneDistribution` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.
    │         │ └ properties
    │         │    └ CapacityDistributionStrategy: (documentation changed)
    │         ├[+] type AvailabilityZoneImpairmentPolicy
    │         │ ├  name: AvailabilityZoneImpairmentPolicy
    │         │ └ properties
    │         │    ├ZonalShiftEnabled: boolean (required)
    │         │    └ImpairedZoneHealthCheckBehavior: string (required)
    │         ├[+] type BaselinePerformanceFactorsRequest
    │         │ ├  name: BaselinePerformanceFactorsRequest
    │         │ └ properties
    │         │    └Cpu: CpuPerformanceFactorRequest
    │         ├[+] type CpuPerformanceFactorRequest
    │         │ ├  name: CpuPerformanceFactorRequest
    │         │ └ properties
    │         │    └References: Array<PerformanceFactorReferenceRequest>
    │         ├[~] type InstanceRequirements
    │         │ └ properties
    │         │    └[+] BaselinePerformanceFactors: BaselinePerformanceFactorsRequest
    │         └[+] type PerformanceFactorReferenceRequest
    │           ├  name: PerformanceFactorReferenceRequest
    │           └ properties
    │              └InstanceFamily: string
    ├[~] service aws-batch
    │ └ resources
    │    └[~] resource AWS::Batch::ComputeEnvironment
    │      └ types
    │         ├[~] type LaunchTemplateSpecification
    │         │ └ properties
    │         │    ├[+] Overrides: Array<LaunchTemplateSpecificationOverride>
    │         │    └ Version: (documentation changed)
    │         └[+] type LaunchTemplateSpecificationOverride
    │           ├  documentation: An object that represents a launch template to use in place of the default launch template. You must specify either the launch template ID or launch template name in the request, but not both.
    │           │  If security groups are specified using both the `securityGroupIds` parameter of `CreateComputeEnvironment` and the launch template, the values in the `securityGroupIds` parameter of `CreateComputeEnvironment` will be used.
    │           │  You can define up to ten (10) overrides for each compute environment.
    │           │  > This object isn't applicable to jobs that are running on Fargate resources. > To unset all override templates for a compute environment, you can pass an empty array to the [UpdateComputeEnvironment.overrides](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html) parameter, or not include the `overrides` parameter when submitting the `UpdateComputeEnvironment` API operation.
    │           │  name: LaunchTemplateSpecificationOverride
    │           └ properties
    │              ├LaunchTemplateId: string
    │              ├LaunchTemplateName: string
    │              ├Version: string
    │              └TargetInstanceTypes: Array<string>
    ├[~] service aws-bedrock
    │ └ resources
    │    ├[~] resource AWS::Bedrock::Flow
    │    │ └ types
    │    │    ├[~] type KnowledgeBaseFlowNodeConfiguration
    │    │    │ └ properties
    │    │    │    └ GuardrailConfiguration: (documentation changed)
    │    │    ├[~] type PromptFlowNodeConfiguration
    │    │    │ └ properties
    │    │    │    └ GuardrailConfiguration: (documentation changed)
    │    │    └[~] type PromptTemplateConfiguration
    │    │      └  - documentation: Contains the message for a prompt. For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    │    │         + documentation: Contains the message for a prompt. For more information, see [Construct and store reusable prompts with Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    │    ├[~] resource AWS::Bedrock::FlowVersion
    │    │ └ types
    │    │    ├[~] type KnowledgeBaseFlowNodeConfiguration
    │    │    │ └ properties
    │    │    │    └ GuardrailConfiguration: (documentation changed)
    │    │    ├[~] type PromptFlowNodeConfiguration
    │    │    │ └ properties
    │    │    │    └ GuardrailConfiguration: (documentation changed)
    │    │    └[~] type PromptTemplateConfiguration
    │    │      └  - documentation: Contains the message for a prompt. For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    │    │         + documentation: Contains the message for a prompt. For more information, see [Construct and store reusable prompts with Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    │    ├[~] resource AWS::Bedrock::Prompt
    │    │ └ types
    │    │    └[~] type PromptTemplateConfiguration
    │    │      └  - documentation: Contains the message for a prompt. For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    │    │         + documentation: Contains the message for a prompt. For more information, see [Construct and store reusable prompts with Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    │    └[~] resource AWS::Bedrock::PromptVersion
    │      └ types
    │         └[~] type PromptTemplateConfiguration
    │           └  - documentation: Contains the message for a prompt. For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    │              + documentation: Contains the message for a prompt. For more information, see [Construct and store reusable prompts with Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .
    ├[~] service aws-cleanrooms
    │ └ resources
    │    ├[~] resource AWS::CleanRooms::Collaboration
    │    │ └ properties
    │    │    └ AnalyticsEngine: (documentation changed)
    │    ├[~] resource AWS::CleanRooms::IdNamespaceAssociation
    │    │ └ properties
    │    │    └ Tags: (documentation changed)
    │    └[~] resource AWS::CleanRooms::Membership
    │      └ types
    │         └[~] type ProtectedQueryS3OutputConfiguration
    │           └ properties
    │              └ SingleFileOutput: (documentation changed)
    ├[~] service aws-cloudformation
    │ └ resources
    │    ├[+] resource AWS::CloudFormation::GuardHook
    │    │ ├  name: GuardHook
    │    │ │  cloudFormationType: AWS::CloudFormation::GuardHook
    │    │ │  documentation: This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.
    │    │ ├ properties
    │    │ │  ├RuleLocation: S3Location (required)
    │    │ │  ├LogBucket: string
    │    │ │  ├HookStatus: string (required, default="DISABLED")
    │    │ │  ├TargetOperations: Array<string> (required)
    │    │ │  ├FailureMode: string (required, default="WARN")
    │    │ │  ├TargetFilters: TargetFilters
    │    │ │  ├StackFilters: StackFilters
    │    │ │  ├Alias: string (required, immutable)
    │    │ │  ├ExecutionRole: string (required, immutable)
    │    │ │  └Options: Options
    │    │ ├ attributes
    │    │ │  └HookArn: string
    │    │ └ types
    │    │    ├type S3Location
    │    │    │├  documentation: S3 Source Location for the Guard files.
    │    │    ││  name: S3Location
    │    │    │└ properties
    │    │    │   ├Uri: string (required)
    │    │    │   └VersionId: string
    │    │    ├type TargetFilters
    │    │    │├  name: TargetFilters
    │    │    │└ properties
    │    │    │   ├TargetNames: Array<string>
    │    │    │   ├Actions: Array<string>
    │    │    │   └InvocationPoints: Array<string>
    │    │    ├type StackFilters
    │    │    │├  documentation: Filters to allow hooks to target specific stack attributes
    │    │    ││  name: StackFilters
    │    │    │└ properties
    │    │    │   ├FilteringCriteria: string (required, default="ALL")
    │    │    │   ├StackNames: StackNames
    │    │    │   └StackRoles: StackRoles
    │    │    ├type StackNames
    │    │    │├  documentation: List of stack names as filters
    │    │    ││  name: StackNames
    │    │    │└ properties
    │    │    │   ├Include: Array<string>
    │    │    │   └Exclude: Array<string>
    │    │    ├type StackRoles
    │    │    │├  documentation: List of stack roles that are performing the stack operations.
    │    │    ││  name: StackRoles
    │    │    │└ properties
    │    │    │   ├Include: Array<string>
    │    │    │   └Exclude: Array<string>
    │    │    └type Options
    │    │     ├  name: Options
    │    │     └ properties
    │    │        └InputParams: S3Location
    │    └[+] resource AWS::CloudFormation::LambdaHook
    │      ├  name: LambdaHook
    │      │  cloudFormationType: AWS::CloudFormation::LambdaHook
    │      │  documentation: This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.
    │      ├ properties
    │      │  ├LambdaFunction: string (required)
    │      │  ├HookStatus: string (required, default="ENABLED")
    │      │  ├TargetOperations: Array<string> (required)
    │      │  ├FailureMode: string (required)
    │      │  ├TargetFilters: TargetFilters
    │      │  ├StackFilters: StackFilters
    │      │  ├Alias: string (required, immutable)
    │      │  └ExecutionRole: string (required)
    │      ├ attributes
    │      │  └HookArn: string
    │      └ types
    │         ├type TargetFilters
    │         │├  name: TargetFilters
    │         │└ properties
    │         │   ├TargetNames: Array<string>
    │         │   ├Actions: Array<string>
    │         │   └InvocationPoints: Array<string>
    │         ├type StackFilters
    │         │├  documentation: Filters to allow hooks to target specific stack attributes
    │         ││  name: StackFilters
    │         │└ properties
    │         │   ├FilteringCriteria: string (required, default="ALL")
    │         │   ├StackNames: StackNames
    │         │   └StackRoles: StackRoles
    │         ├type StackNames
    │         │├  documentation: List of stack names as filters
    │         ││  name: StackNames
    │         │└ properties
    │         │   ├Include: Array<string>
    │         │   └Exclude: Array<string>
    │         └type StackRoles
    │          ├  documentation: List of stack roles that are performing the stack operations.
    │          │  name: StackRoles
    │          └ properties
    │             ├Include: Array<string>
    │             └Exclude: Array<string>
    ├[~] service aws-cloudfront
    │ └ resources
    │    └[~] resource AWS::CloudFront::Function
    │      └ attributes
    │         └ Stage: (documentation changed)
    ├[~] service aws-cloudtrail
    │ └ resources
    │    ├[~] resource AWS::CloudTrail::EventDataStore
    │    │ └ types
    │    │    ├[~] type AdvancedEventSelector
    │    │    │ └  - documentation: Advanced event selectors let you create fine-grained selectors for AWS CloudTrail management, data, and network activity events. They help you control costs by logging only those events that are important to you. For more information about configuring advanced event selectors, see the [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) , [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) , and [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) topics in the *AWS CloudTrail User Guide* .
    │    │    │    You cannot apply both event selectors and advanced event selectors to a trail.
    │    │    │    *Supported CloudTrail event record fields for management events*
    │    │    │    - `eventCategory` (required)
    │    │    │    - `eventSource`
    │    │    │    - `readOnly`
    │    │    │    *Supported CloudTrail event record fields for data events*
    │    │    │    - `eventCategory` (required)
    │    │    │    - `resources.type` (required)
    │    │    │    - `readOnly`
    │    │    │    - `eventName`
    │    │    │    - `resources.ARN`
    │    │    │    *Supported CloudTrail event record fields for network activity events*
    │    │    │    > Network activity events is in preview release for CloudTrail and is subject to change. 
    │    │    │    - `eventCategory` (required)
    │    │    │    - `eventSource` (required)
    │    │    │    - `eventName`
    │    │    │    - `errorCode` - The only valid value for `errorCode` is `VpceAccessDenied` .
    │    │    │    - `vpcEndpointId`
    │    │    │    > For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .
    │    │    │    + documentation: Advanced event selectors let you create fine-grained selectors for AWS CloudTrail management, data, and network activity events. They help you control costs by logging only those events that are important to you. For more information about configuring advanced event selectors, see the [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) , [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) , and [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) topics in the *AWS CloudTrail User Guide* .
    │    │    │    You cannot apply both event selectors and advanced event selectors to a trail.
    │    │    │    *Supported CloudTrail event record fields for management events*
    │    │    │    - `eventCategory` (required)
    │    │    │    - `eventSource`
    │    │    │    - `readOnly`
    │    │    │    The following additional fields are available for event data stores:
    │    │    │    - `eventName`
    │    │    │    - `eventType`
    │    │    │    - `sessionCredentialFromConsole`
    │    │    │    - `userIdentity.arn`
    │    │    │    *Supported CloudTrail event record fields for data events*
    │    │    │    - `eventCategory` (required)
    │    │    │    - `resources.type` (required)
    │    │    │    - `readOnly`
    │    │    │    - `eventName`
    │    │    │    - `resources.ARN`
    │    │    │    The following additional fields are available for event data stores:
    │    │    │    - `eventSource`
    │    │    │    - `eventType`
    │    │    │    - `sessionCredentialFromConsole`
    │    │    │    - `userIdentity.arn`
    │    │    │    *Supported CloudTrail event record fields for network activity events*
    │    │    │    > Network activity events is in preview release for CloudTrail and is subject to change. 
    │    │    │    - `eventCategory` (required)
    │    │    │    - `eventSource` (required)
    │    │    │    - `eventName`
    │    │    │    - `errorCode` - The only valid value for `errorCode` is `VpceAccessDenied` .
    │    │    │    - `vpcEndpointId`
    │    │    │    > For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .
    │    │    └[~] type AdvancedFieldSelector
    │    │      └ properties
    │    │         └ Field: (documentation changed)
    │    └[~] resource AWS::CloudTrail::Trail
    │      └ types
    │         ├[~] type AdvancedEventSelector
    │         │ └  - documentation: Advanced event selectors let you create fine-grained selectors for AWS CloudTrail management, data, and network activity events. They help you control costs by logging only those events that are important to you. For more information about configuring advanced event selectors, see the [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) , [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) , and [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) topics in the *AWS CloudTrail User Guide* .
    │         │    You cannot apply both event selectors and advanced event selectors to a trail.
    │         │    *Supported CloudTrail event record fields for management events*
    │         │    - `eventCategory` (required)
    │         │    - `eventSource`
    │         │    - `readOnly`
    │         │    *Supported CloudTrail event record fields for data events*
    │         │    - `eventCategory` (required)
    │         │    - `resources.type` (required)
    │         │    - `readOnly`
    │         │    - `eventName`
    │         │    - `resources.ARN`
    │         │    *Supported CloudTrail event record fields for network activity events*
    │         │    > Network activity events is in preview release for CloudTrail and is subject to change. 
    │         │    - `eventCategory` (required)
    │         │    - `eventSource` (required)
    │         │    - `eventName`
    │         │    - `errorCode` - The only valid value for `errorCode` is `VpceAccessDenied` .
    │         │    - `vpcEndpointId`
    │         │    > For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .
    │         │    + documentation: Advanced event selectors let you create fine-grained selectors for AWS CloudTrail management, data, and network activity events. They help you control costs by logging only those events that are important to you. For more information about configuring advanced event selectors, see the [Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) , [Logging network activity events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-network-events-with-cloudtrail.html) , and [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html) topics in the *AWS CloudTrail User Guide* .
    │         │    You cannot apply both event selectors and advanced event selectors to a trail.
    │         │    *Supported CloudTrail event record fields for management events*
    │         │    - `eventCategory` (required)
    │         │    - `eventSource`
    │         │    - `readOnly`
    │         │    The following additional fields are available for event data stores:
    │         │    - `eventName`
    │         │    - `eventType`
    │         │    - `sessionCredentialFromConsole`
    │         │    - `userIdentity.arn`
    │         │    *Supported CloudTrail event record fields for data events*
    │         │    - `eventCategory` (required)
    │         │    - `resources.type` (required)
    │         │    - `readOnly`
    │         │    - `eventName`
    │         │    - `resources.ARN`
    │         │    The following additional fields are available for event data stores:
    │         │    - `eventSource`
    │         │    - `eventType`
    │         │    - `sessionCredentialFromConsole`
    │         │    - `userIdentity.arn`
    │         │    *Supported CloudTrail event record fields for network activity events*
    │         │    > Network activity events is in preview release for CloudTrail and is subject to change. 
    │         │    - `eventCategory` (required)
    │         │    - `eventSource` (required)
    │         │    - `eventName`
    │         │    - `errorCode` - The only valid value for `errorCode` is `VpceAccessDenied` .
    │         │    - `vpcEndpointId`
    │         │    > For event data stores for CloudTrail Insights events, AWS Config configuration items, Audit Manager evidence, or events outside of AWS , the only supported field is `eventCategory` .
    │         └[~] type AdvancedFieldSelector
    │           └ properties
    │              └ Field: (documentation changed)
    ├[~] service aws-codebuild
    │ └ resources
    │    └[~] resource AWS::CodeBuild::Fleet
    │      ├ properties
    │      │  ├[+] ComputeConfiguration: ComputeConfiguration
    │      │  ├ EnvironmentType: (documentation changed)
    │      │  ├[+] FleetProxyConfiguration: ProxyConfiguration
    │      │  └[+] ScalingConfiguration: ScalingConfigurationInput
    │      └ types
    │         ├[+] type ComputeConfiguration
    │         │ ├  documentation: Contains compute attributes. These attributes only need be specified when your project's or fleet's `computeType` is set to `ATTRIBUTE_BASED_COMPUTE` .
    │         │ │  name: ComputeConfiguration
    │         │ └ properties
    │         │    ├vCpu: integer
    │         │    ├memory: integer
    │         │    ├disk: integer
    │         │    └machineType: string
    │         ├[+] type FleetProxyRule
    │         │ ├  documentation: Information about the proxy rule for your reserved capacity instances.
    │         │ │  name: FleetProxyRule
    │         │ └ properties
    │         │    ├Type: string
    │         │    ├Effect: string
    │         │    └Entities: Array<string>
    │         ├[+] type ProxyConfiguration
    │         │ ├  documentation: Information about the proxy configurations that apply network access control to your reserved capacity instances.
    │         │ │  name: ProxyConfiguration
    │         │ └ properties
    │         │    ├DefaultBehavior: string
    │         │    └OrderedProxyRules: Array<FleetProxyRule>
    │         ├[+] type ScalingConfigurationInput
    │         │ ├  documentation: The scaling configuration input of a compute fleet.
    │         │ │  name: ScalingConfigurationInput
    │         │ └ properties
    │         │    ├MaxCapacity: integer
    │         │    ├ScalingType: string
    │         │    └TargetTrackingScalingConfigs: Array<TargetTrackingScalingConfiguration>
    │         └[+] type TargetTrackingScalingConfiguration
    │           ├  documentation: Defines when a new instance is auto-scaled into the compute fleet.
    │           │  name: TargetTrackingScalingConfiguration
    │           └ properties
    │              ├MetricType: string
    │              └TargetValue: number
    ├[+] service aws-connectcampaignsv2
    │ ├  capitalized: ConnectCampaignsV2
    │ │  cloudFormationNamespace: AWS::ConnectCampaignsV2
    │ │  name: aws-connectcampaignsv2
    │ │  shortName: connectcampaignsv2
    │ └ resources
    │    └resource AWS::ConnectCampaignsV2::Campaign
    │     ├  name: Campaign
    │     │  cloudFormationType: AWS::ConnectCampaignsV2::Campaign
    │     │  documentation: Definition of AWS::ConnectCampaignsV2::Campaign Resource Type
    │     │  tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
    │     ├ properties
    │     │  ├Name: string (required)
    │     │  ├ConnectInstanceId: string (required, immutable)
    │     │  ├ChannelSubtypeConfig: ChannelSubtypeConfig (required)
    │     │  ├Source: Source
    │     │  ├ConnectCampaignFlowArn: string
    │     │  ├Schedule: Schedule
    │     │  ├CommunicationTimeConfig: CommunicationTimeConfig
    │     │  ├CommunicationLimitsOverride: CommunicationLimitsConfig
    │     │  └Tags: Array<tag>
    │     ├ attributes
    │     │  └Arn: string
    │     └ types
    │        ├type ChannelSubtypeConfig
    │        │├  documentation: The possible types of channel subtype config parameters
    │        ││  name: ChannelSubtypeConfig
    │        │└ properties
    │        │   ├Telephony: TelephonyChannelSubtypeConfig
    │        │   ├Sms: SmsChannelSubtypeConfig
    │        │   └Email: EmailChannelSubtypeConfig
    │        ├type TelephonyChannelSubtypeConfig
    │        │├  documentation: Telephony Channel Subtype config
    │        ││  name: TelephonyChannelSubtypeConfig
    │        │└ properties
    │        │   ├Capacity: number
    │        │   ├ConnectQueueId: string
    │        │   ├OutboundMode: TelephonyOutboundMode (required)
    │        │   └DefaultOutboundConfig: TelephonyOutboundConfig (required)
    │        ├type TelephonyOutboundMode
    │        │├  documentation: Telephony Outbound Mode
    │        ││  name: TelephonyOutboundMode
    │        │└ properties
    │        │   ├ProgressiveConfig: ProgressiveConfig
    │        │   ├PredictiveConfig: PredictiveConfig
    │        │   └AgentlessConfig: json
    │        ├type ProgressiveConfig
    │        │├  documentation: Progressive config
    │        ││  name: ProgressiveConfig
    │        │└ properties
    │        │   └BandwidthAllocation: number (required)
    │        ├type PredictiveConfig
    │        │├  documentation: Predictive config
    │        ││  name: PredictiveConfig
    │        │└ properties
    │        │   └BandwidthAllocation: number (required)
    │        ├type TelephonyOutboundConfig
    │        │├  documentation: Default Telephone Outbound config
    │        ││  name: TelephonyOutboundConfig
    │        │└ properties
    │        │   ├ConnectContactFlowId: string (required)
    │        │   ├ConnectSourcePhoneNumber: string
    │        │   └AnswerMachineDetectionConfig: AnswerMachineDetectionConfig
    │        ├type AnswerMachineDetectionConfig
    │        │├  documentation: The configuration used for answering machine detection during outbound calls
    │        ││  name: AnswerMachineDetectionConfig
    │        │└ properties
    │        │   ├EnableAnswerMachineDetection: boolean (required)
    │        │   └AwaitAnswerMachinePrompt: boolean
    │        ├type SmsChannelSubtypeConfig
    │        │├  documentation: SMS Channel Subtype config
    │        ││  name: SmsChannelSubtypeConfig
    │        │└ properties
    │        │   ├Capacity: number
    │        │   ├OutboundMode: SmsOutboundMode (required)
    │        │   └DefaultOutboundConfig: SmsOutboundConfig (required)
    │        ├type SmsOutboundMode
    │        │├  documentation: SMS Outbound Mode
    │        ││  name: SmsOutboundMode
    │        │└ properties
    │        │   └AgentlessConfig: json
    │        ├type SmsOutboundConfig
    │        │├  documentation: Default SMS outbound config
    │        ││  name: SmsOutboundConfig
    │        │└ properties
    │        │   ├ConnectSourcePhoneNumberArn: string (required)
    │        │   └WisdomTemplateArn: string (required)
    │        ├type EmailChannelSubtypeConfig
    │        │├  documentation: Email Channel Subtype config
    │        ││  name: EmailChannelSubtypeConfig
    │        │└ properties
    │        │   ├Capacity: number
    │        │   ├OutboundMode: EmailOutboundMode (required)
    │        │   └DefaultOutboundConfig: EmailOutboundConfig (required)
    │        ├type EmailOutboundMode
    │        │├  documentation: Email Outbound Mode
    │        ││  name: EmailOutboundMode
    │        │└ properties
    │        │   └AgentlessConfig: json
    │        ├type EmailOutboundConfig
    │        │├  documentation: Default SMS outbound config
    │        ││  name: EmailOutboundConfig
    │        │└ properties
    │        │   ├ConnectSourceEmailAddress: string (required)
    │        │   ├SourceEmailAddressDisplayName: string
    │        │   └WisdomTemplateArn: string (required)
    │        ├type Source
    │        │├  documentation: The possible types of channel config parameters
    │        ││  name: Source
    │        │└ properties
    │        │   └CustomerProfilesSegmentArn: string (required)
    │        ├type Schedule
    │        │├  documentation: Campaign schedule
    │        ││  name: Schedule
    │        │└ properties
    │        │   ├StartTime: string (required)
    │        │   ├EndTime: string (required)
    │        │   └RefreshFrequency: string
    │        ├type CommunicationTimeConfig
    │        │├  documentation: Campaign communication time config
    │        ││  name: CommunicationTimeConfig
    │        │└ properties
    │        │   ├LocalTimeZoneConfig: LocalTimeZoneConfig (required)
    │        │   ├Telephony: TimeWindow
    │        │   ├Sms: TimeWindow
    │        │   └Email: TimeWindow
    │        ├type LocalTimeZoneConfig
    │        │├  documentation: Local time zone config
    │        ││  name: LocalTimeZoneConfig
    │        │└ properties
    │        │   ├DefaultTimeZone: string
    │        │   └LocalTimeZoneDetection: Array<string>
    │        ├type TimeWindow
    │        │├  documentation: Time window config
    │        ││  name: TimeWindow
    │        │└ properties
    │        │   ├OpenHours: OpenHours (required)
    │        │   └RestrictedPeriods: RestrictedPeriods
    │        ├type OpenHours
    │        │├  documentation: Open Hours config
    │        ││  name: OpenHours
    │        │└ properties
    │        │   └DailyHours: Array<DailyHour> (required)
    │        ├type DailyHour
    │        │├  documentation: Daily Hour
    │        ││  name: DailyHour
    │        │└ properties
    │        │   ├Key: string
    │        │   └Value: Array<TimeRange>
    │        ├type TimeRange
    │        │├  documentation: Time range in 24 hour format
    │        ││  name: TimeRange
    │        │└ properties
    │        │   ├StartTime: string (required)
    │        │   └EndTime: string (required)
    │        ├type RestrictedPeriods
    │        │├  documentation: Restricted period config
    │        ││  name: RestrictedPeriods
    │        │└ properties
    │        │   └RestrictedPeriodList: Array<RestrictedPeriod> (required)
    │        ├type RestrictedPeriod
    │        │├  documentation: Restricted period
    │        ││  name: RestrictedPeriod
    │        │└ properties
    │        │   ├Name: string
    │        │   ├StartDate: string (required)
    │        │   └EndDate: string (required)
    │        ├type CommunicationLimitsConfig
    │        │├  documentation: Communication limits config
    │        ││  name: CommunicationLimitsConfig
    │        │└ properties
    │        │   └AllChannelsSubtypes: CommunicationLimits
    │        ├type CommunicationLimits
    │        │├  documentation: Communication limits
    │        ││  name: CommunicationLimits
    │        │└ properties
    │        │   └CommunicationLimitList: Array<CommunicationLimit>
    │        └type CommunicationLimit
    │         ├  documentation: Communication Limit
    │         │  name: CommunicationLimit
    │         └ properties
    │            ├MaxCountPerRecipient: integer (required)
    │            ├Frequency: integer (required)
    │            └Unit: string (required)
    ├[~] service aws-dynamodb
    │ └ resources
    │    ├[~] resource AWS::DynamoDB::GlobalTable
    │    │ ├ properties
    │    │ │  ├[+] WarmThroughput: WarmThroughput
    │    │ │  └ WriteOnDemandThroughputSettings: (documentation changed)
    │    │ └ types
    │    │    ├[~] type GlobalSecondaryIndex
    │    │    │ └ properties
    │    │    │    ├[+] WarmThroughput: WarmThroughput
    │    │    │    └ WriteOnDemandThroughputSettings: (documentation changed)
    │    │    ├[~] type ReadOnDemandThroughputSettings
    │    │    │ └  - documentation: Sets the read request settings for a replica table or a replica global secondary index. You must specify this setting if you set the `BillingMode` to `PAY_PER_REQUEST` .
    │    │    │    + documentation: Sets the read request settings for a replica table or a replica global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .
    │    │    ├[~] type ReplicaGlobalSecondaryIndexSpecification
    │    │    │ └ properties
    │    │    │    └ ReadOnDemandThroughputSettings: (documentation changed)
    │    │    ├[+] type WarmThroughput
    │    │    │ ├  name: WarmThroughput
    │    │    │ └ properties
    │    │    │    ├ReadUnitsPerSecond: integer
    │    │    │    └WriteUnitsPerSecond: integer
    │    │    └[~] type WriteOnDemandThroughputSettings
    │    │      └  - documentation: Sets the write request settings for a global table or a global secondary index. You must specify this setting if you set the `BillingMode` to `PAY_PER_REQUEST` .
    │    │         + documentation: Sets the write request settings for a global table or a global secondary index. You can only specify this setting if your resource uses the `PAY_PER_REQUEST` `BillingMode` .
    │    └[~] resource AWS::DynamoDB::Table
    │      ├  - documentation: The `AWS::DynamoDB::Table` resource creates a DynamoDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *Amazon DynamoDB API Reference* .
    │      │  You should be aware of the following behaviors when working with DynamoDB tables:
    │      │  - AWS CloudFormation typically creates DynamoDB tables in parallel. However, if your template includes multiple DynamoDB tables with indexes, you must declare dependencies so that the tables are created sequentially. Amazon DynamoDB limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DynamoDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute) .
    │      │  > Our guidance is to use the latest schema documented here for your AWS CloudFormation templates. This schema supports the provisioning of all table settings below. When using this schema in your AWS CloudFormation templates, please ensure that your Identity and Access Management ( IAM ) policies are updated with appropriate permissions to allow for the authorization of these setting changes.
    │      │  + documentation: The `AWS::DynamoDB::Table` resource creates a DynamoDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *Amazon DynamoDB API Reference* .
    │      │  You should be aware of the following behaviors when working with DynamoDB tables:
    │      │  - AWS CloudFormation typically creates DynamoDB tables in parallel. However, if your template includes multiple DynamoDB tables with indexes, you must declare dependencies so that the tables are created sequentially. Amazon DynamoDB limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DynamoDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute) .
    │      │  > Our guidance is to use the latest schema documented for your AWS CloudFormation templates. This schema supports the provisioning of all table settings below. When using this schema in your AWS CloudFormation templates, please ensure that your Identity and Access Management ( IAM ) policies are updated with appropriate permissions to allow for the authorization of these setting changes.
    │      ├ properties
    │      │  └[+] WarmThroughput: WarmThroughput
    │      └ types
    │         ├[~] type GlobalSecondaryIndex
    │         │ └ properties
    │         │    └[+] WarmThroughput: WarmThroughput
    │         └[+] type WarmThroughput
    │           ├  name: WarmThroughput
    │           └ properties
    │              ├ReadUnitsPerSecond: integer
    │              └WriteUnitsPerSecond: integer
    ├[~] service aws-ec2
    │ └ resources
    │    └[~] resource AWS::EC2::CapacityReservation
    │      └ properties
    │         └ UnusedReservationBillingOwnerId: (documentation changed)
    ├[~] service aws-ecs
    │ └ resources
    │    ├[~] resource AWS::ECS::Service
    │    │ ├ properties
    │    │ │  ├[+] AvailabilityZoneRebalancing: string (default="DISABLED")
    │    │ │  └[+] VpcLatticeConfigurations: Array<VpcLatticeConfiguration>
    │    │ └ types
    │    │    └[+] type VpcLatticeConfiguration
    │    │      ├  name: VpcLatticeConfiguration
    │    │      └ properties
    │    │         ├TargetGroupArn: string (required)
    │    │         ├PortName: string (required)
    │    │         └RoleArn: string (required)
    │    └[~] resource AWS::ECS::TaskDefinition
    │      └ types
    │         └[~] type ContainerDefinition
    │           └ properties
    │              └[+] VersionConsistency: string (default="enabled")
    ├[~] service aws-elasticloadbalancingv2
    │ └ resources
    │    └[~] resource AWS::ElasticLoadBalancingV2::LoadBalancer
    │      ├ properties
    │      │  └[+] EnablePrefixForIpv6SourceNat: string
    │      └ types
    │         └[~] type SubnetMapping
    │           └ properties
    │              └[+] SourceNatIpv6Prefix: string
    ├[~] service aws-fis
    │ └ resources
    │    └[~] resource AWS::FIS::ExperimentTemplate
    │      ├ properties
    │      │  └[+] ExperimentReportConfiguration: ExperimentTemplateExperimentReportConfiguration
    │      └ types
    │         ├[+] type CloudWatchDashboard
    │         │ ├  documentation: The CloudWatch dashboards to include as data sources in the experiment report.
    │         │ │  name: CloudWatchDashboard
    │         │ └ properties
    │         │    └DashboardIdentifier: string (required)
    │         ├[+] type DataSources
    │         │ ├  documentation: Describes the data sources for the experiment report.
    │         │ │  name: DataSources
    │         │ └ properties
    │         │    └CloudWatchDashboards: Array<CloudWatchDashboard>
    │         ├[+] type ExperimentReportS3Configuration
    │         │ ├  documentation: The S3 destination for the experiment report.
    │         │ │  name: ExperimentReportS3Configuration
    │         │ └ properties
    │         │    ├BucketName: string (required)
    │         │    └Prefix: string
    │         ├[+] type ExperimentTemplateExperimentReportConfiguration
    │         │ ├  documentation: Describes the report configuration for the experiment template.
    │         │ │  name: ExperimentTemplateExperimentReportConfiguration
    │         │ └ properties
    │         │    ├Outputs: Outputs (required)
    │         │    ├DataSources: DataSources (required)
    │         │    ├PreExperimentDuration: string
    │         │    └PostExperimentDuration: string
    │         └[+] type Outputs
    │           ├  documentation: Describes the output destinations of the experiment report.
    │           │  name: Outputs
    │           └ properties
    │              └ExperimentReportS3Configuration: ExperimentReportS3Configuration (required)
    ├[~] service aws-gamelift
    │ └ resources
    │    ├[~] resource AWS::GameLift::Build
    │    │ └ properties
    │    │    └ OperatingSystem: (documentation changed)
    │    ├[+] resource AWS::GameLift::ContainerFleet
    │    │ ├  name: ContainerFleet
    │    │ │  cloudFormationType: AWS::GameLift::ContainerFleet
    │    │ │  documentation: The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers.
    │    │ │  tagInformation: {"tagPropertyName":"Tags","variant":"standard"}
    │    │ ├ properties
    │    │ │  ├FleetRoleArn: string (required)
    │    │ │  ├Description: string
    │    │ │  ├GameServerContainerGroupDefinitionName: string
    │    │ │  ├PerInstanceContainerGroupDefinitionName: string
    │    │ │  ├InstanceConnectionPortRange: ConnectionPortRange
    │    │ │  ├InstanceInboundPermissions: Array<IpPermission>
    │    │ │  ├GameServerContainerGroupsPerInstance: integer
    │    │ │  ├DeploymentConfiguration: DeploymentConfiguration
    │    │ │  ├InstanceType: string (immutable)
    │    │ │  ├BillingType: string (immutable)
    │    │ │  ├Locations: Array<LocationConfiguration> (immutable)
    │    │ │  ├ScalingPolicies: Array<ScalingPolicy>
    │    │ │  ├MetricGroups: Array<string>
    │    │ │  ├NewGameSessionProtectionPolicy: string
    │    │ │  ├GameSessionCreationLimitPolicy: GameSessionCreationLimitPolicy
    │    │ │  ├LogConfiguration: LogConfiguration
    │    │ │  └Tags: Array<tag>
    │    │ ├ attributes
    │    │ │  ├CreationTime: string
    │    │ │  ├Status: string
    │    │ │  ├FleetId: string
    │    │ │  ├FleetArn: string
    │    │ │  ├DeploymentDetails: DeploymentDetails
    │    │ │  ├GameServerContainerGroupDefinitionArn: string
    │    │ │  ├PerInstanceContainerGroupDefinitionArn: string
    │    │ │  └MaximumGameServerContainerGroupsPerInstance: integer
    │    │ └ types
    │    │    ├type ConnectionPortRange
    │    │    │├  documentation: Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.
    │    │    ││  name: ConnectionPortRange
    │    │    │└ properties
    │    │    │   ├FromPort: integer (required)
    │    │    │   └ToPort: integer (required)
    │    │    ├type IpPermission
    │    │    │├  documentation: A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.
    │    │    ││  name: IpPermission
    │    │    │└ properties
    │    │    │   ├FromPort: integer (required)
    │    │    │   ├IpRange: string (required)
    │    │    │   ├Protocol: string (required)
    │    │    │   └ToPort: integer (required)
    │    │    ├type DeploymentDetails
    │    │    │├  documentation: Provides information about the last deployment ID and its status.
    │    │    ││  name: DeploymentDetails
    │    │    │└ properties
    │    │    │   └LatestDeploymentId: string
    │    │    ├type DeploymentConfiguration
    │    │    │├  documentation: Provides details about how to drain old tasks and replace them with new updated tasks.
    │    │    ││  name: DeploymentConfiguration
    │    │    │└ properties
    │    │    │   ├ProtectionStrategy: string
    │    │    │   ├MinimumHealthyPercentage: integer
    │    │    │   └ImpairmentStrategy: string
    │    │    ├type LocationConfiguration
    │    │    │├  documentation: A remote location where a multi-location fleet can deploy EC2 instances for game hosting.
    │    │    ││  name: LocationConfiguration
    │    │    │└ properties
    │    │    │   ├Location: string (required)
    │    │    │   ├LocationCapacity: LocationCapacity
    │    │    │   └StoppedActions: Array<string>
    │    │    ├type LocationCapacity
    │    │    │├  documentation: Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.
    │    │    ││  name: LocationCapacity
    │    │    │└ properties
    │    │    │   ├DesiredEC2Instances: integer (required)
    │    │    │   ├MinSize: integer (required)
    │    │    │   └MaxSize: integer (required)
    │    │    ├type ScalingPolicy
    │    │    │├  documentation: Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.
    │    │    ││  name: ScalingPolicy
    │    │    │└ properties
    │    │    │   ├ComparisonOperator: string
    │    │    │   ├EvaluationPeriods: integer
    │    │    │   ├MetricName: string (required)
    │    │    │   ├Name: string (required)
    │    │    │   ├PolicyType: string
    │    │    │   ├ScalingAdjustment: integer
    │    │    │   ├ScalingAdjustmentType: string
    │    │    │   ├TargetConfiguration: TargetConfiguration
    │    │    │   └Threshold: number
    │    │    ├type TargetConfiguration
    │    │    │├  documentation: Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.
    │    │    ││  name: TargetConfiguration
    │    │    │└ properties
    │    │    │   └TargetValue: number (required)
    │    │    ├type GameSessionCreationLimitPolicy
    │    │    │├  documentation: A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: "An individual player can create a maximum number of new game sessions within a specified time period".
    │    │    ││  The policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.
    │    │    ││  name: GameSessionCreationLimitPolicy
    │    │    │└ properties
    │    │    │   ├NewGameSessionsPerCreator: integer
    │    │    │   └PolicyPeriodInMinutes: integer
    │    │    └type LogConfiguration
    │    │     ├  documentation: A policy the location and provider of logs from the fleet.
    │    │     │  name: LogConfiguration
    │    │     └ properties
    │    │        ├LogDestination: string
    │    │        └S3BucketName: string
    │    ├[~] resource AWS::GameLift::ContainerGroupDefinition
    │    │ ├  - documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │ │  The properties that describe a container group resource. Container group definition properties can't be updated. To change a property, create a new container group definition.
    │    │ │  *Used with:* `CreateContainerGroupDefinition`
    │    │ │  *Returned by:* `DescribeContainerGroupDefinition` , `ListContainerGroupDefinitions`
    │    │ │  + documentation: The properties that describe a container group resource. You can update all properties of a container group definition properties. Updates to a container group definition are saved as new versions.
    │    │ │  *Used with:* `CreateContainerGroupDefinition`
    │    │ │  *Returned by:* `DescribeContainerGroupDefinition` , `ListContainerGroupDefinitions` , `UpdateContainerGroupDefinition`
    │    │ ├ properties
    │    │ │  ├[-] ContainerDefinitions: Array<ContainerDefinition> (required, immutable)
    │    │ │  ├[+] ContainerGroupType: string (immutable)
    │    │ │  ├[+] GameServerContainerDefinition: GameServerContainerDefinition
    │    │ │  ├ OperatingSystem: - string (required, immutable)
    │    │ │  │                  + string (required)
    │    │ │  │                  (documentation changed)
    │    │ │  ├[-] SchedulingStrategy: string (immutable)
    │    │ │  ├ SupportContainerDefinitions: - Array<json>
    │    │ │  │                              + Array<SupportContainerDefinition>
    │    │ │  │                              (documentation changed)
    │    │ │  ├[-] TotalCpuLimit: integer (required, immutable)
    │    │ │  ├[-] TotalMemoryLimit: integer (required, immutable)
    │    │ │  ├[+] TotalMemoryLimitMebibytes: integer (required)
    │    │ │  ├[+] TotalVcpuLimit: number (required)
    │    │ │  └[+] VersionDescription: string
    │    │ ├ attributes
    │    │ │  ├ ContainerGroupDefinitionArn: (documentation changed)
    │    │ │  └[+] VersionNumber: integer
    │    │ └ types
    │    │    ├[-] type ContainerDefinition
    │    │    │ ├  documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │    │ │  Describes a container in a container fleet, the resources available to the container, and the commands that are run when the container starts. Container properties can't be updated. To change a property, create a new container group definition. See also `ContainerDefinitionInput` .
    │    │    │ │  *Part of:* `ContainerGroupDefinition`
    │    │    │ │  *Returned by:* `DescribeContainerGroupDefinition` , `ListContainerGroupDefinitions`
    │    │    │ │  name: ContainerDefinition
    │    │    │ └ properties
    │    │    │    ├WorkingDirectory: string
    │    │    │    ├MemoryLimits: MemoryLimits
    │    │    │    ├HealthCheck: ContainerHealthCheck
    │    │    │    ├Cpu: integer
    │    │    │    ├EntryPoint: Array<string>
    │    │    │    ├ImageUri: string (required)
    │    │    │    ├ResolvedImageDigest: string
    │    │    │    ├Essential: boolean
    │    │    │    ├PortConfiguration: PortConfiguration
    │    │    │    ├DependsOn: Array<ContainerDependency>
    │    │    │    ├ContainerName: string (required)
    │    │    │    ├Command: Array<string>
    │    │    │    └Environment: Array<ContainerEnvironment>
    │    │    ├[~] type ContainerDependency
    │    │    │ ├  - documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │    │ │  A container's dependency on another container in the same container group. The dependency impacts how the dependent container is able to start or shut down based the status of the other container.
    │    │    │ │  For example, ContainerA is configured with the following dependency: a `START` dependency on ContainerB. This means that ContainerA can't start until ContainerB has started. It also means that ContainerA must shut down before ContainerB.
    │    │    │ │  *Part of:* `ContainerDefinition`
    │    │    │ │  + documentation: A dependency that impacts a container's startup and shutdown.
    │    │    │ └ properties
    │    │    │    ├ Condition: (documentation changed)
    │    │    │    └ ContainerName: (documentation changed)
    │    │    ├[~] type ContainerEnvironment
    │    │    │ └  - documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │    │    An environment variable to set inside a container, in the form of a key-value pair.
    │    │    │    *Related data type:* `ContainerDefinition$Environment`
    │    │    │    + documentation: An environment variable to set inside a container, in the form of a key-value pair.
    │    │    ├[~] type ContainerHealthCheck
    │    │    │ ├  - documentation: Instructions on when and how to check the health of a container in a container fleet. When health check properties are set in a container definition, they override any Docker health checks in the container image. For more information on container health checks, see [HealthCheck command](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html#ECS-Type-HealthCheck-command) in the *Amazon Elastic Container Service API* .
    │    │    │ │  The following example instructions tell the container to wait 100 seconds after launch before counting failed health checks, then initiate the health check command every 60 seconds. After issuing the health check command, wait 10 seconds for it to succeed. If it fails, retry the command 3 times before considering the container to be unhealthy.
    │    │    │ │  `{"Command": [ "CMD-SHELL", "ps cax | grep "processmanager" || exit 1" ], "Interval": 300, "Timeout": 30, "Retries": 5, "StartPeriod": 100 }`
    │    │    │ │  *Part of:* `ContainerDefinition$HealthCheck`
    │    │    │ │  + documentation: Specifies how the process manager checks the health of containers.
    │    │    │ └ properties
    │    │    │    ├ Command: (documentation changed)
    │    │    │    ├ Interval: (documentation changed)
    │    │    │    ├ Retries: (documentation changed)
    │    │    │    ├ StartPeriod: (documentation changed)
    │    │    │    └ Timeout: (documentation changed)
    │    │    ├[+] type ContainerMountPoint
    │    │    │ ├  documentation: Defines the mount point configuration within a container.
    │    │    │ │  name: ContainerMountPoint
    │    │    │ └ properties
    │    │    │    ├InstancePath: string (required)
    │    │    │    ├ContainerPath: string
    │    │    │    └AccessLevel: string
    │    │    ├[~] type ContainerPortRange
    │    │    │ ├  - documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │    │ │  A set of one or more port numbers that can be opened on the container.
    │    │    │ │  *Part of:* `ContainerPortConfiguration`
    │    │    │ │  + documentation: A set of one or more port numbers that can be opened on the container.
    │    │    │ └ properties
    │    │    │    ├ Protocol: (documentation changed)
    │    │    │    └ ToPort: (documentation changed)
    │    │    ├[+] type GameServerContainerDefinition
    │    │    │ ├  documentation: Specifies the information required to run game servers with this container group
    │    │    │ │  name: GameServerContainerDefinition
    │    │    │ └ properties
    │    │    │    ├ContainerName: string (required)
    │    │    │    ├DependsOn: Array<ContainerDependency>
    │    │    │    ├ServerSdkVersion: string (required)
    │    │    │    ├ImageUri: string (required)
    │    │    │    ├ResolvedImageDigest: string
    │    │    │    ├EnvironmentOverride: Array<ContainerEnvironment>
    │    │    │    ├PortConfiguration: PortConfiguration
    │    │    │    └MountPoints: Array<ContainerMountPoint>
    │    │    ├[-] type MemoryLimits
    │    │    │ ├  documentation: Specifies how much memory is available to the container.
    │    │    │ │  name: MemoryLimits
    │    │    │ └ properties
    │    │    │    ├SoftLimit: integer
    │    │    │    └HardLimit: integer
    │    │    └[+] type SupportContainerDefinition
    │    │      ├  documentation: Supports the function of the main container group
    │    │      │  name: SupportContainerDefinition
    │    │      └ properties
    │    │         ├ContainerName: string (required)
    │    │         ├Vcpu: number
    │    │         ├DependsOn: Array<ContainerDependency>
    │    │         ├Essential: boolean
    │    │         ├ImageUri: string (required)
    │    │         ├ResolvedImageDigest: string
    │    │         ├MemoryHardLimitMebibytes: integer
    │    │         ├EnvironmentOverride: Array<ContainerEnvironment>
    │    │         ├PortConfiguration: PortConfiguration
    │    │         ├HealthCheck: ContainerHealthCheck
    │    │         └MountPoints: Array<ContainerMountPoint>
    │    ├[~] resource AWS::GameLift::Fleet
    │    │ ├ properties
    │    │ │  ├ ApplyCapacity: (documentation changed)
    │    │ │  ├ ComputeType: (documentation changed)
    │    │ │  ├[-] ContainerGroupsConfiguration: ContainerGroupsConfiguration (immutable)
    │    │ │  ├ EC2InboundPermissions: (documentation changed)
    │    │ │  ├ EC2InstanceType: (documentation changed)
    │    │ │  └ InstanceRoleARN: (documentation changed)
    │    │ ├ attributes
    │    │ │  └[-] ContainerGroupsConfiguration.ContainerGroupsPerInstance.MaxReplicaContainerGroupsPerInstance: integer
    │    │ └ types
    │    │    ├[~] type CertificateConfiguration
    │    │    │ └ properties
    │    │    │    └ CertificateType: (documentation changed)
    │    │    ├[-] type ConnectionPortRange
    │    │    │ ├  documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │    │ │  The set of port numbers to open on each instance in a container fleet. Connection ports are used by inbound traffic to connect with processes that are running in containers on the fleet.
    │    │    │ │  *Part of:* `ContainerGroupsConfiguration` , `ContainerGroupsAttributes`
    │    │    │ │  name: ConnectionPortRange
    │    │    │ └ properties
    │    │    │    ├FromPort: integer (required)
    │    │    │    └ToPort: integer (required)
    │    │    ├[-] type ContainerGroupsConfiguration
    │    │    │ ├  documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │    │ │  Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .
    │    │    │ │  *Used with:* `CreateFleet`
    │    │    │ │  name: ContainerGroupsConfiguration
    │    │    │ └ properties
    │    │    │    ├ContainerGroupDefinitionNames: Array<string> (required)
    │    │    │    ├ConnectionPortRange: ConnectionPortRange (required)
    │    │    │    └ContainerGroupsPerInstance: ContainerGroupsPerInstance
    │    │    ├[-] type ContainerGroupsPerInstance
    │    │    │ ├  documentation: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*
    │    │    │ │  Determines how many replica container groups that Amazon GameLift deploys to each instance in a container fleet.
    │    │    │ │  Amazon GameLift calculates the maximum possible replica groups per instance based on the instance 's CPU and memory resources. When deploying a fleet, Amazon GameLift places replica container groups on each fleet instance based on the following:
    │    │    │ │  - If no desired value is set, Amazon GameLift places the calculated maximum.
    │    │    │ │  - If a desired number is set to a value higher than the calculated maximum, fleet creation fails..
    │    │    │ │  - If a desired number is set to a value lower than the calculated maximum, Amazon GameLift places the desired number.
    │    │    │ │  *Part of:* `ContainerGroupsConfiguration` , `ContainerGroupsAttributes`
    │    │    │ │  *Returned by:* `DescribeFleetAttributes` , `CreateFleet`
    │    │    │ │  name: ContainerGroupsPerInstance
    │    │    │ └ properties
    │    │    │    ├DesiredReplicaContainerGroupsPerInstance: integer
    │    │    │    └MaxReplicaContainerGroupsPerInstance: integer
    │    │    ├[~] type LocationCapacity
    │    │    │ └  - documentation: Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.
    │    │    │    *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)
    │    │    │    + documentation: Current resource capacity settings for managed EC2 fleets and managed container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.
    │    │    │    *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)
    │    │    ├[~] type LocationConfiguration
    │    │    │ └ properties
    │    │    │    └ LocationCapacity: (documentation changed)
    │    │    └[~] type ServerProcess
    │    │      └ properties
    │    │         └ ConcurrentExecutions: (documentation changed)
    │    ├[~] resource AWS::GameLift::GameSessionQueue
    │    │ └ properties
    │    │    ├ PlayerLatencyPolicies: (documentation changed)
    │    │    └ TimeoutInSeconds: (documentation changed)
    │    └[~] resource AWS::GameLift::MatchmakingConfiguration
    │      └ properties
    │         └ AdditionalPlayerCount: (documentation changed)
    ├[~] service aws-iotwireless
    │ └ resources
    │    ├[~] resource AWS::IoTWireless::DeviceProfile
    │    │ └ properties
    │    │    ├ LoRaWAN: - LoRaWANDeviceProfile
    │    │    │          + LoRaWANDeviceProfile (immutable)
    │    │    └ Name: - string
    │    │            + string (immutable)
    │    └[~] resource AWS::IoTWireless::ServiceProfile
    │      └ properties
    │         ├ LoRaWAN: - LoRaWANServiceProfile
    │         │          + LoRaWANServiceProfile (immutable)
    │         └ Name: - string
    │                 + string (immutable)
    ├[~] service aws-kinesisfirehose
    │ └ resources
    │    └[~] resource AWS::KinesisFirehose::DeliveryStream
    │      ├ properties
    │      │  └[+] DatabaseSourceConfiguration: DatabaseSourceConfiguration (immutable)
    │      └ types
    │         ├[+] type DatabaseColumns
    │         │ ├  name: DatabaseColumns
    │         │ └ properties
    │         │    ├Include: Array<string>
    │         │    └Exclude: Array<string>
    │         ├[+] type Databases
    │         │ ├  name: Databases
    │         │ └ properties
    │         │    ├Include: Array<string>
    │         │    └Exclude: Array<string>
    │         ├[+] type DatabaseSourceAuthenticationConfiguration
    │         │ ├  name: DatabaseSourceAuthenticationConfiguration
    │         │ └ properties
    │         │    └SecretsManagerConfiguration: SecretsManagerConfiguration (required)
    │         ├[+] type DatabaseSourceConfiguration
    │         │ ├  name: DatabaseSourceConfiguration
    │         │ └ properties
    │         │    ├Type: string (required)
    │         │    ├Endpoint: string (required)
    │         │    ├Port: integer (required)
    │         │    ├SSLMode: string
    │         │    ├Databases: Databases (required)
    │         │    ├Tables: DatabaseTables (required)
    │         │    ├Columns: DatabaseColumns
    │         │    ├SurrogateKeys: Array<string>
    │         │    ├SnapshotWatermarkTable: string (required)
    │         │    ├DatabaseSourceAuthenticationConfiguration: DatabaseSourceAuthenticationConfiguration (required)
    │         │    ├DatabaseSourceVPCConfiguration: DatabaseSourceVPCConfiguration (required)
    │         │    ├Digest: string
    │         │    └PublicCert…
    aws-cdk-automation authored Nov 18, 2024
    Configuration menu
    Copy the full SHA
    6820c62 View commit details
    Browse the repository at this point in the history
  3. feat(ses): maximum delivery time for emails (#32102)

    ### Issue # (if applicable)
    
    None
    
    ### Reason for this change
    
    Amazon Simple Email Service (SES) offers a [new delivery option that allows us to set a custom maximum delivery time for our emails at Oct 15, 2024](https://aws.amazon.com/about-aws/whats-new/2024/10/amazon-ses-configurability-maximum-delivery-time-emails/?nc1=h_ls)
    
    Cfn documentation: <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html#cfn-ses-configurationset-deliveryoptions-maxdeliveryseconds>
    
    ### Description of changes
    
    Add `maxDeliveryDuration` to `ConfigurationSetProps`.
    
    ### 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*
    badmintoncryer authored Nov 18, 2024
    Configuration menu
    Copy the full SHA
    771eeff View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2024

  1. feat(cloudfront): function URL origin access control L2 construct (#…

    …31339)
    
    Issue # (if applicable)
    
    #31629 
    
    ### Reason for this change
    This change introduces support for Lambda Function URLs with custom Origin Access Control (OAC) in CloudFront distributions, enhancing security and control over CloudFront-Lambda integration.
    
    ### Description of changes
    - Added a new feature allowing the configuration of Lambda Function URLs with custom OAC in CloudFront.
    - Implemented support for custom signing behavior and protocols for Lambda origins.
    - Included new tests to validate the correct behavior of OAC with Lambda Function URLs.
    
    ### Description of how you validated changes
    - Ran unit tests to ensure that the OAC setup for Lambda Function URLs is correctly applied in CloudFront distributions.
    - Validated by deploying a sample CDK application to confirm the functionality and integration of Lambda Function URLs with CloudFront using OAC.
    
    
    ### 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)
    - [x] OAC implementation is complete.
    ----
    
    *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
    watany-dev authored Nov 19, 2024
    Configuration menu
    Copy the full SHA
    b8f47c8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1456554 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3e7ba32 View commit details
    Browse the repository at this point in the history
  4. chore(cli): update tests for future monorepo (#32185)

    A number of our tests depend on the version of the `cloud-assembly-schema`, and some of our tests use `aws-cdk-lib` to generate Cloud Assemblies which has its own copy of `cloud-assembly-schema` built in.
    
    Because `cloud-assembly-schema` currently takes its schema version from its `package.json` version, and because the version of `cloud-assembly-schema/package.json` will be `0.0.0` once it has been moved into our new monorepo, these tests need to be changed to deal with this situation.
    
    The solution we're currently taking is to rewrite `manifest.json` and change the `version` in there to a different one.
    
    This PR also renames `expect(...).toBeCalledWith()` to `expect(...).toHaveBeenCalledWith()` because the jest linter requires is.
    
    ----
    
    *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
    rix0rrr authored Nov 19, 2024
    Configuration menu
    Copy the full SHA
    49b5afd View commit details
    Browse the repository at this point in the history
  5. refactor(apprunner): consolidate name validations for App Runner Reso…

    …urces and improve error messages (#32062)
    
    ### Issue # (if applicable)
    
    N/A
    
    ### Reason for this change
    Consolidate name validations for App Runner Resources and improve error messages.
    
    
    
    ### Description of changes
    * Split regex-pattern check and length check to be more user-friendly.
      * `autoScalingConfigurationName` in `AutoScalingConfiguration`
      * `observabilityConfigurationName` in `ObservabilityConfigurationName`
      * `vpcIngressConnectionName` in `VpcIngressConnectionName`
    * Add name validations.
      * `serviceName` in `ServiceName`. (Ref: [CFn document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html#cfn-apprunner-service-servicename))
      * `vpcConnectorName` in `VpcConnectorName`. (Ref: [CFn document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html#cfn-apprunner-vpcconnector-vpcconnectorname))
    
    
    
    
    ### Description of how you validated changes
    Modify and add unit 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*
    mazyu36 authored Nov 19, 2024
    Configuration menu
    Copy the full SHA
    5e835f3 View commit details
    Browse the repository at this point in the history
  6. feat(lambda-destinations): support Lambda async S3 destination (#31709)

    ### Issue # (if applicable)
    
    N/A
    
    ### Reason for this change
    
    Working on a new feature support - S3 destination for Lambda Async Invoke.
    
    ### Description of changes
    
    - Adding a new destination - s3 bucket, to lambda event destinations. 
    - Adding unit tests for the code.
    - Adding integration test to create a lambda and event invoke config with an S3 destination.
    - Updating readme with the new destination information.
    
    ### Description of how you validated changes
    
    Unit tests and integration tests have been 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*
    SmritiVashisth authored Nov 19, 2024
    Configuration menu
    Copy the full SHA
    e1a2f68 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2024

  1. feat(lambda): add NodeJS 22.x support (#32104)

    ### Issue # (if applicable)
    
    NA
    
    ### Reason for this change
    
    Adds NodeJs 22.x Runtime to the available [Lambda Runtimes constants](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Runtime.html#initializer)
    
    ### Description of how you validated changes
    
    Have added integration tests to validate the runtime support
    
    ### 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*
    Vandita2020 authored Nov 20, 2024
    Configuration menu
    Copy the full SHA
    baa8561 View commit details
    Browse the repository at this point in the history
  2. feat(lambda): support observability for ESM ( DDB, Kinesis, SQS) (#32204

    )
    
    ### Reason for this change
    
    Lambda is introducing a new property in Event Sources named `MetricsConfig` to get enhanced metrics for user's event source that captures each stage of processing. Through this metrics customer can track flow of events through their EDA pipelines. 
    
    This feature is currently supported for `DynamoDB`, `Kinesis` and `SQS` event sources only.
    ### Description of changes
    
    This new property can be opted in by setting the `MetricsConfig` field while creating event sources. The example of opting for `MetricsConfig` for dynamoDB event is shown below:
    
    ```
    fn.addEventSource(new eventsources.DynamoEventSource(table, {
      startingPosition: lambda.StartingPosition.LATEST,
      metricsConfig: {
        metrics: [MetricType.EVENT_COUNT],
      }
    }))
    ```
    
    Today there is only 1 metric type: EventCount. The `metrics` array can be either one element with `EventCount` or an empty array. More configuration support will be available in future
    
    ### Description of how you validated changes
    
    Have added unit test and integration test to validate the implementation
    
    ### 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*
    roger-zhangg authored Nov 20, 2024
    Configuration menu
    Copy the full SHA
    6317a2a View commit details
    Browse the repository at this point in the history
  3. fix(cli): excessive stack event polling during deployment (#32196)

    Closes #32186
    
    ### Reason for this change
    
    <!--What is the bug or use case behind this change?-->
    
    The CLI will poll for all stack events from the beginning of time, even
    though it will end up using only a fraction of them to display in the
    terminal. This can cause a significant slowdown of `cdk deploy`.
    
    ### Description of changes
    
    <!--What code changes did you make? Have you made any important design
    decisions?-->
    
    Moved the pagination to the caller side, so it can decide whether or not
    to poll the next page. This is how it was before `2.167.0`
    
    
    https://github.com/aws/aws-cdk/blob/7bb9203eb95fe894c0d40942ff49c782a9fec251/packages/aws-cdk/lib/api/util/cloudformation/stack-event-poller.ts#L73-L74
    
    ### Description of how you validated changes
    
    <!--Have you added any unit tests and/or integration tests?-->
    
    Added unit test.
    
    ### Notes
    
    - There are several functions in the
    [sdk.ts](https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/api/aws-auth/sdk.ts)
    that perform implicit pagination to retrieve all results. From a quick
    glance, none of them seem to be misusing it though (at least with
    respect to how it always was). I will investigate those functions
    further in a followup PR.
    
    ### 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*
    iliapolo authored Nov 20, 2024
    Configuration menu
    Copy the full SHA
    a8bc46d View commit details
    Browse the repository at this point in the history
  4. chore(release): 2.168.0

    AWS CDK Team committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    c8d9204 View commit details
    Browse the repository at this point in the history