diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 0fa6e48f1dd44..2aba65ba13532 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -18,6 +18,24 @@ updates: labels: - "auto-approve" open-pull-requests-limit: 5 + + # run same dependabot upgrades on v1-main + - package-ecosystem: "github-actions" + directory: "/" + target-branch: "v1-main" + schedule: + interval: "weekly" + labels: + - "auto-approve" + open-pull-requests-limit: 5 + - package-ecosystem: "pip" + directory: "/packages/@aws-cdk/lambda-layer-awscli" + target-branch: "v1-main" + schedule: + interval: "weekly" + labels: + - "auto-approve" + open-pull-requests-limit: 5 # Non-TypeScript init template dependency updates - package-ecosystem: "pip" diff --git a/.github/workflows/yarn-upgrade-v1main.yml b/.github/workflows/yarn-upgrade-v1main.yml new file mode 100644 index 0000000000000..fe8fa4b0bfcf0 --- /dev/null +++ b/.github/workflows/yarn-upgrade-v1main.yml @@ -0,0 +1,134 @@ +name: Yarn Upgrade v1-main + +on: + schedule: + # Every wednesday at 13:37 UTC + - cron: 37 13 * * 3 + workflow_dispatch: {} + +jobs: + upgrade: + name: Yarn Upgrade + permissions: + contents: read + runs-on: ubuntu-latest + steps: + + - name: Check Out + uses: actions/checkout@v3 + with: + ref: v1-main + + - name: Set up Node + uses: actions/setup-node@v3 + with: + node-version: 12 + + - name: Locate Yarn cache + id: yarn-cache + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Restore Yarn cache + uses: actions/cache@v3 + with: + path: ${{ steps.yarn-cache.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: |- + ${{ runner.os }}-yarn- + - name: Yarn Install + run: yarn install --frozen-lockfile + - name: Install Tools + run: |- + npm -g install lerna npm-check-updates@^9.0.0 + - name: Build CLI + run: cd packages/aws-cdk && ../../scripts/buildup + - name: Build Integ Runner + run: cd packages/@aws-cdk/integ-runner && ../../../scripts/buildup + - name: List Mono-Repo Packages + id: list-packages + # These need to be ignored from the `ncu` runs! + run: |- + echo -n "::set-output name=list::" + node -p "$(lerna ls --all --json 2>/dev/null).map(item => item.name).join(',')" + - name: Run "ncu -u" + # We special-case @types/node because we want to stay on the current major (minimum supported node release) + # We special-case @types/fs-extra because the current major (9.x) is broken with @types/node >= 10 + # We special-case aws-sdk because of breaking changes with TS interface exports in recent minor versions - https://github.com/aws/aws-sdk-js/issues/3453 + # We special-case typescript because it's not semantically versionned + # We special-case constructs because we want to stay in control of the minimum compatible version + # We special-case lerna because we have a patch on it that stops applying if Lerna upgrades. Remove this once https://github.com/lerna/lerna/pull/2874 releases. + # We special-case aws-sdk-mock because of breaking changes in type exports https://github.com/dwyl/aws-sdk-mock/pull/260. We are not respecting `@ts-ignore` + run: |- + # Upgrade dependencies at repository root + ncu --upgrade --filter=@types/node,@types/fs-extra --target=minor + ncu --upgrade --filter=typescript --target=patch + ncu --upgrade --reject=@types/node,@types/fs-extra,constructs,typescript,lerna --target=minor + # Upgrade all the packages + lerna exec --parallel ncu -- --upgrade --filter=@types/node,@types/fs-extra --target=minor + lerna exec --parallel ncu -- --upgrade --filter=typescript --target=patch + lerna exec --parallel ncu -- --upgrade --reject='@types/node,@types/fs-extra,constructs,typescript,aws-sdk,aws-sdk-mock,${{ steps.list-packages.outputs.list }}' --target=minor + + # This will ensure the current lockfile is up-to-date with the dependency specifications (necessary for "yarn update" to run) + - name: Run "yarn install" + run: yarn install + + - name: Run "yarn upgrade" + run: yarn upgrade + + - name: Regenerate CLI attributions + run: cd packages/aws-cdk && yarn pkglint + - name: Regenerate Integ Runner attributions + run: cd packages/@aws-cdk/integ-runner && yarn pkglint + + # Next, create and upload the changes as a patch file. This will later be downloaded to create a pull request + # Creating a pull request requires write permissions and it's best to keep write privileges isolated. + - name: Create Patch + run: |- + git add . + git diff --patch --staged > ${{ runner.temp }}/upgrade.patch + - name: Upload Patch + uses: actions/upload-artifact@v3 + with: + name: upgrade.patch + path: ${{ runner.temp }}/upgrade.patch + + pr: + name: Create Pull Request + needs: upgrade + permissions: + contents: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - name: Check Out + uses: actions/checkout@v3 + with: + ref: v1-main + + - name: Download patch + uses: actions/download-artifact@v3 + with: + name: upgrade.patch + path: ${{ runner.temp }} + + - name: Apply patch + run: '[ -s ${{ runner.temp }}/upgrade.patch ] && git apply ${{ runner.temp + }}/upgrade.patch || echo "Empty patch. Skipping."' + + - name: Make Pull Request + uses: peter-evans/create-pull-request@v4 + with: + # Git commit details + branch: automation/yarn-upgrade + commit-message: |- + chore: npm-check-updates && yarn upgrade + Ran npm-check-updates and yarn upgrade to keep the `yarn.lock` file up-to-date. + # Pull Request details + title: 'chore: npm-check-updates && yarn upgrade' + body: |- + Ran npm-check-updates and yarn upgrade to keep the `yarn.lock` file up-to-date. + labels: contribution/core,dependencies,auto-approve + team-reviewers: aws-cdk-team + # Github prevents further Github actions to be run if the default Github token is used. + # Instead use a privileged token here, so further GH actions can be triggered on this PR. + token: ${{ secrets.PROJEN_GITHUB_TOKEN }} diff --git a/CHANGELOG.v2.alpha.md b/CHANGELOG.v2.alpha.md new file mode 100644 index 0000000000000..c546d2033900a --- /dev/null +++ b/CHANGELOG.v2.alpha.md @@ -0,0 +1,495 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [2.26.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.25.0-alpha.0...v2.26.0-alpha.0) (2022-05-27) + + +### Features + +* **apprunner:** VpcConnector construct ([#20471](https://github.com/aws/aws-cdk/issues/20471)) ([5052191](https://github.com/aws/aws-cdk/commit/50521911f22f433323d700db77530e883762138a)) + + +### Bug Fixes + +* **integ-runner:** always resynth on deploy ([#20508](https://github.com/aws/aws-cdk/issues/20508)) ([7138057](https://github.com/aws/aws-cdk/commit/71380571b878a50fe4b754c7dac78da075a98242)) +* **integ-tests:** DeployAssert should be private ([#20466](https://github.com/aws/aws-cdk/issues/20466)) ([0f52813](https://github.com/aws/aws-cdk/commit/0f52813bcf6a48c352f697004a899461dd06935d)) + +## [2.25.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.24.1-alpha.0...v2.25.0-alpha.0) (2022-05-20) + + +### Features + +* **cloud9:** configure Connection Type of Ec2Environment ([#20250](https://github.com/aws/aws-cdk/issues/20250)) ([01708bc](https://github.com/aws/aws-cdk/commit/01708bc7cf842eab7e1d1fc58bf42e4724624c0a)), closes [#17027](https://github.com/aws/aws-cdk/issues/17027) +* **integ-tests:** enhancements to integ-tests ([#20180](https://github.com/aws/aws-cdk/issues/20180)) ([3ff3fb7](https://github.com/aws/aws-cdk/commit/3ff3fb7c5ec9636022b3046036376c09a3166fb0)) + + +### Bug Fixes + +* **amplify:** custom headers break with tokens ([#20395](https://github.com/aws/aws-cdk/issues/20395)) ([765f441](https://github.com/aws/aws-cdk/commit/765f44177298b645c88a29587b52619e91a8757c)) + +## [2.24.1-alpha.0](https://github.com/aws/aws-cdk/compare/v2.24.0-alpha.0...v2.24.1-alpha.0) (2022-05-12) + +## [2.24.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.23.0-alpha.0...v2.24.0-alpha.0) (2022-05-11) + + +### Bug Fixes + +* **appsync:** incorrect region used for imported Cognito user pool ([#20193](https://github.com/aws/aws-cdk/issues/20193)) ([3e0393e](https://github.com/aws/aws-cdk/commit/3e0393e63e84d631545734425482deae687520f1)), closes [#20195](https://github.com/aws/aws-cdk/issues/20195) + +## [2.23.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.22.0-alpha.0...v2.23.0-alpha.0) (2022-05-04) + + +### Features + +* **redshift:** expose user.secret as property ([#17520](https://github.com/aws/aws-cdk/issues/17520)) ([#20078](https://github.com/aws/aws-cdk/issues/20078)) ([8da006a](https://github.com/aws/aws-cdk/commit/8da006ab551213ecbdb6dc26860fe90c1d2e95e2)) + + +### Bug Fixes + +* **integ-runner:** disable-update-workflow default is 'false' instead of false ([#20073](https://github.com/aws/aws-cdk/issues/20073)) ([9f7aa65](https://github.com/aws/aws-cdk/commit/9f7aa654ab92c16743b015f7121a3dc542a7e01a)) +* **integ-runner:** only diff registered stacks ([#20100](https://github.com/aws/aws-cdk/issues/20100)) ([721bd4b](https://github.com/aws/aws-cdk/commit/721bd4b24de8e410fd9181eff7e5431c13bad208)) + +## [2.22.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.21.1-alpha.0...v2.22.0-alpha.0) (2022-04-27) + + +### Features + +* **integ-tests:** add `IntegTest` to group test cases ([#20015](https://github.com/aws/aws-cdk/issues/20015)) ([b4f8d91](https://github.com/aws/aws-cdk/commit/b4f8d91318087135c5549c22b43a1e679d70b3ca)) +* **integ-tests:** make assertions on deployed infrastructure ([#20071](https://github.com/aws/aws-cdk/issues/20071)) ([8362efe](https://github.com/aws/aws-cdk/commit/8362efe8f1951289236034161d7560f20975b0ec)) + + +### Bug Fixes + +* **lambda-python:** handler path is incorrectly generated when using PythonFunction ([#20083](https://github.com/aws/aws-cdk/issues/20083)) ([6787376](https://github.com/aws/aws-cdk/commit/678737607cea769109aa8315520a71bc47eb50ef)) +* **lambda-python:** Pipenv projects no longer work for Python 3.6 ([#20019](https://github.com/aws/aws-cdk/issues/20019)) ([c5dcdeb](https://github.com/aws/aws-cdk/commit/c5dcdeb2742fc8f0d41a7211d74934e20a7442c2)) +* **lambda-python:** Pipenv projects no longer work for Python 3.6 ([#20019](https://github.com/aws/aws-cdk/issues/20019)) ([5024021](https://github.com/aws/aws-cdk/commit/5024021bec9952ca7b1e3d82e2c257f124c6300c)) + +## [2.21.1-alpha.0](https://github.com/aws/aws-cdk/compare/v2.21.0-alpha.0...v2.21.1-alpha.0) (2022-04-22) + +## [2.21.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.20.0-alpha.0...v2.21.0-alpha.0) (2022-04-22) + + +### Features + +* **apigatewayv2:** set throttling on stages ([#19776](https://github.com/aws/aws-cdk/issues/19776)) ([3cabd10](https://github.com/aws/aws-cdk/commit/3cabd105288789c03d1a8d508637b2d7f46407a4)), closes [#19626](https://github.com/aws/aws-cdk/issues/19626) +* **integ-runner:** add missing features from the integ manifest ([#19969](https://github.com/aws/aws-cdk/issues/19969)) ([2ca5050](https://github.com/aws/aws-cdk/commit/2ca5050865f94e033fda850961439d8fcb01f468)) +* **integ-runner:** integ-runner enhancements ([#19865](https://github.com/aws/aws-cdk/issues/19865)) ([697fdbe](https://github.com/aws/aws-cdk/commit/697fdbe71642c93492c38e834e654ed736a9edb4)) +* **integ-runner:** test update path when running tests ([#19915](https://github.com/aws/aws-cdk/issues/19915)) ([d0ace8f](https://github.com/aws/aws-cdk/commit/d0ace8f2db53d56cdb670979c7c173ee17b6bcd8)) +* **integ-tests:** Add `IntegTestCase` ([#19829](https://github.com/aws/aws-cdk/issues/19829)) ([ad249c9](https://github.com/aws/aws-cdk/commit/ad249c9943c2d602b2b077435935731f723db715)) +* **iotevents:** support comparison operators ([#19329](https://github.com/aws/aws-cdk/issues/19329)) ([95cb3f3](https://github.com/aws/aws-cdk/commit/95cb3f3c7a4c98ebf4a4818af2f4e725fc16aa29)) + + +### Bug Fixes + +* **integ-runner:** enable all feature flags by default ([#19955](https://github.com/aws/aws-cdk/issues/19955)) ([ca3920d](https://github.com/aws/aws-cdk/commit/ca3920dbd588ebd9c68f17bfbf420713cf42790a)) +* **lambda-python:** Pipenv projects no longer work for Python 3.6 ([#20019](https://github.com/aws/aws-cdk/issues/20019)) ([08cfc2d](https://github.com/aws/aws-cdk/commit/08cfc2d5a2e3727e692311b244b1fcb6c3b3f5f7)) + +## [2.20.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.19.0-alpha.0...v2.20.0-alpha.0) (2022-04-07) + + +### Features + +* **synthetics:** new puppeteer 3.5 runtime ([#19673](https://github.com/aws/aws-cdk/issues/19673)) ([ce2b91b](https://github.com/aws/aws-cdk/commit/ce2b91b319da0221adffcdda54321b860db2a56d)), closes [#19634](https://github.com/aws/aws-cdk/issues/19634) + +## [2.19.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.18.0-alpha.0...v2.19.0-alpha.0) (2022-03-31) + + +### Features + +* **kinesisanalytics-flink:** Add metrics to Flink applications ([#19599](https://github.com/aws/aws-cdk/issues/19599)) ([dab6aca](https://github.com/aws/aws-cdk/commit/dab6aca5005c8d6d180aada699a4cebc2ef5aefa)) + +## [2.18.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.17.0-alpha.0...v2.18.0-alpha.0) (2022-03-28) + + +### Features + +* **appsync:** support custom domain mappings ([#19368](https://github.com/aws/aws-cdk/issues/19368)) ([8c7a4ac](https://github.com/aws/aws-cdk/commit/8c7a4acbd58975a8f1c4e4ca180ca9a3ea2c750d)), closes [#18040](https://github.com/aws/aws-cdk/issues/18040) +* **synthetics:** add support for puppeteer 3.4 runtime ([#19429](https://github.com/aws/aws-cdk/issues/19429)) ([024b890](https://github.com/aws/aws-cdk/commit/024b890c67392e255ea8e82c1aa58bcc6bcf6f86)), closes [#19382](https://github.com/aws/aws-cdk/issues/19382) + +## [2.17.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.16.0-alpha.0...v2.17.0-alpha.0) (2022-03-17) + + +### Features + +* **appsync:** add OpenSearch domain data source ([#16529](https://github.com/aws/aws-cdk/issues/16529)) ([922a9dc](https://github.com/aws/aws-cdk/commit/922a9dcf07174334ac67b9fcbacb01aafdfd9c6a)), closes [#16528](https://github.com/aws/aws-cdk/issues/16528) +* **iotevents:** support SetVariable action ([#19305](https://github.com/aws/aws-cdk/issues/19305)) ([c222b12](https://github.com/aws/aws-cdk/commit/c222b122206e00dc9932639efd54d78a16ebf6d3)) +* **synthetics:** add vpc configuration ([#18447](https://github.com/aws/aws-cdk/issues/18447)) ([c991e92](https://github.com/aws/aws-cdk/commit/c991e92453034330b68daa5b5721119e770b6109)), closes [#11865](https://github.com/aws/aws-cdk/issues/11865) [#9954](https://github.com/aws/aws-cdk/issues/9954) + +## [2.16.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.15.0-alpha.0...v2.16.0-alpha.0) (2022-03-11) + + +### Features + +* **aws-s3objectlambda:** add L2 construct for S3 Object Lambda ([#15833](https://github.com/aws/aws-cdk/issues/15833)) ([fe9f750](https://github.com/aws/aws-cdk/commit/fe9f750bd9dd9974b9ae6f73c78fcd12ab2edd91)), closes [#13675](https://github.com/aws/aws-cdk/issues/13675) +* **iotevents:** support actions ([#18869](https://github.com/aws/aws-cdk/issues/18869)) ([e01654e](https://github.com/aws/aws-cdk/commit/e01654e792708ee283d7a31e1370d0d1ae383171)) +* **iotevents:** support setting Events on input and exit for State ([#19249](https://github.com/aws/aws-cdk/issues/19249)) ([ffa9e0d](https://github.com/aws/aws-cdk/commit/ffa9e0d287d0a86e1e0eb7dc2dec16d9f3e84450)) +* **servicecatalog:** Service Catalog is now in Developer Preview ([#19204](https://github.com/aws/aws-cdk/issues/19204)) ([6dfc254](https://github.com/aws/aws-cdk/commit/6dfc254e1925597b4ef2ece9c132b1a0e580dd6d)) + + +### Bug Fixes + +* **apigatewayv2-integrations:** in case of multiple routes, only one execute permission is created ([#18716](https://github.com/aws/aws-cdk/issues/18716)) ([1e352ca](https://github.com/aws/aws-cdk/commit/1e352ca2ab458bfe4e1de6cf431166654ce9aa58)) +* **lambda-python:** asset bundling fails on windows ([#19270](https://github.com/aws/aws-cdk/issues/19270)) ([0da57da](https://github.com/aws/aws-cdk/commit/0da57da9606d982788350a6257f0f0ed6e9fd92a)), closes [#18861](https://github.com/aws/aws-cdk/issues/18861) +* **lambda-python:** docker image gets built even when we don't need to bundle assets ([#16192](https://github.com/aws/aws-cdk/issues/16192)) ([5dc61ea](https://github.com/aws/aws-cdk/commit/5dc61eabc0ea3e6294f83db5deb8528461a1d5bc)), closes [#14747](https://github.com/aws/aws-cdk/issues/14747) + +## [2.15.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.14.0-alpha.0...v2.15.0-alpha.0) (2022-03-01) + + +### Bug Fixes + +* **aws-lambda-python:** skip default docker build when image passed ([#19143](https://github.com/aws/aws-cdk/issues/19143)) ([7300f2e](https://github.com/aws/aws-cdk/commit/7300f2eee9e1593eef271d7a953edf80a8962e08)), closes [#18082](https://github.com/aws/aws-cdk/issues/18082) + +## [2.14.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.13.0-alpha.0...v2.14.0-alpha.0) (2022-02-25) + + +### Features + +* **apigatewayv2:** Import existing WebSocketApi from attributes ([#18958](https://github.com/aws/aws-cdk/issues/18958)) ([f203845](https://github.com/aws/aws-cdk/commit/f203845d26ae8333f467f1cb91ad965697087d85)) + +## [2.13.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.12.0-alpha.0...v2.13.0-alpha.0) (2022-02-18) + + +### Features + +* **iot-actions:** add SNS publish action ([#18839](https://github.com/aws/aws-cdk/issues/18839)) ([3a39f6b](https://github.com/aws/aws-cdk/commit/3a39f6bf34eb428c527db1c614ed682c582821fb)), closes [#17700](https://github.com/aws/aws-cdk/issues/17700) +* **iotevents:** create new module for IoT Events actions ([#18956](https://github.com/aws/aws-cdk/issues/18956)) ([3533ea9](https://github.com/aws/aws-cdk/commit/3533ea9cb7ec7fd9e230abd27556a87d3559bdb8)), closes [/github.com/aws/aws-cdk/pull/18869#discussion_r802719713](https://github.com/aws//github.com/aws/aws-cdk/pull/18869/issues/discussion_r802719713) + + +### Bug Fixes + +* **synthetics:** generated role has incorrect permissions for cloudwatch logs ([#18946](https://github.com/aws/aws-cdk/issues/18946)) ([f8bb85f](https://github.com/aws/aws-cdk/commit/f8bb85fad8f659a2b72d5d05d7a94c97765a76f8)), closes [#18910](https://github.com/aws/aws-cdk/issues/18910) + +## [2.12.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.11.0-alpha.0...v2.12.0-alpha.0) (2022-02-08) + + +### Features + +* **iotevents:** support transition events ([#18768](https://github.com/aws/aws-cdk/issues/18768)) ([ccc1988](https://github.com/aws/aws-cdk/commit/ccc198864f92620857da09c68013123e9cd3f01d)), closes [#17711](https://github.com/aws/aws-cdk/issues/17711) + +## [2.11.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.10.0-alpha.0...v2.11.0-alpha.0) (2022-02-08) + + +### Features + +* **amplify:** support performance mode in Branch ([#18598](https://github.com/aws/aws-cdk/issues/18598)) ([bdeb8eb](https://github.com/aws/aws-cdk/commit/bdeb8eb604f5012ce3180d2f6d887fed1834e4f4)), closes [#18557](https://github.com/aws/aws-cdk/issues/18557) +* **iot:** add Action to republish MQTT messages to another MQTT topic ([#18661](https://github.com/aws/aws-cdk/issues/18661)) ([7ac1215](https://github.com/aws/aws-cdk/commit/7ac121546776cae972bbfb89c2a11949762e7c47)) +* **iotevents:** add grant method to Input class ([#18617](https://github.com/aws/aws-cdk/issues/18617)) ([e89688e](https://github.com/aws/aws-cdk/commit/e89688ec1dd7a3b072d23287cddcb73bccc16fd4)) + + +### Bug Fixes + +* **aws-appsync:** Strip unsupported characters from Lambda DataSource ([#18765](https://github.com/aws/aws-cdk/issues/18765)) ([bb8d6f6](https://github.com/aws/aws-cdk/commit/bb8d6f6bf5941b76ef0590c99fe8e26440e09c18)) + +## [2.10.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.9.0-alpha.0...v2.10.0-alpha.0) (2022-01-29) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **servicecatalog:** `TagOptions` now have `scope` and `props` argument in constructor, and data is now passed via a `allowedValueForTags` field in props + +### Features + +* **iotevents:** add DetectorModel L2 Construct ([#18049](https://github.com/aws/aws-cdk/issues/18049)) ([d0960f1](https://github.com/aws/aws-cdk/commit/d0960f181e5f66daa1eb53be2190b7e62bd66030)), closes [#17711](https://github.com/aws/aws-cdk/issues/17711) [#17711](https://github.com/aws/aws-cdk/issues/17711) +* **iotevents:** allow setting description, evaluation method and key of DetectorModel ([#18644](https://github.com/aws/aws-cdk/issues/18644)) ([2eeaebc](https://github.com/aws/aws-cdk/commit/2eeaebc3cdc9c5c7ef3fa312b3d1abca265dcbb6)) +* **lambda-python:** support setting environment vars for bundling ([#18635](https://github.com/aws/aws-cdk/issues/18635)) ([30e2233](https://github.com/aws/aws-cdk/commit/30e223333fef0b0d7f12287dab170a34e092d7fa)) +* **servicecatalog:** Create TagOptions Construct ([#18314](https://github.com/aws/aws-cdk/issues/18314)) ([903c4b6](https://github.com/aws/aws-cdk/commit/903c4b6e4adf676fae42265a048dddd0e1386542)), closes [#17753](https://github.com/aws/aws-cdk/issues/17753) + + +### Bug Fixes + +* **apigatewayv2:** websocket api: allow all methods in grant manage connections ([#18544](https://github.com/aws/aws-cdk/issues/18544)) ([41c8a3f](https://github.com/aws/aws-cdk/commit/41c8a3fa6b50a94affb65286d862056050d02e84)), closes [#18410](https://github.com/aws/aws-cdk/issues/18410) +* **synthetics:** correct getbucketlocation policy ([#13573](https://github.com/aws/aws-cdk/issues/13573)) ([e743525](https://github.com/aws/aws-cdk/commit/e743525b6379371110d737bb360f637c41d30ca1)), closes [#13572](https://github.com/aws/aws-cdk/issues/13572) + +## [2.9.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.8.0-alpha.0...v2.9.0-alpha.0) (2022-01-26) + + +### Features + +* **aws-neptune:** add autoMinorVersionUpgrade to cluster props ([#18394](https://github.com/aws/aws-cdk/issues/18394)) ([8b5320a](https://github.com/aws/aws-cdk/commit/8b5320ac5e5c320db46bc74f33b3841977dd3a5d)), closes [#17545](https://github.com/aws/aws-cdk/issues/17545) +* **iot:** add Action to put record to Kinesis Data stream ([#18321](https://github.com/aws/aws-cdk/issues/18321)) ([1480213](https://github.com/aws/aws-cdk/commit/1480213a032549ab7319e0c3a66e02e9b6a9c4ab)), closes [#17703](https://github.com/aws/aws-cdk/issues/17703) + +## [2.8.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.7.0-alpha.0...v2.8.0-alpha.0) (2022-01-13) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **apigatewayv2:** `HttpIntegrationType.LAMBDA_PROXY` has been renamed to `HttpIntegrationType.AWS_PROXY` + +### Features + +* **apigatewayv2:** HttpRouteIntegration supports AWS services integrations ([#18154](https://github.com/aws/aws-cdk/issues/18154)) ([a8094c7](https://github.com/aws/aws-cdk/commit/a8094c7d9970557077f560ccd24882216094ee3c)), closes [#16287](https://github.com/aws/aws-cdk/issues/16287) +* **apigatewayv2:** support for mock integration type ([#18129](https://github.com/aws/aws-cdk/issues/18129)) ([7779c14](https://github.com/aws/aws-cdk/commit/7779c147c7445d9e8ccafa9b732521c9021a6234)), closes [#15008](https://github.com/aws/aws-cdk/issues/15008) + +## [2.7.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.6.0-alpha.0...v2.7.0-alpha.0) (2022-01-12) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **iot:** the class `FirehoseStreamAction` has been renamed to `FirehosePutRecordAction` +* **apigatewayv2-authorizers:** `WebSocketLambdaAuthorizerProps.identitySource` default changes from `['$request.header.Authorization']` to `['route.request.header.Authorization']`. + +### Features + +* **apigatewayv2:** websocket api: api keys ([#16636](https://github.com/aws/aws-cdk/issues/16636)) ([24f8f74](https://github.com/aws/aws-cdk/commit/24f8f74ebec023f5e3f5bd2bdfc89575a53b38f3)) + + +### Bug Fixes + +* **apigatewayv2-authorizers:** incorrect `identitySource` default for `WebSocketLambdaAuthorizer` ([#18315](https://github.com/aws/aws-cdk/issues/18315)) ([74eee1e](https://github.com/aws/aws-cdk/commit/74eee1e5b8fa404dde129f001b986d615f435c73)), closes [#16886](https://github.com/aws/aws-cdk/issues/16886) [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html/issues/cfn-apigatewayv2) [#18307](https://github.com/aws/aws-cdk/issues/18307) +* **iot:** `FirehoseStreamAction` is now called `FirehosePutRecordAction` ([#18356](https://github.com/aws/aws-cdk/issues/18356)) ([c016a9f](https://github.com/aws/aws-cdk/commit/c016a9fcf51f2415e6e0fcca2255da384c8abbc1)), closes [/github.com/aws/aws-cdk/pull/18321#discussion_r781620195](https://github.com/aws//github.com/aws/aws-cdk/pull/18321/issues/discussion_r781620195) +* **lambda-python:** asset files are generated inside the 'asset-input' folder ([#18306](https://github.com/aws/aws-cdk/issues/18306)) ([b00b44e](https://github.com/aws/aws-cdk/commit/b00b44efd6e402744725e711906b456a28cebc5b)) +* **lambda-python:** asset files are generated inside the 'asset-input' folder ([#18306](https://github.com/aws/aws-cdk/issues/18306)) ([aff607a](https://github.com/aws/aws-cdk/commit/aff607a65e061ade5c3ec9e29f82fdaa8b57f638)) +* **lambda-python:** bundle asset files correctly ([#18335](https://github.com/aws/aws-cdk/issues/18335)) ([3822c85](https://github.com/aws/aws-cdk/commit/3822c855cf92ee0cd4539dee33e55f57d995bf89)), closes [/github.com/aws/aws-cdk/pull/18306#discussion_r780186564](https://github.com/aws//github.com/aws/aws-cdk/pull/18306/issues/discussion_r780186564) [#18301](https://github.com/aws/aws-cdk/issues/18301) [/github.com/aws/aws-cdk/pull/18082#issuecomment-1008442363](https://github.com/aws//github.com/aws/aws-cdk/pull/18082/issues/issuecomment-1008442363) + +## [2.6.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.5.0-alpha.0...v2.6.0-alpha.0) (2022-01-12) + + +### Bug Fixes + +* **lambda-python:** asset files are generated inside the 'asset-input' folder (backport [#18306](https://github.com/aws/aws-cdk/issues/18306)) ([#18341](https://github.com/aws/aws-cdk/issues/18341)) ([a1715e4](https://github.com/aws/aws-cdk/commit/a1715e42944ba8a1d06513d288f2d28ca94eeccf)) + +## [2.5.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.4.0-alpha.0...v2.5.0-alpha.0) (2022-01-09) + +## [2.4.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.3.0-alpha.0...v2.4.0-alpha.0) (2022-01-06) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **lambda-python:** `assetHashType` and `assetHash` properties moved to new `bundling` property. +* **lambda-python:** Runtime is now required for `LambdaPython` +* **appsync:** The `CachingConfig#ttl` property is now required. + +[1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html#cfn-appsync-resolver-cachingconfig-ttl + +### Features + +* **amplify:** Add Amplify asset deployment resource ([#16922](https://github.com/aws/aws-cdk/issues/16922)) ([499ba85](https://github.com/aws/aws-cdk/commit/499ba857e75aa54aa90606f22b984692c8271152)), closes [#16208](https://github.com/aws/aws-cdk/issues/16208) +* **apigatewayv2:** http api - IAM authorizer support ([#17519](https://github.com/aws/aws-cdk/issues/17519)) ([fd8e0e3](https://github.com/aws/aws-cdk/commit/fd8e0e33816cb46678f7d1beac80b1623cdb6bac)), closes [#15123](https://github.com/aws/aws-cdk/issues/15123) [/github.com/aws/aws-cdk/pull/14853#discussion_r648952691](https://github.com/aws//github.com/aws/aws-cdk/pull/14853/issues/discussion_r648952691) [#10534](https://github.com/aws/aws-cdk/issues/10534) +* **apigatewayv2:** Lambda authorizer for WebSocket API ([#16886](https://github.com/aws/aws-cdk/issues/16886)) ([67cce37](https://github.com/aws/aws-cdk/commit/67cce37f8ea3e6096e44a926fe61441dfcbc685b)), closes [#13869](https://github.com/aws/aws-cdk/issues/13869) +* **glue:** support partition index on tables ([#17998](https://github.com/aws/aws-cdk/issues/17998)) ([c071367](https://github.com/aws/aws-cdk/commit/c071367def4382c630057546c74fa56f00d9294c)), closes [#17589](https://github.com/aws/aws-cdk/issues/17589) +* **iot:** Action to send messages to SQS queues ([#18087](https://github.com/aws/aws-cdk/issues/18087)) ([37537fe](https://github.com/aws/aws-cdk/commit/37537fe1c1b016ae226bf7bc4ceeb128d6124872)), closes [#17699](https://github.com/aws/aws-cdk/issues/17699) +* **iot:** add Action to set a CloudWatch alarm ([#18021](https://github.com/aws/aws-cdk/issues/18021)) ([de2369c](https://github.com/aws/aws-cdk/commit/de2369c1d64260ed47cccfc2619320123af64a0f)), closes [#17705](https://github.com/aws/aws-cdk/issues/17705) +* **lambda-python:** support for providing a custom bundling docker image ([#18082](https://github.com/aws/aws-cdk/issues/18082)) ([c3c4a97](https://github.com/aws/aws-cdk/commit/c3c4a97e65071fcab35212be82dea7b29454786f)), closes [#10298](https://github.com/aws/aws-cdk/issues/10298) [#12949](https://github.com/aws/aws-cdk/issues/12949) [#15391](https://github.com/aws/aws-cdk/issues/15391) [#16234](https://github.com/aws/aws-cdk/issues/16234) [#15306](https://github.com/aws/aws-cdk/issues/15306) +* **msk:** add Kafka versions 2.6.3, 2.7.1 and 2.7.2 ([#18191](https://github.com/aws/aws-cdk/issues/18191)) ([8832df1](https://github.com/aws/aws-cdk/commit/8832df1d7497ef67b9ec62110d2f371ffe4781aa)) + + +### Bug Fixes + +* **amplify:** deploy asset Custom Resource points to TS file ([#18166](https://github.com/aws/aws-cdk/issues/18166)) ([a1508af](https://github.com/aws/aws-cdk/commit/a1508afab55c3ba0aa88b6aa85ca947badacb4a9)) +* **appsync:** `ttl` property of `CachingConfig` is not required ([#17981](https://github.com/aws/aws-cdk/issues/17981)) ([73e5fec](https://github.com/aws/aws-cdk/commit/73e5fec36cb149cf666320afbe63308c968c62dd)) +* **lambda-python:** runtime is now required ([#18143](https://github.com/aws/aws-cdk/issues/18143)) ([98f1bb1](https://github.com/aws/aws-cdk/commit/98f1bb147624a942773d191344c8d7242adb8d04)), closes [#10248](https://github.com/aws/aws-cdk/issues/10248) + +## [2.3.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.2.0-alpha.0...v2.3.0-alpha.0) (2021-12-22) + +## [2.2.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.1.0-alpha.0...v2.2.0-alpha.0) (2021-12-15) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **glue:** the grantRead API previously included 'glue:BatchDeletePartition', and now it does not. + + + + +### Features + +* **iotevents:** add IoT Events input L2 Construct ([#17847](https://github.com/aws/aws-cdk/issues/17847)) ([9f03dc4](https://github.com/aws/aws-cdk/commit/9f03dc4c5b75225942037fb6c8fa7d6abf35fe11)), closes [/github.com/aws/aws-cdk/issues/17711#issuecomment-986153267](https://github.com/aws//github.com/aws/aws-cdk/issues/17711/issues/issuecomment-986153267) + + +### Bug Fixes + +* **appsync:** empty caching config is created when not provided ([#17947](https://github.com/aws/aws-cdk/issues/17947)) ([3a9f206](https://github.com/aws/aws-cdk/commit/3a9f20669cc8338d05f9ef8684aa7e50748baa3d)) +* **glue:** remove `batchDeletePartition` from `grantRead()` permissions ([#17941](https://github.com/aws/aws-cdk/issues/17941)) ([3d64f9b](https://github.com/aws/aws-cdk/commit/3d64f9b8c07e83d4a085e3eaf69629a866bc20d0)), closes [#17935](https://github.com/aws/aws-cdk/issues/17935) [#15116](https://github.com/aws/aws-cdk/issues/15116) + +## [2.1.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.11...v2.1.0-alpha.0) (2021-12-08) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **apigatewayv2-authorizers:** The default value for the prop `authorizerName` +in `HttpJwtAuthorizerProps` has changed. +* **apigatewayv2-authorizers:** `HttpJwtAuthorizer` now takes the + construct id and the target jwt issuer as part of its constructor. +* **apigatewayv2-authorizers:** `HttpLambdaAuthorizer` now takes + the construct id and the target lambda function handler as part of + its constructor. +* **apigatewayv2-authorizers:** The default value for the prop + `authorizerName` in `HttpUserPoolAuthorizerProps` has changed. +* **apigatewayv2:** The `HttpIntegration` and `WebSocketIntegration` +classes require an "id" parameter to be provided during its initialization. +* **apigatewayv2-integrations:** The `LambdaWebSocketIntegration` is now + renamed to `WebSocketLambdaIntegration`. The new class accepts the + handler to the target lambda function directly in its constructor. +* **apigatewayv2-integrations:** `HttpProxyIntegration` and + `HttpProxyIntegrationProps` are now renamed to `HttpUrlIntegration` + and `HttpUrlIntegrationProps` respectively. The new class accepts the + target url directly in its constructor. +* **apigatewayv2-integrations:** `LambdaProxyIntegration` and + `LambdaProxyIntegrationProps` are now renamed to + `HttpLambdaIntegration` and `HttpLambdaIntegrationProps` respectively. + The new class accepts the lambda function handler directly in its + constructor. +* **apigatewayv2-integrations:** `HttpAlbIntegration` now accepts the + ELB listener directly in its constructor. +* **apigatewayv2-integrations:** `HttpNlbIntegration` now accepts the + ELB listener directly in its constructor. +* **apigatewayv2-integrations:** `HttpServiceDiscoveryIntegration` now + accepts the service discovery Service directly in its constructor. +* **apigatewayv2-authorizers:** `UserPoolAuthorizerProps` is now + renamed to `HttpUserPoolAuthorizerProps`. +* **apigatewayv2:** The interface `IHttpRouteIntegration` is replaced by +the abstract class `HttpRouteIntegration`. +* **apigatewayv2:** The interface `IWebSocketRouteIntegration` is now + replaced by the abstract class `WebSocketRouteIntegration`. +* **apigatewayv2:** Previously, we allowed the usage of integration + classes to be used with routes defined in multiple `HttpApi` instances + (or `WebSocketApi` instances). This is now disallowed, and separate + instances must be created for each instance of `HttpApi` or + `WebSocketApi`. + +### Features + +* **iot:** add Action to capture CloudWatch metrics ([#17503](https://github.com/aws/aws-cdk/issues/17503)) ([ec4187c](https://github.com/aws/aws-cdk/commit/ec4187c26d68df970d72d0e766d7d27b42e8b784)), closes [/github.com/aws/aws-cdk/pull/16681#issuecomment-942233029](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/issuecomment-942233029) +* **neptune:** add engine version 1.1.0.0 and instance types t4g, r6g ([#17669](https://github.com/aws/aws-cdk/issues/17669)) ([83e669d](https://github.com/aws/aws-cdk/commit/83e669dcdae9390990598236c75015832af766b4)) +* **servicecatalog:** Add TagOptions to a CloudformationProduct ([#17672](https://github.com/aws/aws-cdk/issues/17672)) ([2d19e15](https://github.com/aws/aws-cdk/commit/2d19e1535586d2b006d43da787ffbb0fad8b4978)) + + +### Bug Fixes + +* **apigatewayv2:** integration class does not render an integration resource ([#17729](https://github.com/aws/aws-cdk/issues/17729)) ([3b5b97a](https://github.com/aws/aws-cdk/commit/3b5b97ac1f972f53240798df19af43d85ebf6f13)), closes [#13213](https://github.com/aws/aws-cdk/issues/13213) +* **apprunner:** startCommand and environment are ignored in imageConfiguration ([#16939](https://github.com/aws/aws-cdk/issues/16939)) ([d911c58](https://github.com/aws/aws-cdk/commit/d911c5878c59498a2d0e14ff536e0f8f9f503bfe)), closes [#16812](https://github.com/aws/aws-cdk/issues/16812) +* **appsync:** add caching config to AppSync resolvers ([#17815](https://github.com/aws/aws-cdk/issues/17815)) ([52b535b](https://github.com/aws/aws-cdk/commit/52b535bda5f26b07377fcdfca63a75c62eb5f883)) +* **appsync:** remove 'id' suffix to union definition key ([#17787](https://github.com/aws/aws-cdk/issues/17787)) ([86e7780](https://github.com/aws/aws-cdk/commit/86e77806391dc3fe8cd254fec773320cdb425dec)), closes [#17771](https://github.com/aws/aws-cdk/issues/17771) +* **assert:** support multiline strings with `stringLike()` ([#17692](https://github.com/aws/aws-cdk/issues/17692)) ([37596e6](https://github.com/aws/aws-cdk/commit/37596e6be4cf05432dcba3838955484e512beca6)) + + +### Miscellaneous Chores + +* **apigatewayv2:** integration api re-organization ([#17752](https://github.com/aws/aws-cdk/issues/17752)) ([29039e8](https://github.com/aws/aws-cdk/commit/29039e8bd13a4fdb7f84254038b3331c179273fd)) +* **apigatewayv2-authorizers:** re-organize authorizer api ([#17772](https://github.com/aws/aws-cdk/issues/17772)) ([719f33e](https://github.com/aws/aws-cdk/commit/719f33e20c723f161fc35230fafd7e99bca66a61)) + +## [2.0.0-alpha.11](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.10...v2.0.0-alpha.11) (2021-12-02) + +## [2.0.0-alpha.10](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.9...v2.0.0-alpha.10) (2021-11-26) + +## [2.0.0-alpha.9](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.8...v2.0.0-alpha.9) (2021-11-25) + +## [2.0.0-alpha.8](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.7...v2.0.0-alpha.8) (2021-11-23) + + +### Features + +* **apigatewayv2:** domain endpoint type, security policy and endpoint migration ([#17518](https://github.com/aws/aws-cdk/issues/17518)) ([261b331](https://github.com/aws/aws-cdk/commit/261b331e89be01dc996d153c91b4018e7ddfda29)) +* **apigatewayv2:** http api - mTLS support ([#17284](https://github.com/aws/aws-cdk/issues/17284)) ([54be156](https://github.com/aws/aws-cdk/commit/54be1567546ffd52e83fbe52531f901c0b6c29c9)), closes [#12559](https://github.com/aws/aws-cdk/issues/12559) +* **apigatewayv2:** websocket api: grant manage connections ([#16872](https://github.com/aws/aws-cdk/issues/16872)) ([10dfa60](https://github.com/aws/aws-cdk/commit/10dfa60a693db6e38a1188effc6eeebc2b5c49b8)), closes [#14828](https://github.com/aws/aws-cdk/issues/14828) +* **iot:** add Action to put objects in S3 Buckets ([#17307](https://github.com/aws/aws-cdk/issues/17307)) ([49b87db](https://github.com/aws/aws-cdk/commit/49b87dbfe5a37abad8880e0325f7aa8218705407)), closes [/github.com/aws/aws-cdk/pull/16681#issuecomment-942233029](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/issuecomment-942233029) +* **iot:** add Action to put records to a Firehose stream ([#17466](https://github.com/aws/aws-cdk/issues/17466)) ([7cb5f2c](https://github.com/aws/aws-cdk/commit/7cb5f2cc8402aad223eb5c50cdf5ee2e0d56150e)), closes [/github.com/aws/aws-cdk/pull/16681#issuecomment-942233029](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/issuecomment-942233029) +* **msk:** add Kafka version 2.6.2 ([#17497](https://github.com/aws/aws-cdk/issues/17497)) ([5f1f476](https://github.com/aws/aws-cdk/commit/5f1f4762e964345741426fa1242320a5fc117338)) +* **redshift:** Add support for distStyle, distKey, sortStyle and sortKey to Table ([#17135](https://github.com/aws/aws-cdk/issues/17135)) ([a137cd1](https://github.com/aws/aws-cdk/commit/a137cd13a90cc3bfdb8207bd8764e2eb05836126)), closes [#17125](https://github.com/aws/aws-cdk/issues/17125) +* **servicecatalog:** support local launch role name in launch role constraint ([#17371](https://github.com/aws/aws-cdk/issues/17371)) ([b307b69](https://github.com/aws/aws-cdk/commit/b307b6996ed13b1f2dedeb41d29409183becb969)) + + +### Bug Fixes + +* **iot:** unable to add the same lambda function to two TopicRule Actions ([#17521](https://github.com/aws/aws-cdk/issues/17521)) ([eda1640](https://github.com/aws/aws-cdk/commit/eda1640fcaf6375d7edc5f8edcb5d69c82d130a1)), closes [#17508](https://github.com/aws/aws-cdk/issues/17508) +* **redshift:** tableNameSuffix evaluation ([#17213](https://github.com/aws/aws-cdk/issues/17213)) ([f7c3217](https://github.com/aws/aws-cdk/commit/f7c3217a731804f014526e10b414a9e7f27d575b)), closes [#17064](https://github.com/aws/aws-cdk/issues/17064) + +## [2.0.0-alpha.7](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.6...v2.0.0-alpha.7) (2021-11-17) + +## [2.0.0-alpha.6](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.5...v2.0.0-alpha.6) (2021-11-10) + +## [2.0.0-alpha.5](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.4...v2.0.0-alpha.5) (2021-11-09) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **apigatewayv2-authorizers:** `userPoolClient` property in `UserPoolAuthorizerProps` +is now renamed to `userPoolClients`. + +### Features + +* **apigatewayv2-authorizers:** http api - allow multiple user pool clients per HttpUserPoolAuthorizer ([#16903](https://github.com/aws/aws-cdk/issues/16903)) ([747eb7c](https://github.com/aws/aws-cdk/commit/747eb7cf5dba4514241103ffebc49e03261d25a9)), closes [#15431](https://github.com/aws/aws-cdk/issues/15431) +* **iot:** allow setting `description` and `enabled` of TopicRule ([#17225](https://github.com/aws/aws-cdk/issues/17225)) ([a9aae09](https://github.com/aws/aws-cdk/commit/a9aae097daad475dd57bbf4842956327a6d5a220)), closes [/github.com/aws/aws-cdk/pull/16681#issuecomment-942233029](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/issuecomment-942233029) +* **iot:** allow setting `errorAction` of TopicRule ([#17287](https://github.com/aws/aws-cdk/issues/17287)) ([e412308](https://github.com/aws/aws-cdk/commit/e412308bc81ede16b079077cfa4774ceaa2fadeb)), closes [/github.com/aws/aws-cdk/pull/16681#issuecomment-942233029](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/issuecomment-942233029) +* **iot:** allow setting Actions of TopicRule ([#17110](https://github.com/aws/aws-cdk/issues/17110)) ([0cabb9f](https://github.com/aws/aws-cdk/commit/0cabb9f2d2f50c03337cd6f35bf47fc54ada3a21)), closes [#16681](https://github.com/aws/aws-cdk/issues/16681) [/github.com/aws/aws-cdk/pull/16681#discussion_r733912215](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/discussion_r733912215) +* **iot-actions:** Add the action to put CloudWatch Logs ([#17228](https://github.com/aws/aws-cdk/issues/17228)) ([a7c869e](https://github.com/aws/aws-cdk/commit/a7c869e6d57932389df572cd7f104a4c9ea8f8a5)), closes [/github.com/aws/aws-cdk/pull/16681#issuecomment-942233029](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/issuecomment-942233029) +* **servicecatalog:** allow creating a CFN Product Version with CDK code ([#17144](https://github.com/aws/aws-cdk/issues/17144)) ([f8d0ef5](https://github.com/aws/aws-cdk/commit/f8d0ef550df07e43aeab35dde4406c92f7551ed0)) +* **synthetics:** add static cron method to schedule class ([#17250](https://github.com/aws/aws-cdk/issues/17250)) ([1ab9b26](https://github.com/aws/aws-cdk/commit/1ab9b265e9899ffcd093b3600d658c8a6519cc69)), closes [#16402](https://github.com/aws/aws-cdk/issues/16402) + +## [2.0.0-alpha.4](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.3...v2.0.0-alpha.4) (2021-10-27) + + +### Features + +* **amplify:** Add support for custom headers in the App ([#17102](https://github.com/aws/aws-cdk/issues/17102)) ([9f3abd7](https://github.com/aws/aws-cdk/commit/9f3abd745c98a65e7314528f40d08ea2ecbe19a6)), closes [#17084](https://github.com/aws/aws-cdk/issues/17084) +* **synthetics:** add syn-nodejs-puppeteer-3.3 runtime ([#17132](https://github.com/aws/aws-cdk/issues/17132)) ([8343bec](https://github.com/aws/aws-cdk/commit/8343beccbee06f453b63387f54768b320fe01339)) + + +### Bug Fixes + +* **redshift:** cluster uses key ARN instead of key ID ([#17108](https://github.com/aws/aws-cdk/issues/17108)) ([bdf30c6](https://github.com/aws/aws-cdk/commit/bdf30c696b04b26a8e41548839d5c4cf61d471cc)), closes [#17032](https://github.com/aws/aws-cdk/issues/17032) + +## [2.0.0-alpha.3](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.2...v2.0.0-alpha.3) (2021-10-25) + + +### Features + +* **iot:** create new aws-iot-actions module ([#17112](https://github.com/aws/aws-cdk/issues/17112)) ([06838e6](https://github.com/aws/aws-cdk/commit/06838e66db0c9a48e2aa7da1e7707fda335bb62c)), closes [#16681](https://github.com/aws/aws-cdk/issues/16681) [/github.com/aws/aws-cdk/pull/16681#discussion_r733912215](https://github.com/aws//github.com/aws/aws-cdk/pull/16681/issues/discussion_r733912215) + +## [2.0.0-alpha.2](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.1...v2.0.0-alpha.2) (2021-10-22) + + +### Features + +* **apigatewayv2-integrations:** http api - support for request parameter mapping ([#15630](https://github.com/aws/aws-cdk/issues/15630)) ([0452aed](https://github.com/aws/aws-cdk/commit/0452aed2f00198e05bd65b1d20246f7de0b24e20)) +* **iot:** add the TopicRule L2 construct ([#16681](https://github.com/aws/aws-cdk/issues/16681)) ([86f85ce](https://github.com/aws/aws-cdk/commit/86f85ce10f78b86133f9dab9851e56d03fb28cc0)), closes [#16602](https://github.com/aws/aws-cdk/issues/16602) +* **msk:** add Kafka version 2.8.1 ([#16881](https://github.com/aws/aws-cdk/issues/16881)) ([7db5c8c](https://github.com/aws/aws-cdk/commit/7db5c8cdafe7b9b22b6b40cb25ed8bd1946301f4)) + + +### Bug Fixes + +* **apigatewayv2:** unable to retrieve domain url for default stage ([#16854](https://github.com/aws/aws-cdk/issues/16854)) ([c6db91e](https://github.com/aws/aws-cdk/commit/c6db91eee2cb658ce347c7ac6d6e3c95bc5977dc)), closes [#16638](https://github.com/aws/aws-cdk/issues/16638) + +## [2.0.0-alpha.1](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.0...v2.0.0-alpha.1) (2021-10-13) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **assertions:** Starting this release, the `assertions` module will be +published to Maven with the name 'assertions' instead of +'cdk-assertions'. +* **assertions:** `Match.absentProperty()` becomes `Match.absent()`, and its type changes from `string` to `Matcher`. +* **assertions:** The `templateMatches()` API previously performed +an exact match. The default behavior has been updated to be +"object-like". +* **assertions:** the `findResources()` API previously returned a list of resources, but now returns a map of logical id to resource. +* **assertions:** the `findOutputs()` API previously returned a list of outputs, but now returns a map of logical id to output. +* **assertions:** the `findMappings()` API previously returned a list of mappings, but now returns a map of logical id to mapping. + +### Features + +* **appsync:** Lambda Authorizer for AppSync GraphqlApi ([#16743](https://github.com/aws/aws-cdk/issues/16743)) ([bdbe8b6](https://github.com/aws/aws-cdk/commit/bdbe8b6cf6ab1ae261dddeb39576749e768183b3)), closes [#16380](https://github.com/aws/aws-cdk/issues/16380) +* **assertions:** capture matching value ([#16426](https://github.com/aws/aws-cdk/issues/16426)) ([cc74f92](https://github.com/aws/aws-cdk/commit/cc74f92f275a338cb53caa7d6f124ab0dd960f0b)) +* **assertions:** findXxx() APIs now includes the logical id as part of its result ([#16454](https://github.com/aws/aws-cdk/issues/16454)) ([532a72b](https://github.com/aws/aws-cdk/commit/532a72b133e6ebd0c7b8b7c65b273bb0e6f3293c)) +* **assertions:** match into serialized json ([#16456](https://github.com/aws/aws-cdk/issues/16456)) ([fed30fc](https://github.com/aws/aws-cdk/commit/fed30fc815bac1006003524ac6232778f3c3babe)) +* **assertions:** matcher support for `templateMatches()` API ([#16789](https://github.com/aws/aws-cdk/issues/16789)) ([0fb2179](https://github.com/aws/aws-cdk/commit/0fb21799b0da3185c2d4ba91a8ef9729c71fbd5a)) +* **aws-apprunner:** support the Service L2 construct ([#15810](https://github.com/aws/aws-cdk/issues/15810)) ([3cea941](https://github.com/aws/aws-cdk/commit/3cea9419b6c02b3b5eb952b7e03b5a132e5e9630)), closes [#14813](https://github.com/aws/aws-cdk/issues/14813) +* **batch:** fargate support for jobs ([#15848](https://github.com/aws/aws-cdk/issues/15848)) ([066bcb1](https://github.com/aws/aws-cdk/commit/066bcb1e5d53192bd465190c8a4f81c5838987f4)), closes [#13591](https://github.com/aws/aws-cdk/issues/13591) [#13590](https://github.com/aws/aws-cdk/issues/13590) [#13591](https://github.com/aws/aws-cdk/issues/13591) +* **glue:** Job construct ([#12506](https://github.com/aws/aws-cdk/issues/12506)) ([fc74110](https://github.com/aws/aws-cdk/commit/fc74110ff7eae544d9cfc11b2f6779169f17d145)), closes [#12443](https://github.com/aws/aws-cdk/issues/12443) +* **neptune:** add engine version 1.0.5.0 ([#16394](https://github.com/aws/aws-cdk/issues/16394)) ([deaac4a](https://github.com/aws/aws-cdk/commit/deaac4a16e957bd046f24a6c26d735fc4cf980bd)), closes [#16388](https://github.com/aws/aws-cdk/issues/16388) +* **redshift:** manage database users and tables via cdk ([#15931](https://github.com/aws/aws-cdk/issues/15931)) ([a9d5118](https://github.com/aws/aws-cdk/commit/a9d51185a144cd4962c85227ae5b904510399fa4)), closes [#9815](https://github.com/aws/aws-cdk/issues/9815) + + +### Bug Fixes + +* **apigatewayv2:** ApiMapping does not depend on DomainName ([#16201](https://github.com/aws/aws-cdk/issues/16201)) ([1e247d8](https://github.com/aws/aws-cdk/commit/1e247d89adbc09ff79b87753fcd78b238a6752e8)), closes [#15464](https://github.com/aws/aws-cdk/issues/15464) +* **assertions:** `hasResourceProperties` is incompatible with `Match.not` and `Match.absent` ([#16678](https://github.com/aws/aws-cdk/issues/16678)) ([6f0a507](https://github.com/aws/aws-cdk/commit/6f0a5076b1e074fd33ed118af8e48b72d7593418)), closes [#16626](https://github.com/aws/aws-cdk/issues/16626) +* **aws-servicecatalog:** Allow users to create multiple product versions from assets. ([#16914](https://github.com/aws/aws-cdk/issues/16914)) ([958d755](https://github.com/aws/aws-cdk/commit/958d755ff7acaf016e3f8969bf5ab07d4dc2977b)) +* **route53resolver:** FirewallDomainList throws with wildcard domains ([#16538](https://github.com/aws/aws-cdk/issues/16538)) ([643e5ee](https://github.com/aws/aws-cdk/commit/643e5ee519095968a758942220f1e3a6c20f54b3)), closes [#16527](https://github.com/aws/aws-cdk/issues/16527) + + +### Miscellaneous Chores + +* **assertions:** consistent naming in maven ([#16921](https://github.com/aws/aws-cdk/issues/16921)) ([0dcd9ec](https://github.com/aws/aws-cdk/commit/0dcd9eca3a1014c39f92d9e052b67974fc751af0)) +* **assertions:** replace `absentProperty()` with `absent()` and support it as a `Matcher` type ([#16653](https://github.com/aws/aws-cdk/issues/16653)) ([c980185](https://github.com/aws/aws-cdk/commit/c980185142c58821b7ae7ef0b88c6c98ca8f0246)) diff --git a/CHANGELOG.v2.md b/CHANGELOG.v2.md new file mode 100644 index 0000000000000..dc516fd6f1d09 --- /dev/null +++ b/CHANGELOG.v2.md @@ -0,0 +1,2177 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [2.26.0](https://github.com/aws/aws-cdk/compare/v2.25.0...v2.26.0) (2022-05-27) + + +### Features + +* **aws-ecr-assets:** support the --platform option when building docker images ([#20439](https://github.com/aws/aws-cdk/issues/20439)) ([adc0368](https://github.com/aws/aws-cdk/commit/adc0368dc1f137aeaa4bd92de77028269e3a48f4)), closes [#12472](https://github.com/aws/aws-cdk/issues/12472) [#16770](https://github.com/aws/aws-cdk/issues/16770) [#16858](https://github.com/aws/aws-cdk/issues/16858) +* **lambda:** validate function description length ([#20476](https://github.com/aws/aws-cdk/issues/20476)) ([de027e2](https://github.com/aws/aws-cdk/commit/de027e28ce5c95e70fed8874e6531eabba24521c)), closes [#20475](https://github.com/aws/aws-cdk/issues/20475) +* **s3:** adds objectSizeGreaterThan property for s3 lifecycle rule ([#20425](https://github.com/aws/aws-cdk/issues/20425)) ([23690e4](https://github.com/aws/aws-cdk/commit/23690e40b1604839f99da8b8f96168dda8679c47)), closes [#20372](https://github.com/aws/aws-cdk/issues/20372) +* **servicecatalog:** ProductStackHistory can retain old ProductStack iterations ([#20244](https://github.com/aws/aws-cdk/issues/20244)) ([1037b8c](https://github.com/aws/aws-cdk/commit/1037b8c7f58ccd162491b49d75954c38d685d67f)) + + +### Bug Fixes + +* **core:** NestedStack defaultChild is undefined ([#20450](https://github.com/aws/aws-cdk/issues/20450)) ([0a49927](https://github.com/aws/aws-cdk/commit/0a49927e9e5bc250f339f664fa843fae2fab92ec)), closes [#11221](https://github.com/aws/aws-cdk/issues/11221) +* **iam:** Role policies cannot grow beyond 10k ([#20400](https://github.com/aws/aws-cdk/issues/20400)) ([75bfce7](https://github.com/aws/aws-cdk/commit/75bfce70dbc57fe688c96b3c5cbb67fc4e6fcc56)), closes [#19276](https://github.com/aws/aws-cdk/issues/19276) [#19939](https://github.com/aws/aws-cdk/issues/19939) [#19835](https://github.com/aws/aws-cdk/issues/19835) +* **lambda:** Fix typo in public subnet warning ([#20470](https://github.com/aws/aws-cdk/issues/20470)) ([85f4e29](https://github.com/aws/aws-cdk/commit/85f4e29e0551d71dd5f2f588584785cbc1ae7b72)) +* **pipelines:** too many CodeBuild steps inflate policy size ([#20396](https://github.com/aws/aws-cdk/issues/20396)) ([f334060](https://github.com/aws/aws-cdk/commit/f334060fca02e928bc4f5fdcfd45244060731d78)), closes [#20189](https://github.com/aws/aws-cdk/issues/20189) [#19276](https://github.com/aws/aws-cdk/issues/19276) [#19939](https://github.com/aws/aws-cdk/issues/19939) [#19835](https://github.com/aws/aws-cdk/issues/19835) +* **s3-deployment:** default role does not get `PutAcl` permissions on… ([#20492](https://github.com/aws/aws-cdk/issues/20492)) ([3e6ec5c](https://github.com/aws/aws-cdk/commit/3e6ec5c48cff41cec2b32566990046fd704f4ec1)) + +## [2.25.0](https://github.com/aws/aws-cdk/compare/v2.24.1...v2.25.0) (2022-05-20) + + +### Features + +* **cfnspec:** cloudformation spec v69.0.0 ([#20240](https://github.com/aws/aws-cdk/issues/20240)) ([e82b63f](https://github.com/aws/aws-cdk/commit/e82b63fc8880ecbd5e29d02e3e623cda3bbce1d6)) and ([#20331](https://github.com/aws/aws-cdk/issues/20331)) ([e9de4e9](https://github.com/aws/aws-cdk/commit/e9de4e9ab6bc44ff691238d91a8945c880a4d97c)) +* **cfnspec:** cloudformation spec v72.0.0 ([#20357](https://github.com/aws/aws-cdk/issues/20357)) ([c8fd84c](https://github.com/aws/aws-cdk/commit/c8fd84c12c726e216c10380f9fe7e5d55a892cdf)) +* **cli:** make ecr images immutable when created from cdk bootstrap ([#19937](https://github.com/aws/aws-cdk/issues/19937)) ([0ef4bb4](https://github.com/aws/aws-cdk/commit/0ef4bb4bf493a7e3b72b518841f676e91d014ba9)), closes [#18376](https://github.com/aws/aws-cdk/issues/18376) +* **cloudfront:** REST API origin ([#20335](https://github.com/aws/aws-cdk/issues/20335)) ([f7693e3](https://github.com/aws/aws-cdk/commit/f7693e3f981f60886c94fb61876a1e5e0f2c1a02)) +* **cognito:** `grant()` for user pool ([#20285](https://github.com/aws/aws-cdk/issues/20285)) ([10d13e4](https://github.com/aws/aws-cdk/commit/10d13e4bc1841721650f9ca9b6b16e18c219ea21)) +* **core:** allow disabling of LogicalID Metadata in case of large manifest ([#20433](https://github.com/aws/aws-cdk/pull/20433)) ([88ea829](https://github.com/aws/aws-cdk/commit/88ea829b5d0a64f51848474b6b9f006d1f729fb4)), closes [#20211](https://github.com/aws/aws-cdk/issues/20211) +* **ec2:** more router types ([#20151](https://github.com/aws/aws-cdk/issues/20151)) ([33b983c](https://github.com/aws/aws-cdk/commit/33b983ca76c91f182e60dcab8c6ead6be4d4712d)), closes [#19057](https://github.com/aws/aws-cdk/issues/19057) [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#aws-resource-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html/issues/aws-resource-ec2) +* **iam:** validate role path at build time ([#16165](https://github.com/aws/aws-cdk/issues/16165)) ([65a5a46](https://github.com/aws/aws-cdk/commit/65a5a46837c42b2538837a699267ec9cc46ddc51)), closes [#13747](https://github.com/aws/aws-cdk/issues/13747) +* **logs:** additional log retention periods ([#20347](https://github.com/aws/aws-cdk/issues/20347)) ([734faa5](https://github.com/aws/aws-cdk/commit/734faa5ae7489a511d5a00f255d7afd408db880c)), closes [#20346](https://github.com/aws/aws-cdk/issues/20346) +* **s3:** add `noncurrentVersionsToRetain` property to lifecycle rule ([#20348](https://github.com/aws/aws-cdk/issues/20348)) ([85604d9](https://github.com/aws/aws-cdk/commit/85604d929978aa1c645dba8959d682892278f862)), closes [#19784](https://github.com/aws/aws-cdk/issues/19784) + + +### Bug Fixes + +* **apigateway:** arnForExecuteApi fails on tokenized path ([#20323](https://github.com/aws/aws-cdk/issues/20323)) ([f7732a1](https://github.com/aws/aws-cdk/commit/f7732a1b06927d84e79ea1c9fb671ad184a9efea)), closes [#20252](https://github.com/aws/aws-cdk/issues/20252) +* **assets:** parallel docker image publishing fails on macOS ([#20117](https://github.com/aws/aws-cdk/issues/20117)) ([a58a803](https://github.com/aws/aws-cdk/commit/a58a8037b79636e9f973beff2483baecad73f15d)), closes [#20116](https://github.com/aws/aws-cdk/issues/20116) +* **cfn-include:** allow CFN Functions in Tags ([#19923](https://github.com/aws/aws-cdk/issues/19923)) ([4df9a4f](https://github.com/aws/aws-cdk/commit/4df9a4fa9ef24266b2bcde378ecc112c7dcaf8aa)), closes [#16889](https://github.com/aws/aws-cdk/issues/16889) +* **cli:** allow SSO profiles to be used as source profiles ([#20340](https://github.com/aws/aws-cdk/issues/20340)) ([a0b29e9](https://github.com/aws/aws-cdk/commit/a0b29e9f29775bfd94307a8975f5ba3a8faf05fa)), closes [#19897](https://github.com/aws/aws-cdk/issues/19897) +* **cloudwatch-actions:** stack partition is hardcoded 'aws' in action arn ([#20224](https://github.com/aws/aws-cdk/issues/20224)) ([0eb6c3b](https://github.com/aws/aws-cdk/commit/0eb6c3bb5853194f8727fc2cd3b1c9acb6eea20f)), closes [#19765](https://github.com/aws/aws-cdk/issues/19765) +* **eks:** Cluster.FromClusterAttributes ignores KubectlLambdaRole ([#20373](https://github.com/aws/aws-cdk/issues/20373)) ([7e824ab](https://github.com/aws/aws-cdk/commit/7e824ab40772dc888aec7986e343b12ec1032657)), closes [#20008](https://github.com/aws/aws-cdk/issues/20008) +* **iam:** AccountPrincipal accepts values which aren't account IDs ([#20292](https://github.com/aws/aws-cdk/issues/20292)) ([d0163f8](https://github.com/aws/aws-cdk/commit/d0163f8a3d14e38f67b381c569b5bd3af92c4f51)), closes [#20288](https://github.com/aws/aws-cdk/issues/20288) +* **pipelines:** specifying the Action Role for CodeBuild steps ([#18293](https://github.com/aws/aws-cdk/issues/18293)) ([719edfc](https://github.com/aws/aws-cdk/commit/719edfcb949828a423be2367b5c85b0e9a9c1c12)), closes [#18291](https://github.com/aws/aws-cdk/issues/18291) [#18291](https://github.com/aws/aws-cdk/issues/18291) +* **rds:** tokens should not be lowercased ([#20287](https://github.com/aws/aws-cdk/issues/20287)) ([5429e55](https://github.com/aws/aws-cdk/commit/5429e55126db7556dd2eb2d5e30a50976b5f6ee4)), closes [#18802](https://github.com/aws/aws-cdk/issues/18802) +* **secretsmanager:** automatic rotation cannot be disabled ([#18906](https://github.com/aws/aws-cdk/issues/18906)) ([c50d60c](https://github.com/aws/aws-cdk/commit/c50d60ca9417c771ca31cb330521e0e9f988e3fd)), closes [#18749](https://github.com/aws/aws-cdk/issues/18749) + +## [2.24.1](https://github.com/aws/aws-cdk/compare/v2.24.0...v2.24.1) (2022-05-12) + +## [2.24.0](https://github.com/aws/aws-cdk/compare/v2.23.0...v2.24.0) (2022-05-11) + + +### Features + +* **lambda:** nodejs16.x runtime ([#20261](https://github.com/aws/aws-cdk/issues/20261)) ([edf7c86](https://github.com/aws/aws-cdk/commit/edf7c864f90acc4f29ff78ff0de74e324f8b85ee)) + + +### Bug Fixes + +* **cognito:** UserPoolDomain.baseUrl() does not return FIPS-compliant url for gov cloud regions ([#20200](https://github.com/aws/aws-cdk/issues/20200)) ([dd10df1](https://github.com/aws/aws-cdk/commit/dd10df1c84eaa752e3587a6b1f0c7e28b9d508e3)), closes [#20182](https://github.com/aws/aws-cdk/issues/20182) [#12500](https://github.com/aws/aws-cdk/issues/12500) +* **stepfunctions:** map property maxConcurrency is not token-aware ([#20279](https://github.com/aws/aws-cdk/issues/20279)) ([14be764](https://github.com/aws/aws-cdk/commit/14be76497b85f6cd9083620ebe5d890359540aa5)), closes [#20152](https://github.com/aws/aws-cdk/issues/20152) + +## [2.23.0](https://github.com/aws/aws-cdk/compare/v2.22.0...v2.23.0) (2022-05-04) + + +### Features + +* **cfnspec:** cloudformation spec v68.0.0 ([#20065](https://github.com/aws/aws-cdk/issues/20065)) ([f199fad](https://github.com/aws/aws-cdk/commit/f199faddc0b8e565aa413e480e51d25fed5321bf)) +* **cloudwatch:** Add CustomWidget ([#19327](https://github.com/aws/aws-cdk/issues/19327)) ([489340e](https://github.com/aws/aws-cdk/commit/489340ea383c9130c315853afae0137b1fa03eb0)), closes [#17579](https://github.com/aws/aws-cdk/issues/17579) +* **cloudwatch:** expose dashboardName property on the L2 Dashboard construct ([#17721](https://github.com/aws/aws-cdk/issues/17721)) ([8cb5dff](https://github.com/aws/aws-cdk/commit/8cb5dff400e0143b86494f11c565d981c74f875a)), closes [#17648](https://github.com/aws/aws-cdk/issues/17648) +* **ec2:** add i4i instance type ([#20134](https://github.com/aws/aws-cdk/issues/20134)) ([64c5064](https://github.com/aws/aws-cdk/commit/64c50640e7f5897f08af3f86cd28a1dab3cd2430)) +* **iam:** add convenience method `inOrganization` to ArnPrincipal ([#20109](https://github.com/aws/aws-cdk/issues/20109)) ([c545bfe](https://github.com/aws/aws-cdk/commit/c545bfe2a3ccb53fa5ae2eb725a1696677703c0a)), closes [/github.com/aws/aws-cdk/pull/19975#discussion_r857385168](https://github.com/aws//github.com/aws/aws-cdk/pull/19975/issues/discussion_r857385168) [#19975](https://github.com/aws/aws-cdk/issues/19975) +* **lambda:** `function.addAlias()` simplifies Alias creation ([#20034](https://github.com/aws/aws-cdk/issues/20034)) ([a79bc47](https://github.com/aws/aws-cdk/commit/a79bc47aaa6737628562c251e2f1990b2c7b88ef)) +* **rds:** add secret rotation to `DatabaseClusterFromSnapshot` ([#20020](https://github.com/aws/aws-cdk/issues/20020)) ([abc3502](https://github.com/aws/aws-cdk/commit/abc3502eef9b1b950f4e9d2c3f5f44b7e2f6476d)), closes [#12877](https://github.com/aws/aws-cdk/issues/12877) +* **servicecatalog:** graduate to stable 🚀 ([#19515](https://github.com/aws/aws-cdk/issues/19515)) ([4764591](https://github.com/aws/aws-cdk/commit/4764591a59d63026584f1898046974a1a166e166)) + + +### Bug Fixes + +* **lambda:** grant invoke twice with different principals ([#20174](https://github.com/aws/aws-cdk/issues/20174)) ([bb4c950](https://github.com/aws/aws-cdk/commit/bb4c9506c7395fc3c84725fb8e6054ac23ca2bf7)) +* **ubergen:** expose exports in core module for v2 ([#20176](https://github.com/aws/aws-cdk/issues/20176)) ([fc2cd48](https://github.com/aws/aws-cdk/commit/fc2cd48a3aabaf0d5214b322794c6a49d9c700c9)), closes [#19773](https://github.com/aws/aws-cdk/issues/19773) + +## [2.22.0](https://github.com/aws/aws-cdk/compare/v2.21.1...v2.22.0) (2022-04-27) + + +### Features + +* **aws-cognito:** send emails with a verified domain ([#19790](https://github.com/aws/aws-cdk/issues/19790)) ([1d2b1d3](https://github.com/aws/aws-cdk/commit/1d2b1d30b4357961ef72fd275a58038dd755de17)), closes [#19762](https://github.com/aws/aws-cdk/issues/19762) +* **aws-eks:** add annotations and labels to service accounts ([#19609](https://github.com/aws/aws-cdk/issues/19609)) ([82aec9d](https://github.com/aws/aws-cdk/commit/82aec9db1fcd23f0c39c75c950c5b2a165d0f99a)), closes [#19607](https://github.com/aws/aws-cdk/issues/19607) +* **cloudwatch:** expose dashboardArn for CloudWatch dashboard L2 construct ([#20059](https://github.com/aws/aws-cdk/issues/20059)) ([df9814f](https://github.com/aws/aws-cdk/commit/df9814f48b6d94a2c2297cacd9e7cea958993766)) +* **rds:** allow `DatabaseClusterFromSnapshot` to set `copyTagsToSnapshot` property ([#19932](https://github.com/aws/aws-cdk/issues/19932)) ([40a6ceb](https://github.com/aws/aws-cdk/commit/40a6ceb9983694a3645edd78167e93825a9049e9)), closes [#19884](https://github.com/aws/aws-cdk/issues/19884) + + +### Bug Fixes + +* **tooling:** container user's uid does not match host's uid ([#20082](https://github.com/aws/aws-cdk/issues/20082)) ([e9670c8](https://github.com/aws/aws-cdk/commit/e9670c85819203069ca597b71e305b6a20313d1f)), closes [#19979](https://github.com/aws/aws-cdk/issues/19979) +* deploy monitor count is off if there are > 100 changes ([#20067](https://github.com/aws/aws-cdk/issues/20067)) ([fd306ee](https://github.com/aws/aws-cdk/commit/fd306ee05cfa7ebaa8d997007500d89d62868897)), closes [#11805](https://github.com/aws/aws-cdk/issues/11805) +* **eks:** cluster cannot be created in opt-in regions ([#20009](https://github.com/aws/aws-cdk/issues/20009)) ([ec06f48](https://github.com/aws/aws-cdk/commit/ec06f4893d62f371ef92fccaa52d38f4350d6712)), closes [#13748](https://github.com/aws/aws-cdk/issues/13748) [#15579](https://github.com/aws/aws-cdk/issues/15579) +* **eks:** remove incomplete support for k8s v1.22 ([#20000](https://github.com/aws/aws-cdk/issues/20000)) ([d38a9e4](https://github.com/aws/aws-cdk/commit/d38a9e44af184e6e7fa8cde14a84ff2c72cec5f9)), closes [#19756](https://github.com/aws/aws-cdk/issues/19756) [#19919](https://github.com/aws/aws-cdk/issues/19919) +* **imagebuilder:** AmiDistributionConfiguration renders empty ([#20045](https://github.com/aws/aws-cdk/issues/20045)) ([7bd7139](https://github.com/aws/aws-cdk/commit/7bd7139abafa0f36d0494be2fa6f03b5149702ef)) +* **imagebuilder:** revert property field typings ([b2e0eb5](https://github.com/aws/aws-cdk/commit/b2e0eb501e87bb954e985081d28ceecaf42a1ddd)) +* **region-info:** EMR service principal incorrect in China ([#20014](https://github.com/aws/aws-cdk/issues/20014)) ([84649b8](https://github.com/aws/aws-cdk/commit/84649b87aec769be690c627832f73a8472fb785f)), closes [#19867](https://github.com/aws/aws-cdk/issues/19867) + +## [2.21.1](https://github.com/aws/aws-cdk/compare/v2.21.0...v2.21.1) (2022-04-22) + + +### Bug Fixes + +* **imagebuilder:** revert property field typings ([5e4dca2](https://github.com/aws/aws-cdk/commit/5e4dca2c0429b2a4fb8723c282565a0481e29c0a)) + +## [2.21.0](https://github.com/aws/aws-cdk/compare/v2.20.0...v2.21.0) (2022-04-22) + + +### Features + +* **autoscaling:** Auto Scaling Group with Launch Template ([#19066](https://github.com/aws/aws-cdk/issues/19066)) ([1581af0](https://github.com/aws/aws-cdk/commit/1581af0e91cd68ace2c76c236be811a4e48bffe6)), closes [#6734](https://github.com/aws/aws-cdk/issues/6734) +* **aws-ecr:** make it easy to reference image tag or digest, use everywhere ([#19799](https://github.com/aws/aws-cdk/issues/19799)) ([380774e](https://github.com/aws/aws-cdk/commit/380774edd5f8c42294651ead3541eebcf029251c)), closes [#13299](https://github.com/aws/aws-cdk/issues/13299) [#15333](https://github.com/aws/aws-cdk/issues/15333) +* **cfnspec:** cloudformation spec v66.0.0 ([#19812](https://github.com/aws/aws-cdk/issues/19812)) ([43735fd](https://github.com/aws/aws-cdk/commit/43735fd85cff3d5f9cdf4e6c9f62ffe4c93a72b4)), closes [#19798](https://github.com/aws/aws-cdk/issues/19798) +* **cfnspec:** cloudformation spec v66.1.0 ([#19929](https://github.com/aws/aws-cdk/issues/19929)) ([8c8b6b6](https://github.com/aws/aws-cdk/commit/8c8b6b68b98e090580357172c247267ce92f2668)) +* **cli:** glob-style key matching to context --reset ([#19840](https://github.com/aws/aws-cdk/issues/19840)) ([edb4119](https://github.com/aws/aws-cdk/commit/edb411925cf84ebe38e5a45acdec20f339087ea6)), closes [#19797](https://github.com/aws/aws-cdk/issues/19797) +* **codebuild:** add ability to customize build status reporting for third-party Git sources ([#19408](https://github.com/aws/aws-cdk/issues/19408)) ([423d72f](https://github.com/aws/aws-cdk/commit/423d72f79b979d6f5f8ba70df05b7e1580d6a349)) +* **codepipeline:** allow to disable stage transition ([#19911](https://github.com/aws/aws-cdk/issues/19911)) ([ac9901a](https://github.com/aws/aws-cdk/commit/ac9901ada20e0bcadcae0e6f59e5c58220328714)), closes [#1649](https://github.com/aws/aws-cdk/issues/1649) +* **lambda:** function URLs ([#19817](https://github.com/aws/aws-cdk/issues/19817)) ([4fd515a](https://github.com/aws/aws-cdk/commit/4fd515a3a1de87977ad71329bb7cecb0527558f4)), closes [#19798](https://github.com/aws/aws-cdk/issues/19798) +* **logs:** add QueryDefinition L2 Construct ([#18655](https://github.com/aws/aws-cdk/issues/18655)) ([fcf981b](https://github.com/aws/aws-cdk/commit/fcf981b31c12f0366e49e15d5aa67d412e84caf0)) +* **route53:** fromPublicHostedZoneAttributes method with zoneName ([#19771](https://github.com/aws/aws-cdk/issues/19771)) ([7867dc4](https://github.com/aws/aws-cdk/commit/7867dc499af50edad11c9263c37cb71e72193c04)), closes [#18700](https://github.com/aws/aws-cdk/issues/18700) +* **s3-deployment:** ephemeral storage size property for bucket deployment ([#19958](https://github.com/aws/aws-cdk/issues/19958)) ([3ce40b4](https://github.com/aws/aws-cdk/commit/3ce40b4455215b066833fa0ebe0e0a99a2928573)), closes [#19947](https://github.com/aws/aws-cdk/issues/19947) +* check for accidental exposure of secrets ([#19543](https://github.com/aws/aws-cdk/issues/19543)) ([789e8d2](https://github.com/aws/aws-cdk/commit/789e8d2aaa0aefb6d17e4ebc0d56c17e9999add0)) + + +### Bug Fixes + +* **autoscaling:** update validation on maxInstanceLifetime ([#19584](https://github.com/aws/aws-cdk/issues/19584)) ([d115b47](https://github.com/aws/aws-cdk/commit/d115b476688eb39a935074490435f855f7fee9c0)) +* **aws-cloudfront:** Add sslSupportMethod ([#19737](https://github.com/aws/aws-cdk/issues/19737)) ([c5a9679](https://github.com/aws/aws-cdk/commit/c5a96793818f57141efc78ab60f13b48a3b1e460)), closes [#19476](https://github.com/aws/aws-cdk/issues/19476) +* **aws-ecr-assets:** correct file existence validation in tests ([#19945](https://github.com/aws/aws-cdk/issues/19945)) ([d4c13c0](https://github.com/aws/aws-cdk/commit/d4c13c01c2d2a910a09db7c6fdfc67f410d6b195)), closes [40aws-cdk/aws-ecr-assets/test/image-asset.test.ts#L387](https://github.com/40aws-cdk/aws-ecr-assets/test/image-asset.test.ts/issues/L387) [#19944](https://github.com/aws/aws-cdk/issues/19944) +* **cfn-diff:** allow resources to change types ([#19891](https://github.com/aws/aws-cdk/issues/19891)) ([4f3a340](https://github.com/aws/aws-cdk/commit/4f3a340ab8794ce793b903042a6ba9470bec8955)), closes [#13921](https://github.com/aws/aws-cdk/issues/13921) +* **cfn-include:** detect a resource cycle in the included template ([#19871](https://github.com/aws/aws-cdk/issues/19871)) ([2c2bc0b](https://github.com/aws/aws-cdk/commit/2c2bc0b4ba2be87706a87c141f35f32fbe1ea615)), closes [#16654](https://github.com/aws/aws-cdk/issues/16654) +* **cfnspec:** aws-sam deployment preferences hooks ([#19732](https://github.com/aws/aws-cdk/issues/19732)) ([a205734](https://github.com/aws/aws-cdk/commit/a205734f609202c168119dddf1fdc30080f18744)) +* **cfnSpec:** wrong type for SAM API properties GatewayResponses and Models ([#19885](https://github.com/aws/aws-cdk/issues/19885)) ([b214ede](https://github.com/aws/aws-cdk/commit/b214ede1bd264afc1de7f34541bfc4220fa507bc)), closes [#19870](https://github.com/aws/aws-cdk/issues/19870) +* **cli:** hangs on retrieving notices ([#19967](https://github.com/aws/aws-cdk/issues/19967)) ([daeeafa](https://github.com/aws/aws-cdk/commit/daeeafa5855d3bbb5b5070f10fd7cba52d035112)), closes [#19542](https://github.com/aws/aws-cdk/issues/19542) +* **cli:** stack monitor prints over error messages ([#19859](https://github.com/aws/aws-cdk/issues/19859)) ([42e5d08](https://github.com/aws/aws-cdk/commit/42e5d08be2b505b4cf6ca818844c02b95bc43e43)), closes [#19742](https://github.com/aws/aws-cdk/issues/19742) +* **cloudwatch:** MathExpression `id` contract is not clear ([#19825](https://github.com/aws/aws-cdk/issues/19825)) ([5472b11](https://github.com/aws/aws-cdk/commit/5472b11ab1d10514dd5f67dfaf5e21eba979d572)), closes [#13942](https://github.com/aws/aws-cdk/issues/13942) [#17126](https://github.com/aws/aws-cdk/issues/17126) +* **core:** exportValue does not work on number attributes ([#19818](https://github.com/aws/aws-cdk/issues/19818)) ([12459ca](https://github.com/aws/aws-cdk/commit/12459ca368012a81bfc11c023a100764cf8fd0ed)), closes [#19537](https://github.com/aws/aws-cdk/issues/19537) +* **docdb:** make most attributes of DatabaseClusterAttributes optional ([#19625](https://github.com/aws/aws-cdk/issues/19625)) ([5f6d20c](https://github.com/aws/aws-cdk/commit/5f6d20c2a881ffd9decaa8afe3d35dd677b601f1)), closes [#14492](https://github.com/aws/aws-cdk/issues/14492) +* **ecr:** scanOnPush not supported in certain regions ([#19940](https://github.com/aws/aws-cdk/issues/19940)) ([2ff3143](https://github.com/aws/aws-cdk/commit/2ff3143ad47d4dcf963fdb5d0e333a3a86ef8a2e)), closes [#19918](https://github.com/aws/aws-cdk/issues/19918) +* **ecs:** get rid of EFS casing warnings ([#19681](https://github.com/aws/aws-cdk/issues/19681)) ([eafc11a](https://github.com/aws/aws-cdk/commit/eafc11afbd6a09451afbecd8110c1e0a1a9088a4)), closes [#15025](https://github.com/aws/aws-cdk/issues/15025) +* **eks:** malformed command when installing helm chart from OCI artifact ([#19778](https://github.com/aws/aws-cdk/issues/19778)) ([f8babb8](https://github.com/aws/aws-cdk/commit/f8babb8f0f88fec6216bcb5de95ac4ec57be39db)), closes [/github.com/aws/aws-cdk/pull/18547#issuecomment-1088737549](https://github.com/aws//github.com/aws/aws-cdk/pull/18547/issues/issuecomment-1088737549) +* **iam:** role/group/user's path not included in ARN ([#13258](https://github.com/aws/aws-cdk/issues/13258)) ([ef2b480](https://github.com/aws/aws-cdk/commit/ef2b480699f687aace64481ece654842461a9f13)), closes [#13156](https://github.com/aws/aws-cdk/issues/13156) +* **lambda-event-sources:** unsupported property `onFailure` for KafkaEventSources ([#19995](https://github.com/aws/aws-cdk/issues/19995)) ([383171b](https://github.com/aws/aws-cdk/commit/383171b54873705a01b7f113a7c6b5c98be2117b)), closes [#19917](https://github.com/aws/aws-cdk/issues/19917) +* **rds:** MySQL 8.0 uses wrong Parameter for S3 export ([#19775](https://github.com/aws/aws-cdk/issues/19775)) ([5a895a3](https://github.com/aws/aws-cdk/commit/5a895a308ef2b6e66a330038c7ae35ea95a0fba4)), closes [#19735](https://github.com/aws/aws-cdk/issues/19735) +* **stepfunctions:** incorrect default documentation for integrationPattern ([#19936](https://github.com/aws/aws-cdk/issues/19936)) ([4cb3b2b](https://github.com/aws/aws-cdk/commit/4cb3b2bdb959ae398ffe2f8a5a927280f5d63306)), closes [#19815](https://github.com/aws/aws-cdk/issues/19815) + + +### Reverts + +* "feat(cli): glob-style key matching to context --reset ([#19840](https://github.com/aws/aws-cdk/issues/19840))" ([#19888](https://github.com/aws/aws-cdk/issues/19888)) ([89ec597](https://github.com/aws/aws-cdk/commit/89ec5972e855695fee61628440e61df79c12fdc5)) + +## [2.20.0](https://github.com/aws/aws-cdk/compare/v2.19.0...v2.20.0) (2022-04-07) + + +### Features + +* **cfnspec:** cloudformation spec v63.0.0 ([#19679](https://github.com/aws/aws-cdk/issues/19679)) ([dba96a9](https://github.com/aws/aws-cdk/commit/dba96a9ec6193f630baf6c0d306def903024a56d)) +* **cfnspec:** cloudformation spec v65.0.0 ([#19745](https://github.com/aws/aws-cdk/issues/19745)) ([796fc64](https://github.com/aws/aws-cdk/commit/796fc6401124c00b835cbb8679b47cd373811209)) +* **cli:** add --build option ([#19663](https://github.com/aws/aws-cdk/issues/19663)) ([eb9b8e2](https://github.com/aws/aws-cdk/commit/eb9b8e23906e2e1375f45f795d71b905bc0a52af)), closes [#19667](https://github.com/aws/aws-cdk/issues/19667) +* **cli:** preview of `cdk import` ([#17666](https://github.com/aws/aws-cdk/issues/17666)) ([4f12209](https://github.com/aws/aws-cdk/commit/4f122099e2d4a6b3bdf6edfb2e99986dd266a71e)) +* **core:** throw error when stack name exceeds max length ([#19725](https://github.com/aws/aws-cdk/issues/19725)) ([1ffd45e](https://github.com/aws/aws-cdk/commit/1ffd45e5aa179aef0622902306701a526f6dfa6c)) +* **eks:** add k8s v1.22 ([#19756](https://github.com/aws/aws-cdk/issues/19756)) ([9a518c5](https://github.com/aws/aws-cdk/commit/9a518c59f5fcb74dd73df1a91681039b6c150fec)) +* **opensearch:** Add latest Opensearch Version 1.2 ([#19749](https://github.com/aws/aws-cdk/issues/19749)) ([a2ac36e](https://github.com/aws/aws-cdk/commit/a2ac36e6dbe486aa87e46d17f5472d6af6c39397)) +* add new integration test runner ([#19754](https://github.com/aws/aws-cdk/issues/19754)) ([1b4d010](https://github.com/aws/aws-cdk/commit/1b4d010ed29cfb4a8f7f5a8ecc22c7c97bccde4e)) +* **eks:** alb-controller v2.4.1 ([#19653](https://github.com/aws/aws-cdk/issues/19653)) ([1ec08df](https://github.com/aws/aws-cdk/commit/1ec08dfc85122fc6f3d9e3c28abc7cd116f08d91)) +* **lambda:** add support for ephemeral storage ([#19552](https://github.com/aws/aws-cdk/issues/19552)) ([f1d9b6a](https://github.com/aws/aws-cdk/commit/f1d9b6aa39c10a85c61ab3aaceabac88789bd2cf)), closes [#19605](https://github.com/aws/aws-cdk/issues/19605) +* **s3:** EventBridge bucket notifications ([#18614](https://github.com/aws/aws-cdk/issues/18614)) ([d8e602b](https://github.com/aws/aws-cdk/commit/d8e602b6c1b4cb8ca7038f4b21a7a7092ea8466d)), closes [#18076](https://github.com/aws/aws-cdk/issues/18076) + + +### Bug Fixes + +* **aws_applicationautoscaling:** Add missing members to PredefinedMetric enum ([#18978](https://github.com/aws/aws-cdk/issues/18978)) ([75a6fa7](https://github.com/aws/aws-cdk/commit/75a6fa75d053fc1172e83b57a27e4b450bb79729)), closes [#18969](https://github.com/aws/aws-cdk/issues/18969) +* **cli:** apps with many resources scroll resource output offscreen ([#19742](https://github.com/aws/aws-cdk/issues/19742)) ([053d22c](https://github.com/aws/aws-cdk/commit/053d22cb77016e0e65157c8713fefedb3c0bf91b)), closes [#19160](https://github.com/aws/aws-cdk/issues/19160) +* **cli:** support attributes of DynamoDB Tables for hotswapping ([#19620](https://github.com/aws/aws-cdk/issues/19620)) ([2321ece](https://github.com/aws/aws-cdk/commit/2321eced6cc16925c6d50e35b140f9ad4008d758)), closes [#19421](https://github.com/aws/aws-cdk/issues/19421) +* **cloudwatch:** automatic metric math label cannot be suppressed ([#17639](https://github.com/aws/aws-cdk/issues/17639)) ([7fa3bf2](https://github.com/aws/aws-cdk/commit/7fa3bf2e385451171fcaeda388a93602cb12f4d8)) +* **codedeploy:** add name validation for Application, Deployment Group and Deployment Configuration ([#19473](https://github.com/aws/aws-cdk/issues/19473)) ([9185042](https://github.com/aws/aws-cdk/commit/91850423db97e7fa244d125a115477fa007a12a0)) +* **codedeploy:** the Service Principal is wrong in isolated regions ([#19729](https://github.com/aws/aws-cdk/issues/19729)) ([7e9a43d](https://github.com/aws/aws-cdk/commit/7e9a43dcad55645a8e816e39af54feeb04d7a8cf)), closes [#19399](https://github.com/aws/aws-cdk/issues/19399) +* **core:** `Fn.select` incorrectly short-circuits complex expressions ([#19680](https://github.com/aws/aws-cdk/issues/19680)) ([7f26fad](https://github.com/aws/aws-cdk/commit/7f26fad5241756cdb6b15c9fb20995a96bba71f2)) +* **core:** detect and resolve stringified number tokens ([#19578](https://github.com/aws/aws-cdk/issues/19578)) ([7d9ab2a](https://github.com/aws/aws-cdk/commit/7d9ab2a783d1d3ae4508760149dee7ac263fdd44)), closes [#19546](https://github.com/aws/aws-cdk/issues/19546) [#19550](https://github.com/aws/aws-cdk/issues/19550) +* **core:** reduce CFN template indent size to save bytes ([#19656](https://github.com/aws/aws-cdk/issues/19656)) ([fd63ca3](https://github.com/aws/aws-cdk/commit/fd63ca3995fb74b563a348589adf5fb06b4ef771)) +* **ecs:** 'desiredCount' and 'ephemeralStorageGiB' cannot be tokens ([#19453](https://github.com/aws/aws-cdk/issues/19453)) ([c852239](https://github.com/aws/aws-cdk/commit/c852239936b79581dbcf0dc8d56e3bb76a52e2dc)), closes [#16648](https://github.com/aws/aws-cdk/issues/16648) +* **ecs:** remove unnecessary error when adding volume to external task definition ([#19774](https://github.com/aws/aws-cdk/issues/19774)) ([5446ded](https://github.com/aws/aws-cdk/commit/5446ded3d858098655b6427c9fdea56e77e2c0cd)), closes [#19259](https://github.com/aws/aws-cdk/issues/19259) +* **iam:** policies aren't minimized as far as possible ([#19764](https://github.com/aws/aws-cdk/issues/19764)) ([876ed8a](https://github.com/aws/aws-cdk/commit/876ed8ad1726d6b77e7450eadbd1a4ded8236544)), closes [#19751](https://github.com/aws/aws-cdk/issues/19751) +* **logs:** Faulty Resource Policy Generated ([#19640](https://github.com/aws/aws-cdk/issues/19640)) ([1fdf122](https://github.com/aws/aws-cdk/commit/1fdf1223304e15d905723553a40640b8bcb0ec56)), closes [#17544](https://github.com/aws/aws-cdk/issues/17544) + +## [2.19.0](https://github.com/aws/aws-cdk/compare/v2.18.0...v2.19.0) (2022-03-31) + + +### Features + +* **aws-ec2:** Enable/disable EC2 "Detailed Monitoring" ([#19437](https://github.com/aws/aws-cdk/issues/19437)) ([94f9d27](https://github.com/aws/aws-cdk/commit/94f9d27e626bced5fc68a6ebbd653fea21c6e21e)) +* **core:** add size.isUnresolved ([#19569](https://github.com/aws/aws-cdk/issues/19569)) ([ed26731](https://github.com/aws/aws-cdk/commit/ed26731a0a6263482d76441fc06e9607963ac838)) +* **ecs-patterns:** PlacementStrategy and PlacementConstraint for many patterns ([#19612](https://github.com/aws/aws-cdk/issues/19612)) ([0096e67](https://github.com/aws/aws-cdk/commit/0096e672e02123a2ae4e094ba9bb11af3aef20b2)) +* **elbv2:** use `addAction()` on an imported application listener ([#19293](https://github.com/aws/aws-cdk/issues/19293)) ([18a6b0c](https://github.com/aws/aws-cdk/commit/18a6b0cecb5e8a419d09a1456953cb2f422a6d76)), closes [#10902](https://github.com/aws/aws-cdk/issues/10902) +* **lambda:** warn if you use `function.grantInvoke` while also using `currentVersion` ([#19464](https://github.com/aws/aws-cdk/issues/19464)) ([fd1fff9](https://github.com/aws/aws-cdk/commit/fd1fff904a70d18dc9c7863aefc03b3ee44c2863)), closes [#19273](https://github.com/aws/aws-cdk/issues/19273) [#19318](https://github.com/aws/aws-cdk/issues/19318) + + +### Bug Fixes + +* **apigateway:** allow using GENERATE_IF_NEEDED for the physical name in LambdaRestApi ([#19638](https://github.com/aws/aws-cdk/issues/19638)) ([e817381](https://github.com/aws/aws-cdk/commit/e8173812aad5f482b1bfcc6737f63cfef0c4841c)), closes [#9374](https://github.com/aws/aws-cdk/issues/9374) +* **apigateway:** id in schema model maps to $id ([#15113](https://github.com/aws/aws-cdk/issues/15113)) ([ac5a345](https://github.com/aws/aws-cdk/commit/ac5a3458fe3687014166b20aefe30442867d162a)), closes [#14585](https://github.com/aws/aws-cdk/issues/14585) +* **aws-cognito:** Lambda::Permission of lambdaTrigger should have a SourceArn ([#19622](https://github.com/aws/aws-cdk/issues/19622)) ([c62eeb7](https://github.com/aws/aws-cdk/commit/c62eeb7162d85c8cb162f8c0ad4b93fb5bccf981)), closes [#19604](https://github.com/aws/aws-cdk/issues/19604) +* **docdb:** DB Instance ARN uses 'docdb' as the service component instead of 'rds' ([#19555](https://github.com/aws/aws-cdk/issues/19555)) ([6a63924](https://github.com/aws/aws-cdk/commit/6a63924c0b184342befd92903b8867e45b158252)), closes [#19554](https://github.com/aws/aws-cdk/issues/19554) +* **eks:** incorrect version of aws-node-termination-handler ([#19510](https://github.com/aws/aws-cdk/issues/19510)) ([9c712cc](https://github.com/aws/aws-cdk/commit/9c712cc457ccb80d7180fee67a101b76fc01d207)) +* **elbv2:** unable to add multiple certificates to NLB ([#19289](https://github.com/aws/aws-cdk/issues/19289)) ([e8142e9](https://github.com/aws/aws-cdk/commit/e8142e944ac5fae9948e5c010fe475806b83c94b)), closes [#13490](https://github.com/aws/aws-cdk/issues/13490) [#8918](https://github.com/aws/aws-cdk/issues/8918) [#15328](https://github.com/aws/aws-cdk/issues/15328) +* **rds:** `SnapshotCredentials.fromSecret()` takes a `Secret`, not `ISecret` ([#19639](https://github.com/aws/aws-cdk/issues/19639)) ([a74d82e](https://github.com/aws/aws-cdk/commit/a74d82e667ba3cfbb3341392f7c641b0e29d47f0)), closes [#19409](https://github.com/aws/aws-cdk/issues/19409) + +## [2.18.0](https://github.com/aws/aws-cdk/compare/v2.17.0...v2.18.0) (2022-03-28) + + +### Features + + +* **cognito:** configure SNS region for UserPool SMS messages ([#19519](https://github.com/aws/aws-cdk/issues/19519)) ([6eb775e](https://github.com/aws/aws-cdk/commit/6eb775e829d62913bff849d43ed7339f9910d8de)), closes [#19434](https://github.com/aws/aws-cdk/issues/19434) +* cloudformation spec v62.0.0 ([#19553](https://github.com/aws/aws-cdk/issues/19553)) ([0352dee](https://github.com/aws/aws-cdk/commit/0352deedb445f070ed0cd27406a75872fb71ea53)) +* **autoscaling:** support warm pools ([#19214](https://github.com/aws/aws-cdk/issues/19214)) ([737e611](https://github.com/aws/aws-cdk/commit/737e611577c97b6ad01eaeb05fc544258a9de5ad)) +* **cfnspec:** cloudformation spec v61.0.0 ([#19457](https://github.com/aws/aws-cdk/issues/19457)) ([16d7552](https://github.com/aws/aws-cdk/commit/16d7552683ea05ea1a24b214b925836dcb72871d)) +* **cli:** support SSO ([#19454](https://github.com/aws/aws-cdk/issues/19454)) ([eba6052](https://github.com/aws/aws-cdk/commit/eba6052e1c8011d7163c782e669e86f5d2fd44d0)) +* **cloudwatch:** Additional Properties for Cloudwatch AlarmStatusWidget ([#19387](https://github.com/aws/aws-cdk/issues/19387)) ([3c9ea5f](https://github.com/aws/aws-cdk/commit/3c9ea5f31e3113fb0d2ba5c633fcd665294a70eb)), closes [#19386](https://github.com/aws/aws-cdk/issues/19386) +* **ec2:** add support for x2iezn instances ([#19517](https://github.com/aws/aws-cdk/issues/19517)) ([8f6e20e](https://github.com/aws/aws-cdk/commit/8f6e20e5a070fc3ac2c234013b915315a0e7dcfb)) + + +### Bug Fixes + +* **apigateway:** `StepFunctionsIntegration` does not create required role and responses ([#19486](https://github.com/aws/aws-cdk/issues/19486)) ([d59bee9](https://github.com/aws/aws-cdk/commit/d59bee99768b20427503853eb2ec436959ae7e6f)) +* **bootstrap:** rebootstrap breaks container Functions ([#19446](https://github.com/aws/aws-cdk/issues/19446)) ([49ea263](https://github.com/aws/aws-cdk/commit/49ea26304760801e03dae5479ae03540eaa63f6e)), closes [#18473](https://github.com/aws/aws-cdk/issues/18473) +* **cli:** templates don't include `.gitignore` ([#19482](https://github.com/aws/aws-cdk/issues/19482)) ([5ce0983](https://github.com/aws/aws-cdk/commit/5ce0983955628c5119340d659abf0201da58bcb6)) +* **core:** Aspects from symlinked modules are not applied ([#19491](https://github.com/aws/aws-cdk/issues/19491)) ([eaeaed7](https://github.com/aws/aws-cdk/commit/eaeaed7a508cdb9c84c96911327b085e907aed98)), closes [#18921](https://github.com/aws/aws-cdk/issues/18921) [#18778](https://github.com/aws/aws-cdk/issues/18778) [#19390](https://github.com/aws/aws-cdk/issues/19390) [#18914](https://github.com/aws/aws-cdk/issues/18914) +* **ecr:** setting imageScanningConfiguration to false does nothing on existing repository ([#18078](https://github.com/aws/aws-cdk/issues/18078)) ([78bc870](https://github.com/aws/aws-cdk/commit/78bc8703bb932822ceeb16fd57fa576714aa5732)), closes [#18077](https://github.com/aws/aws-cdk/issues/18077) +* **events:** cannot have more than one cross-account Rule ([#19441](https://github.com/aws/aws-cdk/issues/19441)) ([a257846](https://github.com/aws/aws-cdk/commit/a2578462119d112c6095e06668add97e7721d570)), closes [#12479](https://github.com/aws/aws-cdk/issues/12479) [#12538](https://github.com/aws/aws-cdk/issues/12538) +* **iam:** IAM Policies are too large to deploy ([#19114](https://github.com/aws/aws-cdk/issues/19114)) ([3a4fe33](https://github.com/aws/aws-cdk/commit/3a4fe3304ba32bc205cbf4833f7397f633cc1ece)), closes [#18774](https://github.com/aws/aws-cdk/issues/18774) [#16350](https://github.com/aws/aws-cdk/issues/16350) [#18457](https://github.com/aws/aws-cdk/issues/18457) [#18564](https://github.com/aws/aws-cdk/issues/18564) [#19276](https://github.com/aws/aws-cdk/issues/19276) +* **lambda:** support Lambda's new `Invoke` with `Qualifier` authorization strategy ([#19318](https://github.com/aws/aws-cdk/issues/19318)) ([d06b27f](https://github.com/aws/aws-cdk/commit/d06b27fd4bf351cc9ba5c603352f756c679c34fc)), closes [#19273](https://github.com/aws/aws-cdk/issues/19273) +* **secretsmanager:** secret rotation uses old application versions ([#19490](https://github.com/aws/aws-cdk/issues/19490)) ([0c983ad](https://github.com/aws/aws-cdk/commit/0c983ad748fa57c0717d9bdf852051046f88b3a9)), closes [#19487](https://github.com/aws/aws-cdk/issues/19487) + +## [2.17.0](https://github.com/aws/aws-cdk/compare/v2.16.0...v2.17.0) (2022-03-17) + + +### Features + +* **assertions:** Add the `hasNoXXX` methods. ([#19330](https://github.com/aws/aws-cdk/issues/19330)) ([6bdc9eb](https://github.com/aws/aws-cdk/commit/6bdc9eb52608329f1e66c420cb6c61aa942d17b0)), closes [#18874](https://github.com/aws/aws-cdk/issues/18874) +* **aws-lambda-nodejs:** support additional esbuild configurations ([#17788](https://github.com/aws/aws-cdk/issues/17788)) ([ab313a4](https://github.com/aws/aws-cdk/commit/ab313a4abbec14a1886a7c87673dbc66354811ef)) +* **cfnspec:** cloudformation spec v60.0.0 ([#19347](https://github.com/aws/aws-cdk/issues/19347)) ([20da648](https://github.com/aws/aws-cdk/commit/20da648cebddd6feaf8a54d2bf40f3ba3bd30979)) +* **cli:** parallel asset publishing ([#19367](https://github.com/aws/aws-cdk/issues/19367)) ([c8cafef](https://github.com/aws/aws-cdk/commit/c8cafefc4cd98e7217973cd9eb0e92263a916b4f)), closes [#19193](https://github.com/aws/aws-cdk/issues/19193) +* **ec2:** add support for x2idn and x2iedn instances ([#19334](https://github.com/aws/aws-cdk/issues/19334)) ([9699efc](https://github.com/aws/aws-cdk/commit/9699efc0c0b0e2b265daf824147be2827555cafa)) +* **elbv2:** add name validation for target group and load balancer names ([#19385](https://github.com/aws/aws-cdk/issues/19385)) ([97e0973](https://github.com/aws/aws-cdk/commit/97e09730cbb7c155e6697ace166348064d810449)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html/issues/cfn-elasticloadbalancingv2) [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html/issues/cfn-elasticloadbalancingv2) +* **lambda:** dotnet6 runtime ([#19144](https://github.com/aws/aws-cdk/issues/19144)) ([bbed27d](https://github.com/aws/aws-cdk/commit/bbed27d95ab2724db937964d01aec5564a77e84f)) + + +### Bug Fixes + +* **cli:** failure to load malformed YAML is swallowed ([#19338](https://github.com/aws/aws-cdk/issues/19338)) ([1875c28](https://github.com/aws/aws-cdk/commit/1875c28865690d59c22939039a5d0e37039ab63c)), closes [#19335](https://github.com/aws/aws-cdk/issues/19335) +* **lambda-event-sources:** increase batch size restriction ([#19317](https://github.com/aws/aws-cdk/issues/19317)) ([1bc5144](https://github.com/aws/aws-cdk/commit/1bc5144b05938829f90b89001ccda8fd4aefe343)), closes [#19285](https://github.com/aws/aws-cdk/issues/19285) +* **lambda-nodejs:** cannot use esbuildArgs with older esbuild versions ([#19343](https://github.com/aws/aws-cdk/issues/19343)) ([59a4d81](https://github.com/aws/aws-cdk/commit/59a4d81cc712eedfd755232d157a2e492eb3d886)) +* **stepfunctions-tasks:** migrate from deprecated batch properties ([#19298](https://github.com/aws/aws-cdk/issues/19298)) ([75f5b3b](https://github.com/aws/aws-cdk/commit/75f5b3b69abf592b2c6d0ec6c19c374754e50f97)), closes [#18993](https://github.com/aws/aws-cdk/issues/18993) + +## [2.16.0](https://github.com/aws/aws-cdk/compare/v2.15.0...v2.16.0) (2022-03-11) + + +### Features + +* **aws-apigateway:** add ability to include authorizer context in apigw sfn integration ([#18892](https://github.com/aws/aws-cdk/issues/18892)) ([e7c0c75](https://github.com/aws/aws-cdk/commit/e7c0c75dbc7cf71164673626dc0ab63fb3706223)), closes [#18891](https://github.com/aws/aws-cdk/issues/18891) +* **cfnspec:** cloudformation spec v59.0.0 ([#19236](https://github.com/aws/aws-cdk/issues/19236)) ([f46a14d](https://github.com/aws/aws-cdk/commit/f46a14da9bec1aad7096b62666cb80ce42f04b53)) +* **codebuild:** improved support for ARM build images ([#19052](https://github.com/aws/aws-cdk/issues/19052)) ([4eac4de](https://github.com/aws/aws-cdk/commit/4eac4deb98411e921e5a2e6477185207b8588f75)), closes [#18916](https://github.com/aws/aws-cdk/issues/18916) [#9817](https://github.com/aws/aws-cdk/issues/9817) +* **eks:** Service Account names validation ([#19251](https://github.com/aws/aws-cdk/issues/19251)) ([7c3099e](https://github.com/aws/aws-cdk/commit/7c3099e958d7bf0ddb5a7b08afb672a0c652b27d)), closes [#18189](https://github.com/aws/aws-cdk/issues/18189) +* **elasticsearch:** Decouple setting access policies from domain constructor ([#15876](https://github.com/aws/aws-cdk/issues/15876)) ([cefdfd3](https://github.com/aws/aws-cdk/commit/cefdfd384eeac1752567f672452296def68b1206)) +* **lambda-nodejs:** support esbuild inject ([#19221](https://github.com/aws/aws-cdk/issues/19221)) ([3432c45](https://github.com/aws/aws-cdk/commit/3432c457fe38a83743d7ce2a5cb6c36a6ec01b8f)), closes [#19133](https://github.com/aws/aws-cdk/issues/19133) +* **s3:** add `s3:ObjectRestore:Delete` to `EventType` for notification ([#19250](https://github.com/aws/aws-cdk/issues/19250)) ([e0f863a](https://github.com/aws/aws-cdk/commit/e0f863a4c56041860e14c75b9aa5a6d35860fae6)), closes [#19223](https://github.com/aws/aws-cdk/issues/19223) + + +### Bug Fixes + +* **aws-apigateway:** missing comma to make failure response payload valid json ([#19253](https://github.com/aws/aws-cdk/issues/19253)) ([b1fce4f](https://github.com/aws/aws-cdk/commit/b1fce4f1641c90a4b7d1d33139453260b452d5cd)), closes [#19252](https://github.com/aws/aws-cdk/issues/19252) +* **aws-route53-targets:** add support for custom cname_prefix urls in elastic beanstalk environment endpoint target ([#18804](https://github.com/aws/aws-cdk/issues/18804)) ([289a794](https://github.com/aws/aws-cdk/commit/289a79467d9974ee3582c9e30843b0eb9e90b467)) +* **cli:** `watch` logs always end with the 'truncated' message ([#19241](https://github.com/aws/aws-cdk/issues/19241)) ([d3fdfe5](https://github.com/aws/aws-cdk/commit/d3fdfe5264e64cb333795b32edbad36cfaab3dc7)), closes [#18805](https://github.com/aws/aws-cdk/issues/18805) +* **cli:** deprecated stack ids printed at the end of synth ([#19216](https://github.com/aws/aws-cdk/issues/19216)) ([7d8a479](https://github.com/aws/aws-cdk/commit/7d8a4792a142f45109f35a51c6e1b3888d4111d3)), closes [#18599](https://github.com/aws/aws-cdk/issues/18599) +* **cli:** notices refresh doesn't respect the --no-notices flag ([#19226](https://github.com/aws/aws-cdk/issues/19226)) ([b3c5fe8](https://github.com/aws/aws-cdk/commit/b3c5fe8d0b695e06558bce23a6dd39b20265594f)) +* **efs:** fix bug when setting both lifecyclePolicy and outOfInfrequentAccessPolicy ([#19082](https://github.com/aws/aws-cdk/issues/19082)) ([d435ab6](https://github.com/aws/aws-cdk/commit/d435ab6120c47464427489d98bea9347983a2123)), closes [#19058](https://github.com/aws/aws-cdk/issues/19058) +* **lambda-nodejs:** local tsc detection with pre compilation ([#19266](https://github.com/aws/aws-cdk/issues/19266)) ([5de7b86](https://github.com/aws/aws-cdk/commit/5de7b86d916be6ab892e75e18c54a327fe1f65ff)), closes [#19242](https://github.com/aws/aws-cdk/issues/19242) +* **rds:** allow cluster from snapshot to enable encrypted storage ([#19175](https://github.com/aws/aws-cdk/issues/19175)) ([bd4141d](https://github.com/aws/aws-cdk/commit/bd4141d864612974829c95d530085d4f18bdfeb8)), closes [#17241](https://github.com/aws/aws-cdk/issues/17241) +* **rds:** read replica instance cannot join domain ([#19202](https://github.com/aws/aws-cdk/issues/19202)) ([cef8fec](https://github.com/aws/aws-cdk/commit/cef8fec1b0410daa6b57c152e9bad73dcc034397)), closes [#18786](https://github.com/aws/aws-cdk/issues/18786) +* **rds:** subnet selection not respected for multi user secret rotation ([#19237](https://github.com/aws/aws-cdk/issues/19237)) ([dc7a17c](https://github.com/aws/aws-cdk/commit/dc7a17cd20198a6eb52c2ab25857e73bd7048d26)), closes [#19233](https://github.com/aws/aws-cdk/issues/19233) + +## [2.15.0](https://github.com/aws/aws-cdk/compare/v2.14.0...v2.15.0) (2022-03-01) + + +### Features + +* **cfnspec:** cloudformation spec v58.0.0 ([#19153](https://github.com/aws/aws-cdk/issues/19153)) ([a6b0a10](https://github.com/aws/aws-cdk/commit/a6b0a1018694a0696ed27635d4def5d1630b8f9a)) +* **cli:** hotswap support for resources in nested stacks ([#18950](https://github.com/aws/aws-cdk/issues/18950)) ([2ea9da1](https://github.com/aws/aws-cdk/commit/2ea9da118794809265d215e3d2f554bbcb91b271)) +* **ec2:** add c6a instances ([#19113](https://github.com/aws/aws-cdk/issues/19113)) ([427cdfd](https://github.com/aws/aws-cdk/commit/427cdfde5e8c48ed7c1f86b275ccb2516a901239)) + + +### Bug Fixes + +* **apigateway:** fix strange vtl template for cors preflight request ([#19104](https://github.com/aws/aws-cdk/issues/19104)) ([59ef06a](https://github.com/aws/aws-cdk/commit/59ef06ae2a70fcb1800fcc1f40eec671c77440f0)), closes [/datatracker.ietf.org/doc/html/rfc6454#section-7](https://github.com/aws//datatracker.ietf.org/doc/html/rfc6454/issues/section-7) +* **aws-apigateway:** api gateway usage plan ([#19023](https://github.com/aws/aws-cdk/issues/19023)) ([5b764cc](https://github.com/aws/aws-cdk/commit/5b764cc397de4f4b203f5c69fa0128c6dced49f9)), closes [#18994](https://github.com/aws/aws-cdk/issues/18994) +* **cli:** cdk version displays notices ([#19181](https://github.com/aws/aws-cdk/issues/19181)) ([fa16f7a](https://github.com/aws/aws-cdk/commit/fa16f7a9c11981da75e44ffc83adcdc6edad94fc)) +* **cli:** long connection timeout slows the CLI down ([#19187](https://github.com/aws/aws-cdk/issues/19187)) ([6595d04](https://github.com/aws/aws-cdk/commit/6595d044e29fb262fb62430783ad08359e16bc30)) +* **custom-resources:** physical resource id must be determined before isComplete ([#18630](https://github.com/aws/aws-cdk/issues/18630)) ([c190367](https://github.com/aws/aws-cdk/commit/c1903678aba31ca5b23a3bebb84249921e15dd5c)) +* **dynamodb:** `grant*Data()` methods are missing the `dynamodb:DescribeTable` permission ([#19129](https://github.com/aws/aws-cdk/issues/19129)) ([4a44a65](https://github.com/aws/aws-cdk/commit/4a44a65bb4634081e04811966d5f4e2fd49bc7c6)), closes [#18773](https://github.com/aws/aws-cdk/issues/18773) +* **dynamodb:** `Table.grantWriteData()` doesn't include enough KMS permissions ([#19102](https://github.com/aws/aws-cdk/issues/19102)) ([77f1e0b](https://github.com/aws/aws-cdk/commit/77f1e0b57bd4508ade86be7733e71e94a47d7f4c)), closes [#10010](https://github.com/aws/aws-cdk/issues/10010) +* **ec2:** invalid volume type check for iops ([#19073](https://github.com/aws/aws-cdk/issues/19073)) ([3f49f02](https://github.com/aws/aws-cdk/commit/3f49f020090142c77feb892894c54e62dc4de7ae)) +* **eks:** Helm charts fail to install when provided as an asset ([#19180](https://github.com/aws/aws-cdk/issues/19180)) ([9961257](https://github.com/aws/aws-cdk/commit/99612574bbaf97379482e9e424e1d1115809d74b)) +* **lambda-nodejs:** `logLevel` property of `BundlingOptions` is ignored when `nodeModules` are defined ([#18456](https://github.com/aws/aws-cdk/issues/18456)) ([5c40b90](https://github.com/aws/aws-cdk/commit/5c40b90707b869f62e59613d50d5deaafbaa52f1)), closes [#18383](https://github.com/aws/aws-cdk/issues/18383) +* **stepfunctions-tasks:** RUN_JOB integration pattern not supported for CallAwsService ([#19186](https://github.com/aws/aws-cdk/issues/19186)) ([4b134b7](https://github.com/aws/aws-cdk/commit/4b134b785115f026a0eaa37b699cd32c85ff8e73)), closes [#19174](https://github.com/aws/aws-cdk/issues/19174) +* apply tags to nested stack ([#19128](https://github.com/aws/aws-cdk/issues/19128)) ([3af329b](https://github.com/aws/aws-cdk/commit/3af329bcb66b9dffce0c03f0816b33e91e901808)), closes [#17463](https://github.com/aws/aws-cdk/issues/17463) +* **rds:** MySQL Cluster version 8.0 uses wrong Parameter for S3 import ([#19145](https://github.com/aws/aws-cdk/issues/19145)) ([96b2034](https://github.com/aws/aws-cdk/commit/96b2034c44b441a96cfe19855d343b0f983c8772)), closes [#19126](https://github.com/aws/aws-cdk/issues/19126) +* **triggers:** not published as part of v2 ([#19168](https://github.com/aws/aws-cdk/issues/19168)) ([8f727d1](https://github.com/aws/aws-cdk/commit/8f727d15f8f87d4ca323fee449826908db7971a4)), closes [#19164](https://github.com/aws/aws-cdk/issues/19164) +* construct paths are not printed for nested stacks in CLI output ([#18725](https://github.com/aws/aws-cdk/issues/18725)) ([b0e0155](https://github.com/aws/aws-cdk/commit/b0e0155f87a65c34a75e11776f98d55b83d2b220)) + +## [2.14.0](https://github.com/aws/aws-cdk/compare/v2.13.0...v2.14.0) (2022-02-25) + + +### Features + +* **cli:** bundle dependencies ([#18667](https://github.com/aws/aws-cdk/issues/18667)) ([31d135f](https://github.com/aws/aws-cdk/commit/31d135fb51d3cd4e26fbdc132e03815a1416da75)) +* **cli:** support for matching notices with arbitrary module names ([#19088](https://github.com/aws/aws-cdk/issues/19088)) ([a87dee7](https://github.com/aws/aws-cdk/commit/a87dee756057e554909207237b70f80af185b110)) +* **cli:** support for notices ([#18936](https://github.com/aws/aws-cdk/issues/18936)) ([d37fbbb](https://github.com/aws/aws-cdk/commit/d37fbbbb31003d69da88b9340a6a9c9e1e927ac5)) +* **cloudfront-origins:** extend max keepaliveTimeout of HttpOrigin to 180 ([#18837](https://github.com/aws/aws-cdk/issues/18837)) ([171fdcd](https://github.com/aws/aws-cdk/commit/171fdcdf595fcff5b2567b17e6fa73bf0d42e1bc)), closes [#18697](https://github.com/aws/aws-cdk/issues/18697) +* **eks:** Allow helm pull from OCI repositories ([#18547](https://github.com/aws/aws-cdk/issues/18547)) ([7e624d9](https://github.com/aws/aws-cdk/commit/7e624d994c94dbd584643c4cb6e9f8df53dabc18)) +* **lambda:** add a fromFunctionName() method ([#19076](https://github.com/aws/aws-cdk/issues/19076)) ([5b92cc3](https://github.com/aws/aws-cdk/commit/5b92cc3a31eea29b40814498fca614eb1c7c8724)), closes [#18255](https://github.com/aws/aws-cdk/issues/18255) [#19031](https://github.com/aws/aws-cdk/issues/19031) +* **pipelines:** ECR source action ([#16385](https://github.com/aws/aws-cdk/issues/16385)) ([fc11ae2](https://github.com/aws/aws-cdk/commit/fc11ae2c4ec3bd9dfe3ff813aa831c744d8ac444)), closes [#16378](https://github.com/aws/aws-cdk/issues/16378) +* **pipelines:** step outputs ([#19024](https://github.com/aws/aws-cdk/issues/19024)) ([0dec2ee](https://github.com/aws/aws-cdk/commit/0dec2ee78a70832c3a697be26c67498460a587dd)), closes [#17189](https://github.com/aws/aws-cdk/issues/17189) [#18893](https://github.com/aws/aws-cdk/issues/18893) [#15943](https://github.com/aws/aws-cdk/issues/15943) [#16407](https://github.com/aws/aws-cdk/issues/16407) +* **rds:** make VPC optional for serverless Clusters ([#17413](https://github.com/aws/aws-cdk/issues/17413)) ([4f7818d](https://github.com/aws/aws-cdk/commit/4f7818dd76bd48ed652407f4852cc97ba57d7395)), closes [#17401](https://github.com/aws/aws-cdk/issues/17401) + + +### Bug Fixes + +* **cli:** hotswapping is slow for many resources deployed at once ([#19081](https://github.com/aws/aws-cdk/issues/19081)) ([040238e](https://github.com/aws/aws-cdk/commit/040238e9285945d1c48ef79474e527b871e7824c)), closes [#19021](https://github.com/aws/aws-cdk/issues/19021) +* **s3-notifications:** notifications allowed with imported kms keys ([#18989](https://github.com/aws/aws-cdk/issues/18989)) ([7441418](https://github.com/aws/aws-cdk/commit/7441418fbf9ffdf8d85a573e3c81c45c5648fe8a)) +* API compatibility check fails in CI pipeline ([#19069](https://github.com/aws/aws-cdk/issues/19069)) ([6ec1005](https://github.com/aws/aws-cdk/commit/6ec1005c9cfa9723520885748d759b00be5cd2fa)), closes [#19070](https://github.com/aws/aws-cdk/issues/19070) +* **cloudfront:** trim autogenerated cache policy name ([#18953](https://github.com/aws/aws-cdk/issues/18953)) ([c7394c9](https://github.com/aws/aws-cdk/commit/c7394c96c42cb6a5af1e309bee2a5f11eb3ad35c)), closes [#18918](https://github.com/aws/aws-cdk/issues/18918) +* **elasticloadbalancingv2:** validate port/protocol are not provided for lambda targets ([#19043](https://github.com/aws/aws-cdk/issues/19043)) ([64d26cc](https://github.com/aws/aws-cdk/commit/64d26cc22b1fe456777c3367769ddbe860f26cf3)), closes [#12514](https://github.com/aws/aws-cdk/issues/12514) +* **route53:** fix cross account delegation deployment dependency ([#19047](https://github.com/aws/aws-cdk/issues/19047)) ([692a0d0](https://github.com/aws/aws-cdk/commit/692a0d06f2865503d1d88b0ba8af38ecceaec871)), closes [#19041](https://github.com/aws/aws-cdk/issues/19041) + +## [2.13.0](https://github.com/aws/aws-cdk/compare/v2.12.0...v2.13.0) (2022-02-18) + + +### Features + +* **aws-stepfunctions-tasks:** add environment property for SageMakerCreateTrainingJob ([#18976](https://github.com/aws/aws-cdk/issues/18976)) ([60d6e66](https://github.com/aws/aws-cdk/commit/60d6e66baef9d30db23e93b16f7c6d159ddf58c4)), closes [#18919](https://github.com/aws/aws-cdk/issues/18919) +* **cfnspec:** cloudformation spec v56.0.0 ([#18930](https://github.com/aws/aws-cdk/issues/18930)) ([24a52ae](https://github.com/aws/aws-cdk/commit/24a52ae1c250ec1875e64d6fc4ef8bec2f47399a)) +* **cfnspec:** cloudformation spec v57.0.0 ([#19030](https://github.com/aws/aws-cdk/issues/19030)) ([f0acbc4](https://github.com/aws/aws-cdk/commit/f0acbc469d835ad8808f4176eed53bf2af7c66e2)) +* **cli:** hotswap for appsync vtl mapping template changes ([#18881](https://github.com/aws/aws-cdk/issues/18881)) ([9858002](https://github.com/aws/aws-cdk/commit/985800228d04b9c2f3ac117e3b41c7f089547d38)) +* **codepipeline:** add support for CloudFormation StackSet actions ([#14225](https://github.com/aws/aws-cdk/issues/14225)) ([d8bc0d0](https://github.com/aws/aws-cdk/commit/d8bc0d08a9796724bb31cc5d7552cf99297678d9)) +* **config:** S3_BUCKET_LEVEL_PUBLIC_ACCESS_PROHIBITED managed rule ([#18890](https://github.com/aws/aws-cdk/issues/18890)) ([1a7e3e2](https://github.com/aws/aws-cdk/commit/1a7e3e20e005b4165a27506615c7245b88ce998b)), closes [#18888](https://github.com/aws/aws-cdk/issues/18888) +* **core:** stack synthesizer that uses CLI credentials ([#18963](https://github.com/aws/aws-cdk/issues/18963)) ([a36b72b](https://github.com/aws/aws-cdk/commit/a36b72b5045fceada7c96d00770d8c48f2ca1415)), closes [#16888](https://github.com/aws/aws-cdk/issues/16888) +* **ec2:** allow imdsv2 usage on bastion host ([#18955](https://github.com/aws/aws-cdk/issues/18955)) ([8c6777c](https://github.com/aws/aws-cdk/commit/8c6777c904588f9b911d8b8a5d63a65ae1c7aad9)) +* **ecs:** support version stages and ids for Secrets ([#18174](https://github.com/aws/aws-cdk/issues/18174)) ([6d091c2](https://github.com/aws/aws-cdk/commit/6d091c2da7749a81c3752953d0bc7db65ab48f45)), closes [#18123](https://github.com/aws/aws-cdk/issues/18123) +* **events:** API Destinations ([#13729](https://github.com/aws/aws-cdk/issues/13729)) ([2adbc14](https://github.com/aws/aws-cdk/commit/2adbc14bae8266a6bd357e752185133a32e4ca87)) +* **lambda:** allow Topic to be dlq for Lambda ([#18546](https://github.com/aws/aws-cdk/issues/18546)) ([f8d8fe4](https://github.com/aws/aws-cdk/commit/f8d8fe4e1397e3d8da91a3a44f025475c8b7f592)), closes [#16246](https://github.com/aws/aws-cdk/issues/16246) +* **logs:** custom Role for Kinesis destination ([#13553](https://github.com/aws/aws-cdk/issues/13553)) ([bb96621](https://github.com/aws/aws-cdk/commit/bb96621d642fedcf1e22086a249034ca1ab63f73)), closes [#7661](https://github.com/aws/aws-cdk/issues/7661) +* **rds:** simpler way to configure parameters for instance and cluster ([#18126](https://github.com/aws/aws-cdk/issues/18126)) ([3ba9088](https://github.com/aws/aws-cdk/commit/3ba90881dab49f47220872e6e5afef3a7732ef13)), closes [#18124](https://github.com/aws/aws-cdk/issues/18124) +* **s3-deployment:** add `deployedBucket` attribute for sequencing ([#15384](https://github.com/aws/aws-cdk/issues/15384)) ([edac101](https://github.com/aws/aws-cdk/commit/edac1011574f3cf38bb0ac39400bf41c66337ffd)) + + +### Bug Fixes + +* **assertions:** 'pattern.indexOf' is not a function ([#19009](https://github.com/aws/aws-cdk/issues/19009)) ([6df26e7](https://github.com/aws/aws-cdk/commit/6df26e7ed73455b77b07707debef5bb26ae78909)) +* **assertions:** incorrect assertions when >1 messages on a resource ([#18948](https://github.com/aws/aws-cdk/issues/18948)) ([072e1b9](https://github.com/aws/aws-cdk/commit/072e1b990a43768b88a05dd436dd6d6d9649c13a)), closes [#18840](https://github.com/aws/aws-cdk/issues/18840) +* **aws-cdk:** include nested stacks when building changesets ([#17396](https://github.com/aws/aws-cdk/issues/17396)) ([a7dbeef](https://github.com/aws/aws-cdk/commit/a7dbeef9eae3e00e209d06f5cc5bb3bf3d084d18)), closes [#5722](https://github.com/aws/aws-cdk/issues/5722) +* **cli:** handle attributes of AWS::Events::EventBus when hotswapping ([#18834](https://github.com/aws/aws-cdk/issues/18834)) ([a30a32a](https://github.com/aws/aws-cdk/commit/a30a32aaa5dfb764022370fe7867564d57640bfb)), closes [#18831](https://github.com/aws/aws-cdk/issues/18831) +* **core:** undeployable due to invalid mapping ([#18922](https://github.com/aws/aws-cdk/issues/18922)) ([db28485](https://github.com/aws/aws-cdk/commit/db28485f4d2ea243e4184dd06b52395b4980beba)), closes [#18789](https://github.com/aws/aws-cdk/issues/18789) [#18789](https://github.com/aws/aws-cdk/issues/18789) +* **lambda:** unlock use case for cross-account functions w/ preconfigured permissions ([#18979](https://github.com/aws/aws-cdk/issues/18979)) ([023108a](https://github.com/aws/aws-cdk/commit/023108ac080ba34c82ef0b60fee20014c4a78428)), closes [#18228](https://github.com/aws/aws-cdk/issues/18228) [#18781](https://github.com/aws/aws-cdk/issues/18781) [#18967](https://github.com/aws/aws-cdk/issues/18967) [#18781](https://github.com/aws/aws-cdk/issues/18781) +* **lambda:** Validate Lambda "functionName" parameter ([#17970](https://github.com/aws/aws-cdk/issues/17970)) ([a416a2d](https://github.com/aws/aws-cdk/commit/a416a2d68f14c0711d42b38e81b0091d160dfd6f)), closes [#13264](https://github.com/aws/aws-cdk/issues/13264) +* **pipelines:** self-mutate always adds analytics ([#19010](https://github.com/aws/aws-cdk/issues/19010)) ([bc47b29](https://github.com/aws/aws-cdk/commit/bc47b2937a806d6522a4d9106976200bf6810024)), closes [#18933](https://github.com/aws/aws-cdk/issues/18933) +* **stepfunctions:** imported State Machine sill has region and account from its Stack, instead of its ARN ([#19026](https://github.com/aws/aws-cdk/issues/19026)) ([23329b4](https://github.com/aws/aws-cdk/commit/23329b4ac7c845efe7d0e0d7ce03499e7dd723ac)), closes [#17982](https://github.com/aws/aws-cdk/issues/17982) +* python3 version check with Python 3.10 ([#18754](https://github.com/aws/aws-cdk/issues/18754)) ([0ef6527](https://github.com/aws/aws-cdk/commit/0ef65279cc5f2269046e0bae05d44f5aabc43eb9)) +* **stepfunctions-tasks:** EMR Create Cluster does not support dynamic allocation of step concurrency level ([#18972](https://github.com/aws/aws-cdk/issues/18972)) ([d19e538](https://github.com/aws/aws-cdk/commit/d19e5386f737aa58f27c7ac2082306006dcd6d95)) + +## [2.12.0](https://github.com/aws/aws-cdk/compare/v2.11.0...v2.12.0) (2022-02-08) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **cxapi:** of behavior. + +Instead, this PR gets rid of the entire set of `FUTURE_FLAGS_DEFAULTS` +set to `false` -- there's no point to having them anyway, and it +gets rid of the associated merge conflicts. + +Also shore up the docs for these flags a little. + +### Miscellaneous Chores + +* **cxapi:** reduce merge conflicts in feature flags ([#18411](https://github.com/aws/aws-cdk/issues/18411)) ([dcdb58a](https://github.com/aws/aws-cdk/commit/dcdb58a0481448031ef18c171535c1c4f5872bdd)) + +## [2.11.0](https://github.com/aws/aws-cdk/compare/v2.10.0...v2.11.0) (2022-02-08) + + +### Features + +* **assets:** support networking mode for DockerImageAsset ([#18114](https://github.com/aws/aws-cdk/issues/18114)) ([a7b39f5](https://github.com/aws/aws-cdk/commit/a7b39f527976e29a7f39c1ba1813efba2e0aa209)), closes [#15516](https://github.com/aws/aws-cdk/issues/15516) +* **cfnspec:** cloudformation spec v54.0.0 ([#18764](https://github.com/aws/aws-cdk/issues/18764)) ([71601c1](https://github.com/aws/aws-cdk/commit/71601c115a6460b4532a34c83100ae70a476fad2)) +* **cfnspec:** cloudformation spec v55.0.0 ([#18827](https://github.com/aws/aws-cdk/issues/18827)) ([a1d94b3](https://github.com/aws/aws-cdk/commit/a1d94b3624eb1b6b543d8ce209ec85af8e85beda)) +* **cli:** `cdk diff` works for Nested Stacks ([#18207](https://github.com/aws/aws-cdk/issues/18207)) ([1337b24](https://github.com/aws/aws-cdk/commit/1337b247e82d9462074416623e665cf9526d2cc0)), closes [#5722](https://github.com/aws/aws-cdk/issues/5722) +* **cloudwatch-actions:** add ssm opsitem action for cloudwatch alarm ([#16923](https://github.com/aws/aws-cdk/issues/16923)) ([9380885](https://github.com/aws/aws-cdk/commit/93808851415bff269418f28d9de3c61727e143d3)), closes [#16861](https://github.com/aws/aws-cdk/issues/16861) +* **dynamodb:** allow setting TableClass for a Table ([#18719](https://github.com/aws/aws-cdk/issues/18719)) ([73a889e](https://github.com/aws/aws-cdk/commit/73a889eba85d0aa542ac96a1124f3ae4f1d351bc)), closes [#18718](https://github.com/aws/aws-cdk/issues/18718) +* **ec2:** support KMS keys for block device mappings for both instances and launch templates ([#18326](https://github.com/aws/aws-cdk/issues/18326)) ([17dbe5f](https://github.com/aws/aws-cdk/commit/17dbe5f476ac1ccc0c0e6a0905b0de5ae6186704)), closes [#18309](https://github.com/aws/aws-cdk/issues/18309) +* **ecr:** add server-side encryption configuration ([#16966](https://github.com/aws/aws-cdk/issues/16966)) ([c46acd5](https://github.com/aws/aws-cdk/commit/c46acd5f13442c43d0c2ed339e3091dd46002741)), closes [#15400](https://github.com/aws/aws-cdk/issues/15400) [#15571](https://github.com/aws/aws-cdk/issues/15571) +* **ecs:** expose image name in container definition ([#17793](https://github.com/aws/aws-cdk/issues/17793)) ([1947d7c](https://github.com/aws/aws-cdk/commit/1947d7cc809fda0765bee3dbb2286190ec2847f7)) +* **fsx:** add support for FSx Lustre Persistent_2 deployment type ([#18626](https://github.com/aws/aws-cdk/issues/18626)) ([6036d99](https://github.com/aws/aws-cdk/commit/6036d9927bb3607e31a57361bf304976ff1891f7)) +* **s3-deployment:** deploy data with deploy-time values ([#18659](https://github.com/aws/aws-cdk/issues/18659)) ([d40e332](https://github.com/aws/aws-cdk/commit/d40e332578f7590a0c949fdd01622a644cf9359b)), closes [#12903](https://github.com/aws/aws-cdk/issues/12903) + + +### Bug Fixes + +* **core:** correctly reference versionless secure parameters ([#18730](https://github.com/aws/aws-cdk/issues/18730)) ([9f6e10e](https://github.com/aws/aws-cdk/commit/9f6e10ed0a751c06fe0cc1d79f38d5fb4b686087)), closes [#18729](https://github.com/aws/aws-cdk/issues/18729) +* **ec2:** `UserData.addSignalOnExitCommand` does not work in combination with `userDataCausesReplacement` ([#18726](https://github.com/aws/aws-cdk/issues/18726)) ([afdc550](https://github.com/aws/aws-cdk/commit/afdc550ee372dd25d9d2eef81a545da1e923f796)), closes [#12749](https://github.com/aws/aws-cdk/issues/12749) +* **tooling:** update vscode devcontainer image ([#18455](https://github.com/aws/aws-cdk/issues/18455)) ([28647f7](https://github.com/aws/aws-cdk/commit/28647f7105da6bd02975aa7d90300d77fe85d0e6)) +* **vpc:** Vpc.fromLookup should throw if subnet group name tag is explicitly given and does not exist ([#18714](https://github.com/aws/aws-cdk/issues/18714)) ([13e1c7f](https://github.com/aws/aws-cdk/commit/13e1c7f10b81fc350953fe69fcccb61ff5aa9c1e)), closes [#13962](https://github.com/aws/aws-cdk/issues/13962) + + +### Reverts + +* "chore(cloudfront): encryption and enforceSSL on distribution s3 loggingBucket ([#18264](https://github.com/aws/aws-cdk/issues/18264))" ([#18772](https://github.com/aws/aws-cdk/issues/18772)) ([121e4a1](https://github.com/aws/aws-cdk/commit/121e4a1dec13d31644f6176d0a1d703952dc1ba3)), closes [#18271](https://github.com/aws/aws-cdk/issues/18271) [/docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3](https://github.com/aws//docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html/issues/AWS-logs-infrastructure-S3) [#18676](https://github.com/aws/aws-cdk/issues/18676) +* "chore(ec2): enforceSSL on flowLog s3 bucket ([#18271](https://github.com/aws/aws-cdk/issues/18271))" ([#18770](https://github.com/aws/aws-cdk/issues/18770)) ([a2eb092](https://github.com/aws/aws-cdk/commit/a2eb092b2b468bffa2acde9b98ca34cefa3e48f1)), closes [/docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3](https://github.com/aws//docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html/issues/AWS-logs-infrastructure-S3) [#18676](https://github.com/aws/aws-cdk/issues/18676) + +## [2.10.0](https://github.com/aws/aws-cdk/compare/v2.9.0...v2.10.0) (2022-01-29) + + +### Features + +* **assertions:** support assertions on stack messages ([#18521](https://github.com/aws/aws-cdk/issues/18521)) ([cb86e30](https://github.com/aws/aws-cdk/commit/cb86e30391aefdda13e6b0d4b3be2fedf76477c8)), closes [#18347](https://github.com/aws/aws-cdk/issues/18347) +* **aws-ecs-patterns:** adding support for custom HealthCheck while creating QueueProcessingFargateService ([#18219](https://github.com/aws/aws-cdk/issues/18219)) ([0ca81a1](https://github.com/aws/aws-cdk/commit/0ca81a118d3d54b87d2d05a53fb72e4efe03b591)), closes [#15636](https://github.com/aws/aws-cdk/issues/15636) +* **certificatemanager:** DnsValidatedCertificate DNS record cleanup ([#18311](https://github.com/aws/aws-cdk/issues/18311)) ([36d356d](https://github.com/aws/aws-cdk/commit/36d356d0b3e422f7451f4b0dd2f971aa0378210e)), closes [#3333](https://github.com/aws/aws-cdk/issues/3333) [#7063](https://github.com/aws/aws-cdk/issues/7063) +* **cfnspec:** cloudformation spec v53.1.0 ([#18588](https://github.com/aws/aws-cdk/issues/18588)) ([a283a48](https://github.com/aws/aws-cdk/commit/a283a482dead64e94383ba21cc7908f10c4459a2)) +* **cfnspec:** cloudformation spec v53.1.0 ([#18658](https://github.com/aws/aws-cdk/issues/18658)) ([2eda19e](https://github.com/aws/aws-cdk/commit/2eda19e510374426190531810cff518d582644ad)) +* **cfnspec:** cloudformation spec v53.1.0 ([#18680](https://github.com/aws/aws-cdk/issues/18680)) ([f385059](https://github.com/aws/aws-cdk/commit/f38505911a3e140a9cb6b269bdf22abe9803c515)) +* **cloudfront-origins:** extend `readTimeout` maximum value for `HttpOriginProps` ([#18697](https://github.com/aws/aws-cdk/issues/18697)) ([e64de67](https://github.com/aws/aws-cdk/commit/e64de677cdfc014f68e92b204f4728e60a8bb111)), closes [#18628](https://github.com/aws/aws-cdk/issues/18628) +* **ec2:** session timeout and login banner for client vpn endpoint ([#18590](https://github.com/aws/aws-cdk/issues/18590)) ([7294118](https://github.com/aws/aws-cdk/commit/72941180a7188e5560a58f1509554ef038544ec4)) +* **ecs:** add `BaseService.fromServiceArnWithCluster()` for use in CodePipeline ([#18530](https://github.com/aws/aws-cdk/issues/18530)) ([3d192a9](https://github.com/aws/aws-cdk/commit/3d192a9a832857cb246d719a68b4b8f40d807fed)) +* **eks:** cluster logging ([#18112](https://github.com/aws/aws-cdk/issues/18112)) ([872277b](https://github.com/aws/aws-cdk/commit/872277b9e853dbf5f2cac84b5afb6d26e0ed5659)), closes [#4159](https://github.com/aws/aws-cdk/issues/4159) +* **lambda-nodejs:** Allow setting mainFields for esbuild ([#18569](https://github.com/aws/aws-cdk/issues/18569)) ([0e78aeb](https://github.com/aws/aws-cdk/commit/0e78aeb9ad62226e67f72f23c0008ba749b3a73b)) +* **s3:** custom role for the bucket notifications handler ([#17794](https://github.com/aws/aws-cdk/issues/17794)) ([43f232d](https://github.com/aws/aws-cdk/commit/43f232ddc0a18e9a2fada2fbead758ab3538adc2)), closes [#9918](https://github.com/aws/aws-cdk/issues/9918) [#13241](https://github.com/aws/aws-cdk/issues/13241) + + +### Bug Fixes + +* **aws-apigateway:** cross region authorizer ref ([#18444](https://github.com/aws/aws-cdk/issues/18444)) ([0e0a092](https://github.com/aws/aws-cdk/commit/0e0a0922ba1d538abdfeb61a260c262109115038)) +* **aws-lambda-nodejs:** pre compilation with tsc is not being run ([#18062](https://github.com/aws/aws-cdk/issues/18062)) ([7ac7221](https://github.com/aws/aws-cdk/commit/7ac7221aff3c612ab80e7812c371b11c56e5db0a)), closes [#18002](https://github.com/aws/aws-cdk/issues/18002) +* **cli:** hotswap should wait for lambda's `updateFunctionCode` to complete ([#18536](https://github.com/aws/aws-cdk/issues/18536)) ([0e08eeb](https://github.com/aws/aws-cdk/commit/0e08eebd2f13ab0da6cac7b91288845cad530192)), closes [#18386](https://github.com/aws/aws-cdk/issues/18386) [#18386](https://github.com/aws/aws-cdk/issues/18386) +* **elasticloadbalancingv2:** ApplicationLoadBalancer.logAccessLogs does not grant all necessary permissions ([#18558](https://github.com/aws/aws-cdk/issues/18558)) ([bde1795](https://github.com/aws/aws-cdk/commit/bde17950293309b7449fc412301634770b47111f)), closes [#18367](https://github.com/aws/aws-cdk/issues/18367) +* **pipelines:** undeployable due to dependency cycle ([#18686](https://github.com/aws/aws-cdk/issues/18686)) ([009d689](https://github.com/aws/aws-cdk/commit/009d68912267de9dcf4136a7d80a652a891b7bb9)), closes [#18492](https://github.com/aws/aws-cdk/issues/18492) [#18673](https://github.com/aws/aws-cdk/issues/18673) +* **region-info:** incorrect codedeploy service principals ([#18505](https://github.com/aws/aws-cdk/issues/18505)) ([16db963](https://github.com/aws/aws-cdk/commit/16db9639e86f1fd6f26a1054f4d6df24801d0f05)) +* **route53:** add RoutingControlArn to HealthCheck patch ([#18645](https://github.com/aws/aws-cdk/issues/18645)) ([c58e8bb](https://github.com/aws/aws-cdk/commit/c58e8bbbcb0a66c37b65cddc1da8d19dfbf26b4f)), closes [#18570](https://github.com/aws/aws-cdk/issues/18570) +* **s3:** add missing safe actions to `grantWrite`, `grantReadWrite` and `grantPut` methods ([#18494](https://github.com/aws/aws-cdk/issues/18494)) ([940d043](https://github.com/aws/aws-cdk/commit/940d0439cd347f06d755f3e3dd0582470749f710)), closes [#13616](https://github.com/aws/aws-cdk/issues/13616) +* **secretsmanager:** SecretRotation for secret imported by name has incorrect permissions ([#18567](https://github.com/aws/aws-cdk/issues/18567)) ([9ed263c](https://github.com/aws/aws-cdk/commit/9ed263cde0b41959ff267720c0978bfe7449337a)), closes [#18424](https://github.com/aws/aws-cdk/issues/18424) +* **stepfunctions:** task token integration cannot be used with API Gateway ([#18595](https://github.com/aws/aws-cdk/issues/18595)) ([678eede](https://github.com/aws/aws-cdk/commit/678eeded5d5631dbacff43ead697ecbd3bd4b27d)), closes [#14184](https://github.com/aws/aws-cdk/issues/14184) [#14181](https://github.com/aws/aws-cdk/issues/14181) +* **stepfunctions-tasks:** cluster creation fails with unresolved release labels ([#18288](https://github.com/aws/aws-cdk/issues/18288)) ([9940952](https://github.com/aws/aws-cdk/commit/9940952d67bdf07f3d737dc88676dc7f7c435a12)) + +## [2.9.0](https://github.com/aws/aws-cdk/compare/v2.8.0...v2.9.0) (2022-01-26) + + +### Features + +* **assertions:** `stringLikeRegexp()` matcher ([#18491](https://github.com/aws/aws-cdk/issues/18491)) ([b49b002](https://github.com/aws/aws-cdk/commit/b49b002e40f5b901935f52827f417bb3851badc2)) +* **assertions:** support for conditions ([#18577](https://github.com/aws/aws-cdk/issues/18577)) ([55ff1b2](https://github.com/aws/aws-cdk/commit/55ff1b2e69f1b42bbbecd9dc95e17f2ffc35f94e)), closes [#18560](https://github.com/aws/aws-cdk/issues/18560) +* **assertions:** support for parameters ([#18469](https://github.com/aws/aws-cdk/issues/18469)) ([d0d6fc5](https://github.com/aws/aws-cdk/commit/d0d6fc520491351b44cac78aa90284c82a9499b2)), closes [#16720](https://github.com/aws/aws-cdk/issues/16720) +* **cfnspec:** cloudformation spec v53.0.0 ([#18468](https://github.com/aws/aws-cdk/issues/18468)) ([50637e0](https://github.com/aws/aws-cdk/commit/50637e08590c2051d9a1e446ee7ded47e85d02b3)) +* **cfnspec:** cloudformation spec v53.0.0 ([#18480](https://github.com/aws/aws-cdk/issues/18480)) ([38e1fe4](https://github.com/aws/aws-cdk/commit/38e1fe42d8b30d6afaf4a3ccc90dd15d6a5d8255)) +* **cfnspec:** cloudformation spec v53.0.0 ([#18524](https://github.com/aws/aws-cdk/issues/18524)) ([517d517](https://github.com/aws/aws-cdk/commit/517d517a0bb3f7f6e98538dca736086b86b206c8)) +* **cfnspec:** cloudformation spec v53.0.0 ([#18551](https://github.com/aws/aws-cdk/issues/18551)) ([926310b](https://github.com/aws/aws-cdk/commit/926310bace65a763972d56c0df5730cdc44f8f82)) +* **cli:** support hotswapping Lambda functions that use Docker images ([#18319](https://github.com/aws/aws-cdk/issues/18319)) ([6b553b7](https://github.com/aws/aws-cdk/commit/6b553b7f84e5cde8a1fc533af95ad440c020e834)), closes [#18302](https://github.com/aws/aws-cdk/issues/18302) [#18408](https://github.com/aws/aws-cdk/issues/18408) +* **cli:** support hotswapping Lambda functions with inline code ([#18408](https://github.com/aws/aws-cdk/issues/18408)) ([d0b8512](https://github.com/aws/aws-cdk/commit/d0b8512449759bf74bb53aabbb6d5224b5f8c5ae)), closes [#18319](https://github.com/aws/aws-cdk/issues/18319) +* **cognito:** identity pools ([#16190](https://github.com/aws/aws-cdk/issues/16190)) ([59fe395](https://github.com/aws/aws-cdk/commit/59fe395a5adcd35bd59c6d9c74f4a2606aec88b0)) +* **ec2:** add Hpc6a instances ([#18445](https://github.com/aws/aws-cdk/issues/18445)) ([c7f39ca](https://github.com/aws/aws-cdk/commit/c7f39ca97874c1d8d5286ab347a97fc458547830)) +* **ec2:** add support for al2022 and amzn2 with kernel 5.x ([#18117](https://github.com/aws/aws-cdk/issues/18117)) ([6b73d1d](https://github.com/aws/aws-cdk/commit/6b73d1d3d0ac05042c1e43a64068938138fe8421)) +* **ec2:** create Peers via security group ids ([#18248](https://github.com/aws/aws-cdk/issues/18248)) ([9d1b2c7](https://github.com/aws/aws-cdk/commit/9d1b2c7b1f0147089f912c32a61d7ba86edb543c)), closes [#7111](https://github.com/aws/aws-cdk/issues/7111) +* **opensearch:** added opensearch 1.1 to engineversion ([#18432](https://github.com/aws/aws-cdk/issues/18432)) ([e01a57a](https://github.com/aws/aws-cdk/commit/e01a57aa3085a8282123afbc3583b1b78a075c9a)), closes [#18431](https://github.com/aws/aws-cdk/issues/18431) + + +### Bug Fixes + +* **apigateway:** `enabled` property of `ApiKeyProps` is ignored ([#18407](https://github.com/aws/aws-cdk/issues/18407)) ([c31f9b4](https://github.com/aws/aws-cdk/commit/c31f9b44165f872f8dd51605e00f4801ed611d4d)) +* **applicationautoscaling:** typo in `DYANMODB_WRITE_CAPACITY_UTILIZATION` ([#18085](https://github.com/aws/aws-cdk/issues/18085)) ([626e6aa](https://github.com/aws/aws-cdk/commit/626e6aa1a27feffe7ce60a46a6fdcf26f317eaef)), closes [#17209](https://github.com/aws/aws-cdk/issues/17209) +* **assertions:** object partiality is dropped passing through arrays ([#18525](https://github.com/aws/aws-cdk/issues/18525)) ([eb29e6f](https://github.com/aws/aws-cdk/commit/eb29e6ff0308eb320ec772cc35cdbf781168198e)) +* **cli:** `cdk watch` constantly prints 'messages suppressed' ([#18486](https://github.com/aws/aws-cdk/issues/18486)) ([9b266f4](https://github.com/aws/aws-cdk/commit/9b266f49643d058709771892f908f1c2ae248f95)), closes [#18451](https://github.com/aws/aws-cdk/issues/18451) +* **cli:** warning to upgrade to bootstrap version >= undefined ([#18489](https://github.com/aws/aws-cdk/issues/18489)) ([da5a305](https://github.com/aws/aws-cdk/commit/da5a305875f0b82b896861be3fcb12fddaa0cc7b)) +* **ec2:** interface endpoints do not work with `Vpc.fromLookup()` ([#18554](https://github.com/aws/aws-cdk/issues/18554)) ([f55cd2b](https://github.com/aws/aws-cdk/commit/f55cd2bd86405cc61d3eb24c2b827c2cd133363d)), closes [#17600](https://github.com/aws/aws-cdk/issues/17600) +* **ec2:** launch template names in imdsv2 not unique across stacks (under feature flag) ([#17766](https://github.com/aws/aws-cdk/issues/17766)) ([2a80e4b](https://github.com/aws/aws-cdk/commit/2a80e4b113bac0716f5aa1d4806e425759da1743)) +* **ecs:** only works in 'aws' partition ([#18496](https://github.com/aws/aws-cdk/issues/18496)) ([525ac07](https://github.com/aws/aws-cdk/commit/525ac07369e33e2f36b7a0eea7913e43649484db)), closes [#18429](https://github.com/aws/aws-cdk/issues/18429) +* **ecs-patterns:** Fix Network Load Balancer Port assignments in ECS Patterns ([#18157](https://github.com/aws/aws-cdk/issues/18157)) ([1393729](https://github.com/aws/aws-cdk/commit/13937299596d0b858d56e9116bf7a7dbe039d4b4)), closes [#18073](https://github.com/aws/aws-cdk/issues/18073) +* **elbv2:** BaseLoadBalancer.vpc is not optional ([#18474](https://github.com/aws/aws-cdk/issues/18474)) ([f511c17](https://github.com/aws/aws-cdk/commit/f511c17aac8ca4d3fa94ace051d9946dc23f40a3)), closes [aws/jsii#3342](https://github.com/aws/jsii/issues/3342) +* **pipelines:** "Maximum schema version supported" error ([#18404](https://github.com/aws/aws-cdk/issues/18404)) ([a684ff4](https://github.com/aws/aws-cdk/commit/a684ff47d56038a94c82cdbad9588da939963351)), closes [#18370](https://github.com/aws/aws-cdk/issues/18370) +* **pipelines:** CodeBuild projects are hard to tell apart ([#18492](https://github.com/aws/aws-cdk/issues/18492)) ([f6dab8d](https://github.com/aws/aws-cdk/commit/f6dab8d8c5aa4cf56d6846e2d13c1d5641136f72)) +* **pipelines:** graphnode dependencies can have duplicates ([#18450](https://github.com/aws/aws-cdk/issues/18450)) ([2b0b5ea](https://github.com/aws/aws-cdk/commit/2b0b5ea5db7ce8103a641c1267b1c213453ac145)) +* **secretsmanager:** Secret requires KMS key for some same-account access ([#17812](https://github.com/aws/aws-cdk/issues/17812)) ([91f3539](https://github.com/aws/aws-cdk/commit/91f3539f4aa8383adcb2273790ddb469fb1274a6)), closes [#15450](https://github.com/aws/aws-cdk/issues/15450) + + +### Reverts + +* **s3:** add EventBridge bucket notifications ([#18150](https://github.com/aws/aws-cdk/issues/18150)) ([#18507](https://github.com/aws/aws-cdk/issues/18507)) ([2041278](https://github.com/aws/aws-cdk/commit/204127862d5fb1d2e6dd573a1621254e52eca4aa)) + +## [2.8.0](https://github.com/aws/aws-cdk/compare/v2.7.0...v2.8.0) (2022-01-13) + + +### Features + +* **aws-s3:** support number of newer versions to retain in lifecycle policy ([#18225](https://github.com/aws/aws-cdk/issues/18225)) ([e1731b1](https://github.com/aws/aws-cdk/commit/e1731b11c9417a9a4d6cf0f2089c62a721e8d074)), closes [#17996](https://github.com/aws/aws-cdk/issues/17996) [#17996](https://github.com/aws/aws-cdk/issues/17996) +* **cli:** watch streams resources' CloudWatch logs to the terminal ([#18159](https://github.com/aws/aws-cdk/issues/18159)) ([a9038ae](https://github.com/aws/aws-cdk/commit/a9038ae9c7d9b15b89ae24cfa24aefa6012674bc)), closes [#18122](https://github.com/aws/aws-cdk/issues/18122) +* **ecs-service-extensions:** Enable default logging to CloudWatch for extensions (under feature flag) ([#17817](https://github.com/aws/aws-cdk/issues/17817)) ([06666f4](https://github.com/aws/aws-cdk/commit/06666f4727b9745d001bc20f027b535538bb8250)) + + +### Bug Fixes + +* **ecs:** respect LogGroup's region for aws-log-driver ([#18212](https://github.com/aws/aws-cdk/issues/18212)) ([b6e3e51](https://github.com/aws/aws-cdk/commit/b6e3e517ac42b7951bc4ca4c1fd62422e3b49092)), closes [#17747](https://github.com/aws/aws-cdk/issues/17747) + +## [2.7.0](https://github.com/aws/aws-cdk/compare/v2.6.0...v2.7.0) (2022-01-12) + + +### Features + +* **aws-ecs:** support runtime platform property for create fargate windows runtime. ([#17622](https://github.com/aws/aws-cdk/issues/17622)) ([fa8f2e2](https://github.com/aws/aws-cdk/commit/fa8f2e2180d60e5621d2ae9606a3d1b2dcb681d9)), closes [#17242](https://github.com/aws/aws-cdk/issues/17242) +* **cli:** diff now uses the lookup Role for new-style synthesis ([#18277](https://github.com/aws/aws-cdk/issues/18277)) ([2256680](https://github.com/aws/aws-cdk/commit/225668050caef9bfdaa25b8ae984d3886108397f)) +* **eks:** cluster tagging ([#4995](https://github.com/aws/aws-cdk/issues/4995)) ([#18109](https://github.com/aws/aws-cdk/issues/18109)) ([304f5b6](https://github.com/aws/aws-cdk/commit/304f5b6974f1121a8a5ff802076dffe2eff9f407)) +* **iam:** generate AccessKeys ([#18180](https://github.com/aws/aws-cdk/issues/18180)) ([beb5706](https://github.com/aws/aws-cdk/commit/beb5706e0c80300c8adba2b75b573f6c6def3de6)), closes [#8432](https://github.com/aws/aws-cdk/issues/8432) +* **lambda-event-sources:** adds `AuthenticationMethod.CLIENT_CERTIFICATE_TLS_AUTH` to kafka ([#17920](https://github.com/aws/aws-cdk/issues/17920)) ([93cd776](https://github.com/aws/aws-cdk/commit/93cd7769b7b68ab6985c357c4d2f2137bb631553)) +* **lambda-nodejs:** ES modules ([#18346](https://github.com/aws/aws-cdk/issues/18346)) ([e23b63f](https://github.com/aws/aws-cdk/commit/e23b63fc106c4781e3dd39a16d4a3e3c81bdd874)), closes [#13274](https://github.com/aws/aws-cdk/issues/13274) +* **s3:** add EventBridge bucket notifications ([#18150](https://github.com/aws/aws-cdk/issues/18150)) ([912aeda](https://github.com/aws/aws-cdk/commit/912aeda295820920ed880b9c85a98c56421647b8)), closes [#18076](https://github.com/aws/aws-cdk/issues/18076) + + +### Bug Fixes + +* **aws-lambda-event-sources:** unsupported properties for SelfManagedKafkaEventSource and ManagedKafkaEventSource ([#17965](https://github.com/aws/aws-cdk/issues/17965)) ([5ddaef4](https://github.com/aws/aws-cdk/commit/5ddaef491d7962616f75f170cf7547cd9229338f)), closes [#17934](https://github.com/aws/aws-cdk/issues/17934) +* **cli:** assets are KMS-encrypted using wrong key ([#18340](https://github.com/aws/aws-cdk/issues/18340)) ([64ae9f3](https://github.com/aws/aws-cdk/commit/64ae9f3dc8a169ad0a7a2d02cb04f857debd3653)), closes [#17668](https://github.com/aws/aws-cdk/issues/17668) [#18262](https://github.com/aws/aws-cdk/issues/18262) +* **cli:** breaks due to faulty version of `colors` ([#18324](https://github.com/aws/aws-cdk/issues/18324)) ([43bf9ae](https://github.com/aws/aws-cdk/commit/43bf9aec0b3c5e06d5382b29f4e8e0c91cd796ca)) +* **cli:** breaks due to faulty version of `colors` ([#18324](https://github.com/aws/aws-cdk/issues/18324)) ([ddc2bc6](https://github.com/aws/aws-cdk/commit/ddc2bc6ae64fe14ddb4a03122c90dfcf954f149f)) +* **pipelines:** `DockerCredential.dockerHub()` silently fails auth ([#18313](https://github.com/aws/aws-cdk/issues/18313)) ([c2c87d9](https://github.com/aws/aws-cdk/commit/c2c87d9dd861a25dcbd9aa830e81ecb4d76ba509)), closes [/github.com/moby/moby/blob/1e71c6cffedb79e3def696652753ea43cdc47b99/registry/config.go#L35](https://github.com/aws//github.com/moby/moby/blob/1e71c6cffedb79e3def696652753ea43cdc47b99/registry/config.go/issues/L35) [/github.com/aws/aws-cdk/blob/4fb0309e3b93be276ab3e2d510ffc2ce35823dcd/packages/cdk-assets/bin/docker-credential-cdk-assets.ts#L32-L38](https://github.com/aws//github.com/aws/aws-cdk/blob/4fb0309e3b93be276ab3e2d510ffc2ce35823dcd/packages/cdk-assets/bin/docker-credential-cdk-assets.ts/issues/L32-L38) [#15737](https://github.com/aws/aws-cdk/issues/15737) + +## [2.6.0](https://github.com/aws/aws-cdk/compare/v2.5.0...v2.6.0) (2022-01-12) + + +### Bug Fixes + +* **appmesh:** allow a Virtual Node have as a backend a Virtual Service whose provider is that Node ([#18265](https://github.com/aws/aws-cdk/issues/18265)) ([272b6b1](https://github.com/aws/aws-cdk/commit/272b6b1abe22b7415eed5cdba82056d154fc31d7)), closes [#17322](https://github.com/aws/aws-cdk/issues/17322) + +## [2.5.0](https://github.com/aws/aws-cdk/compare/v2.4.0...v2.5.0) (2022-01-09) + + +### Bug Fixes + +* **aws-kinesis:** remove default shard count when stream mode is on-demand and set default mode to provisioned ([#18221](https://github.com/aws/aws-cdk/issues/18221)) ([cac11bb](https://github.com/aws/aws-cdk/commit/cac11bba2ea0714dec8e23b069496d1b9d940685)), closes [#18139](https://github.com/aws/aws-cdk/issues/18139) +* **cli:** breaks due to faulty version of `colors` ([#18324](https://github.com/aws/aws-cdk/issues/18324)) ([#18328](https://github.com/aws/aws-cdk/issues/18328)) ([b851bc3](https://github.com/aws/aws-cdk/commit/b851bc340ce0aeb0f6b99c6f54bceda892bfad0e)) + +## [2.4.0](https://github.com/aws/aws-cdk/compare/v2.3.0...v2.4.0) (2022-01-06) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **cfn2ts:** some "complex" property types within the generated +CloudFormation interfaces (i.e: properties of `Cfn*` constructs) with +names starting with a capital letter `I` followed by another capital +letter are no longer incorrectly treated as behavioral interfaces, and +might hence have different usage patterns in non-TypeScript languages. +Such interfaces were previously very difficult to use in non-TypeScript +languages, and required convoluted workarounds, which can now be removed. +* **opensearchservice:** imported domain property `domainEndpoint` used to contain `https://` prefix, now the prefix is dropped and it returns the same value as a `domainEndpoint` on a created domain + +### Features + +* **apigateway:** Add stage ARN attribute ([#18170](https://github.com/aws/aws-cdk/issues/18170)) ([be7acfd](https://github.com/aws/aws-cdk/commit/be7acfd54fbfe41a608fb8469657701de2b2a383)), closes [/docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html#apigateway-v1](https://github.com/aws//docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html/issues/apigateway-v1) +* **aws-autoscaling:** Add support for termination policies ([#17936](https://github.com/aws/aws-cdk/issues/17936)) ([9e6f977](https://github.com/aws/aws-cdk/commit/9e6f977d8ac4ad7ab2852536cc20c4469fe74f03)), closes [#15654](https://github.com/aws/aws-cdk/issues/15654) +* **aws-ec2:** add g4ad instance types ([#17927](https://github.com/aws/aws-cdk/issues/17927)) ([8cb6a76](https://github.com/aws/aws-cdk/commit/8cb6a768cd4310628925fa117b674ae456aa8474)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) [#17565](https://github.com/aws/aws-cdk/issues/17565) +* **aws-kinesis:** add support for data streams capacity modes ([#18074](https://github.com/aws/aws-cdk/issues/18074)) ([b265e46](https://github.com/aws/aws-cdk/commit/b265e4612a45af44defb7b6e1ff4a51c0231d10e)), closes [#18050](https://github.com/aws/aws-cdk/issues/18050) +* **aws-s3:** Adding Intelligent Tiering to Bucket ([#18013](https://github.com/aws/aws-cdk/issues/18013)) ([890c4c5](https://github.com/aws/aws-cdk/commit/890c4c5f9d4835b39c8448e47c781b5e8334cd60)), closes [#16191](https://github.com/aws/aws-cdk/issues/16191) +* **backup:** support continuous backup and point-in-time restores ([#17602](https://github.com/aws/aws-cdk/issues/17602)) ([24c6ef5](https://github.com/aws/aws-cdk/commit/24c6ef5164c66fa79b16fd5c8645e82764a52f87)), closes [#15922](https://github.com/aws/aws-cdk/issues/15922) +* **bootstrap:** ECR `ScanOnPush` is now enabled by default ([#17994](https://github.com/aws/aws-cdk/issues/17994)) ([7588b51](https://github.com/aws/aws-cdk/commit/7588b517eb17bb5198f91056113eb79a34830867)) +* **cfnspec:** add CloudFormation documentation to L1 classes ([#18101](https://github.com/aws/aws-cdk/issues/18101)) ([0ed661d](https://github.com/aws/aws-cdk/commit/0ed661df0b060d0ec4c502b92511b3e777144854)) +* **cfnspec:** cloudformation spec v51.0.0 ([#18274](https://github.com/aws/aws-cdk/issues/18274)) ([c208e60](https://github.com/aws/aws-cdk/commit/c208e6043e4a184b4d3ac2508ebef1cb31bace43)) +* **cli:** add message when resource is hotswapped ([#18058](https://github.com/aws/aws-cdk/issues/18058)) ([e828c22](https://github.com/aws/aws-cdk/commit/e828c2229394fdf29699fd167c380bc229ea48e3)), closes [#17778](https://github.com/aws/aws-cdk/issues/17778) +* **cli:** hotswap deployments for CodeBuild projects ([#18161](https://github.com/aws/aws-cdk/issues/18161)) ([4ae4df8](https://github.com/aws/aws-cdk/commit/4ae4df8388e6346d4bcb8700059e8268d7e1daac)) +* **cli:** show how long `cdk deploy` steps take ([#18230](https://github.com/aws/aws-cdk/issues/18230)) ([82fa742](https://github.com/aws/aws-cdk/commit/82fa7428d1a66e3a95692551bd4dae30a5fee771)), closes [#18213](https://github.com/aws/aws-cdk/issues/18213) +* **cli:** support for hotswapping Lambda Versions and Aliases ([#18145](https://github.com/aws/aws-cdk/issues/18145)) ([13d77b7](https://github.com/aws/aws-cdk/commit/13d77b75327eede6bce63a57f6c319c86aead6ec)), closes [#18058](https://github.com/aws/aws-cdk/issues/18058) [#17043](https://github.com/aws/aws-cdk/issues/17043) +* **cli:** support hotswapping Lambda function tags ([#17818](https://github.com/aws/aws-cdk/issues/17818)) ([e4485f4](https://github.com/aws/aws-cdk/commit/e4485f4371dd5aafa538efeb82e016c40d197789)), closes [#17664](https://github.com/aws/aws-cdk/issues/17664) +* **cli:** watch command now starts with a deployment ([#18057](https://github.com/aws/aws-cdk/issues/18057)) ([ace37a2](https://github.com/aws/aws-cdk/commit/ace37a24fda06616f7bbb5e2c9de01877d2ef0d7)), closes [#17776](https://github.com/aws/aws-cdk/issues/17776) +* **codecommit:** allow initializing a Repository with contents ([#17968](https://github.com/aws/aws-cdk/issues/17968)) ([54b6cc6](https://github.com/aws/aws-cdk/commit/54b6cc677f2b1c0ffd6a183fe6b935ad1012cf63)), closes [#17967](https://github.com/aws/aws-cdk/issues/17967) [#16958](https://github.com/aws/aws-cdk/issues/16958) +* **codedeploy:** loadbalancer support for imported Target Groups ([#17848](https://github.com/aws/aws-cdk/issues/17848)) ([32f1c80](https://github.com/aws/aws-cdk/commit/32f1c807a34464e8c13a8d03bfdcb6a3006f51ba)), closes [#9677](https://github.com/aws/aws-cdk/issues/9677) +* **codepipeline:** add ability to not reuse cross-region support Stacks ([#18043](https://github.com/aws/aws-cdk/issues/18043)) ([dcc9e59](https://github.com/aws/aws-cdk/commit/dcc9e59d55d17dd71217659573d5f1879295eb1b)), closes [#18018](https://github.com/aws/aws-cdk/issues/18018) [#18018](https://github.com/aws/aws-cdk/issues/18018) +* **codepipeline:** variables for CodeStar Connections source Action ([#18086](https://github.com/aws/aws-cdk/issues/18086)) ([c99da16](https://github.com/aws/aws-cdk/commit/c99da16aae68437d1546c8ad431d7050f954ffac)), closes [#17807](https://github.com/aws/aws-cdk/issues/17807) +* **custom-resources:** NoEcho for sensitive data in provider framework ([#18097](https://github.com/aws/aws-cdk/issues/18097)) ([621a410](https://github.com/aws/aws-cdk/commit/621a410471fcda0e388a7a53bb0e3cdb77be759c)) +* **docdb:** allow setting log retention ([#18120](https://github.com/aws/aws-cdk/issues/18120)) ([002202f](https://github.com/aws/aws-cdk/commit/002202fd7e32192214017772a99f9e17072bd0d8)), closes [#13191](https://github.com/aws/aws-cdk/issues/13191) +* **ec2:** add Windows Server 2022 WindowsVersions ([#18203](https://github.com/aws/aws-cdk/issues/18203)) ([dee732d](https://github.com/aws/aws-cdk/commit/dee732d063c0658b768bf7b9f24087b8baed2ed6)), closes [#18199](https://github.com/aws/aws-cdk/issues/18199) +* **efs:** add support for transitioning files from infrequent access to primary storage ([#16522](https://github.com/aws/aws-cdk/issues/16522)) ([65414c6](https://github.com/aws/aws-cdk/commit/65414c655bfd08fab0c8113c7cfae19871a611c3)) +* **eks:** imported kubectl provider for imported clusters ([#14689](https://github.com/aws/aws-cdk/issues/14689)) ([19a287f](https://github.com/aws/aws-cdk/commit/19a287f02bc427644837956466213ee65457a857)), closes [issue#12107](https://github.com/aws/issue/issues/12107) +* **eks:** install helm chart from asset ([#17217](https://github.com/aws/aws-cdk/issues/17217)) ([d3fc8c0](https://github.com/aws/aws-cdk/commit/d3fc8c07e2262a9f871e3a2b91f6e85471efd794)), closes [#13496](https://github.com/aws/aws-cdk/issues/13496) [#15899](https://github.com/aws/aws-cdk/issues/15899) [/github.com/aws/aws-cdk/pull/15899/files#r683431181](https://github.com/aws//github.com/aws/aws-cdk/pull/15899/files/issues/r683431181) [#9273](https://github.com/aws/aws-cdk/issues/9273) +* **iam:** session tagging ([#17689](https://github.com/aws/aws-cdk/issues/17689)) ([9f22b2f](https://github.com/aws/aws-cdk/commit/9f22b2f89d6fe6930cbc57a37d0c72e823b58cf8)), closes [#15908](https://github.com/aws/aws-cdk/issues/15908) [#16725](https://github.com/aws/aws-cdk/issues/16725) [#2041](https://github.com/aws/aws-cdk/issues/2041) [#1578](https://github.com/aws/aws-cdk/issues/1578) +* **pipelines:** step dependencies ([#18256](https://github.com/aws/aws-cdk/issues/18256)) ([e3359e0](https://github.com/aws/aws-cdk/commit/e3359e0b79a8b999ed32c93fdbd19625bbbefaf8)), closes [#17945](https://github.com/aws/aws-cdk/issues/17945) +* **pipelines:** support timeout in CodeBuildStep ([#17351](https://github.com/aws/aws-cdk/issues/17351)) ([2aa3b8e](https://github.com/aws/aws-cdk/commit/2aa3b8e6e3ce75aaa7d4158f55e162eb26050ba1)) +* **rds:** Aurora clusters from snapshots ([#17759](https://github.com/aws/aws-cdk/issues/17759)) ([e5259ee](https://github.com/aws/aws-cdk/commit/e5259eec0c7df3129844bce3120eb32ffb575303)), closes [#10936](https://github.com/aws/aws-cdk/issues/10936) [#10130](https://github.com/aws/aws-cdk/issues/10130) +* **secretsmanager:** create secrets with specified values ([#18098](https://github.com/aws/aws-cdk/issues/18098)) ([dd90b8e](https://github.com/aws/aws-cdk/commit/dd90b8e9b3fe46ccc18a2472623ff27ef7989fbb)), closes [#5810](https://github.com/aws/aws-cdk/issues/5810) +* **sqs:** add DLQ readonly property to Queue ([#18232](https://github.com/aws/aws-cdk/issues/18232)) ([caa6788](https://github.com/aws/aws-cdk/commit/caa6788781690c629226a54bb1f9529722d67887)), closes [#18083](https://github.com/aws/aws-cdk/issues/18083) +* **ssm:** reference latest version of secure string parameters ([#18187](https://github.com/aws/aws-cdk/issues/18187)) ([7d0680a](https://github.com/aws/aws-cdk/commit/7d0680a5a858633f92aeb78353cac22b9a391fa7)), closes [#17091](https://github.com/aws/aws-cdk/issues/17091) + + +### Bug Fixes + +* **acm:** DnsValidatedCertificate intermittently fails with "Cannot read property 'Name' of undefined" ([#18033](https://github.com/aws/aws-cdk/issues/18033)) ([2b6c2da](https://github.com/aws/aws-cdk/commit/2b6c2dadc039f7c4255f6864386ba1dd28b6fc4f)), closes [#8282](https://github.com/aws/aws-cdk/issues/8282) +* **apigateway:** race condition between Stage and CfnAccount ([#18011](https://github.com/aws/aws-cdk/issues/18011)) ([f11766e](https://github.com/aws/aws-cdk/commit/f11766ed774af3c5da83de2722e638878c1b321c)) +* **cfn2ts:** some property times have behavioral-interface names ([#18275](https://github.com/aws/aws-cdk/issues/18275)) ([6359c12](https://github.com/aws/aws-cdk/commit/6359c12e3242e23d9b3bf0a42cac7c361c8d4d8a)) +* **cloudfront-origins:** policy not added for custom OAI ([#18192](https://github.com/aws/aws-cdk/issues/18192)) ([c894ba1](https://github.com/aws/aws-cdk/commit/c894ba1d628acdd88be5dfbc57117a273547b32c)), closes [#18185](https://github.com/aws/aws-cdk/issues/18185) +* **codebuild:** setting Cache.none() renders nothing in the template ([#18194](https://github.com/aws/aws-cdk/issues/18194)) ([cd51a5d](https://github.com/aws/aws-cdk/commit/cd51a5dae1780e34aecd90d85783fb6d3c239903)), closes [#18165](https://github.com/aws/aws-cdk/issues/18165) +* **core:** `Duration.toString()` throws an error ([#18243](https://github.com/aws/aws-cdk/issues/18243)) ([df03df8](https://github.com/aws/aws-cdk/commit/df03df8b5c97fae6c349822ae97245512571a1dc)), closes [#18176](https://github.com/aws/aws-cdk/issues/18176) +* **core:** overriding of `Stack.addFileAsset()` no longer has effect ([#18116](https://github.com/aws/aws-cdk/issues/18116)) ([2290681](https://github.com/aws/aws-cdk/commit/2290681a774667bcb969058c3bdb77e0b0b60044)), closes [#17328](https://github.com/aws/aws-cdk/issues/17328) +* **eks:** can't deploy with Bottlerocket amiType ([#17775](https://github.com/aws/aws-cdk/issues/17775)) ([b7be71c](https://github.com/aws/aws-cdk/commit/b7be71c55051916d3e1f7b09b8d178fa8783eae4)), closes [#17641](https://github.com/aws/aws-cdk/issues/17641) [#17641](https://github.com/aws/aws-cdk/issues/17641) +* **eks:** cannot customize alb controller repository and version ([#18081](https://github.com/aws/aws-cdk/issues/18081)) ([e4256c8](https://github.com/aws/aws-cdk/commit/e4256c8f36e49aedb7b9f9b91fb4a88a031bdb49)), closes [#18054](https://github.com/aws/aws-cdk/issues/18054) +* **eks:** the `defaultChild` of a `KubernetesManifest` is not a `CfnResource` ([#18052](https://github.com/aws/aws-cdk/issues/18052)) ([ef8ab72](https://github.com/aws/aws-cdk/commit/ef8ab7245630f54b5a633925e27b34c31b712abc)) +* **events:** event bus name only generated if no props passed ([#18153](https://github.com/aws/aws-cdk/issues/18153)) ([9b81662](https://github.com/aws/aws-cdk/commit/9b81662a2b281443502bbb4e8a98d9f1087388d7)), closes [#18070](https://github.com/aws/aws-cdk/issues/18070) +* **lambda:** imported Function still has region and account from its Stack, instead of its ARN ([#18255](https://github.com/aws/aws-cdk/issues/18255)) ([01bbe4c](https://github.com/aws/aws-cdk/commit/01bbe4ca6c38ca7fe2239f8885bbec5ab537c9ad)), closes [#18228](https://github.com/aws/aws-cdk/issues/18228) +* **logs:** respect region when importing log group ([#18215](https://github.com/aws/aws-cdk/issues/18215)) ([be909bc](https://github.com/aws/aws-cdk/commit/be909bc90822db947ec0a932621709d0cb07e50e)), closes [#18214](https://github.com/aws/aws-cdk/issues/18214) +* **opensearchservice:** imported domain's `domainendpoint` is a url not an endpoint ([#18027](https://github.com/aws/aws-cdk/issues/18027)) ([fd149b1](https://github.com/aws/aws-cdk/commit/fd149b1e6557337b01d2232e2ba0fd410ba903dd)), closes [#18017](https://github.com/aws/aws-cdk/issues/18017) +* **pipelines:** can't use exports from very long stack names ([#18039](https://github.com/aws/aws-cdk/issues/18039)) ([465dabf](https://github.com/aws/aws-cdk/commit/465dabf34ed86e3c4367cb28313955cead44ecdd)), closes [#17436](https://github.com/aws/aws-cdk/issues/17436) +* **rds:** unable to use tokens as port in `DatabaseInstance` ([#17995](https://github.com/aws/aws-cdk/issues/17995)) ([0745193](https://github.com/aws/aws-cdk/commit/0745193e4c18ecb118ba3330a380f7474b527a2b)), closes [#17948](https://github.com/aws/aws-cdk/issues/17948) +* **region-info:** ssm service principal - fix more regions ([#18135](https://github.com/aws/aws-cdk/issues/18135)) ([ed30c44](https://github.com/aws/aws-cdk/commit/ed30c4459666840a5c0396e943916e67c76b7135)), closes [#16188](https://github.com/aws/aws-cdk/issues/16188) +* **region-info:** ssm service principal is wrong in majority of regions ([#17984](https://github.com/aws/aws-cdk/issues/17984)) ([77144f5](https://github.com/aws/aws-cdk/commit/77144f5a1072feea7409b4222fbc80bd2bc86e71)), closes [#16188](https://github.com/aws/aws-cdk/issues/16188) [#17646](https://github.com/aws/aws-cdk/issues/17646) +* **route53:** support multiple cross account DNS delegations ([#17837](https://github.com/aws/aws-cdk/issues/17837)) ([76b5c0d](https://github.com/aws/aws-cdk/commit/76b5c0d12e1e692efcf6a557ee4ddb6df3709e4d)), closes [#17836](https://github.com/aws/aws-cdk/issues/17836) +* ResponseURL is logged by S3Deployment ([#18048](https://github.com/aws/aws-cdk/issues/18048)) ([ed19828](https://github.com/aws/aws-cdk/commit/ed19828e64d2bcd1be950f3e989ec2d14ad244a7)) + + +### Reverts + +* **cfnspec:** add CloudFormation documentation to L1 classes ([#18177](https://github.com/aws/aws-cdk/issues/18177)) ([2530016](https://github.com/aws/aws-cdk/commit/253001685990e19fd23f9aa2205615f2f3e3c508)) + +## [2.3.0](https://github.com/aws/aws-cdk/compare/v2.2.0...v2.3.0) (2021-12-22) + +## [2.2.0](https://github.com/aws/aws-cdk/compare/v2.1.0...v2.2.0) (2021-12-15) + + +### Features + +* **apigateway:** add option to set the base path when adding a domain name to a Rest API ([#17915](https://github.com/aws/aws-cdk/issues/17915)) ([9af5b4d](https://github.com/aws/aws-cdk/commit/9af5b4dba57e816754673fc11a1246d6d4215c5e)) +* **aws-applicationautoscaling:** Allow autoscaling with "M out of N" datapoints ([#17441](https://github.com/aws/aws-cdk/issues/17441)) ([c21320d](https://github.com/aws/aws-cdk/commit/c21320d32a22b9bd5f202acbdd2626ba4d90fbca)), closes [#17433](https://github.com/aws/aws-cdk/issues/17433) +* **aws-applicationautoscaling:** enabling autoscaling for ElastiCache Redis cluster ([#17919](https://github.com/aws/aws-cdk/issues/17919)) ([7f54ed6](https://github.com/aws/aws-cdk/commit/7f54ed667607025666c714299036a6ca770065c9)) +* **aws-ecs:** expose environment from containerDefinition ([#17889](https://github.com/aws/aws-cdk/issues/17889)) ([4937cd0](https://github.com/aws/aws-cdk/commit/4937cd0d0057d7d389809f4c4ef56fc6020a954f)), closes [#17867](https://github.com/aws/aws-cdk/issues/17867) +* **aws-s3:** add support for BucketOwnerEnforced to S3 ObjectOwnershipType ([#17961](https://github.com/aws/aws-cdk/issues/17961)) ([93fafc5](https://github.com/aws/aws-cdk/commit/93fafc5c93f0a8a0a05f4c261df3918256f71e5e)), closes [#17926](https://github.com/aws/aws-cdk/issues/17926) +* **cfnspec:** cloudformation spec v50.0.0 ([#17844](https://github.com/aws/aws-cdk/issues/17844)) ([cd3f24e](https://github.com/aws/aws-cdk/commit/cd3f24ec2a928e62ec538827860f936e650e8798)), closes [#17840](https://github.com/aws/aws-cdk/issues/17840) [#17858](https://github.com/aws/aws-cdk/issues/17858) +* **cfnspec:** cloudformation spec v51.0.0 ([#17955](https://github.com/aws/aws-cdk/issues/17955)) ([c6b7a49](https://github.com/aws/aws-cdk/commit/c6b7a496122ef2e03ccc267e2cccf03ab439fdc7)), closes [#17943](https://github.com/aws/aws-cdk/issues/17943) +* **cli:** Hotswapping Support for S3 Bucket Deployments ([#17638](https://github.com/aws/aws-cdk/issues/17638)) ([1df478b](https://github.com/aws/aws-cdk/commit/1df478b9777afcdb5401df6c4a1a9708849dca42)) +* **ec2:** add d3 and d3en instances ([#17782](https://github.com/aws/aws-cdk/issues/17782)) ([8b52196](https://github.com/aws/aws-cdk/commit/8b52196d9971f0925acedf067150e1c465be7a1e)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** add high memory instances u-6tb1, u-9tb1, u-12tb1, u-18tb1, and u-24tb1 ([#17964](https://github.com/aws/aws-cdk/issues/17964)) ([5497525](https://github.com/aws/aws-cdk/commit/54975259fc2425e43cbdcb99f82341d7c0d0aa47)) +* **ec2:** add im4gn and is4gen instances ([#17780](https://github.com/aws/aws-cdk/issues/17780)) ([e057c8f](https://github.com/aws/aws-cdk/commit/e057c8fffd32d5e0ad70880f96a2adc5e1b28eea)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** add vpcName property to the VPC ([#17940](https://github.com/aws/aws-cdk/issues/17940)) ([794e7cd](https://github.com/aws/aws-cdk/commit/794e7cd63c83aac3c6ace933f4d953fea0b909ad)) +* **ec2:** propagate EC2 tags to volumes ([#17840](https://github.com/aws/aws-cdk/issues/17840)) ([42cf186](https://github.com/aws/aws-cdk/commit/42cf1861c1b493be7fd5ec0d6d7e8fc64987cacd)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) [#17844](https://github.com/aws/aws-cdk/issues/17844) +* **lambda:** add cloudwatch lambda insights arm support ([#17665](https://github.com/aws/aws-cdk/issues/17665)) ([02749b4](https://github.com/aws/aws-cdk/commit/02749b43d5169b973e543100c5a7b0c2df04ce2b)), closes [#17133](https://github.com/aws/aws-cdk/issues/17133) + + +### Bug Fixes + +* **apigateway:** dataTraceEnabled does not default to false ([#17906](https://github.com/aws/aws-cdk/issues/17906)) ([cc3bb1f](https://github.com/aws/aws-cdk/commit/cc3bb1f1bdd1b71be41393b40353e4a103c71cf8)) +* **appmesh:** adding support with gateway route priority ([#17694](https://github.com/aws/aws-cdk/issues/17694)) ([a61576f](https://github.com/aws/aws-cdk/commit/a61576fd43fdcca44e364fc6bfa017c8aef3fc07)), closes [#16821](https://github.com/aws/aws-cdk/issues/16821) +* **assets:** remove the original-path metadata ([#17901](https://github.com/aws/aws-cdk/issues/17901)) ([2b759ca](https://github.com/aws/aws-cdk/commit/2b759caddc16de9fcb41c3a0941c21ef94647cb3)), closes [#17706](https://github.com/aws/aws-cdk/issues/17706) +* **aws-autoscaling:** notificationTargetArn should be optional in LifecycleHook ([#16187](https://github.com/aws/aws-cdk/issues/16187)) ([4e7a275](https://github.com/aws/aws-cdk/commit/4e7a2758eec6999aee5432b3e9e6bbe7626a2d6b)), closes [#14641](https://github.com/aws/aws-cdk/issues/14641) +* **aws-cdk-migration:** Construct imports not rewritten ([#17931](https://github.com/aws/aws-cdk/issues/17931)) ([f02fcb4](https://github.com/aws/aws-cdk/commit/f02fcb4cf49e6d34f0038c4baf120ccc8dff2abe)), closes [#17826](https://github.com/aws/aws-cdk/issues/17826) +* **aws-lambda-nodejs:** use closest lockfile when autodetecting ([#16629](https://github.com/aws/aws-cdk/issues/16629)) ([c4ecd96](https://github.com/aws/aws-cdk/commit/c4ecd9636087332d8ae9bc5e120d890e8c677f35)), closes [#15847](https://github.com/aws/aws-cdk/issues/15847) [40aws-cdk/aws-lambda-nodejs/lib/function.ts#L137-L139](https://github.com/40aws-cdk/aws-lambda-nodejs/lib/function.ts/issues/L137-L139) [/github.com/aws/aws-cdk/issues/15847#issuecomment-903830384](https://github.com/aws//github.com/aws/aws-cdk/issues/15847/issues/issuecomment-903830384) +* **cli:** asset publishing broken cross account ([#18007](https://github.com/aws/aws-cdk/issues/18007)) ([2fc6895](https://github.com/aws/aws-cdk/commit/2fc68954cfbc3c65694e767b00a2318f9cc4a501)), closes [#17668](https://github.com/aws/aws-cdk/issues/17668) [#17988](https://github.com/aws/aws-cdk/issues/17988) +* **cli:** hotswapping StateMachines with a name fails ([#17892](https://github.com/aws/aws-cdk/issues/17892)) ([de67aae](https://github.com/aws/aws-cdk/commit/de67aae18cfed2694e9002a10e739a56f294040f)), closes [#17716](https://github.com/aws/aws-cdk/issues/17716) +* **codepipeline:** default cross-region S3 buckets allow public access ([#17722](https://github.com/aws/aws-cdk/issues/17722)) ([0b80db5](https://github.com/aws/aws-cdk/commit/0b80db54e92fb5bc0e106093b2f363f9926bd5bd)), closes [#16411](https://github.com/aws/aws-cdk/issues/16411) +* **cognito:** remove invalid SES region check ([#17868](https://github.com/aws/aws-cdk/issues/17868)) ([450f7ca](https://github.com/aws/aws-cdk/commit/450f7ca695f5f0bab758c31f3fd8390649adce51)), closes [#17795](https://github.com/aws/aws-cdk/issues/17795) +* **custom-resources:** assumedRole from AwsCustomResource invocation leaked to next execution ([#15776](https://github.com/aws/aws-cdk/issues/15776)) ([e138188](https://github.com/aws/aws-cdk/commit/e13818854c89591606ac74496969b841f6a1fa8e)), closes [#15425](https://github.com/aws/aws-cdk/issues/15425) +* **iam:** AWS Managed Policy ARNs are not deduped ([#17623](https://github.com/aws/aws-cdk/issues/17623)) ([ed4a4b4](https://github.com/aws/aws-cdk/commit/ed4a4b4b70e72e3fa9a76af871d1d1e84447140a)), closes [#17552](https://github.com/aws/aws-cdk/issues/17552) +* **logs:** log retention fails with OperationAbortedException ([#17688](https://github.com/aws/aws-cdk/issues/17688)) ([95b8da9](https://github.com/aws/aws-cdk/commit/95b8da94a1880d8c34cab80c9b484307260047d9)), closes [#17546](https://github.com/aws/aws-cdk/issues/17546) + +## [2.1.0](https://github.com/aws/aws-cdk/compare/v2.0.0...v2.1.0) (2021-12-08) + + +### Features + +* **apigateway:** step functions integration ([#16827](https://github.com/aws/aws-cdk/issues/16827)) ([cb31547](https://github.com/aws/aws-cdk/commit/cb3154789da52b94e4688d645adba87ef2ebf39f)), closes [#15081](https://github.com/aws/aws-cdk/issues/15081) +* **assertions:** major improvements to the capture feature ([#17713](https://github.com/aws/aws-cdk/issues/17713)) ([9a67ce7](https://github.com/aws/aws-cdk/commit/9a67ce7a1792a111e7668cbc7b7f0799314bd7d6)), closes [#17009](https://github.com/aws/aws-cdk/issues/17009) +* **aws-s3-deployment:** log retention option ([#17779](https://github.com/aws/aws-cdk/issues/17779)) ([b60dc63](https://github.com/aws/aws-cdk/commit/b60dc63f99ede0cfaa859cdef33a6f4ddd2d1d25)) +* **backup:** enable WindowsVss Backup ([#15934](https://github.com/aws/aws-cdk/issues/15934)) ([12fcb18](https://github.com/aws/aws-cdk/commit/12fcb18212c8d9e74f5292b07f42ce24cd7b02b3)), closes [#14803](https://github.com/aws/aws-cdk/issues/14803) [#14891](https://github.com/aws/aws-cdk/issues/14891) +* **cfnspec:** cloudformation spec v49.0.0 ([#17727](https://github.com/aws/aws-cdk/issues/17727)) ([7e0c9a3](https://github.com/aws/aws-cdk/commit/7e0c9a341e2bc2837d5c5d671339fe968714d9ce)) +* **cloudfront:** Add support for response headers policy ([#17359](https://github.com/aws/aws-cdk/issues/17359)) ([ea0acff](https://github.com/aws/aws-cdk/commit/ea0acff28c3f64c9511fdd580f52211df9460a45)), closes [#17290](https://github.com/aws/aws-cdk/issues/17290) +* **cognito:** user pool: adds custom sender (Email/SMS) lambda triggers ([#17740](https://github.com/aws/aws-cdk/issues/17740)) ([7f45de4](https://github.com/aws/aws-cdk/commit/7f45de4ba3cdf99846ca1966549b1630929aebbe)) +* **core:** add applyRemovalPolicy to IResource ([#17746](https://github.com/aws/aws-cdk/issues/17746)) ([d64057f](https://github.com/aws/aws-cdk/commit/d64057f9462f8261f61795c6584d21ef56a9be34)), closes [#17728](https://github.com/aws/aws-cdk/issues/17728) +* **custom-resources:** fixed Lambda function name ([#17670](https://github.com/aws/aws-cdk/issues/17670)) ([5710fe5](https://github.com/aws/aws-cdk/commit/5710fe5a80cd4cc6ef415ec624a3399e86a3e603)) +* **docdb:** implement audit and profiler logs ([#17570](https://github.com/aws/aws-cdk/issues/17570)) ([4982aca](https://github.com/aws/aws-cdk/commit/4982aca6f95ca864a285ed9955a9618a20ca0415)), closes [#17478](https://github.com/aws/aws-cdk/issues/17478) +* **ec2:** add g5g instances ([#17765](https://github.com/aws/aws-cdk/issues/17765)) ([1799f7e](https://github.com/aws/aws-cdk/commit/1799f7e08d06b8846c9918f1cb130f20570a99be)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** add m5zn instances ([#17757](https://github.com/aws/aws-cdk/issues/17757)) ([845be10](https://github.com/aws/aws-cdk/commit/845be1012593a9f28457c73c9054bd98ea44d659)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** add m6a instances ([#17764](https://github.com/aws/aws-cdk/issues/17764)) ([b06f120](https://github.com/aws/aws-cdk/commit/b06f120916acd63293c020eef368401b4428ce0a)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** add mac1 instance ([#17677](https://github.com/aws/aws-cdk/issues/17677)) ([88a5204](https://github.com/aws/aws-cdk/commit/88a5204a295874e3cffcc041469d8fffbd32b57d)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) [40aws-cdk/aws-ec2/lib/instance-types.ts#L573](https://github.com/40aws-cdk/aws-ec2/lib/instance-types.ts/issues/L573) +* **ec2:** add r6i instances ([#17663](https://github.com/aws/aws-cdk/issues/17663)) ([0138292](https://github.com/aws/aws-cdk/commit/01382921f979b944df1917964f080ce311e99ad2)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** add vt1 instances ([#17756](https://github.com/aws/aws-cdk/issues/17756)) ([245c059](https://github.com/aws/aws-cdk/commit/245c059eabf59d0fb0b352dac5e49d5ab4ef9ee2)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** explicit mapPublicIpOnLaunch configuration for public subnets ([#17346](https://github.com/aws/aws-cdk/issues/17346)) ([a1685c6](https://github.com/aws/aws-cdk/commit/a1685c62071846d41eb47234fbf2c94884453c17)) +* **ec2:** extend BastionHostLinux to support CloudFormationInit ([#17507](https://github.com/aws/aws-cdk/issues/17507)) ([c62377e](https://github.com/aws/aws-cdk/commit/c62377e14caae677deb7e4eae692eaccb2020c67)) +* **ecs-service-extensions:** Auto scaling for Queue Extension ([#17430](https://github.com/aws/aws-cdk/issues/17430)) ([df7b9b4](https://github.com/aws/aws-cdk/commit/df7b9b41bd99534abb8a6becccc23320a3b6cb41)) +* **iam:** support `fromGroupName()` for IAM groups ([#17243](https://github.com/aws/aws-cdk/issues/17243)) ([29b379c](https://github.com/aws/aws-cdk/commit/29b379cdc49dd396f793782b91d3eca215446a48)) +* **lambda:** function construct exposes configured timeout ([#17594](https://github.com/aws/aws-cdk/issues/17594)) ([87fd60f](https://github.com/aws/aws-cdk/commit/87fd60f047e9f1994459de874b54e901d1871e6e)) +* **lambda-event-sources:** sqs: support reportBatchItemFailures ([#17733](https://github.com/aws/aws-cdk/issues/17733)) ([3623982](https://github.com/aws/aws-cdk/commit/3623982fc1a64c2c67a0dba18a6d3eeeb171e898)), closes [#17690](https://github.com/aws/aws-cdk/issues/17690) +* **rds:** parameter group for replica instances ([#17822](https://github.com/aws/aws-cdk/issues/17822)) ([b606a23](https://github.com/aws/aws-cdk/commit/b606a2321769d5e8f15072a62848aaba35bb1d35)), closes [#17580](https://github.com/aws/aws-cdk/issues/17580) +* **s3:** add GLACIER_IR storage class ([#17829](https://github.com/aws/aws-cdk/issues/17829)) ([c291c44](https://github.com/aws/aws-cdk/commit/c291c4427480472402ef6b0a7c854ac38505ae97)) +* **s3:** support Transfer Acceleration ([#17636](https://github.com/aws/aws-cdk/issues/17636)) ([b432822](https://github.com/aws/aws-cdk/commit/b432822ae45e329a900293eb43712fa4a1d74aa5)), closes [#12570](https://github.com/aws/aws-cdk/issues/12570) +* **secretsmanager:** support secrets rotation in GovCloud ([#17673](https://github.com/aws/aws-cdk/issues/17673)) ([a01678b](https://github.com/aws/aws-cdk/commit/a01678b838a7feb2bde40c435c6c585473d35b22)), closes [#14608](https://github.com/aws/aws-cdk/issues/14608) +* **stepfunctions-tasks:** add 'Emr on Eks' tasks ([#17103](https://github.com/aws/aws-cdk/issues/17103)) ([f2bf322](https://github.com/aws/aws-cdk/commit/f2bf322e043ced0193a1b47ae4abd370b095ec1c)), closes [#15262](https://github.com/aws/aws-cdk/issues/15262) [#15234](https://github.com/aws/aws-cdk/issues/15234) + + +### Bug Fixes + +* **aws-cdk:** `cdk diff` always fails on diff ([#17862](https://github.com/aws/aws-cdk/issues/17862)) ([6bb4a46](https://github.com/aws/aws-cdk/commit/6bb4a46792d0b9665e4a72896869a063e8fa1af9)), closes [#4721](https://github.com/aws/aws-cdk/issues/4721) +* **aws-ec2:** imported VPC subnets never recognized as PRIVATE_ISOLATED ([#17496](https://github.com/aws/aws-cdk/issues/17496)) ([ba6a8ef](https://github.com/aws/aws-cdk/commit/ba6a8efc65288bd96ebf004d81026ab61485ff06)) +* **aws-elasticloadbalancingv2:** Set stickiness.enabled unless target type is lambda ([#17271](https://github.com/aws/aws-cdk/issues/17271)) ([168a98f](https://github.com/aws/aws-cdk/commit/168a98fb213184dfef29ae38b986704b5abeb99e)), closes [#17261](https://github.com/aws/aws-cdk/issues/17261) +* **cli:** S3 asset uploads are rejected by commonly referenced encryption SCP (introduces bootstrap stack v9) ([#17668](https://github.com/aws/aws-cdk/issues/17668)) ([8191f1f](https://github.com/aws/aws-cdk/commit/8191f1f1d4072feeba74844a31c942909cee7d83)), closes [#11265](https://github.com/aws/aws-cdk/issues/11265) +* **codepipeline:** cannot trigger on all tags anymore in EcrSourceAction ([#17270](https://github.com/aws/aws-cdk/issues/17270)) ([39fe11b](https://github.com/aws/aws-cdk/commit/39fe11bc1b0d12920111331dca560150006a0733)), closes [aws#13818](https://github.com/aws/aws/issues/13818) [aws#13818](https://github.com/aws/aws/issues/13818) +* **codepipeline:** cross-env pipeline cannot be created in `Stage` ([#17730](https://github.com/aws/aws-cdk/issues/17730)) ([f17f29e](https://github.com/aws/aws-cdk/commit/f17f29e94265eb450d8f11bdbdbe719f3e511ea2)), closes [#17643](https://github.com/aws/aws-cdk/issues/17643) +* **core:** bundling skipped with --exclusively option and stacks under stage ([#17210](https://github.com/aws/aws-cdk/issues/17210)) ([cda6601](https://github.com/aws/aws-cdk/commit/cda66013afa6f8aa16d802bb2ab08dab1e5124cf)), closes [#12898](https://github.com/aws/aws-cdk/issues/12898) [#15346](https://github.com/aws/aws-cdk/issues/15346) +* **docdb:** secret rotation ignores excluded characters in password ([#17609](https://github.com/aws/aws-cdk/issues/17609)) ([1fe2215](https://github.com/aws/aws-cdk/commit/1fe2215dc40eb58f1babc2c3fbca501a5e89b09f)), closes [#17347](https://github.com/aws/aws-cdk/issues/17347) [#17575](https://github.com/aws/aws-cdk/issues/17575) +* **dynamodb:** add missing DynamoDB operations to enum ([#17738](https://github.com/aws/aws-cdk/issues/17738)) ([f38e0ac](https://github.com/aws/aws-cdk/commit/f38e0ac5b90bd83630a5a602e9ada2556689d826)) +* **dynamodb:** changing `waitForReplicationToFinish` fails deployment ([#17842](https://github.com/aws/aws-cdk/issues/17842)) ([36b8fdb](https://github.com/aws/aws-cdk/commit/36b8fdb026c7e82eb590c1a8d604ca3b44642900)), closes [#16983](https://github.com/aws/aws-cdk/issues/16983) +* **ecs-patterns:** removeDefaultDesiredCount feature flag not expired properly ([#17865](https://github.com/aws/aws-cdk/issues/17865)) ([7fb639a](https://github.com/aws/aws-cdk/commit/7fb639af1d9fa3c0d910df6d3af21aac6aaff5eb)) +* **lambda:** recognizeVersionProps featureFlag not defaulting correctly ([#17866](https://github.com/aws/aws-cdk/issues/17866)) ([f19fc39](https://github.com/aws/aws-cdk/commit/f19fc39032696ce133fc55aad0d058f616d9f9f8)), closes [#17810](https://github.com/aws/aws-cdk/issues/17810) +* **lambda-nodejs:** bundling fails with a file dependency in `nodeModules` ([#17851](https://github.com/aws/aws-cdk/issues/17851)) ([5737c33](https://github.com/aws/aws-cdk/commit/5737c336b3a2d7942196ffcad9291b4af6a23375)), closes [#17830](https://github.com/aws/aws-cdk/issues/17830) +* **lambda-nodejs:** bundling with `nodeModules` fails with paths containing spaces ([#17632](https://github.com/aws/aws-cdk/issues/17632)) ([986f291](https://github.com/aws/aws-cdk/commit/986f291a51cee46299428298ca6b39a9636d6dd2)), closes [#17631](https://github.com/aws/aws-cdk/issues/17631) +* **pipelines:** stack outputs used in stackSteps not recognized ([#17311](https://github.com/aws/aws-cdk/issues/17311)) ([5e4a219](https://github.com/aws/aws-cdk/commit/5e4a21959e67ff967d163fce6b0405a053bafdc2)), closes [#17272](https://github.com/aws/aws-cdk/issues/17272) +* **stepfunctions:** prefixes not appended to states in parallel branches ([#17806](https://github.com/aws/aws-cdk/issues/17806)) ([a1da772](https://github.com/aws/aws-cdk/commit/a1da77272fa35b9722694557a4d5bdc83e2ad834)), closes [#17354](https://github.com/aws/aws-cdk/issues/17354) + +## [2.0.0](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.33...v2.0.0) (2021-12-02) + + +### Features + +* aws-cdk-lib is now stable! ([fa2ecc9](https://github.com/aws/aws-cdk/commit/fa2ecc971cd756ea0cbf2dace64076ce964f88bc)) + +## [2.0.0-rc.33](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.32...v2.0.0-rc.33) (2021-11-26) + +## [2.0.0-rc.32](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.31...v2.0.0-rc.32) (2021-11-25) + +## [2.0.0-rc.31](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.30...v2.0.0-rc.31) (2021-11-23) + + +### Features + +* **assertions:** support assertions over nested stacks ([#16972](https://github.com/aws/aws-cdk/issues/16972)) ([bde44e7](https://github.com/aws/aws-cdk/commit/bde44e7a767b88762ecb1370e605e6e5dfc85b52)) +* **aws-eks:** support bottlerocket managed nodegroup ([#17323](https://github.com/aws/aws-cdk/issues/17323)) ([2e6a1a9](https://github.com/aws/aws-cdk/commit/2e6a1a941dc37fdb0cffd79af4887be182eaacd1)) +* **cfnspec:** cloudformation spec v48.0.0 ([#17484](https://github.com/aws/aws-cdk/issues/17484)) ([6e8de96](https://github.com/aws/aws-cdk/commit/6e8de96c401c1a019742490850b43e398b561a62)) +* **cfnspec:** cloudformation spec v49.0.0 ([#17585](https://github.com/aws/aws-cdk/issues/17585)) ([d44d0e7](https://github.com/aws/aws-cdk/commit/d44d0e7d06bf3b420adae320e0fae4123d731451)) +* **cfnspec:** cloudformation spec v49.0.0 ([#17621](https://github.com/aws/aws-cdk/issues/17621)) ([ce638b4](https://github.com/aws/aws-cdk/commit/ce638b407ac9efc6a3ee4d5ecd22c68ab68b8e58)) +* **cognito:** user pool: send emails using Amazon SES ([#17117](https://github.com/aws/aws-cdk/issues/17117)) ([503720f](https://github.com/aws/aws-cdk/commit/503720ffb90c67ac1a3a0f80faeca87c0428f2d3)), closes [#6768](https://github.com/aws/aws-cdk/issues/6768) +* **docdb:** add option to set the name of the generated Secret ([#17574](https://github.com/aws/aws-cdk/issues/17574)) ([18c9ef7](https://github.com/aws/aws-cdk/commit/18c9ef713717fcb2f84e687c1e34c887a50264bd)), closes [#17572](https://github.com/aws/aws-cdk/issues/17572) +* **ec2:** add G5 instances ([#17499](https://github.com/aws/aws-cdk/issues/17499)) ([eed70a0](https://github.com/aws/aws-cdk/commit/eed70a0bab1885b6293ae8db4dc41b7dfd8724d8)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** add m5n and m5dn instance types ([#17488](https://github.com/aws/aws-cdk/issues/17488)) ([df30d4f](https://github.com/aws/aws-cdk/commit/df30d4f7fa6c1a5c381411904526be17796f2103)) +* **ec2:** lookup security group by name ([#17246](https://github.com/aws/aws-cdk/issues/17246)) ([5bf0d07](https://github.com/aws/aws-cdk/commit/5bf0d074854ff90c5d9521f5d7f0fc9ff31c5eb5)), closes [#4241](https://github.com/aws/aws-cdk/issues/4241) +* **ec2:** vpc endpoints for codeguru ([#17498](https://github.com/aws/aws-cdk/issues/17498)) ([21c2d2b](https://github.com/aws/aws-cdk/commit/21c2d2b258f18f32c6adfbe9f3cdd3f7f2424551)), closes [#16788](https://github.com/aws/aws-cdk/issues/16788) +* **ecs:** Add SystemControls to ContainerDefinition ([#16970](https://github.com/aws/aws-cdk/issues/16970)) ([b12a2c6](https://github.com/aws/aws-cdk/commit/b12a2c68063c5739c81c032f32c82bb85c590053)), closes [#16025](https://github.com/aws/aws-cdk/issues/16025) +* **eks:** ALB Controller ([#17618](https://github.com/aws/aws-cdk/issues/17618)) ([1faf31d](https://github.com/aws/aws-cdk/commit/1faf31d1ec7ffec4c6323a050126b0b054094c63)) +* **rds:** validate backup retention for read replica instances ([#17569](https://github.com/aws/aws-cdk/issues/17569)) ([9b2158b](https://github.com/aws/aws-cdk/commit/9b2158bf9228a876d8f434dd5e025dbb74dbe4d5)), closes [#17356](https://github.com/aws/aws-cdk/issues/17356) +* warn users when deprecated elements are used ([#17328](https://github.com/aws/aws-cdk/issues/17328)) ([3721358](https://github.com/aws/aws-cdk/commit/3721358fa1501e42b3514b8a8f15f05c9615f149)) +* **eks:** Allow passing of custom IAM role to Kube Ctl Lambda ([#17196](https://github.com/aws/aws-cdk/issues/17196)) ([8fa293a](https://github.com/aws/aws-cdk/commit/8fa293a79fc8957410637dfd3a4de2069dead36b)) +* **lambda:** singleton function: access runtime, log group and configure layers and environment ([#17372](https://github.com/aws/aws-cdk/issues/17372)) ([ec5b102](https://github.com/aws/aws-cdk/commit/ec5b102e560e241b21c63773817114fc44f7898a)) +* **stepfunctions-tasks:** Support `DynamoAttributeValue.listFromJsonPath` ([#17376](https://github.com/aws/aws-cdk/issues/17376)) ([bc10e6f](https://github.com/aws/aws-cdk/commit/bc10e6ffb6164c212336ada745923e91adb8fe05)), closes [#17375](https://github.com/aws/aws-cdk/issues/17375) + + +### Bug Fixes + +* **apigateway:** SAM CLI asset metadata missing from SpecRestApi ([#17293](https://github.com/aws/aws-cdk/issues/17293)) ([841cf99](https://github.com/aws/aws-cdk/commit/841cf990001dd64605873a65b8a155e37fc4541f)), closes [#14593](https://github.com/aws/aws-cdk/issues/14593) +* **assets:** add missing SAM asset metadata information ([#17591](https://github.com/aws/aws-cdk/issues/17591)) ([55df760](https://github.com/aws/aws-cdk/commit/55df760fdd9514384de019e5ce338d5250c7df97)), closes [#14593](https://github.com/aws/aws-cdk/issues/14593) +* **assets:** SAM asset metadata missing from log retention and custom resource provider functions ([#17551](https://github.com/aws/aws-cdk/issues/17551)) ([a90e959](https://github.com/aws/aws-cdk/commit/a90e959618fede4ea871bf5d36147a65f4ba9da8)) +* **autoscaling:** add timezone property to Scheduled Action ([#17330](https://github.com/aws/aws-cdk/issues/17330)) ([3154a58](https://github.com/aws/aws-cdk/commit/3154a58bfc5ae4b845994c7a0ab45771f5af4cd0)) +* **aws-codebuild:** add @aws-cdk/asserts to package deps ([#17435](https://github.com/aws/aws-cdk/issues/17435)) ([9c77e94](https://github.com/aws/aws-cdk/commit/9c77e941252ad16a2744577b6333ee5054302a30)) +* **aws-ecs:** check for invalid capacityProviderName ([#17291](https://github.com/aws/aws-cdk/issues/17291)) ([6e2fde4](https://github.com/aws/aws-cdk/commit/6e2fde452de73c51011ddb14ede40ca0471d3663)), closes [#17321](https://github.com/aws/aws-cdk/issues/17321) +* **aws-lambda-event-sources:** `Function.addEventSource` fails for `ManagedKafkaEventSource` typed parameters ([#17490](https://github.com/aws/aws-cdk/issues/17490)) ([a474ee8](https://github.com/aws/aws-cdk/commit/a474ee8fb6b708f4147122deeacb8fc13debaed4)) +* **aws-logs:** include new `policy.ts` exports in `index.ts` exports ([#17403](https://github.com/aws/aws-cdk/issues/17403)) ([a391468](https://github.com/aws/aws-cdk/commit/a39146840a10472c8afee71bf1a1cfc3cacb5f72)) +* **cli:** improve asset publishing times by up to 30% ([#17409](https://github.com/aws/aws-cdk/issues/17409)) ([40d6a48](https://github.com/aws/aws-cdk/commit/40d6a48eb31b09edf2ba0ea1b0a1e212156c1784)), closes [#17266](https://github.com/aws/aws-cdk/issues/17266) +* **cli:** skip bundling for the 'watch' command ([#17455](https://github.com/aws/aws-cdk/issues/17455)) ([af61b7f](https://github.com/aws/aws-cdk/commit/af61b7f2fec17d4f817e78db21d09d471d8e2baf)), closes [#17391](https://github.com/aws/aws-cdk/issues/17391) +* **cloudwatch:** render agnostic alarms in legacy style ([#17538](https://github.com/aws/aws-cdk/issues/17538)) ([7c50ef8](https://github.com/aws/aws-cdk/commit/7c50ef8de4cad7237b442c43460695518bfb1fdc)) +* **ec2:** Duplicate EIP when NatGatewayProps.eipAllocationIds is provided ([#17235](https://github.com/aws/aws-cdk/issues/17235)) ([050f6fa](https://github.com/aws/aws-cdk/commit/050f6fa74a3888fff2a495042c0ebad368775ab1)) +* **eks:** Allow specifying subnets in Pinger ([#17429](https://github.com/aws/aws-cdk/issues/17429)) ([6acee52](https://github.com/aws/aws-cdk/commit/6acee5219eef91ac3686f9b6722877cea5fff6e5)) +* **kinesis:** add required rights to trigger Lambda from Kinesis. Fixes issue [#17312](https://github.com/aws/aws-cdk/issues/17312). ([#17358](https://github.com/aws/aws-cdk/issues/17358)) ([0bfc15c](https://github.com/aws/aws-cdk/commit/0bfc15c991cc3373bc7c1b0cd1f5e9241398ac2c)) +* **lambda:** SAM CLI asset metadata missing from image Functions ([#17368](https://github.com/aws/aws-cdk/issues/17368)) ([f52d9bf](https://github.com/aws/aws-cdk/commit/f52d9bf13d2bb3c066ba227259a2d98a5947982b)) +* **NestedStack:** add asset metadata to NestedStack resources for local tooling ([#17343](https://github.com/aws/aws-cdk/issues/17343)) ([4ba40dc](https://github.com/aws/aws-cdk/commit/4ba40dcf275bbed0dbcca4cf6cf295edde5e9894)) +* **opensearch:** correctly validate ebs configuration against instance types ([#16911](https://github.com/aws/aws-cdk/issues/16911)) ([34af598](https://github.com/aws/aws-cdk/commit/34af5988b7c1ff003d10612150191803f762a79f)), closes [#11898](https://github.com/aws/aws-cdk/issues/11898) +* **s3-deployment:** updating memoryLimit or vpc results in stack update failure ([#17530](https://github.com/aws/aws-cdk/issues/17530)) ([2ba40d1](https://github.com/aws/aws-cdk/commit/2ba40d16e0e7e59cedc723dc4f9a9a615c313309)), closes [#7128](https://github.com/aws/aws-cdk/issues/7128) +* **sns-subscriptions:** enable cross region subscriptions to sqs and lambda ([#17273](https://github.com/aws/aws-cdk/issues/17273)) ([3cd8d48](https://github.com/aws/aws-cdk/commit/3cd8d481906fc4e3abdd1211908844e5b8bd2509)), closes [#7044](https://github.com/aws/aws-cdk/issues/7044) [#13707](https://github.com/aws/aws-cdk/issues/13707) +* **ssm:** fix service principals for all regions since ap-east-1 ([#17047](https://github.com/aws/aws-cdk/issues/17047)) ([5900548](https://github.com/aws/aws-cdk/commit/59005483ea1224a147db479471f541e2efb9ba23)), closes [#16188](https://github.com/aws/aws-cdk/issues/16188) + +## [2.0.0-rc.30](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.29...v2.0.0-rc.30) (2021-11-17) + +## [2.0.0-rc.29](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.28...v2.0.0-rc.29) (2021-11-10) + +## [2.0.0-rc.28](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.27...v2.0.0-rc.28) (2021-11-09) + + +### Features + +* **stepfunctions-tasks:** add `AutoTerminationPolicy` to `EmrCreateCluster` ([#16976](https://github.com/aws/aws-cdk/issues/16976)) ([27ad7d8](https://github.com/aws/aws-cdk/commit/27ad7d86824b6378d470cda7304e7ae89ebbebf4)) +* the assertions module is now stable! ([#17395](https://github.com/aws/aws-cdk/issues/17395)) ([ede5e22](https://github.com/aws/aws-cdk/commit/ede5e22da2e59218534c17c33a21cab98a3001a9)) +* **aws-route53-targets:** Support for Elastic Beanstalk environment URLs ([#16305](https://github.com/aws/aws-cdk/issues/16305)) ([bc07cb0](https://github.com/aws/aws-cdk/commit/bc07cb0e383aa64280a9c7f8ac4870d296830cf7)) +* **certificatemanager:** requesting private certificates issued by Private Certificate Authority ([#16315](https://github.com/aws/aws-cdk/issues/16315)) ([e26f5be](https://github.com/aws/aws-cdk/commit/e26f5befc2adedeb524fd263424c7920989b2288)), closes [#10076](https://github.com/aws/aws-cdk/issues/10076) +* **cfnspec:** cloudformation spec v46.0.0 ([#17223](https://github.com/aws/aws-cdk/issues/17223)) ([d9f7b58](https://github.com/aws/aws-cdk/commit/d9f7b58a91a625ffd9bc366767794a3101b0afeb)) +* **cfnspec:** cloudformation spec v46.0.0 ([#17334](https://github.com/aws/aws-cdk/issues/17334)) ([e0f1180](https://github.com/aws/aws-cdk/commit/e0f118046c4a0350bdd614fbff4b96ba7772402e)) +* **cfnspec:** cloudformation spec v47.0.0 ([#17350](https://github.com/aws/aws-cdk/issues/17350)) ([ea71b4e](https://github.com/aws/aws-cdk/commit/ea71b4ed7466d8799bde4fdd5adfed9fc8febb9c)), closes [#17290](https://github.com/aws/aws-cdk/issues/17290) [#17223](https://github.com/aws/aws-cdk/issues/17223) +* **cfnspec:** cloudformation spec v47.0.0 ([#17353](https://github.com/aws/aws-cdk/issues/17353)) ([7886607](https://github.com/aws/aws-cdk/commit/7886607528b0cb005fa1176803b2a45d3e948f48)) +* **cfnspec:** cloudformation spec v47.0.0 ([#17392](https://github.com/aws/aws-cdk/issues/17392)) ([7100d43](https://github.com/aws/aws-cdk/commit/7100d43ba7b9e9ce74fb64b33403aa8eaee63255)) +* **cli:** added `build` field to cdk.json ([#17176](https://github.com/aws/aws-cdk/issues/17176)) ([57ad1e0](https://github.com/aws/aws-cdk/commit/57ad1e087edef653d672c1426b920b12962f0f0f)) +* **cli:** deployment progress shows stack name ([#16604](https://github.com/aws/aws-cdk/issues/16604)) ([322cf10](https://github.com/aws/aws-cdk/commit/322cf10ef3257b9d20d898882a14de91110a0033)) +* **cli:** introduce the 'watch' command ([#17240](https://github.com/aws/aws-cdk/issues/17240)) ([0adc8b7](https://github.com/aws/aws-cdk/commit/0adc8b7e13011956929fc945e083f75edec16698)) +* **codebuild:** add fromEcrRepository to LinuxGpuBuildImage ([#17170](https://github.com/aws/aws-cdk/issues/17170)) ([7585680](https://github.com/aws/aws-cdk/commit/758568007bf82a97ed6edba3ef4717735b224bf9)), closes [#16500](https://github.com/aws/aws-cdk/issues/16500) +* **codepipeline:** add construct for registering custom Actions ([#17041](https://github.com/aws/aws-cdk/issues/17041)) ([c66ac89](https://github.com/aws/aws-cdk/commit/c66ac89f43d3d2cee2b5842c54dc00e14ccdd2f4)), closes [#17039](https://github.com/aws/aws-cdk/issues/17039) +* **core:** Docker tags can be prefixed ([#17028](https://github.com/aws/aws-cdk/issues/17028)) ([d298696](https://github.com/aws/aws-cdk/commit/d298696a7d8978296a34294484cea80f91ebe880)) +* **core:** subtract Durations ([#16734](https://github.com/aws/aws-cdk/issues/16734)) ([7a333b0](https://github.com/aws/aws-cdk/commit/7a333b018c9bb2430165177d3e65614cf1d66519)), closes [#16535](https://github.com/aws/aws-cdk/issues/16535) +* **docdb:** add the ability to exclude characters when generating passwords ([#17262](https://github.com/aws/aws-cdk/issues/17262)) ([135f7d3](https://github.com/aws/aws-cdk/commit/135f7d33db5e96c3af4a8691c13b419e7b14ceae)), closes [#15732](https://github.com/aws/aws-cdk/issues/15732) +* **ec2:** add c5ad instances ([#16428](https://github.com/aws/aws-cdk/issues/16428)) ([0318253](https://github.com/aws/aws-cdk/commit/0318253b423bb65ca7e6bf65411df767f2734296)) +* **ec2:** add c6i instances ([#17237](https://github.com/aws/aws-cdk/issues/17237)) ([25cea18](https://github.com/aws/aws-cdk/commit/25cea1807539a8d45f3f4ff8b775b3417387d6fe)), closes [/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2](https://github.com/aws//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html/issues/cfn-ec2) +* **ec2:** include p4d instance class ([#17147](https://github.com/aws/aws-cdk/issues/17147)) ([6e13adc](https://github.com/aws/aws-cdk/commit/6e13adc281722a491c0708954d7ed637ad45033b)) +* **ec2:** VPC endpoint for AWS Xray ([#16788](https://github.com/aws/aws-cdk/issues/16788)) ([c24af54](https://github.com/aws/aws-cdk/commit/c24af54946d3668afa596dbf2a776b7cf21f8a99)), closes [#16306](https://github.com/aws/aws-cdk/issues/16306) +* **ecs-service-extensions:** Target tracking policies for Service Extensions ([#17101](https://github.com/aws/aws-cdk/issues/17101)) ([6420b18](https://github.com/aws/aws-cdk/commit/6420b1817d4319924d11cfccb8b6a29d4a2d5008)) +* **eks:** expose FargateCluster's defaultProfile ([#17130](https://github.com/aws/aws-cdk/issues/17130)) ([e461601](https://github.com/aws/aws-cdk/commit/e4616010c1915206758be3bf4cd6da9f14d2101a)), closes [#16149](https://github.com/aws/aws-cdk/issues/16149) +* **events:** DLQ support for EventBus target ([#16383](https://github.com/aws/aws-cdk/issues/16383)) ([dbb3f25](https://github.com/aws/aws-cdk/commit/dbb3f25904403bfc020a081e94270f5c16a7606f)), closes [#15954](https://github.com/aws/aws-cdk/issues/15954) +* **lambda-nodejs:** add sourcesContent in BundlingOptions ([#17280](https://github.com/aws/aws-cdk/issues/17280)) ([ea56e69](https://github.com/aws/aws-cdk/commit/ea56e6925422ebb987dbd87952511f23832ac7b6)), closes [#17256](https://github.com/aws/aws-cdk/issues/17256) +* **lambda-nodejs:** custom asset hash ([#16412](https://github.com/aws/aws-cdk/issues/16412)) ([90da730](https://github.com/aws/aws-cdk/commit/90da730244513f9614604f6be3a77adbb6b17f79)), closes [#16157](https://github.com/aws/aws-cdk/issues/16157) +* **lambda-nodejs:** esbuild charset option ([#16726](https://github.com/aws/aws-cdk/issues/16726)) ([56033a2](https://github.com/aws/aws-cdk/commit/56033a2a6d4be0444694d9f88260c574a4fa1a1d)), closes [#16668](https://github.com/aws/aws-cdk/issues/16668) +* **lambda-nodejs:** typescript emitDecoratorMetadata support ([#16543](https://github.com/aws/aws-cdk/issues/16543)) ([55d3c50](https://github.com/aws/aws-cdk/commit/55d3c507707192d7aa5ea4a38ee0d1cb58f07e06)), closes [#13767](https://github.com/aws/aws-cdk/issues/13767) +* **logs:** add support for cloudwatch logs resource policy ([#17015](https://github.com/aws/aws-cdk/issues/17015)) ([e9a461d](https://github.com/aws/aws-cdk/commit/e9a461d6dcbad933fcb9d671a8c5b5ad8f5ece8d)), closes [#5343](https://github.com/aws/aws-cdk/issues/5343) [aws-cdk/aws-elasticsearch/lib/log-group-resource-policy.ts#L25](https://github.com/aws-cdk/aws-elasticsearch/lib/log-group-resource-policy.ts/issues/L25) [aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts#L26](https://github.com/aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts/issues/L26) [aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts#L26](https://github.com/aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts/issues/L26) [#5343](https://github.com/aws/aws-cdk/issues/5343) +* **rds:** support backtrackWindow in DatabaseCluster ([#17160](https://github.com/aws/aws-cdk/issues/17160)) ([fcd17e9](https://github.com/aws/aws-cdk/commit/fcd17e9c9a9e1b83a29c140d558f696c0290bfd7)), closes [#9369](https://github.com/aws/aws-cdk/issues/9369) [#9369](https://github.com/aws/aws-cdk/issues/9369) +* **sns:** addSubscription returns the created Subscription ([#16785](https://github.com/aws/aws-cdk/issues/16785)) ([62f389e](https://github.com/aws/aws-cdk/commit/62f389ea0522cbaefca5ca17080228031d401ce6)) + + +### Bug Fixes + +* **cli:** `wmic not found` on modern Windows systems ([#17070](https://github.com/aws/aws-cdk/issues/17070)) ([332ce4d](https://github.com/aws/aws-cdk/commit/332ce4d9ae995bd1336fef13e2c7f9fc0c12f34d)), closes [#16419](https://github.com/aws/aws-cdk/issues/16419) +* **cli:** cdk ls --long outputs less-friendly stack IDs for nested assemblies ([#17263](https://github.com/aws/aws-cdk/issues/17263)) ([864c50e](https://github.com/aws/aws-cdk/commit/864c50ed2f3ae133af0cffd17ed77a6cf32ac6f4)), closes [#14379](https://github.com/aws/aws-cdk/issues/14379) +* **cli:** downgrade bootstrap stack error message needs a hint for new-style synthesis ([#16237](https://github.com/aws/aws-cdk/issues/16237)) ([e55301b](https://github.com/aws/aws-cdk/commit/e55301b635374a87822f78870981a9e06e13d99e)) +* **codecommit:** notifyOnPullRequestMerged method has a typo in its name ([#17348](https://github.com/aws/aws-cdk/issues/17348)) ([cac5726](https://github.com/aws/aws-cdk/commit/cac572620210a435f679cf7d7d9f8b6e733b340c)) +* **opensearch:** domain doesn't handle tokens in capacity configuration ([#17131](https://github.com/aws/aws-cdk/issues/17131)) ([2627939](https://github.com/aws/aws-cdk/commit/2627939108a2e979e385bf2942da1c05d48c678c)), closes [#15014](https://github.com/aws/aws-cdk/issues/15014) +* java and python templates are broken ([#17357](https://github.com/aws/aws-cdk/issues/17357)) ([5f6d550](https://github.com/aws/aws-cdk/commit/5f6d550677d1998a5a2720aabbff1ed2c3815aeb)) +* **aws-eks:** proxy support and allow assigning a security group to all cluster handler functions ([#17200](https://github.com/aws/aws-cdk/issues/17200)) ([7bbd10d](https://github.com/aws/aws-cdk/commit/7bbd10deb322daf8ef1504ceb84ad3c895f291ae)), closes [40aws-cdk/aws-eks/lib/cluster-resource-provider.ts#L69-L96](https://github.com/40aws-cdk/aws-eks/lib/cluster-resource-provider.ts/issues/L69-L96) [/github.com/aws/aws-cdk/issues/12469#issuecomment-758674418](https://github.com/aws//github.com/aws/aws-cdk/issues/12469/issues/issuecomment-758674418) [40aws-cdk/aws-eks/lib/cluster-resource-handler/index.ts#L48](https://github.com/40aws-cdk/aws-eks/lib/cluster-resource-handler/index.ts/issues/L48) [40aws-cdk/aws-eks/lib/cluster-resource-handler/common.ts#L59](https://github.com/40aws-cdk/aws-eks/lib/cluster-resource-handler/common.ts/issues/L59) [40aws-cdk/aws-eks/lib/cluster-resource-handler/cluster.ts#L56](https://github.com/40aws-cdk/aws-eks/lib/cluster-resource-handler/cluster.ts/issues/L56) [40aws-cdk/aws-eks/lib/cluster-resource-handler/cluster.ts#L196](https://github.com/40aws-cdk/aws-eks/lib/cluster-resource-handler/cluster.ts/issues/L196) [40aws-cdk/aws-eks/lib/cluster-resource-handler/cluster.ts#L198](https://github.com/40aws-cdk/aws-eks/lib/cluster-resource-handler/cluster.ts/issues/L198) [40aws-cdk/aws-eks/lib/kubectl-provider.ts#L83](https://github.com/40aws-cdk/aws-eks/lib/kubectl-provider.ts/issues/L83) +* **cli:** no longer disable rollback by default for hotswap deployments ([#17317](https://github.com/aws/aws-cdk/issues/17317)) ([e32b616](https://github.com/aws/aws-cdk/commit/e32b61652b5d01c44b05c2ac6d5fb1e99b50e059)), closes [#17267](https://github.com/aws/aws-cdk/issues/17267) +* **cognito:** ambiguous error message when same trigger is added twice ([#16917](https://github.com/aws/aws-cdk/issues/16917)) ([4ae78b0](https://github.com/aws/aws-cdk/commit/4ae78b07af20ea3ef049079ac5b892f9ee8476e5)) +* **core:** SecretValue.secretsManager fails for tokenized secret-id ([#16230](https://github.com/aws/aws-cdk/issues/16230)) ([5831456](https://github.com/aws/aws-cdk/commit/5831456465fa44af96a268de56db0e3a8d3c2ea6)), closes [#16166](https://github.com/aws/aws-cdk/issues/16166) +* **custom-resources:** invalid service name leads to unhelpful error message ([#16718](https://github.com/aws/aws-cdk/issues/16718)) ([354686b](https://github.com/aws/aws-cdk/commit/354686b189377dd1daae7ba616e8fb62488d9855)), closes [#7312](https://github.com/aws/aws-cdk/issues/7312) +* **ec2:** functions addIngressRule and addEgressRule detect unresolved tokens as duplicates ([#17221](https://github.com/aws/aws-cdk/issues/17221)) ([d4952c3](https://github.com/aws/aws-cdk/commit/d4952c3cbe12e7c8c27e1bca7f9d8536d93fd3cb)), closes [#17201](https://github.com/aws/aws-cdk/issues/17201) +* **elasticloadbalancingv2:** always set stickiness ([#17111](https://github.com/aws/aws-cdk/issues/17111)) ([0a23953](https://github.com/aws/aws-cdk/commit/0a23953d92df070736f7d036cc2b24e68de4bf64)), closes [#16620](https://github.com/aws/aws-cdk/issues/16620) +* **lambda-event-sources:** dynamo batch size cannot be a CfnParameter ([#16540](https://github.com/aws/aws-cdk/issues/16540)) ([56974ac](https://github.com/aws/aws-cdk/commit/56974ac4152bc082470d56dd66e4ef7aad042815)), closes [#16221](https://github.com/aws/aws-cdk/issues/16221) +* **lambda-nodejs:** yarn berry goes into immutable mode in CI ([#17086](https://github.com/aws/aws-cdk/issues/17086)) ([cc8dd69](https://github.com/aws/aws-cdk/commit/cc8dd694e6746b9c6fc4663775aaa3b68d19ef61)), closes [#17082](https://github.com/aws/aws-cdk/issues/17082) +* **logs:** Apply tags to log retention Lambda ([#17029](https://github.com/aws/aws-cdk/issues/17029)) ([a6aaa64](https://github.com/aws/aws-cdk/commit/a6aaa64bf9779b984f20d18881b4f6e510ac091a)), closes [#15032](https://github.com/aws/aws-cdk/issues/15032) +* **pipelines:** `additionalInputs` not working ([#17279](https://github.com/aws/aws-cdk/issues/17279)) ([9e81dc7](https://github.com/aws/aws-cdk/commit/9e81dc731993a55fbc05c642ce96151f12ed69da)), closes [#17224](https://github.com/aws/aws-cdk/issues/17224) +* **s3:** enforce that fromBucketAttributes supplies a valid bucket name ([#16915](https://github.com/aws/aws-cdk/issues/16915)) ([30ac0cc](https://github.com/aws/aws-cdk/commit/30ac0cc2d95ef3fd79d0658428975ea675b6916f)) + + +### Reverts + +* "chore: activate 'rosetta infuse' feature ([#17191](https://github.com/aws/aws-cdk/issues/17191))" ([#17329](https://github.com/aws/aws-cdk/issues/17329)) ([c8cd515](https://github.com/aws/aws-cdk/commit/c8cd515b3984ce0d8bfbe2d19cd56d299785e78b)) + +## [2.0.0-rc.27](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.26...v2.0.0-rc.27) (2021-10-27) + + +### Features + +* **cloudfront:** add amplify managed cache policy ([#16880](https://github.com/aws/aws-cdk/issues/16880)) ([8d0c555](https://github.com/aws/aws-cdk/commit/8d0c555d048c07518c89e69951a1e9f21ba99bd7)) +* **ec2:** add region parameter for UserData via addS3DownloadCommand ([#16667](https://github.com/aws/aws-cdk/issues/16667)) ([691d377](https://github.com/aws/aws-cdk/commit/691d3771d32002b3cd4cb1221af92762b749e716)), closes [#8287](https://github.com/aws/aws-cdk/issues/8287) +* **ec2:** add vpcArn to IVpc and Vpc ([#16666](https://github.com/aws/aws-cdk/issues/16666)) ([7b31376](https://github.com/aws/aws-cdk/commit/7b31376e6349440f7b215d6e11c3dd900d50df34)), closes [#16493](https://github.com/aws/aws-cdk/issues/16493) +* **ec2:** add X2g instances (for RDS) ([#17081](https://github.com/aws/aws-cdk/issues/17081)) ([443a23e](https://github.com/aws/aws-cdk/commit/443a23e8c1e0de97f6ae05a3e451b0407165a447)), closes [/github.com/aws/aws-cdk/issues/16948#issuecomment-946254267](https://github.com/aws//github.com/aws/aws-cdk/issues/16948/issues/issuecomment-946254267) [#16948](https://github.com/aws/aws-cdk/issues/16948) +* **ec2:** look up VPC from different regions ([#16728](https://github.com/aws/aws-cdk/issues/16728)) ([f1e244b](https://github.com/aws/aws-cdk/commit/f1e244b331f95253030bae0525775683b5a350c4)), closes [#10208](https://github.com/aws/aws-cdk/issues/10208) +* **route53:** Expose VpcEndpointServiceDomainName domain name as a property ([#16458](https://github.com/aws/aws-cdk/issues/16458)) ([e063fbd](https://github.com/aws/aws-cdk/commit/e063fbd3a31bdce046b2598e4a429c45d016f055)) + + +### Bug Fixes + +* **rds:** using both Instance imports & exports for Postgres fails deployment ([#17060](https://github.com/aws/aws-cdk/issues/17060)) ([ab627c6](https://github.com/aws/aws-cdk/commit/ab627c69e9edac82b1fd07d2c9ee1b05f7dc3166)), closes [#16757](https://github.com/aws/aws-cdk/issues/16757) + +## [2.0.0-rc.26](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.25...v2.0.0-rc.26) (2021-10-25) + + +### Bug Fixes + +* **core:** `DefaultSynthesizer` deployments are never skipped ([#17099](https://github.com/aws/aws-cdk/issues/17099)) ([c74b012](https://github.com/aws/aws-cdk/commit/c74b0127af95f8e86b95a0be2f2c6cb30fab1103)), closes [#16959](https://github.com/aws/aws-cdk/issues/16959) + +## [2.0.0-rc.25](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.24...v2.0.0-rc.25) (2021-10-22) + + +### Features + +* **aws-autoscaling:** add flag and aspect to require imdsv2 ([#16052](https://github.com/aws/aws-cdk/issues/16052)) ([ef7e20d](https://github.com/aws/aws-cdk/commit/ef7e20df08b4321f210bfc050afa42d7b4901931)) +* **codebuild:** add support for small ARM machine type ([#16635](https://github.com/aws/aws-cdk/issues/16635)) ([55fbc86](https://github.com/aws/aws-cdk/commit/55fbc866ef0195fdfc722206e4d69a1f4469cd40)), closes [#16633](https://github.com/aws/aws-cdk/issues/16633) +* **codepipeline:** add support for string user parameters to the Lambda invoke action ([#16946](https://github.com/aws/aws-cdk/issues/16946)) ([e19ea31](https://github.com/aws/aws-cdk/commit/e19ea31dbf62446edaf5131c75246098ab05da6e)), closes [#16776](https://github.com/aws/aws-cdk/issues/16776) +* **dynamodb:** add option to skip waiting for global replication to finish ([#16983](https://github.com/aws/aws-cdk/issues/16983)) ([254601f](https://github.com/aws/aws-cdk/commit/254601f477a4da309e81f5384140427f1b958bfd)), closes [#16611](https://github.com/aws/aws-cdk/issues/16611) +* **ec2:** add aspect to require imdsv2 ([#16051](https://github.com/aws/aws-cdk/issues/16051)) ([0947b21](https://github.com/aws/aws-cdk/commit/0947b21c1e3186042324820ec5ab433237246f58)) +* **eks:** configure serviceIpv4Cidr on the cluster ([#16957](https://github.com/aws/aws-cdk/issues/16957)) ([72102c7](https://github.com/aws/aws-cdk/commit/72102c750bfd6564cd51c1a5d8abc79b1ba1d3ce)), closes [/docs.aws.amazon.com/eks/latest/APIReference/API_KubernetesNetworkConfigRequest.html#AmazonEKS-Type-KubernetesNetworkConfigRequest-serviceIpv4](https://github.com/aws//docs.aws.amazon.com/eks/latest/APIReference/API_KubernetesNetworkConfigRequest.html/issues/AmazonEKS-Type-KubernetesNetworkConfigRequest-serviceIpv4) [#16541](https://github.com/aws/aws-cdk/issues/16541) +* **events:** Add DLQ support for SQS target ([#16916](https://github.com/aws/aws-cdk/issues/16916)) ([7fda903](https://github.com/aws/aws-cdk/commit/7fda90318e18b3a5d126b040e35a0146634d5f2d)), closes [#16417](https://github.com/aws/aws-cdk/issues/16417) +* **stepfunctions-tasks:** add `enableNetworkIsolation` property to `SageMakerCreateTrainingJobProps` ([#16792](https://github.com/aws/aws-cdk/issues/16792)) ([69ac520](https://github.com/aws/aws-cdk/commit/69ac520452b219bf242f2fbb4740f6b1b8b8790f)), closes [#16779](https://github.com/aws/aws-cdk/issues/16779) + + +### Bug Fixes + +* **cfn-diff:** correctly handle Date strings in diff ([#16591](https://github.com/aws/aws-cdk/issues/16591)) ([86f2714](https://github.com/aws/aws-cdk/commit/86f2714613f06aaf2bcee27da2f66066c8e863d0)), closes [#16444](https://github.com/aws/aws-cdk/issues/16444) +* **core:** asset hash is different between linux and windows ([#16945](https://github.com/aws/aws-cdk/issues/16945)) ([59950dd](https://github.com/aws/aws-cdk/commit/59950dd331635fb707aac819529614c0f3e47ee5)), closes [#14555](https://github.com/aws/aws-cdk/issues/14555) [#16928](https://github.com/aws/aws-cdk/issues/16928) +* **custom-resources:** Role Session Name can exceed maximum size ([#16680](https://github.com/aws/aws-cdk/issues/16680)) ([3617b70](https://github.com/aws/aws-cdk/commit/3617b70527516237955b8415fcfc8b58d3e23b3c)) +* **ecs:** imported services don't have account & region set correctly ([#16997](https://github.com/aws/aws-cdk/issues/16997)) ([dc6f743](https://github.com/aws/aws-cdk/commit/dc6f7433f01b9bc2c8206fb03d72ab8404fe4f6a)), closes [#11199](https://github.com/aws/aws-cdk/issues/11199) [#11199](https://github.com/aws/aws-cdk/issues/11199) [#15944](https://github.com/aws/aws-cdk/issues/15944) +* **ecs-patterns:** minScalingCapacity cannot be set to 0 ([#16961](https://github.com/aws/aws-cdk/issues/16961)) ([589f284](https://github.com/aws/aws-cdk/commit/589f284acec8530aa9824b75a5daef4632e98985)), closes [#15632](https://github.com/aws/aws-cdk/issues/15632) [#14336](https://github.com/aws/aws-cdk/issues/14336) +* **events:** PhysicalName.GENERATE_IF_NEEDED does not work for EventBus ([#17008](https://github.com/aws/aws-cdk/issues/17008)) ([707fa00](https://github.com/aws/aws-cdk/commit/707fa003a458039878a1ae5173b6665a84c1170b)), closes [#14337](https://github.com/aws/aws-cdk/issues/14337) +* **lambda:** docker image function fails when insightsVersion is specified ([#16781](https://github.com/aws/aws-cdk/issues/16781)) ([d0e15cc](https://github.com/aws/aws-cdk/commit/d0e15ccaca22c5e05b9186aa1a241e744d67c96a)), closes [#16642](https://github.com/aws/aws-cdk/issues/16642) +* **lambda-layer-node-proxy-agent:** Replace use of package.json with Dockerfile command `npm install [package]@[version]` ([#17078](https://github.com/aws/aws-cdk/issues/17078)) ([a129046](https://github.com/aws/aws-cdk/commit/a129046495a926561f94f5ce1f41c34b1df3afde)) +* **opensearch:** add validation to domainName property ([#17017](https://github.com/aws/aws-cdk/issues/17017)) ([3ec6832](https://github.com/aws/aws-cdk/commit/3ec683283e96159d588797bd46d33c82ff3076f1)), closes [#17016](https://github.com/aws/aws-cdk/issues/17016) +* **pipelines:** `additionalInputs` fails for deep directory ([#17074](https://github.com/aws/aws-cdk/issues/17074)) ([403d3ce](https://github.com/aws/aws-cdk/commit/403d3ce3bc0f4e30e9694e5c20743f0032009464)), closes [#16936](https://github.com/aws/aws-cdk/issues/16936) +* **ssm:** StringParameter accepts ParameterType.AWS_EC2_IMAGE_ID as type ([#16884](https://github.com/aws/aws-cdk/issues/16884)) ([2b353be](https://github.com/aws/aws-cdk/commit/2b353be5291cbcdc56a8863038eed4a5f2adc65f)), closes [#16806](https://github.com/aws/aws-cdk/issues/16806) + +## [2.0.0-rc.24](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.23...v2.0.0-rc.24) (2021-10-13) + + +### Features + +* **aws-chatbot:** allow adding a sns topic in existing SlackChannel ([#16643](https://github.com/aws/aws-cdk/issues/16643)) ([d29a20b](https://github.com/aws/aws-cdk/commit/d29a20bece48829e5dddbf3fd9045a96f1440c02)), closes [#15588](https://github.com/aws/aws-cdk/issues/15588) +* **aws-ec2:** userdata cfn-signal signal resource which is different than the attached resource ([#16264](https://github.com/aws/aws-cdk/issues/16264)) ([f24a1ae](https://github.com/aws/aws-cdk/commit/f24a1ae21b30868146b30a0897dc659f99241de4)) +* **backup:** expose method to add statements to the vault policy ([#16597](https://github.com/aws/aws-cdk/issues/16597)) ([3ff1537](https://github.com/aws/aws-cdk/commit/3ff15378c1463920d010231df7d4c801d28b4486)) +* **backup:** option to prevent recovery point deletions ([#16282](https://github.com/aws/aws-cdk/issues/16282)) ([6e71806](https://github.com/aws/aws-cdk/commit/6e718067b6c4e1a2c905fedcc60a6863ba3add12)) +* **cfnspec:** cloudformation spec v41.1.0 ([#16472](https://github.com/aws/aws-cdk/issues/16472)) ([28875f9](https://github.com/aws/aws-cdk/commit/28875f9dda4911d3a2fcfcdc6e6d8358bee7c689)) +* **cfnspec:** cloudformation spec v41.1.0 ([#16524](https://github.com/aws/aws-cdk/issues/16524)) ([124a7a1](https://github.com/aws/aws-cdk/commit/124a7a1c20981c72bfdce0c857c87c46c6cb5f51)) +* **cfnspec:** cloudformation spec v41.2.0 ([#16550](https://github.com/aws/aws-cdk/issues/16550)) ([e047bd8](https://github.com/aws/aws-cdk/commit/e047bd80ab08f49a22408eb8c5401f4306747eff)) +* **cfnspec:** cloudformation spec v42.0.0 ([#16639](https://github.com/aws/aws-cdk/issues/16639)) ([2157acd](https://github.com/aws/aws-cdk/commit/2157acd4287dc9df1ae4642bbe049c181e3432b6)) +* **cfnspec:** cloudformation spec v43.0.0 ([#16748](https://github.com/aws/aws-cdk/issues/16748)) ([7c473a6](https://github.com/aws/aws-cdk/commit/7c473a6efa1f7e07799a96f649cb32f66d178e43)) +* **cfnspec:** cloudformation spec v43.0.0 ([#16820](https://github.com/aws/aws-cdk/issues/16820)) ([071756c](https://github.com/aws/aws-cdk/commit/071756c695ca5d7fdbf94552efdf08511acdbee4)) +* **cfnspec:** cloudformation spec v43.0.0 ([#16842](https://github.com/aws/aws-cdk/issues/16842)) ([ebb211b](https://github.com/aws/aws-cdk/commit/ebb211ba889acdcddbfb9338a4258009ccd494a2)) +* **cli:** hotswap deployments for ECS Services ([#16864](https://github.com/aws/aws-cdk/issues/16864)) ([ad7288f](https://github.com/aws/aws-cdk/commit/ad7288f35a17fcfbecd7080e99ece4873fa99ad2)) +* **cli:** hotswap deployments for StepFunctions State Machines ([#16489](https://github.com/aws/aws-cdk/issues/16489)) ([c3417f6](https://github.com/aws/aws-cdk/commit/c3417f651e45170efd339960fbb0e4957bcbd3a3)) +* **cloudfront:** support Behavior-specific viewer protocol policy for CloudFrontWebDistribution ([#16389](https://github.com/aws/aws-cdk/issues/16389)) ([5c028c5](https://github.com/aws/aws-cdk/commit/5c028c54aa7635dd55095257ebe81bdf2158ea39)), closes [#7086](https://github.com/aws/aws-cdk/issues/7086) +* **cloudwatch:** support cross-environment search expressions ([#16539](https://github.com/aws/aws-cdk/issues/16539)) ([c165138](https://github.com/aws/aws-cdk/commit/c165138fa7c3456e530ffeab9b7a038914cc2dca)), closes [#9039](https://github.com/aws/aws-cdk/issues/9039) +* **config:** EC2_INSTANCE_PROFILE_ATTACHED managed rule ([#16011](https://github.com/aws/aws-cdk/issues/16011)) ([816a319](https://github.com/aws/aws-cdk/commit/816a31984b5c6e08c4c7dd740919e0c1f5d0e196)) +* **ec2:** add X2gd instances ([#16810](https://github.com/aws/aws-cdk/issues/16810)) ([6d468d2](https://github.com/aws/aws-cdk/commit/6d468d2f742aad8bc9de6bfe9650c3cdccd30a32)), closes [#16794](https://github.com/aws/aws-cdk/issues/16794) +* **ec2/ecs:** `cacheInContext` properties for machine images ([#16021](https://github.com/aws/aws-cdk/issues/16021)) ([430f50a](https://github.com/aws/aws-cdk/commit/430f50a546e9c575f8cdbd259367e440d985e68f)), closes [#12484](https://github.com/aws/aws-cdk/issues/12484) +* **ecr-assets:** control docker image asset hash ([#16070](https://github.com/aws/aws-cdk/issues/16070)) ([13f67e7](https://github.com/aws/aws-cdk/commit/13f67e7dbcf2ca7a921e7ffb932f260c74005408)), closes [#15936](https://github.com/aws/aws-cdk/issues/15936) +* **ecs-service-extensions:** Publish Extension ([#16326](https://github.com/aws/aws-cdk/issues/16326)) ([c6c5941](https://github.com/aws/aws-cdk/commit/c6c594159c7fbda66f40fe8666f70b6806bb2d5e)) +* **eks:** `connectAutoScalingGroupCapacity` on imported clusters ([#14650](https://github.com/aws/aws-cdk/issues/14650)) ([7f7be08](https://github.com/aws/aws-cdk/commit/7f7be089fa84afd0ab009a7feca2df4315749bc3)) +* **eks:** add warning to fargateProfile ([#16631](https://github.com/aws/aws-cdk/issues/16631)) ([41fdebb](https://github.com/aws/aws-cdk/commit/41fdebb974a2b29ba461757d210fa3a8b8cdc73d)), closes [#16349](https://github.com/aws/aws-cdk/issues/16349) +* **elbv2:** support ALB target for NLB ([#16687](https://github.com/aws/aws-cdk/issues/16687)) ([27cc821](https://github.com/aws/aws-cdk/commit/27cc82186c73db5e68e00448133dd6e79e13d90c)), closes [#16679](https://github.com/aws/aws-cdk/issues/16679) +* **lambda:** configure workdir for docker image based functions ([#16111](https://github.com/aws/aws-cdk/issues/16111)) ([b3eafc2](https://github.com/aws/aws-cdk/commit/b3eafc2dc61ed69de20196fa08a4df3c29ecc894)) +* **lambda:** docker platform for architecture ([#16858](https://github.com/aws/aws-cdk/issues/16858)) ([5c258a3](https://github.com/aws/aws-cdk/commit/5c258a30367a4922e404eb26e5aa076720846fbe)) +* **lambda:** support for ARM architecture ([b3ba35e](https://github.com/aws/aws-cdk/commit/b3ba35e9b8b157303a29350031885eff0c73b05b)) +* **lambda:** support for ARM architecture ([#16719](https://github.com/aws/aws-cdk/issues/16719)) ([67b4921](https://github.com/aws/aws-cdk/commit/67b4921ef19a357314697fb3737849a5ff426090)) +* **lambda:** use bundling docker image from ECR public for dotnet and go runtimes ([#16281](https://github.com/aws/aws-cdk/issues/16281)) ([9bbfd18](https://github.com/aws/aws-cdk/commit/9bbfd185c2383612e2be7317a091b72cc5e7a120)) +* **lambda-event-sources:** self managed kafka: support sasl/plain authentication ([#16712](https://github.com/aws/aws-cdk/issues/16712)) ([d4ad93f](https://github.com/aws/aws-cdk/commit/d4ad93f30877b26b851caa81d3a4a1d80df55164)) +* **opensearch:** rebrand Elasticsearch as OpenSearch ([e6c4ca5](https://github.com/aws/aws-cdk/commit/e6c4ca5e71934e890eabe41190e9c2d0bd42aefb)), closes [aws/aws-cdk#16467](https://github.com/aws/aws-cdk/issues/16467) +* **opensearch:** rebrand Elasticsearch as OpenSearch ([#16517](https://github.com/aws/aws-cdk/issues/16517)) ([fad855e](https://github.com/aws/aws-cdk/commit/fad855e7fb046844258e36e2699234407fbb64ec)) +* **pipeline:** allow enabling KMS key rotation for cross-region Stacks ([#16468](https://github.com/aws/aws-cdk/issues/16468)) ([2a629dd](https://github.com/aws/aws-cdk/commit/2a629dd7a86cc36c3a503bfc5957880c9edd4d49)), closes [#14381](https://github.com/aws/aws-cdk/issues/14381) +* **pipelines:** stack-level steps ([#16215](https://github.com/aws/aws-cdk/issues/16215)) ([d499c85](https://github.com/aws/aws-cdk/commit/d499c85e4c09cc00b457ca7f2f4611a925ca8aeb)), closes [#16148](https://github.com/aws/aws-cdk/issues/16148) +* **rds:** region replication for generated secrets ([#16497](https://github.com/aws/aws-cdk/issues/16497)) ([1e9d8be](https://github.com/aws/aws-cdk/commit/1e9d8be0a81e1f875bf8b31c701e1069bb98728e)), closes [#16480](https://github.com/aws/aws-cdk/issues/16480) +* **s3-deployment:** enable efs support for handling large files in lambda ([#15220](https://github.com/aws/aws-cdk/issues/15220)) ([2737119](https://github.com/aws/aws-cdk/commit/27371197a24ce6c9212fc99e120c5d77fa08065e)) +* **sns:** adding support for firehose subscription protocol ([#15764](https://github.com/aws/aws-cdk/issues/15764)) ([18aff6b](https://github.com/aws/aws-cdk/commit/18aff6b4c0a5e17c64685ac384b243c16cd910f1)) +* **stepfunctions-tasks:** add step concurrency level to EmrCreateCluster ([#15242](https://github.com/aws/aws-cdk/issues/15242)) ([1deea90](https://github.com/aws/aws-cdk/commit/1deea9005656c2f0f25c56e773145b6e0ebcbb1b)), closes [#15223](https://github.com/aws/aws-cdk/issues/15223) +* **stepfunctions-tasks:** AWS SDK service integrations ([#16746](https://github.com/aws/aws-cdk/issues/16746)) ([ae840ff](https://github.com/aws/aws-cdk/commit/ae840ff1abb8283a1290dae5859f5729a9cf72b1)), closes [#16780](https://github.com/aws/aws-cdk/issues/16780) +* allow stale bot trigger manually ([#16586](https://github.com/aws/aws-cdk/issues/16586)) ([fc8cfee](https://github.com/aws/aws-cdk/commit/fc8cfee77008314d59eda8f18d2c91c23e2a23ab)) +* **stepfunctions-tasks:** support Associate Workflow Executions on StepFunctionsStartExecution via associateWithParent property ([#16475](https://github.com/aws/aws-cdk/issues/16475)) ([7d3b90b](https://github.com/aws/aws-cdk/commit/7d3b90b2097aa9b7170a77befcee5822d5d0c3e7)), closes [#14778](https://github.com/aws/aws-cdk/issues/14778) + + +### Bug Fixes + +* use registry.npmjs.com to fix shinkwrap resolves ([#16607](https://github.com/aws/aws-cdk/issues/16607)) ([8f91531](https://github.com/aws/aws-cdk/commit/8f91531c3c25900316d40d5564450566a03e27ee)) +* **assets:** run executable command of container assets in cloud assembly root directory ([#16094](https://github.com/aws/aws-cdk/issues/16094)) ([c2852c9](https://github.com/aws/aws-cdk/commit/c2852c9c524a639a312bf296f7f23b0e3b112f6b)), closes [#15721](https://github.com/aws/aws-cdk/issues/15721) +* **autoscaling:** EbsDeviceVolumeType.IO2 is not a valid CloudFormation value ([#16028](https://github.com/aws/aws-cdk/issues/16028)) ([492d33b](https://github.com/aws/aws-cdk/commit/492d33b27bc5b935e3da75f0bddd875bb6f9c15d)), closes [#16027](https://github.com/aws/aws-cdk/issues/16027) +* **aws-ecs:** add ASG capacity via Capacity Provider by not specifying machineImageType ([#16361](https://github.com/aws/aws-cdk/issues/16361)) ([93b3fdc](https://github.com/aws/aws-cdk/commit/93b3fdce80f0997d7b809f9ef7e3edd1e75e1f42)), closes [#16360](https://github.com/aws/aws-cdk/issues/16360) +* **aws-eks:** Support for http proxy in EKS onEvent lambda ([#16609](https://github.com/aws/aws-cdk/issues/16609)) ([cf22280](https://github.com/aws/aws-cdk/commit/cf222806f781c3476dd942c57787ad0f4924dc04)), closes [/github.com/aws/aws-cdk/blob/7dae114b7aac46321b8d8572e6837428b4c633b2/tools/pkglint/lib/rules.ts#L1332](https://github.com/aws//github.com/aws/aws-cdk/blob/7dae114b7aac46321b8d8572e6837428b4c633b2/tools/pkglint/lib/rules.ts/issues/L1332) +* **aws-eks:** support http proxy in EKS onEvent lambda ([#16657](https://github.com/aws/aws-cdk/issues/16657)) ([87c9570](https://github.com/aws/aws-cdk/commit/87c957029ba5adecc9dddd72d9190d8a7abb913f)), closes [/github.com/aws/aws-cdk/pull/16657#issuecomment-928260661](https://github.com/aws//github.com/aws/aws-cdk/pull/16657/issues/issuecomment-928260661) [/github.com/aws/aws-cdk/pull/16657#issuecomment-928529421](https://github.com/aws//github.com/aws/aws-cdk/pull/16657/issues/issuecomment-928529421) [/github.com/aws/aws-cdk/blob/7dae114b7aac46321b8d8572e6837428b4c633b2/tools/pkglint/lib/rules.ts#L1332](https://github.com/aws//github.com/aws/aws-cdk/blob/7dae114b7aac46321b8d8572e6837428b4c633b2/tools/pkglint/lib/rules.ts/issues/L1332) +* **cli:** 'deploy' and 'diff' silently does nothing when given unknown stack name ([#16150](https://github.com/aws/aws-cdk/issues/16150)) ([74776f3](https://github.com/aws/aws-cdk/commit/74776f393462f7e7d23cb1953ef786a823adc896)), closes [#15866](https://github.com/aws/aws-cdk/issues/15866) +* **cli:** progress bar overshoots count by 1 for stack updates ([#16168](https://github.com/aws/aws-cdk/issues/16168)) ([0c8ecb8](https://github.com/aws/aws-cdk/commit/0c8ecb8cfc2cec9fd8c9f238c049b604a0f149fe)) +* **cloudformation-diff:** cdk diff not picking up differences if old/new value is in format n.n.n ([#16050](https://github.com/aws/aws-cdk/issues/16050)) ([38426c9](https://github.com/aws/aws-cdk/commit/38426c985d5e0713bbbf14fa639520eca6294124)), closes [#15935](https://github.com/aws/aws-cdk/issues/15935) +* **cloudfront:** EdgeFunctions cannot be created when IDs contain spaces ([#16845](https://github.com/aws/aws-cdk/issues/16845)) ([b0752c5](https://github.com/aws/aws-cdk/commit/b0752c5dcd0f1fa64b39d1b80ab2c0e0a99a72b0)), closes [#16832](https://github.com/aws/aws-cdk/issues/16832) +* **cloudwatch:** alarms with accountId fails in regions that don't support cross-account alarms ([#16875](https://github.com/aws/aws-cdk/issues/16875)) ([54472a0](https://github.com/aws/aws-cdk/commit/54472a0ccebe208dca3402367626a938731544b0)), closes [#16874](https://github.com/aws/aws-cdk/issues/16874) +* **cloudwatch:** cross account alarms does not support math expressions ([#16333](https://github.com/aws/aws-cdk/issues/16333)) ([1ffd897](https://github.com/aws/aws-cdk/commit/1ffd89714f8b1c1389d4e43383cc77d16d00ed9e)), closes [#16331](https://github.com/aws/aws-cdk/issues/16331) +* **codebuild:** add build image AMAZON_LINUX_2_ARM_2 ([#16931](https://github.com/aws/aws-cdk/issues/16931)) ([370cb31](https://github.com/aws/aws-cdk/commit/370cb310cce3fccc5381d8d53130e21b266de868)), closes [#16930](https://github.com/aws/aws-cdk/issues/16930) +* **config:** add SourceAccount condition to Lambda permission ([#16617](https://github.com/aws/aws-cdk/issues/16617)) ([cfcaf45](https://github.com/aws/aws-cdk/commit/cfcaf452da163efa33df752b0ff026b3ea608dfc)) +* **config:** the IGW mapping to correct resource type ([#16464](https://github.com/aws/aws-cdk/issues/16464)) ([23d9b6a](https://github.com/aws/aws-cdk/commit/23d9b6a7d5b213e4a1ba4a71984e8e19e3657bd7)), closes [#16463](https://github.com/aws/aws-cdk/issues/16463) +* **core:** asset hash of symlinked dir is wrong ([#16429](https://github.com/aws/aws-cdk/issues/16429)) ([36ff738](https://github.com/aws/aws-cdk/commit/36ff73809a37998e15176cb8815c118e7ea0c295)) +* **ec2:** set proper role for --role argument of cfn-init ([#16503](https://github.com/aws/aws-cdk/issues/16503)) ([cdbd65d](https://github.com/aws/aws-cdk/commit/cdbd65dc525147810650b4c32d48664a38abede1)), closes [#16501](https://github.com/aws/aws-cdk/issues/16501) +* **elasticloadbalancingv2:** Incorrect validation on `NetworkLoadBalancer.configureHealthCheck()` ([#16445](https://github.com/aws/aws-cdk/issues/16445)) ([140892a](https://github.com/aws/aws-cdk/commit/140892af639c78eebebecf687eb1b37ab75d643d)) +* **iam:** `User.fromUserArn` does not work for ARNs that include a path ([#16269](https://github.com/aws/aws-cdk/issues/16269)) ([5c69c94](https://github.com/aws/aws-cdk/commit/5c69c941bc5e7284f5873110e7c7c86cdeba42fb)), closes [40aws-cdk/aws-iam/lib/role.ts#L191-L194](https://github.com/40aws-cdk/aws-iam/lib/role.ts/issues/L191-L194) [#16256](https://github.com/aws/aws-cdk/issues/16256) +* **iam:** not possible to represent `Principal: *` ([#16843](https://github.com/aws/aws-cdk/issues/16843)) ([6829a2a](https://github.com/aws/aws-cdk/commit/6829a2abe4d020d6a6eae7ff31e23b43d8762920)) +* **lambda:** currentVersion fails when architecture specified ([#16849](https://github.com/aws/aws-cdk/issues/16849)) ([8a0d369](https://github.com/aws/aws-cdk/commit/8a0d3699d7fc3dff70aa6416d30a30b57d29ff7e)), closes [#16814](https://github.com/aws/aws-cdk/issues/16814) +* **revert:** "fix: CDK does not honor NO_PROXY settings ([#16751](https://github.com/aws/aws-cdk/issues/16751))" ([#16761](https://github.com/aws/aws-cdk/issues/16761)) ([eda7e84](https://github.com/aws/aws-cdk/commit/eda7e84400d766b8045972c496851e975544c38f)), closes [/github.com/aws/aws-cdk/pull/16751/files#r720549975](https://github.com/aws//github.com/aws/aws-cdk/pull/16751/files/issues/r720549975) +* **route53-targets:** ApiGateway does not accept RestApiBase ([#16610](https://github.com/aws/aws-cdk/issues/16610)) ([20071bb](https://github.com/aws/aws-cdk/commit/20071bb12648adeab96e4dbcb31f5bd50c5f631d)), closes [#16227](https://github.com/aws/aws-cdk/issues/16227) +* **s3:** auto-delete fails when bucket has been deleted manually ([#16645](https://github.com/aws/aws-cdk/issues/16645)) ([7b4fa72](https://github.com/aws/aws-cdk/commit/7b4fa721deac1d263d86c1d552c984fa1486f42e)), closes [#16619](https://github.com/aws/aws-cdk/issues/16619) +* **s3:** setting `autoDeleteObjects` to `false` empties the bucket ([#16756](https://github.com/aws/aws-cdk/issues/16756)) ([21836f2](https://github.com/aws/aws-cdk/commit/21836f249395045a4a697fbfe553fe17e1c5e6a1)), closes [#16603](https://github.com/aws/aws-cdk/issues/16603) +* CDK does not honor NO_PROXY settings ([#16751](https://github.com/aws/aws-cdk/issues/16751)) ([ceab036](https://github.com/aws/aws-cdk/commit/ceab036fa9dfcd13c58c7d818339cd05ed515bec)), closes [#7121](https://github.com/aws/aws-cdk/issues/7121) +* correct package names in support scripts ([ebfd5f2](https://github.com/aws/aws-cdk/commit/ebfd5f2b203106135b2474b327727b2fee400380)) +* remove invalid entry from stale issue bot config ([#16587](https://github.com/aws/aws-cdk/issues/16587)) ([5461859](https://github.com/aws/aws-cdk/commit/546185977cb245b2ed4ddf31da7612d52a20706e)) +* set ROSETTA_MAX_WORKER_COUNT in pack.sh ([#16738](https://github.com/aws/aws-cdk/issues/16738)) ([5d06641](https://github.com/aws/aws-cdk/commit/5d06641cc82d05917a89da21cd79392ec9092c51)) +* **iam:** permissions boundary aspect doesn't always recognize roles ([#16154](https://github.com/aws/aws-cdk/issues/16154)) ([c8bfcf6](https://github.com/aws/aws-cdk/commit/c8bfcf650070a0138b148645f997f542431f70cf)) +* **logs:** log retention fails with OperationAbortedException ([#16083](https://github.com/aws/aws-cdk/issues/16083)) ([3e9f04d](https://github.com/aws/aws-cdk/commit/3e9f04dbbd7aadb8ab4394fefd6281f1d6d30fe0)), closes [aws#15709](https://github.com/aws/aws/issues/15709) +* **sns:** cannot use numeric filter policy with 0 values ([#16551](https://github.com/aws/aws-cdk/issues/16551)) ([62b6762](https://github.com/aws/aws-cdk/commit/62b6762195324cf04758ab96ed20925b4939b773)), closes [#16549](https://github.com/aws/aws-cdk/issues/16549) +* **SSM API docs:** Typo `SecretString` -> `SecureString` and note how SecureStrings cannot be created via CDK ([#16228](https://github.com/aws/aws-cdk/issues/16228)) ([950e875](https://github.com/aws/aws-cdk/commit/950e875bfb431c051b5ee2fd405aaf7f2b47bfeb)) + + +### Reverts + +* **aws-eks:** "fix(aws-eks): Support for http proxy in EKS onEvent lambda" ([#16651](https://github.com/aws/aws-cdk/issues/16651)) ([376c837](https://github.com/aws/aws-cdk/commit/376c83749cd4b5260df724dabe2e44e0dc3f792a)) + +## [2.0.0-rc.23](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.22...v2.0.0-rc.23) (2021-09-22) + +## [2.0.0-rc.22](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.21...v2.0.0-rc.22) (2021-09-15) + +## [2.0.0-rc.21](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.20...v2.0.0-rc.21) (2021-09-08) + + +### Features + +* **aws-cloudfront-origins:** add custom headers to S3Origin ([#16161](https://github.com/aws/aws-cdk/issues/16161)) ([f42b233](https://github.com/aws/aws-cdk/commit/f42b233a76ae810634fa43a25604dbc65bdd63b9)), closes [#16160](https://github.com/aws/aws-cdk/issues/16160) +* **cfnspec:** cloudformation spec v40.1.0 ([#16254](https://github.com/aws/aws-cdk/issues/16254)) ([fe81be7](https://github.com/aws/aws-cdk/commit/fe81be78322e3f1c23d2b02e59b56faa3b06e554)) +* **cli:** hotswap deployments ([#15748](https://github.com/aws/aws-cdk/issues/15748)) ([6e55c95](https://github.com/aws/aws-cdk/commit/6e55c952d683f87bb815deb29124b9a37824749a)) +* **cli:** support `--no-rollback` flag ([#16293](https://github.com/aws/aws-cdk/issues/16293)) ([d763d90](https://github.com/aws/aws-cdk/commit/d763d9092289d0b28b2695b8474b44ed7d0bce54)), closes [#16289](https://github.com/aws/aws-cdk/issues/16289) +* **codecommit:** make Repository a source for CodeStar Notifications ([#15739](https://github.com/aws/aws-cdk/issues/15739)) ([ae34d4a](https://github.com/aws/aws-cdk/commit/ae34d4a69a5073d8f0175b5282fa8bf92139fab5)) +* **core:** normalize line endings in asset hash calculation ([#16276](https://github.com/aws/aws-cdk/issues/16276)) ([01bf6e2](https://github.com/aws/aws-cdk/commit/01bf6e2922994e7d41c8c6b171aa1693835f2b53)) +* **ec2:** add m6i instances ([#16081](https://github.com/aws/aws-cdk/issues/16081)) ([a42a1ea](https://github.com/aws/aws-cdk/commit/a42a1ea5a122f864936cdb0113b16fe92cc7205e)) +* **ecs:** add support for Fargate PV1.4 ephemeral storage ([#15440](https://github.com/aws/aws-cdk/issues/15440)) ([f1bf935](https://github.com/aws/aws-cdk/commit/f1bf935c47006096b33fb7bf0c847ffab9230870)), closes [#14570](https://github.com/aws/aws-cdk/issues/14570) +* **ecs-patterns:** add capacity provider strategies to queue processing service pattern ([#15684](https://github.com/aws/aws-cdk/issues/15684)) ([f40e8d6](https://github.com/aws/aws-cdk/commit/f40e8d6a502dd42e0a52d81f72abecaa2cdd920a)), closes [#14781](https://github.com/aws/aws-cdk/issues/14781) +* **ecs-patterns:** Allow configuration of SSL policy for listeners created by ECS patterns ([#15210](https://github.com/aws/aws-cdk/issues/15210)) ([2c3d21e](https://github.com/aws/aws-cdk/commit/2c3d21e2f1117a54510ba92748588ee95ab3631c)), closes [#11841](https://github.com/aws/aws-cdk/issues/11841) [#8816](https://github.com/aws/aws-cdk/issues/8816) +* **ecs-service-extensions:** Subscribe Extension ([#16049](https://github.com/aws/aws-cdk/issues/16049)) ([66baca5](https://github.com/aws/aws-cdk/commit/66baca58adc294d5c5924cf8f8c5fa122c6d6dfc)) +* **rds:** support 's3export' for Postgres database instances ([#16124](https://github.com/aws/aws-cdk/issues/16124)) ([1d54a45](https://github.com/aws/aws-cdk/commit/1d54a456cd5e2ff65251097f9a684e1ac200cc52)), closes [#14546](https://github.com/aws/aws-cdk/issues/14546) [#10370](https://github.com/aws/aws-cdk/issues/10370) [#14546](https://github.com/aws/aws-cdk/issues/14546) +* **stepfunctions-tasks:** await the eval so async ops can be passed to tasks.EvaluateExpression ([#16290](https://github.com/aws/aws-cdk/issues/16290)) ([174b066](https://github.com/aws/aws-cdk/commit/174b066634755c76d1b78d05ca9b403145dedc47)) +* **stepfunctions-tasks:** support allocation strategies in EMR CreateCluster ([#16296](https://github.com/aws/aws-cdk/issues/16296)) ([5a5da57](https://github.com/aws/aws-cdk/commit/5a5da573149d45bf6e29bf7155715fa926804871)), closes [#16252](https://github.com/aws/aws-cdk/issues/16252) + + +### Bug Fixes + +* **aws-rds:** fromDatabaseInstanceAttributes incorrectly stringifies ports with tokens ([#16286](https://github.com/aws/aws-cdk/issues/16286)) ([41b831a](https://github.com/aws/aws-cdk/commit/41b831a6698ee6c7a3c8968bff8273a0c7f35448)), closes [#11813](https://github.com/aws/aws-cdk/issues/11813) +* **core:** allow asset bundling when selinux is enabled ([#15742](https://github.com/aws/aws-cdk/issues/15742)) ([dbfebb4](https://github.com/aws/aws-cdk/commit/dbfebb47a8ae61b2bb0557b6ba79a7b073f9d0df)) +* **core:** inconsistent analytics string across operating systems ([#16300](https://github.com/aws/aws-cdk/issues/16300)) ([ff6082c](https://github.com/aws/aws-cdk/commit/ff6082caf7e534989fb8ee6b4c63c0c02e9a5ec0)), closes [#15322](https://github.com/aws/aws-cdk/issues/15322) +* **docs:** unnecessary log group in Step Functions state machine x-ray example ([#16159](https://github.com/aws/aws-cdk/issues/16159)) ([04d4547](https://github.com/aws/aws-cdk/commit/04d45474d80d3687a3fdf27f4d76dd1c8521eff0)) +* **elasticloadbalancingv2:** target group health check does not validate interval versus timeout ([#16107](https://github.com/aws/aws-cdk/issues/16107)) ([a85ad39](https://github.com/aws/aws-cdk/commit/a85ad392459c815d5c8e645dd3e8240d059024e6)), closes [#3703](https://github.com/aws/aws-cdk/issues/3703) +* **s3:** bucket is not emptied before update when the name changes ([#16203](https://github.com/aws/aws-cdk/issues/16203)) ([b1d69d7](https://github.com/aws/aws-cdk/commit/b1d69d7b06cd2a2ae8f578e217bdf7fef50a0163)), closes [#14011](https://github.com/aws/aws-cdk/issues/14011) + + +### Reverts + +* temporarily transfer [@skinny85](https://github.com/skinny85) module ownership ([#16206](https://github.com/aws/aws-cdk/issues/16206)) ([e678f10](https://github.com/aws/aws-cdk/commit/e678f104df4fb0377c6ad5c8abc4132433363871)) + +## [2.0.0-rc.20](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.19...v2.0.0-rc.20) (2021-09-01) + + +### Features + +* **cloudwatch:** add support for cross-account alarms ([#16007](https://github.com/aws/aws-cdk/issues/16007)) ([e547ba0](https://github.com/aws/aws-cdk/commit/e547ba0d1491af0abe703132fa06fe786ffd7070)), closes [#15959](https://github.com/aws/aws-cdk/issues/15959) +* **cognito:** user pools - device tracking ([#16055](https://github.com/aws/aws-cdk/issues/16055)) ([64019bb](https://github.com/aws/aws-cdk/commit/64019bbf090e156261feb626a5a4bd7ff4f26545)), closes [#15013](https://github.com/aws/aws-cdk/issues/15013) +* **docdb:** cluster - deletion protection ([#15216](https://github.com/aws/aws-cdk/issues/15216)) ([0f7beb2](https://github.com/aws/aws-cdk/commit/0f7beb29be18d809052f4d46e415a0394c9299ab)) +* **lambda:** nodejs14.x supports inline code ([#16131](https://github.com/aws/aws-cdk/issues/16131)) ([305f683](https://github.com/aws/aws-cdk/commit/305f683e86cca221705c0138572faa38043396eb)) + + +### Bug Fixes + +* (aws-ec2): fix vpc endpoint incorrect issue in China region ([#16139](https://github.com/aws/aws-cdk/issues/16139)) ([0d0db38](https://github.com/aws/aws-cdk/commit/0d0db38e3cdb557b4a641c5993068400847cc7df)), closes [#9864](https://github.com/aws/aws-cdk/issues/9864) +* **resourcegroups:** ResourceGroup not using TagType.STANDARD, causes deploy failure ([#16211](https://github.com/aws/aws-cdk/issues/16211)) ([cdee1af](https://github.com/aws/aws-cdk/commit/cdee1af03c34a1c08988e672bae6edc2538a8877)), closes [#12986](https://github.com/aws/aws-cdk/issues/12986) +* **sqs:** unable to import a FIFO queue when the queue ARN is a token ([#15976](https://github.com/aws/aws-cdk/issues/15976)) ([a1a65bc](https://github.com/aws/aws-cdk/commit/a1a65bc9a38b06ec51dff462e52b1beb8d421a56)), closes [#12466](https://github.com/aws/aws-cdk/issues/12466) +* **ssm:** StringParameter.fromStringParameterAttributes cannot accept version as a numeric Token ([#16048](https://github.com/aws/aws-cdk/issues/16048)) ([eb54cd4](https://github.com/aws/aws-cdk/commit/eb54cd416a48708898e30986058491e21125b2f7)), closes [#11913](https://github.com/aws/aws-cdk/issues/11913) + +## [2.0.0-rc.19](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.18...v2.0.0-rc.19) (2021-08-25) + + +### Features + +* **assets:** exclude "cdk.out" from docker assets ([#16034](https://github.com/aws/aws-cdk/issues/16034)) ([84a831a](https://github.com/aws/aws-cdk/commit/84a831ab804244d426321504fc0971d74f6181fd)), closes [#14841](https://github.com/aws/aws-cdk/issues/14841) [#14841](https://github.com/aws/aws-cdk/issues/14841) [#14842](https://github.com/aws/aws-cdk/issues/14842) +* **aws-stepfunctions:** add support to heartbeat error inside catch block ([#16078](https://github.com/aws/aws-cdk/issues/16078)) ([2372b3c](https://github.com/aws/aws-cdk/commit/2372b3c360d13fb0224fc981a7bb1ae318581265)), closes [#16084](https://github.com/aws/aws-cdk/issues/16084) +* **cfnspec:** cloudformation spec v39.10.0 ([#16114](https://github.com/aws/aws-cdk/issues/16114)) ([7e0ad5d](https://github.com/aws/aws-cdk/commit/7e0ad5d17b30150922d0dfd81f42da11fadb8beb)) +* **cfnspec:** cloudformation spec v40.0.0 ([#16183](https://github.com/aws/aws-cdk/issues/16183)) ([b059124](https://github.com/aws/aws-cdk/commit/b059124b238e27751217cbdaaa01c38b00e80fc9)) +* **ecs:** add support for Bottlerocket on ARM64 ([#15454](https://github.com/aws/aws-cdk/issues/15454)) ([cd280a8](https://github.com/aws/aws-cdk/commit/cd280a8f4f46eb50be3a25d80c00a807881832c4)), closes [#14466](https://github.com/aws/aws-cdk/issues/14466) +* **s3-deployment:** exclude and include filters ([#16054](https://github.com/aws/aws-cdk/issues/16054)) ([d42e89e](https://github.com/aws/aws-cdk/commit/d42e89e01034dcba08c8f8ac0390a743143c4531)), closes [#14362](https://github.com/aws/aws-cdk/issues/14362) [#14362](https://github.com/aws/aws-cdk/issues/14362) + + +### Bug Fixes + +* KubectlHandler - insecure kubeconfig warning ([#16063](https://github.com/aws/aws-cdk/issues/16063)) ([82dd282](https://github.com/aws/aws-cdk/commit/82dd2822a86431d0aa0be896550d421810b80c67)), closes [#14560](https://github.com/aws/aws-cdk/issues/14560) +* **cfnspec:** changes to resource-level documentation not supported ([#16170](https://github.com/aws/aws-cdk/issues/16170)) ([82e4b4f](https://github.com/aws/aws-cdk/commit/82e4b4f07be202e2d6c6afa4f9ed0d9d6146f0a8)) +* **cli:** 'deploy' and 'diff' silently does nothing when given unknown stack name ([#16073](https://github.com/aws/aws-cdk/issues/16073)) ([f35b032](https://github.com/aws/aws-cdk/commit/f35b032cea4354992d3320e78c1ed0e2878a3fe7)), closes [#15866](https://github.com/aws/aws-cdk/issues/15866) +* **cli:** Python init template does not work in directory with '-' ([#15939](https://github.com/aws/aws-cdk/issues/15939)) ([3b2c790](https://github.com/aws/aws-cdk/commit/3b2c790c2b7d210868576540feab4e088376ab6c)), closes [#15938](https://github.com/aws/aws-cdk/issues/15938) +* **cli:** unknown command pytest in build container fails integration tests ([#16134](https://github.com/aws/aws-cdk/issues/16134)) ([0f7c0b4](https://github.com/aws/aws-cdk/commit/0f7c0b421327f1ffed28de79692191af187f23ca)), closes [#15939](https://github.com/aws/aws-cdk/issues/15939) +* **ec2:** opaque error when insufficient NAT EIPs are configured ([#16040](https://github.com/aws/aws-cdk/issues/16040)) ([a308cac](https://github.com/aws/aws-cdk/commit/a308cacf1fc48e24311caec246b768ffe6ae9153)), closes [#16039](https://github.com/aws/aws-cdk/issues/16039) +* **events:** cross-account event targets that have a Role are broken ([#15717](https://github.com/aws/aws-cdk/issues/15717)) ([f570c94](https://github.com/aws/aws-cdk/commit/f570c94a7bc99cd5bebc96ee388d152220f9f613)), closes [#15639](https://github.com/aws/aws-cdk/issues/15639) +* **s3-deployment:** BucketDeployment doesn't validate that distribution paths start with "/" ([#15865](https://github.com/aws/aws-cdk/issues/15865)) ([f8d8795](https://github.com/aws/aws-cdk/commit/f8d8795a610c3f49e31967001695caa648730d6d)), closes [#9317](https://github.com/aws/aws-cdk/issues/9317) +* **ses:** drop spam rule appears in the incorrect order ([#16146](https://github.com/aws/aws-cdk/issues/16146)) ([677fedc](https://github.com/aws/aws-cdk/commit/677fedcc5351b8b5346970fac03e5e342f36265b)), closes [#16091](https://github.com/aws/aws-cdk/issues/16091) + + +### Reverts + +* **cli:** 'deploy' and 'diff' silently does nothing when given unknown stack name ([#16125](https://github.com/aws/aws-cdk/issues/16125)) ([f2d77d3](https://github.com/aws/aws-cdk/commit/f2d77d336d535ef718813b4ed6b88b5d2af05cb9)), closes [aws/aws-cdk#16073](https://github.com/aws/aws-cdk/issues/16073) + +## [2.0.0-rc.18](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.17...v2.0.0-rc.18) (2021-08-18) + + +### Features + +* **aws-apigateway:** import existing usage plan ([#15771](https://github.com/aws/aws-cdk/issues/15771)) ([97fc290](https://github.com/aws/aws-cdk/commit/97fc29032c05edb7914c48efee0124be0126a5c4)), closes [#12677](https://github.com/aws/aws-cdk/issues/12677) +* **aws-elbv2:** ALB target group routing algorithms ([#15622](https://github.com/aws/aws-cdk/issues/15622)) ([6b32b2f](https://github.com/aws/aws-cdk/commit/6b32b2fb0c6ed2a21eb929e39930c6c9cf668dae)), closes [#15160](https://github.com/aws/aws-cdk/issues/15160) +* **cfnspec:** cloudformation spec v39.9.0 ([#15987](https://github.com/aws/aws-cdk/issues/15987)) ([e0d6181](https://github.com/aws/aws-cdk/commit/e0d61810ab78f7cab1af53bce82c60790a814f71)) +* **cognito:** add support for token revocation in UserPoolClient ([#15317](https://github.com/aws/aws-cdk/issues/15317)) ([8cb0e97](https://github.com/aws/aws-cdk/commit/8cb0e97ea663e0447af77842e1a8efa8aee917eb)), closes [#15126](https://github.com/aws/aws-cdk/issues/15126) +* **pipelines:** add `synthCodeBuildDefaults` ([#15627](https://github.com/aws/aws-cdk/issues/15627)) ([04b8d40](https://github.com/aws/aws-cdk/commit/04b8d400b2653aff4f48709e8b420c6adb996ef5)) + + +### Bug Fixes + +* **core:** asset bundling fails for non-existent user ([#15313](https://github.com/aws/aws-cdk/issues/15313)) ([bf5882f](https://github.com/aws/aws-cdk/commit/bf5882f8def0676bbfaee7c2ff4fab6bf39df281)), closes [#15415](https://github.com/aws/aws-cdk/issues/15415) [#15415](https://github.com/aws/aws-cdk/issues/15415) +* **ec2:** "clientVpnEndoint" => "clientVpnEndpoint" ([#14902](https://github.com/aws/aws-cdk/issues/14902)) ([c3b872a](https://github.com/aws/aws-cdk/commit/c3b872ad47ff3bdf2c841aa195b6fa6922c03769)), closes [#13810](https://github.com/aws/aws-cdk/issues/13810) +* **pipelines:** repos with dashes cannot be used as additionalInputs ([#16017](https://github.com/aws/aws-cdk/issues/16017)) ([400a59d](https://github.com/aws/aws-cdk/commit/400a59d19ee63fbd9318da34760b4ed8c9ba99b9)), closes [#15753](https://github.com/aws/aws-cdk/issues/15753) + +## [2.0.0-rc.17](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.16...v2.0.0-rc.17) (2021-08-11) + + +### Features + +* **aws-cloudfront:** add enabled to web distribution ([#15433](https://github.com/aws/aws-cdk/issues/15433)) ([7ad9348](https://github.com/aws/aws-cdk/commit/7ad9348b49ab3b9dde1b4f1db3d888ddec423a9f)) +* **aws-ec2:** Add SubnetFilter for Id and CIDR netmask ([#15373](https://github.com/aws/aws-cdk/issues/15373)) ([407b02d](https://github.com/aws/aws-cdk/commit/407b02d62bd8b3eb77e53fc74197b64148640b5a)), closes [#15228](https://github.com/aws/aws-cdk/issues/15228) +* **cfnspec:** cloudformation spec v39.7.0 ([#15719](https://github.com/aws/aws-cdk/issues/15719)) ([2c4ef01](https://github.com/aws/aws-cdk/commit/2c4ef0131893e77d373c52b41c62d31847023446)) +* **cfnspec:** cloudformation spec v39.7.0 ([#15796](https://github.com/aws/aws-cdk/issues/15796)) ([dbe4641](https://github.com/aws/aws-cdk/commit/dbe4641666c918c7bba36010fb4656d050ef5556)) +* **cfnspec:** cloudformation spec v39.8.0 ([#15885](https://github.com/aws/aws-cdk/issues/15885)) ([60e6b41](https://github.com/aws/aws-cdk/commit/60e6b4186680af98b538a21e82146fb0a0e84f33)) +* **cloudfront:** Origin Shield support ([#15453](https://github.com/aws/aws-cdk/issues/15453)) ([08ebbae](https://github.com/aws/aws-cdk/commit/08ebbae4cffdf85a66775f4e8f5ea9d7400bf358)), closes [#12872](https://github.com/aws/aws-cdk/issues/12872) [/github.com/aws/aws-cdk/issues/12872#issuecomment-775873384](https://github.com/aws//github.com/aws/aws-cdk/issues/12872/issues/issuecomment-775873384) +* **cloudfront:** use TLS_V1_2_2021 SecurityPolicy as default version (under feature flag) ([#15477](https://github.com/aws/aws-cdk/issues/15477)) ([7b64abf](https://github.com/aws/aws-cdk/commit/7b64abf51c52cd2f6f585d7fd9201030fdba8163)) +* **codebuild:** add support for setting a BuildEnvironment Certificate ([#15738](https://github.com/aws/aws-cdk/issues/15738)) ([76fb481](https://github.com/aws/aws-cdk/commit/76fb4811bb9f5d5fc1bd340954840032cb23698b)), closes [#15701](https://github.com/aws/aws-cdk/issues/15701) +* **core:** lazy mappings will only synthesize if keys are unresolved ([#15617](https://github.com/aws/aws-cdk/issues/15617)) ([32ed229](https://github.com/aws/aws-cdk/commit/32ed2290f8efb27bf622998f98808ff18a8cdef1)) +* **ec2:** Add Transcribe interface endpoint ([#15465](https://github.com/aws/aws-cdk/issues/15465)) ([929d6ae](https://github.com/aws/aws-cdk/commit/929d6aef84eb21aea0d9a4fff953a0f39246288e)) +* **eks:** support Kubernetes 1.21 ([#15774](https://github.com/aws/aws-cdk/issues/15774)) ([83dd318](https://github.com/aws/aws-cdk/commit/83dd318959b1b1e5f94b5a31030d03379638c9ad)), closes [#15758](https://github.com/aws/aws-cdk/issues/15758) +* **lambda:** cloudwatch lambda insights ([#15439](https://github.com/aws/aws-cdk/issues/15439)) ([9efd800](https://github.com/aws/aws-cdk/commit/9efd800b4eea3a849edc5710975e4d70ec14a5cd)) +* **pipelines:** CDK Pipelines is now Generally Available ([#15667](https://github.com/aws/aws-cdk/issues/15667)) ([2e4cfae](https://github.com/aws/aws-cdk/commit/2e4cfaeb8612179c79e293ba52a8afcdcfd6ef52)) +* **Route53:** add support for RemovalPolicy in CrossAccountZoneDelegationRecord ([#15782](https://github.com/aws/aws-cdk/issues/15782)) ([9eea4b8](https://github.com/aws/aws-cdk/commit/9eea4b8d454f7bc23930e6254651029b1a348a2c)), closes [#15211](https://github.com/aws/aws-cdk/issues/15211) +* **s3-deployment:** control object access ([#15730](https://github.com/aws/aws-cdk/issues/15730)) ([f58cf3c](https://github.com/aws/aws-cdk/commit/f58cf3c95eb32e9a4dc797665160e1b508ace2e1)) +* **stepfunctions:** allow intrinsic functions for json path ([#15320](https://github.com/aws/aws-cdk/issues/15320)) ([d9285cb](https://github.com/aws/aws-cdk/commit/d9285cb75745028ede8c36afcee34f7a53d27993)) +* **stepfunctions-tasks:** add sns publish with message attributes ([#14817](https://github.com/aws/aws-cdk/issues/14817)) ([bc99e82](https://github.com/aws/aws-cdk/commit/bc99e8271d443b10928d99437593c52efd763d7c)), closes [#4702](https://github.com/aws/aws-cdk/issues/4702) + + +### Bug Fixes + +* **aws-cloudwatch:** unable to use generic extended statistics for cloudwatch alarms ([#15720](https://github.com/aws/aws-cdk/issues/15720)) ([f593311](https://github.com/aws/aws-cdk/commit/f59331193b5a2cc4a33d71d775f6650d66bb1bf8)) +* **aws-eks:** Allow desiredsize minsize and maxsize to accept CfnParameters. ([#15487](https://github.com/aws/aws-cdk/issues/15487)) ([fb43769](https://github.com/aws/aws-cdk/commit/fb437693c0f1568ddc53e9a198e54be3b9a01592)) +* **chatbot:** ARN validation in fromSlackChannelConfigurationArn fails for tokenized values ([#15849](https://github.com/aws/aws-cdk/issues/15849)) ([440ca35](https://github.com/aws/aws-cdk/commit/440ca35cf0f0e9f6f86bef445bd9aa6ef05ff9be)), closes [#15842](https://github.com/aws/aws-cdk/issues/15842) +* **cli:** move fail option into the diff command ([#15829](https://github.com/aws/aws-cdk/issues/15829)) ([473c1d8](https://github.com/aws/aws-cdk/commit/473c1d8248ae84bd8b4bb3863334e05e5328fddc)) +* **ec2:** volumename doesn't set name of volume ([#15832](https://github.com/aws/aws-cdk/issues/15832)) ([b842702](https://github.com/aws/aws-cdk/commit/b842702cbb7aa6632dd2fc4b4981abdd3a773826)), closes [#15831](https://github.com/aws/aws-cdk/issues/15831) +* **elasticsearch:** advancedOptions in domain has no effect ([#15330](https://github.com/aws/aws-cdk/issues/15330)) ([81cbfec](https://github.com/aws/aws-cdk/commit/81cbfec5ddf065aac442d925484a358ee8cd26a1)), closes [#14067](https://github.com/aws/aws-cdk/issues/14067) +* **elasticsearch:** slow logs incorrectly disabled for Elasticsearch versions lower than 5.1 ([#15714](https://github.com/aws/aws-cdk/issues/15714)) ([91cf79b](https://github.com/aws/aws-cdk/commit/91cf79bc55ffd72b1c79e2218eb76921fbac32b4)), closes [#15532](https://github.com/aws/aws-cdk/issues/15532) [#15532](https://github.com/aws/aws-cdk/issues/15532) +* **elbv2:** unresolved listener priority throws error ([#15804](https://github.com/aws/aws-cdk/issues/15804)) ([fce9ac7](https://github.com/aws/aws-cdk/commit/fce9ac73fe6da5e604f0659d9f101001dcef830a)) +* **pipelines:** new pipeline stages aren't validated ([#15665](https://github.com/aws/aws-cdk/issues/15665)) ([309b9b4](https://github.com/aws/aws-cdk/commit/309b9b4cf554474c87fe3d833a5205498e200ecf)) +* **pipelines:** permissions check in legacy API does not work ([#15660](https://github.com/aws/aws-cdk/issues/15660)) ([5e3cf2b](https://github.com/aws/aws-cdk/commit/5e3cf2b0558401fab25f75da319fac587df1bcfb)) +* **pipelines:** Prepare stage doesn't have AUTO_EXPAND capability ([#15819](https://github.com/aws/aws-cdk/issues/15819)) ([a6fac49](https://github.com/aws/aws-cdk/commit/a6fac4974fa17949b836c72d04e1cc4504bc920a)), closes [#15711](https://github.com/aws/aws-cdk/issues/15711) +* **pipelines:** Secrets Manager permissions not added to asset projects ([#15718](https://github.com/aws/aws-cdk/issues/15718)) ([7668400](https://github.com/aws/aws-cdk/commit/7668400ec8d4e6ee042c05976f95e42147993375)), closes [#15628](https://github.com/aws/aws-cdk/issues/15628) +* **s3:** notifications are broken in some regions ([#15884](https://github.com/aws/aws-cdk/issues/15884)) ([ee19196](https://github.com/aws/aws-cdk/commit/ee191961a8b057a0585e731a67c15a7edd59c79e)) +* **stepfunctions:** non-object arguments to recurseObject are incorrectly treated as objects ([#14631](https://github.com/aws/aws-cdk/issues/14631)) ([e133bca](https://github.com/aws/aws-cdk/commit/e133bca61b95b71d51b509b646ff1720099ee31e)), closes [#12935](https://github.com/aws/aws-cdk/issues/12935) [aws-cdk/aws-stepfunctions/lib/input.ts#L65](https://github.com/aws-cdk/aws-stepfunctions/lib/input.ts/issues/L65) +* **stepfunctions-tasks:** instance type cannot be provided to SageMakerCreateTransformJob as input path ([#15726](https://github.com/aws/aws-cdk/issues/15726)) ([6f2384d](https://github.com/aws/aws-cdk/commit/6f2384ddc180e944c9564a543351b8df2f75c1a7)) +* **stepfunctions-tasks:** Stage field not included in CallApiGatewayHttpApiEndpoint task definition ([#15755](https://github.com/aws/aws-cdk/issues/15755)) ([4f38fe1](https://github.com/aws/aws-cdk/commit/4f38fe1c3e5515ae22f2820712644ed763dbc248)), closes [#14242](https://github.com/aws/aws-cdk/issues/14242) + +## [2.0.0-rc.16](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.15...v2.0.0-rc.16) (2021-08-04) + +## [2.0.0-rc.15](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.14...v2.0.0-rc.15) (2021-07-28) + + +### Features + +* **lambda-nodejs:** source map mode ([#15621](https://github.com/aws/aws-cdk/issues/15621)) ([b934976](https://github.com/aws/aws-cdk/commit/b934976f057cd395de660dc4099e2303415cdc78)), closes [#14857](https://github.com/aws/aws-cdk/issues/14857) +* **rds:** allow setting copyTagsToSnapshot on Clusters ([#15553](https://github.com/aws/aws-cdk/issues/15553)) ([f7c6289](https://github.com/aws/aws-cdk/commit/f7c628948e7f71df7a95cb00cdc2746e2e46dc03)), closes [#15521](https://github.com/aws/aws-cdk/issues/15521) + + +### Bug Fixes + +* **iam:** `PrincipalWithConditions.addCondition` does not work ([#15414](https://github.com/aws/aws-cdk/issues/15414)) ([fdce08c](https://github.com/aws/aws-cdk/commit/fdce08cee6f0eb58aad93572641a1dd4b59e8d37)) + +## [2.0.0-rc.14](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.13...v2.0.0-rc.14) (2021-07-21) + +## [2.0.0-rc.13](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.12...v2.0.0-rc.13) (2021-07-20) + +## [2.0.0-rc.12](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.11...v2.0.0-rc.12) (2021-07-14) + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +- **appmesh**: static methods from `TlsCertificate` have been changed to accept positional arguments +- **appmesh**: the type `TlsListener` has been renamed to `ListenerTlsOptions` + +### Features + +* **apigateway:** disable execute api endpoint ([#14526](https://github.com/aws/aws-cdk/issues/14526)) ([b3a7d5b](https://github.com/aws/aws-cdk/commit/b3a7d5ba67bec09e422c0c843d7dee4653fe9aec)) +* **aws-backup:** Add arn attribute and grant method to backup vault ([#14997](https://github.com/aws/aws-cdk/issues/14997)) ([04c0a07](https://github.com/aws/aws-cdk/commit/04c0a076c842683280dc1dc483cfc605641bd0fa)), closes [#14996](https://github.com/aws/aws-cdk/issues/14996) +* **cdk-assets:** externally-configured Docker credentials ([#15290](https://github.com/aws/aws-cdk/issues/15290)) ([e530195](https://github.com/aws/aws-cdk/commit/e530195c352c74d3bd3f297c9bf923c35d1ed013)), closes [#10999](https://github.com/aws/aws-cdk/issues/10999) [#11774](https://github.com/aws/aws-cdk/issues/11774) +* **cfnspec:** cloudformation spec v38.0.0 ([#15044](https://github.com/aws/aws-cdk/issues/15044)) ([271d948](https://github.com/aws/aws-cdk/commit/271d948883c7b26d2afd773ae1b3b05478bb6abd)) +* **cfnspec:** cloudformation spec v38.0.0 ([#15044](https://github.com/aws/aws-cdk/issues/15044)) ([632d518](https://github.com/aws/aws-cdk/commit/632d518f7de772aeac3f25f32f89e0406e6ddb33)) +* **cfnspec:** cloudformation spec v39.1.0 ([#15144](https://github.com/aws/aws-cdk/issues/15144)) ([abc457e](https://github.com/aws/aws-cdk/commit/abc457e40396e5863ba460fd8a3bcce0da3ef385)) +* **cfnspec:** cloudformation spec v39.3.0 ([#15311](https://github.com/aws/aws-cdk/issues/15311)) ([94eb3a8](https://github.com/aws/aws-cdk/commit/94eb3a8a02eed77581d81efc02214dc976ba6bfc)) +* **cli:** read outputs-file parameter from cdk.json ([#15095](https://github.com/aws/aws-cdk/issues/15095)) ([9e933ca](https://github.com/aws/aws-cdk/commit/9e933ca21677ab3b77a4b415bf15ad9ab708082c)), closes [#14307](https://github.com/aws/aws-cdk/issues/14307) +* **cloudfront:** add fromFile for CF functions ([#14980](https://github.com/aws/aws-cdk/issues/14980)) ([31c9338](https://github.com/aws/aws-cdk/commit/31c933895e58a68d4d2edc72917fcc43a8e7304e)), closes [#14967](https://github.com/aws/aws-cdk/issues/14967) +* **cloudwatch:** use `string` instead of `any` for cloudwatch dimension values ([#15097](https://github.com/aws/aws-cdk/issues/15097)) ([dc3cf13](https://github.com/aws/aws-cdk/commit/dc3cf130d779c276569500bff54e44d4eb0c4763)), closes [#14978](https://github.com/aws/aws-cdk/issues/14978) +* **codepipeline:** allow granting manual approval permissions ([#15102](https://github.com/aws/aws-cdk/issues/15102)) ([b2037d3](https://github.com/aws/aws-cdk/commit/b2037d3b1a63715f71587681c84a5fd34be939a7)) +* **codestarnotifications:** new L2 constructs ([#10833](https://github.com/aws/aws-cdk/issues/10833)) ([645ebe1](https://github.com/aws/aws-cdk/commit/645ebe119f7aa4484e72b83770b8ceb433eb7d2d)), closes [#9680](https://github.com/aws/aws-cdk/issues/9680) +* **core:** allow user to provide docker --security-opt when bundling ([#14682](https://github.com/aws/aws-cdk/issues/14682)) ([a418ea6](https://github.com/aws/aws-cdk/commit/a418ea67c3481cf95209844df232e84c323b5bb8)) +* **core:** Support platform flag during asset build ([#14908](https://github.com/aws/aws-cdk/issues/14908)) ([0189a9a](https://github.com/aws/aws-cdk/commit/0189a9af921dcaffab8a44868be27df0608503d6)) +* **dynamodb:** allow using Kinesis stream in Table ([#15199](https://github.com/aws/aws-cdk/issues/15199)) ([7bc6c6e](https://github.com/aws/aws-cdk/commit/7bc6c6eb14ee73c490caa649aeff509e34eb2c52)), closes [#14534](https://github.com/aws/aws-cdk/issues/14534) +* **dynamodb:** exposes schema method to return partition and sort key of table or secondary indexes ([#15111](https://github.com/aws/aws-cdk/issues/15111)) ([1137eb7](https://github.com/aws/aws-cdk/commit/1137eb70d5a0afd6a39667c41bbb36fea5fca90a)), closes [#7680](https://github.com/aws/aws-cdk/issues/7680) +* **ecs-patterns:** Add ability to configure VisibilityTimeout on QueueProcessing service pattern ([#15052](https://github.com/aws/aws-cdk/issues/15052)) ([350d783](https://github.com/aws/aws-cdk/commit/350d7834e6110498bddcec7e4a5ce59e86211c97)) +* **ecs-patterns:** allow specifying security groups on ScheduledTask pattern ([#15096](https://github.com/aws/aws-cdk/issues/15096)) ([6bdf1c0](https://github.com/aws/aws-cdk/commit/6bdf1c0382e4cce4e300a7ff50ddb9f2adf3d76b)), closes [#5213](https://github.com/aws/aws-cdk/issues/5213) [#14220](https://github.com/aws/aws-cdk/issues/14220) +* **ecs-patterns:** expose task target on ScheduledTask pattern ([#15127](https://github.com/aws/aws-cdk/issues/15127)) ([c31c59a](https://github.com/aws/aws-cdk/commit/c31c59a00cd7a43ddd31b9225785fe96c61e944d)), closes [#14971](https://github.com/aws/aws-cdk/issues/14971) [#14953](https://github.com/aws/aws-cdk/issues/14953) [#12609](https://github.com/aws/aws-cdk/issues/12609) +* **eks:** taints for managed node groups ([#14792](https://github.com/aws/aws-cdk/issues/14792)) ([0556e6b](https://github.com/aws/aws-cdk/commit/0556e6b710c53dacf6b65926b4cc5b82fb082ee6)) +* **events:** allows importing event bus from name ([#15087](https://github.com/aws/aws-cdk/issues/15087)) ([e39b6c5](https://github.com/aws/aws-cdk/commit/e39b6c5b8b044e32b11d146675ef869aa9c22288)), closes [#14072](https://github.com/aws/aws-cdk/issues/14072) +* **lambda-event-sources:** streams - report batch item failures ([#14458](https://github.com/aws/aws-cdk/issues/14458)) ([3d4a13e](https://github.com/aws/aws-cdk/commit/3d4a13ee7ec241da72100c433a8728c40ca9f46e)), closes [#12654](https://github.com/aws/aws-cdk/issues/12654) +* **logs:** make the addition of permissions to Lambda functions optional ([#14222](https://github.com/aws/aws-cdk/issues/14222)) ([0c50ec9](https://github.com/aws/aws-cdk/commit/0c50ec920bb7941cc510ac66bc36c21d95c92027)), closes [#14198](https://github.com/aws/aws-cdk/issues/14198) +* **migration:** add constructs migration to rewrite script ([#14916](https://github.com/aws/aws-cdk/issues/14916)) ([37a4c8d](https://github.com/aws/aws-cdk/commit/37a4c8d49b6ed1d09eb084088487768e0f2346d0)) +* **s3:** notifications to existing buckets ([#15158](https://github.com/aws/aws-cdk/issues/15158)) ([7d218c2](https://github.com/aws/aws-cdk/commit/7d218c22e5cbfeaf19b1573b537fc34dd07f7b22)), closes [#2004](https://github.com/aws/aws-cdk/issues/2004) +* **secretsmanager:** Allow cross account grant ([#14834](https://github.com/aws/aws-cdk/issues/14834)) ([ea40cfe](https://github.com/aws/aws-cdk/commit/ea40cfe1b85ce4aee9c8f871de08d3c3739589d1)) +* **secretsmanager:** automatically grant permissions to rotation Lambda ([#14882](https://github.com/aws/aws-cdk/issues/14882)) ([ad283b6](https://github.com/aws/aws-cdk/commit/ad283b6e56b1f90fd75409189441a7252d76a225)) +* cloudformation spec v39.1.0 ([af74354](https://github.com/aws/aws-cdk/commit/af7435494ba938b036e85435b5dcb590082fc378)) +* **sns:** add sns service trust to keys for encrypted queue subscriptions ([#14960](https://github.com/aws/aws-cdk/issues/14960)) ([ccc2e30](https://github.com/aws/aws-cdk/commit/ccc2e30bdcc227ef549b0edef99c16282140ae00)), closes [#2504](https://github.com/aws/aws-cdk/issues/2504) +* **sqs:** add support for high throughput fifo ([#15202](https://github.com/aws/aws-cdk/issues/15202)) ([d0c9602](https://github.com/aws/aws-cdk/commit/d0c96021adcead538c302fc9b1d0ec3baf69cb4f)), closes [#15063](https://github.com/aws/aws-cdk/issues/15063) + +### Bug Fixes + +* **aws-elasticloadbalancingv2:** cannot clear access logging bucket prefix ([#15149](https://github.com/aws/aws-cdk/issues/15149)) ([2e93fb9](https://github.com/aws/aws-cdk/commit/2e93fb9a195b6043265562163a3e5c2798a4d122)), closes [#14044](https://github.com/aws/aws-cdk/issues/14044) +* **aws-iam:** prevent adding duplicate resources and actions ([#14712](https://github.com/aws/aws-cdk/issues/14712)) ([a8298cb](https://github.com/aws/aws-cdk/commit/a8298cb378e8dea21ceca66bfc09dd02baec4158)), closes [#13611](https://github.com/aws/aws-cdk/issues/13611) +* **bootstrap:** `deploy-role` could directly access buckets in target account ([#15192](https://github.com/aws/aws-cdk/issues/15192)) ([d04e288](https://github.com/aws/aws-cdk/commit/d04e28862a872ab90c00306193732c72a90c5e7c)), closes [#12985](https://github.com/aws/aws-cdk/issues/12985) [#14082](https://github.com/aws/aws-cdk/issues/14082) [#13422](https://github.com/aws/aws-cdk/issues/13422) +* **cdk-assets:** content type not correctly set when publishing files ([#15069](https://github.com/aws/aws-cdk/issues/15069)) ([9b1a4f9](https://github.com/aws/aws-cdk/commit/9b1a4f9b78bb1c3b057f576411a71b0baf18c3cf)) +* **cfn-include:** NestedStack's Parameters are not converted to strings ([#15098](https://github.com/aws/aws-cdk/issues/15098)) ([8ad33b8](https://github.com/aws/aws-cdk/commit/8ad33b8b1ca23b46bd40e768f0fc44e113ea84e7)), closes [#15092](https://github.com/aws/aws-cdk/issues/15092) +* **cli:** `cdk synth` too eager with validation in Pipelines ([#15147](https://github.com/aws/aws-cdk/issues/15147)) ([ae98e88](https://github.com/aws/aws-cdk/commit/ae98e88a71a57866a3cea31396d3014dda5605bd)), closes [#14613](https://github.com/aws/aws-cdk/issues/14613) [#15130](https://github.com/aws/aws-cdk/issues/15130) +* **cli:** cdk synth doesn't output yaml for stacks with dependency stacks ([#14805](https://github.com/aws/aws-cdk/issues/14805)) ([44feee6](https://github.com/aws/aws-cdk/commit/44feee6d21abe66a55718a53e3a6cf60747ea0f7)), closes [#3721](https://github.com/aws/aws-cdk/issues/3721) +* **cli:** deployment error traceback overwritten by progress bar ([#14812](https://github.com/aws/aws-cdk/issues/14812)) ([d4a0af1](https://github.com/aws/aws-cdk/commit/d4a0af1317b062cd68dca88bf889cf3db80392f8)), closes [#14780](https://github.com/aws/aws-cdk/issues/14780) +* **cli:** HTTP timeout is too low for some asset uploads ([#13575](https://github.com/aws/aws-cdk/issues/13575)) ([23c58d6](https://github.com/aws/aws-cdk/commit/23c58d6908ae56d2ea3328bf2beef1a8c0ac4e76)), closes [#13183](https://github.com/aws/aws-cdk/issues/13183) +* **cli:** option `--all` selects stacks in nested assemblies ([#15046](https://github.com/aws/aws-cdk/issues/15046)) ([0d00e50](https://github.com/aws/aws-cdk/commit/0d00e50743074e31b40bcb46e6d4e0869a11419b)) +* **cli:** partition is not being resolved at missing value lookup ([#15146](https://github.com/aws/aws-cdk/issues/15146)) ([cc7191e](https://github.com/aws/aws-cdk/commit/cc7191e223ee3a19db3d46fd815236ca68bd36e4)), closes [#15119](https://github.com/aws/aws-cdk/issues/15119) +* **cli:** stack glob patterns only select one stack ([#15071](https://github.com/aws/aws-cdk/issues/15071)) ([fcd2a6e](https://github.com/aws/aws-cdk/commit/fcd2a6ee1466577b905e379238e9483607deb560)) +* **cloudfront:** cannot set header including 'authorization' in OriginRequestPolicy ([#15327](https://github.com/aws/aws-cdk/issues/15327)) ([3a2f642](https://github.com/aws/aws-cdk/commit/3a2f642ed6f2a785e58299cf303e680685454cf8)), closes [#15286](https://github.com/aws/aws-cdk/issues/15286) +* **codebuild:** Project's Role has permissions to the entire Bucket when using S3 as the source ([#15112](https://github.com/aws/aws-cdk/issues/15112)) ([9d01b4f](https://github.com/aws/aws-cdk/commit/9d01b4fabdf50a1e6691c054a674d768e5816a3c)) +* **codebuild:** Secret env variable as token from another account fails on Key decryption ([#14483](https://github.com/aws/aws-cdk/issues/14483)) ([91e80d7](https://github.com/aws/aws-cdk/commit/91e80d7a4b69726a525e4af0e603788343cf1615)), closes [#14477](https://github.com/aws/aws-cdk/issues/14477) +* **codepipeline-actions:** reduce S3SourceAction role permissions to just the key ([#15304](https://github.com/aws/aws-cdk/issues/15304)) ([d2c76aa](https://github.com/aws/aws-cdk/commit/d2c76aa23f5ac0d596bce7c648753f05a8dd718f)), closes [#15112](https://github.com/aws/aws-cdk/issues/15112) +* **core:** `1 hour` renders as `60 minutes` ([#15125](https://github.com/aws/aws-cdk/issues/15125)) ([adcd8c3](https://github.com/aws/aws-cdk/commit/adcd8c31c4a3c5d453fea931b32d40534763daa5)) +* **core:** CloudFormation dynamic references can't be assigned to num… ([#14913](https://github.com/aws/aws-cdk/issues/14913)) ([39aacc8](https://github.com/aws/aws-cdk/commit/39aacc81e4a97f6de504de52d276a8d082059a0c)), closes [#14824](https://github.com/aws/aws-cdk/issues/14824) +* **core:** parsing an ARN with a slash after a colon in the resource part fails ([#15166](https://github.com/aws/aws-cdk/issues/15166)) ([16b8a4e](https://github.com/aws/aws-cdk/commit/16b8a4e24d13948c9a7092df183693ddd2d4be0b)), closes [/github.com/aws/aws-cdk/pull/15140/files#r653112073](https://github.com/aws//github.com/aws/aws-cdk/pull/15140/files/issues/r653112073) +* **ecs:** TagParameterContainerImage cannot be used across accounts ([#15073](https://github.com/aws/aws-cdk/issues/15073)) ([486f2e5](https://github.com/aws/aws-cdk/commit/486f2e5518ab5abb69a3e3986e4f3581aa42d15b)), closes [#15070](https://github.com/aws/aws-cdk/issues/15070) +* **eks:** kubectl version 1.21.0 breaks object pruning ([#15314](https://github.com/aws/aws-cdk/issues/15314)) ([623689d](https://github.com/aws/aws-cdk/commit/623689dc0fe7a46ef8ae5c0b04ad7f8fd4bc2b58)), closes [#15072](https://github.com/aws/aws-cdk/issues/15072) +* **eks:** kubectl version 1.21.0 breaks object pruning ([#15314](https://github.com/aws/aws-cdk/issues/15314)) ([74da5c1](https://github.com/aws/aws-cdk/commit/74da5c1a2b7f6f2132ac5909d60e02ee109184a2)), closes [#15072](https://github.com/aws/aws-cdk/issues/15072) +* **elasticsearch:** Domain.fromDomainAttributes gives "Invalid URL" when endpoint is a token ([#15219](https://github.com/aws/aws-cdk/issues/15219)) ([ecb5af8](https://github.com/aws/aws-cdk/commit/ecb5af8128ff907125910184dafca19fa9d672e3)), closes [#15188](https://github.com/aws/aws-cdk/issues/15188) +* **lambda:** deployment failure when layers are added to container functions ([#15037](https://github.com/aws/aws-cdk/issues/15037)) ([8127cf2](https://github.com/aws/aws-cdk/commit/8127cf29ef7a3fc9d85c94c41a3cc78b3d3d703f)), closes [#14143](https://github.com/aws/aws-cdk/issues/14143) +* **lambda-event-sources:** kafka event source expects credentials even when accessed via vpc ([#14804](https://github.com/aws/aws-cdk/issues/14804)) ([5eb1e75](https://github.com/aws/aws-cdk/commit/5eb1e7503d04f193e9194c87f7f0120afff4520a)) +* **lambda-nodejs:** unstable asset hashes with bundling.nodeModules ([#15229](https://github.com/aws/aws-cdk/issues/15229)) ([4b5418c](https://github.com/aws/aws-cdk/commit/4b5418c786764fbe7cb68d80cbe0cafec7d756b5)), closes [#15023](https://github.com/aws/aws-cdk/issues/15023) +* **secretsmanager:** support secrets rotation in partition 'aws-cn' ([#14608](https://github.com/aws/aws-cdk/issues/14608)) ([5061a8d](https://github.com/aws/aws-cdk/commit/5061a8d9c59bc7380290de93aa13e4d6e8119932)), closes [#13385](https://github.com/aws/aws-cdk/issues/13385) +* **stepfunctions-tasks:** checking for task token in EcsRunTask containerOverrides causes memory explosion ([#15187](https://github.com/aws/aws-cdk/issues/15187)) ([af53798](https://github.com/aws/aws-cdk/commit/af53798d8fdd7d244da344585602f4f24c09806b)), closes [#15124](https://github.com/aws/aws-cdk/issues/15124) +* **stepfunctions-tasks:** EcsRunTask containerOverrides throws if container name doesn't match construct ID ([#15190](https://github.com/aws/aws-cdk/issues/15190)) ([5f59787](https://github.com/aws/aws-cdk/commit/5f597877c75f9e92d3bf08eedb5007ecc3cb001e)), closes [#15171](https://github.com/aws/aws-cdk/issues/15171) +* **stepfunctions-tasks:** instance type for SageMakerCreateTrainingJob cannot be specified dynamically through JSONPath ([#15215](https://github.com/aws/aws-cdk/issues/15215)) ([9280d95](https://github.com/aws/aws-cdk/commit/9280d95afa522b77b1044140e48da5895f742112)), closes [#11928](https://github.com/aws/aws-cdk/issues/11928) + +## [2.0.0-rc.11](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.10...v2.0.0-rc.11) (2021-07-07) + +## [2.0.0-rc.10](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.9...v2.0.0-rc.10) (2021-06-30) + +## [2.0.0-rc.9](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.8...v2.0.0-rc.9) (2021-06-23) + +## [2.0.0-rc.8](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.7...v2.0.0-rc.8) (2021-06-16) + +### Features + +* **ecs-patterns:** Add Load Balancer name to ApplicationLoadBalancedFargateService props ([#14831](https://github.com/aws/aws-cdk/issues/14831)) ([c432fb4](https://github.com/aws/aws-cdk/commit/c432fb40e793bac27fdf9197bb2ef7b0765c5daa)) +* **ecs-patterns:** Add support for Docker labels to ECS Patterns ([#14783](https://github.com/aws/aws-cdk/issues/14783)) ([00c11b5](https://github.com/aws/aws-cdk/commit/00c11b512b45a65c632c24893ccd576e076a98d3)) + +### Bug Fixes + +* **ecs:** Can't enable both Fargate and ASG capacity providers on ECS Cluster ([#15012](https://github.com/aws/aws-cdk/issues/15012)) ([6b2d0e0](https://github.com/aws/aws-cdk/commit/6b2d0e0c867651cd632be9ca99c6e342fb3c1067)), closes [#14730](https://github.com/aws/aws-cdk/issues/14730) + +## [2.0.0-rc.7](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.6...v2.0.0-rc.7) (2021-06-09) + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **cfnspec:** `imageScanningConfiguration` property of `ecr.CfnRepository` now accepts `scanOnPush` instead of `ScanOnPush` (notice the casing change). +- **appmesh**: the creation property `clientPolicy` in `VirtualGateway` has been renamed to `tlsClientPolicy`, and its type changed to `TlsClientPolicy` +- **appmesh**: to create `TlsClientPolicy`, `validation` property must be defined. + +### Features + +* **cfnspec:** cloudformation spec v37.1.0 ([#14951](https://github.com/aws/aws-cdk/issues/14951)) ([aee0f58](https://github.com/aws/aws-cdk/commit/aee0f58b3c36b2bf8441b1f02c3cc936b55ab6f6)) +* **cli:** new bootstrap supports cross-account lookups ([#14874](https://github.com/aws/aws-cdk/issues/14874)) ([f66f4b8](https://github.com/aws/aws-cdk/commit/f66f4b80da22b4d24d4419acc3984b56d5690b2e)), closes [#8905](https://github.com/aws/aws-cdk/issues/8905) +* **cloudfront:** add L2 support for CloudFront functions ([#14511](https://github.com/aws/aws-cdk/issues/14511)) ([40d2ff9](https://github.com/aws/aws-cdk/commit/40d2ff964c97954c70d79a09d60fcb795ef16791)) +* **cognito:** user pool - customize mfa message ([#14241](https://github.com/aws/aws-cdk/issues/14241)) ([a12db62](https://github.com/aws/aws-cdk/commit/a12db624ce394f5b9e786a5eea35be6716265673)) +* **custom-resources:** support custom lambda role in provider framework ([#12131](https://github.com/aws/aws-cdk/issues/12131)) ([bc01207](https://github.com/aws/aws-cdk/commit/bc0120719b8e16737b484c6b504b99d99656d1e1)), closes [#12126](https://github.com/aws/aws-cdk/issues/12126) +* **ec2:** Implement UserData methods in MultipartUserData ([#14347](https://github.com/aws/aws-cdk/issues/14347)) ([d1b6ce4](https://github.com/aws/aws-cdk/commit/d1b6ce44f6058c8ae037696a4e0d0557f9375062)) +* **ecs:** Adding support for ECS Exec ([#14670](https://github.com/aws/aws-cdk/issues/14670)) ([b35328c](https://github.com/aws/aws-cdk/commit/b35328c1197dfed572532e114d1ded89ddb523ac)) +* **eks:** support Kubernetes 1.20 ([#14758](https://github.com/aws/aws-cdk/issues/14758)) ([1956ef6](https://github.com/aws/aws-cdk/commit/1956ef6708d59329da61fbdd6056de4727e1e2e1)), closes [#14756](https://github.com/aws/aws-cdk/issues/14756) +* **elb:** set accessLoggingPolicy property with L2 LoadBalancer ([#14983](https://github.com/aws/aws-cdk/issues/14983)) ([252dfa2](https://github.com/aws/aws-cdk/commit/252dfa2f84f24ef57ab632e8ee5092544c850a5f)), closes [#14972](https://github.com/aws/aws-cdk/issues/14972) +* **events:** support embedded string variables ([#13487](https://github.com/aws/aws-cdk/issues/13487)) ([a5d27aa](https://github.com/aws/aws-cdk/commit/a5d27aabc7cab223f4000946506aa0c06c5f34b5)), closes [#9191](https://github.com/aws/aws-cdk/issues/9191) [#9191](https://github.com/aws/aws-cdk/issues/9191) +* **kms:** introduce `fromCfnKey()` method ([#14859](https://github.com/aws/aws-cdk/issues/14859)) ([1ff5b9e](https://github.com/aws/aws-cdk/commit/1ff5b9e5b728116171cb1922a861c1ecd4105292)), closes [#9719](https://github.com/aws/aws-cdk/issues/9719) [#14795](https://github.com/aws/aws-cdk/issues/14795) [#14809](https://github.com/aws/aws-cdk/issues/14809) +* **route-53:** add ability to create DS Records ([#14726](https://github.com/aws/aws-cdk/issues/14726)) ([f0c9726](https://github.com/aws/aws-cdk/commit/f0c9726487f9a46a4637f093725b7e0eb5dd4791)) +* Parameterize bootstrap stack version ([#14626](https://github.com/aws/aws-cdk/issues/14626)) ([a37108c](https://github.com/aws/aws-cdk/commit/a37108cef1132d21443561cc36771a30a7a53598)) +* **route53-targets:** route53 record target ([#14820](https://github.com/aws/aws-cdk/issues/14820)) ([b22da80](https://github.com/aws/aws-cdk/commit/b22da808ff124fddc643adc3b66dbd6e435cf175)), closes [#14800](https://github.com/aws/aws-cdk/issues/14800) +* **s3:** support ExpiredObjectDeleteMarker ([#14970](https://github.com/aws/aws-cdk/issues/14970)) ([f932e0f](https://github.com/aws/aws-cdk/commit/f932e0fbcf95f755d11bd322e6ac9c350b38c149)), closes [#14752](https://github.com/aws/aws-cdk/issues/14752) + +### Bug Fixes + +* **cli:** cross account docker image assets upload no longer works ([#14816](https://github.com/aws/aws-cdk/issues/14816)) ([14fbb11](https://github.com/aws/aws-cdk/commit/14fbb11af407a5834dedb6aeb095285dd44695ba)), closes [#14815](https://github.com/aws/aws-cdk/issues/14815) +* **cli:** image publishing role doesn't have docker pull permissions ([#14662](https://github.com/aws/aws-cdk/issues/14662)) ([beaffa9](https://github.com/aws/aws-cdk/commit/beaffa9aec25875649ad4ef02d0885d8de0f5eac)), closes [#14656](https://github.com/aws/aws-cdk/issues/14656) +* **core:** property overrides fail for references ([#15018](https://github.com/aws/aws-cdk/issues/15018)) ([ebac8bc](https://github.com/aws/aws-cdk/commit/ebac8bc08885d6862f75b1133752b639dcf54b1c)) +* **docs:** fixed typos in documentation ([#14760](https://github.com/aws/aws-cdk/issues/14760)) ([ced9b38](https://github.com/aws/aws-cdk/commit/ced9b38e0e30613befd48a9e198086412d19c175)) +* **ec2:** add missing entry for XLARGE3 ([#14750](https://github.com/aws/aws-cdk/issues/14750)) ([af6d49f](https://github.com/aws/aws-cdk/commit/af6d49f2e245b60ae3bbea3bb2c5d283beedba3f)) +* **elasticsearch:** 'r6gd' not marked as supported type for instance storage ([#14894](https://github.com/aws/aws-cdk/issues/14894)) ([d07a49f](https://github.com/aws/aws-cdk/commit/d07a49ff00ae07ea013ce6cc83d768e7729225a8)), closes [#14773](https://github.com/aws/aws-cdk/issues/14773) +* **events:** AwsApi warns if service does not exist ([#13352](https://github.com/aws/aws-cdk/issues/13352)) ([3bad98f](https://github.com/aws/aws-cdk/commit/3bad98f9cafa88c4c8a26502798afea3c3f0e146)), closes [#13090](https://github.com/aws/aws-cdk/issues/13090) +* **lambda-nodejs:** cannot bundle locally when consuming a node module with a NodejsFunction ([#14914](https://github.com/aws/aws-cdk/issues/14914)) ([52da59c](https://github.com/aws/aws-cdk/commit/52da59c34c4be74d696af0637521eeb0d6e69fa9)), closes [#14739](https://github.com/aws/aws-cdk/issues/14739) +* **lambda-nodejs:** pnpm exec command ([#14954](https://github.com/aws/aws-cdk/issues/14954)) ([df16d40](https://github.com/aws/aws-cdk/commit/df16d40352e56c2d4b33b2066f3fe030792d32d6)), closes [#14757](https://github.com/aws/aws-cdk/issues/14757) [#14772](https://github.com/aws/aws-cdk/issues/14772) +* **s3:** `autoDeleteObjects` had redundant `GetObject*` permissions ([#14573](https://github.com/aws/aws-cdk/issues/14573)) ([f9be15d](https://github.com/aws/aws-cdk/commit/f9be15d9bd130519735077cda079c2e6e9e43a02)), closes [#14572](https://github.com/aws/aws-cdk/issues/14572) +* **stepfunctions:** repeated object references not allowed even if not a circular reference ([#14628](https://github.com/aws/aws-cdk/issues/14628)) ([486990f](https://github.com/aws/aws-cdk/commit/486990f9d771779cacb008dfe347a65705146818)), closes [#14596](https://github.com/aws/aws-cdk/issues/14596) + +## [2.0.0-rc.6](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.5...v2.0.0-rc.6) (2021-06-02) + +## [2.0.0-rc.5](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.4...v2.0.0-rc.5) (2021-05-28) + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +- **appmesh**: the creation property `tlsCertificate` in `VirtualGatewayListener` has been renamed to `tls`, and its type changed to `TlsListener` +- **appmesh**: the `tlsMode` property has been removed from the options when creating a `TlsCertificate`, moved to the new `TlsListener` interface, and renamed `mode` +* **lambda-nodejs:** using `banner` and `footer` now requires `esbuild` >= 0.9.0 + +### Features + +* **dynamodb:** add ability to enable contributor insights on Table ([#14742](https://github.com/aws/aws-cdk/issues/14742)) ([3c7a89d](https://github.com/aws/aws-cdk/commit/3c7a89de6edaf7a1910bf716419dbe5568d79374)) +* allow taskRole to be passed in on creation of an ECS service ([3e257a0](https://github.com/aws/aws-cdk/commit/3e257a0e554851b7393f52bbbea2f5187673e8a7)) +* **cfnspec:** cloudformation spec v36.0.0 ([#14791](https://github.com/aws/aws-cdk/issues/14791)) ([3a9f56d](https://github.com/aws/aws-cdk/commit/3a9f56d5167aab6a1bd0bf8b29b53dd8658a2313)) +* **cfnspec:** cloudformation spec v37.0.0 ([#14873](https://github.com/aws/aws-cdk/issues/14873)) ([8bb4357](https://github.com/aws/aws-cdk/commit/8bb4357036f549af1235de81f2f5c528f5fa80f8)) +* **cloudwatch:** GraphWidget supports period and statistic ([#14679](https://github.com/aws/aws-cdk/issues/14679)) ([b240f6e](https://github.com/aws/aws-cdk/commit/b240f6ece74d129e5f43b210e8ad12f95c4a2971)) +* **custom-resources:** restrict output of AwsCustomResource to list of paths ([#14041](https://github.com/aws/aws-cdk/issues/14041)) ([773ca8c](https://github.com/aws/aws-cdk/commit/773ca8c5d2a845f392f530d7710020075b884c72)), closes [/github.com/aws/aws-cdk/issues/2825#issuecomment-814999890](https://github.com/aws//github.com/aws/aws-cdk/issues/2825/issues/issuecomment-814999890) +* **lambda:** support Principal conditions in Permission ([#14674](https://github.com/aws/aws-cdk/issues/14674)) ([b78a1bb](https://github.com/aws/aws-cdk/commit/b78a1bbf445743d96c8e4f54e7d2e7cac204342a)), closes [#8116](https://github.com/aws/aws-cdk/issues/8116) +* **lambda-nodejs:** pnpm support ([#14772](https://github.com/aws/aws-cdk/issues/14772)) ([b02311c](https://github.com/aws/aws-cdk/commit/b02311cd55b5bdbe408085488dd17816f181fd2c)), closes [#14757](https://github.com/aws/aws-cdk/issues/14757) +* **stepfunctions:** Add support for ResultSelector ([#14648](https://github.com/aws/aws-cdk/issues/14648)) ([50d486a](https://github.com/aws/aws-cdk/commit/50d486ad4e7d175dfac048dbb4abf5e4084ce4fe)), closes [#9904](https://github.com/aws/aws-cdk/issues/9904) + +### Bug Fixes + +* **cli:** Updated typo user to uses ([#14357](https://github.com/aws/aws-cdk/issues/14357)) ([7fe329c](https://github.com/aws/aws-cdk/commit/7fe329cd17502cf04c451153f6d19955621952dc)) +* **cognito:** user pool - phoneNumberVerified attribute fails deployment ([#14699](https://github.com/aws/aws-cdk/issues/14699)) ([cd2589f](https://github.com/aws/aws-cdk/commit/cd2589f560600294cc50988a98e69b091c42e3f8)), closes [#14175](https://github.com/aws/aws-cdk/issues/14175) +* **core:** cannot determine packaging when bundling that produces an archive is skipped ([#14372](https://github.com/aws/aws-cdk/issues/14372)) ([163e812](https://github.com/aws/aws-cdk/commit/163e8122db994d0bea7077f025876dbeac490ead)), closes [#14369](https://github.com/aws/aws-cdk/issues/14369) +* **ecr:** add validations for ECR repository names ([#12613](https://github.com/aws/aws-cdk/issues/12613)) ([396dca9](https://github.com/aws/aws-cdk/commit/396dca965b56bfbe8a7aedb2bcaddb196b5560c4)), closes [#9877](https://github.com/aws/aws-cdk/issues/9877) +* **ecs:** Classes FargateService and Ec2Service have no defaultChild ([#14691](https://github.com/aws/aws-cdk/issues/14691)) ([348e11e](https://github.com/aws/aws-cdk/commit/348e11e26edc0ff90b623b7cec778f4935e61e6d)), closes [#14665](https://github.com/aws/aws-cdk/issues/14665) +* **events-targets:** circular dependency when adding a KMS-encrypted SQS queue ([#14638](https://github.com/aws/aws-cdk/issues/14638)) ([3063818](https://github.com/aws/aws-cdk/commit/3063818aa7c3c3ff56cf55254b0f6561db190a3e)), closes [#11158](https://github.com/aws/aws-cdk/issues/11158) +* **iam:** permissions boundaries not added to custom resource roles ([#14754](https://github.com/aws/aws-cdk/issues/14754)) ([f36feb5](https://github.com/aws/aws-cdk/commit/f36feb52a750a326842903ac4dc23be83e4aee1a)), closes [#13310](https://github.com/aws/aws-cdk/issues/13310) +* **lambda:** changing reserved concurrency fails lambda version deployment ([#14586](https://github.com/aws/aws-cdk/issues/14586)) ([f47d5cb](https://github.com/aws/aws-cdk/commit/f47d5cb48e641515b503bae092cd32071dae2ed9)), closes [#11537](https://github.com/aws/aws-cdk/issues/11537) +* **lambda:** unable to access SingletonFunction vpc connections ([#14533](https://github.com/aws/aws-cdk/issues/14533)) ([49d18ab](https://github.com/aws/aws-cdk/commit/49d18ab8e8f55f8b36584f7fb95427106139a140)), closes [#6261](https://github.com/aws/aws-cdk/issues/6261) +* **lambda-nodejs:** banner and footer values not escaped ([#14743](https://github.com/aws/aws-cdk/issues/14743)) ([81aa612](https://github.com/aws/aws-cdk/commit/81aa61213b4f5e3bd9cbbc155264252bd64d0f5b)), closes [#13576](https://github.com/aws/aws-cdk/issues/13576) +* **lambda-nodejs:** esbuild detection with Yarn 2 in PnP mode ([#14739](https://github.com/aws/aws-cdk/issues/14739)) ([5c84696](https://github.com/aws/aws-cdk/commit/5c84696a88f9319af1b2782b747e10f408c4c8fb)) +* **rds:** Add exception throw when az is defined for multi-az db instance ([#14837](https://github.com/aws/aws-cdk/issues/14837)) ([fd8445f](https://github.com/aws/aws-cdk/commit/fd8445ff1bf94b3dde26211c497bda7211b54dc0)), closes [#10949](https://github.com/aws/aws-cdk/issues/10949) [#10949](https://github.com/aws/aws-cdk/issues/10949) + +## [2.0.0-rc.4](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.3...v2.0.0-rc.4) (2021-05-19) + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +fixes https://github.com/aws/aws-cdk/issues/11640 + +### Features + +* **cfnspec:** cloudformation spec v35.2.0 ([#14610](https://github.com/aws/aws-cdk/issues/14610)) ([799ce1a](https://github.com/aws/aws-cdk/commit/799ce1a7d5fb261cae92d514b4f7e315d8f0e589)) +* **cloudwatch:** time range support for GraphWidget ([#14659](https://github.com/aws/aws-cdk/issues/14659)) ([010a6b1](https://github.com/aws/aws-cdk/commit/010a6b1a14f14be5001779644df3d3a2e27d4e71)), closes [#4649](https://github.com/aws/aws-cdk/issues/4649) +* **cloudwatch:** validate parameters for a metric dimensions (closes [#3116](https://github.com/aws/aws-cdk/issues/3116)) ([#14365](https://github.com/aws/aws-cdk/issues/14365)) ([4a24d61](https://github.com/aws/aws-cdk/commit/4a24d61654ef77557350e35443ddab7597d61736)) +* **ecs:** add support for EC2 Capacity Providers ([#14386](https://github.com/aws/aws-cdk/issues/14386)) ([114f7cc](https://github.com/aws/aws-cdk/commit/114f7ccdaf736988834fe2be487363a992a31369)) +* **elbv2:** preserveClientIp for NetworkTargetGroup ([#14589](https://github.com/aws/aws-cdk/issues/14589)) ([d676ffc](https://github.com/aws/aws-cdk/commit/d676ffccb28d530a18d0e1630df0940632122a27)) +* **kms:** allow specifying key spec and key usage ([#14478](https://github.com/aws/aws-cdk/issues/14478)) ([10ae1a9](https://github.com/aws/aws-cdk/commit/10ae1a902383e69d15a17585268dd836ffb4087b)), closes [#5639](https://github.com/aws/aws-cdk/issues/5639) +* **secretsmanager:** Automatically grant permissions to rotation Lambda ([#14471](https://github.com/aws/aws-cdk/issues/14471)) ([85e00fa](https://github.com/aws/aws-cdk/commit/85e00faf1e3bcc32c2f7aa881d42c6d1f6c17f63)) + +### Bug Fixes + +* **cli:** synth fails if there was an error when synthesizing the stack ([#14613](https://github.com/aws/aws-cdk/issues/14613)) ([71c61e8](https://github.com/aws/aws-cdk/commit/71c61e81ca58c95979f66d7d7b8100777d3c7b99)) +* **lambda:** custom resource fails to connect to efs filesystem ([#14431](https://github.com/aws/aws-cdk/issues/14431)) ([10a633c](https://github.com/aws/aws-cdk/commit/10a633c8cda9f21b85c82f911d88641f3a362c4d)) +* **lambda-event-sources:** incorrect documented defaults for stream types ([#14562](https://github.com/aws/aws-cdk/issues/14562)) ([0ea24e9](https://github.com/aws/aws-cdk/commit/0ea24e95939412765c0e09133a7793557f779c76)), closes [#13908](https://github.com/aws/aws-cdk/issues/13908) +* **lambda-nodejs:** handler filename missing from error message ([#14564](https://github.com/aws/aws-cdk/issues/14564)) ([256fd4c](https://github.com/aws/aws-cdk/commit/256fd4c6fcdbe6519bc70f62415557dbeae950a1)) + +## [2.0.0-rc.3](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.1...v2.0.0-rc.3) (2021-05-12) + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +`IApi` interface. The existing ones are moved into `IHttpApi` and new +ones will be added to `IWebsocketApi`. +the `IStage` interface. The existing ones are moved into `IHttpStage` +and new ones will be added to the `IWebsocketStage`. +* **lambda-nodejs:** the default runtime version for `NodejsFunction` is now always `NODEJS_14_X` (previously the version was derived from the local NodeJS runtime and could be either 12.x or 14.x). + +### Features + +* **aws-ecs:** Expose logdriver "mode" property ([#13965](https://github.com/aws/aws-cdk/issues/13965)) ([28fce22](https://github.com/aws/aws-cdk/commit/28fce2264448820495d921ed08ae0d3084442876)), closes [#13845](https://github.com/aws/aws-cdk/issues/13845) +* **cfnspec:** cloudformation spec v35.0.0 ([#14411](https://github.com/aws/aws-cdk/issues/14411)) ([49e49e7](https://github.com/aws/aws-cdk/commit/49e49e7ef50ee008be66b1887e4e15e51a4ae576)) +* **cfnspec:** cloudformation spec v35.1.0 ([#14518](https://github.com/aws/aws-cdk/issues/14518)) ([bcdff3d](https://github.com/aws/aws-cdk/commit/bcdff3dcd4ecc624e8c1121a12e23683804a9aaf)) +* **cli:** directly deploy stacks in nested assemblies ([#14379](https://github.com/aws/aws-cdk/issues/14379)) ([5a6fa7f](https://github.com/aws/aws-cdk/commit/5a6fa7fa17a5dce5e429eed4ebfe2dbbac3d6d07)) +* **docdb:** Support multiple security groups to DatabaseCluster ([#13290](https://github.com/aws/aws-cdk/issues/13290)) ([1a97b66](https://github.com/aws/aws-cdk/commit/1a97b6664f9124ec21a6db39be600cee0411ab8c)) +* **elasticsearch:** Support version 7.10 ([#14320](https://github.com/aws/aws-cdk/issues/14320)) ([f3a830c](https://github.com/aws/aws-cdk/commit/f3a830cb0d5b68e8f402791c3aaa5d1bcf2df673)) +* **kinesis:** Basic stream level metrics ([#12556](https://github.com/aws/aws-cdk/issues/12556)) ([5f1b576](https://github.com/aws/aws-cdk/commit/5f1b57603330e707bc68f56c267a9e45faa29e55)), closes [#12555](https://github.com/aws/aws-cdk/issues/12555) +* **rds:** allow turning on IAM authentication for Clusters ([#13958](https://github.com/aws/aws-cdk/issues/13958)) ([0e59708](https://github.com/aws/aws-cdk/commit/0e597087bb375a02ac1ce3134d52cf3ee03bb54e)), closes [#13722](https://github.com/aws/aws-cdk/issues/13722) + +### Bug Fixes + +* **aws-cloudwatch:** fix for space in alarm name in alarms for compos… ([#13963](https://github.com/aws/aws-cdk/issues/13963)) ([7cdd541](https://github.com/aws/aws-cdk/commit/7cdd5412e9fed7f9bf877c448196b42725b8edbf)) +* **cfn-include:** correctly parse Fn::Sub expressions containing serialized JSON ([#14512](https://github.com/aws/aws-cdk/issues/14512)) ([fd6d6d0](https://github.com/aws/aws-cdk/commit/fd6d6d0a563816ace616dfe48b3a03f4559636f7)), closes [#14095](https://github.com/aws/aws-cdk/issues/14095) +* `assert` matches more than the template on multiple CDK copies ([#14544](https://github.com/aws/aws-cdk/issues/14544)) ([f8abdbf](https://github.com/aws/aws-cdk/commit/f8abdbfb37ba9efd9e24414f5b64d90f4cf3f7cb)), closes [#14468](https://github.com/aws/aws-cdk/issues/14468) +* **cli:** 'cdk deploy *' should not deploy stacks in nested assemblies ([#14542](https://github.com/aws/aws-cdk/issues/14542)) ([93a3549](https://github.com/aws/aws-cdk/commit/93a3549e7a9791b5074dc95909f3289970800c10)) +* **cli:** 'cdk synth' not able to fail if stacks have errors ([#14475](https://github.com/aws/aws-cdk/issues/14475)) ([963d1c7](https://github.com/aws/aws-cdk/commit/963d1c7755e23ea819481724d7e8c78e31d82294)) +* **CodeBuild:** add resource only once per secret ([#14510](https://github.com/aws/aws-cdk/issues/14510)) ([affaaad](https://github.com/aws/aws-cdk/commit/affaaad4d65e6d4e42a7af465ed990954a0c122a)) +* **lambda-nodejs:** non-deterministic runtime version ([#14538](https://github.com/aws/aws-cdk/issues/14538)) ([527f662](https://github.com/aws/aws-cdk/commit/527f6622146f007035ca669c33ad73861afe608a)), closes [#13893](https://github.com/aws/aws-cdk/issues/13893) +* **rds:** instance identifiers and endpoints of a Cluster are blank ([#14394](https://github.com/aws/aws-cdk/issues/14394)) ([9597d97](https://github.com/aws/aws-cdk/commit/9597d974bc710afd506606dcc7dd11e32b86cff5)), closes [#14377](https://github.com/aws/aws-cdk/issues/14377) +* **s3:** urlForObject does not consider explicit bucket region ([#14315](https://github.com/aws/aws-cdk/issues/14315)) ([e11d537](https://github.com/aws/aws-cdk/commit/e11d5378c33bea609ed09c998b305fdfd28999a9)) +* **ssm:** dynamic SSM parameter reference breaks with lists ([#14527](https://github.com/aws/aws-cdk/issues/14527)) ([3d1baac](https://github.com/aws/aws-cdk/commit/3d1baaca015443d7ee0eecdec9e81dd61e8920ad)), closes [#14205](https://github.com/aws/aws-cdk/issues/14205) [#14476](https://github.com/aws/aws-cdk/issues/14476) + +## [2.0.0-rc.2](https://github.com/aws/aws-cdk/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2021-05-11) + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +`IApi` interface. The existing ones are moved into `IHttpApi` and new +ones will be added to `IWebsocketApi`. +the `IStage` interface. The existing ones are moved into `IHttpStage` +and new ones will be added to the `IWebsocketStage`. +* **lambda-nodejs:** the default runtime version for `NodejsFunction` is now always `NODEJS_14_X` (previously the version was derived from the local NodeJS runtime and could be either 12.x or 14.x). + +### Features + +* **aws-ecs:** Expose logdriver "mode" property ([#13965](https://github.com/aws/aws-cdk/issues/13965)) ([28fce22](https://github.com/aws/aws-cdk/commit/28fce2264448820495d921ed08ae0d3084442876)), closes [#13845](https://github.com/aws/aws-cdk/issues/13845) +* **cfnspec:** cloudformation spec v35.0.0 ([#14411](https://github.com/aws/aws-cdk/issues/14411)) ([49e49e7](https://github.com/aws/aws-cdk/commit/49e49e7ef50ee008be66b1887e4e15e51a4ae576)) +* **cfnspec:** cloudformation spec v35.1.0 ([#14518](https://github.com/aws/aws-cdk/issues/14518)) ([bcdff3d](https://github.com/aws/aws-cdk/commit/bcdff3dcd4ecc624e8c1121a12e23683804a9aaf)) +* **cli:** directly deploy stacks in nested assemblies ([#14379](https://github.com/aws/aws-cdk/issues/14379)) ([5a6fa7f](https://github.com/aws/aws-cdk/commit/5a6fa7fa17a5dce5e429eed4ebfe2dbbac3d6d07)) +* **docdb:** Support multiple security groups to DatabaseCluster ([#13290](https://github.com/aws/aws-cdk/issues/13290)) ([1a97b66](https://github.com/aws/aws-cdk/commit/1a97b6664f9124ec21a6db39be600cee0411ab8c)) +* **elasticsearch:** Support version 7.10 ([#14320](https://github.com/aws/aws-cdk/issues/14320)) ([f3a830c](https://github.com/aws/aws-cdk/commit/f3a830cb0d5b68e8f402791c3aaa5d1bcf2df673)) +* **kinesis:** Basic stream level metrics ([#12556](https://github.com/aws/aws-cdk/issues/12556)) ([5f1b576](https://github.com/aws/aws-cdk/commit/5f1b57603330e707bc68f56c267a9e45faa29e55)), closes [#12555](https://github.com/aws/aws-cdk/issues/12555) +* **rds:** allow turning on IAM authentication for Clusters ([#13958](https://github.com/aws/aws-cdk/issues/13958)) ([0e59708](https://github.com/aws/aws-cdk/commit/0e597087bb375a02ac1ce3134d52cf3ee03bb54e)), closes [#13722](https://github.com/aws/aws-cdk/issues/13722) + +### Bug Fixes + +* **aws-cloudwatch:** fix for space in alarm name in alarms for compos… ([#13963](https://github.com/aws/aws-cdk/issues/13963)) ([7cdd541](https://github.com/aws/aws-cdk/commit/7cdd5412e9fed7f9bf877c448196b42725b8edbf)) +* **cfn-include:** correctly parse Fn::Sub expressions containing serialized JSON ([#14512](https://github.com/aws/aws-cdk/issues/14512)) ([fd6d6d0](https://github.com/aws/aws-cdk/commit/fd6d6d0a563816ace616dfe48b3a03f4559636f7)), closes [#14095](https://github.com/aws/aws-cdk/issues/14095) +* `assert` matches more than the template on multiple CDK copies ([#14544](https://github.com/aws/aws-cdk/issues/14544)) ([f8abdbf](https://github.com/aws/aws-cdk/commit/f8abdbfb37ba9efd9e24414f5b64d90f4cf3f7cb)), closes [#14468](https://github.com/aws/aws-cdk/issues/14468) +* **cli:** 'cdk deploy *' should not deploy stacks in nested assemblies ([#14542](https://github.com/aws/aws-cdk/issues/14542)) ([93a3549](https://github.com/aws/aws-cdk/commit/93a3549e7a9791b5074dc95909f3289970800c10)) +* **cli:** 'cdk synth' not able to fail if stacks have errors ([#14475](https://github.com/aws/aws-cdk/issues/14475)) ([963d1c7](https://github.com/aws/aws-cdk/commit/963d1c7755e23ea819481724d7e8c78e31d82294)) +* **CodeBuild:** add resource only once per secret ([#14510](https://github.com/aws/aws-cdk/issues/14510)) ([affaaad](https://github.com/aws/aws-cdk/commit/affaaad4d65e6d4e42a7af465ed990954a0c122a)) +* **lambda-nodejs:** non-deterministic runtime version ([#14538](https://github.com/aws/aws-cdk/issues/14538)) ([527f662](https://github.com/aws/aws-cdk/commit/527f6622146f007035ca669c33ad73861afe608a)), closes [#13893](https://github.com/aws/aws-cdk/issues/13893) +* **rds:** instance identifiers and endpoints of a Cluster are blank ([#14394](https://github.com/aws/aws-cdk/issues/14394)) ([9597d97](https://github.com/aws/aws-cdk/commit/9597d974bc710afd506606dcc7dd11e32b86cff5)), closes [#14377](https://github.com/aws/aws-cdk/issues/14377) +* **s3:** urlForObject does not consider explicit bucket region ([#14315](https://github.com/aws/aws-cdk/issues/14315)) ([e11d537](https://github.com/aws/aws-cdk/commit/e11d5378c33bea609ed09c998b305fdfd28999a9)) +* **ssm:** dynamic SSM parameter reference breaks with lists ([#14527](https://github.com/aws/aws-cdk/issues/14527)) ([3d1baac](https://github.com/aws/aws-cdk/commit/3d1baaca015443d7ee0eecdec9e81dd61e8920ad)), closes [#14205](https://github.com/aws/aws-cdk/issues/14205) [#14476](https://github.com/aws/aws-cdk/issues/14476) + +## [2.0.0-rc.1](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.14...v2.0.0-rc.1) (2021-04-28) + +## [2.0.0-alpha.14](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.13...v2.0.0-alpha.14) (2021-04-28) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **neptune:** `InstanceType` changed from enum to enum-like static factory. + +### Features + +* **aws-autoscaling:** add support for NewInstancesProtectedFromScaleIn ([#14283](https://github.com/aws/aws-cdk/issues/14283)) ([da9828b](https://github.com/aws/aws-cdk/commit/da9828b829df248d1c3cf8c6011507561328fd5e)) +* **custom-resources:** AwsSdkCall can assume Role for cross-account custom resources ([#13916](https://github.com/aws/aws-cdk/issues/13916)) ([a0690b9](https://github.com/aws/aws-cdk/commit/a0690b970e5c260b17ccf92df052b6bb1291df99)) +* **ec2:** create NAT Gateways with fixed IPs ([#14250](https://github.com/aws/aws-cdk/issues/14250)) ([24c992a](https://github.com/aws/aws-cdk/commit/24c992ac779fd18829d3597f45dd53141d49594a)), closes [#11884](https://github.com/aws/aws-cdk/issues/11884) [#4067](https://github.com/aws/aws-cdk/issues/4067) +* **events:** API Gateway target ([#13823](https://github.com/aws/aws-cdk/issues/13823)) ([ce789bf](https://github.com/aws/aws-cdk/commit/ce789bf6a451e5f93a846cdcc672c2bba071dd20)), closes [#12708](https://github.com/aws/aws-cdk/issues/12708) +* **iam:** add imported user to a group ([#13698](https://github.com/aws/aws-cdk/issues/13698)) ([bf513bc](https://github.com/aws/aws-cdk/commit/bf513bc55e324d5d0ac23c2ddaa1d570a8d2ea1a)) +* **neptune:** change InstanceType to class that is built from string ([#14273](https://github.com/aws/aws-cdk/issues/14273)) ([fc618f9](https://github.com/aws/aws-cdk/commit/fc618f97128ab1dc25b735bd634c52f2c47ef457)), closes [#13923](https://github.com/aws/aws-cdk/issues/13923) +* **secretsmanager:** replicate secrets to multiple regions ([#14266](https://github.com/aws/aws-cdk/issues/14266)) ([b3c288d](https://github.com/aws/aws-cdk/commit/b3c288d7c5781ecb5de90c962a2b68191ed072e1)), closes [#14061](https://github.com/aws/aws-cdk/issues/14061) + + +### Bug Fixes + +* **aws-ecs-patterns, aws-elasticloadbalancingv2:** Pass TargetGroup P… ([#14092](https://github.com/aws/aws-cdk/issues/14092)) ([a655819](https://github.com/aws/aws-cdk/commit/a655819128c11309d88d5f5535678e8c02e292a9)), closes [#14091](https://github.com/aws/aws-cdk/issues/14091) +* **codebuild:** Secret env variable from another account fails on Key decryption ([#14226](https://github.com/aws/aws-cdk/issues/14226)) ([8214338](https://github.com/aws/aws-cdk/commit/82143381ef886a3ae39246ba780efca8e24d679d)), closes [#14043](https://github.com/aws/aws-cdk/issues/14043) +* **codepipeline-actions:** CodeCommit source action fails when it's cross-account ([#14260](https://github.com/aws/aws-cdk/issues/14260)) ([1508e60](https://github.com/aws/aws-cdk/commit/1508e6076aa1d2df3129d734a80defd5e11480e3)), closes [#12391](https://github.com/aws/aws-cdk/issues/12391) [#14156](https://github.com/aws/aws-cdk/issues/14156) +* **ec2:** r5ad instance-type has incorrect value ([#14179](https://github.com/aws/aws-cdk/issues/14179)) ([c80e1cf](https://github.com/aws/aws-cdk/commit/c80e1cfc2ae42158bff544ce48394ee1d1ae9a7b)) +* **iam:** unable to configure name of SAML Provider ([#14296](https://github.com/aws/aws-cdk/issues/14296)) ([904202a](https://github.com/aws/aws-cdk/commit/904202a63760afffadc368e73c22bf4ef4021eee)), closes [#14294](https://github.com/aws/aws-cdk/issues/14294) +* **pipelines:** Use LinuxBuildImage.STANDARD_5_0 for Assets and UpdatePipeline stages ([#14338](https://github.com/aws/aws-cdk/issues/14338)) ([f93d940](https://github.com/aws/aws-cdk/commit/f93d9401309cb2af6ea45760c9bc6442fc608def)) + +## [2.0.0-alpha.13](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.12...v2.0.0-alpha.13) (2021-04-21) + +## [2.0.0-alpha.12](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.11...v2.0.0-alpha.12) (2021-04-21) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **appmesh:** HTTP2 `VirtualNodeListener`s must be now created with `Http2VirtualNodeListenerOptions` +* **appmesh**: HTTP2 `VirtualGatewayListener`s must be now created with `Http2VirtualGatewayListenerOptions` + +### Features + +* **apigateway:** integration timeout ([#14154](https://github.com/aws/aws-cdk/issues/14154)) ([d02770e](https://github.com/aws/aws-cdk/commit/d02770ead89d87e55d36490f5d1fa2a4b8a591f2)), closes [#14123](https://github.com/aws/aws-cdk/issues/14123) +* **appmesh:** add Connection Pools for VirtualNode and VirtualGateway ([#13917](https://github.com/aws/aws-cdk/issues/13917)) ([8a949dc](https://github.com/aws/aws-cdk/commit/8a949dc24b13f8b7da17c102501050bac7323bf7)), closes [#11647](https://github.com/aws/aws-cdk/issues/11647) + + +### Bug Fixes + +* **codepipeline:** detect the account of the Action from its backing resource's account, not its Stack's account ([#14224](https://github.com/aws/aws-cdk/issues/14224)) ([d88e915](https://github.com/aws/aws-cdk/commit/d88e915c45378cac6a1c7eb31b015391e74f6503)), closes [#14165](https://github.com/aws/aws-cdk/issues/14165) +* **pipelines:** incorrect BuildSpec in synth step if synthesized with `--output` ([#14211](https://github.com/aws/aws-cdk/issues/14211)) ([0f5c74f](https://github.com/aws/aws-cdk/commit/0f5c74f76ad023b163777b8b95f8dbc357994087)), closes [#13303](https://github.com/aws/aws-cdk/issues/13303) + +## [2.0.0-alpha.11](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.10...v2.0.0-alpha.11) (2021-04-19) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **codepipeline-actions:** the Action `ServiceCatalogDeployAction` has been renamed to `ServiceCatalogDeployActionBeta1` +* **codepipeline-actions**: the type `ServiceCatalogDeployActionProps` has been renamed to `ServiceCatalogDeployActionBeta1Props` + +### Features + +* **certificatemanager:** allow tagging DnsValidatedCertificate ([#13990](https://github.com/aws/aws-cdk/issues/13990)) ([8360feb](https://github.com/aws/aws-cdk/commit/8360feb58fdc7b1150eca87767e3b71a5e30f50d)), closes [#12382](https://github.com/aws/aws-cdk/issues/12382) [#12382](https://github.com/aws/aws-cdk/issues/12382) +* **codebuild:** allow setting concurrent build limit ([#14185](https://github.com/aws/aws-cdk/issues/14185)) ([3107d03](https://github.com/aws/aws-cdk/commit/3107d03ed2de331ba0eae8ca028aa9a7dbf5a881)) +* **codepipeline:** introduce the Action abstract class ([#14009](https://github.com/aws/aws-cdk/issues/14009)) ([4b6a6cc](https://github.com/aws/aws-cdk/commit/4b6a6cc0e11fd2057b9e23105791098b47c5ca35)) +* **ecs:** add support for elastic inference accelerators in ECS task defintions ([#13950](https://github.com/aws/aws-cdk/issues/13950)) ([23986d7](https://github.com/aws/aws-cdk/commit/23986d70c5cd69ce212b5ffdc1bcf059f438f15b)), closes [#12460](https://github.com/aws/aws-cdk/issues/12460) +* **eks:** Pass bootstrap.sh args to avoid DescribeCluster call and make nodes join the cluster faster ([#12659](https://github.com/aws/aws-cdk/issues/12659)) ([f5616cc](https://github.com/aws/aws-cdk/commit/f5616cc4692975b22db5db4625562dfd0d641045)) +* **elasticloadbalancing:** rename 'sslCertificateId' property of LB listener to 'sslCertificateArn'; deprecate sslCertificateId property ([#13766](https://github.com/aws/aws-cdk/issues/13766)) ([1a30272](https://github.com/aws/aws-cdk/commit/1a30272c8bd99a919bde695b5b1b1f5cb458cb64)), closes [#9303](https://github.com/aws/aws-cdk/issues/9303) [#9303](https://github.com/aws/aws-cdk/issues/9303) + + +### Bug Fixes + +* **aws-cloudfront:** distribution comment length not validated ([#14020](https://github.com/aws/aws-cdk/issues/14020)) ([#14094](https://github.com/aws/aws-cdk/issues/14094)) ([54fddc6](https://github.com/aws/aws-cdk/commit/54fddc64c7b541f9192fb904fa9a3b44b8aacf90)) +* **aws-ecs-patterns:** fixes [#11123](https://github.com/aws/aws-cdk/issues/11123) allow for https listeners to use non Route 53 DNS if a certificate is provided ([#14004](https://github.com/aws/aws-cdk/issues/14004)) ([e6c85e4](https://github.com/aws/aws-cdk/commit/e6c85e4167cdb38ed056eda17b869e179a6dd1c5)) +* **cfn-include:** allow deploy-time values in Parameter substitutions in Fn::Sub expressions ([#14068](https://github.com/aws/aws-cdk/issues/14068)) ([111d26a](https://github.com/aws/aws-cdk/commit/111d26a30d220a319bbb7b1b1696aafac865e009)), closes [#14047](https://github.com/aws/aws-cdk/issues/14047) +* **core:** `toJsonString()` does not deal correctly with list tokens ([#14138](https://github.com/aws/aws-cdk/issues/14138)) ([1a6d39f](https://github.com/aws/aws-cdk/commit/1a6d39fc3f22e2fc36949226e8a07f59a92a0bbf)), closes [#14088](https://github.com/aws/aws-cdk/issues/14088) +* **fsx:** Weekday.SUNDAY incorrectly evaluates to 0 (should be 7) ([#14081](https://github.com/aws/aws-cdk/issues/14081)) ([708f23e](https://github.com/aws/aws-cdk/commit/708f23e78fb0eff2aa17593c530500eb0b94067a)), closes [#14080](https://github.com/aws/aws-cdk/issues/14080) +* **rds:** allow Instances to be referenced across environments ([#13865](https://github.com/aws/aws-cdk/issues/13865)) ([74c7fff](https://github.com/aws/aws-cdk/commit/74c7ffffb48fe5578a405b319cc0df973ceb9989)), closes [#13832](https://github.com/aws/aws-cdk/issues/13832) + + +* **codepipeline-actions:** change the name of the ServiceCatalogDeployAction ([#13780](https://github.com/aws/aws-cdk/issues/13780)) ([a99e901](https://github.com/aws/aws-cdk/commit/a99e9015b2308c99c6b68c3727f839aa039e4fe3)) + +## [2.0.0-alpha.10](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.6...v2.0.0-alpha.10) (2021-03-31) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **core:** The type of the `image` property in `BundlingOptions` +is changed from `BundlingDockerImage` to `DockerImage`. +* **core:** The return type of the `DockerImage.fromBuild()` API is +changed from `BundlingDockerImage` to `DockerImage`. +* **lambda-nodejs:** The type of `image` property in the +`Bundling` class is changed from `BundlingDockerImage` to +`DockerImage`. +* **lambda-nodejs**: The type of `dockerImage` property in +`BundlingOptions` is changed from `BundlingDockerImage` to +`DockerImage`. +* **apigatewayv2:** The type of `allowMethods` property under `corsPreflight` +section is changed from `HttpMethod` to `CorsHttpMethod`. +* **lambda-nodejs:** the default runtime of a `NodejsFunction` is now Node.js 14.x if the environment from which it is deployed uses Node.js >= 14 and Node.js 12.x otherwise. +* **appmesh:** Backend, backend default and Virtual Service client policies structures are being altered +* **appmesh**: you must use the backend default interface to define backend defaults in `VirtualGateway`. + The property name also changed from `backendsDefaultClientPolicy` to `backendDefaults` +* **appmesh**: you must use the backend default interface to define backend defaults in `VirtualNode`, + (the property name also changed from `backendsDefaultClientPolicy` to `backendDefaults`), + and the `Backend` class to define a backend +* **appmesh**: you can no longer attach a client policy to a `VirtualService` +* **apigatewayv2:** `HttpApiMapping` (and related interfaces for `Attributed` and `Props`) has been renamed to `ApiMapping` +* **apigatewayv2:** `CommonStageOptions` has been renamed to `StageOptions` +* **apigatewayv2:** `HttpStage.fromStageName` has been removed in favour of `HttpStage.fromHttpStageAttributes` +* **apigatewayv2:** `DefaultDomainMappingOptions` has been removed in favour of `DomainMappingOptions` +* **apigatewayv2:** `HttpApiProps.defaultDomainMapping` has been changed from `DefaultDomainMappingOptions` to `DomainMappingOptions` +* **apigatewayv2:** `HttpApi.defaultStage` has been changed from `HttpStage` to `IStage` +* **apigatewayv2:** `IHttpApi.defaultStage` has been removed + +### Features + +* **acmpca:** make the ACM PCA module Generally Available (stable) ([#13778](https://github.com/aws/aws-cdk/issues/13778)) ([7ca79ff](https://github.com/aws/aws-cdk/commit/7ca79ffad7c18692edaa2dd26cd0d4d441ecf468)) +* **amplify-domain:** Added config for auto subdomain creation ([#13342](https://github.com/aws/aws-cdk/issues/13342)) ([4c63f09](https://github.com/aws/aws-cdk/commit/4c63f09f1e9644877eaffbe78eede3854bec08ab)) +* **apigatewayv2:** http api - default authorizer options ([#13172](https://github.com/aws/aws-cdk/issues/13172)) ([53d9661](https://github.com/aws/aws-cdk/commit/53d96618ac006d7b3f6282c8b5c4ae7aeed2b104)) +* **apigatewayv2:** websocket api ([#13031](https://github.com/aws/aws-cdk/issues/13031)) ([fe1c839](https://github.com/aws/aws-cdk/commit/fe1c8393e0840fb273c4a5f325cb3cebc784bf4b)), closes [#2872](https://github.com/aws/aws-cdk/issues/2872) +* **appmesh:** add missing route match features ([#13350](https://github.com/aws/aws-cdk/issues/13350)) ([b71efd9](https://github.com/aws/aws-cdk/commit/b71efd9d12843ab4b495d53e565cec97d60748f3)), closes [#11645](https://github.com/aws/aws-cdk/issues/11645) +* **appmesh:** add route retry policies ([#13353](https://github.com/aws/aws-cdk/issues/13353)) ([66f7053](https://github.com/aws/aws-cdk/commit/66f7053a6c1f5cab540e975b30f5a2c6e35df58a)), closes [#11642](https://github.com/aws/aws-cdk/issues/11642) +* **aws-elasticloadbalancingv2:** add protocol version for ALB TargetGroups ([#13570](https://github.com/aws/aws-cdk/issues/13570)) ([165a3d8](https://github.com/aws/aws-cdk/commit/165a3d877b7ab23f29e42e1e74ee7c5cb35b7f24)), closes [#12869](https://github.com/aws/aws-cdk/issues/12869) +* **aws-events:** Event Bus target ([#12926](https://github.com/aws/aws-cdk/issues/12926)) ([ea91aa3](https://github.com/aws/aws-cdk/commit/ea91aa31db9e2f31c734ad6d7e1f64d5d432dfd4)), closes [#9473](https://github.com/aws/aws-cdk/issues/9473) +* **aws-route53-targets:** add global accelerator target to route53 alias targets ([#13407](https://github.com/aws/aws-cdk/issues/13407)) ([2672a55](https://github.com/aws/aws-cdk/commit/2672a55c393e5ce7dd9a230d921ec1be1a23e32a)), closes [#12839](https://github.com/aws/aws-cdk/issues/12839) +* **cfnspec:** cloudformation spec v30.0.0 ([#13365](https://github.com/aws/aws-cdk/issues/13365)) ([ae0185d](https://github.com/aws/aws-cdk/commit/ae0185dd089e3bb7c5639ebc1bce3f95e126f71c)) +* **cfnspec:** cloudformation spec v30.1.0 ([#13519](https://github.com/aws/aws-cdk/issues/13519)) ([7711981](https://github.com/aws/aws-cdk/commit/7711981ea30bfdffd21dd840d676be4a2b45c9ba)) +* **cfnspec:** cloudformation spec v31.0.0 ([#13633](https://github.com/aws/aws-cdk/issues/13633)) ([9b1c786](https://github.com/aws/aws-cdk/commit/9b1c786846f68fdac94b04b76d546c3d47e2251c)) +* **cfnspec:** cloudformation spec v31.1.0 ([#13763](https://github.com/aws/aws-cdk/issues/13763)) ([41a2b2e](https://github.com/aws/aws-cdk/commit/41a2b2ef39a3d2b46ae6e2c6f3480e786e8022b9)) +* **cloudwatch:** EC2 actions ([#13281](https://github.com/aws/aws-cdk/issues/13281)) ([319cfcd](https://github.com/aws/aws-cdk/commit/319cfcdaaf92e4e6edb8c2388d04dce0971aaf86)), closes [#13228](https://github.com/aws/aws-cdk/issues/13228) +* **codebuild:** allow setting queued timeout ([#13467](https://github.com/aws/aws-cdk/issues/13467)) ([e09250b](https://github.com/aws/aws-cdk/commit/e09250bc92c62cb8ee0a8706ce90d0e82faf2d84)), closes [#11364](https://github.com/aws/aws-cdk/issues/11364) +* **codepipeline-actions:** Add detectChanges option to BitBucketSourceAction ([#13656](https://github.com/aws/aws-cdk/issues/13656)) ([f2436bf](https://github.com/aws/aws-cdk/commit/f2436bf4ff3ce7665a6cde318ad3fc7716ca941f)) +* **cognito:** user pools - sign in with apple ([#13160](https://github.com/aws/aws-cdk/issues/13160)) ([b965589](https://github.com/aws/aws-cdk/commit/b965589358f4c281aea36404276f08128e6ff3db)) +* **core:** `description` parameter in the CustomResourceProvider ([#13275](https://github.com/aws/aws-cdk/issues/13275)) ([78831cf](https://github.com/aws/aws-cdk/commit/78831cf9dec0407e7d827711183ac47be070f480)), closes [#13277](https://github.com/aws/aws-cdk/issues/13277) [#13276](https://github.com/aws/aws-cdk/issues/13276) +* **core:** customize bundling output packaging ([#13152](https://github.com/aws/aws-cdk/issues/13152)) ([6eca979](https://github.com/aws/aws-cdk/commit/6eca979f65542f3e44461588d8220e8c0bf76a6e)) +* **dynamodb:** custom timeout for replication operation ([#13354](https://github.com/aws/aws-cdk/issues/13354)) ([6a5a4f2](https://github.com/aws/aws-cdk/commit/6a5a4f2d9bb6b09ad0d10066200fe53bb45f0737)), closes [#10249](https://github.com/aws/aws-cdk/issues/10249) +* **ec2:** Add VPC endpoint for RDS ([#12497](https://github.com/aws/aws-cdk/issues/12497)) ([fc87574](https://github.com/aws/aws-cdk/commit/fc8757437c37a0947cced720ff363b8858850f72)), closes [#12402](https://github.com/aws/aws-cdk/issues/12402) +* **ec2:** client vpn endpoint ([#12234](https://github.com/aws/aws-cdk/issues/12234)) ([4fde59a](https://github.com/aws/aws-cdk/commit/4fde59ac64e8440a05d17a9b5c5622a9dfb43b1f)), closes [#4206](https://github.com/aws/aws-cdk/issues/4206) +* **ec2:** ESP and AH IPsec protocols for Security Groups ([#13471](https://github.com/aws/aws-cdk/issues/13471)) ([f5a6647](https://github.com/aws/aws-cdk/commit/f5a6647bbe1885ba86029d10550a3ffaf80b6561)), closes [#13403](https://github.com/aws/aws-cdk/issues/13403) +* **ec2:** multipart user data ([#11843](https://github.com/aws/aws-cdk/issues/11843)) ([ed94c5e](https://github.com/aws/aws-cdk/commit/ed94c5ef1b9dd3042128b0e0c5bb14b3d9c7d497)), closes [#8315](https://github.com/aws/aws-cdk/issues/8315) +* **ecr:** add imageTagMutability prop ([#10557](https://github.com/aws/aws-cdk/issues/10557)) ([c4dc3bc](https://github.com/aws/aws-cdk/commit/c4dc3bce02790903593d80b070fca81fe7b7f08c)), closes [#4640](https://github.com/aws/aws-cdk/issues/4640) +* **ecs:** ability to access tag parameter value of TagParameterContainerImage ([#13340](https://github.com/aws/aws-cdk/issues/13340)) ([e567a41](https://github.com/aws/aws-cdk/commit/e567a410d47366855ee3e6011aa096ba987b8099)), closes [#13202](https://github.com/aws/aws-cdk/issues/13202) +* **ecs:** add port mappings to containers with props ([#13262](https://github.com/aws/aws-cdk/issues/13262)) ([f511639](https://github.com/aws/aws-cdk/commit/f511639bba156f6edd15896a4dd8e27b07671ea1)), closes [#13261](https://github.com/aws/aws-cdk/issues/13261) +* **ecs:** allow selection of container and port for SRV service discovery records ([#12798](https://github.com/aws/aws-cdk/issues/12798)) ([a452bc3](https://github.com/aws/aws-cdk/commit/a452bc385640762a043392a717d49de29abcc64e)), closes [#12796](https://github.com/aws/aws-cdk/issues/12796) +* **ecs:** allow users to provide a CloudMap service to associate with an ECS service ([#13192](https://github.com/aws/aws-cdk/issues/13192)) ([a7d314c](https://github.com/aws/aws-cdk/commit/a7d314c73b9473208d94bac29ad9bd8018e00204)), closes [#10057](https://github.com/aws/aws-cdk/issues/10057) +* **ecs-patterns:** Add ECS deployment circuit breaker support to higher-level constructs ([#12719](https://github.com/aws/aws-cdk/issues/12719)) ([e80a98a](https://github.com/aws/aws-cdk/commit/e80a98aa8839e9b9b89701158d82b991e9ebaa65)), closes [#12534](https://github.com/aws/aws-cdk/issues/12534) [#12360](https://github.com/aws/aws-cdk/issues/12360) +* **elbv2:** allow control of ingress rules on redirect listener ([#12768](https://github.com/aws/aws-cdk/issues/12768)) ([b7b441f](https://github.com/aws/aws-cdk/commit/b7b441f74a07d26fd8de23df84e7ab4663c89c0c)), closes [#12766](https://github.com/aws/aws-cdk/issues/12766) +* **events:** `EventBus.grantPutEventsTo` method for granular grants ([#13429](https://github.com/aws/aws-cdk/issues/13429)) ([122a232](https://github.com/aws/aws-cdk/commit/122a232343699304d8f206d3024fcddfb2a94bc8)), closes [#11228](https://github.com/aws/aws-cdk/issues/11228) +* **events:** archive events ([#12060](https://github.com/aws/aws-cdk/issues/12060)) ([465cd9c](https://github.com/aws/aws-cdk/commit/465cd9c434acff74070ca6d33891e1481e253128)), closes [#11531](https://github.com/aws/aws-cdk/issues/11531) +* **events:** dead letter queue for Lambda Targets ([#11617](https://github.com/aws/aws-cdk/issues/11617)) ([1bb3650](https://github.com/aws/aws-cdk/commit/1bb3650c5dd2087b05793a5e903cdfb80fc5c1ad)), closes [#11612](https://github.com/aws/aws-cdk/issues/11612) +* **events:** dead-letter queue support for CodeBuild ([#13448](https://github.com/aws/aws-cdk/issues/13448)) ([abfc0ea](https://github.com/aws/aws-cdk/commit/abfc0ea63c10d8033a529b7497cf093e318fdf12)), closes [#13447](https://github.com/aws/aws-cdk/issues/13447) +* **events:** dead-letter queue support for StepFunctions ([#13450](https://github.com/aws/aws-cdk/issues/13450)) ([0ebcb41](https://github.com/aws/aws-cdk/commit/0ebcb4160ee16f0f7ff1072a40c8951f9a983048)), closes [#13449](https://github.com/aws/aws-cdk/issues/13449) +* **events:** retry-policy support ([#13660](https://github.com/aws/aws-cdk/issues/13660)) ([7966f8d](https://github.com/aws/aws-cdk/commit/7966f8d48c4bff26beb22856d289f9d0c7e7081d)), closes [#13659](https://github.com/aws/aws-cdk/issues/13659) +* **events,applicationautoscaling:** schedule can be a token ([#13064](https://github.com/aws/aws-cdk/issues/13064)) ([b1449a1](https://github.com/aws/aws-cdk/commit/b1449a178b0f9a8a951c2546428f8d75c6431f0f)) +* **iam:** SAML identity provider ([#13393](https://github.com/aws/aws-cdk/issues/13393)) ([faa0c06](https://github.com/aws/aws-cdk/commit/faa0c060dad9a5045495707e28fc85f223d4db5d)), closes [#5320](https://github.com/aws/aws-cdk/issues/5320) +* **init-templates:** app template comes with hint comments for 'env' ([#13696](https://github.com/aws/aws-cdk/issues/13696)) ([b940710](https://github.com/aws/aws-cdk/commit/b9407102304f043adcd9a4fc1cde4d23d3da9004)), closes [#12321](https://github.com/aws/aws-cdk/issues/12321) +* **lambda:** Code.fromDockerBuild ([#13318](https://github.com/aws/aws-cdk/issues/13318)) ([ad01099](https://github.com/aws/aws-cdk/commit/ad01099d5b8f835c3b87d7d20fd2dc1a5df2fd6f)), closes [#13273](https://github.com/aws/aws-cdk/issues/13273) +* **lambda-event-sources:** msk and self-managed kafka event sources ([#12507](https://github.com/aws/aws-cdk/issues/12507)) ([73209e1](https://github.com/aws/aws-cdk/commit/73209e17f314cf61f703d51ef3b9f197d2f1bdc3)), closes [#12099](https://github.com/aws/aws-cdk/issues/12099) +* **lambda-event-sources:** support for batching window to sqs event source ([#13406](https://github.com/aws/aws-cdk/issues/13406)) ([6743e3b](https://github.com/aws/aws-cdk/commit/6743e3bb79a8281a4be5677fff018d702c85038d)), closes [#11722](https://github.com/aws/aws-cdk/issues/11722) [#11724](https://github.com/aws/aws-cdk/issues/11724) [#13770](https://github.com/aws/aws-cdk/issues/13770) +* **lambda-event-sources:** tumbling window ([#13412](https://github.com/aws/aws-cdk/issues/13412)) ([e9f2773](https://github.com/aws/aws-cdk/commit/e9f2773aedeb7f01ebf2a05face719be9bb8b0d7)), closes [#13411](https://github.com/aws/aws-cdk/issues/13411) +* **neptune:** high level constructs for db clusters and instances ([#12763](https://github.com/aws/aws-cdk/issues/12763)) ([c366837](https://github.com/aws/aws-cdk/commit/c36683701d88eb0c53fdd2add66b10c47c05f56b)), closes [aws#12762](https://github.com/aws/aws/issues/12762) +* **neptune:** Support IAM authentication ([#13462](https://github.com/aws/aws-cdk/issues/13462)) ([6c5b1f4](https://github.com/aws/aws-cdk/commit/6c5b1f42fb73a132d47945b529bab73557f2b9d8)), closes [#13461](https://github.com/aws/aws-cdk/issues/13461) +* **rds:** make rds secret name configurable ([#13626](https://github.com/aws/aws-cdk/issues/13626)) ([62a91b7](https://github.com/aws/aws-cdk/commit/62a91b7a30f8b6419a983d7ea7bdb3c39f2fdfd0)), closes [#8984](https://github.com/aws/aws-cdk/issues/8984) +* **region-info:** added AppMesh ECR account for af-south-1 region ([#12814](https://github.com/aws/aws-cdk/issues/12814)) ([b3fba43](https://github.com/aws/aws-cdk/commit/b3fba43a047df61e713e8d2271d6deee7e07b716)) +* **sns:** enable passing PolicyDocument to TopicPolicy ([#10559](https://github.com/aws/aws-cdk/issues/10559)) ([0d9c300](https://github.com/aws/aws-cdk/commit/0d9c300f5244d3e5720832343830947f6cc5b352)), closes [#7934](https://github.com/aws/aws-cdk/issues/7934) +* **stepfunctions-tasks:** Support calling ApiGateway REST and HTTP APIs ([#13033](https://github.com/aws/aws-cdk/issues/13033)) ([cc608d0](https://github.com/aws/aws-cdk/commit/cc608d055ffefb798ad6378ab07f36cb241897da)), closes [#11565](https://github.com/aws/aws-cdk/issues/11565) [#11566](https://github.com/aws/aws-cdk/issues/11566) [#11565](https://github.com/aws/aws-cdk/issues/11565) + + +### Bug Fixes + +* **apigatewayv2:** error while configuring ANY as an allowed method in CORS ([#13313](https://github.com/aws/aws-cdk/issues/13313)) ([34bb338](https://github.com/aws/aws-cdk/commit/34bb338bfc8e2976691a23969baa5fd9d84727e8)), closes [#13280](https://github.com/aws/aws-cdk/issues/13280) [#13643](https://github.com/aws/aws-cdk/issues/13643) +* **appmesh:** Move Client Policy from Virtual Service to backend structure ([#12943](https://github.com/aws/aws-cdk/issues/12943)) ([d3f4284](https://github.com/aws/aws-cdk/commit/d3f428435976c55ca950279cfc841665fd504370)), closes [#11996](https://github.com/aws/aws-cdk/issues/11996) +* **autoscaling:** AutoScaling on percentile metrics doesn't work ([#13366](https://github.com/aws/aws-cdk/issues/13366)) ([46114bb](https://github.com/aws/aws-cdk/commit/46114bb1f4702019a8873b9162d0a9f10763bc61)), closes [#13144](https://github.com/aws/aws-cdk/issues/13144) +* **aws-ecs:** drain hook lambda allows tasks to stop gracefully ([#13559](https://github.com/aws/aws-cdk/issues/13559)) ([3e1148e](https://github.com/aws/aws-cdk/commit/3e1148e74dce0e15379e2cfa372bd367183f9c6f)), closes [#13506](https://github.com/aws/aws-cdk/issues/13506) +* **cfn-include:** allow boolean values for string-typed properties ([#13508](https://github.com/aws/aws-cdk/issues/13508)) ([e5dab7c](https://github.com/aws/aws-cdk/commit/e5dab7cbc67c234d191c38a8b8b84b634070b15b)) +* **cfn-include:** allow dynamic mappings to be used in Fn::FindInMap ([#13428](https://github.com/aws/aws-cdk/issues/13428)) ([623675d](https://github.com/aws/aws-cdk/commit/623675d2f8fb2786f23beb87994e687e8a7c6612)) +* **cloudfront:** cannot add two EdgeFunctions with same aliases ([#13324](https://github.com/aws/aws-cdk/issues/13324)) ([1f35351](https://github.com/aws/aws-cdk/commit/1f3535145d22b2b13ebbcbfe31a3bfd73519352d)), closes [#13237](https://github.com/aws/aws-cdk/issues/13237) +* **cloudwatch:** cannot create Alarms from labeled metrics that start with a digit ([#13560](https://github.com/aws/aws-cdk/issues/13560)) ([278029f](https://github.com/aws/aws-cdk/commit/278029f25b41d956091835364e5a8de91429712c)), closes [#13434](https://github.com/aws/aws-cdk/issues/13434) +* **cloudwatch:** MathExpression period of <5 minutes is not respected ([#13078](https://github.com/aws/aws-cdk/issues/13078)) ([d9ee914](https://github.com/aws/aws-cdk/commit/d9ee91432918aa113f728abdd61295096ed1512f)), closes [#9156](https://github.com/aws/aws-cdk/issues/9156) +* **cloudwatch:** metric `label` not rendered into Alarms ([#13070](https://github.com/aws/aws-cdk/issues/13070)) ([cbcc712](https://github.com/aws/aws-cdk/commit/cbcc712e0c4c44c83c7f4d1e8a544bccfa26bb56)) +* **codebuild:** allow FILE_PATH webhook filter for BitBucket ([#13186](https://github.com/aws/aws-cdk/issues/13186)) ([cbed348](https://github.com/aws/aws-cdk/commit/cbed3488f03bdfba16f3950bda653535c8999db1)), closes [#13175](https://github.com/aws/aws-cdk/issues/13175) +* **codebuild:** allow passing the ARN of the Secret in environment variables ([#13706](https://github.com/aws/aws-cdk/issues/13706)) ([6f6e079](https://github.com/aws/aws-cdk/commit/6f6e079569fcdb7e0631717fbe269e94f8f7b127)), closes [#12703](https://github.com/aws/aws-cdk/issues/12703) +* **codebuild:** Fixed build spec file format to return yaml ([#13445](https://github.com/aws/aws-cdk/issues/13445)) ([fab93c6](https://github.com/aws/aws-cdk/commit/fab93c63ba68c6398499e7df87a56a70d854ab88)) +* **codebuild:** module fails to load with error "Cannot use import statement outside a module" ([b1ffd33](https://github.com/aws/aws-cdk/commit/b1ffd335b6c41a26c1f88db2fc5a739c4c18c7fe)), closes [#13699](https://github.com/aws/aws-cdk/issues/13699) [#13699](https://github.com/aws/aws-cdk/issues/13699) +* **codedeploy:** script installing CodeDeploy agent fails ([#13758](https://github.com/aws/aws-cdk/issues/13758)) ([25e8d04](https://github.com/aws/aws-cdk/commit/25e8d04d7266a2642f11154750bef49a31b1892e)), closes [#13755](https://github.com/aws/aws-cdk/issues/13755) +* **codedeploy:** Use aws-cli instead of awscli for yum ([#13655](https://github.com/aws/aws-cdk/issues/13655)) ([449ce12](https://github.com/aws/aws-cdk/commit/449ce129b860ddc302e1e5270d5819ebe5aa27bf)) +* **codepipeline-actions:** BitBucketAction fails with S3 "Access denied" error ([#13637](https://github.com/aws/aws-cdk/issues/13637)) ([77ce45d](https://github.com/aws/aws-cdk/commit/77ce45d878f2d1cb453e36ae4d83228bee878ef1)), closes [#13557](https://github.com/aws/aws-cdk/issues/13557) +* **cognito:** imported userpool not retaining environment from arn ([#13715](https://github.com/aws/aws-cdk/issues/13715)) ([aa9fd9c](https://github.com/aws/aws-cdk/commit/aa9fd9cd9bbaea4149927e08d57d29e547933f49)), closes [#13691](https://github.com/aws/aws-cdk/issues/13691) +* **core:** `toJsonString()` cannot handle list intrinsics ([#13544](https://github.com/aws/aws-cdk/issues/13544)) ([a5be042](https://github.com/aws/aws-cdk/commit/a5be04270c2a372132964ab13d080a16f1a6f00c)), closes [#13465](https://github.com/aws/aws-cdk/issues/13465) +* **core:** custom resource provider NODEJS_12 now looks like Lambda's NODEJS_12_X, add Node 14 ([#13301](https://github.com/aws/aws-cdk/issues/13301)) ([3413b2f](https://github.com/aws/aws-cdk/commit/3413b2f887596d11dfb53c0e99c2a1788095a2ad)) +* **dynamodb:** replicas not created on table replacement ([#13300](https://github.com/aws/aws-cdk/issues/13300)) ([c7c424f](https://github.com/aws/aws-cdk/commit/c7c424fec42f1f14ab8bdc3011f5bdb602918aa3)), closes [#12332](https://github.com/aws/aws-cdk/issues/12332) +* **ec2:** fix typo's in WindowsImage constants ([#13446](https://github.com/aws/aws-cdk/issues/13446)) ([781aa97](https://github.com/aws/aws-cdk/commit/781aa97d53fdb7511c34ddde884fdcd84c3f68a6)) +* **ec2:** NAT provider's default outbound rules cannot be disabled ([#12674](https://github.com/aws/aws-cdk/issues/12674)) ([664133a](https://github.com/aws/aws-cdk/commit/664133a35da2bd096a237971ce662f3dd38b297f)), closes [#12673](https://github.com/aws/aws-cdk/issues/12673) +* **ec2:** readme grammar ([#13180](https://github.com/aws/aws-cdk/issues/13180)) ([fe4f056](https://github.com/aws/aws-cdk/commit/fe4f05678c06d634d3fe9e1b608e444a57f67b9c)) +* **ec2:** Security Groups support all protocols ([#13593](https://github.com/aws/aws-cdk/issues/13593)) ([8c6b3eb](https://github.com/aws/aws-cdk/commit/8c6b3ebea464e27f68ffcab32857d8baec29c413)), closes [#13403](https://github.com/aws/aws-cdk/issues/13403) +* **ec2:** Throw error on empty InitFile content ([#13009](https://github.com/aws/aws-cdk/issues/13009)) ([#13119](https://github.com/aws/aws-cdk/issues/13119)) ([81a78a3](https://github.com/aws/aws-cdk/commit/81a78a31408276ebb020e45b15ddca7a2c57ae50)) +* **ecr:** Allow referencing an EcrImage by digest instead of tag ([#13299](https://github.com/aws/aws-cdk/issues/13299)) ([266a621](https://github.com/aws/aws-cdk/commit/266a621abfc34c62ff1e26de9cb8cf0687588f89)), closes [#5082](https://github.com/aws/aws-cdk/issues/5082) +* **ecr:** Generate valid CloudFormation for imageScanOnPush ([#13420](https://github.com/aws/aws-cdk/issues/13420)) ([278fba5](https://github.com/aws/aws-cdk/commit/278fba5df4a3d785e49bdb57ccf88fd34bacacbb)), closes [#13418](https://github.com/aws/aws-cdk/issues/13418) +* **ecs:** services essential container exceptions thrown too soon ([#13240](https://github.com/aws/aws-cdk/issues/13240)) ([c174f6c](https://github.com/aws/aws-cdk/commit/c174f6c2f4dd909e07be34b66bd6b3a92d5e8484)), closes [#13239](https://github.com/aws/aws-cdk/issues/13239) +* **elasticloadbalancingv2:** should allow more than 2 certificates ([#13332](https://github.com/aws/aws-cdk/issues/13332)) ([d3155e9](https://github.com/aws/aws-cdk/commit/d3155e97fd9331a4732396941ce4ad20613fe81c)), closes [#13150](https://github.com/aws/aws-cdk/issues/13150) +* **elasticloadbalancingv2:** upgrade to v1.92.0 drops certificates on ALB if more than 2 certificates exist ([#13490](https://github.com/aws/aws-cdk/issues/13490)) ([01b94f8](https://github.com/aws/aws-cdk/commit/01b94f8aa6c88b5e676c784aec4c879acddc042f)), closes [#13332](https://github.com/aws/aws-cdk/issues/13332) [#13437](https://github.com/aws/aws-cdk/issues/13437) +* **events:** cannot trigger multiple Lambdas from the same Rule ([#13260](https://github.com/aws/aws-cdk/issues/13260)) ([c8c1762](https://github.com/aws/aws-cdk/commit/c8c1762c213aad1062c3a0bc48b22b05c3a0a185)), closes [#13231](https://github.com/aws/aws-cdk/issues/13231) +* **init:** Python init template's stack ID doesn't match other languages ([#13480](https://github.com/aws/aws-cdk/issues/13480)) ([3f1c02d](https://github.com/aws/aws-cdk/commit/3f1c02dac7a50ce7caebce1e7f8953f6e4937e6b)) +* use NodeJS 14 for all packaged custom resources ([#13488](https://github.com/aws/aws-cdk/issues/13488)) ([20a2820](https://github.com/aws/aws-cdk/commit/20a2820ee4d022663fcd0928fbc0f61153ae953f)), closes [#13534](https://github.com/aws/aws-cdk/issues/13534) [#13484](https://github.com/aws/aws-cdk/issues/13484) +* **events:** imported ECS Task Definition cannot be used as target ([#13293](https://github.com/aws/aws-cdk/issues/13293)) ([6f7cebd](https://github.com/aws/aws-cdk/commit/6f7cebdf61073cc1fb358fcac5f5b2156389cb81)), closes [#12811](https://github.com/aws/aws-cdk/issues/12811) +* **events:** imported EventBus does not correctly register source account ([#13481](https://github.com/aws/aws-cdk/issues/13481)) ([57e5404](https://github.com/aws/aws-cdk/commit/57e540432c1446f2233a9b0c0f4caba4e9e155d9)), closes [#13469](https://github.com/aws/aws-cdk/issues/13469) +* **events,applicationautoscaling:** specifying a schedule rate in seconds results in an error ([#13689](https://github.com/aws/aws-cdk/issues/13689)) ([5d62331](https://github.com/aws/aws-cdk/commit/5d6233164611d69ac1bf5c73e1518eb14dbace8d)), closes [#13566](https://github.com/aws/aws-cdk/issues/13566) +* **iam:** oidc-provider can't pull from hosts requiring SNI ([#13397](https://github.com/aws/aws-cdk/issues/13397)) ([90dbfb5](https://github.com/aws/aws-cdk/commit/90dbfb5eec19559717ac6b30f25451461027e731)) +* **iam:** policy statement tries to validate tokens ([#13493](https://github.com/aws/aws-cdk/issues/13493)) ([8d592ea](https://github.com/aws/aws-cdk/commit/8d592ea89c0eda19329d5a31517522ec02ceb874)), closes [#13479](https://github.com/aws/aws-cdk/issues/13479) +* **lambda:** fromDockerBuild output is located under /asset ([#13539](https://github.com/aws/aws-cdk/issues/13539)) ([77449f6](https://github.com/aws/aws-cdk/commit/77449f61e7075fef1240fc52becb8ea60b9ea9ad)), closes [#13439](https://github.com/aws/aws-cdk/issues/13439) +* **lambda:** incorrect values for prop UntrustedArtifactOnDeployment ([#13667](https://github.com/aws/aws-cdk/issues/13667)) ([0757686](https://github.com/aws/aws-cdk/commit/0757686790c25ab1cc0f040d9f6039cef6648d44)), closes [#13586](https://github.com/aws/aws-cdk/issues/13586) +* **lambda-nodejs:** paths with spaces break esbuild ([#13312](https://github.com/aws/aws-cdk/issues/13312)) ([f983fbb](https://github.com/aws/aws-cdk/commit/f983fbb474ecd6727b0c5a35333718cc55d78bf1)), closes [#13311](https://github.com/aws/aws-cdk/issues/13311) +* **neptune:** create correct IAM statement in grantConnect() ([#13641](https://github.com/aws/aws-cdk/issues/13641)) ([2e7f046](https://github.com/aws/aws-cdk/commit/2e7f0462fef80714abb923cf0c14ed01d698b4fa)), closes [#13640](https://github.com/aws/aws-cdk/issues/13640) +* **python:** change Python namespace to `aws_cdk` ([#13489](https://github.com/aws/aws-cdk/issues/13489)) ([2ff5ca1](https://github.com/aws/aws-cdk/commit/2ff5ca1b4fa34ad6ed9e34c01bd49cc1583cab55)) +* **rds:** fail with a descriptive error if Cluster's instance count is a deploy-time value ([#13765](https://github.com/aws/aws-cdk/issues/13765)) ([dd22e8f](https://github.com/aws/aws-cdk/commit/dd22e8fc29f1fc33d391d1bb9ae93963bfd82563)), closes [#13558](https://github.com/aws/aws-cdk/issues/13558) +* **region-info:** ap-northeast-3 data not correctly registered ([#13564](https://github.com/aws/aws-cdk/issues/13564)) ([64da84b](https://github.com/aws/aws-cdk/commit/64da84be5c60bb8132551bcc27a7ca9c7effe95d)), closes [#13561](https://github.com/aws/aws-cdk/issues/13561) +* **s3:** Notifications fail to deploy due to incompatible node runtime ([#13624](https://github.com/aws/aws-cdk/issues/13624)) ([26bc3d4](https://github.com/aws/aws-cdk/commit/26bc3d4951a96a4bdf3e3e10464a4e3b80ed563f)) +* **s3:** Notifications fail to deploy due to incompatible node runtime ([#13624](https://github.com/aws/aws-cdk/issues/13624)) ([aa32cf6](https://github.com/aws/aws-cdk/commit/aa32cf64d20e4ba1eb2bc8236daeb05e89e4c12d)) +* **stepfunctions:** `SageMakeUpdateEndpoint` adds insufficient permissions ([#13170](https://github.com/aws/aws-cdk/issues/13170)) ([6126e49](https://github.com/aws/aws-cdk/commit/6126e499e5ca22b5f751af4f4f05d74f696829f1)), closes [#11594](https://github.com/aws/aws-cdk/issues/11594) +* **stepfunctions:** no validation on state machine name ([#13387](https://github.com/aws/aws-cdk/issues/13387)) ([6c3d407](https://github.com/aws/aws-cdk/commit/6c3d4071746179dde30f615602592c2523daa56e)), closes [#13289](https://github.com/aws/aws-cdk/issues/13289) + + +* **core:** remove all references to BundlingDockerImage in the public API ([#13814](https://github.com/aws/aws-cdk/issues/13814)) ([9cceb3f](https://github.com/aws/aws-cdk/commit/9cceb3f855b1ece2effe60b5a8b84f2986c270c4)) +* **lambda-nodejs:** prepare code to reduce merge conflicts when deprecated APIs are stripped ([#13738](https://github.com/aws/aws-cdk/issues/13738)) ([ca391b5](https://github.com/aws/aws-cdk/commit/ca391b596fae1c3130a8811088d32df21a23a434)) +* **lambda-nodejs:** update default runtime ([#13664](https://github.com/aws/aws-cdk/issues/13664)) ([ca42461](https://github.com/aws/aws-cdk/commit/ca42461acd4f42a8bd7c0fb05788c7ea50834de2)) + +## [2.0.0-alpha.9](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.6...v2.0.0-alpha.9) (2021-03-24) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **lambda-nodejs:** the default runtime of a `NodejsFunction` is now Node.js 14.x if the environment from which it is deployed uses Node.js >= 14 and Node.js 12.x otherwise. +* **appmesh:** Backend, backend default and Virtual Service client policies structures are being altered +* **appmesh**: you must use the backend default interface to define backend defaults in `VirtualGateway`. + The property name also changed from `backendsDefaultClientPolicy` to `backendDefaults` +* **appmesh**: you must use the backend default interface to define backend defaults in `VirtualNode`, + (the property name also changed from `backendsDefaultClientPolicy` to `backendDefaults`), + and the `Backend` class to define a backend +* **appmesh**: you can no longer attach a client policy to a `VirtualService` +* **apigatewayv2:** `HttpApiMapping` (and related interfaces for `Attributed` and `Props`) has been renamed to `ApiMapping` +* **apigatewayv2:** `CommonStageOptions` has been renamed to `StageOptions` +* **apigatewayv2:** `HttpStage.fromStageName` has been removed in favour of `HttpStage.fromHttpStageAttributes` +* **apigatewayv2:** `DefaultDomainMappingOptions` has been removed in favour of `DomainMappingOptions` +* **apigatewayv2:** `HttpApiProps.defaultDomainMapping` has been changed from `DefaultDomainMappingOptions` to `DomainMappingOptions` +* **apigatewayv2:** `HttpApi.defaultStage` has been changed from `HttpStage` to `IStage` +* **apigatewayv2:** `IHttpApi.defaultStage` has been removed + +### Features + +* **amplify-domain:** Added config for auto subdomain creation ([#13342](https://github.com/aws/aws-cdk/issues/13342)) ([4c63f09](https://github.com/aws/aws-cdk/commit/4c63f09f1e9644877eaffbe78eede3854bec08ab)) +* **apigatewayv2:** http api - default authorizer options ([#13172](https://github.com/aws/aws-cdk/issues/13172)) ([53d9661](https://github.com/aws/aws-cdk/commit/53d96618ac006d7b3f6282c8b5c4ae7aeed2b104)) +* **apigatewayv2:** websocket api ([#13031](https://github.com/aws/aws-cdk/issues/13031)) ([fe1c839](https://github.com/aws/aws-cdk/commit/fe1c8393e0840fb273c4a5f325cb3cebc784bf4b)), closes [#2872](https://github.com/aws/aws-cdk/issues/2872) +* **appmesh:** add missing route match features ([#13350](https://github.com/aws/aws-cdk/issues/13350)) ([b71efd9](https://github.com/aws/aws-cdk/commit/b71efd9d12843ab4b495d53e565cec97d60748f3)), closes [#11645](https://github.com/aws/aws-cdk/issues/11645) +* **appmesh:** add route retry policies ([#13353](https://github.com/aws/aws-cdk/issues/13353)) ([66f7053](https://github.com/aws/aws-cdk/commit/66f7053a6c1f5cab540e975b30f5a2c6e35df58a)), closes [#11642](https://github.com/aws/aws-cdk/issues/11642) +* **aws-elasticloadbalancingv2:** add protocol version for ALB TargetGroups ([#13570](https://github.com/aws/aws-cdk/issues/13570)) ([165a3d8](https://github.com/aws/aws-cdk/commit/165a3d877b7ab23f29e42e1e74ee7c5cb35b7f24)), closes [#12869](https://github.com/aws/aws-cdk/issues/12869) +* **aws-events:** Event Bus target ([#12926](https://github.com/aws/aws-cdk/issues/12926)) ([ea91aa3](https://github.com/aws/aws-cdk/commit/ea91aa31db9e2f31c734ad6d7e1f64d5d432dfd4)), closes [#9473](https://github.com/aws/aws-cdk/issues/9473) +* **aws-route53-targets:** add global accelerator target to route53 alias targets ([#13407](https://github.com/aws/aws-cdk/issues/13407)) ([2672a55](https://github.com/aws/aws-cdk/commit/2672a55c393e5ce7dd9a230d921ec1be1a23e32a)), closes [#12839](https://github.com/aws/aws-cdk/issues/12839) +* **cfnspec:** cloudformation spec v30.0.0 ([#13365](https://github.com/aws/aws-cdk/issues/13365)) ([ae0185d](https://github.com/aws/aws-cdk/commit/ae0185dd089e3bb7c5639ebc1bce3f95e126f71c)) +* **cfnspec:** cloudformation spec v30.1.0 ([#13519](https://github.com/aws/aws-cdk/issues/13519)) ([7711981](https://github.com/aws/aws-cdk/commit/7711981ea30bfdffd21dd840d676be4a2b45c9ba)) +* **cfnspec:** cloudformation spec v31.0.0 ([#13633](https://github.com/aws/aws-cdk/issues/13633)) ([9b1c786](https://github.com/aws/aws-cdk/commit/9b1c786846f68fdac94b04b76d546c3d47e2251c)) +* **cloudwatch:** EC2 actions ([#13281](https://github.com/aws/aws-cdk/issues/13281)) ([319cfcd](https://github.com/aws/aws-cdk/commit/319cfcdaaf92e4e6edb8c2388d04dce0971aaf86)), closes [#13228](https://github.com/aws/aws-cdk/issues/13228) +* **codebuild:** allow setting queued timeout ([#13467](https://github.com/aws/aws-cdk/issues/13467)) ([e09250b](https://github.com/aws/aws-cdk/commit/e09250bc92c62cb8ee0a8706ce90d0e82faf2d84)), closes [#11364](https://github.com/aws/aws-cdk/issues/11364) +* **cognito:** user pools - sign in with apple ([#13160](https://github.com/aws/aws-cdk/issues/13160)) ([b965589](https://github.com/aws/aws-cdk/commit/b965589358f4c281aea36404276f08128e6ff3db)) +* **core:** `description` parameter in the CustomResourceProvider ([#13275](https://github.com/aws/aws-cdk/issues/13275)) ([78831cf](https://github.com/aws/aws-cdk/commit/78831cf9dec0407e7d827711183ac47be070f480)), closes [#13277](https://github.com/aws/aws-cdk/issues/13277) [#13276](https://github.com/aws/aws-cdk/issues/13276) +* **core:** customize bundling output packaging ([#13152](https://github.com/aws/aws-cdk/issues/13152)) ([6eca979](https://github.com/aws/aws-cdk/commit/6eca979f65542f3e44461588d8220e8c0bf76a6e)) +* **dynamodb:** custom timeout for replication operation ([#13354](https://github.com/aws/aws-cdk/issues/13354)) ([6a5a4f2](https://github.com/aws/aws-cdk/commit/6a5a4f2d9bb6b09ad0d10066200fe53bb45f0737)), closes [#10249](https://github.com/aws/aws-cdk/issues/10249) +* **ec2:** Add VPC endpoint for RDS ([#12497](https://github.com/aws/aws-cdk/issues/12497)) ([fc87574](https://github.com/aws/aws-cdk/commit/fc8757437c37a0947cced720ff363b8858850f72)), closes [#12402](https://github.com/aws/aws-cdk/issues/12402) +* **ec2:** ESP and AH IPsec protocols for Security Groups ([#13471](https://github.com/aws/aws-cdk/issues/13471)) ([f5a6647](https://github.com/aws/aws-cdk/commit/f5a6647bbe1885ba86029d10550a3ffaf80b6561)), closes [#13403](https://github.com/aws/aws-cdk/issues/13403) +* **ec2:** multipart user data ([#11843](https://github.com/aws/aws-cdk/issues/11843)) ([ed94c5e](https://github.com/aws/aws-cdk/commit/ed94c5ef1b9dd3042128b0e0c5bb14b3d9c7d497)), closes [#8315](https://github.com/aws/aws-cdk/issues/8315) +* **ecr:** add imageTagMutability prop ([#10557](https://github.com/aws/aws-cdk/issues/10557)) ([c4dc3bc](https://github.com/aws/aws-cdk/commit/c4dc3bce02790903593d80b070fca81fe7b7f08c)), closes [#4640](https://github.com/aws/aws-cdk/issues/4640) +* **ecs:** ability to access tag parameter value of TagParameterContainerImage ([#13340](https://github.com/aws/aws-cdk/issues/13340)) ([e567a41](https://github.com/aws/aws-cdk/commit/e567a410d47366855ee3e6011aa096ba987b8099)), closes [#13202](https://github.com/aws/aws-cdk/issues/13202) +* **ecs:** add port mappings to containers with props ([#13262](https://github.com/aws/aws-cdk/issues/13262)) ([f511639](https://github.com/aws/aws-cdk/commit/f511639bba156f6edd15896a4dd8e27b07671ea1)), closes [#13261](https://github.com/aws/aws-cdk/issues/13261) +* **ecs:** allow selection of container and port for SRV service discovery records ([#12798](https://github.com/aws/aws-cdk/issues/12798)) ([a452bc3](https://github.com/aws/aws-cdk/commit/a452bc385640762a043392a717d49de29abcc64e)), closes [#12796](https://github.com/aws/aws-cdk/issues/12796) +* **ecs:** allow users to provide a CloudMap service to associate with an ECS service ([#13192](https://github.com/aws/aws-cdk/issues/13192)) ([a7d314c](https://github.com/aws/aws-cdk/commit/a7d314c73b9473208d94bac29ad9bd8018e00204)), closes [#10057](https://github.com/aws/aws-cdk/issues/10057) +* **ecs-patterns:** Add ECS deployment circuit breaker support to higher-level constructs ([#12719](https://github.com/aws/aws-cdk/issues/12719)) ([e80a98a](https://github.com/aws/aws-cdk/commit/e80a98aa8839e9b9b89701158d82b991e9ebaa65)), closes [#12534](https://github.com/aws/aws-cdk/issues/12534) [#12360](https://github.com/aws/aws-cdk/issues/12360) +* **elbv2:** allow control of ingress rules on redirect listener ([#12768](https://github.com/aws/aws-cdk/issues/12768)) ([b7b441f](https://github.com/aws/aws-cdk/commit/b7b441f74a07d26fd8de23df84e7ab4663c89c0c)), closes [#12766](https://github.com/aws/aws-cdk/issues/12766) +* **events:** `EventBus.grantPutEventsTo` method for granular grants ([#13429](https://github.com/aws/aws-cdk/issues/13429)) ([122a232](https://github.com/aws/aws-cdk/commit/122a232343699304d8f206d3024fcddfb2a94bc8)), closes [#11228](https://github.com/aws/aws-cdk/issues/11228) +* **events:** archive events ([#12060](https://github.com/aws/aws-cdk/issues/12060)) ([465cd9c](https://github.com/aws/aws-cdk/commit/465cd9c434acff74070ca6d33891e1481e253128)), closes [#11531](https://github.com/aws/aws-cdk/issues/11531) +* **events:** dead letter queue for Lambda Targets ([#11617](https://github.com/aws/aws-cdk/issues/11617)) ([1bb3650](https://github.com/aws/aws-cdk/commit/1bb3650c5dd2087b05793a5e903cdfb80fc5c1ad)), closes [#11612](https://github.com/aws/aws-cdk/issues/11612) +* **events:** dead-letter queue support for CodeBuild ([#13448](https://github.com/aws/aws-cdk/issues/13448)) ([abfc0ea](https://github.com/aws/aws-cdk/commit/abfc0ea63c10d8033a529b7497cf093e318fdf12)), closes [#13447](https://github.com/aws/aws-cdk/issues/13447) +* **events:** dead-letter queue support for StepFunctions ([#13450](https://github.com/aws/aws-cdk/issues/13450)) ([0ebcb41](https://github.com/aws/aws-cdk/commit/0ebcb4160ee16f0f7ff1072a40c8951f9a983048)), closes [#13449](https://github.com/aws/aws-cdk/issues/13449) +* **events,applicationautoscaling:** schedule can be a token ([#13064](https://github.com/aws/aws-cdk/issues/13064)) ([b1449a1](https://github.com/aws/aws-cdk/commit/b1449a178b0f9a8a951c2546428f8d75c6431f0f)) +* **iam:** SAML identity provider ([#13393](https://github.com/aws/aws-cdk/issues/13393)) ([faa0c06](https://github.com/aws/aws-cdk/commit/faa0c060dad9a5045495707e28fc85f223d4db5d)), closes [#5320](https://github.com/aws/aws-cdk/issues/5320) +* **lambda:** Code.fromDockerBuild ([#13318](https://github.com/aws/aws-cdk/issues/13318)) ([ad01099](https://github.com/aws/aws-cdk/commit/ad01099d5b8f835c3b87d7d20fd2dc1a5df2fd6f)), closes [#13273](https://github.com/aws/aws-cdk/issues/13273) +* **lambda-event-sources:** msk and self-managed kafka event sources ([#12507](https://github.com/aws/aws-cdk/issues/12507)) ([73209e1](https://github.com/aws/aws-cdk/commit/73209e17f314cf61f703d51ef3b9f197d2f1bdc3)), closes [#12099](https://github.com/aws/aws-cdk/issues/12099) +* **neptune:** high level constructs for db clusters and instances ([#12763](https://github.com/aws/aws-cdk/issues/12763)) ([c366837](https://github.com/aws/aws-cdk/commit/c36683701d88eb0c53fdd2add66b10c47c05f56b)), closes [aws#12762](https://github.com/aws/aws/issues/12762) +* **neptune:** Support IAM authentication ([#13462](https://github.com/aws/aws-cdk/issues/13462)) ([6c5b1f4](https://github.com/aws/aws-cdk/commit/6c5b1f42fb73a132d47945b529bab73557f2b9d8)), closes [#13461](https://github.com/aws/aws-cdk/issues/13461) +* **rds:** make rds secret name configurable ([#13626](https://github.com/aws/aws-cdk/issues/13626)) ([62a91b7](https://github.com/aws/aws-cdk/commit/62a91b7a30f8b6419a983d7ea7bdb3c39f2fdfd0)), closes [#8984](https://github.com/aws/aws-cdk/issues/8984) +* **region-info:** added AppMesh ECR account for af-south-1 region ([#12814](https://github.com/aws/aws-cdk/issues/12814)) ([b3fba43](https://github.com/aws/aws-cdk/commit/b3fba43a047df61e713e8d2271d6deee7e07b716)) +* **sns:** enable passing PolicyDocument to TopicPolicy ([#10559](https://github.com/aws/aws-cdk/issues/10559)) ([0d9c300](https://github.com/aws/aws-cdk/commit/0d9c300f5244d3e5720832343830947f6cc5b352)), closes [#7934](https://github.com/aws/aws-cdk/issues/7934) +* **stepfunctions-tasks:** Support calling ApiGateway REST and HTTP APIs ([#13033](https://github.com/aws/aws-cdk/issues/13033)) ([cc608d0](https://github.com/aws/aws-cdk/commit/cc608d055ffefb798ad6378ab07f36cb241897da)), closes [#11565](https://github.com/aws/aws-cdk/issues/11565) [#11566](https://github.com/aws/aws-cdk/issues/11566) [#11565](https://github.com/aws/aws-cdk/issues/11565) + + +### Bug Fixes + +* **appmesh:** Move Client Policy from Virtual Service to backend structure ([#12943](https://github.com/aws/aws-cdk/issues/12943)) ([d3f4284](https://github.com/aws/aws-cdk/commit/d3f428435976c55ca950279cfc841665fd504370)), closes [#11996](https://github.com/aws/aws-cdk/issues/11996) +* **autoscaling:** AutoScaling on percentile metrics doesn't work ([#13366](https://github.com/aws/aws-cdk/issues/13366)) ([46114bb](https://github.com/aws/aws-cdk/commit/46114bb1f4702019a8873b9162d0a9f10763bc61)), closes [#13144](https://github.com/aws/aws-cdk/issues/13144) +* **aws-ecs:** drain hook lambda allows tasks to stop gracefully ([#13559](https://github.com/aws/aws-cdk/issues/13559)) ([3e1148e](https://github.com/aws/aws-cdk/commit/3e1148e74dce0e15379e2cfa372bd367183f9c6f)), closes [#13506](https://github.com/aws/aws-cdk/issues/13506) +* **cfn-include:** allow boolean values for string-typed properties ([#13508](https://github.com/aws/aws-cdk/issues/13508)) ([e5dab7c](https://github.com/aws/aws-cdk/commit/e5dab7cbc67c234d191c38a8b8b84b634070b15b)) +* **cfn-include:** allow dynamic mappings to be used in Fn::FindInMap ([#13428](https://github.com/aws/aws-cdk/issues/13428)) ([623675d](https://github.com/aws/aws-cdk/commit/623675d2f8fb2786f23beb87994e687e8a7c6612)) +* **cloudfront:** cannot add two EdgeFunctions with same aliases ([#13324](https://github.com/aws/aws-cdk/issues/13324)) ([1f35351](https://github.com/aws/aws-cdk/commit/1f3535145d22b2b13ebbcbfe31a3bfd73519352d)), closes [#13237](https://github.com/aws/aws-cdk/issues/13237) +* **cloudwatch:** cannot create Alarms from labeled metrics that start with a digit ([#13560](https://github.com/aws/aws-cdk/issues/13560)) ([278029f](https://github.com/aws/aws-cdk/commit/278029f25b41d956091835364e5a8de91429712c)), closes [#13434](https://github.com/aws/aws-cdk/issues/13434) +* **cloudwatch:** MathExpression period of <5 minutes is not respected ([#13078](https://github.com/aws/aws-cdk/issues/13078)) ([d9ee914](https://github.com/aws/aws-cdk/commit/d9ee91432918aa113f728abdd61295096ed1512f)), closes [#9156](https://github.com/aws/aws-cdk/issues/9156) +* **cloudwatch:** metric `label` not rendered into Alarms ([#13070](https://github.com/aws/aws-cdk/issues/13070)) ([cbcc712](https://github.com/aws/aws-cdk/commit/cbcc712e0c4c44c83c7f4d1e8a544bccfa26bb56)) +* **codebuild:** allow FILE_PATH webhook filter for BitBucket ([#13186](https://github.com/aws/aws-cdk/issues/13186)) ([cbed348](https://github.com/aws/aws-cdk/commit/cbed3488f03bdfba16f3950bda653535c8999db1)), closes [#13175](https://github.com/aws/aws-cdk/issues/13175) +* **codedeploy:** Use aws-cli instead of awscli for yum ([#13655](https://github.com/aws/aws-cdk/issues/13655)) ([449ce12](https://github.com/aws/aws-cdk/commit/449ce129b860ddc302e1e5270d5819ebe5aa27bf)) +* **core:** `toJsonString()` cannot handle list intrinsics ([#13544](https://github.com/aws/aws-cdk/issues/13544)) ([a5be042](https://github.com/aws/aws-cdk/commit/a5be04270c2a372132964ab13d080a16f1a6f00c)), closes [#13465](https://github.com/aws/aws-cdk/issues/13465) +* **core:** custom resource provider NODEJS_12 now looks like Lambda's NODEJS_12_X, add Node 14 ([#13301](https://github.com/aws/aws-cdk/issues/13301)) ([3413b2f](https://github.com/aws/aws-cdk/commit/3413b2f887596d11dfb53c0e99c2a1788095a2ad)) +* **dynamodb:** replicas not created on table replacement ([#13300](https://github.com/aws/aws-cdk/issues/13300)) ([c7c424f](https://github.com/aws/aws-cdk/commit/c7c424fec42f1f14ab8bdc3011f5bdb602918aa3)), closes [#12332](https://github.com/aws/aws-cdk/issues/12332) +* **ec2:** fix typo's in WindowsImage constants ([#13446](https://github.com/aws/aws-cdk/issues/13446)) ([781aa97](https://github.com/aws/aws-cdk/commit/781aa97d53fdb7511c34ddde884fdcd84c3f68a6)) +* **ec2:** NAT provider's default outbound rules cannot be disabled ([#12674](https://github.com/aws/aws-cdk/issues/12674)) ([664133a](https://github.com/aws/aws-cdk/commit/664133a35da2bd096a237971ce662f3dd38b297f)), closes [#12673](https://github.com/aws/aws-cdk/issues/12673) +* **ec2:** readme grammar ([#13180](https://github.com/aws/aws-cdk/issues/13180)) ([fe4f056](https://github.com/aws/aws-cdk/commit/fe4f05678c06d634d3fe9e1b608e444a57f67b9c)) +* **ec2:** Security Groups support all protocols ([#13593](https://github.com/aws/aws-cdk/issues/13593)) ([8c6b3eb](https://github.com/aws/aws-cdk/commit/8c6b3ebea464e27f68ffcab32857d8baec29c413)), closes [#13403](https://github.com/aws/aws-cdk/issues/13403) +* **ec2:** Throw error on empty InitFile content ([#13009](https://github.com/aws/aws-cdk/issues/13009)) ([#13119](https://github.com/aws/aws-cdk/issues/13119)) ([81a78a3](https://github.com/aws/aws-cdk/commit/81a78a31408276ebb020e45b15ddca7a2c57ae50)) +* **ecr:** Allow referencing an EcrImage by digest instead of tag ([#13299](https://github.com/aws/aws-cdk/issues/13299)) ([266a621](https://github.com/aws/aws-cdk/commit/266a621abfc34c62ff1e26de9cb8cf0687588f89)), closes [#5082](https://github.com/aws/aws-cdk/issues/5082) +* **ecr:** Generate valid CloudFormation for imageScanOnPush ([#13420](https://github.com/aws/aws-cdk/issues/13420)) ([278fba5](https://github.com/aws/aws-cdk/commit/278fba5df4a3d785e49bdb57ccf88fd34bacacbb)), closes [#13418](https://github.com/aws/aws-cdk/issues/13418) +* **ecs:** services essential container exceptions thrown too soon ([#13240](https://github.com/aws/aws-cdk/issues/13240)) ([c174f6c](https://github.com/aws/aws-cdk/commit/c174f6c2f4dd909e07be34b66bd6b3a92d5e8484)), closes [#13239](https://github.com/aws/aws-cdk/issues/13239) +* **elasticloadbalancingv2:** should allow more than 2 certificates ([#13332](https://github.com/aws/aws-cdk/issues/13332)) ([d3155e9](https://github.com/aws/aws-cdk/commit/d3155e97fd9331a4732396941ce4ad20613fe81c)), closes [#13150](https://github.com/aws/aws-cdk/issues/13150) +* **elasticloadbalancingv2:** upgrade to v1.92.0 drops certificates on ALB if more than 2 certificates exist ([#13490](https://github.com/aws/aws-cdk/issues/13490)) ([01b94f8](https://github.com/aws/aws-cdk/commit/01b94f8aa6c88b5e676c784aec4c879acddc042f)), closes [#13332](https://github.com/aws/aws-cdk/issues/13332) [#13437](https://github.com/aws/aws-cdk/issues/13437) +* **events:** cannot trigger multiple Lambdas from the same Rule ([#13260](https://github.com/aws/aws-cdk/issues/13260)) ([c8c1762](https://github.com/aws/aws-cdk/commit/c8c1762c213aad1062c3a0bc48b22b05c3a0a185)), closes [#13231](https://github.com/aws/aws-cdk/issues/13231) +* **events:** imported ECS Task Definition cannot be used as target ([#13293](https://github.com/aws/aws-cdk/issues/13293)) ([6f7cebd](https://github.com/aws/aws-cdk/commit/6f7cebdf61073cc1fb358fcac5f5b2156389cb81)), closes [#12811](https://github.com/aws/aws-cdk/issues/12811) +* **events:** imported EventBus does not correctly register source account ([#13481](https://github.com/aws/aws-cdk/issues/13481)) ([57e5404](https://github.com/aws/aws-cdk/commit/57e540432c1446f2233a9b0c0f4caba4e9e155d9)), closes [#13469](https://github.com/aws/aws-cdk/issues/13469) +* **iam:** oidc-provider can't pull from hosts requiring SNI ([#13397](https://github.com/aws/aws-cdk/issues/13397)) ([90dbfb5](https://github.com/aws/aws-cdk/commit/90dbfb5eec19559717ac6b30f25451461027e731)) +* **iam:** policy statement tries to validate tokens ([#13493](https://github.com/aws/aws-cdk/issues/13493)) ([8d592ea](https://github.com/aws/aws-cdk/commit/8d592ea89c0eda19329d5a31517522ec02ceb874)), closes [#13479](https://github.com/aws/aws-cdk/issues/13479) +* **init:** Python init template's stack ID doesn't match other languages ([#13480](https://github.com/aws/aws-cdk/issues/13480)) ([3f1c02d](https://github.com/aws/aws-cdk/commit/3f1c02dac7a50ce7caebce1e7f8953f6e4937e6b)) +* **lambda:** fromDockerBuild output is located under /asset ([#13539](https://github.com/aws/aws-cdk/issues/13539)) ([77449f6](https://github.com/aws/aws-cdk/commit/77449f61e7075fef1240fc52becb8ea60b9ea9ad)), closes [#13439](https://github.com/aws/aws-cdk/issues/13439) +* **lambda:** incorrect values for prop UntrustedArtifactOnDeployment ([#13667](https://github.com/aws/aws-cdk/issues/13667)) ([0757686](https://github.com/aws/aws-cdk/commit/0757686790c25ab1cc0f040d9f6039cef6648d44)), closes [#13586](https://github.com/aws/aws-cdk/issues/13586) +* **lambda-nodejs:** paths with spaces break esbuild ([#13312](https://github.com/aws/aws-cdk/issues/13312)) ([f983fbb](https://github.com/aws/aws-cdk/commit/f983fbb474ecd6727b0c5a35333718cc55d78bf1)), closes [#13311](https://github.com/aws/aws-cdk/issues/13311) +* **neptune:** create correct IAM statement in grantConnect() ([#13641](https://github.com/aws/aws-cdk/issues/13641)) ([2e7f046](https://github.com/aws/aws-cdk/commit/2e7f0462fef80714abb923cf0c14ed01d698b4fa)), closes [#13640](https://github.com/aws/aws-cdk/issues/13640) +* **python:** change Python namespace to `aws_cdk` ([#13489](https://github.com/aws/aws-cdk/issues/13489)) ([2ff5ca1](https://github.com/aws/aws-cdk/commit/2ff5ca1b4fa34ad6ed9e34c01bd49cc1583cab55)) +* **region-info:** ap-northeast-3 data not correctly registered ([#13564](https://github.com/aws/aws-cdk/issues/13564)) ([64da84b](https://github.com/aws/aws-cdk/commit/64da84be5c60bb8132551bcc27a7ca9c7effe95d)), closes [#13561](https://github.com/aws/aws-cdk/issues/13561) +* **s3:** Notifications fail to deploy due to incompatible node runtime ([#13624](https://github.com/aws/aws-cdk/issues/13624)) ([aa32cf6](https://github.com/aws/aws-cdk/commit/aa32cf64d20e4ba1eb2bc8236daeb05e89e4c12d)) +* **s3:** Notifications fail to deploy due to incompatible node runtime ([#13624](https://github.com/aws/aws-cdk/issues/13624)) ([26bc3d4](https://github.com/aws/aws-cdk/commit/26bc3d4951a96a4bdf3e3e10464a4e3b80ed563f)) +* **stepfunctions:** `SageMakeUpdateEndpoint` adds insufficient permissions ([#13170](https://github.com/aws/aws-cdk/issues/13170)) ([6126e49](https://github.com/aws/aws-cdk/commit/6126e499e5ca22b5f751af4f4f05d74f696829f1)), closes [#11594](https://github.com/aws/aws-cdk/issues/11594) +* **stepfunctions:** no validation on state machine name ([#13387](https://github.com/aws/aws-cdk/issues/13387)) ([6c3d407](https://github.com/aws/aws-cdk/commit/6c3d4071746179dde30f615602592c2523daa56e)), closes [#13289](https://github.com/aws/aws-cdk/issues/13289) +* use NodeJS 14 for all packaged custom resources ([#13488](https://github.com/aws/aws-cdk/issues/13488)) ([20a2820](https://github.com/aws/aws-cdk/commit/20a2820ee4d022663fcd0928fbc0f61153ae953f)), closes [#13534](https://github.com/aws/aws-cdk/issues/13534) [#13484](https://github.com/aws/aws-cdk/issues/13484) + + +* **lambda-nodejs:** update default runtime ([#13664](https://github.com/aws/aws-cdk/issues/13664)) ([ca42461](https://github.com/aws/aws-cdk/commit/ca42461acd4f42a8bd7c0fb05788c7ea50834de2)) + +## [2.0.0-alpha.8](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.6...v2.0.0-alpha.8) (2021-03-17) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **apigatewayv2:** `HttpApiMapping` (and related interfaces for `Attributed` and `Props`) has been renamed to `ApiMapping` +* **apigatewayv2:** `CommonStageOptions` has been renamed to `StageOptions` +* **apigatewayv2:** `HttpStage.fromStageName` has been removed in favour of `HttpStage.fromHttpStageAttributes` +* **apigatewayv2:** `DefaultDomainMappingOptions` has been removed in favour of `DomainMappingOptions` +* **apigatewayv2:** `HttpApiProps.defaultDomainMapping` has been changed from `DefaultDomainMappingOptions` to `DomainMappingOptions` +* **apigatewayv2:** `HttpApi.defaultStage` has been changed from `HttpStage` to `IStage` +* **apigatewayv2:** `IHttpApi.defaultStage` has been removed + +### Features + +* **apigatewayv2:** websocket api ([#13031](https://github.com/aws/aws-cdk/issues/13031)) ([fe1c839](https://github.com/aws/aws-cdk/commit/fe1c8393e0840fb273c4a5f325cb3cebc784bf4b)), closes [#2872](https://github.com/aws/aws-cdk/issues/2872) +* **aws-events:** Event Bus target ([#12926](https://github.com/aws/aws-cdk/issues/12926)) ([ea91aa3](https://github.com/aws/aws-cdk/commit/ea91aa31db9e2f31c734ad6d7e1f64d5d432dfd4)), closes [#9473](https://github.com/aws/aws-cdk/issues/9473) +* **aws-route53-targets:** add global accelerator target to route53 alias targets ([#13407](https://github.com/aws/aws-cdk/issues/13407)) ([2672a55](https://github.com/aws/aws-cdk/commit/2672a55c393e5ce7dd9a230d921ec1be1a23e32a)), closes [#12839](https://github.com/aws/aws-cdk/issues/12839) +* **cfnspec:** cloudformation spec v30.0.0 ([#13365](https://github.com/aws/aws-cdk/issues/13365)) ([ae0185d](https://github.com/aws/aws-cdk/commit/ae0185dd089e3bb7c5639ebc1bce3f95e126f71c)) +* **cloudwatch:** EC2 actions ([#13281](https://github.com/aws/aws-cdk/issues/13281)) ([319cfcd](https://github.com/aws/aws-cdk/commit/319cfcdaaf92e4e6edb8c2388d04dce0971aaf86)), closes [#13228](https://github.com/aws/aws-cdk/issues/13228) +* **codebuild:** allow setting queued timeout ([#13467](https://github.com/aws/aws-cdk/issues/13467)) ([e09250b](https://github.com/aws/aws-cdk/commit/e09250bc92c62cb8ee0a8706ce90d0e82faf2d84)), closes [#11364](https://github.com/aws/aws-cdk/issues/11364) +* **cognito:** user pools - sign in with apple ([#13160](https://github.com/aws/aws-cdk/issues/13160)) ([b965589](https://github.com/aws/aws-cdk/commit/b965589358f4c281aea36404276f08128e6ff3db)) +* **core:** `description` parameter in the CustomResourceProvider ([#13275](https://github.com/aws/aws-cdk/issues/13275)) ([78831cf](https://github.com/aws/aws-cdk/commit/78831cf9dec0407e7d827711183ac47be070f480)), closes [#13277](https://github.com/aws/aws-cdk/issues/13277) [#13276](https://github.com/aws/aws-cdk/issues/13276) +* **core:** customize bundling output packaging ([#13152](https://github.com/aws/aws-cdk/issues/13152)) ([6eca979](https://github.com/aws/aws-cdk/commit/6eca979f65542f3e44461588d8220e8c0bf76a6e)) +* **dynamodb:** custom timeout for replication operation ([#13354](https://github.com/aws/aws-cdk/issues/13354)) ([6a5a4f2](https://github.com/aws/aws-cdk/commit/6a5a4f2d9bb6b09ad0d10066200fe53bb45f0737)), closes [#10249](https://github.com/aws/aws-cdk/issues/10249) +* **ec2:** Add VPC endpoint for RDS ([#12497](https://github.com/aws/aws-cdk/issues/12497)) ([fc87574](https://github.com/aws/aws-cdk/commit/fc8757437c37a0947cced720ff363b8858850f72)), closes [#12402](https://github.com/aws/aws-cdk/issues/12402) +* **ec2:** ESP and AH IPsec protocols for Security Groups ([#13471](https://github.com/aws/aws-cdk/issues/13471)) ([f5a6647](https://github.com/aws/aws-cdk/commit/f5a6647bbe1885ba86029d10550a3ffaf80b6561)), closes [#13403](https://github.com/aws/aws-cdk/issues/13403) +* **ec2:** multipart user data ([#11843](https://github.com/aws/aws-cdk/issues/11843)) ([ed94c5e](https://github.com/aws/aws-cdk/commit/ed94c5ef1b9dd3042128b0e0c5bb14b3d9c7d497)), closes [#8315](https://github.com/aws/aws-cdk/issues/8315) +* **ecr:** add imageTagMutability prop ([#10557](https://github.com/aws/aws-cdk/issues/10557)) ([c4dc3bc](https://github.com/aws/aws-cdk/commit/c4dc3bce02790903593d80b070fca81fe7b7f08c)), closes [#4640](https://github.com/aws/aws-cdk/issues/4640) +* **ecs:** ability to access tag parameter value of TagParameterContainerImage ([#13340](https://github.com/aws/aws-cdk/issues/13340)) ([e567a41](https://github.com/aws/aws-cdk/commit/e567a410d47366855ee3e6011aa096ba987b8099)), closes [#13202](https://github.com/aws/aws-cdk/issues/13202) +* **ecs:** add port mappings to containers with props ([#13262](https://github.com/aws/aws-cdk/issues/13262)) ([f511639](https://github.com/aws/aws-cdk/commit/f511639bba156f6edd15896a4dd8e27b07671ea1)), closes [#13261](https://github.com/aws/aws-cdk/issues/13261) +* **ecs:** allow selection of container and port for SRV service discovery records ([#12798](https://github.com/aws/aws-cdk/issues/12798)) ([a452bc3](https://github.com/aws/aws-cdk/commit/a452bc385640762a043392a717d49de29abcc64e)), closes [#12796](https://github.com/aws/aws-cdk/issues/12796) +* **ecs:** allow users to provide a CloudMap service to associate with an ECS service ([#13192](https://github.com/aws/aws-cdk/issues/13192)) ([a7d314c](https://github.com/aws/aws-cdk/commit/a7d314c73b9473208d94bac29ad9bd8018e00204)), closes [#10057](https://github.com/aws/aws-cdk/issues/10057) +* **elbv2:** allow control of ingress rules on redirect listener ([#12768](https://github.com/aws/aws-cdk/issues/12768)) ([b7b441f](https://github.com/aws/aws-cdk/commit/b7b441f74a07d26fd8de23df84e7ab4663c89c0c)), closes [#12766](https://github.com/aws/aws-cdk/issues/12766) +* **events:** `EventBus.grantPutEventsTo` method for granular grants ([#13429](https://github.com/aws/aws-cdk/issues/13429)) ([122a232](https://github.com/aws/aws-cdk/commit/122a232343699304d8f206d3024fcddfb2a94bc8)), closes [#11228](https://github.com/aws/aws-cdk/issues/11228) +* **events:** archive events ([#12060](https://github.com/aws/aws-cdk/issues/12060)) ([465cd9c](https://github.com/aws/aws-cdk/commit/465cd9c434acff74070ca6d33891e1481e253128)), closes [#11531](https://github.com/aws/aws-cdk/issues/11531) +* **events:** dead letter queue for Lambda Targets ([#11617](https://github.com/aws/aws-cdk/issues/11617)) ([1bb3650](https://github.com/aws/aws-cdk/commit/1bb3650c5dd2087b05793a5e903cdfb80fc5c1ad)), closes [#11612](https://github.com/aws/aws-cdk/issues/11612) +* **events:** dead-letter queue support for CodeBuild ([#13448](https://github.com/aws/aws-cdk/issues/13448)) ([abfc0ea](https://github.com/aws/aws-cdk/commit/abfc0ea63c10d8033a529b7497cf093e318fdf12)), closes [#13447](https://github.com/aws/aws-cdk/issues/13447) +* **events:** dead-letter queue support for StepFunctions ([#13450](https://github.com/aws/aws-cdk/issues/13450)) ([0ebcb41](https://github.com/aws/aws-cdk/commit/0ebcb4160ee16f0f7ff1072a40c8951f9a983048)), closes [#13449](https://github.com/aws/aws-cdk/issues/13449) +* **events,applicationautoscaling:** schedule can be a token ([#13064](https://github.com/aws/aws-cdk/issues/13064)) ([b1449a1](https://github.com/aws/aws-cdk/commit/b1449a178b0f9a8a951c2546428f8d75c6431f0f)) +* **iam:** SAML identity provider ([#13393](https://github.com/aws/aws-cdk/issues/13393)) ([faa0c06](https://github.com/aws/aws-cdk/commit/faa0c060dad9a5045495707e28fc85f223d4db5d)), closes [#5320](https://github.com/aws/aws-cdk/issues/5320) +* **lambda:** Code.fromDockerBuild ([#13318](https://github.com/aws/aws-cdk/issues/13318)) ([ad01099](https://github.com/aws/aws-cdk/commit/ad01099d5b8f835c3b87d7d20fd2dc1a5df2fd6f)), closes [#13273](https://github.com/aws/aws-cdk/issues/13273) +* **neptune:** high level constructs for db clusters and instances ([#12763](https://github.com/aws/aws-cdk/issues/12763)) ([c366837](https://github.com/aws/aws-cdk/commit/c36683701d88eb0c53fdd2add66b10c47c05f56b)), closes [aws#12762](https://github.com/aws/aws/issues/12762) +* **neptune:** Support IAM authentication ([#13462](https://github.com/aws/aws-cdk/issues/13462)) ([6c5b1f4](https://github.com/aws/aws-cdk/commit/6c5b1f42fb73a132d47945b529bab73557f2b9d8)), closes [#13461](https://github.com/aws/aws-cdk/issues/13461) +* **region-info:** added AppMesh ECR account for af-south-1 region ([#12814](https://github.com/aws/aws-cdk/issues/12814)) ([b3fba43](https://github.com/aws/aws-cdk/commit/b3fba43a047df61e713e8d2271d6deee7e07b716)) + + +### Bug Fixes + +* **cfn-include:** allow boolean values for string-typed properties ([#13508](https://github.com/aws/aws-cdk/issues/13508)) ([e5dab7c](https://github.com/aws/aws-cdk/commit/e5dab7cbc67c234d191c38a8b8b84b634070b15b)) +* **cfn-include:** allow dynamic mappings to be used in Fn::FindInMap ([#13428](https://github.com/aws/aws-cdk/issues/13428)) ([623675d](https://github.com/aws/aws-cdk/commit/623675d2f8fb2786f23beb87994e687e8a7c6612)) +* **cloudfront:** cannot add two EdgeFunctions with same aliases ([#13324](https://github.com/aws/aws-cdk/issues/13324)) ([1f35351](https://github.com/aws/aws-cdk/commit/1f3535145d22b2b13ebbcbfe31a3bfd73519352d)), closes [#13237](https://github.com/aws/aws-cdk/issues/13237) +* **cloudwatch:** MathExpression period of <5 minutes is not respected ([#13078](https://github.com/aws/aws-cdk/issues/13078)) ([d9ee914](https://github.com/aws/aws-cdk/commit/d9ee91432918aa113f728abdd61295096ed1512f)), closes [#9156](https://github.com/aws/aws-cdk/issues/9156) +* **cloudwatch:** metric `label` not rendered into Alarms ([#13070](https://github.com/aws/aws-cdk/issues/13070)) ([cbcc712](https://github.com/aws/aws-cdk/commit/cbcc712e0c4c44c83c7f4d1e8a544bccfa26bb56)) +* **codebuild:** allow FILE_PATH webhook filter for BitBucket ([#13186](https://github.com/aws/aws-cdk/issues/13186)) ([cbed348](https://github.com/aws/aws-cdk/commit/cbed3488f03bdfba16f3950bda653535c8999db1)), closes [#13175](https://github.com/aws/aws-cdk/issues/13175) +* **core:** custom resource provider NODEJS_12 now looks like Lambda's NODEJS_12_X, add Node 14 ([#13301](https://github.com/aws/aws-cdk/issues/13301)) ([3413b2f](https://github.com/aws/aws-cdk/commit/3413b2f887596d11dfb53c0e99c2a1788095a2ad)) +* **dynamodb:** replicas not created on table replacement ([#13300](https://github.com/aws/aws-cdk/issues/13300)) ([c7c424f](https://github.com/aws/aws-cdk/commit/c7c424fec42f1f14ab8bdc3011f5bdb602918aa3)), closes [#12332](https://github.com/aws/aws-cdk/issues/12332) +* **ec2:** fix typo's in WindowsImage constants ([#13446](https://github.com/aws/aws-cdk/issues/13446)) ([781aa97](https://github.com/aws/aws-cdk/commit/781aa97d53fdb7511c34ddde884fdcd84c3f68a6)) +* **ec2:** NAT provider's default outbound rules cannot be disabled ([#12674](https://github.com/aws/aws-cdk/issues/12674)) ([664133a](https://github.com/aws/aws-cdk/commit/664133a35da2bd096a237971ce662f3dd38b297f)), closes [#12673](https://github.com/aws/aws-cdk/issues/12673) +* **ec2:** readme grammar ([#13180](https://github.com/aws/aws-cdk/issues/13180)) ([fe4f056](https://github.com/aws/aws-cdk/commit/fe4f05678c06d634d3fe9e1b608e444a57f67b9c)) +* **ec2:** Throw error on empty InitFile content ([#13009](https://github.com/aws/aws-cdk/issues/13009)) ([#13119](https://github.com/aws/aws-cdk/issues/13119)) ([81a78a3](https://github.com/aws/aws-cdk/commit/81a78a31408276ebb020e45b15ddca7a2c57ae50)) +* **ecr:** Allow referencing an EcrImage by digest instead of tag ([#13299](https://github.com/aws/aws-cdk/issues/13299)) ([266a621](https://github.com/aws/aws-cdk/commit/266a621abfc34c62ff1e26de9cb8cf0687588f89)), closes [#5082](https://github.com/aws/aws-cdk/issues/5082) +* **ecr:** Generate valid CloudFormation for imageScanOnPush ([#13420](https://github.com/aws/aws-cdk/issues/13420)) ([278fba5](https://github.com/aws/aws-cdk/commit/278fba5df4a3d785e49bdb57ccf88fd34bacacbb)), closes [#13418](https://github.com/aws/aws-cdk/issues/13418) +* **ecs:** services essential container exceptions thrown too soon ([#13240](https://github.com/aws/aws-cdk/issues/13240)) ([c174f6c](https://github.com/aws/aws-cdk/commit/c174f6c2f4dd909e07be34b66bd6b3a92d5e8484)), closes [#13239](https://github.com/aws/aws-cdk/issues/13239) +* **elasticloadbalancingv2:** should allow more than 2 certificates ([#13332](https://github.com/aws/aws-cdk/issues/13332)) ([d3155e9](https://github.com/aws/aws-cdk/commit/d3155e97fd9331a4732396941ce4ad20613fe81c)), closes [#13150](https://github.com/aws/aws-cdk/issues/13150) +* **elasticloadbalancingv2:** upgrade to v1.92.0 drops certificates on ALB if more than 2 certificates exist ([#13490](https://github.com/aws/aws-cdk/issues/13490)) ([01b94f8](https://github.com/aws/aws-cdk/commit/01b94f8aa6c88b5e676c784aec4c879acddc042f)), closes [#13332](https://github.com/aws/aws-cdk/issues/13332) [#13437](https://github.com/aws/aws-cdk/issues/13437) +* **events:** cannot trigger multiple Lambdas from the same Rule ([#13260](https://github.com/aws/aws-cdk/issues/13260)) ([c8c1762](https://github.com/aws/aws-cdk/commit/c8c1762c213aad1062c3a0bc48b22b05c3a0a185)), closes [#13231](https://github.com/aws/aws-cdk/issues/13231) +* **events:** imported ECS Task Definition cannot be used as target ([#13293](https://github.com/aws/aws-cdk/issues/13293)) ([6f7cebd](https://github.com/aws/aws-cdk/commit/6f7cebdf61073cc1fb358fcac5f5b2156389cb81)), closes [#12811](https://github.com/aws/aws-cdk/issues/12811) +* **events:** imported EventBus does not correctly register source account ([#13481](https://github.com/aws/aws-cdk/issues/13481)) ([57e5404](https://github.com/aws/aws-cdk/commit/57e540432c1446f2233a9b0c0f4caba4e9e155d9)), closes [#13469](https://github.com/aws/aws-cdk/issues/13469) +* **iam:** oidc-provider can't pull from hosts requiring SNI ([#13397](https://github.com/aws/aws-cdk/issues/13397)) ([90dbfb5](https://github.com/aws/aws-cdk/commit/90dbfb5eec19559717ac6b30f25451461027e731)) +* **init:** Python init template's stack ID doesn't match other languages ([#13480](https://github.com/aws/aws-cdk/issues/13480)) ([3f1c02d](https://github.com/aws/aws-cdk/commit/3f1c02dac7a50ce7caebce1e7f8953f6e4937e6b)) +* **lambda-nodejs:** paths with spaces break esbuild ([#13312](https://github.com/aws/aws-cdk/issues/13312)) ([f983fbb](https://github.com/aws/aws-cdk/commit/f983fbb474ecd6727b0c5a35333718cc55d78bf1)), closes [#13311](https://github.com/aws/aws-cdk/issues/13311) +* **python:** change Python namespace to `aws_cdk` ([#13489](https://github.com/aws/aws-cdk/issues/13489)) ([90f5311](https://github.com/aws/aws-cdk/commit/90f5311b8bfd32d3b2fb348264cdcb026a5975f5)) +* **stepfunctions:** `SageMakeUpdateEndpoint` adds insufficient permissions ([#13170](https://github.com/aws/aws-cdk/issues/13170)) ([6126e49](https://github.com/aws/aws-cdk/commit/6126e499e5ca22b5f751af4f4f05d74f696829f1)), closes [#11594](https://github.com/aws/aws-cdk/issues/11594) +* **stepfunctions:** no validation on state machine name ([#13387](https://github.com/aws/aws-cdk/issues/13387)) ([6c3d407](https://github.com/aws/aws-cdk/commit/6c3d4071746179dde30f615602592c2523daa56e)), closes [#13289](https://github.com/aws/aws-cdk/issues/13289) + +## [2.0.0-alpha.7](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.6...v2.0.0-alpha.7) (2021-03-10) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **apigatewayv2:** `HttpApiMapping` (and related interfaces for `Attributed` and `Props`) has been renamed to `ApiMapping` +* **apigatewayv2:** `CommonStageOptions` has been renamed to `StageOptions` +* **apigatewayv2:** `HttpStage.fromStageName` has been removed in favour of `HttpStage.fromHttpStageAttributes` +* **apigatewayv2:** `DefaultDomainMappingOptions` has been removed in favour of `DomainMappingOptions` +* **apigatewayv2:** `HttpApiProps.defaultDomainMapping` has been changed from `DefaultDomainMappingOptions` to `DomainMappingOptions` +* **apigatewayv2:** `HttpApi.defaultStage` has been changed from `HttpStage` to `IStage` +* **apigatewayv2:** `IHttpApi.defaultStage` has been removed + +### Features + +* **apigatewayv2:** websocket api ([#13031](https://github.com/aws/aws-cdk/issues/13031)) ([fe1c839](https://github.com/aws/aws-cdk/commit/fe1c8393e0840fb273c4a5f325cb3cebc784bf4b)), closes [#2872](https://github.com/aws/aws-cdk/issues/2872) +* **aws-events:** Event Bus target ([#12926](https://github.com/aws/aws-cdk/issues/12926)) ([ea91aa3](https://github.com/aws/aws-cdk/commit/ea91aa31db9e2f31c734ad6d7e1f64d5d432dfd4)), closes [#9473](https://github.com/aws/aws-cdk/issues/9473) +* **aws-route53-targets:** add global accelerator target to route53 alias targets ([#13407](https://github.com/aws/aws-cdk/issues/13407)) ([2672a55](https://github.com/aws/aws-cdk/commit/2672a55c393e5ce7dd9a230d921ec1be1a23e32a)), closes [#12839](https://github.com/aws/aws-cdk/issues/12839) +* **cfnspec:** cloudformation spec v30.0.0 ([#13365](https://github.com/aws/aws-cdk/issues/13365)) ([ae0185d](https://github.com/aws/aws-cdk/commit/ae0185dd089e3bb7c5639ebc1bce3f95e126f71c)) +* **cloudwatch:** EC2 actions ([#13281](https://github.com/aws/aws-cdk/issues/13281)) ([319cfcd](https://github.com/aws/aws-cdk/commit/319cfcdaaf92e4e6edb8c2388d04dce0971aaf86)), closes [#13228](https://github.com/aws/aws-cdk/issues/13228) +* **codebuild:** allow setting queued timeout ([#13467](https://github.com/aws/aws-cdk/issues/13467)) ([e09250b](https://github.com/aws/aws-cdk/commit/e09250bc92c62cb8ee0a8706ce90d0e82faf2d84)), closes [#11364](https://github.com/aws/aws-cdk/issues/11364) +* **cognito:** user pools - sign in with apple ([#13160](https://github.com/aws/aws-cdk/issues/13160)) ([b965589](https://github.com/aws/aws-cdk/commit/b965589358f4c281aea36404276f08128e6ff3db)) +* **core:** `description` parameter in the CustomResourceProvider ([#13275](https://github.com/aws/aws-cdk/issues/13275)) ([78831cf](https://github.com/aws/aws-cdk/commit/78831cf9dec0407e7d827711183ac47be070f480)), closes [#13277](https://github.com/aws/aws-cdk/issues/13277) [#13276](https://github.com/aws/aws-cdk/issues/13276) +* **core:** customize bundling output packaging ([#13152](https://github.com/aws/aws-cdk/issues/13152)) ([6eca979](https://github.com/aws/aws-cdk/commit/6eca979f65542f3e44461588d8220e8c0bf76a6e)) +* **dynamodb:** custom timeout for replication operation ([#13354](https://github.com/aws/aws-cdk/issues/13354)) ([6a5a4f2](https://github.com/aws/aws-cdk/commit/6a5a4f2d9bb6b09ad0d10066200fe53bb45f0737)), closes [#10249](https://github.com/aws/aws-cdk/issues/10249) +* **ec2:** Add VPC endpoint for RDS ([#12497](https://github.com/aws/aws-cdk/issues/12497)) ([fc87574](https://github.com/aws/aws-cdk/commit/fc8757437c37a0947cced720ff363b8858850f72)), closes [#12402](https://github.com/aws/aws-cdk/issues/12402) +* **ec2:** multipart user data ([#11843](https://github.com/aws/aws-cdk/issues/11843)) ([ed94c5e](https://github.com/aws/aws-cdk/commit/ed94c5ef1b9dd3042128b0e0c5bb14b3d9c7d497)), closes [#8315](https://github.com/aws/aws-cdk/issues/8315) +* **ecs:** ability to access tag parameter value of TagParameterContainerImage ([#13340](https://github.com/aws/aws-cdk/issues/13340)) ([e567a41](https://github.com/aws/aws-cdk/commit/e567a410d47366855ee3e6011aa096ba987b8099)), closes [#13202](https://github.com/aws/aws-cdk/issues/13202) +* **ecs:** add port mappings to containers with props ([#13262](https://github.com/aws/aws-cdk/issues/13262)) ([f511639](https://github.com/aws/aws-cdk/commit/f511639bba156f6edd15896a4dd8e27b07671ea1)), closes [#13261](https://github.com/aws/aws-cdk/issues/13261) +* **ecs:** allow selection of container and port for SRV service discovery records ([#12798](https://github.com/aws/aws-cdk/issues/12798)) ([a452bc3](https://github.com/aws/aws-cdk/commit/a452bc385640762a043392a717d49de29abcc64e)), closes [#12796](https://github.com/aws/aws-cdk/issues/12796) +* **elbv2:** allow control of ingress rules on redirect listener ([#12768](https://github.com/aws/aws-cdk/issues/12768)) ([b7b441f](https://github.com/aws/aws-cdk/commit/b7b441f74a07d26fd8de23df84e7ab4663c89c0c)), closes [#12766](https://github.com/aws/aws-cdk/issues/12766) +* **events:** archive events ([#12060](https://github.com/aws/aws-cdk/issues/12060)) ([465cd9c](https://github.com/aws/aws-cdk/commit/465cd9c434acff74070ca6d33891e1481e253128)), closes [#11531](https://github.com/aws/aws-cdk/issues/11531) +* **events:** dead letter queue for Lambda Targets ([#11617](https://github.com/aws/aws-cdk/issues/11617)) ([1bb3650](https://github.com/aws/aws-cdk/commit/1bb3650c5dd2087b05793a5e903cdfb80fc5c1ad)), closes [#11612](https://github.com/aws/aws-cdk/issues/11612) +* **events:** dead-letter queue support for StepFunctions ([#13450](https://github.com/aws/aws-cdk/issues/13450)) ([0ebcb41](https://github.com/aws/aws-cdk/commit/0ebcb4160ee16f0f7ff1072a40c8951f9a983048)), closes [#13449](https://github.com/aws/aws-cdk/issues/13449) +* **iam:** SAML identity provider ([#13393](https://github.com/aws/aws-cdk/issues/13393)) ([faa0c06](https://github.com/aws/aws-cdk/commit/faa0c060dad9a5045495707e28fc85f223d4db5d)), closes [#5320](https://github.com/aws/aws-cdk/issues/5320) +* **lambda:** Code.fromDockerBuild ([#13318](https://github.com/aws/aws-cdk/issues/13318)) ([ad01099](https://github.com/aws/aws-cdk/commit/ad01099d5b8f835c3b87d7d20fd2dc1a5df2fd6f)), closes [#13273](https://github.com/aws/aws-cdk/issues/13273) +* **neptune:** high level constructs for db clusters and instances ([#12763](https://github.com/aws/aws-cdk/issues/12763)) ([c366837](https://github.com/aws/aws-cdk/commit/c36683701d88eb0c53fdd2add66b10c47c05f56b)), closes [aws#12762](https://github.com/aws/aws/issues/12762) +* **neptune:** Support IAM authentication ([#13462](https://github.com/aws/aws-cdk/issues/13462)) ([6c5b1f4](https://github.com/aws/aws-cdk/commit/6c5b1f42fb73a132d47945b529bab73557f2b9d8)), closes [#13461](https://github.com/aws/aws-cdk/issues/13461) +* **region-info:** added AppMesh ECR account for af-south-1 region ([#12814](https://github.com/aws/aws-cdk/issues/12814)) ([b3fba43](https://github.com/aws/aws-cdk/commit/b3fba43a047df61e713e8d2271d6deee7e07b716)) + + +### Bug Fixes + +* **cfn-include:** allow dynamic mappings to be used in Fn::FindInMap ([#13428](https://github.com/aws/aws-cdk/issues/13428)) ([623675d](https://github.com/aws/aws-cdk/commit/623675d2f8fb2786f23beb87994e687e8a7c6612)) +* **cloudfront:** cannot add two EdgeFunctions with same aliases ([#13324](https://github.com/aws/aws-cdk/issues/13324)) ([1f35351](https://github.com/aws/aws-cdk/commit/1f3535145d22b2b13ebbcbfe31a3bfd73519352d)), closes [#13237](https://github.com/aws/aws-cdk/issues/13237) +* **cloudwatch:** MathExpression period of <5 minutes is not respected ([#13078](https://github.com/aws/aws-cdk/issues/13078)) ([d9ee914](https://github.com/aws/aws-cdk/commit/d9ee91432918aa113f728abdd61295096ed1512f)), closes [#9156](https://github.com/aws/aws-cdk/issues/9156) +* **cloudwatch:** metric `label` not rendered into Alarms ([#13070](https://github.com/aws/aws-cdk/issues/13070)) ([cbcc712](https://github.com/aws/aws-cdk/commit/cbcc712e0c4c44c83c7f4d1e8a544bccfa26bb56)) +* **codebuild:** allow FILE_PATH webhook filter for BitBucket ([#13186](https://github.com/aws/aws-cdk/issues/13186)) ([cbed348](https://github.com/aws/aws-cdk/commit/cbed3488f03bdfba16f3950bda653535c8999db1)), closes [#13175](https://github.com/aws/aws-cdk/issues/13175) +* **core:** custom resource provider NODEJS_12 now looks like Lambda's NODEJS_12_X, add Node 14 ([#13301](https://github.com/aws/aws-cdk/issues/13301)) ([3413b2f](https://github.com/aws/aws-cdk/commit/3413b2f887596d11dfb53c0e99c2a1788095a2ad)) +* **dynamodb:** replicas not created on table replacement ([#13300](https://github.com/aws/aws-cdk/issues/13300)) ([c7c424f](https://github.com/aws/aws-cdk/commit/c7c424fec42f1f14ab8bdc3011f5bdb602918aa3)), closes [#12332](https://github.com/aws/aws-cdk/issues/12332) +* **ec2:** NAT provider's default outbound rules cannot be disabled ([#12674](https://github.com/aws/aws-cdk/issues/12674)) ([664133a](https://github.com/aws/aws-cdk/commit/664133a35da2bd096a237971ce662f3dd38b297f)), closes [#12673](https://github.com/aws/aws-cdk/issues/12673) +* **ec2:** readme grammar ([#13180](https://github.com/aws/aws-cdk/issues/13180)) ([fe4f056](https://github.com/aws/aws-cdk/commit/fe4f05678c06d634d3fe9e1b608e444a57f67b9c)) +* **ec2:** Throw error on empty InitFile content ([#13009](https://github.com/aws/aws-cdk/issues/13009)) ([#13119](https://github.com/aws/aws-cdk/issues/13119)) ([81a78a3](https://github.com/aws/aws-cdk/commit/81a78a31408276ebb020e45b15ddca7a2c57ae50)) +* **ecr:** Allow referencing an EcrImage by digest instead of tag ([#13299](https://github.com/aws/aws-cdk/issues/13299)) ([266a621](https://github.com/aws/aws-cdk/commit/266a621abfc34c62ff1e26de9cb8cf0687588f89)), closes [#5082](https://github.com/aws/aws-cdk/issues/5082) +* **ecr:** Generate valid CloudFormation for imageScanOnPush ([#13420](https://github.com/aws/aws-cdk/issues/13420)) ([278fba5](https://github.com/aws/aws-cdk/commit/278fba5df4a3d785e49bdb57ccf88fd34bacacbb)), closes [#13418](https://github.com/aws/aws-cdk/issues/13418) +* **ecs:** services essential container exceptions thrown too soon ([#13240](https://github.com/aws/aws-cdk/issues/13240)) ([c174f6c](https://github.com/aws/aws-cdk/commit/c174f6c2f4dd909e07be34b66bd6b3a92d5e8484)), closes [#13239](https://github.com/aws/aws-cdk/issues/13239) +* **elasticloadbalancingv2:** should allow more than 2 certificates ([#13332](https://github.com/aws/aws-cdk/issues/13332)) ([d3155e9](https://github.com/aws/aws-cdk/commit/d3155e97fd9331a4732396941ce4ad20613fe81c)), closes [#13150](https://github.com/aws/aws-cdk/issues/13150) +* **events:** cannot trigger multiple Lambdas from the same Rule ([#13260](https://github.com/aws/aws-cdk/issues/13260)) ([c8c1762](https://github.com/aws/aws-cdk/commit/c8c1762c213aad1062c3a0bc48b22b05c3a0a185)), closes [#13231](https://github.com/aws/aws-cdk/issues/13231) +* **events:** imported ECS Task Definition cannot be used as target ([#13293](https://github.com/aws/aws-cdk/issues/13293)) ([6f7cebd](https://github.com/aws/aws-cdk/commit/6f7cebdf61073cc1fb358fcac5f5b2156389cb81)), closes [#12811](https://github.com/aws/aws-cdk/issues/12811) +* **iam:** oidc-provider can't pull from hosts requiring SNI ([#13397](https://github.com/aws/aws-cdk/issues/13397)) ([90dbfb5](https://github.com/aws/aws-cdk/commit/90dbfb5eec19559717ac6b30f25451461027e731)) +* **lambda-nodejs:** paths with spaces break esbuild ([#13312](https://github.com/aws/aws-cdk/issues/13312)) ([f983fbb](https://github.com/aws/aws-cdk/commit/f983fbb474ecd6727b0c5a35333718cc55d78bf1)), closes [#13311](https://github.com/aws/aws-cdk/issues/13311) +* **python:** change Python namespace to `aws_cdk` ([#13489](https://github.com/aws/aws-cdk/issues/13489)) ([90f5311](https://github.com/aws/aws-cdk/commit/90f5311b8bfd32d3b2fb348264cdcb026a5975f5)) +* **stepfunctions:** `SageMakeUpdateEndpoint` adds insufficient permissions ([#13170](https://github.com/aws/aws-cdk/issues/13170)) ([6126e49](https://github.com/aws/aws-cdk/commit/6126e499e5ca22b5f751af4f4f05d74f696829f1)), closes [#11594](https://github.com/aws/aws-cdk/issues/11594) + +## [2.0.0-alpha.6](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.5...v2.0.0-alpha.6) (2021-03-03) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **ecs-patterns:** ** the desiredCount property stored on the above constructs will be optional, allowing them to be undefined. This is enabled through the `@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount` feature flag. We would recommend all aws-cdk users to set the `REMOVE_DEFAULT_DESIRED_COUNT` flag to true for all of their existing applications. + +Fixes: https://github.com/aws/aws-cdk/issues/12990 +* **aws-appsync:** RdsDataSource now takes a ServerlessCluster instead of a DatabaseCluster + +### Features + +* **apigateway:** integrate with aws services in a different region ([#13251](https://github.com/aws/aws-cdk/issues/13251)) ([d942699](https://github.com/aws/aws-cdk/commit/d9426996c07ff909993594ed91cfcf2b5761414b)), closes [#7009](https://github.com/aws/aws-cdk/issues/7009) +* **aws-s3:** adds s3 bucket AWS FSBP option ([#12804](https://github.com/aws/aws-cdk/issues/12804)) ([b9cdd52](https://github.com/aws/aws-cdk/commit/b9cdd52274eca55940c65b830939132d0e074365)), closes [#10969](https://github.com/aws/aws-cdk/issues/10969) +* **cfnspec:** cloudformation spec v29.0.0 ([#13249](https://github.com/aws/aws-cdk/issues/13249)) ([6318e26](https://github.com/aws/aws-cdk/commit/6318e2632297783bc8b5b2609bba096dd83a1113)) +* **cli:** Configurable --change-set-name CLI flag ([#13024](https://github.com/aws/aws-cdk/issues/13024)) ([18184df](https://github.com/aws/aws-cdk/commit/18184df05f5b8478ef9cae1285e45e61a0833822)), closes [#11075](https://github.com/aws/aws-cdk/issues/11075) [/github.com/aws/aws-cdk/pull/12683#issuecomment-778465771](https://github.com/aws//github.com/aws/aws-cdk/pull/12683/issues/issuecomment-778465771) +* **ecs-patterns:** remove default desiredCount to align with cfn behaviour (under feature flag) ([#13130](https://github.com/aws/aws-cdk/issues/13130)) ([a9caa45](https://github.com/aws/aws-cdk/commit/a9caa455b708e08f1cf2d366ac32892d4faa59b4)) +* **elasticloadbalancingv2:** Add support for application cookies ([#13142](https://github.com/aws/aws-cdk/issues/13142)) ([23385dd](https://github.com/aws/aws-cdk/commit/23385ddeb0decd227a0104d7b0aff06939acaad9)) +* **lambda:** code signing config ([#12656](https://github.com/aws/aws-cdk/issues/12656)) ([778ea27](https://github.com/aws/aws-cdk/commit/778ea2759a8a4504dc232eb6b1d77a38f8ee7aef)), closes [#12216](https://github.com/aws/aws-cdk/issues/12216) +* **stepfunctions-tasks:** add EKS call to SFN-tasks ([#12779](https://github.com/aws/aws-cdk/issues/12779)) ([296a10d](https://github.com/aws/aws-cdk/commit/296a10d76a9f6fc2a374d1a6461c460bcc3eeb79)) +* **synthetics:** Update CloudWatch Synthetics NodeJS runtimes ([#12907](https://github.com/aws/aws-cdk/issues/12907)) ([6aac3b6](https://github.com/aws/aws-cdk/commit/6aac3b6a9bb1586ee16e7a85ca657b544d0f8304)), closes [#12906](https://github.com/aws/aws-cdk/issues/12906) + + +### Bug Fixes + +* **appsync:** revert to allow resolver creation from data source ([#12973](https://github.com/aws/aws-cdk/issues/12973)) ([d35f032](https://github.com/aws/aws-cdk/commit/d35f03226d6d7fb5be246b4d3584ee9205b0ef2d)), closes [#12635](https://github.com/aws/aws-cdk/issues/12635) [#11522](https://github.com/aws/aws-cdk/issues/11522) +* **aws-appsync:** use serverlessCluster on rdsDataSource ([#13206](https://github.com/aws/aws-cdk/issues/13206)) ([45cf387](https://github.com/aws/aws-cdk/commit/45cf3873fb48d4043e7a22284d36695ea6bde6ef)), closes [#12567](https://github.com/aws/aws-cdk/issues/12567) +* **custom-resources:** unable to use a resource attributes as dictionary keys in AwsCustomResource ([#13074](https://github.com/aws/aws-cdk/issues/13074)) ([3cb3104](https://github.com/aws/aws-cdk/commit/3cb31043a42b035f6dcd2a318836d4bfc4973151)), closes [#13063](https://github.com/aws/aws-cdk/issues/13063) +* **eks:** `KubectlProvider` creates un-necessary security group ([#13178](https://github.com/aws/aws-cdk/issues/13178)) ([c5e8b6d](https://github.com/aws/aws-cdk/commit/c5e8b6df1e5f0359d51d025edcc68508ab5daef1)) +* **lambda-nodejs:** 'must use "outdir"' error with spaces in paths ([#13268](https://github.com/aws/aws-cdk/issues/13268)) ([09723f5](https://github.com/aws/aws-cdk/commit/09723f58ed3034fc2cb46316e6d798cb8f2bf96e)), closes [#13210](https://github.com/aws/aws-cdk/issues/13210) +* **lambda-nodejs:** invalid sample in documentation ([#12404](https://github.com/aws/aws-cdk/issues/12404)) ([520c263](https://github.com/aws/aws-cdk/commit/520c263ca3c6b0ea7d9c09c23e509a3373ee2b8a)) +* **lambda-python:** asset hash is non-deterministic ([#12984](https://github.com/aws/aws-cdk/issues/12984)) ([37debc0](https://github.com/aws/aws-cdk/commit/37debc0513c5174ca3d918fce94a138d5d34b586)), closes [#12770](https://github.com/aws/aws-cdk/issues/12770) [#12684](https://github.com/aws/aws-cdk/issues/12684) +* incorrect peerDependency on "constructs" ([#13255](https://github.com/aws/aws-cdk/issues/13255)) ([17244af](https://github.com/aws/aws-cdk/commit/17244af0d181a28b908fa161250c5a3285521c53)) +* UserPool, Volume, ElasticSearch, FSx are now RETAIN by default ([#12920](https://github.com/aws/aws-cdk/issues/12920)) ([5a54741](https://github.com/aws/aws-cdk/commit/5a54741a414d3f8b7913163f4785759b984b41d8)), closes [#12563](https://github.com/aws/aws-cdk/issues/12563) + +## [2.0.0-alpha.5](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.4...v2.0.0-alpha.5) (2021-02-17) + + +### Features + +* **apigatewayv2:** http api - jwt and cognito user pool authorizers ([#10972](https://github.com/aws/aws-cdk/issues/10972)) ([dd90e54](https://github.com/aws/aws-cdk/commit/dd90e5464b24e097a3e41a81556924018a422181)), closes [#10534](https://github.com/aws/aws-cdk/issues/10534) +* **aws-kinesisanalyticsv2:** L2 construct for Flink applications ([#12464](https://github.com/aws/aws-cdk/issues/12464)) ([94279f3](https://github.com/aws/aws-cdk/commit/94279f35e4f5ef961e0ba8528e34a8fccb9ef3fe)), closes [/github.com/aws-samples/amazon-kinesis-analytics-streaming-etl/blob/master/cdk/lib/streaming-etl.ts#L100](https://github.com/aws//github.com/aws-samples/amazon-kinesis-analytics-streaming-etl/blob/master/cdk/lib/streaming-etl.ts/issues/L100) +* **cfnspec:** cloudformation spec v27.0.0 ([#12960](https://github.com/aws/aws-cdk/issues/12960)) ([7730ac8](https://github.com/aws/aws-cdk/commit/7730ac8c6c7aedb233a24c665666b9651b2401a5)) +* **cli:** change set name is now a constant, and --no-execute will always produce one (even if empty) ([#12683](https://github.com/aws/aws-cdk/issues/12683)) ([00cdd2a](https://github.com/aws/aws-cdk/commit/00cdd2a2188d146af8b8df998e97da91c77dc270)), closes [#11075](https://github.com/aws/aws-cdk/issues/11075) +* **core:** configure bundling docker entrypoint ([#12660](https://github.com/aws/aws-cdk/issues/12660)) ([6597a09](https://github.com/aws/aws-cdk/commit/6597a09310fbc13d43389eca91b0e4b26f8ca680)), closes [#11984](https://github.com/aws/aws-cdk/issues/11984) +* **elasticsearch:** add custom endpoint options ([#12904](https://github.com/aws/aws-cdk/issues/12904)) ([f67ab86](https://github.com/aws/aws-cdk/commit/f67ab8689dc38803253067c4f9632b9bc5ea653f)), closes [#12261](https://github.com/aws/aws-cdk/issues/12261) +* **redshift:** add missing current generation RA3 NodeTypes ([#12784](https://github.com/aws/aws-cdk/issues/12784)) ([f91a3f1](https://github.com/aws/aws-cdk/commit/f91a3f1302c395e8c7ffe9d6164e8f3b252f9a27)), closes [#12783](https://github.com/aws/aws-cdk/issues/12783) +* **stepfunctions:** Implement IGrantable ([#12830](https://github.com/aws/aws-cdk/issues/12830)) ([3b5ff05](https://github.com/aws/aws-cdk/commit/3b5ff0562090059f3a94140161acce53e484776c)), closes [#12829](https://github.com/aws/aws-cdk/issues/12829) +* future flags 'core:enableStackNameDuplicates', 'aws-secretsmanager:parseOwnedSecretName' and 'aws-kms:defaultKeyPolicies' are no longer supported ([#12644](https://github.com/aws/aws-cdk/issues/12644)) ([7554246](https://github.com/aws/aws-cdk/commit/7554246ab6d0819bc57d5e67cd9e4e10a3b7e742)) + + +### Bug Fixes + +* **cfn-diff:** correctly handle version strings like '0.0.0' ([#13022](https://github.com/aws/aws-cdk/issues/13022)) ([34a921b](https://github.com/aws/aws-cdk/commit/34a921b9667402b6d90731f1fd9e3de1ef27f8bf)), closes [#13016](https://github.com/aws/aws-cdk/issues/13016) +* **cfn2ts:** correctly choose between string and object without required properties in a union ([#12954](https://github.com/aws/aws-cdk/issues/12954)) ([b7137c5](https://github.com/aws/aws-cdk/commit/b7137c59d04f14a6ad890bff1faf0f36cae131b0)), closes [#12854](https://github.com/aws/aws-cdk/issues/12854) +* **codedeploy:** allow the install agent script's commands to exit with errors ([#12782](https://github.com/aws/aws-cdk/issues/12782)) ([23d52a5](https://github.com/aws/aws-cdk/commit/23d52a570b591f080eebfbd9dc679a9ef2daeebf)), closes [#12764](https://github.com/aws/aws-cdk/issues/12764) +* **codepipeline-actions:** use BatchGetBuildBatches permission for batch builds ([#13018](https://github.com/aws/aws-cdk/issues/13018)) ([09ba573](https://github.com/aws/aws-cdk/commit/09ba573a816cc4fa9898c1700136bb332801721c)) +* **ec2:** MachineImage.genericLinux/Windows don't work in environment-agnostic stacks ([#12546](https://github.com/aws/aws-cdk/issues/12546)) ([fbe7e89](https://github.com/aws/aws-cdk/commit/fbe7e89ba764093ddec9caa7de3ca921f3dc68ac)), closes [#8759](https://github.com/aws/aws-cdk/issues/8759) +* **ec2:** Subnet cidr missing for Vpc.from_lookup() ([#12878](https://github.com/aws/aws-cdk/issues/12878)) ([9028269](https://github.com/aws/aws-cdk/commit/90282693999efdc43330b9526b9d7f4cd0fa5736)), closes [#11821](https://github.com/aws/aws-cdk/issues/11821) +* **ec2:** volume props validations are incorrect ([#12821](https://github.com/aws/aws-cdk/issues/12821)) ([12cddff](https://github.com/aws/aws-cdk/commit/12cddffcfa38cc0522e4c36327f193e6a605f441)), closes [#12816](https://github.com/aws/aws-cdk/issues/12816) [#12816](https://github.com/aws/aws-cdk/issues/12816) [#12074](https://github.com/aws/aws-cdk/issues/12074) +* **ec2:** VpnConnection fails if `ip` is a Token ([#12923](https://github.com/aws/aws-cdk/issues/12923)) ([953957a](https://github.com/aws/aws-cdk/commit/953957a2c3e630b5ad2196e113f943e27ee21067)), closes [#11633](https://github.com/aws/aws-cdk/issues/11633) +* **kms:** cross-environment usage fails when trustAccountIdentities is set ([#12925](https://github.com/aws/aws-cdk/issues/12925)) ([2b917ec](https://github.com/aws/aws-cdk/commit/2b917eceb598b3365123781445df7e2bd8a80b74)), closes [#12921](https://github.com/aws/aws-cdk/issues/12921) [#12741](https://github.com/aws/aws-cdk/issues/12741) +* **lambda-python:** cryptography >= 3.4 is not supported by older pip version ([#12934](https://github.com/aws/aws-cdk/issues/12934)) ([b68acf8](https://github.com/aws/aws-cdk/commit/b68acf828e04841dd7e62b30fe80db8c25e5d96e)), closes [/cryptography.io/en/3.4/changelog.html#v3-4](https://github.com/aws//cryptography.io/en/3.4/changelog.html/issues/v3-4) +* **tools:** doc block links not clickable in VS Code ([#12336](https://github.com/aws/aws-cdk/issues/12336)) ([4f17f92](https://github.com/aws/aws-cdk/commit/4f17f923edc5e55b0977dcb250c9908027297d1b)) + +## [2.0.0-alpha.4](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.3...v2.0.0-alpha.4) (2021-02-10) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **appmesh:** the properties virtualRouter and virtualNode of VirtualServiceProps have been replaced with the union-like class VirtualServiceProvider +* **appmesh**: the method `addVirtualService` has been removed from `IMesh` +* **cloudfront:** experimental EdgeFunction stack names have changed from 'edge-lambda-stack-${region}' to 'edge-lambda-stack-${stackid}' to support multiple independent CloudFront distributions with EdgeFunctions. + +### Features + +* **apigateway:** cognito user pool authorizer ([#12786](https://github.com/aws/aws-cdk/issues/12786)) ([ff1e5b3](https://github.com/aws/aws-cdk/commit/ff1e5b3c580119c107fe26c67fe3cc220f9ee7c9)), closes [#5618](https://github.com/aws/aws-cdk/issues/5618) +* **apigateway:** import an existing Resource ([#12785](https://github.com/aws/aws-cdk/issues/12785)) ([8a1a9b8](https://github.com/aws/aws-cdk/commit/8a1a9b82a36e681334fd45be595f6ecdf904ad34)), closes [#4432](https://github.com/aws/aws-cdk/issues/4432) +* **appmesh:** change VirtualService provider to a union-like class ([#11978](https://github.com/aws/aws-cdk/issues/11978)) ([dfc765a](https://github.com/aws/aws-cdk/commit/dfc765af44c755f10be8f6c1c2eae55f62e2aa08)), closes [#9490](https://github.com/aws/aws-cdk/issues/9490) +* **aws-route53:** cross account DNS delegations ([#12680](https://github.com/aws/aws-cdk/issues/12680)) ([126a693](https://github.com/aws/aws-cdk/commit/126a6935cacc1f68b1d1155e484912d4ed6978f2)), closes [#8776](https://github.com/aws/aws-cdk/issues/8776) +* **cfnspec:** cloudformation spec v26.0.0 ([#12841](https://github.com/aws/aws-cdk/issues/12841)) ([f959b3a](https://github.com/aws/aws-cdk/commit/f959b3a2eeb5a9a9e44ea3f88622f77f7667bfa4)) +* **cloudfront:** add PublicKey and KeyGroup L2 constructs ([#12743](https://github.com/aws/aws-cdk/issues/12743)) ([59cb6d0](https://github.com/aws/aws-cdk/commit/59cb6d032a55515ec5e9903f899de588d18d4cb5)) +* **cloudfront:** add support for TrustedKeyGroups in Distribution and CloudFrontWebDistribution ([#12847](https://github.com/aws/aws-cdk/issues/12847)) ([349a6e2](https://github.com/aws/aws-cdk/commit/349a6e2bfaa72440deb3767fb1e28e38cc4d73ef)), closes [#11791](https://github.com/aws/aws-cdk/issues/11791) +* **core:** `stack.exportValue()` can be used to solve "deadly embrace" ([#12778](https://github.com/aws/aws-cdk/issues/12778)) ([3b66088](https://github.com/aws/aws-cdk/commit/3b66088010b6f2315a215e92505d5279680f16d4)), closes [#7602](https://github.com/aws/aws-cdk/issues/7602) [#2036](https://github.com/aws/aws-cdk/issues/2036) +* **ec2:** can define Launch Templates (not use them yet) ([#12385](https://github.com/aws/aws-cdk/issues/12385)) ([32c0de7](https://github.com/aws/aws-cdk/commit/32c0de74cf40f08a291c8589fd85f3dd636749ea)) +* **ecr:** Public Gallery authorization token ([#12775](https://github.com/aws/aws-cdk/issues/12775)) ([8434294](https://github.com/aws/aws-cdk/commit/84342943ad9f2ea8a83773f00816a0b8117c4d17)) +* **ecs-patterns:** Add PlatformVersion option to ScheduledFargateTask props ([#12676](https://github.com/aws/aws-cdk/issues/12676)) ([3cbf38b](https://github.com/aws/aws-cdk/commit/3cbf38b09a9e66a6c009f833481fb25b8c5fc26c)), closes [#12623](https://github.com/aws/aws-cdk/issues/12623) +* **elbv2:** support for 2020 SSL policy ([#12710](https://github.com/aws/aws-cdk/issues/12710)) ([1dd3d05](https://github.com/aws/aws-cdk/commit/1dd3d0518dc2a70c725f87dd5d4377338389125c)), closes [#12595](https://github.com/aws/aws-cdk/issues/12595) +* **iam:** Permissions Boundaries ([#12777](https://github.com/aws/aws-cdk/issues/12777)) ([415eb86](https://github.com/aws/aws-cdk/commit/415eb861c65829cc53eabbbb8706f83f08c74570)), closes [aws/aws-cdk-rfcs#5](https://github.com/aws/aws-cdk-rfcs/issues/5) [#3242](https://github.com/aws/aws-cdk/issues/3242) +* **lambda:** inline code for Python 3.8 ([#12788](https://github.com/aws/aws-cdk/issues/12788)) ([8d3aaba](https://github.com/aws/aws-cdk/commit/8d3aabaffe436e6a3eebc0a58fe361c5b4b93f08)), closes [#6503](https://github.com/aws/aws-cdk/issues/6503) +* **lambda:** layer version removal policy ([#12792](https://github.com/aws/aws-cdk/issues/12792)) ([5664480](https://github.com/aws/aws-cdk/commit/5664480a97958263ee7cb903c2aff0276e738dc3)), closes [#12718](https://github.com/aws/aws-cdk/issues/12718) +* **lambda:** nodejs14.x runtime ([#12861](https://github.com/aws/aws-cdk/issues/12861)) ([12c224a](https://github.com/aws/aws-cdk/commit/12c224a0f54230b6226de8defa527f7b53f9bc65)) + + +### Bug Fixes + +* **apigateway:** stack update fails to replace api key ([38cbe62](https://github.com/aws/aws-cdk/commit/38cbe620859d6efabda95dbdd3185a480ab43894)), closes [#12698](https://github.com/aws/aws-cdk/issues/12698) +* **apigateway:** stack update fails to replace api key ([#12745](https://github.com/aws/aws-cdk/issues/12745)) ([ffe7e42](https://github.com/aws/aws-cdk/commit/ffe7e425e605144a465cea9befa68d4fe19f9d8c)), closes [#12698](https://github.com/aws/aws-cdk/issues/12698) +* **cfn-include:** AWS::CloudFormation resources fail in monocdk ([#12758](https://github.com/aws/aws-cdk/issues/12758)) ([5060782](https://github.com/aws/aws-cdk/commit/5060782b00e17bdf44e225f8f5ef03344be238c7)), closes [#11595](https://github.com/aws/aws-cdk/issues/11595) +* **cli, codepipeline:** renamed bootstrap stack still not supported ([#12771](https://github.com/aws/aws-cdk/issues/12771)) ([40b32bb](https://github.com/aws/aws-cdk/commit/40b32bbda272b6e2f92fd5dd8de7ca5bf405ce52)), closes [#12594](https://github.com/aws/aws-cdk/issues/12594) [#12732](https://github.com/aws/aws-cdk/issues/12732) +* **cloudfront:** use node addr for edgeStackId name ([#12702](https://github.com/aws/aws-cdk/issues/12702)) ([c429bb7](https://github.com/aws/aws-cdk/commit/c429bb7df2406346426dce22d716cabc484ec7e6)), closes [#12323](https://github.com/aws/aws-cdk/issues/12323) +* **codedeploy:** wrong syntax on Windows 'installAgent' flag ([#12736](https://github.com/aws/aws-cdk/issues/12736)) ([238742e](https://github.com/aws/aws-cdk/commit/238742e4323310ce850d8edc70abe4b0e9f53186)), closes [#12734](https://github.com/aws/aws-cdk/issues/12734) +* **codepipeline:** permission denied for Action-level environment variables ([#12761](https://github.com/aws/aws-cdk/issues/12761)) ([99fd074](https://github.com/aws/aws-cdk/commit/99fd074a07ead624f64d3fe64685ba67c798976e)), closes [#12742](https://github.com/aws/aws-cdk/issues/12742) +* **core:** append file extension to s3 asset key in new style synthesizer ([#12765](https://github.com/aws/aws-cdk/issues/12765)) ([77b9d39](https://github.com/aws/aws-cdk/commit/77b9d3930ec722be3a40e4013cd9335f90b0d945)), closes [#12740](https://github.com/aws/aws-cdk/issues/12740) +* **core:** incorrect GetParameter permissions in nonstandard partitions ([#12813](https://github.com/aws/aws-cdk/issues/12813)) ([be7202f](https://github.com/aws/aws-cdk/commit/be7202fa229435607e81d480726e9ce7f625b85a)) +* **ec2:** ARM-backed bastion hosts try to run x86-based Amazon Linux AMI ([#12280](https://github.com/aws/aws-cdk/issues/12280)) ([1a73d76](https://github.com/aws/aws-cdk/commit/1a73d761ad2363842567a1b6e0488ceb093e70b2)), closes [#12279](https://github.com/aws/aws-cdk/issues/12279) +* **efs:** EFS fails to create when using a VPC with multiple subnets per availability zone ([#12097](https://github.com/aws/aws-cdk/issues/12097)) ([889d673](https://github.com/aws/aws-cdk/commit/889d6734c10174f2661e45057c345cd112a44187)), closes [#10170](https://github.com/aws/aws-cdk/issues/10170) +* **iam:** cannot use the same Role for multiple Config Rules ([#12724](https://github.com/aws/aws-cdk/issues/12724)) ([2f6521a](https://github.com/aws/aws-cdk/commit/2f6521a1d8670b2653f7dee281309351181cf918)), closes [#12714](https://github.com/aws/aws-cdk/issues/12714) +* **lambda:** codeguru profiler not set up for Node runtime ([#12712](https://github.com/aws/aws-cdk/issues/12712)) ([59db763](https://github.com/aws/aws-cdk/commit/59db763e7d05d68fd85b6fd37246d69d4670d7d5)), closes [#12624](https://github.com/aws/aws-cdk/issues/12624) + +## [2.0.0-alpha.3](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.2...v2.0.0-alpha.3) (2021-02-03) + + +### Features + +* **aws-codebuild:** add `enableBatchBuilds()` to Project ([#12531](https://github.com/aws/aws-cdk/issues/12531)) ([0568390](https://github.com/aws/aws-cdk/commit/05683907d6ffc9ab12b6744c1b59b0df096789e1)) +* **batch:** Compute Resources placement group ([#12203](https://github.com/aws/aws-cdk/issues/12203)) ([fe37174](https://github.com/aws/aws-cdk/commit/fe37174ec29b7d3b60b252df08ceecf1aa057098)) + +## [2.0.0-alpha.2](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.1...v2.0.0-alpha.2) (2021-01-27) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **s3-deployment:** User metadata keys of bucket objects will change from `x-amz-meta-x-amz-meta-x-amzn-meta-mykey` to `x-amz-meta-mykey`. +* **core:** users of modern synthesis (`DefaultSynthesizer`, +used by CDK Pipelines) must upgrade their bootstrap stacks. Run `cdk bootstrap`. + +### Features + +* **aws-codepipeline-actions:** Add Full Clone support for CodeCommit ([#12558](https://github.com/aws/aws-cdk/issues/12558)) ([d169688](https://github.com/aws/aws-cdk/commit/d169688f35bc78c88c44ff9a7d8fa0dfea71f904)), closes [#12236](https://github.com/aws/aws-cdk/issues/12236) +* **cfnspec:** cloudformation spec v24.0.0 ([#12615](https://github.com/aws/aws-cdk/issues/12615)) ([98ebe96](https://github.com/aws/aws-cdk/commit/98ebe964fcd1f528fc4796bf39dc574b222b0014)), closes [#12474](https://github.com/aws/aws-cdk/issues/12474) +* **cognito:** allow to set read and write attributes in Cognito UserPoolClient ([#7607](https://github.com/aws/aws-cdk/issues/7607)) ([552e1e9](https://github.com/aws/aws-cdk/commit/552e1e9d649528875680a8a1cb2aad8f0a0ebcea)), closes [#7407](https://github.com/aws/aws-cdk/issues/7407) +* **ec2:** Support for new EBS types ([#12074](https://github.com/aws/aws-cdk/issues/12074)) ([6a2ce55](https://github.com/aws/aws-cdk/commit/6a2ce55e7213bb8356f2f37dbd02f1a3d52883be)), closes [#12071](https://github.com/aws/aws-cdk/issues/12071) +* **eks:** Graduate to stable ([#12640](https://github.com/aws/aws-cdk/issues/12640)) ([b5ba7cd](https://github.com/aws/aws-cdk/commit/b5ba7cdd61714bcfbf2135240790340a77ee1a8b)) +* **s3:** Bucket keys ([#12376](https://github.com/aws/aws-cdk/issues/12376)) ([d126fcc](https://github.com/aws/aws-cdk/commit/d126fcca685346c0607babfbbf4d341f669a9e81)), closes [#11828](https://github.com/aws/aws-cdk/issues/11828) +* **stepfunctions-tasks:** EcsRunTask now uses taskDefinition family instead of ARN ([#12436](https://github.com/aws/aws-cdk/issues/12436)) ([abde96b](https://github.com/aws/aws-cdk/commit/abde96b046358fc5435545692eba4fd63d503914)), closes [#12080](https://github.com/aws/aws-cdk/issues/12080) +* **stepfunctions-tasks:** support databrew startJobRun task ([#12532](https://github.com/aws/aws-cdk/issues/12532)) ([eacd2f7](https://github.com/aws/aws-cdk/commit/eacd2f7ea67c83d50c839acf29fbe953ae49d987)) + + +### Bug Fixes + +* **apigateway:** cannot remove first api key from usage plan ([#12505](https://github.com/aws/aws-cdk/issues/12505)) ([96cbe32](https://github.com/aws/aws-cdk/commit/96cbe32d2399d82a2ad6c3bf6dc1fd65396882d4)), closes [#11876](https://github.com/aws/aws-cdk/issues/11876) +* **apigatewayv2:** multiple http integrations are created for each route ([#12528](https://github.com/aws/aws-cdk/issues/12528)) ([855ce59](https://github.com/aws/aws-cdk/commit/855ce59039a577d142d68720e86d81610edffc64)), closes [40aws-cdk/aws-apigatewayv2/lib/http/route.ts#L128](https://github.com/40aws-cdk/aws-apigatewayv2/lib/http/route.ts/issues/L128) +* **aws-ecs:** Invalid user data defined for windows autoscaling groups ([#12585](https://github.com/aws/aws-cdk/issues/12585)) ([638b995](https://github.com/aws/aws-cdk/commit/638b995cb72b0819a1965a7ccf451b6ed9034a1b)), closes [#12583](https://github.com/aws/aws-cdk/issues/12583) +* **core:** modern deployments fail if bootstrap stack is renamed ([#12594](https://github.com/aws/aws-cdk/issues/12594)) ([e5c616f](https://github.com/aws/aws-cdk/commit/e5c616f73eac395492636341f57fb6a716d1ea69)), closes [#11952](https://github.com/aws/aws-cdk/issues/11952) [#11420](https://github.com/aws/aws-cdk/issues/11420) [#9053](https://github.com/aws/aws-cdk/issues/9053) +* **pipelines:** assets broken in Pipelines synthesized from Windows ([#12573](https://github.com/aws/aws-cdk/issues/12573)) ([5c3dce5](https://github.com/aws/aws-cdk/commit/5c3dce56c71083321069a31213aaa5bce40f51d3)), closes [#12540](https://github.com/aws/aws-cdk/issues/12540) +* **pipelines:** can't use CodePipeline variables in Synth environment variables ([#12602](https://github.com/aws/aws-cdk/issues/12602)) ([736b260](https://github.com/aws/aws-cdk/commit/736b260db7f21d89e220591007580f62b22fea3a)), closes [#12061](https://github.com/aws/aws-cdk/issues/12061) [#11178](https://github.com/aws/aws-cdk/issues/11178) +* **pipelines:** unable to publish assets inside VPC ([#12331](https://github.com/aws/aws-cdk/issues/12331)) ([a16f09c](https://github.com/aws/aws-cdk/commit/a16f09c9ea675caf5b1e50a4e1cc288e5afd1237)), closes [#11815](https://github.com/aws/aws-cdk/issues/11815) +* **s3-deployment:** User metadata keys have redundant triple `x-amz` prefix ([#12414](https://github.com/aws/aws-cdk/issues/12414)) ([6716181](https://github.com/aws/aws-cdk/commit/671618152dc585ef0703f6c3501f6ee5a366b4a9)), closes [#8459](https://github.com/aws/aws-cdk/issues/8459) +* **secretsmanager:** fromSecretPartialArn() has incorrect grant policies ([#12665](https://github.com/aws/aws-cdk/issues/12665)) ([560915e](https://github.com/aws/aws-cdk/commit/560915ece87a919f499a64452b919a0b291394ee)), closes [#12411](https://github.com/aws/aws-cdk/issues/12411) +* **synthetics:** default execution role breaks in non aws partitions ([#12096](https://github.com/aws/aws-cdk/issues/12096)) ([c01272c](https://github.com/aws/aws-cdk/commit/c01272c14be9b7ff635281952f3cfeed971a352e)), closes [#12094](https://github.com/aws/aws-cdk/issues/12094) + +## [2.0.0-alpha.1](https://github.com/aws/aws-cdk/compare/v2.0.0-alpha.0...v2.0.0-alpha.1) (2021-01-21) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **apigatewayv2:** `subnets` prop in `VpcLink` resource now takes `SubnetSelection` instead of `ISubnet[]` +* **eks:** Existing self managed nodes may loose the ability to host additional services of type `LoadBalancer` . See https://github.com/aws/aws-cdk/pull/12269#issuecomment-752161190 for possible mitigations. +* **eks:** the `@aws-cdk/eks.KubectlLayer` layer class has been moved to `@aws-cdk/lambda-layer-kubectl.KubectlLayer`. +* **eks:** `LegacyCluster` was removed since it existed only for a transition period to allow gradual migration to the current cluster class. + +- eks: `kubectlEnabled` property was removed, all clusters now support `kubectl`. +* **core:** Creation stack traces for `Lazy` values are no longer +captured by default in order to speed up tests. Run with +`CDK_DEBUG=true` (or `cdk --debug`) to capture stack traces. +* **apigatewayv2:** `HttpApi.fromApiId()` has been replaced with +`HttpApi.fromHttpApiAttributes()`. +* **elasticsearch:** ES Domain LogGroup LogicalId will change, which will trigger new log group resources to be created +* **cloudfront-origins:** Default minimum origin SSL protocol for `HttpOrigin` and `LoadBalancerOrigin` changed from SSLv3 to TLSv1.2. + +### Features + +* **apigatewayv2:** http api - disable execute api endpoint ([#12426](https://github.com/aws/aws-cdk/issues/12426)) ([1724da7](https://github.com/aws/aws-cdk/commit/1724da758666ec92f7b923c899d2f2f439083ba2)), closes [#12241](https://github.com/aws/aws-cdk/issues/12241) +* **appmesh:** add listener TLS certificates for VirtualNodes and VirtualGateways ([#11863](https://github.com/aws/aws-cdk/issues/11863)) ([175a257](https://github.com/aws/aws-cdk/commit/175a2570465d484aa0a73a7bded34e686da493ed)), closes [#10051](https://github.com/aws/aws-cdk/issues/10051) +* **appmesh:** add timeout support to Routes ([#11973](https://github.com/aws/aws-cdk/issues/11973)) ([78c185d](https://github.com/aws/aws-cdk/commit/78c185d15e64e81ee86ee71cd6430cd80fdbb8fe)) +* **aws-cloudfront:** support minimum security protocol ([#12231](https://github.com/aws/aws-cdk/issues/12231)) ([40976d9](https://github.com/aws/aws-cdk/commit/40976d9d71bb5c77d6dd9962f67129c4a7e91d0b)), closes [#12199](https://github.com/aws/aws-cdk/issues/12199) +* **aws-kms:** support waiting period ([#12224](https://github.com/aws/aws-cdk/issues/12224)) ([9f451bd](https://github.com/aws/aws-cdk/commit/9f451bda33ae83e41e395799d9bb3f07ce4e100d)), closes [#12218](https://github.com/aws/aws-cdk/issues/12218) +* **aws-lambda-nodejs:** add esbuild `define` bundling option ([#12424](https://github.com/aws/aws-cdk/issues/12424)) ([581f6af](https://github.com/aws/aws-cdk/commit/581f6af3d1f71737ca93b6ecb9b004bdade149a8)), closes [#12423](https://github.com/aws/aws-cdk/issues/12423) +* **cdk-assets:** add external asset support ([#12259](https://github.com/aws/aws-cdk/issues/12259)) ([05a9980](https://github.com/aws/aws-cdk/commit/05a998065b3333854715c456b20b7cc5d5daac67)) +* **cfnspec:** CloudFormation resource specification update to v23.0.0 ([#12490](https://github.com/aws/aws-cdk/issues/12490)) ([a7a2236](https://github.com/aws/aws-cdk/commit/a7a2236367f8f01b00b6d90f1d3fe7bf674b1aee)) +* **cfnspec:** cloudformation spec v22.0.0 ([#12204](https://github.com/aws/aws-cdk/issues/12204)) ([a5be2e9](https://github.com/aws/aws-cdk/commit/a5be2e9d57862a5cc9a108d9fdedd1398e492645)), closes [#12170](https://github.com/aws/aws-cdk/issues/12170) [#11974](https://github.com/aws/aws-cdk/issues/11974) [#12114](https://github.com/aws/aws-cdk/issues/12114) [#12028](https://github.com/aws/aws-cdk/issues/12028) +* **cli:** `--quiet` does not print template in `cdk synth` ([#12178](https://github.com/aws/aws-cdk/issues/12178)) ([74458a0](https://github.com/aws/aws-cdk/commit/74458a0e9eebce4ee254673aad8933d39588d843)), closes [#11970](https://github.com/aws/aws-cdk/issues/11970) +* **cloudfront:** allow to specify stack ID for Lambda@Edge ([#12163](https://github.com/aws/aws-cdk/issues/12163)) ([049e70c](https://github.com/aws/aws-cdk/commit/049e70c3fc32c2287623a5f7bd3ae2c38ce29409)), closes [#12136](https://github.com/aws/aws-cdk/issues/12136) +* **cloudfront-origins:** ability to specify minimum origin SSL protocol ([#11997](https://github.com/aws/aws-cdk/issues/11997)) ([a0aa61d](https://github.com/aws/aws-cdk/commit/a0aa61d5bc1134accef7bab2707edb497fce2c57)), closes [#11994](https://github.com/aws/aws-cdk/issues/11994) +* **cloudfront-origins:** CloudFront Origins is now Generally Available ([#12011](https://github.com/aws/aws-cdk/issues/12011)) ([daace16](https://github.com/aws/aws-cdk/commit/daace1684638b8fb8b89b60bf39b24c65a769d64)), closes [#11919](https://github.com/aws/aws-cdk/issues/11919) +* **cloudwatch:** full precision for SingleValueWidgets ([#12274](https://github.com/aws/aws-cdk/issues/12274)) ([45d78f0](https://github.com/aws/aws-cdk/commit/45d78f0b132380e95a585ea7bec96f08f2069edc)), closes [#8940](https://github.com/aws/aws-cdk/issues/8940) [#12066](https://github.com/aws/aws-cdk/issues/12066) +* **codebuild:** add `startBatchBuild` option ([#11743](https://github.com/aws/aws-cdk/issues/11743)) ([d9353b7](https://github.com/aws/aws-cdk/commit/d9353b7625420595401620709828de2f44c66597)), closes [/github.com/aws-cloudformation/aws-cloudformation-coverage-roadmap/issues/621#issuecomment-732336650](https://github.com/aws//github.com/aws-cloudformation/aws-cloudformation-coverage-roadmap/issues/621/issues/issuecomment-732336650) [#11663](https://github.com/aws/aws-cdk/issues/11663) +* **codebuild:** prevent using Secrets in plain-text environment variables ([#12150](https://github.com/aws/aws-cdk/issues/12150)) ([998af8f](https://github.com/aws/aws-cdk/commit/998af8f0e574b7b07083f0f347dc4934a6da1966)) +* **codebuild:** support Standard 5.0 ([#12434](https://github.com/aws/aws-cdk/issues/12434)) ([422dc8e](https://github.com/aws/aws-cdk/commit/422dc8e9d50105af4e710d409a4f301079d43f3f)), closes [#12433](https://github.com/aws/aws-cdk/issues/12433) +* **codecommit:** HTTPS GRC clone URL ([#12312](https://github.com/aws/aws-cdk/issues/12312)) ([36b081e](https://github.com/aws/aws-cdk/commit/36b081e470674005b54c190b50da9b2ed3d9ad9c)) +* **core:** expose custom resource provider's role ([#11923](https://github.com/aws/aws-cdk/issues/11923)) ([06f26d3](https://github.com/aws/aws-cdk/commit/06f26d390707b0e2a4e05e36405a4751c907a234)), closes [/github.com/aws/aws-cdk/pull/9751#issuecomment-723554595](https://github.com/aws//github.com/aws/aws-cdk/pull/9751/issues/issuecomment-723554595) +* **core:** validate maximum amount of resources in a stack ([#12193](https://github.com/aws/aws-cdk/issues/12193)) ([26121c8](https://github.com/aws/aws-cdk/commit/26121c81abf0fb92de97567c758a1ecf60f85f63)), closes [#276](https://github.com/aws/aws-cdk/issues/276) +* **ec2:** add m6gd and r6gd metadata ([#12302](https://github.com/aws/aws-cdk/issues/12302)) ([ce4eb20](https://github.com/aws/aws-cdk/commit/ce4eb2037f40148062784addb82ee8cf9881d129)), closes [#12301](https://github.com/aws/aws-cdk/issues/12301) +* **ec2:** add r5b instance type to instance class ([#12027](https://github.com/aws/aws-cdk/issues/12027)) ([d276b02](https://github.com/aws/aws-cdk/commit/d276b020e61ee4455c7ed9f093436d1aab319e76)), closes [#12025](https://github.com/aws/aws-cdk/issues/12025) +* **ec2:** Add VPC endpoints for Athena and Glue ([#12073](https://github.com/aws/aws-cdk/issues/12073)) ([73ef6b1](https://github.com/aws/aws-cdk/commit/73ef6b180c8a7c3d8e984b308149eeb9eb78b40b)), closes [#12072](https://github.com/aws/aws-cdk/issues/12072) +* **ecs:** deployment circuit breaker support ([#12168](https://github.com/aws/aws-cdk/issues/12168)) ([e8801a0](https://github.com/aws/aws-cdk/commit/e8801a0ddb04e75de87ba34f3a58b1adebae5301)) +* **ecs-patterns:** Add DeploymentController option to Fargate services ([#10452](https://github.com/aws/aws-cdk/issues/10452)) ([2cd233a](https://github.com/aws/aws-cdk/commit/2cd233a94fc2f3cb06211157738e59e8c7ee85e5)), closes [aws/containers-roadmap#130](https://github.com/aws/containers-roadmap/issues/130) [#10971](https://github.com/aws/aws-cdk/issues/10971) +* **ecs-patterns:** add ruleName optional parameter for ScheduledTask constructs ([#12190](https://github.com/aws/aws-cdk/issues/12190)) ([b1318bd](https://github.com/aws/aws-cdk/commit/b1318bda54d1c0955a371eccce76b748d312b570)) +* **ecs-patterns:** containerName for QueueProcessingEc2Service ([88d4149](https://github.com/aws/aws-cdk/commit/88d4149432d55e65b23448fd58d8ec3e96f3e72c)), closes [#10517](https://github.com/aws/aws-cdk/issues/10517) +* **eks:** attach cluster security group to self-managed nodes ([#12042](https://github.com/aws/aws-cdk/issues/12042)) ([1078bea](https://github.com/aws/aws-cdk/commit/1078bea4c90afaac76a5e81328a9d6ec44a79e9a)) +* **eks:** aws-node-termination-handler for spot instances now pulls the image from public ECR ([#12141](https://github.com/aws/aws-cdk/issues/12141)) ([c752fab](https://github.com/aws/aws-cdk/commit/c752fabf2022b5e697b6bf900e7878076f28b31a)), closes [#12134](https://github.com/aws/aws-cdk/issues/12134) +* **eks:** bundle kubectl, helm and awscli instead of SAR app ([#12129](https://github.com/aws/aws-cdk/issues/12129)) ([63bc98f](https://github.com/aws/aws-cdk/commit/63bc98f0d4a85b1c544d78420fd44579ce46a806)), closes [#11874](https://github.com/aws/aws-cdk/issues/11874) +* **eks:** connect all custom resources to the cluster VPC ([#10200](https://github.com/aws/aws-cdk/issues/10200)) ([eaa8222](https://github.com/aws/aws-cdk/commit/eaa82222349fcce1ef4b80e873a35002d6f036e5)) +* **eks:** option to disable manifest validation ([#12012](https://github.com/aws/aws-cdk/issues/12012)) ([579b923](https://github.com/aws/aws-cdk/commit/579b9235706d6848847a258bbb607a9bff6a9e11)), closes [#11763](https://github.com/aws/aws-cdk/issues/11763) +* **eks:** spot interruption handler can be disabled for self managed nodes ([#12453](https://github.com/aws/aws-cdk/issues/12453)) ([6ac1f4f](https://github.com/aws/aws-cdk/commit/6ac1f4fdef5853785d8e57652ec4c4e1d770844d)), closes [#12451](https://github.com/aws/aws-cdk/issues/12451) +* **eks:** spot support for managed nodegroups ([#11962](https://github.com/aws/aws-cdk/issues/11962)) ([6ccd00f](https://github.com/aws/aws-cdk/commit/6ccd00fc7641f3696559367d65733b66df707fa7)), closes [#11827](https://github.com/aws/aws-cdk/issues/11827) +* **elasticsearch:** add support for version 7_8 and 7_9 ([#12222](https://github.com/aws/aws-cdk/issues/12222)) ([09d1f6c](https://github.com/aws/aws-cdk/commit/09d1f6cae610477c17234eab4a02fc731e34e2cf)), closes [#12202](https://github.com/aws/aws-cdk/issues/12202) +* **elasticsearch:** Support `EnableVersionUpgrade` update policy ([#12239](https://github.com/aws/aws-cdk/issues/12239)) ([14f8b06](https://github.com/aws/aws-cdk/commit/14f8b06686368da15211dbd528928ad4000d9eb8)), closes [#12210](https://github.com/aws/aws-cdk/issues/12210) +* **elasticsearch:** support audit logs ([#12106](https://github.com/aws/aws-cdk/issues/12106)) ([d10ea63](https://github.com/aws/aws-cdk/commit/d10ea631f8699385cadf61d6e0a067b68da37df6)), closes [#12105](https://github.com/aws/aws-cdk/issues/12105) +* **elasticsearch:** UltraWarm nodes ([#12265](https://github.com/aws/aws-cdk/issues/12265)) ([3a9056d](https://github.com/aws/aws-cdk/commit/3a9056d87b0c739247013fc74678ab54fd3eb382)), closes [#6462](https://github.com/aws/aws-cdk/issues/6462) +* **ivs:** add IVS L2 Constructs ([#11454](https://github.com/aws/aws-cdk/issues/11454)) ([f813bff](https://github.com/aws/aws-cdk/commit/f813bff2da4792cfa7bfce6f572a7d2bb5c4759d)) +* **lambda:** encryption key for environment variables ([#11893](https://github.com/aws/aws-cdk/issues/11893)) ([ccbaf83](https://github.com/aws/aws-cdk/commit/ccbaf8399c3a9f3ff6e60758e0b713d82f37420b)), closes [#10837](https://github.com/aws/aws-cdk/issues/10837) +* **lambda-nodejs:** expose more esbuild options ([#12063](https://github.com/aws/aws-cdk/issues/12063)) ([bab21b3](https://github.com/aws/aws-cdk/commit/bab21b377593b7475b047d05a54914344352c054)), closes [#12046](https://github.com/aws/aws-cdk/issues/12046) +* **lambda-nodejs:** Expose optional props for advanced usage of esbuild ([#12123](https://github.com/aws/aws-cdk/issues/12123)) ([ecc98ac](https://github.com/aws/aws-cdk/commit/ecc98ac75acb1adbb4f5e66f853dc3226e490c98)) +* **rds:** add grantConnect for RDS Proxy ([#12243](https://github.com/aws/aws-cdk/issues/12243)) ([eb45ca8](https://github.com/aws/aws-cdk/commit/eb45ca816626b243daacbd3a8916ac1e5db202ea)), closes [#10133](https://github.com/aws/aws-cdk/issues/10133) +* **rds:** add support for setting public accessibility ([#12164](https://github.com/aws/aws-cdk/issues/12164)) ([b8f48e5](https://github.com/aws/aws-cdk/commit/b8f48e514c09d2f46d8bbae27171877df61e7f2a)), closes [#12093](https://github.com/aws/aws-cdk/issues/12093) +* **route53:** Vpc endpoint service private dns ([#10780](https://github.com/aws/aws-cdk/issues/10780)) ([8f6f9a8](https://github.com/aws/aws-cdk/commit/8f6f9a8678496e131a43ca4c76e561d50a0a0de8)) +* **s3:** option to auto delete objects upon bucket removal ([#12090](https://github.com/aws/aws-cdk/issues/12090)) ([32e9c23](https://github.com/aws/aws-cdk/commit/32e9c23be2852cfca79a57c90e52b9301b1c7081)), closes [#3297](https://github.com/aws/aws-cdk/issues/3297) [#9751](https://github.com/aws/aws-cdk/issues/9751) +* **s3-deployment:** support vpc in BucketDeploymentProps ([#12035](https://github.com/aws/aws-cdk/issues/12035)) ([6caf72f](https://github.com/aws/aws-cdk/commit/6caf72f67d6d3373186e57f32671369c2cc8b56e)), closes [#11734](https://github.com/aws/aws-cdk/issues/11734) +* **sns:** fifo topic with content-based deduplication support [#11127](https://github.com/aws/aws-cdk/issues/11127) ([#11588](https://github.com/aws/aws-cdk/issues/11588)) ([7e60d8e](https://github.com/aws/aws-cdk/commit/7e60d8e7aa7a6507675a24991d9c9832017ddfed)) +* **stepfunctions-tasks:** add support for ModelClientConfig to SageMakerCreateTransformJob ([#11892](https://github.com/aws/aws-cdk/issues/11892)) ([bf05092](https://github.com/aws/aws-cdk/commit/bf050928c033328b259746c0a7f33038aadc4c17)) +* **synthetics:** Update Cloudwatch Synthetics canaries NodeJS runtimes ([#11866](https://github.com/aws/aws-cdk/issues/11866)) ([4f6e377](https://github.com/aws/aws-cdk/commit/4f6e377ae3f35c3fa010e1597c3d71ef6e6e9a04)), closes [#11870](https://github.com/aws/aws-cdk/issues/11870) +* Configre containerName for QueueProcessingFargateService ([fad27f6](https://github.com/aws/aws-cdk/commit/fad27f65a73dc3b9c208439c5e474295491381da)) +* remove the construct compatibility layer ([#12054](https://github.com/aws/aws-cdk/issues/12054)) ([8d3c02c](https://github.com/aws/aws-cdk/commit/8d3c02c117072433bf649003af0c4fee4a1f8c4b)) + + +### Bug Fixes + +* **apigatewayv2:** vpclink - explicit subnet specification still causes private subnets to be included ([#12401](https://github.com/aws/aws-cdk/issues/12401)) ([336a58f](https://github.com/aws/aws-cdk/commit/336a58f06a3b3a9f5db2a79350f8721244767e3b)), closes [#12083](https://github.com/aws/aws-cdk/issues/12083) +* **appsync:** rds data source configured with cluster arn ([#12255](https://github.com/aws/aws-cdk/issues/12255)) ([d0305f3](https://github.com/aws/aws-cdk/commit/d0305f33da41ce1f07a5d571eb21c0ee9ea852d0)), closes [#11536](https://github.com/aws/aws-cdk/issues/11536) +* **aws-ecs:** Support configuring Windows capacity for cluster ASGs ([#12365](https://github.com/aws/aws-cdk/issues/12365)) ([6d9a0f1](https://github.com/aws/aws-cdk/commit/6d9a0f1ea0c05e7902ccca4d0fc4040e688846e5)) +* **aws-ecs:** update desired count to be optional ([#12223](https://github.com/aws/aws-cdk/issues/12223)) ([455540b](https://github.com/aws/aws-cdk/commit/455540b0915742c1612e924fc2d7c0987b1bc592)) +* **cfn-include:** cfn-include fails in monocdk ([#11595](https://github.com/aws/aws-cdk/issues/11595)) ([45e43f2](https://github.com/aws/aws-cdk/commit/45e43f28f5d175bba654ee44d683aa3fc1854f9a)), closes [#11342](https://github.com/aws/aws-cdk/issues/11342) +* **cli:** CLI doesn't read context from ~/.cdk.json ([#12394](https://github.com/aws/aws-cdk/issues/12394)) ([2389a9b](https://github.com/aws/aws-cdk/commit/2389a9b5742583f1d58c66a4f513ee4d833baab5)), closes [#10823](https://github.com/aws/aws-cdk/issues/10823) [#4802](https://github.com/aws/aws-cdk/issues/4802) +* **cli:** cross account asset upload no longer works ([#12155](https://github.com/aws/aws-cdk/issues/12155)) ([1c8cb11](https://github.com/aws/aws-cdk/commit/1c8cb11961c53fad499668aa39600f2038dce9d7)) +* **cli:** cross-account deployment no longer works ([#11966](https://github.com/aws/aws-cdk/issues/11966)) ([6fb3448](https://github.com/aws/aws-cdk/commit/6fb34483432b5cdcc485bbf6bfdb7bbb74f4b895)), closes [#11350](https://github.com/aws/aws-cdk/issues/11350) [#11792](https://github.com/aws/aws-cdk/issues/11792) [#11792](https://github.com/aws/aws-cdk/issues/11792) +* **cloudfront:** cross-region EdgeFunction does not work within a Stage ([#12103](https://github.com/aws/aws-cdk/issues/12103)) ([98d781c](https://github.com/aws/aws-cdk/commit/98d781cf9bc39d4c57454c4c60390c699326e84d)), closes [#12092](https://github.com/aws/aws-cdk/issues/12092) +* **cloudfront:** EdgeFunction fails with newStyleStackSynthesis ([#12356](https://github.com/aws/aws-cdk/issues/12356)) ([fb02736](https://github.com/aws/aws-cdk/commit/fb02736e7fb471b8ebd0d80e352f68f3cbf5270e)), closes [#12172](https://github.com/aws/aws-cdk/issues/12172) +* **codebuild:** missing permissions for SecretsManager environment variables ([#12121](https://github.com/aws/aws-cdk/issues/12121)) ([1a13d8f](https://github.com/aws/aws-cdk/commit/1a13d8fbb3ea4edd4ff8fb0a2608547f63b902f9)) +* **codebuild:** Project lacks permissions to its log destinations ([#12213](https://github.com/aws/aws-cdk/issues/12213)) ([b92ed51](https://github.com/aws/aws-cdk/commit/b92ed51c6ff11f8453755b6381a3cf1f12b0fcc1)), closes [#11444](https://github.com/aws/aws-cdk/issues/11444) [#12179](https://github.com/aws/aws-cdk/issues/12179) +* **codepipeline-actions:** use codebuild batch iam permissions when `executeBatchBuild: true` ([#12181](https://github.com/aws/aws-cdk/issues/12181)) ([5279f37](https://github.com/aws/aws-cdk/commit/5279f37288283a37c952440a7f2082517c56af3a)) +* **core:** capturing stack traces still takes a long time ([#12180](https://github.com/aws/aws-cdk/issues/12180)) ([71cd38c](https://github.com/aws/aws-cdk/commit/71cd38c8fac276e34b79ad416305b214a57af25a)), closes [#11170](https://github.com/aws/aws-cdk/issues/11170) +* **core:** DefaultStackSynthesizer bucket prefix missing for template assets ([#11855](https://github.com/aws/aws-cdk/issues/11855)) ([50a3d3a](https://github.com/aws/aws-cdk/commit/50a3d3acf3e413d9b4e51197d2be4ea1349c0955)), closes [#10710](https://github.com/aws/aws-cdk/issues/10710) [#11327](https://github.com/aws/aws-cdk/issues/11327) +* **dynamodb:** allow global replicas with Provisioned billing mode ([#12159](https://github.com/aws/aws-cdk/issues/12159)) ([ab5a383](https://github.com/aws/aws-cdk/commit/ab5a38379999bb57f28bbf22ec09d315df6b358a)), closes [#11346](https://github.com/aws/aws-cdk/issues/11346) +* **dynamodb:** missing grantRead for ConditionCheckItem ([#12313](https://github.com/aws/aws-cdk/issues/12313)) ([e157007](https://github.com/aws/aws-cdk/commit/e1570072440b07b6b82219c1a4371386c541fb1c)) +* **ec2:** 'encoded list token' error using Vpc imported from deploy-time lists ([#12040](https://github.com/aws/aws-cdk/issues/12040)) ([0690da9](https://github.com/aws/aws-cdk/commit/0690da925144c821a73bfab4ae8d678a8c074357)) +* **ec2:** fromInterfaceVpcEndpointAttributes: Security Groups should not be required ([#11857](https://github.com/aws/aws-cdk/issues/11857)) ([86ae5d6](https://github.com/aws/aws-cdk/commit/86ae5d6ec5291f7a8da37bbf021c31f88e66d283)), closes [#11050](https://github.com/aws/aws-cdk/issues/11050) +* **ec2:** interface endpoint AZ lookup does not guard against broken situations ([#12033](https://github.com/aws/aws-cdk/issues/12033)) ([80f0bfd](https://github.com/aws/aws-cdk/commit/80f0bfd167430a015e71b00506e0ecc280068e86)) +* **ec2:** Vpc.fromVpcAttributes cannot be used with EKS ([#12569](https://github.com/aws/aws-cdk/issues/12569)) ([1cdc244](https://github.com/aws/aws-cdk/commit/1cdc244e940396c962147d4e3ada4a0722923321)), closes [#12040](https://github.com/aws/aws-cdk/issues/12040) [#12160](https://github.com/aws/aws-cdk/issues/12160) +* **eks:** aws-node-termination-handler incorrectly deployed to on-demand instances as well ([#12369](https://github.com/aws/aws-cdk/issues/12369)) ([05c0b5f](https://github.com/aws/aws-cdk/commit/05c0b5f5a31c3fe89c47c6db8d9051f7165641a9)), closes [#12368](https://github.com/aws/aws-cdk/issues/12368) +* **eks:** failure to deploy cluster since aws-auth configmap exists ([#12068](https://github.com/aws/aws-cdk/issues/12068)) ([dc8a98a](https://github.com/aws/aws-cdk/commit/dc8a98a5436a7a2347fa9676d84f73a8cf00cd49)), closes [#12053](https://github.com/aws/aws-cdk/issues/12053) +* **eks:** k8s resources accidentally deleted due to logical ID change ([#12053](https://github.com/aws/aws-cdk/issues/12053)) ([019852e](https://github.com/aws/aws-cdk/commit/019852e4834327d848c9fe8dc271f1d4d5117fb8)), closes [#10397](https://github.com/aws/aws-cdk/issues/10397) [#10397](https://github.com/aws/aws-cdk/issues/10397) +* **eks:** nodegroup synthesis fails when configured with an AMI type that is not compatible to the default instance type ([#12441](https://github.com/aws/aws-cdk/issues/12441)) ([5f6f0f9](https://github.com/aws/aws-cdk/commit/5f6f0f9d46dbd460ac03dd5f9f4874eaa41611d8)), closes [40aws-cdk/aws-eks/lib/managed-nodegroup.ts#L294](https://github.com/40aws-cdk/aws-eks/lib/managed-nodegroup.ts/issues/L294) [40aws-cdk/aws-eks/lib/managed-nodegroup.ts#L302-L304](https://github.com/40aws-cdk/aws-eks/lib/managed-nodegroup.ts/issues/L302-L304) [40aws-cdk/aws-eks/lib/managed-nodegroup.ts#L329-L330](https://github.com/40aws-cdk/aws-eks/lib/managed-nodegroup.ts/issues/L329-L330) [40aws-cdk/aws-eks/lib/managed-nodegroup.ts#L324-L325](https://github.com/40aws-cdk/aws-eks/lib/managed-nodegroup.ts/issues/L324-L325) +* **eks:** Self managed nodes cannot be added to LoadBalancers created via the `LoadBalancer` service type ([#12269](https://github.com/aws/aws-cdk/issues/12269)) ([470a881](https://github.com/aws/aws-cdk/commit/470a8811ec18c7f0764018398ec7c3da05b7baac)) +* **elasticsearch:** Defining 2 domains with logging enabled in the same stack fails on construct id conflict ([#12055](https://github.com/aws/aws-cdk/issues/12055)) ([ec3ce19](https://github.com/aws/aws-cdk/commit/ec3ce19bc8203703cb1abcecdb2afc674c2013f6)), closes [#12017](https://github.com/aws/aws-cdk/issues/12017) +* **elasticsearch:** domain configured with access policies and a custom kms key fails to deploy ([#11699](https://github.com/aws/aws-cdk/issues/11699)) ([245ee6a](https://github.com/aws/aws-cdk/commit/245ee6a1253eeaa79177e960c164bf3a409d2e57)) +* **elasticsearch:** domain fails due to log publishing keys on unsupported cluster versions ([#11622](https://github.com/aws/aws-cdk/issues/11622)) ([e6bb96f](https://github.com/aws/aws-cdk/commit/e6bb96ff6bae96e3167c82f6de97807217ddb3be)) +* **elasticsearch:** log policies are overwritten when creating 2 domains which also results in a failure while destroying the stack ([#12056](https://github.com/aws/aws-cdk/issues/12056)) ([889d089](https://github.com/aws/aws-cdk/commit/889d0892bae10243e03900f0ae6db078fc7eb320)), closes [#12016](https://github.com/aws/aws-cdk/issues/12016) +* **elbv2:** can't import two application listeners into the same scope ([#12373](https://github.com/aws/aws-cdk/issues/12373)) ([6534dcf](https://github.com/aws/aws-cdk/commit/6534dcf3e04a55f5c6d28203192cbbddb5d119e6)), closes [#12132](https://github.com/aws/aws-cdk/issues/12132) +* **iam:** Groups are erroneously accepted as the Principal of a policy ([#11479](https://github.com/aws/aws-cdk/issues/11479)) ([#12549](https://github.com/aws/aws-cdk/issues/12549)) ([c9b0859](https://github.com/aws/aws-cdk/commit/c9b085996319e8d4d7d2db19184fb2f2148889a3)) +* **lambda:** make the Version hash calculation stable ([#12364](https://github.com/aws/aws-cdk/issues/12364)) ([4da50e5](https://github.com/aws/aws-cdk/commit/4da50e5bd9845d6e32687b147b6212decb422301)) +* **lambda-layer-*:** unable to calculate layer asset hash due to missing file ([#12293](https://github.com/aws/aws-cdk/issues/12293)) ([646f098](https://github.com/aws/aws-cdk/commit/646f0983143c77c2b6c68598a0bc8b290b5f6184)), closes [#12291](https://github.com/aws/aws-cdk/issues/12291) +* **lambda-nodejs:** local bundling fails with relative depsLockFilePath ([#12125](https://github.com/aws/aws-cdk/issues/12125)) ([d5afb55](https://github.com/aws/aws-cdk/commit/d5afb555b983c8c034f63dd58d1fa24b82b6e9fe)), closes [#12115](https://github.com/aws/aws-cdk/issues/12115) +* **logs:** custom resource Lambda uses old NodeJS version ([#12228](https://github.com/aws/aws-cdk/issues/12228)) ([29c4943](https://github.com/aws/aws-cdk/commit/29c4943466f4a911f65a2a13cf9e776ade9b8dfe)) +* **rds:** add the dependency on proxy targets to ensure dbInstance ([#12237](https://github.com/aws/aws-cdk/issues/12237)) ([8f74169](https://github.com/aws/aws-cdk/commit/8f74169f57f3be745cf6395149e2697d6dc497ee)), closes [#11311](https://github.com/aws/aws-cdk/issues/11311) +* **s3:** Bucket.grantWrite() no longer adds s3:PutObject* permission ([#12391](https://github.com/aws/aws-cdk/issues/12391)) ([cd437cf](https://github.com/aws/aws-cdk/commit/cd437cf630266086a3ddf9e326f215b5d1acdfd7)) +* **s3-deployment:** stop using deprecated API's that will cause breakage post 01/31/21 ([#12491](https://github.com/aws/aws-cdk/issues/12491)) ([f50f928](https://github.com/aws/aws-cdk/commit/f50f92880bbc219c331c858eaace712e0757507d)) +* **sns:** require topic name for fifo topic [#12386](https://github.com/aws/aws-cdk/issues/12386) ([#12437](https://github.com/aws/aws-cdk/issues/12437)) ([37d8ccc](https://github.com/aws/aws-cdk/commit/37d8ccc763f532999bc9f114264f3d29725b0f28)) +* **stepfunctions-tasks:** EvaluateExpression does not support JSON paths with dash ([#12248](https://github.com/aws/aws-cdk/issues/12248)) ([da1ed08](https://github.com/aws/aws-cdk/commit/da1ed08a6a2de584f5ddf43dab4efbb530541419)), closes [#12221](https://github.com/aws/aws-cdk/issues/12221) +* **stepfunctions-tasks:** policies created for EMR tasks have ARNs that are not partition-aware ([#11553](https://github.com/aws/aws-cdk/issues/11553)) ([1cf6713](https://github.com/aws/aws-cdk/commit/1cf6713b778c789af7a420ad890910a9516473f0)), closes [#11503](https://github.com/aws/aws-cdk/issues/11503) + + +* **apigatewayv2:** apiEndpoint is elevated to the IHttpApi interface ([#11988](https://github.com/aws/aws-cdk/issues/11988)) ([bc5b9b6](https://github.com/aws/aws-cdk/commit/bc5b9b659444bfbef9cfc3c8666fce7e6f45465a)) +* **eks:** Remove legacy and deprecated code ([#12189](https://github.com/aws/aws-cdk/issues/12189)) ([6a20e61](https://github.com/aws/aws-cdk/commit/6a20e61dd2ed8366cbff1451c943a02b79380de2)) + +## 2.0.0-alpha.0 (2020-12-11) + +This is the first alpha release of CDK 2.0. 🎉 diff --git a/README.md b/README.md index 1e8a2ca307188..1be67c026412e 100644 --- a/README.md +++ b/README.md @@ -171,3 +171,4 @@ this capability, please see the * [Changelog](./CHANGELOG.md) * [NOTICE](./NOTICE) * [License](./LICENSE) + diff --git a/deprecated_apis.txt b/deprecated_apis.txt index 1f52234d183f6..81f8cec199a6f 100644 --- a/deprecated_apis.txt +++ b/deprecated_apis.txt @@ -1,1108 +1,1100 @@ -@aws-cdk/core.AppProps#runtimeInfo -@aws-cdk/core.Arn#parse -@aws-cdk/core.ArnComponents#sep -@aws-cdk/core.AssetHashType#BUNDLE -@aws-cdk/core.AssetStaging#sourceHash -@aws-cdk/core.AssetStaging#stagedPath -@aws-cdk/core.BundlingDockerImage -@aws-cdk/core.BundlingDockerImage#image -@aws-cdk/core.BundlingDockerImage#fromAsset -@aws-cdk/core.BundlingDockerImage#fromRegistry -@aws-cdk/core.BundlingDockerImage#cp -@aws-cdk/core.BundlingDockerImage#run -@aws-cdk/core.BundlingDockerImage#toJSON -@aws-cdk/core.CfnInclude -@aws-cdk/core.CfnInclude#template -@aws-cdk/core.CfnIncludeProps -@aws-cdk/core.CfnIncludeProps#template -@aws-cdk/core.ConstructNode#metadata -@aws-cdk/core.ConstructNode#uniqueId -@aws-cdk/core.ConstructNode#prepare -@aws-cdk/core.ConstructNode#synth -@aws-cdk/core.ConstructNode#addError -@aws-cdk/core.ConstructNode#addInfo -@aws-cdk/core.ConstructNode#addWarning -@aws-cdk/core.ConstructNode#applyAspect -@aws-cdk/core.CustomResourceProviderRuntime#NODEJS_12 -@aws-cdk/core.DefaultStackSynthesizerProps#fileAssetKeyArnExportName -@aws-cdk/core.DockerImageAssetSource#repositoryName -@aws-cdk/core.Duration#toISOString -@aws-cdk/core.FileAssetLocation#s3Url -@aws-cdk/core.ITemplateOptions#transform -@aws-cdk/core.Lazy#anyValue -@aws-cdk/core.Lazy#listValue -@aws-cdk/core.Lazy#numberValue -@aws-cdk/core.Lazy#stringValue -@aws-cdk/core.Size#pebibyte -@aws-cdk/core.Stack#parentStack -@aws-cdk/core.Stack#addDockerImageAsset -@aws-cdk/core.Stack#addFileAsset -@aws-cdk/core.Stack#parseArn -@aws-cdk/core.Stack#prepareCrossReference -@aws-cdk/core.Stack#reportMissingContext -@aws-cdk/core.SynthesisOptions -@aws-cdk/core.SynthesisOptions#outdir -@aws-cdk/core.SynthesisOptions#skipValidation -@aws-cdk/core.SynthesisOptions#validateOnSynthesis -@aws-cdk/core.Tag#add -@aws-cdk/core.Tag#remove -@aws-cdk/cloud-assembly-schema.ContainerImageAssetMetadataEntry#imageNameParameter -@aws-cdk/cloud-assembly-schema.Manifest#load -@aws-cdk/cloud-assembly-schema.Manifest#save -@aws-cdk/cx-api.AssemblyBuildOptions#runtimeInfo -@aws-cdk/cx-api.CloudAssembly#getStack -@aws-cdk/cx-api.CloudFormationStackArtifact#name -@aws-cdk/cx-api.MetadataEntry -@aws-cdk/cx-api.MissingContext -@aws-cdk/cx-api.MissingContext#key -@aws-cdk/cx-api.MissingContext#props -@aws-cdk/cx-api.MissingContext#provider -@aws-cdk/cx-api.RuntimeInfo -constructs.Construct#onValidate -constructs.Node#uniqueId -@aws-cdk/assets.CopyOptions -@aws-cdk/assets.CopyOptions#exclude -@aws-cdk/assets.CopyOptions#follow -@aws-cdk/assets.CopyOptions#ignoreMode -@aws-cdk/assets.FingerprintOptions -@aws-cdk/assets.FingerprintOptions#extraHash -@aws-cdk/assets.FollowMode -@aws-cdk/assets.FollowMode#NEVER -@aws-cdk/assets.FollowMode#ALWAYS -@aws-cdk/assets.FollowMode#EXTERNAL -@aws-cdk/assets.FollowMode#BLOCK_EXTERNAL -@aws-cdk/assets.IAsset -@aws-cdk/assets.IAsset#sourceHash -@aws-cdk/assets.Staging -@aws-cdk/assets.StagingProps -@aws-cdk/assets.StagingProps#sourcePath -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_ANDROID_JAVA8_24_4_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_ANDROID_JAVA8_26_1_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_BASE -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_DOCKER_17_09_0 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_DOCKER_18_09_0 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_DOTNET_CORE_1_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_DOTNET_CORE_2_0 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_DOTNET_CORE_2_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_GOLANG_1_10 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_GOLANG_1_11 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_10_1_0 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_10_14_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_6_3_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_8_11_0 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_OPEN_JDK_11 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_OPEN_JDK_8 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_OPEN_JDK_9 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PHP_5_6 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PHP_7_0 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PHP_7_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_2_7_12 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_3_6 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_4_5 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_5_2 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_6_5 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_7_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_2_5 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_3_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_5_1 -@aws-cdk/aws-codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_5_3 -@aws-cdk/aws-codebuild.WindowsBuildImage#WIN_SERVER_CORE_2016_BASE -@aws-cdk/aws-cloudwatch.CommonMetricOptions#dimensions -@aws-cdk/aws-cloudwatch.CreateAlarmOptions#period -@aws-cdk/aws-cloudwatch.CreateAlarmOptions#statistic -@aws-cdk/aws-cloudwatch.IMetric#toAlarmConfig -@aws-cdk/aws-cloudwatch.IMetric#toGraphConfig -@aws-cdk/aws-cloudwatch.MathExpression#toAlarmConfig -@aws-cdk/aws-cloudwatch.MathExpression#toGraphConfig -@aws-cdk/aws-cloudwatch.Metric#toAlarmConfig -@aws-cdk/aws-cloudwatch.Metric#toGraphConfig -@aws-cdk/aws-cloudwatch.MetricAlarmConfig -@aws-cdk/aws-cloudwatch.MetricAlarmConfig#metricName -@aws-cdk/aws-cloudwatch.MetricAlarmConfig#namespace -@aws-cdk/aws-cloudwatch.MetricAlarmConfig#period -@aws-cdk/aws-cloudwatch.MetricAlarmConfig#dimensions -@aws-cdk/aws-cloudwatch.MetricAlarmConfig#extendedStatistic -@aws-cdk/aws-cloudwatch.MetricAlarmConfig#statistic -@aws-cdk/aws-cloudwatch.MetricAlarmConfig#unit -@aws-cdk/aws-cloudwatch.MetricGraphConfig -@aws-cdk/aws-cloudwatch.MetricGraphConfig#metricName -@aws-cdk/aws-cloudwatch.MetricGraphConfig#namespace -@aws-cdk/aws-cloudwatch.MetricGraphConfig#period -@aws-cdk/aws-cloudwatch.MetricGraphConfig#renderingProperties -@aws-cdk/aws-cloudwatch.MetricGraphConfig#color -@aws-cdk/aws-cloudwatch.MetricGraphConfig#dimensions -@aws-cdk/aws-cloudwatch.MetricGraphConfig#label -@aws-cdk/aws-cloudwatch.MetricGraphConfig#statistic -@aws-cdk/aws-cloudwatch.MetricGraphConfig#unit -@aws-cdk/aws-cloudwatch.MetricRenderingProperties -@aws-cdk/aws-cloudwatch.MetricRenderingProperties#period -@aws-cdk/aws-cloudwatch.MetricRenderingProperties#color -@aws-cdk/aws-cloudwatch.MetricRenderingProperties#label -@aws-cdk/aws-cloudwatch.MetricRenderingProperties#stat -@aws-cdk/aws-iam.Anyone -@aws-cdk/aws-iam.IPrincipal#addToPolicy -@aws-cdk/aws-iam.RoleProps#externalId -@aws-cdk/aws-events.EventBus#grantPutEvents -@aws-cdk/aws-events.RuleTargetConfig#id -@aws-cdk/aws-ec2.ClientVpnAuthorizationRuleProps#clientVpnEndoint -@aws-cdk/aws-ec2.ClientVpnRouteProps#clientVpnEndoint -@aws-cdk/aws-ec2.InterfaceVpcEndpoint#securityGroupId -@aws-cdk/aws-ec2.InterfaceVpcEndpointAttributes#securityGroupId -@aws-cdk/aws-ec2.MachineImage#fromSSMParameter -@aws-cdk/aws-ec2.NatInstanceProps#allowAllTraffic -@aws-cdk/aws-ec2.SecurityGroup#securityGroupName -@aws-cdk/aws-ec2.SubnetSelection#subnetName -@aws-cdk/aws-ec2.SubnetType#ISOLATED -@aws-cdk/aws-ec2.SubnetType#PRIVATE -@aws-cdk/aws-ec2.Vpc#natDependencies -@aws-cdk/aws-ec2.Vpc#addDynamoDbEndpoint -@aws-cdk/aws-ec2.Vpc#addS3Endpoint -@aws-cdk/aws-ec2.VpcEndpointService#whitelistedPrincipals -@aws-cdk/aws-ec2.VpcEndpointServiceProps#vpcEndpointServiceName -@aws-cdk/aws-ec2.VpcEndpointServiceProps#whitelistedPrincipals -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2016_GERMAL_FULL_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2012_R2_SP1_PORTUGESE_BRAZIL_64BIT_CORE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2016_PORTUGESE_PORTUGAL_FULL_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2012_R2_RTM_PORTUGESE_BRAZIL_64BIT_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2012_R2_RTM_PORTUGESE_PORTUGAL_64BIT_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2016_PORTUGESE_BRAZIL_FULL_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2012_SP2_PORTUGESE_BRAZIL_64BIT_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2012_RTM_PORTUGESE_BRAZIL_64BIT_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2008_R2_SP1_PORTUGESE_BRAZIL_64BIT_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2008_SP2_PORTUGESE_BRAZIL_32BIT_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2012_RTM_PORTUGESE_PORTUGAL_64BIT_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2019_PORTUGESE_BRAZIL_FULL_BASE -@aws-cdk/aws-ec2.WindowsVersion#WINDOWS_SERVER_2019_PORTUGESE_PORTUGAL_FULL_BASE -@aws-cdk/aws-kms.KeyProps#trustAccountIdentities -@aws-cdk/aws-s3-assets.Asset#s3Url -@aws-cdk/aws-s3-assets.Asset#sourceHash -@aws-cdk/aws-s3-assets.AssetOptions#sourceHash -@aws-cdk/aws-ecr-assets.DockerImageAsset#sourceHash -@aws-cdk/aws-ecr-assets.DockerImageAssetOptions#repositoryName -@aws-cdk/aws-ecr-assets.TarballImageAsset#sourceHash -@aws-cdk/aws-secretsmanager.AttachedSecretOptions -@aws-cdk/aws-secretsmanager.AttachedSecretOptions#target -@aws-cdk/aws-secretsmanager.AttachmentTargetType#INSTANCE -@aws-cdk/aws-secretsmanager.AttachmentTargetType#CLUSTER -@aws-cdk/aws-secretsmanager.Secret#fromSecretArn -@aws-cdk/aws-secretsmanager.Secret#fromSecretName -@aws-cdk/aws-secretsmanager.Secret#addTargetAttachment -@aws-cdk/aws-secretsmanager.SecretAttributes#secretArn -@aws-cdk/aws-secretsmanager.SecretRotationApplication#applicationId -@aws-cdk/aws-secretsmanager.SecretRotationApplication#semanticVersion -@aws-cdk/aws-lambda.Code#isInline -@aws-cdk/aws-lambda.Code#asset -@aws-cdk/aws-lambda.Code#bucket -@aws-cdk/aws-lambda.Code#cfnParameters -@aws-cdk/aws-lambda.Code#inline -@aws-cdk/aws-lambda.Function#addVersion -@aws-cdk/aws-lambda.FunctionAttributes#securityGroupId -@aws-cdk/aws-lambda.FunctionOptions#architectures -@aws-cdk/aws-lambda.FunctionOptions#securityGroup -@aws-cdk/aws-lambda.LogRetention -@aws-cdk/aws-lambda.LogRetentionProps -@aws-cdk/aws-lambda.Runtime#bundlingDockerImage -@aws-cdk/aws-apigateway.CfnApiMappingV2 -@aws-cdk/aws-apigateway.CfnApiMappingV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnApiMappingV2#cfnProperties -@aws-cdk/aws-apigateway.CfnApiMappingV2#apiId -@aws-cdk/aws-apigateway.CfnApiMappingV2#domainName -@aws-cdk/aws-apigateway.CfnApiMappingV2#stage -@aws-cdk/aws-apigateway.CfnApiMappingV2#apiMappingKey -@aws-cdk/aws-apigateway.CfnApiMappingV2#inspect -@aws-cdk/aws-apigateway.CfnApiMappingV2#renderProperties -@aws-cdk/aws-apigateway.CfnApiMappingV2Props -@aws-cdk/aws-apigateway.CfnApiMappingV2Props#apiId -@aws-cdk/aws-apigateway.CfnApiMappingV2Props#domainName -@aws-cdk/aws-apigateway.CfnApiMappingV2Props#stage -@aws-cdk/aws-apigateway.CfnApiMappingV2Props#apiMappingKey -@aws-cdk/aws-apigateway.CfnApiV2 -@aws-cdk/aws-apigateway.CfnApiV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnApiV2#cfnProperties -@aws-cdk/aws-apigateway.CfnApiV2#tags -@aws-cdk/aws-apigateway.CfnApiV2#body -@aws-cdk/aws-apigateway.CfnApiV2#apiKeySelectionExpression -@aws-cdk/aws-apigateway.CfnApiV2#basePath -@aws-cdk/aws-apigateway.CfnApiV2#bodyS3Location -@aws-cdk/aws-apigateway.CfnApiV2#corsConfiguration -@aws-cdk/aws-apigateway.CfnApiV2#credentialsArn -@aws-cdk/aws-apigateway.CfnApiV2#description -@aws-cdk/aws-apigateway.CfnApiV2#disableSchemaValidation -@aws-cdk/aws-apigateway.CfnApiV2#failOnWarnings -@aws-cdk/aws-apigateway.CfnApiV2#name -@aws-cdk/aws-apigateway.CfnApiV2#protocolType -@aws-cdk/aws-apigateway.CfnApiV2#routeKey -@aws-cdk/aws-apigateway.CfnApiV2#routeSelectionExpression -@aws-cdk/aws-apigateway.CfnApiV2#target -@aws-cdk/aws-apigateway.CfnApiV2#version -@aws-cdk/aws-apigateway.CfnApiV2#inspect -@aws-cdk/aws-apigateway.CfnApiV2#renderProperties -@aws-cdk/aws-apigateway.BodyS3LocationProperty -@aws-cdk/aws-apigateway.BodyS3LocationProperty#bucket -@aws-cdk/aws-apigateway.BodyS3LocationProperty#etag -@aws-cdk/aws-apigateway.BodyS3LocationProperty#key -@aws-cdk/aws-apigateway.BodyS3LocationProperty#version -@aws-cdk/aws-apigateway.CorsProperty -@aws-cdk/aws-apigateway.CorsProperty#allowCredentials -@aws-cdk/aws-apigateway.CorsProperty#allowHeaders -@aws-cdk/aws-apigateway.CorsProperty#allowMethods -@aws-cdk/aws-apigateway.CorsProperty#allowOrigins -@aws-cdk/aws-apigateway.CorsProperty#exposeHeaders -@aws-cdk/aws-apigateway.CorsProperty#maxAge -@aws-cdk/aws-apigateway.CfnApiV2Props -@aws-cdk/aws-apigateway.CfnApiV2Props#apiKeySelectionExpression -@aws-cdk/aws-apigateway.CfnApiV2Props#basePath -@aws-cdk/aws-apigateway.CfnApiV2Props#body -@aws-cdk/aws-apigateway.CfnApiV2Props#bodyS3Location -@aws-cdk/aws-apigateway.CfnApiV2Props#corsConfiguration -@aws-cdk/aws-apigateway.CfnApiV2Props#credentialsArn -@aws-cdk/aws-apigateway.CfnApiV2Props#description -@aws-cdk/aws-apigateway.CfnApiV2Props#disableSchemaValidation -@aws-cdk/aws-apigateway.CfnApiV2Props#failOnWarnings -@aws-cdk/aws-apigateway.CfnApiV2Props#name -@aws-cdk/aws-apigateway.CfnApiV2Props#protocolType -@aws-cdk/aws-apigateway.CfnApiV2Props#routeKey -@aws-cdk/aws-apigateway.CfnApiV2Props#routeSelectionExpression -@aws-cdk/aws-apigateway.CfnApiV2Props#tags -@aws-cdk/aws-apigateway.CfnApiV2Props#target -@aws-cdk/aws-apigateway.CfnApiV2Props#version -@aws-cdk/aws-apigateway.CfnAuthorizerV2 -@aws-cdk/aws-apigateway.CfnAuthorizerV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnAuthorizerV2#cfnProperties -@aws-cdk/aws-apigateway.CfnAuthorizerV2#apiId -@aws-cdk/aws-apigateway.CfnAuthorizerV2#authorizerType -@aws-cdk/aws-apigateway.CfnAuthorizerV2#identitySource -@aws-cdk/aws-apigateway.CfnAuthorizerV2#name -@aws-cdk/aws-apigateway.CfnAuthorizerV2#authorizerCredentialsArn -@aws-cdk/aws-apigateway.CfnAuthorizerV2#authorizerResultTtlInSeconds -@aws-cdk/aws-apigateway.CfnAuthorizerV2#authorizerUri -@aws-cdk/aws-apigateway.CfnAuthorizerV2#identityValidationExpression -@aws-cdk/aws-apigateway.CfnAuthorizerV2#jwtConfiguration -@aws-cdk/aws-apigateway.CfnAuthorizerV2#inspect -@aws-cdk/aws-apigateway.CfnAuthorizerV2#renderProperties -@aws-cdk/aws-apigateway.JWTConfigurationProperty -@aws-cdk/aws-apigateway.JWTConfigurationProperty#audience -@aws-cdk/aws-apigateway.JWTConfigurationProperty#issuer -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#apiId -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#authorizerType -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#identitySource -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#name -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#authorizerCredentialsArn -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#authorizerResultTtlInSeconds -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#authorizerUri -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#identityValidationExpression -@aws-cdk/aws-apigateway.CfnAuthorizerV2Props#jwtConfiguration -@aws-cdk/aws-apigateway.CfnDeploymentV2 -@aws-cdk/aws-apigateway.CfnDeploymentV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnDeploymentV2#cfnProperties -@aws-cdk/aws-apigateway.CfnDeploymentV2#apiId -@aws-cdk/aws-apigateway.CfnDeploymentV2#description -@aws-cdk/aws-apigateway.CfnDeploymentV2#stageName -@aws-cdk/aws-apigateway.CfnDeploymentV2#inspect -@aws-cdk/aws-apigateway.CfnDeploymentV2#renderProperties -@aws-cdk/aws-apigateway.CfnDeploymentV2Props -@aws-cdk/aws-apigateway.CfnDeploymentV2Props#apiId -@aws-cdk/aws-apigateway.CfnDeploymentV2Props#description -@aws-cdk/aws-apigateway.CfnDeploymentV2Props#stageName -@aws-cdk/aws-apigateway.CfnDomainNameV2 -@aws-cdk/aws-apigateway.CfnDomainNameV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnDomainNameV2#attrRegionalDomainName -@aws-cdk/aws-apigateway.CfnDomainNameV2#attrRegionalHostedZoneId -@aws-cdk/aws-apigateway.CfnDomainNameV2#cfnProperties -@aws-cdk/aws-apigateway.CfnDomainNameV2#tags -@aws-cdk/aws-apigateway.CfnDomainNameV2#domainName -@aws-cdk/aws-apigateway.CfnDomainNameV2#domainNameConfigurations -@aws-cdk/aws-apigateway.CfnDomainNameV2#inspect -@aws-cdk/aws-apigateway.CfnDomainNameV2#renderProperties -@aws-cdk/aws-apigateway.DomainNameConfigurationProperty -@aws-cdk/aws-apigateway.DomainNameConfigurationProperty#certificateArn -@aws-cdk/aws-apigateway.DomainNameConfigurationProperty#certificateName -@aws-cdk/aws-apigateway.DomainNameConfigurationProperty#endpointType -@aws-cdk/aws-apigateway.CfnDomainNameV2Props -@aws-cdk/aws-apigateway.CfnDomainNameV2Props#domainName -@aws-cdk/aws-apigateway.CfnDomainNameV2Props#domainNameConfigurations -@aws-cdk/aws-apigateway.CfnDomainNameV2Props#tags -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2 -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#cfnProperties -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#apiId -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#integrationId -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#integrationResponseKey -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#responseParameters -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#responseTemplates -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#contentHandlingStrategy -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#templateSelectionExpression -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#inspect -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2#renderProperties -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props#apiId -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props#integrationId -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props#integrationResponseKey -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props#contentHandlingStrategy -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props#responseParameters -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props#responseTemplates -@aws-cdk/aws-apigateway.CfnIntegrationResponseV2Props#templateSelectionExpression -@aws-cdk/aws-apigateway.CfnIntegrationV2 -@aws-cdk/aws-apigateway.CfnIntegrationV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnIntegrationV2#cfnProperties -@aws-cdk/aws-apigateway.CfnIntegrationV2#apiId -@aws-cdk/aws-apigateway.CfnIntegrationV2#integrationType -@aws-cdk/aws-apigateway.CfnIntegrationV2#requestParameters -@aws-cdk/aws-apigateway.CfnIntegrationV2#requestTemplates -@aws-cdk/aws-apigateway.CfnIntegrationV2#connectionType -@aws-cdk/aws-apigateway.CfnIntegrationV2#contentHandlingStrategy -@aws-cdk/aws-apigateway.CfnIntegrationV2#credentialsArn -@aws-cdk/aws-apigateway.CfnIntegrationV2#description -@aws-cdk/aws-apigateway.CfnIntegrationV2#integrationMethod -@aws-cdk/aws-apigateway.CfnIntegrationV2#integrationUri -@aws-cdk/aws-apigateway.CfnIntegrationV2#passthroughBehavior -@aws-cdk/aws-apigateway.CfnIntegrationV2#payloadFormatVersion -@aws-cdk/aws-apigateway.CfnIntegrationV2#templateSelectionExpression -@aws-cdk/aws-apigateway.CfnIntegrationV2#timeoutInMillis -@aws-cdk/aws-apigateway.CfnIntegrationV2#inspect -@aws-cdk/aws-apigateway.CfnIntegrationV2#renderProperties -@aws-cdk/aws-apigateway.CfnIntegrationV2Props -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#apiId -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#integrationType -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#connectionType -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#contentHandlingStrategy -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#credentialsArn -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#description -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#integrationMethod -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#integrationUri -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#passthroughBehavior -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#payloadFormatVersion -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#requestParameters -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#requestTemplates -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#templateSelectionExpression -@aws-cdk/aws-apigateway.CfnIntegrationV2Props#timeoutInMillis -@aws-cdk/aws-apigateway.CfnModelV2 -@aws-cdk/aws-apigateway.CfnModelV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnModelV2#cfnProperties -@aws-cdk/aws-apigateway.CfnModelV2#apiId -@aws-cdk/aws-apigateway.CfnModelV2#name -@aws-cdk/aws-apigateway.CfnModelV2#schema -@aws-cdk/aws-apigateway.CfnModelV2#contentType -@aws-cdk/aws-apigateway.CfnModelV2#description -@aws-cdk/aws-apigateway.CfnModelV2#inspect -@aws-cdk/aws-apigateway.CfnModelV2#renderProperties -@aws-cdk/aws-apigateway.CfnModelV2Props -@aws-cdk/aws-apigateway.CfnModelV2Props#apiId -@aws-cdk/aws-apigateway.CfnModelV2Props#name -@aws-cdk/aws-apigateway.CfnModelV2Props#schema -@aws-cdk/aws-apigateway.CfnModelV2Props#contentType -@aws-cdk/aws-apigateway.CfnModelV2Props#description -@aws-cdk/aws-apigateway.CfnRouteResponseV2 -@aws-cdk/aws-apigateway.CfnRouteResponseV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnRouteResponseV2#cfnProperties -@aws-cdk/aws-apigateway.CfnRouteResponseV2#apiId -@aws-cdk/aws-apigateway.CfnRouteResponseV2#responseModels -@aws-cdk/aws-apigateway.CfnRouteResponseV2#responseParameters -@aws-cdk/aws-apigateway.CfnRouteResponseV2#routeId -@aws-cdk/aws-apigateway.CfnRouteResponseV2#routeResponseKey -@aws-cdk/aws-apigateway.CfnRouteResponseV2#modelSelectionExpression -@aws-cdk/aws-apigateway.CfnRouteResponseV2#inspect -@aws-cdk/aws-apigateway.CfnRouteResponseV2#renderProperties -@aws-cdk/aws-apigateway.ParameterConstraintsProperty -@aws-cdk/aws-apigateway.ParameterConstraintsProperty#required -@aws-cdk/aws-apigateway.CfnRouteResponseV2Props -@aws-cdk/aws-apigateway.CfnRouteResponseV2Props#apiId -@aws-cdk/aws-apigateway.CfnRouteResponseV2Props#routeId -@aws-cdk/aws-apigateway.CfnRouteResponseV2Props#routeResponseKey -@aws-cdk/aws-apigateway.CfnRouteResponseV2Props#modelSelectionExpression -@aws-cdk/aws-apigateway.CfnRouteResponseV2Props#responseModels -@aws-cdk/aws-apigateway.CfnRouteResponseV2Props#responseParameters -@aws-cdk/aws-apigateway.CfnRouteV2 -@aws-cdk/aws-apigateway.CfnRouteV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnRouteV2#cfnProperties -@aws-cdk/aws-apigateway.CfnRouteV2#apiId -@aws-cdk/aws-apigateway.CfnRouteV2#requestModels -@aws-cdk/aws-apigateway.CfnRouteV2#requestParameters -@aws-cdk/aws-apigateway.CfnRouteV2#routeKey -@aws-cdk/aws-apigateway.CfnRouteV2#apiKeyRequired -@aws-cdk/aws-apigateway.CfnRouteV2#authorizationScopes -@aws-cdk/aws-apigateway.CfnRouteV2#authorizationType -@aws-cdk/aws-apigateway.CfnRouteV2#authorizerId -@aws-cdk/aws-apigateway.CfnRouteV2#modelSelectionExpression -@aws-cdk/aws-apigateway.CfnRouteV2#operationName -@aws-cdk/aws-apigateway.CfnRouteV2#routeResponseSelectionExpression -@aws-cdk/aws-apigateway.CfnRouteV2#target -@aws-cdk/aws-apigateway.CfnRouteV2#inspect -@aws-cdk/aws-apigateway.CfnRouteV2#renderProperties -@aws-cdk/aws-apigateway.ParameterConstraintsProperty -@aws-cdk/aws-apigateway.ParameterConstraintsProperty#required -@aws-cdk/aws-apigateway.CfnRouteV2Props -@aws-cdk/aws-apigateway.CfnRouteV2Props#apiId -@aws-cdk/aws-apigateway.CfnRouteV2Props#routeKey -@aws-cdk/aws-apigateway.CfnRouteV2Props#apiKeyRequired -@aws-cdk/aws-apigateway.CfnRouteV2Props#authorizationScopes -@aws-cdk/aws-apigateway.CfnRouteV2Props#authorizationType -@aws-cdk/aws-apigateway.CfnRouteV2Props#authorizerId -@aws-cdk/aws-apigateway.CfnRouteV2Props#modelSelectionExpression -@aws-cdk/aws-apigateway.CfnRouteV2Props#operationName -@aws-cdk/aws-apigateway.CfnRouteV2Props#requestModels -@aws-cdk/aws-apigateway.CfnRouteV2Props#requestParameters -@aws-cdk/aws-apigateway.CfnRouteV2Props#routeResponseSelectionExpression -@aws-cdk/aws-apigateway.CfnRouteV2Props#target -@aws-cdk/aws-apigateway.CfnStageV2 -@aws-cdk/aws-apigateway.CfnStageV2#CFN_RESOURCE_TYPE_NAME -@aws-cdk/aws-apigateway.CfnStageV2#cfnProperties -@aws-cdk/aws-apigateway.CfnStageV2#tags -@aws-cdk/aws-apigateway.CfnStageV2#apiId -@aws-cdk/aws-apigateway.CfnStageV2#routeSettings -@aws-cdk/aws-apigateway.CfnStageV2#stageName -@aws-cdk/aws-apigateway.CfnStageV2#stageVariables -@aws-cdk/aws-apigateway.CfnStageV2#accessLogSettings -@aws-cdk/aws-apigateway.CfnStageV2#autoDeploy -@aws-cdk/aws-apigateway.CfnStageV2#clientCertificateId -@aws-cdk/aws-apigateway.CfnStageV2#defaultRouteSettings -@aws-cdk/aws-apigateway.CfnStageV2#deploymentId -@aws-cdk/aws-apigateway.CfnStageV2#description -@aws-cdk/aws-apigateway.CfnStageV2#inspect -@aws-cdk/aws-apigateway.CfnStageV2#renderProperties -@aws-cdk/aws-apigateway.AccessLogSettingsProperty -@aws-cdk/aws-apigateway.AccessLogSettingsProperty#destinationArn -@aws-cdk/aws-apigateway.AccessLogSettingsProperty#format -@aws-cdk/aws-apigateway.RouteSettingsProperty -@aws-cdk/aws-apigateway.RouteSettingsProperty#dataTraceEnabled -@aws-cdk/aws-apigateway.RouteSettingsProperty#detailedMetricsEnabled -@aws-cdk/aws-apigateway.RouteSettingsProperty#loggingLevel -@aws-cdk/aws-apigateway.RouteSettingsProperty#throttlingBurstLimit -@aws-cdk/aws-apigateway.RouteSettingsProperty#throttlingRateLimit -@aws-cdk/aws-apigateway.CfnStageV2Props -@aws-cdk/aws-apigateway.CfnStageV2Props#apiId -@aws-cdk/aws-apigateway.CfnStageV2Props#stageName -@aws-cdk/aws-apigateway.CfnStageV2Props#accessLogSettings -@aws-cdk/aws-apigateway.CfnStageV2Props#autoDeploy -@aws-cdk/aws-apigateway.CfnStageV2Props#clientCertificateId -@aws-cdk/aws-apigateway.CfnStageV2Props#defaultRouteSettings -@aws-cdk/aws-apigateway.CfnStageV2Props#deploymentId -@aws-cdk/aws-apigateway.CfnStageV2Props#description -@aws-cdk/aws-apigateway.CfnStageV2Props#routeSettings -@aws-cdk/aws-apigateway.CfnStageV2Props#stageVariables -@aws-cdk/aws-apigateway.CfnStageV2Props#tags -@aws-cdk/aws-apigateway.EmptyModel -@aws-cdk/aws-apigateway.EmptyModel#modelId -@aws-cdk/aws-apigateway.ErrorModel -@aws-cdk/aws-apigateway.ErrorModel#modelId -@aws-cdk/aws-apigateway.IResource#restApi -@aws-cdk/aws-apigateway.LambdaRestApiProps#options -@aws-cdk/aws-apigateway.Method#restApi -@aws-cdk/aws-apigateway.Resource#restApi -@aws-cdk/aws-apigateway.ResourceBase#restApi -@aws-cdk/aws-apigateway.ResourceBase#url -@aws-cdk/aws-apigateway.RestApiBase#configureCloudWatchRole -@aws-cdk/aws-apigateway.RestApiBase#configureDeployment -@aws-cdk/aws-apigateway.RestApiOptions -@aws-cdk/aws-apigateway.UsagePlanProps#apiKey -@aws-cdk/aws-certificatemanager.CertificateProps#validationDomains -@aws-cdk/aws-certificatemanager.CertificateProps#validationMethod -@aws-cdk/aws-route53.AddressRecordTarget -@aws-cdk/custom-resources.AwsSdkCall#outputPath -@aws-cdk/custom-resources.Provider#bind -@aws-cdk/aws-cloudformation.CloudFormationCapabilities -@aws-cdk/aws-cloudformation.CloudFormationCapabilities#NONE -@aws-cdk/aws-cloudformation.CloudFormationCapabilities#ANONYMOUS_IAM -@aws-cdk/aws-cloudformation.CloudFormationCapabilities#NAMED_IAM -@aws-cdk/aws-cloudformation.CloudFormationCapabilities#AUTO_EXPAND -@aws-cdk/aws-cloudformation.CustomResource -@aws-cdk/aws-cloudformation.CustomResourceProps -@aws-cdk/aws-cloudformation.CustomResourceProps#provider -@aws-cdk/aws-cloudformation.CustomResourceProps#properties -@aws-cdk/aws-cloudformation.CustomResourceProps#removalPolicy -@aws-cdk/aws-cloudformation.CustomResourceProps#resourceType -@aws-cdk/aws-cloudformation.CustomResourceProvider -@aws-cdk/aws-cloudformation.CustomResourceProvider#serviceToken -@aws-cdk/aws-cloudformation.CustomResourceProvider#fromLambda -@aws-cdk/aws-cloudformation.CustomResourceProvider#fromTopic -@aws-cdk/aws-cloudformation.CustomResourceProvider#lambda -@aws-cdk/aws-cloudformation.CustomResourceProvider#topic -@aws-cdk/aws-cloudformation.CustomResourceProvider#bind -@aws-cdk/aws-cloudformation.CustomResourceProviderConfig -@aws-cdk/aws-cloudformation.CustomResourceProviderConfig#serviceToken -@aws-cdk/aws-cloudformation.ICustomResourceProvider -@aws-cdk/aws-cloudformation.ICustomResourceProvider#bind -@aws-cdk/aws-cloudformation.NestedStack -@aws-cdk/aws-cloudformation.NestedStackProps -@aws-cdk/aws-cloudformation.NestedStackProps#notifications -@aws-cdk/aws-cloudformation.NestedStackProps#parameters -@aws-cdk/aws-cloudformation.NestedStackProps#timeout -@aws-cdk/aws-sns.NumericConditions#whitelist -@aws-cdk/aws-sns.StringConditions#blacklist -@aws-cdk/aws-sns.StringConditions#whitelist -@aws-cdk/aws-cognito.StandardAttributes#emailVerified -@aws-cdk/aws-cognito.StandardAttributes#phoneNumberVerified -@aws-cdk/aws-elasticloadbalancingv2.AddFixedResponseProps -@aws-cdk/aws-elasticloadbalancingv2.AddRedirectResponseProps -@aws-cdk/aws-elasticloadbalancingv2.AddRuleProps#hostHeader -@aws-cdk/aws-elasticloadbalancingv2.AddRuleProps#pathPattern -@aws-cdk/aws-elasticloadbalancingv2.AddRuleProps#pathPatterns -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListener#addCertificateArns -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListener#addFixedResponse -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListener#addRedirectResponse -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListenerAttributes#securityGroupAllowsAllOutbound -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListenerAttributes#securityGroupId -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListenerCertificateProps#certificateArns -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListenerRule#addFixedResponse -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListenerRule#addRedirectResponse -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListenerRule#addTargetGroup -@aws-cdk/aws-elasticloadbalancingv2.ApplicationListenerRule#setCondition -@aws-cdk/aws-elasticloadbalancingv2.ApplicationTargetGroup#import -@aws-cdk/aws-elasticloadbalancingv2.BaseApplicationListenerProps#certificateArns -@aws-cdk/aws-elasticloadbalancingv2.BaseApplicationListenerRuleProps#fixedResponse -@aws-cdk/aws-elasticloadbalancingv2.BaseApplicationListenerRuleProps#hostHeader -@aws-cdk/aws-elasticloadbalancingv2.BaseApplicationListenerRuleProps#pathPattern -@aws-cdk/aws-elasticloadbalancingv2.BaseApplicationListenerRuleProps#pathPatterns -@aws-cdk/aws-elasticloadbalancingv2.BaseApplicationListenerRuleProps#redirectResponse -@aws-cdk/aws-elasticloadbalancingv2.ContentType -@aws-cdk/aws-elasticloadbalancingv2.ContentType#TEXT_PLAIN -@aws-cdk/aws-elasticloadbalancingv2.ContentType#TEXT_CSS -@aws-cdk/aws-elasticloadbalancingv2.ContentType#TEXT_HTML -@aws-cdk/aws-elasticloadbalancingv2.ContentType#APPLICATION_JAVASCRIPT -@aws-cdk/aws-elasticloadbalancingv2.ContentType#APPLICATION_JSON -@aws-cdk/aws-elasticloadbalancingv2.FixedResponse -@aws-cdk/aws-elasticloadbalancingv2.FixedResponse#statusCode -@aws-cdk/aws-elasticloadbalancingv2.FixedResponse#contentType -@aws-cdk/aws-elasticloadbalancingv2.FixedResponse#messageBody -@aws-cdk/aws-elasticloadbalancingv2.IApplicationListener#addCertificateArns -@aws-cdk/aws-elasticloadbalancingv2.INetworkListenerCertificateProps -@aws-cdk/aws-elasticloadbalancingv2.InstanceTarget -@aws-cdk/aws-elasticloadbalancingv2.InstanceTarget#attachToApplicationTargetGroup -@aws-cdk/aws-elasticloadbalancingv2.InstanceTarget#attachToNetworkTargetGroup -@aws-cdk/aws-elasticloadbalancingv2.IpTarget -@aws-cdk/aws-elasticloadbalancingv2.IpTarget#attachToApplicationTargetGroup -@aws-cdk/aws-elasticloadbalancingv2.IpTarget#attachToNetworkTargetGroup -@aws-cdk/aws-elasticloadbalancingv2.NetworkLoadBalancer#metricHealthyHostCount -@aws-cdk/aws-elasticloadbalancingv2.NetworkLoadBalancer#metricUnHealthyHostCount -@aws-cdk/aws-elasticloadbalancingv2.NetworkTargetGroup#import -@aws-cdk/aws-elasticloadbalancingv2.RedirectResponse -@aws-cdk/aws-elasticloadbalancingv2.RedirectResponse#statusCode -@aws-cdk/aws-elasticloadbalancingv2.RedirectResponse#host -@aws-cdk/aws-elasticloadbalancingv2.RedirectResponse#path -@aws-cdk/aws-elasticloadbalancingv2.RedirectResponse#port -@aws-cdk/aws-elasticloadbalancingv2.RedirectResponse#protocol -@aws-cdk/aws-elasticloadbalancingv2.RedirectResponse#query -@aws-cdk/aws-elasticloadbalancingv2.TargetGroupAttributes#defaultPort -@aws-cdk/aws-elasticloadbalancingv2.TargetGroupImportProps -@aws-cdk/aws-apigatewayv2.IHttpApi#httpApiId -@aws-cdk/aws-appmesh.Protocol -@aws-cdk/aws-appmesh.Protocol#HTTP -@aws-cdk/aws-appmesh.Protocol#TCP -@aws-cdk/aws-appmesh.Protocol#HTTP2 -@aws-cdk/aws-appmesh.Protocol#GRPC -@aws-cdk/aws-dynamodb.ITable#metricSystemErrors -@aws-cdk/aws-dynamodb.Table#grantListStreams -@aws-cdk/aws-dynamodb.Table#metricSystemErrors -@aws-cdk/aws-dynamodb.TableOptions#serverSideEncryption -@aws-cdk/aws-rds.Credentials#fromUsername -@aws-cdk/aws-rds.CredentialsFromUsernameOptions -@aws-cdk/aws-rds.CredentialsFromUsernameOptions#password -@aws-cdk/aws-rds.DatabaseInstanceEngine#ORACLE_SE -@aws-cdk/aws-rds.DatabaseInstanceEngine#ORACLE_SE1 -@aws-cdk/aws-rds.DatabaseInstanceEngine#oracleSe -@aws-cdk/aws-rds.DatabaseInstanceEngine#oracleSe1 -@aws-cdk/aws-rds.DatabaseInstanceNewProps#vpcPlacement -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0_17 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0_24 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0_28 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0_31 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0_32 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0_34 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_0_35 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_1 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_1_14 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_1_19 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_1_23 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_1_26 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_1_31 -@aws-cdk/aws-rds.MariaDbEngineVersion#VER_10_1_34 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_5 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_5_46 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_5_53 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_5_57 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_5_59 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_5_61 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_34 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_35 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_37 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_39 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_40 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_41 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_43 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_44 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_46 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_48 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_49 -@aws-cdk/aws-rds.MysqlEngineVersion#VER_5_6_51 -@aws-cdk/aws-rds.OracleLegacyEngineVersion -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_2_V2 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V1 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V10 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V11 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V12 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V13 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V14 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V15 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V16 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V17 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V18 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V19 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V20 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V21 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V22 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V23 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V24 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V25 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V3 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V4 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V5 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V6 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V7 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V8 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#VER_11_2_0_4_V9 -@aws-cdk/aws-rds.OracleLegacyEngineVersion#oracleLegacyFullVersion -@aws-cdk/aws-rds.OracleLegacyEngineVersion#oracleLegacyMajorVersion -@aws-cdk/aws-rds.OracleSe1InstanceEngineProps -@aws-cdk/aws-rds.OracleSe1InstanceEngineProps#version -@aws-cdk/aws-rds.OracleSeInstanceEngineProps -@aws-cdk/aws-rds.OracleSeInstanceEngineProps#version -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_10 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_12 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_13 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_14 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_15 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_16 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_18 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_19 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_2 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_20 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_21 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_22 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_23 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_24 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_25 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_4 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_6 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_7 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_5_9 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_1 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_10 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_11 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_12 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_14 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_15 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_16 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_17 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_18 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_19 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_2 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_20 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_21 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_22 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_23 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_3 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_5 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_6 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_8 -@aws-cdk/aws-rds.PostgresEngineVersion#VER_9_6_9 -@aws-cdk/aws-rds.SqlServerEngineVersion#VER_15_00_4043_23_V1 -@aws-cdk/aws-autoscaling.BlockDevice#mappingEnabled -@aws-cdk/aws-autoscaling.CommonAutoScalingGroupProps#notificationsTopic -@aws-cdk/aws-autoscaling.CommonAutoScalingGroupProps#replacingUpdateMinSuccessfulInstancesPercent -@aws-cdk/aws-autoscaling.CommonAutoScalingGroupProps#resourceSignalCount -@aws-cdk/aws-autoscaling.CommonAutoScalingGroupProps#resourceSignalTimeout -@aws-cdk/aws-autoscaling.CommonAutoScalingGroupProps#rollingUpdateConfiguration -@aws-cdk/aws-autoscaling.CommonAutoScalingGroupProps#updateType -@aws-cdk/aws-autoscaling.RequestCountScalingProps#targetRequestsPerSecond -@aws-cdk/aws-autoscaling.RollingUpdateConfiguration -@aws-cdk/aws-autoscaling.RollingUpdateConfiguration#maxBatchSize -@aws-cdk/aws-autoscaling.RollingUpdateConfiguration#minInstancesInService -@aws-cdk/aws-autoscaling.RollingUpdateConfiguration#minSuccessfulInstancesPercent -@aws-cdk/aws-autoscaling.RollingUpdateConfiguration#pauseTime -@aws-cdk/aws-autoscaling.RollingUpdateConfiguration#suspendProcesses -@aws-cdk/aws-autoscaling.RollingUpdateConfiguration#waitOnResourceSignals -@aws-cdk/aws-autoscaling.UpdateType -@aws-cdk/aws-autoscaling.UpdateType#NONE -@aws-cdk/aws-autoscaling.UpdateType#REPLACING_UPDATE -@aws-cdk/aws-autoscaling.UpdateType#ROLLING_UPDATE -@aws-cdk/aws-elasticloadbalancing.LoadBalancerListener#sslCertificateId -@aws-cdk/aws-ecs.AddAutoScalingGroupCapacityOptions#taskDrainTime -@aws-cdk/aws-ecs.BaseService#configureAwsVpcNetworking -@aws-cdk/aws-ecs.BaseServiceOptions#propagateTaskTagsFrom -@aws-cdk/aws-ecs.Cluster#addAutoScalingGroup -@aws-cdk/aws-ecs.Cluster#addCapacityProvider -@aws-cdk/aws-ecs.ClusterProps#capacityProviders -@aws-cdk/aws-ecs.Ec2ServiceProps#securityGroup -@aws-cdk/aws-ecs.EcsOptimizedAmi -@aws-cdk/aws-ecs.EcsOptimizedAmi#getImage -@aws-cdk/aws-ecs.EcsOptimizedAmiProps -@aws-cdk/aws-ecs.EcsOptimizedAmiProps#cachedInContext -@aws-cdk/aws-ecs.EcsOptimizedAmiProps#generation -@aws-cdk/aws-ecs.EcsOptimizedAmiProps#hardwareType -@aws-cdk/aws-ecs.EcsOptimizedAmiProps#windowsVersion -@aws-cdk/aws-ecs.FargateServiceProps#securityGroup -@aws-cdk/aws-ecs.SplunkLogDriverProps#token -@aws-cdk/aws-cloudfront.AliasConfiguration -@aws-cdk/aws-cloudfront.AliasConfiguration#acmCertRef -@aws-cdk/aws-cloudfront.AliasConfiguration#names -@aws-cdk/aws-cloudfront.AliasConfiguration#securityPolicy -@aws-cdk/aws-cloudfront.AliasConfiguration#sslMethod -@aws-cdk/aws-cloudfront.CloudFrontWebDistribution#domainName -@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps#aliasConfiguration -@aws-cdk/aws-cloudfront.GeoRestriction#blacklist -@aws-cdk/aws-cloudfront.GeoRestriction#whitelist -@aws-cdk/aws-cloudfront.IDistribution#domainName -@aws-cdk/aws-cloudfront.SourceConfiguration#originHeaders -@aws-cdk/aws-cloudfront.SourceConfiguration#originPath -@aws-cdk/aws-cloudtrail.Trail#onCloudTrailEvent -@aws-cdk/aws-cloudtrail.TrailProps#kmsKey -@aws-cdk/aws-codepipeline-actions.BitBucketSourceAction -@aws-cdk/aws-codepipeline-actions.BitBucketSourceAction#actionProperties -@aws-cdk/aws-codepipeline-actions.BitBucketSourceAction#bind -@aws-cdk/aws-codepipeline-actions.BitBucketSourceAction#onStateChange -@aws-cdk/aws-codepipeline-actions.BitBucketSourceActionProps -@aws-cdk/aws-codepipeline-actions.CloudFormationCreateReplaceChangeSetActionProps#capabilities -@aws-cdk/aws-codepipeline-actions.CloudFormationCreateUpdateStackActionProps#capabilities -@aws-cdk/aws-codepipeline-actions.CloudFormationDeleteStackActionProps#capabilities -@aws-cdk/aws-events-targets.EcsTask#securityGroup -@aws-cdk/aws-events-targets.EcsTaskProps#securityGroup -@aws-cdk/aws-stepfunctions.Context -@aws-cdk/aws-stepfunctions.Context#entireContext -@aws-cdk/aws-stepfunctions.Context#taskToken -@aws-cdk/aws-stepfunctions.Context#numberAt -@aws-cdk/aws-stepfunctions.Context#stringAt -@aws-cdk/aws-stepfunctions.Data -@aws-cdk/aws-stepfunctions.Data#entirePayload -@aws-cdk/aws-stepfunctions.Data#isJsonPathString -@aws-cdk/aws-stepfunctions.Data#listAt -@aws-cdk/aws-stepfunctions.Data#numberAt -@aws-cdk/aws-stepfunctions.Data#stringAt -@aws-cdk/aws-stepfunctions.IStepFunctionsTask -@aws-cdk/aws-stepfunctions.IStepFunctionsTask#bind -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig#resourceArn -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig#heartbeat -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig#metricDimensions -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig#metricPrefixPlural -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig#metricPrefixSingular -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig#parameters -@aws-cdk/aws-stepfunctions.StepFunctionsTaskConfig#policyStatements -@aws-cdk/aws-stepfunctions.Task -@aws-cdk/aws-stepfunctions.Task#endStates -@aws-cdk/aws-stepfunctions.Task#addCatch -@aws-cdk/aws-stepfunctions.Task#addRetry -@aws-cdk/aws-stepfunctions.Task#metric -@aws-cdk/aws-stepfunctions.Task#metricFailed -@aws-cdk/aws-stepfunctions.Task#metricHeartbeatTimedOut -@aws-cdk/aws-stepfunctions.Task#metricRunTime -@aws-cdk/aws-stepfunctions.Task#metricScheduled -@aws-cdk/aws-stepfunctions.Task#metricScheduleTime -@aws-cdk/aws-stepfunctions.Task#metricStarted -@aws-cdk/aws-stepfunctions.Task#metricSucceeded -@aws-cdk/aws-stepfunctions.Task#metricTime -@aws-cdk/aws-stepfunctions.Task#metricTimedOut -@aws-cdk/aws-stepfunctions.Task#next -@aws-cdk/aws-stepfunctions.Task#toStateJson -@aws-cdk/aws-stepfunctions.Task#whenBoundToGraph -@aws-cdk/aws-stepfunctions.TaskInput#fromContextAt -@aws-cdk/aws-stepfunctions.TaskInput#fromDataAt -@aws-cdk/aws-stepfunctions.TaskProps -@aws-cdk/aws-stepfunctions.TaskProps#task -@aws-cdk/aws-stepfunctions.TaskProps#comment -@aws-cdk/aws-stepfunctions.TaskProps#inputPath -@aws-cdk/aws-stepfunctions.TaskProps#outputPath -@aws-cdk/aws-stepfunctions.TaskProps#parameters -@aws-cdk/aws-stepfunctions.TaskProps#resultPath -@aws-cdk/aws-stepfunctions.TaskProps#timeout -@aws-cdk/aws-ecs-patterns.ApplicationLoadBalancedServiceBase#desiredCount -@aws-cdk/aws-ecs-patterns.ApplicationMultipleTargetGroupsServiceBase#desiredCount -@aws-cdk/aws-ecs-patterns.NetworkLoadBalancedServiceBase#desiredCount -@aws-cdk/aws-ecs-patterns.NetworkMultipleTargetGroupsServiceBase#desiredCount -@aws-cdk/aws-ecs-patterns.QueueProcessingServiceBase#desiredCount -@aws-cdk/aws-ecs-patterns.QueueProcessingServiceBaseProps#desiredTaskCount -@aws-cdk/aws-eks.NodegroupOptions#instanceType -@aws-cdk/aws-eks.ServiceAccount#addToPolicy -@aws-cdk/aws-s3-deployment.Expires -@aws-cdk/aws-s3-deployment.Expires#value -@aws-cdk/aws-s3-deployment.Expires#after -@aws-cdk/aws-s3-deployment.Expires#atDate -@aws-cdk/aws-s3-deployment.Expires#atTimestamp -@aws-cdk/aws-s3-deployment.Expires#fromString -@aws-cdk/aws-ses.WhiteListReceiptFilter -@aws-cdk/aws-ses.WhiteListReceiptFilterProps -@aws-cdk/aws-stepfunctions-tasks.EcsRunTaskBase -@aws-cdk/aws-stepfunctions-tasks.EcsRunTaskBase#connections -@aws-cdk/aws-stepfunctions-tasks.EcsRunTaskBase#bind -@aws-cdk/aws-stepfunctions-tasks.EcsRunTaskBase#configureAwsVpcNetworking -@aws-cdk/aws-stepfunctions-tasks.EcsRunTaskBaseProps -@aws-cdk/aws-stepfunctions-tasks.EcsRunTaskBaseProps#parameters -@aws-cdk/aws-stepfunctions-tasks.InvocationType -@aws-cdk/aws-stepfunctions-tasks.InvocationType#REQUEST_RESPONSE -@aws-cdk/aws-stepfunctions-tasks.InvocationType#EVENT -@aws-cdk/aws-stepfunctions-tasks.InvocationType#DRY_RUN -@aws-cdk/aws-stepfunctions-tasks.InvokeActivity -@aws-cdk/aws-stepfunctions-tasks.InvokeActivity#bind -@aws-cdk/aws-stepfunctions-tasks.InvokeActivityProps -@aws-cdk/aws-stepfunctions-tasks.InvokeActivityProps#heartbeat -@aws-cdk/aws-stepfunctions-tasks.InvokeFunction -@aws-cdk/aws-stepfunctions-tasks.InvokeFunction#bind -@aws-cdk/aws-stepfunctions-tasks.InvokeFunctionProps -@aws-cdk/aws-stepfunctions-tasks.InvokeFunctionProps#payload -@aws-cdk/aws-stepfunctions-tasks.PublishToTopic -@aws-cdk/aws-stepfunctions-tasks.PublishToTopic#bind -@aws-cdk/aws-stepfunctions-tasks.PublishToTopicProps -@aws-cdk/aws-stepfunctions-tasks.PublishToTopicProps#message -@aws-cdk/aws-stepfunctions-tasks.PublishToTopicProps#integrationPattern -@aws-cdk/aws-stepfunctions-tasks.PublishToTopicProps#messagePerSubscriptionType -@aws-cdk/aws-stepfunctions-tasks.PublishToTopicProps#subject -@aws-cdk/aws-stepfunctions-tasks.RunBatchJob -@aws-cdk/aws-stepfunctions-tasks.RunBatchJob#bind -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#jobDefinitionArn -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#jobName -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#jobQueueArn -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#arraySize -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#attempts -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#containerOverrides -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#dependsOn -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#integrationPattern -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#payload -@aws-cdk/aws-stepfunctions-tasks.RunBatchJobProps#timeout -@aws-cdk/aws-stepfunctions-tasks.RunEcsEc2Task -@aws-cdk/aws-stepfunctions-tasks.RunEcsEc2TaskProps -@aws-cdk/aws-stepfunctions-tasks.RunEcsEc2TaskProps#placementConstraints -@aws-cdk/aws-stepfunctions-tasks.RunEcsEc2TaskProps#placementStrategies -@aws-cdk/aws-stepfunctions-tasks.RunEcsEc2TaskProps#securityGroup -@aws-cdk/aws-stepfunctions-tasks.RunEcsEc2TaskProps#subnets -@aws-cdk/aws-stepfunctions-tasks.RunEcsFargateTask -@aws-cdk/aws-stepfunctions-tasks.RunEcsFargateTaskProps -@aws-cdk/aws-stepfunctions-tasks.RunEcsFargateTaskProps#assignPublicIp -@aws-cdk/aws-stepfunctions-tasks.RunEcsFargateTaskProps#platformVersion -@aws-cdk/aws-stepfunctions-tasks.RunEcsFargateTaskProps#securityGroup -@aws-cdk/aws-stepfunctions-tasks.RunEcsFargateTaskProps#subnets -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTask -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTask#bind -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTaskProps -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTaskProps#arguments -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTaskProps#integrationPattern -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTaskProps#notifyDelayAfter -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTaskProps#securityConfiguration -@aws-cdk/aws-stepfunctions-tasks.RunGlueJobTaskProps#timeout -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTask -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTask#bind -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTaskProps -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTaskProps#clientContext -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTaskProps#integrationPattern -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTaskProps#invocationType -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTaskProps#payload -@aws-cdk/aws-stepfunctions-tasks.RunLambdaTaskProps#qualifier -@aws-cdk/aws-stepfunctions-tasks.SendToQueue -@aws-cdk/aws-stepfunctions-tasks.SendToQueue#bind -@aws-cdk/aws-stepfunctions-tasks.SendToQueueProps -@aws-cdk/aws-stepfunctions-tasks.SendToQueueProps#messageBody -@aws-cdk/aws-stepfunctions-tasks.SendToQueueProps#delay -@aws-cdk/aws-stepfunctions-tasks.SendToQueueProps#integrationPattern -@aws-cdk/aws-stepfunctions-tasks.SendToQueueProps#messageDeduplicationId -@aws-cdk/aws-stepfunctions-tasks.SendToQueueProps#messageGroupId -@aws-cdk/aws-stepfunctions-tasks.StartExecution -@aws-cdk/aws-stepfunctions-tasks.StartExecution#bind -@aws-cdk/aws-stepfunctions-tasks.StartExecutionProps -@aws-cdk/aws-stepfunctions-tasks.StartExecutionProps#input -@aws-cdk/aws-stepfunctions-tasks.StartExecutionProps#integrationPattern -@aws-cdk/aws-stepfunctions-tasks.StartExecutionProps#name -@aws-cdk/pipelines.AddManualApprovalOptions -@aws-cdk/pipelines.AddManualApprovalOptions#actionName -@aws-cdk/pipelines.AddManualApprovalOptions#runOrder -@aws-cdk/pipelines.AddStackOptions -@aws-cdk/pipelines.AddStackOptions#executeRunOrder -@aws-cdk/pipelines.AddStackOptions#runOrder -@aws-cdk/pipelines.AddStageOptions -@aws-cdk/pipelines.AddStageOptions#extraRunOrderSpace -@aws-cdk/pipelines.AddStageOptions#manualApprovals -@aws-cdk/pipelines.AdditionalArtifact -@aws-cdk/pipelines.AdditionalArtifact#artifact -@aws-cdk/pipelines.AdditionalArtifact#directory -@aws-cdk/pipelines.AssetPublishingCommand -@aws-cdk/pipelines.AssetPublishingCommand#assetId -@aws-cdk/pipelines.AssetPublishingCommand#assetManifestPath -@aws-cdk/pipelines.AssetPublishingCommand#assetPublishingRoleArn -@aws-cdk/pipelines.AssetPublishingCommand#assetSelector -@aws-cdk/pipelines.AssetPublishingCommand#assetType -@aws-cdk/pipelines.BaseStageOptions -@aws-cdk/pipelines.BaseStageOptions#confirmBroadeningPermissions -@aws-cdk/pipelines.BaseStageOptions#securityNotificationTopic -@aws-cdk/pipelines.CdkPipeline -@aws-cdk/pipelines.CdkPipeline#codePipeline -@aws-cdk/pipelines.CdkPipeline#addApplicationStage -@aws-cdk/pipelines.CdkPipeline#addStage -@aws-cdk/pipelines.CdkPipeline#stackOutput -@aws-cdk/pipelines.CdkPipeline#stage -@aws-cdk/pipelines.CdkPipeline#validate -@aws-cdk/pipelines.CdkPipelineProps -@aws-cdk/pipelines.CdkPipelineProps#cloudAssemblyArtifact -@aws-cdk/pipelines.CdkPipelineProps#assetBuildSpec -@aws-cdk/pipelines.CdkPipelineProps#assetPreInstallCommands -@aws-cdk/pipelines.CdkPipelineProps#cdkCliVersion -@aws-cdk/pipelines.CdkPipelineProps#codePipeline -@aws-cdk/pipelines.CdkPipelineProps#crossAccountKeys -@aws-cdk/pipelines.CdkPipelineProps#dockerCredentials -@aws-cdk/pipelines.CdkPipelineProps#enableKeyRotation -@aws-cdk/pipelines.CdkPipelineProps#pipelineName -@aws-cdk/pipelines.CdkPipelineProps#selfMutating -@aws-cdk/pipelines.CdkPipelineProps#selfMutationBuildSpec -@aws-cdk/pipelines.CdkPipelineProps#singlePublisherPerType -@aws-cdk/pipelines.CdkPipelineProps#sourceAction -@aws-cdk/pipelines.CdkPipelineProps#subnetSelection -@aws-cdk/pipelines.CdkPipelineProps#supportDockerAssets -@aws-cdk/pipelines.CdkPipelineProps#synthAction -@aws-cdk/pipelines.CdkPipelineProps#vpc -@aws-cdk/pipelines.CdkStackActionFromArtifactOptions -@aws-cdk/pipelines.CdkStackActionFromArtifactOptions#stackName -@aws-cdk/pipelines.CdkStage -@aws-cdk/pipelines.CdkStage#addActions -@aws-cdk/pipelines.CdkStage#addApplication -@aws-cdk/pipelines.CdkStage#addManualApprovalAction -@aws-cdk/pipelines.CdkStage#addStackArtifactDeployment -@aws-cdk/pipelines.CdkStage#deploysStack -@aws-cdk/pipelines.CdkStage#nextSequentialRunOrder -@aws-cdk/pipelines.CdkStageProps -@aws-cdk/pipelines.CdkStageProps#cloudAssemblyArtifact -@aws-cdk/pipelines.CdkStageProps#host -@aws-cdk/pipelines.CdkStageProps#pipelineStage -@aws-cdk/pipelines.CdkStageProps#stageName -@aws-cdk/pipelines.CdkStageProps#confirmBroadeningPermissions -@aws-cdk/pipelines.CdkStageProps#securityNotificationTopic -@aws-cdk/pipelines.DeployCdkStackAction -@aws-cdk/pipelines.DeployCdkStackAction#actionProperties -@aws-cdk/pipelines.DeployCdkStackAction#dependencyStackArtifactIds -@aws-cdk/pipelines.DeployCdkStackAction#executeRunOrder -@aws-cdk/pipelines.DeployCdkStackAction#prepareRunOrder -@aws-cdk/pipelines.DeployCdkStackAction#stackName -@aws-cdk/pipelines.DeployCdkStackAction#stackArtifactId -@aws-cdk/pipelines.DeployCdkStackAction#fromStackArtifact -@aws-cdk/pipelines.DeployCdkStackAction#bind -@aws-cdk/pipelines.DeployCdkStackAction#onStateChange -@aws-cdk/pipelines.DeployCdkStackActionOptions -@aws-cdk/pipelines.DeployCdkStackActionOptions#cloudAssemblyInput -@aws-cdk/pipelines.DeployCdkStackActionOptions#baseActionName -@aws-cdk/pipelines.DeployCdkStackActionOptions#changeSetName -@aws-cdk/pipelines.DeployCdkStackActionOptions#executeRunOrder -@aws-cdk/pipelines.DeployCdkStackActionOptions#output -@aws-cdk/pipelines.DeployCdkStackActionOptions#outputFileName -@aws-cdk/pipelines.DeployCdkStackActionOptions#prepareRunOrder -@aws-cdk/pipelines.DeployCdkStackActionProps -@aws-cdk/pipelines.DeployCdkStackActionProps#actionRole -@aws-cdk/pipelines.DeployCdkStackActionProps#stackName -@aws-cdk/pipelines.DeployCdkStackActionProps#templatePath -@aws-cdk/pipelines.DeployCdkStackActionProps#cloudFormationExecutionRole -@aws-cdk/pipelines.DeployCdkStackActionProps#dependencyStackArtifactIds -@aws-cdk/pipelines.DeployCdkStackActionProps#region -@aws-cdk/pipelines.DeployCdkStackActionProps#stackArtifactId -@aws-cdk/pipelines.DeployCdkStackActionProps#templateConfigurationPath -@aws-cdk/pipelines.FromStackArtifactOptions -@aws-cdk/pipelines.FromStackArtifactOptions#cloudAssemblyInput -@aws-cdk/pipelines.FromStackArtifactOptions#executeRunOrder -@aws-cdk/pipelines.FromStackArtifactOptions#output -@aws-cdk/pipelines.FromStackArtifactOptions#outputFileName -@aws-cdk/pipelines.FromStackArtifactOptions#prepareRunOrder -@aws-cdk/pipelines.IStageHost -@aws-cdk/pipelines.IStageHost#publishAsset -@aws-cdk/pipelines.IStageHost#stackOutputArtifact -@aws-cdk/pipelines.PublishAssetsAction -@aws-cdk/pipelines.PublishAssetsAction#actionProperties -@aws-cdk/pipelines.PublishAssetsAction#addPublishCommand -@aws-cdk/pipelines.PublishAssetsAction#bind -@aws-cdk/pipelines.PublishAssetsAction#onStateChange -@aws-cdk/pipelines.PublishAssetsActionProps -@aws-cdk/pipelines.PublishAssetsActionProps#actionName -@aws-cdk/pipelines.PublishAssetsActionProps#assetType -@aws-cdk/pipelines.PublishAssetsActionProps#cloudAssemblyInput -@aws-cdk/pipelines.PublishAssetsActionProps#buildSpec -@aws-cdk/pipelines.PublishAssetsActionProps#cdkCliVersion -@aws-cdk/pipelines.PublishAssetsActionProps#createBuildspecFile -@aws-cdk/pipelines.PublishAssetsActionProps#dependable -@aws-cdk/pipelines.PublishAssetsActionProps#preInstallCommands -@aws-cdk/pipelines.PublishAssetsActionProps#projectName -@aws-cdk/pipelines.PublishAssetsActionProps#role -@aws-cdk/pipelines.PublishAssetsActionProps#subnetSelection -@aws-cdk/pipelines.PublishAssetsActionProps#vpc -@aws-cdk/pipelines.ShellScriptAction -@aws-cdk/pipelines.ShellScriptAction#actionProperties -@aws-cdk/pipelines.ShellScriptAction#grantPrincipal -@aws-cdk/pipelines.ShellScriptAction#project -@aws-cdk/pipelines.ShellScriptAction#bind -@aws-cdk/pipelines.ShellScriptAction#onStateChange -@aws-cdk/pipelines.ShellScriptActionProps -@aws-cdk/pipelines.ShellScriptActionProps#actionName -@aws-cdk/pipelines.ShellScriptActionProps#commands -@aws-cdk/pipelines.ShellScriptActionProps#additionalArtifacts -@aws-cdk/pipelines.ShellScriptActionProps#bashOptions -@aws-cdk/pipelines.ShellScriptActionProps#environment -@aws-cdk/pipelines.ShellScriptActionProps#environmentVariables -@aws-cdk/pipelines.ShellScriptActionProps#rolePolicyStatements -@aws-cdk/pipelines.ShellScriptActionProps#runOrder -@aws-cdk/pipelines.ShellScriptActionProps#securityGroups -@aws-cdk/pipelines.ShellScriptActionProps#subnetSelection -@aws-cdk/pipelines.ShellScriptActionProps#useOutputs -@aws-cdk/pipelines.ShellScriptActionProps#vpc -@aws-cdk/pipelines.SimpleSynthAction -@aws-cdk/pipelines.SimpleSynthAction#actionProperties -@aws-cdk/pipelines.SimpleSynthAction#grantPrincipal -@aws-cdk/pipelines.SimpleSynthAction#project -@aws-cdk/pipelines.SimpleSynthAction#standardNpmSynth -@aws-cdk/pipelines.SimpleSynthAction#standardYarnSynth -@aws-cdk/pipelines.SimpleSynthAction#bind -@aws-cdk/pipelines.SimpleSynthAction#onStateChange -@aws-cdk/pipelines.SimpleSynthActionProps -@aws-cdk/pipelines.SimpleSynthActionProps#synthCommand -@aws-cdk/pipelines.SimpleSynthActionProps#buildCommand -@aws-cdk/pipelines.SimpleSynthActionProps#buildCommands -@aws-cdk/pipelines.SimpleSynthActionProps#installCommand -@aws-cdk/pipelines.SimpleSynthActionProps#installCommands -@aws-cdk/pipelines.SimpleSynthActionProps#testCommands -@aws-cdk/pipelines.SimpleSynthOptions -@aws-cdk/pipelines.SimpleSynthOptions#cloudAssemblyArtifact -@aws-cdk/pipelines.SimpleSynthOptions#sourceArtifact -@aws-cdk/pipelines.SimpleSynthOptions#actionName -@aws-cdk/pipelines.SimpleSynthOptions#additionalArtifacts -@aws-cdk/pipelines.SimpleSynthOptions#buildSpec -@aws-cdk/pipelines.SimpleSynthOptions#copyEnvironmentVariables -@aws-cdk/pipelines.SimpleSynthOptions#environment -@aws-cdk/pipelines.SimpleSynthOptions#environmentVariables -@aws-cdk/pipelines.SimpleSynthOptions#projectName -@aws-cdk/pipelines.SimpleSynthOptions#rolePolicyStatements -@aws-cdk/pipelines.SimpleSynthOptions#subdirectory -@aws-cdk/pipelines.SimpleSynthOptions#subnetSelection -@aws-cdk/pipelines.SimpleSynthOptions#vpc -@aws-cdk/pipelines.StackOutput -@aws-cdk/pipelines.StackOutput#artifactFile -@aws-cdk/pipelines.StackOutput#outputName -@aws-cdk/pipelines.StandardNpmSynthOptions -@aws-cdk/pipelines.StandardNpmSynthOptions#buildCommand -@aws-cdk/pipelines.StandardNpmSynthOptions#installCommand -@aws-cdk/pipelines.StandardNpmSynthOptions#synthCommand -@aws-cdk/pipelines.StandardNpmSynthOptions#testCommands -@aws-cdk/pipelines.StandardYarnSynthOptions -@aws-cdk/pipelines.StandardYarnSynthOptions#buildCommand -@aws-cdk/pipelines.StandardYarnSynthOptions#installCommand -@aws-cdk/pipelines.StandardYarnSynthOptions#synthCommand -@aws-cdk/pipelines.StandardYarnSynthOptions#testCommands -@aws-cdk/pipelines.UpdatePipelineAction -@aws-cdk/pipelines.UpdatePipelineAction#actionProperties -@aws-cdk/pipelines.UpdatePipelineAction#bind -@aws-cdk/pipelines.UpdatePipelineAction#onStateChange -@aws-cdk/pipelines.UpdatePipelineActionProps -@aws-cdk/pipelines.UpdatePipelineActionProps#cloudAssemblyInput -@aws-cdk/pipelines.UpdatePipelineActionProps#pipelineStackHierarchicalId -@aws-cdk/pipelines.UpdatePipelineActionProps#buildSpec -@aws-cdk/pipelines.UpdatePipelineActionProps#cdkCliVersion -@aws-cdk/pipelines.UpdatePipelineActionProps#dockerCredentials -@aws-cdk/pipelines.UpdatePipelineActionProps#pipelineStackName -@aws-cdk/pipelines.UpdatePipelineActionProps#privileged -@aws-cdk/pipelines.UpdatePipelineActionProps#projectName +aws-cdk-lib.AppProps#runtimeInfo +aws-cdk-lib.Arn#parse +aws-cdk-lib.ArnComponents#sep +aws-cdk-lib.AssetHashType#BUNDLE +aws-cdk-lib.AssetStaging#sourceHash +aws-cdk-lib.AssetStaging#stagedPath +aws-cdk-lib.BundlingDockerImage +aws-cdk-lib.BundlingDockerImage#cp +aws-cdk-lib.BundlingDockerImage#fromAsset +aws-cdk-lib.BundlingDockerImage#fromRegistry +aws-cdk-lib.BundlingDockerImage#image +aws-cdk-lib.BundlingDockerImage#run +aws-cdk-lib.BundlingDockerImage#toJSON +aws-cdk-lib.CfnInclude +aws-cdk-lib.CfnInclude#template +aws-cdk-lib.CfnIncludeProps +aws-cdk-lib.CfnIncludeProps#template +aws-cdk-lib.CustomResourceProviderRuntime#NODEJS_12 +aws-cdk-lib.DefaultStackSynthesizerProps#fileAssetKeyArnExportName +aws-cdk-lib.DockerImageAssetSource#repositoryName +aws-cdk-lib.Duration#toISOString +aws-cdk-lib.FileAssetLocation#s3Url +aws-cdk-lib.ITemplateOptions#transform +aws-cdk-lib.Lazy#anyValue +aws-cdk-lib.Lazy#listValue +aws-cdk-lib.Lazy#numberValue +aws-cdk-lib.Lazy#stringValue +aws-cdk-lib.Size#pebibyte +aws-cdk-lib.Stack#addDockerImageAsset +aws-cdk-lib.Stack#addFileAsset +aws-cdk-lib.Stack#parentStack +aws-cdk-lib.Stack#parseArn +aws-cdk-lib.Stack#prepareCrossReference +aws-cdk-lib.Stack#reportMissingContext +aws-cdk-lib.Tag#add +aws-cdk-lib.Tag#remove +aws-cdk-lib.assets.CopyOptions +aws-cdk-lib.assets.CopyOptions#exclude +aws-cdk-lib.assets.CopyOptions#follow +aws-cdk-lib.assets.CopyOptions#ignoreMode +aws-cdk-lib.assets.FingerprintOptions +aws-cdk-lib.assets.FingerprintOptions#extraHash +aws-cdk-lib.assets.FollowMode +aws-cdk-lib.assets.FollowMode#ALWAYS +aws-cdk-lib.assets.FollowMode#BLOCK_EXTERNAL +aws-cdk-lib.assets.FollowMode#EXTERNAL +aws-cdk-lib.assets.FollowMode#NEVER +aws-cdk-lib.assets.IAsset +aws-cdk-lib.assets.IAsset#sourceHash +aws-cdk-lib.assets.Staging +aws-cdk-lib.assets.StagingProps +aws-cdk-lib.assets.StagingProps#sourcePath +aws-cdk-lib.aws_apigateway.CfnApiMappingV2 +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#apiId +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#apiMappingKey +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#domainName +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#inspect +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnApiMappingV2#stage +aws-cdk-lib.aws_apigateway.CfnApiMappingV2Props +aws-cdk-lib.aws_apigateway.CfnApiMappingV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnApiMappingV2Props#apiMappingKey +aws-cdk-lib.aws_apigateway.CfnApiMappingV2Props#domainName +aws-cdk-lib.aws_apigateway.CfnApiMappingV2Props#stage +aws-cdk-lib.aws_apigateway.CfnApiV2 +aws-cdk-lib.aws_apigateway.CfnApiV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnApiV2#apiKeySelectionExpression +aws-cdk-lib.aws_apigateway.CfnApiV2#basePath +aws-cdk-lib.aws_apigateway.CfnApiV2#body +aws-cdk-lib.aws_apigateway.CfnApiV2#bodyS3Location +aws-cdk-lib.aws_apigateway.CfnApiV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnApiV2#corsConfiguration +aws-cdk-lib.aws_apigateway.CfnApiV2#credentialsArn +aws-cdk-lib.aws_apigateway.CfnApiV2#description +aws-cdk-lib.aws_apigateway.CfnApiV2#disableSchemaValidation +aws-cdk-lib.aws_apigateway.CfnApiV2#failOnWarnings +aws-cdk-lib.aws_apigateway.CfnApiV2#inspect +aws-cdk-lib.aws_apigateway.CfnApiV2#name +aws-cdk-lib.aws_apigateway.CfnApiV2#protocolType +aws-cdk-lib.aws_apigateway.CfnApiV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnApiV2#routeKey +aws-cdk-lib.aws_apigateway.CfnApiV2#routeSelectionExpression +aws-cdk-lib.aws_apigateway.CfnApiV2#tags +aws-cdk-lib.aws_apigateway.CfnApiV2#target +aws-cdk-lib.aws_apigateway.CfnApiV2#version +aws-cdk-lib.aws_apigateway.CfnApiV2.BodyS3LocationProperty +aws-cdk-lib.aws_apigateway.CfnApiV2.BodyS3LocationProperty#bucket +aws-cdk-lib.aws_apigateway.CfnApiV2.BodyS3LocationProperty#etag +aws-cdk-lib.aws_apigateway.CfnApiV2.BodyS3LocationProperty#key +aws-cdk-lib.aws_apigateway.CfnApiV2.BodyS3LocationProperty#version +aws-cdk-lib.aws_apigateway.CfnApiV2.CorsProperty +aws-cdk-lib.aws_apigateway.CfnApiV2.CorsProperty#allowCredentials +aws-cdk-lib.aws_apigateway.CfnApiV2.CorsProperty#allowHeaders +aws-cdk-lib.aws_apigateway.CfnApiV2.CorsProperty#allowMethods +aws-cdk-lib.aws_apigateway.CfnApiV2.CorsProperty#allowOrigins +aws-cdk-lib.aws_apigateway.CfnApiV2.CorsProperty#exposeHeaders +aws-cdk-lib.aws_apigateway.CfnApiV2.CorsProperty#maxAge +aws-cdk-lib.aws_apigateway.CfnApiV2Props +aws-cdk-lib.aws_apigateway.CfnApiV2Props#apiKeySelectionExpression +aws-cdk-lib.aws_apigateway.CfnApiV2Props#basePath +aws-cdk-lib.aws_apigateway.CfnApiV2Props#body +aws-cdk-lib.aws_apigateway.CfnApiV2Props#bodyS3Location +aws-cdk-lib.aws_apigateway.CfnApiV2Props#corsConfiguration +aws-cdk-lib.aws_apigateway.CfnApiV2Props#credentialsArn +aws-cdk-lib.aws_apigateway.CfnApiV2Props#description +aws-cdk-lib.aws_apigateway.CfnApiV2Props#disableSchemaValidation +aws-cdk-lib.aws_apigateway.CfnApiV2Props#failOnWarnings +aws-cdk-lib.aws_apigateway.CfnApiV2Props#name +aws-cdk-lib.aws_apigateway.CfnApiV2Props#protocolType +aws-cdk-lib.aws_apigateway.CfnApiV2Props#routeKey +aws-cdk-lib.aws_apigateway.CfnApiV2Props#routeSelectionExpression +aws-cdk-lib.aws_apigateway.CfnApiV2Props#tags +aws-cdk-lib.aws_apigateway.CfnApiV2Props#target +aws-cdk-lib.aws_apigateway.CfnApiV2Props#version +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2 +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#apiId +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#authorizerCredentialsArn +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#authorizerResultTtlInSeconds +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#authorizerType +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#authorizerUri +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#identitySource +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#identityValidationExpression +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#inspect +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#jwtConfiguration +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#name +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2.JWTConfigurationProperty +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2.JWTConfigurationProperty#audience +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2.JWTConfigurationProperty#issuer +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#authorizerCredentialsArn +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#authorizerResultTtlInSeconds +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#authorizerType +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#authorizerUri +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#identitySource +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#identityValidationExpression +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#jwtConfiguration +aws-cdk-lib.aws_apigateway.CfnAuthorizerV2Props#name +aws-cdk-lib.aws_apigateway.CfnDeploymentV2 +aws-cdk-lib.aws_apigateway.CfnDeploymentV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnDeploymentV2#apiId +aws-cdk-lib.aws_apigateway.CfnDeploymentV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnDeploymentV2#description +aws-cdk-lib.aws_apigateway.CfnDeploymentV2#inspect +aws-cdk-lib.aws_apigateway.CfnDeploymentV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnDeploymentV2#stageName +aws-cdk-lib.aws_apigateway.CfnDeploymentV2Props +aws-cdk-lib.aws_apigateway.CfnDeploymentV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnDeploymentV2Props#description +aws-cdk-lib.aws_apigateway.CfnDeploymentV2Props#stageName +aws-cdk-lib.aws_apigateway.CfnDomainNameV2 +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#attrRegionalDomainName +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#attrRegionalHostedZoneId +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#domainName +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#domainNameConfigurations +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#inspect +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnDomainNameV2#tags +aws-cdk-lib.aws_apigateway.CfnDomainNameV2.DomainNameConfigurationProperty +aws-cdk-lib.aws_apigateway.CfnDomainNameV2.DomainNameConfigurationProperty#certificateArn +aws-cdk-lib.aws_apigateway.CfnDomainNameV2.DomainNameConfigurationProperty#certificateName +aws-cdk-lib.aws_apigateway.CfnDomainNameV2.DomainNameConfigurationProperty#endpointType +aws-cdk-lib.aws_apigateway.CfnDomainNameV2Props +aws-cdk-lib.aws_apigateway.CfnDomainNameV2Props#domainName +aws-cdk-lib.aws_apigateway.CfnDomainNameV2Props#domainNameConfigurations +aws-cdk-lib.aws_apigateway.CfnDomainNameV2Props#tags +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2 +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#apiId +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#contentHandlingStrategy +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#inspect +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#integrationId +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#integrationResponseKey +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#responseParameters +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#responseTemplates +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2#templateSelectionExpression +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props#contentHandlingStrategy +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props#integrationId +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props#integrationResponseKey +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props#responseParameters +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props#responseTemplates +aws-cdk-lib.aws_apigateway.CfnIntegrationResponseV2Props#templateSelectionExpression +aws-cdk-lib.aws_apigateway.CfnIntegrationV2 +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#apiId +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#connectionType +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#contentHandlingStrategy +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#credentialsArn +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#description +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#inspect +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#integrationMethod +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#integrationType +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#integrationUri +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#passthroughBehavior +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#payloadFormatVersion +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#requestParameters +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#requestTemplates +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#templateSelectionExpression +aws-cdk-lib.aws_apigateway.CfnIntegrationV2#timeoutInMillis +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#connectionType +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#contentHandlingStrategy +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#credentialsArn +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#description +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#integrationMethod +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#integrationType +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#integrationUri +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#passthroughBehavior +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#payloadFormatVersion +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#requestParameters +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#requestTemplates +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#templateSelectionExpression +aws-cdk-lib.aws_apigateway.CfnIntegrationV2Props#timeoutInMillis +aws-cdk-lib.aws_apigateway.CfnModelV2 +aws-cdk-lib.aws_apigateway.CfnModelV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnModelV2#apiId +aws-cdk-lib.aws_apigateway.CfnModelV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnModelV2#contentType +aws-cdk-lib.aws_apigateway.CfnModelV2#description +aws-cdk-lib.aws_apigateway.CfnModelV2#inspect +aws-cdk-lib.aws_apigateway.CfnModelV2#name +aws-cdk-lib.aws_apigateway.CfnModelV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnModelV2#schema +aws-cdk-lib.aws_apigateway.CfnModelV2Props +aws-cdk-lib.aws_apigateway.CfnModelV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnModelV2Props#contentType +aws-cdk-lib.aws_apigateway.CfnModelV2Props#description +aws-cdk-lib.aws_apigateway.CfnModelV2Props#name +aws-cdk-lib.aws_apigateway.CfnModelV2Props#schema +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2 +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#apiId +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#inspect +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#modelSelectionExpression +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#responseModels +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#responseParameters +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#routeId +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2#routeResponseKey +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2.ParameterConstraintsProperty +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2.ParameterConstraintsProperty#required +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2Props +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2Props#modelSelectionExpression +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2Props#responseModels +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2Props#responseParameters +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2Props#routeId +aws-cdk-lib.aws_apigateway.CfnRouteResponseV2Props#routeResponseKey +aws-cdk-lib.aws_apigateway.CfnRouteV2 +aws-cdk-lib.aws_apigateway.CfnRouteV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnRouteV2#apiId +aws-cdk-lib.aws_apigateway.CfnRouteV2#apiKeyRequired +aws-cdk-lib.aws_apigateway.CfnRouteV2#authorizationScopes +aws-cdk-lib.aws_apigateway.CfnRouteV2#authorizationType +aws-cdk-lib.aws_apigateway.CfnRouteV2#authorizerId +aws-cdk-lib.aws_apigateway.CfnRouteV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnRouteV2#inspect +aws-cdk-lib.aws_apigateway.CfnRouteV2#modelSelectionExpression +aws-cdk-lib.aws_apigateway.CfnRouteV2#operationName +aws-cdk-lib.aws_apigateway.CfnRouteV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnRouteV2#requestModels +aws-cdk-lib.aws_apigateway.CfnRouteV2#requestParameters +aws-cdk-lib.aws_apigateway.CfnRouteV2#routeKey +aws-cdk-lib.aws_apigateway.CfnRouteV2#routeResponseSelectionExpression +aws-cdk-lib.aws_apigateway.CfnRouteV2#target +aws-cdk-lib.aws_apigateway.CfnRouteV2.ParameterConstraintsProperty +aws-cdk-lib.aws_apigateway.CfnRouteV2.ParameterConstraintsProperty#required +aws-cdk-lib.aws_apigateway.CfnRouteV2Props +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#apiKeyRequired +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#authorizationScopes +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#authorizationType +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#authorizerId +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#modelSelectionExpression +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#operationName +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#requestModels +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#requestParameters +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#routeKey +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#routeResponseSelectionExpression +aws-cdk-lib.aws_apigateway.CfnRouteV2Props#target +aws-cdk-lib.aws_apigateway.CfnStageV2 +aws-cdk-lib.aws_apigateway.CfnStageV2#CFN_RESOURCE_TYPE_NAME +aws-cdk-lib.aws_apigateway.CfnStageV2#accessLogSettings +aws-cdk-lib.aws_apigateway.CfnStageV2#apiId +aws-cdk-lib.aws_apigateway.CfnStageV2#autoDeploy +aws-cdk-lib.aws_apigateway.CfnStageV2#cfnProperties +aws-cdk-lib.aws_apigateway.CfnStageV2#clientCertificateId +aws-cdk-lib.aws_apigateway.CfnStageV2#defaultRouteSettings +aws-cdk-lib.aws_apigateway.CfnStageV2#deploymentId +aws-cdk-lib.aws_apigateway.CfnStageV2#description +aws-cdk-lib.aws_apigateway.CfnStageV2#inspect +aws-cdk-lib.aws_apigateway.CfnStageV2#renderProperties +aws-cdk-lib.aws_apigateway.CfnStageV2#routeSettings +aws-cdk-lib.aws_apigateway.CfnStageV2#stageName +aws-cdk-lib.aws_apigateway.CfnStageV2#stageVariables +aws-cdk-lib.aws_apigateway.CfnStageV2#tags +aws-cdk-lib.aws_apigateway.CfnStageV2.AccessLogSettingsProperty +aws-cdk-lib.aws_apigateway.CfnStageV2.AccessLogSettingsProperty#destinationArn +aws-cdk-lib.aws_apigateway.CfnStageV2.AccessLogSettingsProperty#format +aws-cdk-lib.aws_apigateway.CfnStageV2.RouteSettingsProperty +aws-cdk-lib.aws_apigateway.CfnStageV2.RouteSettingsProperty#dataTraceEnabled +aws-cdk-lib.aws_apigateway.CfnStageV2.RouteSettingsProperty#detailedMetricsEnabled +aws-cdk-lib.aws_apigateway.CfnStageV2.RouteSettingsProperty#loggingLevel +aws-cdk-lib.aws_apigateway.CfnStageV2.RouteSettingsProperty#throttlingBurstLimit +aws-cdk-lib.aws_apigateway.CfnStageV2.RouteSettingsProperty#throttlingRateLimit +aws-cdk-lib.aws_apigateway.CfnStageV2Props +aws-cdk-lib.aws_apigateway.CfnStageV2Props#accessLogSettings +aws-cdk-lib.aws_apigateway.CfnStageV2Props#apiId +aws-cdk-lib.aws_apigateway.CfnStageV2Props#autoDeploy +aws-cdk-lib.aws_apigateway.CfnStageV2Props#clientCertificateId +aws-cdk-lib.aws_apigateway.CfnStageV2Props#defaultRouteSettings +aws-cdk-lib.aws_apigateway.CfnStageV2Props#deploymentId +aws-cdk-lib.aws_apigateway.CfnStageV2Props#description +aws-cdk-lib.aws_apigateway.CfnStageV2Props#routeSettings +aws-cdk-lib.aws_apigateway.CfnStageV2Props#stageName +aws-cdk-lib.aws_apigateway.CfnStageV2Props#stageVariables +aws-cdk-lib.aws_apigateway.CfnStageV2Props#tags +aws-cdk-lib.aws_apigateway.EmptyModel +aws-cdk-lib.aws_apigateway.EmptyModel#modelId +aws-cdk-lib.aws_apigateway.ErrorModel +aws-cdk-lib.aws_apigateway.ErrorModel#modelId +aws-cdk-lib.aws_apigateway.IResource#restApi +aws-cdk-lib.aws_apigateway.LambdaRestApiProps#options +aws-cdk-lib.aws_apigateway.Method#restApi +aws-cdk-lib.aws_apigateway.Resource#restApi +aws-cdk-lib.aws_apigateway.ResourceBase#restApi +aws-cdk-lib.aws_apigateway.ResourceBase#url +aws-cdk-lib.aws_apigateway.RestApiBase#configureCloudWatchRole +aws-cdk-lib.aws_apigateway.RestApiBase#configureDeployment +aws-cdk-lib.aws_apigateway.RestApiOptions +aws-cdk-lib.aws_apigateway.UsagePlanProps#apiKey +aws-cdk-lib.aws_appmesh.Protocol +aws-cdk-lib.aws_appmesh.Protocol#GRPC +aws-cdk-lib.aws_appmesh.Protocol#HTTP +aws-cdk-lib.aws_appmesh.Protocol#HTTP2 +aws-cdk-lib.aws_appmesh.Protocol#TCP +aws-cdk-lib.aws_autoscaling.BlockDevice#mappingEnabled +aws-cdk-lib.aws_autoscaling.CommonAutoScalingGroupProps#notificationsTopic +aws-cdk-lib.aws_autoscaling.CommonAutoScalingGroupProps#replacingUpdateMinSuccessfulInstancesPercent +aws-cdk-lib.aws_autoscaling.CommonAutoScalingGroupProps#resourceSignalCount +aws-cdk-lib.aws_autoscaling.CommonAutoScalingGroupProps#resourceSignalTimeout +aws-cdk-lib.aws_autoscaling.CommonAutoScalingGroupProps#rollingUpdateConfiguration +aws-cdk-lib.aws_autoscaling.CommonAutoScalingGroupProps#updateType +aws-cdk-lib.aws_autoscaling.RequestCountScalingProps#targetRequestsPerSecond +aws-cdk-lib.aws_autoscaling.RollingUpdateConfiguration +aws-cdk-lib.aws_autoscaling.RollingUpdateConfiguration#maxBatchSize +aws-cdk-lib.aws_autoscaling.RollingUpdateConfiguration#minInstancesInService +aws-cdk-lib.aws_autoscaling.RollingUpdateConfiguration#minSuccessfulInstancesPercent +aws-cdk-lib.aws_autoscaling.RollingUpdateConfiguration#pauseTime +aws-cdk-lib.aws_autoscaling.RollingUpdateConfiguration#suspendProcesses +aws-cdk-lib.aws_autoscaling.RollingUpdateConfiguration#waitOnResourceSignals +aws-cdk-lib.aws_autoscaling.UpdateType +aws-cdk-lib.aws_autoscaling.UpdateType#NONE +aws-cdk-lib.aws_autoscaling.UpdateType#REPLACING_UPDATE +aws-cdk-lib.aws_autoscaling.UpdateType#ROLLING_UPDATE +aws-cdk-lib.aws_certificatemanager.CertificateProps#validationDomains +aws-cdk-lib.aws_certificatemanager.CertificateProps#validationMethod +aws-cdk-lib.aws_cloudformation.CloudFormationCapabilities +aws-cdk-lib.aws_cloudformation.CloudFormationCapabilities#ANONYMOUS_IAM +aws-cdk-lib.aws_cloudformation.CloudFormationCapabilities#AUTO_EXPAND +aws-cdk-lib.aws_cloudformation.CloudFormationCapabilities#NAMED_IAM +aws-cdk-lib.aws_cloudformation.CloudFormationCapabilities#NONE +aws-cdk-lib.aws_cloudformation.CustomResource +aws-cdk-lib.aws_cloudformation.CustomResourceProps +aws-cdk-lib.aws_cloudformation.CustomResourceProps#properties +aws-cdk-lib.aws_cloudformation.CustomResourceProps#provider +aws-cdk-lib.aws_cloudformation.CustomResourceProps#removalPolicy +aws-cdk-lib.aws_cloudformation.CustomResourceProps#resourceType +aws-cdk-lib.aws_cloudformation.CustomResourceProvider +aws-cdk-lib.aws_cloudformation.CustomResourceProvider#bind +aws-cdk-lib.aws_cloudformation.CustomResourceProvider#fromLambda +aws-cdk-lib.aws_cloudformation.CustomResourceProvider#fromTopic +aws-cdk-lib.aws_cloudformation.CustomResourceProvider#lambda +aws-cdk-lib.aws_cloudformation.CustomResourceProvider#serviceToken +aws-cdk-lib.aws_cloudformation.CustomResourceProvider#topic +aws-cdk-lib.aws_cloudformation.CustomResourceProviderConfig +aws-cdk-lib.aws_cloudformation.CustomResourceProviderConfig#serviceToken +aws-cdk-lib.aws_cloudformation.ICustomResourceProvider +aws-cdk-lib.aws_cloudformation.ICustomResourceProvider#bind +aws-cdk-lib.aws_cloudformation.NestedStack +aws-cdk-lib.aws_cloudformation.NestedStackProps +aws-cdk-lib.aws_cloudformation.NestedStackProps#notifications +aws-cdk-lib.aws_cloudformation.NestedStackProps#parameters +aws-cdk-lib.aws_cloudformation.NestedStackProps#timeout +aws-cdk-lib.aws_cloudfront.AliasConfiguration +aws-cdk-lib.aws_cloudfront.AliasConfiguration#acmCertRef +aws-cdk-lib.aws_cloudfront.AliasConfiguration#names +aws-cdk-lib.aws_cloudfront.AliasConfiguration#securityPolicy +aws-cdk-lib.aws_cloudfront.AliasConfiguration#sslMethod +aws-cdk-lib.aws_cloudfront.CloudFrontWebDistribution#domainName +aws-cdk-lib.aws_cloudfront.CloudFrontWebDistributionProps#aliasConfiguration +aws-cdk-lib.aws_cloudfront.GeoRestriction#blacklist +aws-cdk-lib.aws_cloudfront.GeoRestriction#whitelist +aws-cdk-lib.aws_cloudfront.IDistribution#domainName +aws-cdk-lib.aws_cloudfront.SourceConfiguration#originHeaders +aws-cdk-lib.aws_cloudfront.SourceConfiguration#originPath +aws-cdk-lib.aws_cloudtrail.Trail#onCloudTrailEvent +aws-cdk-lib.aws_cloudtrail.TrailProps#kmsKey +aws-cdk-lib.aws_cloudwatch.CommonMetricOptions#dimensions +aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions#period +aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions#statistic +aws-cdk-lib.aws_cloudwatch.IMetric#toAlarmConfig +aws-cdk-lib.aws_cloudwatch.IMetric#toGraphConfig +aws-cdk-lib.aws_cloudwatch.MathExpression#toAlarmConfig +aws-cdk-lib.aws_cloudwatch.MathExpression#toGraphConfig +aws-cdk-lib.aws_cloudwatch.Metric#toAlarmConfig +aws-cdk-lib.aws_cloudwatch.Metric#toGraphConfig +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig#dimensions +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig#extendedStatistic +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig#metricName +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig#namespace +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig#period +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig#statistic +aws-cdk-lib.aws_cloudwatch.MetricAlarmConfig#unit +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#color +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#dimensions +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#label +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#metricName +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#namespace +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#period +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#renderingProperties +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#statistic +aws-cdk-lib.aws_cloudwatch.MetricGraphConfig#unit +aws-cdk-lib.aws_cloudwatch.MetricRenderingProperties +aws-cdk-lib.aws_cloudwatch.MetricRenderingProperties#color +aws-cdk-lib.aws_cloudwatch.MetricRenderingProperties#label +aws-cdk-lib.aws_cloudwatch.MetricRenderingProperties#period +aws-cdk-lib.aws_cloudwatch.MetricRenderingProperties#stat +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_ANDROID_JAVA8_24_4_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_ANDROID_JAVA8_26_1_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_BASE +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_DOCKER_17_09_0 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_DOCKER_18_09_0 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_DOTNET_CORE_1_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_DOTNET_CORE_2_0 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_DOTNET_CORE_2_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_GOLANG_1_10 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_GOLANG_1_11 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_10_14_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_10_1_0 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_6_3_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_NODEJS_8_11_0 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_OPEN_JDK_11 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_OPEN_JDK_8 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_OPEN_JDK_9 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PHP_5_6 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PHP_7_0 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PHP_7_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_2_7_12 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_3_6 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_4_5 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_5_2 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_6_5 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_PYTHON_3_7_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_2_5 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_3_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_5_1 +aws-cdk-lib.aws_codebuild.LinuxBuildImage#UBUNTU_14_04_RUBY_2_5_3 +aws-cdk-lib.aws_codebuild.WindowsBuildImage#WIN_SERVER_CORE_2016_BASE +aws-cdk-lib.aws_codecommit.IRepository#notifiyOnPullRequestMerged +aws-cdk-lib.aws_codepipeline_actions.BitBucketSourceAction +aws-cdk-lib.aws_codepipeline_actions.BitBucketSourceAction#actionProperties +aws-cdk-lib.aws_codepipeline_actions.BitBucketSourceAction#bind +aws-cdk-lib.aws_codepipeline_actions.BitBucketSourceAction#onStateChange +aws-cdk-lib.aws_codepipeline_actions.BitBucketSourceActionProps +aws-cdk-lib.aws_codepipeline_actions.CloudFormationCreateReplaceChangeSetActionProps#capabilities +aws-cdk-lib.aws_codepipeline_actions.CloudFormationCreateUpdateStackActionProps#capabilities +aws-cdk-lib.aws_codepipeline_actions.CloudFormationDeleteStackActionProps#capabilities +aws-cdk-lib.aws_cognito.StandardAttributes#emailVerified +aws-cdk-lib.aws_cognito.StandardAttributes#phoneNumberVerified +aws-cdk-lib.aws_cognito.UserPoolProps#emailSettings +aws-cdk-lib.aws_dynamodb.ITable#metricSystemErrors +aws-cdk-lib.aws_dynamodb.Table#grantListStreams +aws-cdk-lib.aws_dynamodb.Table#metricSystemErrors +aws-cdk-lib.aws_dynamodb.TableOptions#serverSideEncryption +aws-cdk-lib.aws_ec2.ClientVpnAuthorizationRuleProps#clientVpnEndoint +aws-cdk-lib.aws_ec2.ClientVpnRouteProps#clientVpnEndoint +aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint#securityGroupId +aws-cdk-lib.aws_ec2.InterfaceVpcEndpointAttributes#securityGroupId +aws-cdk-lib.aws_ec2.MachineImage#fromSSMParameter +aws-cdk-lib.aws_ec2.NatInstanceProps#allowAllTraffic +aws-cdk-lib.aws_ec2.SecurityGroup#fromLookup +aws-cdk-lib.aws_ec2.SecurityGroup#securityGroupName +aws-cdk-lib.aws_ec2.SubnetSelection#subnetName +aws-cdk-lib.aws_ec2.SubnetType#ISOLATED +aws-cdk-lib.aws_ec2.SubnetType#PRIVATE +aws-cdk-lib.aws_ec2.Vpc#addDynamoDbEndpoint +aws-cdk-lib.aws_ec2.Vpc#addS3Endpoint +aws-cdk-lib.aws_ec2.Vpc#natDependencies +aws-cdk-lib.aws_ec2.VpcEndpointService#whitelistedPrincipals +aws-cdk-lib.aws_ec2.VpcEndpointServiceProps#vpcEndpointServiceName +aws-cdk-lib.aws_ec2.VpcEndpointServiceProps#whitelistedPrincipals +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2008_R2_SP1_PORTUGESE_BRAZIL_64BIT_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2008_SP2_PORTUGESE_BRAZIL_32BIT_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2012_R2_RTM_PORTUGESE_BRAZIL_64BIT_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2012_R2_RTM_PORTUGESE_PORTUGAL_64BIT_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2012_R2_SP1_PORTUGESE_BRAZIL_64BIT_CORE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2012_RTM_PORTUGESE_BRAZIL_64BIT_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2012_RTM_PORTUGESE_PORTUGAL_64BIT_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2012_SP2_PORTUGESE_BRAZIL_64BIT_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2016_GERMAL_FULL_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2016_PORTUGESE_BRAZIL_FULL_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2016_PORTUGESE_PORTUGAL_FULL_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2019_PORTUGESE_BRAZIL_FULL_BASE +aws-cdk-lib.aws_ec2.WindowsVersion#WINDOWS_SERVER_2019_PORTUGESE_PORTUGAL_FULL_BASE +aws-cdk-lib.aws_ecr_assets.DockerImageAsset#sourceHash +aws-cdk-lib.aws_ecr_assets.DockerImageAssetOptions#repositoryName +aws-cdk-lib.aws_ecr_assets.TarballImageAsset#sourceHash +aws-cdk-lib.aws_ecs.AddAutoScalingGroupCapacityOptions#taskDrainTime +aws-cdk-lib.aws_ecs.BaseService#configureAwsVpcNetworking +aws-cdk-lib.aws_ecs.BaseServiceOptions#propagateTaskTagsFrom +aws-cdk-lib.aws_ecs.Cluster#addAutoScalingGroup +aws-cdk-lib.aws_ecs.Cluster#addCapacityProvider +aws-cdk-lib.aws_ecs.ClusterProps#capacityProviders +aws-cdk-lib.aws_ecs.Ec2ServiceProps#securityGroup +aws-cdk-lib.aws_ecs.EcsOptimizedAmi +aws-cdk-lib.aws_ecs.EcsOptimizedAmi#getImage +aws-cdk-lib.aws_ecs.EcsOptimizedAmiProps +aws-cdk-lib.aws_ecs.EcsOptimizedAmiProps#cachedInContext +aws-cdk-lib.aws_ecs.EcsOptimizedAmiProps#generation +aws-cdk-lib.aws_ecs.EcsOptimizedAmiProps#hardwareType +aws-cdk-lib.aws_ecs.EcsOptimizedAmiProps#windowsVersion +aws-cdk-lib.aws_ecs.FargateServiceProps#securityGroup +aws-cdk-lib.aws_ecs.SplunkLogDriverProps#token +aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedServiceBase#desiredCount +aws-cdk-lib.aws_ecs_patterns.ApplicationMultipleTargetGroupsServiceBase#desiredCount +aws-cdk-lib.aws_ecs_patterns.NetworkLoadBalancedServiceBase#desiredCount +aws-cdk-lib.aws_ecs_patterns.NetworkMultipleTargetGroupsServiceBase#desiredCount +aws-cdk-lib.aws_ecs_patterns.QueueProcessingServiceBase#desiredCount +aws-cdk-lib.aws_ecs_patterns.QueueProcessingServiceBaseProps#desiredTaskCount +aws-cdk-lib.aws_eks.NodegroupOptions#instanceType +aws-cdk-lib.aws_eks.ServiceAccount#addToPolicy +aws-cdk-lib.aws_elasticloadbalancing.LoadBalancerListener#sslCertificateId +aws-cdk-lib.aws_elasticloadbalancingv2.AddFixedResponseProps +aws-cdk-lib.aws_elasticloadbalancingv2.AddRedirectResponseProps +aws-cdk-lib.aws_elasticloadbalancingv2.AddRuleProps#hostHeader +aws-cdk-lib.aws_elasticloadbalancingv2.AddRuleProps#pathPattern +aws-cdk-lib.aws_elasticloadbalancingv2.AddRuleProps#pathPatterns +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListener#addCertificateArns +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListener#addFixedResponse +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListener#addRedirectResponse +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListenerAttributes#securityGroupAllowsAllOutbound +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListenerAttributes#securityGroupId +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListenerCertificateProps#certificateArns +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListenerRule#addFixedResponse +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListenerRule#addRedirectResponse +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListenerRule#addTargetGroup +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationListenerRule#setCondition +aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup#import +aws-cdk-lib.aws_elasticloadbalancingv2.BaseApplicationListenerProps#certificateArns +aws-cdk-lib.aws_elasticloadbalancingv2.BaseApplicationListenerRuleProps#fixedResponse +aws-cdk-lib.aws_elasticloadbalancingv2.BaseApplicationListenerRuleProps#hostHeader +aws-cdk-lib.aws_elasticloadbalancingv2.BaseApplicationListenerRuleProps#pathPattern +aws-cdk-lib.aws_elasticloadbalancingv2.BaseApplicationListenerRuleProps#pathPatterns +aws-cdk-lib.aws_elasticloadbalancingv2.BaseApplicationListenerRuleProps#redirectResponse +aws-cdk-lib.aws_elasticloadbalancingv2.ContentType +aws-cdk-lib.aws_elasticloadbalancingv2.ContentType#APPLICATION_JAVASCRIPT +aws-cdk-lib.aws_elasticloadbalancingv2.ContentType#APPLICATION_JSON +aws-cdk-lib.aws_elasticloadbalancingv2.ContentType#TEXT_CSS +aws-cdk-lib.aws_elasticloadbalancingv2.ContentType#TEXT_HTML +aws-cdk-lib.aws_elasticloadbalancingv2.ContentType#TEXT_PLAIN +aws-cdk-lib.aws_elasticloadbalancingv2.FixedResponse +aws-cdk-lib.aws_elasticloadbalancingv2.FixedResponse#contentType +aws-cdk-lib.aws_elasticloadbalancingv2.FixedResponse#messageBody +aws-cdk-lib.aws_elasticloadbalancingv2.FixedResponse#statusCode +aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener#addCertificateArns +aws-cdk-lib.aws_elasticloadbalancingv2.INetworkListenerCertificateProps +aws-cdk-lib.aws_elasticloadbalancingv2.InstanceTarget +aws-cdk-lib.aws_elasticloadbalancingv2.InstanceTarget#attachToApplicationTargetGroup +aws-cdk-lib.aws_elasticloadbalancingv2.InstanceTarget#attachToNetworkTargetGroup +aws-cdk-lib.aws_elasticloadbalancingv2.IpTarget +aws-cdk-lib.aws_elasticloadbalancingv2.IpTarget#attachToApplicationTargetGroup +aws-cdk-lib.aws_elasticloadbalancingv2.IpTarget#attachToNetworkTargetGroup +aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer#metricHealthyHostCount +aws-cdk-lib.aws_elasticloadbalancingv2.NetworkLoadBalancer#metricUnHealthyHostCount +aws-cdk-lib.aws_elasticloadbalancingv2.NetworkTargetGroup#import +aws-cdk-lib.aws_elasticloadbalancingv2.RedirectResponse +aws-cdk-lib.aws_elasticloadbalancingv2.RedirectResponse#host +aws-cdk-lib.aws_elasticloadbalancingv2.RedirectResponse#path +aws-cdk-lib.aws_elasticloadbalancingv2.RedirectResponse#port +aws-cdk-lib.aws_elasticloadbalancingv2.RedirectResponse#protocol +aws-cdk-lib.aws_elasticloadbalancingv2.RedirectResponse#query +aws-cdk-lib.aws_elasticloadbalancingv2.RedirectResponse#statusCode +aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupAttributes#defaultPort +aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupImportProps +aws-cdk-lib.aws_events.EventBus#grantPutEvents +aws-cdk-lib.aws_events.RuleTargetConfig#id +aws-cdk-lib.aws_events_targets.EcsTask#securityGroup +aws-cdk-lib.aws_events_targets.EcsTaskProps#securityGroup +aws-cdk-lib.aws_iam.Anyone +aws-cdk-lib.aws_iam.IPrincipal#addToPolicy +aws-cdk-lib.aws_iam.RoleProps#externalId +aws-cdk-lib.aws_kms.KeyProps#trustAccountIdentities +aws-cdk-lib.aws_lambda.Code#asset +aws-cdk-lib.aws_lambda.Code#bucket +aws-cdk-lib.aws_lambda.Code#cfnParameters +aws-cdk-lib.aws_lambda.Code#inline +aws-cdk-lib.aws_lambda.Code#isInline +aws-cdk-lib.aws_lambda.Function#addVersion +aws-cdk-lib.aws_lambda.FunctionAttributes#securityGroupId +aws-cdk-lib.aws_lambda.FunctionOptions#architectures +aws-cdk-lib.aws_lambda.FunctionOptions#securityGroup +aws-cdk-lib.aws_lambda.LogRetention +aws-cdk-lib.aws_lambda.LogRetentionProps +aws-cdk-lib.aws_lambda.Runtime#bundlingDockerImage +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#MARIADB +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#MYSQL +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#ORACLE_EE +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#ORACLE_SE +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#ORACLE_SE1 +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#ORACLE_SE2 +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#POSTGRES +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#SQL_SERVER_EE +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#SQL_SERVER_EX +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#SQL_SERVER_SE +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#SQL_SERVER_WEB +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#oracleSe +aws-cdk-lib.aws_rds.DatabaseInstanceEngine#oracleSe1 +aws-cdk-lib.aws_rds.DatabaseInstanceNewProps#vpcPlacement +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0_17 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0_24 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0_28 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0_31 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0_32 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0_34 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_0_35 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_1 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_1_14 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_1_19 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_1_23 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_1_26 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_1_31 +aws-cdk-lib.aws_rds.MariaDbEngineVersion#VER_10_1_34 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_5 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_5_46 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_5_53 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_5_57 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_5_59 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_5_61 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_34 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_35 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_37 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_39 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_40 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_41 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_43 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_44 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_46 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_48 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_49 +aws-cdk-lib.aws_rds.MysqlEngineVersion#VER_5_6_51 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_2_V2 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V1 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V10 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V11 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V12 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V13 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V14 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V15 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V16 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V17 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V18 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V19 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V20 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V21 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V22 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V23 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V24 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V25 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V3 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V4 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V5 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V6 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V7 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V8 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#VER_11_2_0_4_V9 +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#oracleLegacyFullVersion +aws-cdk-lib.aws_rds.OracleLegacyEngineVersion#oracleLegacyMajorVersion +aws-cdk-lib.aws_rds.OracleSe1InstanceEngineProps +aws-cdk-lib.aws_rds.OracleSe1InstanceEngineProps#version +aws-cdk-lib.aws_rds.OracleSeInstanceEngineProps +aws-cdk-lib.aws_rds.OracleSeInstanceEngineProps#version +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_10 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_12 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_13 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_14 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_15 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_16 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_18 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_19 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_2 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_20 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_21 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_22 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_23 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_24 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_25 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_4 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_6 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_7 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_5_9 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_1 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_10 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_11 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_12 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_14 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_15 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_16 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_17 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_18 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_19 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_2 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_20 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_21 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_22 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_23 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_3 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_5 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_6 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_8 +aws-cdk-lib.aws_rds.PostgresEngineVersion#VER_9_6_9 +aws-cdk-lib.aws_rds.SnapshotCredentials#fromGeneratedPassword +aws-cdk-lib.aws_rds.SqlServerEngineVersion#VER_15_00_4043_23_V1 +aws-cdk-lib.aws_route53.AddressRecordTarget +aws-cdk-lib.aws_s3_assets.Asset#s3Url +aws-cdk-lib.aws_s3_assets.Asset#sourceHash +aws-cdk-lib.aws_s3_assets.AssetOptions#sourceHash +aws-cdk-lib.aws_s3_deployment.Expires +aws-cdk-lib.aws_s3_deployment.Expires#after +aws-cdk-lib.aws_s3_deployment.Expires#atDate +aws-cdk-lib.aws_s3_deployment.Expires#atTimestamp +aws-cdk-lib.aws_s3_deployment.Expires#fromString +aws-cdk-lib.aws_s3_deployment.Expires#value +aws-cdk-lib.aws_secretsmanager.AttachmentTargetType#CLUSTER +aws-cdk-lib.aws_secretsmanager.AttachmentTargetType#INSTANCE +aws-cdk-lib.aws_secretsmanager.Secret#addTargetAttachment +aws-cdk-lib.aws_secretsmanager.Secret#fromSecretArn +aws-cdk-lib.aws_secretsmanager.Secret#fromSecretName +aws-cdk-lib.aws_secretsmanager.SecretAttributes#secretArn +aws-cdk-lib.aws_secretsmanager.SecretRotationApplication#applicationId +aws-cdk-lib.aws_secretsmanager.SecretRotationApplication#semanticVersion +aws-cdk-lib.aws_ses.WhiteListReceiptFilter +aws-cdk-lib.aws_ses.WhiteListReceiptFilterProps +aws-cdk-lib.aws_sns.NumericConditions#whitelist +aws-cdk-lib.aws_sns.StringConditions#blacklist +aws-cdk-lib.aws_sns.StringConditions#whitelist +aws-cdk-lib.aws_stepfunctions.Context +aws-cdk-lib.aws_stepfunctions.Context#entireContext +aws-cdk-lib.aws_stepfunctions.Context#numberAt +aws-cdk-lib.aws_stepfunctions.Context#stringAt +aws-cdk-lib.aws_stepfunctions.Context#taskToken +aws-cdk-lib.aws_stepfunctions.Data +aws-cdk-lib.aws_stepfunctions.Data#entirePayload +aws-cdk-lib.aws_stepfunctions.Data#isJsonPathString +aws-cdk-lib.aws_stepfunctions.Data#listAt +aws-cdk-lib.aws_stepfunctions.Data#numberAt +aws-cdk-lib.aws_stepfunctions.Data#stringAt +aws-cdk-lib.aws_stepfunctions.IStepFunctionsTask +aws-cdk-lib.aws_stepfunctions.IStepFunctionsTask#bind +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig#heartbeat +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig#metricDimensions +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig#metricPrefixPlural +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig#metricPrefixSingular +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig#parameters +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig#policyStatements +aws-cdk-lib.aws_stepfunctions.StepFunctionsTaskConfig#resourceArn +aws-cdk-lib.aws_stepfunctions.Task +aws-cdk-lib.aws_stepfunctions.Task#addCatch +aws-cdk-lib.aws_stepfunctions.Task#addRetry +aws-cdk-lib.aws_stepfunctions.Task#endStates +aws-cdk-lib.aws_stepfunctions.Task#metric +aws-cdk-lib.aws_stepfunctions.Task#metricFailed +aws-cdk-lib.aws_stepfunctions.Task#metricHeartbeatTimedOut +aws-cdk-lib.aws_stepfunctions.Task#metricRunTime +aws-cdk-lib.aws_stepfunctions.Task#metricScheduleTime +aws-cdk-lib.aws_stepfunctions.Task#metricScheduled +aws-cdk-lib.aws_stepfunctions.Task#metricStarted +aws-cdk-lib.aws_stepfunctions.Task#metricSucceeded +aws-cdk-lib.aws_stepfunctions.Task#metricTime +aws-cdk-lib.aws_stepfunctions.Task#metricTimedOut +aws-cdk-lib.aws_stepfunctions.Task#next +aws-cdk-lib.aws_stepfunctions.Task#toStateJson +aws-cdk-lib.aws_stepfunctions.Task#whenBoundToGraph +aws-cdk-lib.aws_stepfunctions.TaskInput#fromContextAt +aws-cdk-lib.aws_stepfunctions.TaskInput#fromDataAt +aws-cdk-lib.aws_stepfunctions.TaskProps +aws-cdk-lib.aws_stepfunctions.TaskProps#comment +aws-cdk-lib.aws_stepfunctions.TaskProps#inputPath +aws-cdk-lib.aws_stepfunctions.TaskProps#outputPath +aws-cdk-lib.aws_stepfunctions.TaskProps#parameters +aws-cdk-lib.aws_stepfunctions.TaskProps#resultPath +aws-cdk-lib.aws_stepfunctions.TaskProps#task +aws-cdk-lib.aws_stepfunctions.TaskProps#timeout +aws-cdk-lib.aws_stepfunctions_tasks.EcsRunTaskBase +aws-cdk-lib.aws_stepfunctions_tasks.EcsRunTaskBase#bind +aws-cdk-lib.aws_stepfunctions_tasks.EcsRunTaskBase#configureAwsVpcNetworking +aws-cdk-lib.aws_stepfunctions_tasks.EcsRunTaskBase#connections +aws-cdk-lib.aws_stepfunctions_tasks.EcsRunTaskBaseProps +aws-cdk-lib.aws_stepfunctions_tasks.EcsRunTaskBaseProps#parameters +aws-cdk-lib.aws_stepfunctions_tasks.InvocationType +aws-cdk-lib.aws_stepfunctions_tasks.InvocationType#DRY_RUN +aws-cdk-lib.aws_stepfunctions_tasks.InvocationType#EVENT +aws-cdk-lib.aws_stepfunctions_tasks.InvocationType#REQUEST_RESPONSE +aws-cdk-lib.aws_stepfunctions_tasks.InvokeActivity +aws-cdk-lib.aws_stepfunctions_tasks.InvokeActivity#bind +aws-cdk-lib.aws_stepfunctions_tasks.InvokeActivityProps +aws-cdk-lib.aws_stepfunctions_tasks.InvokeActivityProps#heartbeat +aws-cdk-lib.aws_stepfunctions_tasks.InvokeFunction +aws-cdk-lib.aws_stepfunctions_tasks.InvokeFunction#bind +aws-cdk-lib.aws_stepfunctions_tasks.InvokeFunctionProps +aws-cdk-lib.aws_stepfunctions_tasks.InvokeFunctionProps#payload +aws-cdk-lib.aws_stepfunctions_tasks.PublishToTopic +aws-cdk-lib.aws_stepfunctions_tasks.PublishToTopic#bind +aws-cdk-lib.aws_stepfunctions_tasks.PublishToTopicProps +aws-cdk-lib.aws_stepfunctions_tasks.PublishToTopicProps#integrationPattern +aws-cdk-lib.aws_stepfunctions_tasks.PublishToTopicProps#message +aws-cdk-lib.aws_stepfunctions_tasks.PublishToTopicProps#messagePerSubscriptionType +aws-cdk-lib.aws_stepfunctions_tasks.PublishToTopicProps#subject +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJob +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJob#bind +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#arraySize +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#attempts +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#containerOverrides +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#dependsOn +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#integrationPattern +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#jobDefinitionArn +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#jobName +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#jobQueueArn +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#payload +aws-cdk-lib.aws_stepfunctions_tasks.RunBatchJobProps#timeout +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsEc2Task +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsEc2TaskProps +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsEc2TaskProps#placementConstraints +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsEc2TaskProps#placementStrategies +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsEc2TaskProps#securityGroup +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsEc2TaskProps#subnets +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsFargateTask +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsFargateTaskProps +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsFargateTaskProps#assignPublicIp +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsFargateTaskProps#platformVersion +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsFargateTaskProps#securityGroup +aws-cdk-lib.aws_stepfunctions_tasks.RunEcsFargateTaskProps#subnets +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTask +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTask#bind +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTaskProps +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTaskProps#arguments +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTaskProps#integrationPattern +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTaskProps#notifyDelayAfter +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTaskProps#securityConfiguration +aws-cdk-lib.aws_stepfunctions_tasks.RunGlueJobTaskProps#timeout +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTask +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTask#bind +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTaskProps +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTaskProps#clientContext +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTaskProps#integrationPattern +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTaskProps#invocationType +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTaskProps#payload +aws-cdk-lib.aws_stepfunctions_tasks.RunLambdaTaskProps#qualifier +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueue +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueue#bind +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueueProps +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueueProps#delay +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueueProps#integrationPattern +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueueProps#messageBody +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueueProps#messageDeduplicationId +aws-cdk-lib.aws_stepfunctions_tasks.SendToQueueProps#messageGroupId +aws-cdk-lib.aws_stepfunctions_tasks.StartExecution +aws-cdk-lib.aws_stepfunctions_tasks.StartExecution#bind +aws-cdk-lib.aws_stepfunctions_tasks.StartExecutionProps +aws-cdk-lib.aws_stepfunctions_tasks.StartExecutionProps#input +aws-cdk-lib.aws_stepfunctions_tasks.StartExecutionProps#integrationPattern +aws-cdk-lib.aws_stepfunctions_tasks.StartExecutionProps#name +aws-cdk-lib.cloud_assembly_schema.ContainerImageAssetMetadataEntry#imageNameParameter +aws-cdk-lib.cloud_assembly_schema.Manifest#load +aws-cdk-lib.cloud_assembly_schema.Manifest#save +aws-cdk-lib.custom_resources.AwsSdkCall#outputPath +aws-cdk-lib.custom_resources.Provider#bind +aws-cdk-lib.cx_api.AssemblyBuildOptions#runtimeInfo +aws-cdk-lib.cx_api.CloudAssembly#getStack +aws-cdk-lib.cx_api.CloudFormationStackArtifact#name +aws-cdk-lib.cx_api.MetadataEntry +aws-cdk-lib.cx_api.MissingContext +aws-cdk-lib.cx_api.MissingContext#key +aws-cdk-lib.cx_api.MissingContext#props +aws-cdk-lib.cx_api.MissingContext#provider +aws-cdk-lib.cx_api.RuntimeInfo +aws-cdk-lib.pipelines.AddManualApprovalOptions +aws-cdk-lib.pipelines.AddManualApprovalOptions#actionName +aws-cdk-lib.pipelines.AddManualApprovalOptions#runOrder +aws-cdk-lib.pipelines.AddStackOptions +aws-cdk-lib.pipelines.AddStackOptions#executeRunOrder +aws-cdk-lib.pipelines.AddStackOptions#runOrder +aws-cdk-lib.pipelines.AddStageOptions +aws-cdk-lib.pipelines.AddStageOptions#extraRunOrderSpace +aws-cdk-lib.pipelines.AddStageOptions#manualApprovals +aws-cdk-lib.pipelines.AdditionalArtifact +aws-cdk-lib.pipelines.AdditionalArtifact#artifact +aws-cdk-lib.pipelines.AdditionalArtifact#directory +aws-cdk-lib.pipelines.AssetPublishingCommand +aws-cdk-lib.pipelines.AssetPublishingCommand#assetId +aws-cdk-lib.pipelines.AssetPublishingCommand#assetManifestPath +aws-cdk-lib.pipelines.AssetPublishingCommand#assetPublishingRoleArn +aws-cdk-lib.pipelines.AssetPublishingCommand#assetSelector +aws-cdk-lib.pipelines.AssetPublishingCommand#assetType +aws-cdk-lib.pipelines.BaseStageOptions +aws-cdk-lib.pipelines.BaseStageOptions#confirmBroadeningPermissions +aws-cdk-lib.pipelines.BaseStageOptions#securityNotificationTopic +aws-cdk-lib.pipelines.CdkPipeline +aws-cdk-lib.pipelines.CdkPipeline#addApplicationStage +aws-cdk-lib.pipelines.CdkPipeline#addStage +aws-cdk-lib.pipelines.CdkPipeline#codePipeline +aws-cdk-lib.pipelines.CdkPipeline#stackOutput +aws-cdk-lib.pipelines.CdkPipeline#stage +aws-cdk-lib.pipelines.CdkPipelineProps +aws-cdk-lib.pipelines.CdkPipelineProps#assetBuildSpec +aws-cdk-lib.pipelines.CdkPipelineProps#assetPreInstallCommands +aws-cdk-lib.pipelines.CdkPipelineProps#cdkCliVersion +aws-cdk-lib.pipelines.CdkPipelineProps#cloudAssemblyArtifact +aws-cdk-lib.pipelines.CdkPipelineProps#codePipeline +aws-cdk-lib.pipelines.CdkPipelineProps#crossAccountKeys +aws-cdk-lib.pipelines.CdkPipelineProps#dockerCredentials +aws-cdk-lib.pipelines.CdkPipelineProps#enableKeyRotation +aws-cdk-lib.pipelines.CdkPipelineProps#pipelineName +aws-cdk-lib.pipelines.CdkPipelineProps#selfMutating +aws-cdk-lib.pipelines.CdkPipelineProps#selfMutationBuildSpec +aws-cdk-lib.pipelines.CdkPipelineProps#singlePublisherPerType +aws-cdk-lib.pipelines.CdkPipelineProps#sourceAction +aws-cdk-lib.pipelines.CdkPipelineProps#subnetSelection +aws-cdk-lib.pipelines.CdkPipelineProps#supportDockerAssets +aws-cdk-lib.pipelines.CdkPipelineProps#synthAction +aws-cdk-lib.pipelines.CdkPipelineProps#vpc +aws-cdk-lib.pipelines.CdkStackActionFromArtifactOptions +aws-cdk-lib.pipelines.CdkStackActionFromArtifactOptions#stackName +aws-cdk-lib.pipelines.CdkStage +aws-cdk-lib.pipelines.CdkStage#addActions +aws-cdk-lib.pipelines.CdkStage#addApplication +aws-cdk-lib.pipelines.CdkStage#addManualApprovalAction +aws-cdk-lib.pipelines.CdkStage#addStackArtifactDeployment +aws-cdk-lib.pipelines.CdkStage#deploysStack +aws-cdk-lib.pipelines.CdkStage#nextSequentialRunOrder +aws-cdk-lib.pipelines.CdkStageProps +aws-cdk-lib.pipelines.CdkStageProps#cloudAssemblyArtifact +aws-cdk-lib.pipelines.CdkStageProps#confirmBroadeningPermissions +aws-cdk-lib.pipelines.CdkStageProps#host +aws-cdk-lib.pipelines.CdkStageProps#pipelineStage +aws-cdk-lib.pipelines.CdkStageProps#securityNotificationTopic +aws-cdk-lib.pipelines.CdkStageProps#stageName +aws-cdk-lib.pipelines.DeployCdkStackAction +aws-cdk-lib.pipelines.DeployCdkStackAction#actionProperties +aws-cdk-lib.pipelines.DeployCdkStackAction#bind +aws-cdk-lib.pipelines.DeployCdkStackAction#dependencyStackArtifactIds +aws-cdk-lib.pipelines.DeployCdkStackAction#executeRunOrder +aws-cdk-lib.pipelines.DeployCdkStackAction#fromStackArtifact +aws-cdk-lib.pipelines.DeployCdkStackAction#onStateChange +aws-cdk-lib.pipelines.DeployCdkStackAction#prepareRunOrder +aws-cdk-lib.pipelines.DeployCdkStackAction#stackArtifactId +aws-cdk-lib.pipelines.DeployCdkStackAction#stackName +aws-cdk-lib.pipelines.DeployCdkStackActionOptions +aws-cdk-lib.pipelines.DeployCdkStackActionOptions#baseActionName +aws-cdk-lib.pipelines.DeployCdkStackActionOptions#changeSetName +aws-cdk-lib.pipelines.DeployCdkStackActionOptions#cloudAssemblyInput +aws-cdk-lib.pipelines.DeployCdkStackActionOptions#executeRunOrder +aws-cdk-lib.pipelines.DeployCdkStackActionOptions#output +aws-cdk-lib.pipelines.DeployCdkStackActionOptions#outputFileName +aws-cdk-lib.pipelines.DeployCdkStackActionOptions#prepareRunOrder +aws-cdk-lib.pipelines.DeployCdkStackActionProps +aws-cdk-lib.pipelines.DeployCdkStackActionProps#actionRole +aws-cdk-lib.pipelines.DeployCdkStackActionProps#cloudFormationExecutionRole +aws-cdk-lib.pipelines.DeployCdkStackActionProps#dependencyStackArtifactIds +aws-cdk-lib.pipelines.DeployCdkStackActionProps#region +aws-cdk-lib.pipelines.DeployCdkStackActionProps#stackArtifactId +aws-cdk-lib.pipelines.DeployCdkStackActionProps#stackName +aws-cdk-lib.pipelines.DeployCdkStackActionProps#templateConfigurationPath +aws-cdk-lib.pipelines.DeployCdkStackActionProps#templatePath +aws-cdk-lib.pipelines.FromStackArtifactOptions +aws-cdk-lib.pipelines.FromStackArtifactOptions#cloudAssemblyInput +aws-cdk-lib.pipelines.FromStackArtifactOptions#executeRunOrder +aws-cdk-lib.pipelines.FromStackArtifactOptions#output +aws-cdk-lib.pipelines.FromStackArtifactOptions#outputFileName +aws-cdk-lib.pipelines.FromStackArtifactOptions#prepareRunOrder +aws-cdk-lib.pipelines.IStageHost +aws-cdk-lib.pipelines.IStageHost#publishAsset +aws-cdk-lib.pipelines.IStageHost#stackOutputArtifact +aws-cdk-lib.pipelines.PublishAssetsAction +aws-cdk-lib.pipelines.PublishAssetsAction#actionProperties +aws-cdk-lib.pipelines.PublishAssetsAction#addPublishCommand +aws-cdk-lib.pipelines.PublishAssetsAction#bind +aws-cdk-lib.pipelines.PublishAssetsAction#onStateChange +aws-cdk-lib.pipelines.PublishAssetsActionProps +aws-cdk-lib.pipelines.PublishAssetsActionProps#actionName +aws-cdk-lib.pipelines.PublishAssetsActionProps#assetType +aws-cdk-lib.pipelines.PublishAssetsActionProps#buildSpec +aws-cdk-lib.pipelines.PublishAssetsActionProps#cdkCliVersion +aws-cdk-lib.pipelines.PublishAssetsActionProps#cloudAssemblyInput +aws-cdk-lib.pipelines.PublishAssetsActionProps#createBuildspecFile +aws-cdk-lib.pipelines.PublishAssetsActionProps#dependable +aws-cdk-lib.pipelines.PublishAssetsActionProps#preInstallCommands +aws-cdk-lib.pipelines.PublishAssetsActionProps#projectName +aws-cdk-lib.pipelines.PublishAssetsActionProps#role +aws-cdk-lib.pipelines.PublishAssetsActionProps#subnetSelection +aws-cdk-lib.pipelines.PublishAssetsActionProps#vpc +aws-cdk-lib.pipelines.ShellScriptAction +aws-cdk-lib.pipelines.ShellScriptAction#actionProperties +aws-cdk-lib.pipelines.ShellScriptAction#bind +aws-cdk-lib.pipelines.ShellScriptAction#grantPrincipal +aws-cdk-lib.pipelines.ShellScriptAction#onStateChange +aws-cdk-lib.pipelines.ShellScriptAction#project +aws-cdk-lib.pipelines.ShellScriptActionProps +aws-cdk-lib.pipelines.ShellScriptActionProps#actionName +aws-cdk-lib.pipelines.ShellScriptActionProps#additionalArtifacts +aws-cdk-lib.pipelines.ShellScriptActionProps#bashOptions +aws-cdk-lib.pipelines.ShellScriptActionProps#commands +aws-cdk-lib.pipelines.ShellScriptActionProps#environment +aws-cdk-lib.pipelines.ShellScriptActionProps#environmentVariables +aws-cdk-lib.pipelines.ShellScriptActionProps#rolePolicyStatements +aws-cdk-lib.pipelines.ShellScriptActionProps#runOrder +aws-cdk-lib.pipelines.ShellScriptActionProps#securityGroups +aws-cdk-lib.pipelines.ShellScriptActionProps#subnetSelection +aws-cdk-lib.pipelines.ShellScriptActionProps#useOutputs +aws-cdk-lib.pipelines.ShellScriptActionProps#vpc +aws-cdk-lib.pipelines.SimpleSynthAction +aws-cdk-lib.pipelines.SimpleSynthAction#actionProperties +aws-cdk-lib.pipelines.SimpleSynthAction#bind +aws-cdk-lib.pipelines.SimpleSynthAction#grantPrincipal +aws-cdk-lib.pipelines.SimpleSynthAction#onStateChange +aws-cdk-lib.pipelines.SimpleSynthAction#project +aws-cdk-lib.pipelines.SimpleSynthAction#standardNpmSynth +aws-cdk-lib.pipelines.SimpleSynthAction#standardYarnSynth +aws-cdk-lib.pipelines.SimpleSynthActionProps +aws-cdk-lib.pipelines.SimpleSynthActionProps#buildCommand +aws-cdk-lib.pipelines.SimpleSynthActionProps#buildCommands +aws-cdk-lib.pipelines.SimpleSynthActionProps#installCommand +aws-cdk-lib.pipelines.SimpleSynthActionProps#installCommands +aws-cdk-lib.pipelines.SimpleSynthActionProps#synthCommand +aws-cdk-lib.pipelines.SimpleSynthActionProps#testCommands +aws-cdk-lib.pipelines.SimpleSynthOptions +aws-cdk-lib.pipelines.SimpleSynthOptions#actionName +aws-cdk-lib.pipelines.SimpleSynthOptions#additionalArtifacts +aws-cdk-lib.pipelines.SimpleSynthOptions#buildSpec +aws-cdk-lib.pipelines.SimpleSynthOptions#cloudAssemblyArtifact +aws-cdk-lib.pipelines.SimpleSynthOptions#copyEnvironmentVariables +aws-cdk-lib.pipelines.SimpleSynthOptions#environment +aws-cdk-lib.pipelines.SimpleSynthOptions#environmentVariables +aws-cdk-lib.pipelines.SimpleSynthOptions#projectName +aws-cdk-lib.pipelines.SimpleSynthOptions#rolePolicyStatements +aws-cdk-lib.pipelines.SimpleSynthOptions#sourceArtifact +aws-cdk-lib.pipelines.SimpleSynthOptions#subdirectory +aws-cdk-lib.pipelines.SimpleSynthOptions#subnetSelection +aws-cdk-lib.pipelines.SimpleSynthOptions#vpc +aws-cdk-lib.pipelines.StackOutput +aws-cdk-lib.pipelines.StackOutput#artifactFile +aws-cdk-lib.pipelines.StackOutput#outputName +aws-cdk-lib.pipelines.StandardNpmSynthOptions +aws-cdk-lib.pipelines.StandardNpmSynthOptions#buildCommand +aws-cdk-lib.pipelines.StandardNpmSynthOptions#installCommand +aws-cdk-lib.pipelines.StandardNpmSynthOptions#synthCommand +aws-cdk-lib.pipelines.StandardNpmSynthOptions#testCommands +aws-cdk-lib.pipelines.StandardYarnSynthOptions +aws-cdk-lib.pipelines.StandardYarnSynthOptions#buildCommand +aws-cdk-lib.pipelines.StandardYarnSynthOptions#installCommand +aws-cdk-lib.pipelines.StandardYarnSynthOptions#synthCommand +aws-cdk-lib.pipelines.StandardYarnSynthOptions#testCommands +aws-cdk-lib.pipelines.UpdatePipelineAction +aws-cdk-lib.pipelines.UpdatePipelineAction#actionProperties +aws-cdk-lib.pipelines.UpdatePipelineAction#bind +aws-cdk-lib.pipelines.UpdatePipelineAction#onStateChange +aws-cdk-lib.pipelines.UpdatePipelineActionProps +aws-cdk-lib.pipelines.UpdatePipelineActionProps#buildSpec +aws-cdk-lib.pipelines.UpdatePipelineActionProps#cdkCliVersion +aws-cdk-lib.pipelines.UpdatePipelineActionProps#cloudAssemblyInput +aws-cdk-lib.pipelines.UpdatePipelineActionProps#dockerCredentials +aws-cdk-lib.pipelines.UpdatePipelineActionProps#pipelineStackHierarchicalId +aws-cdk-lib.pipelines.UpdatePipelineActionProps#pipelineStackName +aws-cdk-lib.pipelines.UpdatePipelineActionProps#privileged +aws-cdk-lib.pipelines.UpdatePipelineActionProps#projectName diff --git a/lerna.json b/lerna.json index 81738d74fb433..b1a82a85715ab 100644 --- a/lerna.json +++ b/lerna.json @@ -10,7 +10,7 @@ "packages/@aws-cdk/*/lambda-packages/*", "tools/*", "tools/@aws-cdk/*", - "scripts/script-tests", + "scripts/@aws-cdk/script-tests", "packages/individual-packages/*" ], "rejectCycles": "true", diff --git a/package.json b/package.json index b100e63437b16..71341bad70c3c 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "include": "dependencies/node-version" }, "scripts": { - "pkglint": "lerna --scope @aws-cdk/pkglint run build && lerna run pkglint", + "pkglint": "lerna run build --scope @aws-cdk/pkglint --include-dependencies && lerna run pkglint", + "prebuild": "node ./scripts/check-yarn-lock.js", "build": "./build.sh", "pack": "./pack.sh", "compat": "./scripts/check-api-compatibility.sh", @@ -56,7 +57,7 @@ "release.json", "scripts/resolve-version.js", "scripts/resolve-version-lib.js", - "version.v1.json" + "version.v2.json" ], "cacheBucket": "nozem-artifacts-eu", "cacheBucketRegion": "eu-west-1" diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/environment.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/environment.ts index 85247062cde7b..5fae1c627bead 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/environment.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/environment.ts @@ -1,12 +1,8 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as ecs from '@aws-cdk/aws-ecs'; -import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { EnvironmentCapacityType } from './extensions/extension-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Settings for the environment where you want to deploy your services. */ @@ -98,7 +94,7 @@ export class Environment extends Construct implements IEnvironment { */ public readonly capacityType: EnvironmentCapacityType; - private readonly scope: cdk.Construct; + private readonly scope: Construct; constructor(scope: Construct, id: string, props?: EnvironmentProps) { super(scope, id); diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/appmesh.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/appmesh.ts index 14cd5aaecfdac..0e1df5fca95cb 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/appmesh.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/appmesh.ts @@ -5,14 +5,11 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; import * as regionInfo from '@aws-cdk/region-info'; +import { Construct } from 'constructs'; import { Service } from '../service'; import { Container } from './container'; import { ServiceExtension, ServiceBuild } from './extension-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - // The version of the App Mesh envoy sidecar to add to the task. const APP_MESH_ENVOY_SIDECAR_VERSION = 'v1.15.1.0-prod'; diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/assign-public-ip.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/assign-public-ip.ts index 3c019d44867b4..b7501385373b6 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/assign-public-ip.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/assign-public-ip.ts @@ -1,15 +1,12 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as ecs from '@aws-cdk/aws-ecs'; import * as route53 from '@aws-cdk/aws-route53'; +import { Construct } from 'constructs'; import { Service } from '../../service'; import { Container } from '../container'; import { ServiceExtension, ServiceBuild, EnvironmentCapacityType } from '../extension-interfaces'; import { TaskRecordManager } from './task-record-manager'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export interface AssignPublicIpExtensionOptions { /** * Enable publishing task public IPs to a recordset in a Route 53 hosted zone. diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/task-record-manager.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/task-record-manager.ts index 67db42400ee5b..dd0bd0718d2e9 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/task-record-manager.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/assign-public-ip/task-record-manager.ts @@ -10,10 +10,7 @@ import * as route53 from '@aws-cdk/aws-route53'; import * as sqs from '@aws-cdk/aws-sqs'; import * as cdk from '@aws-cdk/core'; import * as customresources from '@aws-cdk/custom-resources'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface TaskRecordManagerProps { service: ecs.Ec2Service | ecs.FargateService; diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/cloudwatch-agent.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/cloudwatch-agent.ts index 9096b43aabd3a..5ca7106cfa968 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/cloudwatch-agent.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/cloudwatch-agent.ts @@ -1,12 +1,9 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as iam from '@aws-cdk/aws-iam'; +import { Construct } from 'constructs'; import { Service } from '../service'; import { ServiceExtension } from './extension-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - const CLOUDWATCH_AGENT_IMAGE = 'amazon/cloudwatch-agent:latest'; /** diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/container.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/container.ts index 2711108e4f0ff..ee4eee5d99327 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/container.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/container.ts @@ -2,13 +2,10 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as awslogs from '@aws-cdk/aws-logs'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; +import { Construct, Node } from 'constructs'; import { Service } from '../service'; import { ServiceExtension } from './extension-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Setting for the main application container of a service. */ @@ -112,7 +109,7 @@ export class Container extends ServiceExtension { // If no observability extensions have been added to the service description then we can configure the `awslogs` log driver if (!containerProps.logging) { // Create a log group for the service if one is not provided by the user (only if feature flag is set) - if (!this.logGroup && this.parentService.node.tryGetContext(cxapi.ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER)) { + if (!this.logGroup && Node.of(this.parentService).tryGetContext(cxapi.ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER)) { this.logGroup = new awslogs.LogGroup(this.scope, `${this.parentService.id}-logs`, { logGroupName: `${this.parentService.id}-logs`, removalPolicy: cdk.RemovalPolicy.DESTROY, diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/extension-interfaces.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/extension-interfaces.ts index 8945958ce83fb..6f7b747e6d4de 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/extension-interfaces.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/extension-interfaces.ts @@ -1,10 +1,7 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as cdk from '@aws-cdk/core'; import { Service, ConnectToProps } from '../service'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The types of capacity that are supported. These capacity types may change the @@ -115,7 +112,7 @@ export abstract class ServiceExtension { * the extension is told what Service it is now working on. */ protected parentService!: Service; - protected scope!: cdk.Construct; + protected scope!: Construct; // A list of other extensions which want to mutate the // container definition for this extension. diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/firelens.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/firelens.ts index 2e5f31c7af3d2..d0684edeac474 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/firelens.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/firelens.ts @@ -1,14 +1,11 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as awslogs from '@aws-cdk/aws-logs'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { Service } from '../service'; import { Container } from './container'; import { ContainerMutatingHook, ServiceExtension } from './extension-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Settings for the hook which mutates the application container * to route logs through FireLens. diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/http-load-balancer.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/http-load-balancer.ts index 6db6a6c9616d4..89787447d681a 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/http-load-balancer.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/http-load-balancer.ts @@ -1,19 +1,17 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as alb from '@aws-cdk/aws-elasticloadbalancingv2'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { Service } from '../service'; import { ServiceExtension, ServiceBuild } from './extension-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export interface HttpLoadBalancerProps { /** * The number of ALB requests per target. */ readonly requestsPerTarget?: number; } + /** * This extension add a public facing load balancer for sending traffic * to one or more replicas of the application container. diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/injecter.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/injecter.ts index b7c224f52d9f7..9b3c83bb81b2c 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/injecter.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/injecter.ts @@ -6,7 +6,7 @@ import { ContainerMutatingHook, ServiceExtension } from './extension-interfaces' // Keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * An interface that will be implemented by all the resources that can be published events or written data to. @@ -151,4 +151,4 @@ export class InjecterExtension extends ServiceExtension { } } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/queue/queue.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/queue/queue.ts index bda38fb81c355..8fff61170176d 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/queue/queue.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/queue/queue.ts @@ -10,14 +10,11 @@ import * as sns from '@aws-cdk/aws-sns'; import * as subscription from '@aws-cdk/aws-sns-subscriptions'; import * as sqs from '@aws-cdk/aws-sqs'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { Service } from '../../service'; import { Container } from '../container'; import { ContainerMutatingHook, ServiceExtension } from '../extension-interfaces'; -// Keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * An interface that will be implemented by all the resources that can be subscribed to. */ @@ -415,4 +412,4 @@ export class QueueExtension extends ServiceExtension { public get autoscalingOptions() : QueueAutoScalingOptions | undefined { return this._autoscalingOptions; } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/xray.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/xray.ts index 6b902a8c004d8..1950360b2e17c 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/xray.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/xray.ts @@ -1,13 +1,10 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { Service } from '../service'; import { ServiceExtension } from './extension-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - const XRAY_DAEMON_IMAGE = 'amazon/aws-xray-daemon:latest'; /** diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/lib/service.ts b/packages/@aws-cdk-containers/ecs-service-extensions/lib/service.ts index c90c59edaea31..f904b23fe863a 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/lib/service.ts +++ b/packages/@aws-cdk-containers/ecs-service-extensions/lib/service.ts @@ -1,14 +1,13 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as ecs from '@aws-cdk/aws-ecs'; import * as iam from '@aws-cdk/aws-iam'; -import * as cdk from '@aws-cdk/core'; import { IEnvironment } from './environment'; import { EnvironmentCapacityType, ServiceBuild } from './extensions/extension-interfaces'; import { ServiceDescription } from './service-description'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * connectToProps will have all the extra parameters which are required for connecting services. @@ -149,7 +148,7 @@ export class Service extends Construct { */ private urls: Record = {}; - private readonly scope: cdk.Construct; + private readonly scope: Construct; constructor(scope: Construct, id: string, props: ServiceProps) { super(scope, id); diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/package.json b/packages/@aws-cdk-containers/ecs-service-extensions/package.json index cfd3fbc2c06d7..dcacdbe97cb13 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/package.json +++ b/packages/@aws-cdk-containers/ecs-service-extensions/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk-containers/ecs-service-extensions", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library that helps you build ECS services using simple extensions", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -72,7 +73,7 @@ "@aws-cdk/custom-resources": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -101,10 +102,10 @@ "@aws-cdk/custom-resources": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awscdkio": { "announce": false diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..b1b0c1fcfeef9 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9220951fe280727c8695ca9cd06f929712e6c44319ad69591a87f7ce6a931b6b": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9220951fe280727c8695ca9cd06f929712e6c44319ad69591a87f7ce6a931b6b.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/tree.json index 4a90a3789d527..54b2765100c5e 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/tree.json +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -45,8 +45,8 @@ "id": "production", "path": "aws-ecs-integ/production", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "production-environment-vpc": { @@ -745,8 +745,8 @@ "id": "name", "path": "aws-ecs-integ/name", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "name-logs": { @@ -817,7 +817,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -855,19 +855,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1195,8 +1195,8 @@ "id": "app", "path": "aws-ecs-integ/name-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "envoy": { @@ -1227,8 +1227,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ExecutionRole": { @@ -1256,7 +1256,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -1361,19 +1361,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1405,8 +1405,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "xray": { @@ -1437,8 +1437,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cloudwatch-agent": { @@ -1469,8 +1469,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1491,7 +1491,7 @@ "id": "name-envoy-repo", "path": "aws-ecs-integ/name-envoy-repo", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-ecr.RepositoryBase", "version": "0.0.0" } }, @@ -1526,13 +1526,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -1581,13 +1581,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -1826,7 +1826,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalableTarget", "version": "0.0.0" } }, @@ -1856,25 +1856,25 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.TargetTrackingScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-applicationautoscaling.ScalableTarget", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.BaseScalableAttribute", "version": "0.0.0" } } @@ -2077,8 +2077,8 @@ "id": "greeting", "path": "aws-ecs-integ/greeting", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "greeting-logs": { @@ -2149,7 +2149,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -2187,19 +2187,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -2527,8 +2527,8 @@ "id": "app", "path": "aws-ecs-integ/greeting-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "envoy": { @@ -2559,8 +2559,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ExecutionRole": { @@ -2588,7 +2588,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -2693,19 +2693,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -2737,8 +2737,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "xray": { @@ -2769,8 +2769,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cloudwatch-agent": { @@ -2801,8 +2801,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2823,7 +2823,7 @@ "id": "greeting-envoy-repo", "path": "aws-ecs-integ/greeting-envoy-repo", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-ecr.RepositoryBase", "version": "0.0.0" } }, @@ -2858,13 +2858,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -2897,13 +2897,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -3142,7 +3142,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalableTarget", "version": "0.0.0" } }, @@ -3172,25 +3172,25 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.TargetTrackingScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-applicationautoscaling.ScalableTarget", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.BaseScalableAttribute", "version": "0.0.0" } } @@ -3393,8 +3393,8 @@ "id": "greeter", "path": "aws-ecs-integ/greeter", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "greeter-logs": { @@ -3593,8 +3593,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -3660,7 +3660,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -3698,19 +3698,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -4046,8 +4046,8 @@ "id": "app", "path": "aws-ecs-integ/greeter-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "envoy": { @@ -4078,8 +4078,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ExecutionRole": { @@ -4107,7 +4107,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -4212,19 +4212,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -4256,8 +4256,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "xray": { @@ -4288,8 +4288,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cloudwatch-agent": { @@ -4320,8 +4320,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -4342,7 +4342,7 @@ "id": "greeter-envoy-repo", "path": "aws-ecs-integ/greeter-envoy-repo", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-ecr.RepositoryBase", "version": "0.0.0" } }, @@ -4377,13 +4377,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -4416,13 +4416,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -4671,7 +4671,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalableTarget", "version": "0.0.0" } }, @@ -4701,25 +4701,25 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.TargetTrackingScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-applicationautoscaling.ScalableTarget", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.BaseScalableAttribute", "version": "0.0.0" } } diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..ff5fa72135c29 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,58 @@ +{ + "version": "17.0.0", + "files": { + "8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d": { + "source": { + "path": "asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "80aa78a4817ba118f8e03b489e7276a0100cd9dae8b7dd32db16e53b45d438b4": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "80aa78a4817ba118f8e03b489e7276a0100cd9dae8b7dd32db16e53b45d438b4.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json index 16456b862e512..5546575e1e577 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -385,8 +385,8 @@ "id": "production", "path": "aws-ecs-integ/production", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "production-environment-cluster": { @@ -415,8 +415,8 @@ "id": "name", "path": "aws-ecs-integ/name", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "name-task-definition": { @@ -448,13 +448,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -535,7 +535,114 @@ "id": "app", "path": "aws-ecs-integ/name-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "constructs.Construct", + "version": "10.0.9" + } + }, + "ExecutionRole": { + "id": "ExecutionRole", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "namelogsF4B17D31", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "nametaskdefinitionExecutionRoleDefaultPolicyF7942D20", + "roles": [ + { + "Ref": "nametaskdefinitionExecutionRole45AC5C9A" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-logs": { + "id": "name-logs", + "path": "aws-ecs-integ/name-logs", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-logs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": "name-logs", + "retentionInDays": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" } }, @@ -987,13 +1094,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-events.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-events.Rule", "version": "0.0.0" } }, @@ -1046,13 +1153,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-events.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-events.Rule", "version": "0.0.0" } }, @@ -1099,7 +1206,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -1198,19 +1305,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1236,8 +1343,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Resource": { @@ -1405,7 +1512,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -1455,19 +1562,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1584,7 +1691,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -1638,19 +1745,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1676,8 +1783,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Resource": { @@ -1759,8 +1866,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Cleanup": { @@ -1827,13 +1934,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -1857,14 +1964,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1907,8 +2014,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -1941,8 +2048,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { @@ -1975,14 +2082,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AWS679f53fac002430cb0da5b7982bd2287": { @@ -2028,13 +2135,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -2060,8 +2167,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Resource": { diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..8fbdbb4adf742 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "da207e9dd43fc04f693e92d8fab0012f92f17a79672e8aa8cf9f1466131b14ca": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "da207e9dd43fc04f693e92d8fab0012f92f17a79672e8aa8cf9f1466131b14ca.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json index 1471749cc095f..8dac1c072cfc1 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -20,8 +20,8 @@ "id": "production", "path": "aws-ecs-integ/production", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "production-environment-vpc": { @@ -693,8 +693,8 @@ "id": "name", "path": "aws-ecs-integ/name", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "name-task-definition": { @@ -726,13 +726,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -813,7 +813,114 @@ "id": "app", "path": "aws-ecs-integ/name-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "constructs.Construct", + "version": "10.0.9" + } + }, + "ExecutionRole": { + "id": "ExecutionRole", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "namelogsF4B17D31", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "nametaskdefinitionExecutionRoleDefaultPolicyF7942D20", + "roles": [ + { + "Ref": "nametaskdefinitionExecutionRole45AC5C9A" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-logs": { + "id": "name-logs", + "path": "aws-ecs-integ/name-logs", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-logs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": "name-logs", + "retentionInDays": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" } }, @@ -1078,7 +1185,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalableTarget", "version": "0.0.0" } }, @@ -1108,25 +1215,25 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.TargetTrackingScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-applicationautoscaling.ScalableTarget", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.BaseScalableAttribute", "version": "0.0.0" } } diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/imported-environment-integ.assets.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/imported-environment-integ.assets.json new file mode 100644 index 0000000000000..0ea5cec6feccc --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/imported-environment-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01": { + "source": { + "path": "importedenvironmentintegResourcesAB23EBEF.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7fe9c99c1005b092d9fa9efe78ab85333dfa158c59b57e1044f1ceba138ba46e": { + "source": { + "path": "imported-environment-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7fe9c99c1005b092d9fa9efe78ab85333dfa158c59b57e1044f1ceba138ba46e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json index 3efa7bd64a497..4e7b1a30254dc 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "imported-environment-integ": { @@ -24,8 +24,8 @@ "id": "Environment", "path": "imported-environment-integ/Resources/Environment", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Environment-environment-vpc": { @@ -812,8 +812,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Vpc": { @@ -870,16 +870,16 @@ "id": "Environment", "path": "imported-environment-integ/Environment", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Service": { "id": "Service", "path": "imported-environment-integ/Service", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Service-load-balancer": { @@ -1065,8 +1065,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1118,13 +1118,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1205,7 +1205,114 @@ "id": "app", "path": "imported-environment-integ/Service-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "constructs.Construct", + "version": "10.0.9" + } + }, + "ExecutionRole": { + "id": "ExecutionRole", + "path": "imported-environment-integ/Service-task-definition/ExecutionRole", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-task-definition/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "imported-environment-integ/Service-task-definition/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-task-definition/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "Servicelogs9F4E1F70", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "ServicetaskdefinitionExecutionRoleDefaultPolicy25CEAFC5", + "roles": [ + { + "Ref": "ServicetaskdefinitionExecutionRoleD09F4578" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Service-logs": { + "id": "Service-logs", + "path": "imported-environment-integ/Service-logs", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-logs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": "Service-logs", + "retentionInDays": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" } }, @@ -1498,14 +1605,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..e88c3ce8e5872 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "12bfd1242b20ec1c66f02c6c9c6c3894afea24bb6f2764d906fd07be57f154f6": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "12bfd1242b20ec1c66f02c6c9c6c3894afea24bb6f2764d906fd07be57f154f6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json index 62c69ee90bdc2..9617c2ccdac9b 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -20,8 +20,8 @@ "id": "production", "path": "aws-ecs-integ/production", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "production-environment-vpc": { @@ -720,8 +720,8 @@ "id": "development", "path": "aws-ecs-integ/development", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "development-environment-vpc": { @@ -1470,8 +1470,8 @@ "id": "name-production", "path": "aws-ecs-integ/name-production", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "name-production-task-definition": { @@ -1503,13 +1503,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1720,8 +1720,8 @@ "id": "app", "path": "aws-ecs-integ/name-production-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ExecutionRole": { @@ -1749,7 +1749,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -1836,6 +1836,38 @@ ] } }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "envoy": { + "id": "envoy", + "path": "aws-ecs-integ/name-production-task-definition/envoy", + "children": { + "LogGroup": { + "id": "LogGroup", + "path": "aws-ecs-integ/name-production-task-definition/envoy/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-task-definition/envoy/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": {} + }, "constructInfo": { "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" @@ -1849,7 +1881,32 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "constructs.Construct", + "version": "10.0.9" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production-logs": { + "id": "name-production-logs", + "path": "aws-ecs-integ/name-production-logs", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-logs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": "name-production-logs", + "retentionInDays": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" } }, @@ -1928,7 +1985,7 @@ "id": "name-production-envoy-repo", "path": "aws-ecs-integ/name-production-envoy-repo", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-ecr.RepositoryBase", "version": "0.0.0" } }, @@ -1963,13 +2020,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -2315,8 +2372,8 @@ "id": "name-development", "path": "aws-ecs-integ/name-development", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "name-development-task-definition": { @@ -2348,13 +2405,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -2565,8 +2622,8 @@ "id": "app", "path": "aws-ecs-integ/name-development-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ExecutionRole": { @@ -2594,7 +2651,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -2681,6 +2738,38 @@ ] } }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "envoy": { + "id": "envoy", + "path": "aws-ecs-integ/name-development-task-definition/envoy", + "children": { + "LogGroup": { + "id": "LogGroup", + "path": "aws-ecs-integ/name-development-task-definition/envoy/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-task-definition/envoy/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": {} + }, "constructInfo": { "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" @@ -2694,7 +2783,32 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "constructs.Construct", + "version": "10.0.9" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development-logs": { + "id": "name-development-logs", + "path": "aws-ecs-integ/name-development-logs", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-logs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": "name-development-logs", + "retentionInDays": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" } }, @@ -2773,7 +2887,7 @@ "id": "name-development-envoy-repo", "path": "aws-ecs-integ/name-development-envoy-repo", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-ecr.RepositoryBase", "version": "0.0.0" } }, @@ -2808,13 +2922,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } }, @@ -3168,4 +3282,4 @@ "version": "0.0.0" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..05e8273eaa573 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91": { + "source": { + "path": "asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "ee7645eb16d4d63b81eea89c7401a2ca0d579956f1d0d1045ffa5f5cde925e42": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ee7645eb16d4d63b81eea89c7401a2ca0d579956f1d0d1045ffa5f5cde925e42.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json index ac7c70fcb22e3..2dee368ae8837 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -20,8 +20,8 @@ "id": "production", "path": "aws-ecs-integ/production", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "production-environment-vpc": { @@ -737,8 +737,8 @@ "id": "Publisher", "path": "aws-ecs-integ/Publisher", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Publisher-task-definition": { @@ -770,7 +770,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -810,19 +810,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -915,7 +915,114 @@ "id": "app", "path": "aws-ecs-integ/Publisher-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "constructs.Construct", + "version": "10.0.9" + } + }, + "ExecutionRole": { + "id": "ExecutionRole", + "path": "aws-ecs-integ/Publisher-task-definition/ExecutionRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Publisher-task-definition/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/Publisher-task-definition/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Publisher-task-definition/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "PublisherlogsDF0C1067", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "PublishertaskdefinitionExecutionRoleDefaultPolicy681FD8E6", + "roles": [ + { + "Ref": "PublishertaskdefinitionExecutionRole5C00C542" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Publisher-logs": { + "id": "Publisher-logs", + "path": "aws-ecs-integ/Publisher-logs", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Publisher-logs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": "Publisher-logs", + "retentionInDays": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" } }, @@ -1235,8 +1342,8 @@ "id": "Worker", "path": "aws-ecs-integ/Worker", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsDeadLetterQueue": { @@ -1410,7 +1517,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -1462,19 +1569,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -1561,7 +1668,114 @@ "id": "app", "path": "aws-ecs-integ/Worker-task-definition/app", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "constructs.Construct", + "version": "10.0.9" + } + }, + "ExecutionRole": { + "id": "ExecutionRole", + "path": "aws-ecs-integ/Worker-task-definition/ExecutionRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-task-definition/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/Worker-task-definition/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-task-definition/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "Workerlogs2994AC4D", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "WorkertaskdefinitionExecutionRoleDefaultPolicy6E199B19", + "roles": [ + { + "Ref": "WorkertaskdefinitionExecutionRole3C1A1848" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Worker-logs": { + "id": "Worker-logs", + "path": "aws-ecs-integ/Worker-logs", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-logs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": "Worker-logs", + "retentionInDays": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", "version": "0.0.0" } }, @@ -1825,7 +2039,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalableTarget", "version": "0.0.0" } }, @@ -1867,13 +2081,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.TargetTrackingScalingPolicy", "version": "0.0.0" } }, @@ -1915,25 +2129,25 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-applicationautoscaling.CfnScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.TargetTrackingScalingPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-applicationautoscaling.ScalableTarget", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", + "fqn": "@aws-cdk/aws-applicationautoscaling.BaseScalableAttribute", "version": "0.0.0" } } @@ -1986,7 +2200,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnRole", "version": "0.0.0" } }, @@ -2052,19 +2266,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-iam.Role", "version": "0.0.0" } }, @@ -2090,8 +2304,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Resource": { @@ -2227,14 +2441,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BacklogPerTaskScheduledRule": { @@ -2263,7 +2477,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "@aws-cdk/aws-events.CfnRule", "version": "0.0.0" } }, @@ -2296,7 +2510,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "@aws-cdk/aws-events.Rule", "version": "0.0.0" } }, diff --git a/packages/@aws-cdk/alexa-ask/package.json b/packages/@aws-cdk/alexa-ask/package.json index 30d7ee7728d77..d02ec5e5a200c 100644 --- a/packages/@aws-cdk/alexa-ask/package.json +++ b/packages/@aws-cdk/alexa-ask/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/alexa-ask", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for Alexa::ASK", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.alexa_ask", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/app-delivery/lib/pipeline-deploy-stack-action.ts b/packages/@aws-cdk/app-delivery/lib/pipeline-deploy-stack-action.ts index cd7f97e6629a1..047c006e5dff1 100644 --- a/packages/@aws-cdk/app-delivery/lib/pipeline-deploy-stack-action.ts +++ b/packages/@aws-cdk/app-delivery/lib/pipeline-deploy-stack-action.ts @@ -5,10 +5,7 @@ import * as events from '@aws-cdk/aws-events'; import * as iam from '@aws-cdk/aws-iam'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import * as cdk from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface PipelineDeployStackActionProps { /** diff --git a/packages/@aws-cdk/app-delivery/package.json b/packages/@aws-cdk/app-delivery/package.json index bf28696218af3..d2ebd50f0b182 100644 --- a/packages/@aws-cdk/app-delivery/package.json +++ b/packages/@aws-cdk/app-delivery/package.json @@ -2,6 +2,7 @@ "name": "@aws-cdk/app-delivery", "description": "Continuous Integration / Continuous Delivery for CDK Applications", "deprecated": "Use the @aws-cdk/pipelines module instead", + "private": true, "version": "0.0.0", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.app_delivery", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -64,7 +65,7 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "devDependencies": { "@aws-cdk/assertions": "0.0.0", @@ -102,10 +103,10 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "deprecated", "maturity": "deprecated", @@ -125,6 +126,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/app-delivery/test/cicd.integ.snapshot/CICD.assets.json b/packages/@aws-cdk/app-delivery/test/cicd.integ.snapshot/CICD.assets.json new file mode 100644 index 0000000000000..29478d7ac5c0b --- /dev/null +++ b/packages/@aws-cdk/app-delivery/test/cicd.integ.snapshot/CICD.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "df2531bee6d1a5c15a480c358ebc18e306c13a2c9e3ee55d1116b6ef3c327f34": { + "source": { + "path": "CICD.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "df2531bee6d1a5c15a480c358ebc18e306c13a2c9e3ee55d1116b6ef3c327f34.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/app-delivery/test/cicd.integ.snapshot/tree.json b/packages/@aws-cdk/app-delivery/test/cicd.integ.snapshot/tree.json index 764ba76899014..255357a732a6d 100644 --- a/packages/@aws-cdk/app-delivery/test/cicd.integ.snapshot/tree.json +++ b/packages/@aws-cdk/app-delivery/test/cicd.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "CICD": { @@ -287,14 +287,14 @@ "id": "GitHub", "path": "CICD/CodePipeline/Source/GitHub", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -353,8 +353,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "CICD/CodePipeline/Deploy/Execute/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -432,8 +432,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ChangeSet": { @@ -488,8 +488,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "CICD/CodePipeline/Deploy/ChangeSet/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -707,14 +707,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/assert-internal/lib/synth-utils.ts b/packages/@aws-cdk/assert-internal/lib/synth-utils.ts index d8dc73aff881a..a7968b013e7cc 100644 --- a/packages/@aws-cdk/assert-internal/lib/synth-utils.ts +++ b/packages/@aws-cdk/assert-internal/lib/synth-utils.ts @@ -7,16 +7,16 @@ export class SynthUtils { /** * Returns the cloud assembly template artifact for a stack. */ - public static synthesize(stack: core.Stack, options: core.SynthesisOptions = { }): cxapi.CloudFormationStackArtifact { + public static synthesize(stack: core.Stack, options: core.StageSynthesisOptions = { }): cxapi.CloudFormationStackArtifact { // always synthesize against the root (be it an App or whatever) so all artifacts will be included const assembly = synthesizeApp(stack, options); - return assembly.getStackArtifact(stack.artifactId); + return stripNewStyleSynthCfnElements(assembly.getStackArtifact(stack.artifactId)); } /** * Synthesizes the stack and returns the resulting CloudFormation template. */ - public static toCloudFormation(stack: core.Stack, options: core.SynthesisOptions = { }): any { + public static toCloudFormation(stack: core.Stack, options: core.StageSynthesisOptions = { }): any { const synth = this._synthesizeWithNested(stack, options); if (isStackArtifact(synth)) { return synth.template; @@ -48,7 +48,7 @@ export class SynthUtils { * @return CloudFormationStackArtifact for normal stacks or the actual template for nested stacks * @internal */ - public static _synthesizeWithNested(stack: core.Stack, options: core.SynthesisOptions = { }): cxapi.CloudFormationStackArtifact | object { + public static _synthesizeWithNested(stack: core.Stack, options: core.StageSynthesisOptions = { }): cxapi.CloudFormationStackArtifact | object { // always synthesize against the root (be it an App or whatever) so all artifacts will be included const assembly = synthesizeApp(stack, options); @@ -57,14 +57,14 @@ export class SynthUtils { return JSON.parse(fs.readFileSync(path.join(assembly.directory, stack.templateFile)).toString('utf-8')); } - return assembly.getStackArtifact(stack.artifactId); + return stripNewStyleSynthCfnElements(assembly.getStackArtifact(stack.artifactId)); } } /** * Synthesizes the app in which a stack resides and returns the cloud assembly object. */ -function synthesizeApp(stack: core.Stack, options: core.SynthesisOptions) { +function synthesizeApp(stack: core.Stack, options: core.StageSynthesisOptions): cxapi.CloudAssembly { const root = stack.node.root; if (!core.Stage.isStage(root)) { throw new Error('unexpected: all stacks must be part of a Stage or an App'); @@ -79,6 +79,23 @@ function synthesizeApp(stack: core.Stack, options: core.SynthesisOptions) { }); } +function stripNewStyleSynthCfnElements(stackArtifact: cxapi.CloudFormationStackArtifact): cxapi.CloudFormationStackArtifact { + const synthesizedTemplate = stackArtifact.template; + + // if new-style synthesis is not explicitly set, remove the extra generated Rule and Parameter from the synthesized template, + // to avoid changing many tests that rely on the template being exactly what it is + delete synthesizedTemplate?.Rules?.CheckBootstrapVersion; + if (Object.keys(synthesizedTemplate?.Rules ?? {}).length === 0) { + delete synthesizedTemplate?.Rules; + } + delete synthesizedTemplate?.Parameters?.BootstrapVersion; + if (Object.keys(synthesizedTemplate?.Parameters ?? {}).length === 0) { + delete synthesizedTemplate?.Parameters; + } + + return stackArtifact; +} + export interface SubsetOptions { /** * Match all resources of the given type diff --git a/packages/@aws-cdk/assert-internal/package.json b/packages/@aws-cdk/assert-internal/package.json index db7fe8500d473..5bd75c99d3e8e 100644 --- a/packages/@aws-cdk/assert-internal/package.json +++ b/packages/@aws-cdk/assert-internal/package.json @@ -35,12 +35,12 @@ "@aws-cdk/cloudformation-diff": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69", - "jest": "^27.5.1" + "jest": "^27.5.1", + "constructs": "^10.0.0" }, "repository": { "url": "https://github.com/aws/aws-cdk.git", @@ -53,7 +53,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "deprecated", "maturity": "deprecated", diff --git a/packages/@aws-cdk/assert-internal/test/assertions.test.ts b/packages/@aws-cdk/assert-internal/test/assertions.test.ts index bd20d60032d76..6854aa59a51d5 100644 --- a/packages/@aws-cdk/assert-internal/test/assertions.test.ts +++ b/packages/@aws-cdk/assert-internal/test/assertions.test.ts @@ -320,7 +320,7 @@ function failingExample(title: string, cb: () => void) { } function synthesizedStack(fn: (stack: cdk.Stack) => void): cx.CloudFormationStackArtifact { - const app = new cdk.App(); + const app = new cdk.App({ context: { [cx.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'TestStack'); fn(stack); diff --git a/packages/@aws-cdk/assert/package.json b/packages/@aws-cdk/assert/package.json index 569602948d4c8..ac208460302e5 100644 --- a/packages/@aws-cdk/assert/package.json +++ b/packages/@aws-cdk/assert/package.json @@ -38,20 +38,18 @@ "@aws-cdk/cdk-build-tools": "0.0.0", "@aws-cdk/pkglint": "0.0.0", "@types/jest": "^27.5.0", + "aws-cdk-lib": "0.0.0", "aws-cdk-migration": "0.0.0", - "constructs": "^3.3.69", + "constructs": "^10.0.0", "jest": "^27.3.1", "ts-jest": "^27.1.4" }, "dependencies": { - "@aws-cdk/cloudformation-diff": "0.0.0", - "@aws-cdk/core": "0.0.0", - "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cloudformation-diff": "0.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69", + "aws-cdk-lib": "^0.0.0", + "constructs": "^10.0.0", "jest": ">=26.6.3" }, "repository": { @@ -65,7 +63,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "ubergen": { "exclude": true @@ -74,6 +72,6 @@ "stability": "deprecated", "maturity": "deprecated", "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/@aws-cdk/assertions/package.json b/packages/@aws-cdk/assertions/package.json index 4de6a5b604427..43d20e7971a13 100644 --- a/packages/@aws-cdk/assertions/package.json +++ b/packages/@aws-cdk/assertions/package.json @@ -47,7 +47,7 @@ "module": "aws_cdk.assertions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -71,22 +71,22 @@ "@aws-cdk/pkglint": "0.0.0", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.5.0", - "constructs": "^3.3.69", "jest": "^27.5.1", + "constructs": "^10.0.0", "ts-jest": "^27.1.4" }, "dependencies": { "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69", + "constructs": "^10.0.0", "fs-extra": "^9.1.0" }, "peerDependencies": { "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "bundledDependencies": [ "fs-extra" @@ -103,14 +103,15 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", "publishConfig": { - "tag": "latest" + "tag": "next" }, "awscdkio": { "announce": false - } + }, + "private": true } diff --git a/packages/@aws-cdk/assertions/rosetta/default.ts-fixture b/packages/@aws-cdk/assertions/rosetta/default.ts-fixture index 32d751f8c38fe..5a04dc9a1076c 100644 --- a/packages/@aws-cdk/assertions/rosetta/default.ts-fixture +++ b/packages/@aws-cdk/assertions/rosetta/default.ts-fixture @@ -1,4 +1,3 @@ -// Fixture with packages imported, but nothing else import { Construct } from 'constructs'; import { Aspects, CfnResource, Stack } from '@aws-cdk/core'; import { Annotations, Capture, Match, Template } from '@aws-cdk/assertions'; diff --git a/packages/@aws-cdk/assertions/test/template.test.ts b/packages/@aws-cdk/assertions/test/template.test.ts index c98236401b5f6..c298f75cec161 100644 --- a/packages/@aws-cdk/assertions/test/template.test.ts +++ b/packages/@aws-cdk/assertions/test/template.test.ts @@ -1,4 +1,4 @@ -import { App, CfnCondition, CfnMapping, CfnOutput, CfnParameter, CfnResource, Fn, NestedStack, Stack } from '@aws-cdk/core'; +import { App, CfnCondition, CfnMapping, CfnOutput, CfnParameter, CfnResource, Fn, LegacyStackSynthesizer, NestedStack, Stack } from '@aws-cdk/core'; import { Construct } from 'constructs'; import { Capture, Match, Template } from '../lib'; @@ -126,7 +126,10 @@ describe('Template', () => { describe('templateMatches', () => { test('matches', () => { - const stack = new Stack(); + const app = new App(); + const stack = new Stack(app, 'Stack', { + synthesizer: new LegacyStackSynthesizer(), + }); new CfnResource(stack, 'Foo', { type: 'Foo::Bar', properties: { baz: 'qux' }, @@ -811,7 +814,8 @@ describe('Template', () => { expectToThrow( () => inspect.hasParameter('*', { Type: 'CommaDelimitedList' }), [ - /2 parameters/, + // Third parameter is automatically included as part of DefaultSynthesizer + /3 parameters/, /Expected CommaDelimitedList but received String/, ], done, @@ -1137,4 +1141,4 @@ function expectToThrow(fn: () => void, msgs: (RegExp | string)[], done: jest.Don ].join('\n')); } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/assets/lib/staging.ts b/packages/@aws-cdk/assets/lib/staging.ts index fe573ce442fdc..1781ba6ccd808 100644 --- a/packages/@aws-cdk/assets/lib/staging.ts +++ b/packages/@aws-cdk/assets/lib/staging.ts @@ -4,7 +4,7 @@ import { FingerprintOptions } from './fs/options'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Deprecated diff --git a/packages/@aws-cdk/assets/package.json b/packages/@aws-cdk/assets/package.json index fb7a4dca30e40..a3909693093e0 100644 --- a/packages/@aws-cdk/assets/package.json +++ b/packages/@aws-cdk/assets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/assets", "version": "0.0.0", + "private": true, "description": "This module is deprecated. All types are now available under the core module", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.assets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,16 +91,16 @@ "dependencies": { "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "deprecated", "maturity": "deprecated", diff --git a/packages/@aws-cdk/assets/test/staging.test.ts b/packages/@aws-cdk/assets/test/staging.test.ts index 8893c6451f2c1..5c53eeae09718 100644 --- a/packages/@aws-cdk/assets/test/staging.test.ts +++ b/packages/@aws-cdk/assets/test/staging.test.ts @@ -35,7 +35,7 @@ describeDeprecated('staging', () => { test('files are copied to the output directory during synth', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); const file = path.join(__dirname, 'fs', 'fixtures.tar.gz'); diff --git a/packages/@aws-cdk/aws-accessanalyzer/package.json b/packages/@aws-cdk/aws-accessanalyzer/package.json index e39c6da7a2df2..0718be28e9182 100644 --- a/packages/@aws-cdk/aws-accessanalyzer/package.json +++ b/packages/@aws-cdk/aws-accessanalyzer/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-accessanalyzer", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AccessAnalyzer", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_accessanalyzer", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-acmpca/package.json b/packages/@aws-cdk/aws-acmpca/package.json index 691f97eb09856..0b6ca8b290b66 100644 --- a/packages/@aws-cdk/aws-acmpca/package.json +++ b/packages/@aws-cdk/aws-acmpca/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-acmpca", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ACMPCA", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_acmpca", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-amazonmq/package.json b/packages/@aws-cdk/aws-amazonmq/package.json index c29adb0293036..4cfeb524f8294 100644 --- a/packages/@aws-cdk/aws-amazonmq/package.json +++ b/packages/@aws-cdk/aws-amazonmq/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-amazonmq", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AmazonMQ", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_amazonmq", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-amplify/lib/basic-auth.ts b/packages/@aws-cdk/aws-amplify/lib/basic-auth.ts index c2780eec8da1c..fd61e0f78d494 100644 --- a/packages/@aws-cdk/aws-amplify/lib/basic-auth.ts +++ b/packages/@aws-cdk/aws-amplify/lib/basic-auth.ts @@ -1,10 +1,7 @@ import * as kms from '@aws-cdk/aws-kms'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import { SecretValue } from '@aws-cdk/core'; - -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for a BasicAuth @@ -82,7 +79,7 @@ export class BasicAuth { /** * Binds this Basic Auth configuration to an App */ - public bind(scope: CoreConstruct, id: string): BasicAuthConfig { + public bind(scope: Construct, id: string): BasicAuthConfig { const config = { enableBasicAuth: true, username: this.props.username, diff --git a/packages/@aws-cdk/aws-amplify/lib/domain.ts b/packages/@aws-cdk/aws-amplify/lib/domain.ts index f8683f44b123d..ed2b16668eb11 100644 --- a/packages/@aws-cdk/aws-amplify/lib/domain.ts +++ b/packages/@aws-cdk/aws-amplify/lib/domain.ts @@ -140,6 +140,8 @@ export class Domain extends Resource { this.domainAutoSubDomainCreationPatterns = domain.attrAutoSubDomainCreationPatterns; this.domainAutoSubDomainIamRole = domain.attrAutoSubDomainIamRole; this.domainEnableAutoSubDomain = domain.attrEnableAutoSubDomain; + + this.node.addValidation({ validate: () => this.validateDomain() }); } /** @@ -160,7 +162,7 @@ export class Domain extends Resource { return this.mapSubDomain(branch, ''); } - protected validate() { + private validateDomain() { if (this.subDomains.length === 0) { return ['The domain doesn\'t contain any subdomains']; } diff --git a/packages/@aws-cdk/aws-amplify/package.json b/packages/@aws-cdk/aws-amplify/package.json index d94f5b09d8351..3742d50173a65 100644 --- a/packages/@aws-cdk/aws-amplify/package.json +++ b/packages/@aws-cdk/aws-amplify/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-amplify", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Amplify", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_amplify", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -100,7 +101,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-codebuild": "0.0.0", @@ -113,10 +114,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-amplify/test/branch.test.ts b/packages/@aws-cdk/aws-amplify/test/branch.test.ts index cd365e93a70a6..0e5255b8d0f2b 100644 --- a/packages/@aws-cdk/aws-amplify/test/branch.test.ts +++ b/packages/@aws-cdk/aws-amplify/test/branch.test.ts @@ -124,41 +124,9 @@ test('with asset deployment', () => { ], }, BranchName: 'dev', - S3ObjectKey: { - 'Fn::Join': [ - '', - [ - { - 'Fn::Select': [ - 0, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParameters8c89eadc6be22019c81ed6b9c7d9929ae10de55679fd8e0e9fd4c00f8edc1cdaS3VersionKey70C0B407', - }, - ], - }, - ], - }, - { - 'Fn::Select': [ - 1, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParameters8c89eadc6be22019c81ed6b9c7d9929ae10de55679fd8e0e9fd4c00f8edc1cdaS3VersionKey70C0B407', - }, - ], - }, - ], - }, - ], - ], - }, + S3ObjectKey: '8c89eadc6be22019c81ed6b9c7d9929ae10de55679fd8e0e9fd4c00f8edc1cda.zip', S3BucketName: { - Ref: 'AssetParameters8c89eadc6be22019c81ed6b9c7d9929ae10de55679fd8e0e9fd4c00f8edc1cdaS3Bucket83484C89', + 'Fn::Sub': 'cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}', }, }); }); diff --git a/packages/@aws-cdk/aws-amplifyuibuilder/package.json b/packages/@aws-cdk/aws-amplifyuibuilder/package.json index 2993bc2338e68..823832435a297 100644 --- a/packages/@aws-cdk/aws-amplifyuibuilder/package.json +++ b/packages/@aws-cdk/aws-amplifyuibuilder/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-amplifyuibuilder", "module": "aws_cdk.aws_amplifyuibuilder" @@ -91,13 +91,15 @@ "@types/jest": "^26.0.24" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-apigateway/lib/api-definition.ts b/packages/@aws-cdk/aws-apigateway/lib/api-definition.ts index 96b9a5aced9e1..86d4f626bb0c2 100644 --- a/packages/@aws-cdk/aws-apigateway/lib/api-definition.ts +++ b/packages/@aws-cdk/aws-apigateway/lib/api-definition.ts @@ -4,10 +4,9 @@ import * as s3_assets from '@aws-cdk/aws-s3-assets'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order import * as cxapi from '@aws-cdk/cx-api'; -import { Node } from 'constructs'; +import { Construct, Node } from 'constructs'; import { CfnRestApi } from './apigateway.generated'; import { IRestApi } from './restapi'; -import { Construct } from '@aws-cdk/core'; /** * Represents an OpenAPI definition asset. @@ -225,4 +224,4 @@ export class AssetApiDefinition extends ApiDefinition { child.addMetadata(cxapi.ASSET_RESOURCE_METADATA_PATH_KEY, this.asset.assetPath); child.addMetadata(cxapi.ASSET_RESOURCE_METADATA_PROPERTY_KEY, 'BodyS3Location'); } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-apigateway/lib/apigatewayv2.ts b/packages/@aws-cdk/aws-apigateway/lib/apigatewayv2.ts index e9394f5ade6ed..0f63c54177777 100644 --- a/packages/@aws-cdk/aws-apigateway/lib/apigatewayv2.ts +++ b/packages/@aws-cdk/aws-apigateway/lib/apigatewayv2.ts @@ -4,10 +4,7 @@ /* eslint-disable max-len */ import * as cdk from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for defining a `AWS::ApiGatewayV2::Api` diff --git a/packages/@aws-cdk/aws-apigateway/lib/deployment.ts b/packages/@aws-cdk/aws-apigateway/lib/deployment.ts index d44b2ab223f4a..f62a58f4f59be 100644 --- a/packages/@aws-cdk/aws-apigateway/lib/deployment.ts +++ b/packages/@aws-cdk/aws-apigateway/lib/deployment.ts @@ -5,10 +5,6 @@ import { CfnDeployment } from './apigateway.generated'; import { Method } from './method'; import { IRestApi, RestApi, SpecRestApi, RestApiBase } from './restapi'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - export interface DeploymentProps { /** * The Rest API to deploy. @@ -137,7 +133,7 @@ class LatestDeploymentResource extends CfnDeployment { private readonly originalLogicalId: string; private readonly api: IRestApi; - constructor(scope: CoreConstruct, id: string, props: LatestDeploymentResourceProps) { + constructor(scope: Construct, id: string, props: LatestDeploymentResourceProps) { super(scope, id, { description: props.description, restApiId: props.restApi.restApiId, diff --git a/packages/@aws-cdk/aws-apigateway/lib/integrations/aws.ts b/packages/@aws-cdk/aws-apigateway/lib/integrations/aws.ts index 8b7ef8cccd565..8af257000180c 100644 --- a/packages/@aws-cdk/aws-apigateway/lib/integrations/aws.ts +++ b/packages/@aws-cdk/aws-apigateway/lib/integrations/aws.ts @@ -1,5 +1,6 @@ import * as cdk from '@aws-cdk/core'; import { ArnFormat } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { Integration, IntegrationConfig, IntegrationOptions, IntegrationType } from '../integration'; import { Method } from '../method'; import { parseAwsApiCall } from '../util'; @@ -77,7 +78,7 @@ export interface AwsIntegrationProps { * technology. */ export class AwsIntegration extends Integration { - private scope?: cdk.IConstruct; + private scope?: IConstruct; constructor(props: AwsIntegrationProps) { const backend = props.subdomain ? `${props.subdomain}.${props.service}` : props.service; diff --git a/packages/@aws-cdk/aws-apigateway/lib/restapi.ts b/packages/@aws-cdk/aws-apigateway/lib/restapi.ts index ae628f6c52d3b..625d6a6b6cbbd 100644 --- a/packages/@aws-cdk/aws-apigateway/lib/restapi.ts +++ b/packages/@aws-cdk/aws-apigateway/lib/restapi.ts @@ -766,6 +766,8 @@ export class RestApi extends RestApiBase { this.root = new RootResource(this, props, resource.attrRootResourceId); this.restApiRootResourceId = resource.attrRootResourceId; + + this.node.addValidation({ validate: () => this.validateRestApi() }); } /** @@ -831,7 +833,7 @@ export class RestApi extends RestApiBase { /** * Performs validation of the REST API. */ - protected validate() { + private validateRestApi() { if (this.methods.length === 0) { return ["The REST API doesn't contain any methods"]; } diff --git a/packages/@aws-cdk/aws-apigateway/lib/vpc-link.ts b/packages/@aws-cdk/aws-apigateway/lib/vpc-link.ts index f7d137f2c9e1a..06a168d31e557 100644 --- a/packages/@aws-cdk/aws-apigateway/lib/vpc-link.ts +++ b/packages/@aws-cdk/aws-apigateway/lib/vpc-link.ts @@ -80,6 +80,8 @@ export class VpcLink extends Resource implements IVpcLink { if (props.targets) { this.addTargets(...props.targets); } + + this.node.addValidation({ validate: () => this.validateVpcLink() }); } public addTargets(...targets: elbv2.INetworkLoadBalancer[]) { @@ -94,7 +96,7 @@ export class VpcLink extends Resource implements IVpcLink { return this._targets.map(t => t.loadBalancerDnsName); } - protected validate(): string[] { + private validateVpcLink(): string[] { if (this._targets.length === 0) { return ['No targets added to vpc link']; } diff --git a/packages/@aws-cdk/aws-apigateway/package.json b/packages/@aws-cdk/aws-apigateway/package.json index 27a7c51ab6532..809f30adf65d1 100644 --- a/packages/@aws-cdk/aws-apigateway/package.json +++ b/packages/@aws-cdk/aws-apigateway/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-apigateway", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ApiGateway", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_apigateway", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -100,7 +101,7 @@ "@aws-cdk/aws-stepfunctions": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -117,10 +118,10 @@ "@aws-cdk/aws-stepfunctions": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nyc": { "exclude": [ diff --git a/packages/@aws-cdk/aws-apigateway/test/api-definition.test.ts b/packages/@aws-cdk/aws-apigateway/test/api-definition.test.ts index a74b3664dae26..34059d5d0c4db 100644 --- a/packages/@aws-cdk/aws-apigateway/test/api-definition.test.ts +++ b/packages/@aws-cdk/aws-apigateway/test/api-definition.test.ts @@ -32,14 +32,14 @@ describe('api definition', () => { describe('apigateway.ApiDefinition.fromAsset', () => { test('happy case', () => { - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const config = apigw.ApiDefinition.fromAsset(path.join(__dirname, 'sample-definition.yaml')).bind(stack); expect(config.inlineDefinition).toBeUndefined(); expect(config.s3Location).toBeDefined(); expect(stack.resolve(config.s3Location!.bucket)).toEqual({ Ref: 'AssetParameters68497ac876de4e963fc8f7b5f1b28844c18ecc95e3f7c6e9e0bf250e03c037fbS3Bucket42039E29', }); - }); test('fails if a directory is given for an asset', () => { @@ -53,7 +53,7 @@ describe('api definition', () => { test('only one Asset object gets created even if multiple functions use the same AssetApiDefinition', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'MyStack'); const directoryAsset = apigw.ApiDefinition.fromAsset(path.join(__dirname, 'sample-definition.yaml')); @@ -72,7 +72,6 @@ describe('api definition', () => { // API1 has an asset, API2 does not expect(synthesized.assets.length).toEqual(1); - }); test('asset metadata added to RestApi resource that contains Asset Api Definition', () => { diff --git a/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/manifest.json index 7d3c11a3348fc..f792b3d0e47a1 100644 --- a/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/manifest.json @@ -176,6 +176,15 @@ "type": "aws:cdk:logicalId", "data": "MyHandler6B74D312" } + ], + "myapiUsagePlanUsagePlanKeyResource050D133F": [ + { + "type": "aws:cdk:logicalId", + "data": "myapiUsagePlanUsagePlanKeyResource050D133F", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "test-apigateway-restapi" diff --git a/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/test-apigateway-restapi.assets.json b/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/test-apigateway-restapi.assets.json new file mode 100644 index 0000000000000..d936ca21b68a7 --- /dev/null +++ b/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/test-apigateway-restapi.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "91e92be1c45d9307b8ecc9cc21f05824a2bec4293e94cd55e3603934c966abed": { + "source": { + "path": "test-apigateway-restapi.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "91e92be1c45d9307b8ecc9cc21f05824a2bec4293e94cd55e3603934c966abed.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/tree.json b/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/tree.json index 015efa539ccdd..2113e6b835b90 100644 --- a/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-apigateway/test/restapi.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-apigateway-restapi": { diff --git a/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/manifest.json index bd57388f0736e..2c8000921cf1c 100644 --- a/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/manifest.json @@ -44,6 +44,15 @@ "type": "aws:cdk:logicalId", "data": "myapikey250C8F11B" } + ], + "myusageplanUsagePlanKeyResource095B4EA9": [ + { + "type": "aws:cdk:logicalId", + "data": "myusageplanUsagePlanKeyResource095B4EA9", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "test-apigateway-usageplan-multikey" diff --git a/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/test-apigateway-usageplan-multikey.assets.json b/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/test-apigateway-usageplan-multikey.assets.json new file mode 100644 index 0000000000000..825b9cde7f9a6 --- /dev/null +++ b/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/test-apigateway-usageplan-multikey.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "beaf26c63be2bdafbf708bdce2a5af13187058a3a32e6a0ceff537615cadf2ba": { + "source": { + "path": "test-apigateway-usageplan-multikey.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "beaf26c63be2bdafbf708bdce2a5af13187058a3a32e6a0ceff537615cadf2ba.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/tree.json b/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/tree.json index c20e5fe1cdaf1..f9d3ddb11ce59 100644 --- a/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-apigateway/test/usage-plan.multikey.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-apigateway-usageplan-multikey": { diff --git a/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/manifest.json index 0db7a164a57ee..293de8d7eb2ad 100644 --- a/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/manifest.json @@ -52,6 +52,15 @@ "type": "aws:cdk:logicalId", "data": "myapikey5C116C09" } + ], + "myusageplanUsagePlanKeyResource095B4EA9": [ + { + "type": "aws:cdk:logicalId", + "data": "myusageplanUsagePlanKeyResource095B4EA9", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "test-apigateway-usageplan-import" diff --git a/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/tree.json b/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/tree.json index 0875e07b842c1..7b04f86a9aa7e 100644 --- a/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-apigateway/test/usage-plan.sharing.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-apigateway-usageplan-create": { @@ -52,8 +52,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/http/lambda.ts b/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/http/lambda.ts index 2e56317c1a667..ff9b3d0b03ea3 100644 --- a/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/http/lambda.ts +++ b/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/http/lambda.ts @@ -11,10 +11,6 @@ import { ServicePrincipal } from '@aws-cdk/aws-iam'; import { IFunction } from '@aws-cdk/aws-lambda'; import { Stack, Duration, Names } from '@aws-cdk/core'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Specifies the type responses the lambda returns */ @@ -108,7 +104,7 @@ export class HttpLambdaAuthorizer implements IHttpRouteAuthorizer { }); this.handler.addPermission(`${Names.nodeUniqueId(this.authorizer.node)}-Permission`, { - scope: options.scope as CoreConstruct, + scope: options.scope, principal: new ServicePrincipal('apigateway.amazonaws.com'), sourceArn: Stack.of(options.route).formatArn({ service: 'execute-api', diff --git a/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/websocket/lambda.ts b/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/websocket/lambda.ts index 8b5b5c6d3fc43..73d30c3de7b8b 100644 --- a/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/websocket/lambda.ts +++ b/packages/@aws-cdk/aws-apigatewayv2-authorizers/lib/websocket/lambda.ts @@ -9,10 +9,7 @@ import { import { ServicePrincipal } from '@aws-cdk/aws-iam'; import { IFunction } from '@aws-cdk/aws-lambda'; import { Stack, Names } from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties to initialize WebSocketTokenAuthorizer. @@ -68,7 +65,7 @@ export class WebSocketLambdaAuthorizer implements IWebSocketRouteAuthorizer { }); this.handler.addPermission(`${Names.nodeUniqueId(this.authorizer.node)}-Permission`, { - scope: options.scope as CoreConstruct, + scope: options.scope as Construct, principal: new ServicePrincipal('apigateway.amazonaws.com'), sourceArn: Stack.of(options.route).formatArn({ service: 'execute-api', diff --git a/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json b/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json index ea9bbd8d5328f..59660b74181a0 100644 --- a/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json +++ b/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json @@ -8,7 +8,7 @@ "outdir": "dist", "targets": { "dotnet": { - "namespace": "Amazon.CDK.AWS.APIGatewayv2.Authorizers", + "namespace": "Amazon.CDK.AWS.Apigatewayv2.Authorizers", "packageId": "Amazon.CDK.AWS.APIGatewayv2.Authorizers", "signAssembly": true, "assemblyOriginatorKeyFile": "../../key.snk", @@ -26,7 +26,7 @@ "module": "aws_cdk.aws_apigatewayv2_authorizers", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -94,7 +94,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-apigatewayv2": "0.0.0", @@ -102,10 +102,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -114,5 +114,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-apigatewayv2-authorizers/test/http/iam.integ.snapshot/IntegApiGatewayV2Iam.assets.json b/packages/@aws-cdk/aws-apigatewayv2-authorizers/test/http/iam.integ.snapshot/IntegApiGatewayV2Iam.assets.json new file mode 100644 index 0000000000000..c4a51f0c150c6 --- /dev/null +++ b/packages/@aws-cdk/aws-apigatewayv2-authorizers/test/http/iam.integ.snapshot/IntegApiGatewayV2Iam.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "1a1ff3e923d227bda4bd3820b81a866729ac8bc87820ccf9b81469aa5d4de29d": { + "source": { + "path": "IntegApiGatewayV2Iam.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "1a1ff3e923d227bda4bd3820b81a866729ac8bc87820ccf9b81469aa5d4de29d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-apigatewayv2-authorizers/test/http/iam.integ.snapshot/tree.json b/packages/@aws-cdk/aws-apigatewayv2-authorizers/test/http/iam.integ.snapshot/tree.json index 6c910e9123855..26330ef7c5006 100644 --- a/packages/@aws-cdk/aws-apigatewayv2-authorizers/test/http/iam.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-apigatewayv2-authorizers/test/http/iam.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "IntegApiGatewayV2Iam": { diff --git a/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json b/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json index 71743d60d5b03..74543ed36ba3c 100644 --- a/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json +++ b/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-apigatewayv2-integrations", "version": "0.0.0", + "private": true, "description": "Integrations for AWS APIGateway V2", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -8,7 +9,7 @@ "outdir": "dist", "targets": { "dotnet": { - "namespace": "Amazon.CDK.AWS.APIGatewayv2.Integrations", + "namespace": "Amazon.CDK.AWS.Apigatewayv2.Integrations", "packageId": "Amazon.CDK.AWS.APIGatewayv2.Integrations", "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png" }, @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_apigatewayv2_integrations", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -91,7 +92,7 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-servicediscovery": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-apigatewayv2": "0.0.0", @@ -101,10 +102,10 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-servicediscovery": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-apigatewayv2/lib/http/integration.ts b/packages/@aws-cdk/aws-apigatewayv2/lib/http/integration.ts index 9667f072d9036..827904de96918 100644 --- a/packages/@aws-cdk/aws-apigatewayv2/lib/http/integration.ts +++ b/packages/@aws-cdk/aws-apigatewayv2/lib/http/integration.ts @@ -7,10 +7,6 @@ import { ParameterMapping } from '../parameter-mapping'; import { IHttpApi } from './api'; import { HttpMethod, IHttpRoute } from './route'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Represents an Integration for an HTTP API. */ @@ -291,7 +287,7 @@ export interface HttpRouteIntegrationBindOptions { * If the `HttpRouteIntegration` being bound creates additional constructs, * this will be used as their parent scope. */ - readonly scope: CoreConstruct; + readonly scope: Construct; } /** diff --git a/packages/@aws-cdk/aws-apigatewayv2/lib/websocket/integration.ts b/packages/@aws-cdk/aws-apigatewayv2/lib/websocket/integration.ts index 028dfd07b7a97..8c7deb8243595 100644 --- a/packages/@aws-cdk/aws-apigatewayv2/lib/websocket/integration.ts +++ b/packages/@aws-cdk/aws-apigatewayv2/lib/websocket/integration.ts @@ -5,10 +5,6 @@ import { IIntegration } from '../common'; import { IWebSocketApi } from './api'; import { IWebSocketRoute } from './route'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Represents an Integration for an WebSocket API. */ @@ -85,7 +81,7 @@ export interface WebSocketRouteIntegrationBindOptions { * If the `WebSocketRouteIntegration` being bound creates additional constructs, * this will be used as their parent scope. */ - readonly scope: CoreConstruct; + readonly scope: Construct; } /** diff --git a/packages/@aws-cdk/aws-apigatewayv2/package.json b/packages/@aws-cdk/aws-apigatewayv2/package.json index 6c72cf9b3af36..43a322a22c52d 100644 --- a/packages/@aws-cdk/aws-apigatewayv2/package.json +++ b/packages/@aws-cdk/aws-apigatewayv2/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-apigatewayv2", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::APIGatewayv2", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -12,7 +13,7 @@ }, "targets": { "dotnet": { - "namespace": "Amazon.CDK.AWS.APIGatewayv2", + "namespace": "Amazon.CDK.AWS.Apigatewayv2", "packageId": "Amazon.CDK.AWS.APIGatewayv2", "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png" }, @@ -28,7 +29,7 @@ "module": "aws_cdk.aws_apigatewayv2", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -98,7 +99,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-certificatemanager": "0.0.0", @@ -107,10 +108,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-appconfig/package.json b/packages/@aws-cdk/aws-appconfig/package.json index 4bd9e37e6a496..14f3e5db3b780 100644 --- a/packages/@aws-cdk/aws-appconfig/package.json +++ b/packages/@aws-cdk/aws-appconfig/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-appconfig", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AppConfig", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_appconfig", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-appflow/package.json b/packages/@aws-cdk/aws-appflow/package.json index a20aff62305d7..af097fcb54602 100644 --- a/packages/@aws-cdk/aws-appflow/package.json +++ b/packages/@aws-cdk/aws-appflow/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-appflow", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AppFlow", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -25,7 +26,7 @@ "module": "aws_cdk.aws_appflow", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -85,13 +86,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-appintegrations/package.json b/packages/@aws-cdk/aws-appintegrations/package.json index 0d2e50467ed03..25e88963effdd 100644 --- a/packages/@aws-cdk/aws-appintegrations/package.json +++ b/packages/@aws-cdk/aws-appintegrations/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-appintegrations", "module": "aws_cdk.aws_appintegrations" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-applicationautoscaling/lib/base-scalable-attribute.ts b/packages/@aws-cdk/aws-applicationautoscaling/lib/base-scalable-attribute.ts index 6bb821240c6ff..ec550f3abc468 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/lib/base-scalable-attribute.ts +++ b/packages/@aws-cdk/aws-applicationautoscaling/lib/base-scalable-attribute.ts @@ -4,10 +4,6 @@ import { ScalableTarget, ScalingSchedule, ServiceNamespace } from './scalable-ta import { BasicStepScalingPolicyProps } from './step-scaling-policy'; import { BasicTargetTrackingScalingPolicyProps } from './target-tracking-scaling-policy'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for a ScalableTableAttribute */ @@ -47,7 +43,7 @@ export interface BaseScalableAttributeProps extends EnableScalingProps { * - Don't expose all scaling methods (for example Dynamo tables don't support * Step Scaling, so the Dynamo subclass won't expose this method). */ -export abstract class BaseScalableAttribute extends CoreConstruct { +export abstract class BaseScalableAttribute extends Construct { private target: ScalableTarget; public constructor(scope: Construct, id: string, protected readonly props: BaseScalableAttributeProps) { diff --git a/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-action.ts b/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-action.ts index 67021e74f71bf..0ff9f200f263c 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-action.ts +++ b/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-action.ts @@ -3,10 +3,6 @@ import { Construct } from 'constructs'; import { CfnScalingPolicy } from './applicationautoscaling.generated'; import { IScalableTarget } from './scalable-target'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for a scaling policy */ @@ -71,7 +67,7 @@ export interface StepScalingActionProps { * * This Action must be used as the target of a CloudWatch alarm to take effect. */ -export class StepScalingAction extends CoreConstruct { +export class StepScalingAction extends Construct { /** * ARN of the scaling policy */ diff --git a/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-policy.ts b/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-policy.ts index 6bbc210f4f0c1..7d86e34fcaafe 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-policy.ts +++ b/packages/@aws-cdk/aws-applicationautoscaling/lib/step-scaling-policy.ts @@ -5,10 +5,6 @@ import { Construct } from 'constructs'; import { IScalableTarget } from './scalable-target'; import { AdjustmentType, MetricAggregationType, StepScalingAction } from './step-scaling-action'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - export interface BasicStepScalingPolicyProps { /** * Metric to scale on. @@ -102,7 +98,7 @@ export interface StepScalingPolicyProps extends BasicStepScalingPolicyProps { * * Implemented using one or more CloudWatch alarms and Step Scaling Policies. */ -export class StepScalingPolicy extends CoreConstruct { +export class StepScalingPolicy extends Construct { public readonly lowerAlarm?: cloudwatch.Alarm; public readonly lowerAction?: StepScalingAction; public readonly upperAlarm?: cloudwatch.Alarm; @@ -255,7 +251,7 @@ class StepScalingAlarmAction implements cloudwatch.IAlarmAction { constructor(private readonly stepScalingAction: StepScalingAction) { } - public bind(_scope: CoreConstruct, _alarm: cloudwatch.IAlarm): cloudwatch.AlarmActionConfig { + public bind(_scope: Construct, _alarm: cloudwatch.IAlarm): cloudwatch.AlarmActionConfig { return { alarmActionArn: this.stepScalingAction.scalingPolicyArn }; } } diff --git a/packages/@aws-cdk/aws-applicationautoscaling/lib/target-tracking-scaling-policy.ts b/packages/@aws-cdk/aws-applicationautoscaling/lib/target-tracking-scaling-policy.ts index a8b83e2395f68..5bb7214c4c350 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/lib/target-tracking-scaling-policy.ts +++ b/packages/@aws-cdk/aws-applicationautoscaling/lib/target-tracking-scaling-policy.ts @@ -4,10 +4,6 @@ import { Construct } from 'constructs'; import { CfnScalingPolicy } from './applicationautoscaling.generated'; import { IScalableTarget } from './scalable-target'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Base interface for target tracking props * @@ -119,7 +115,7 @@ export interface TargetTrackingScalingPolicyProps extends BasicTargetTrackingSca readonly scalingTarget: IScalableTarget; } -export class TargetTrackingScalingPolicy extends CoreConstruct { +export class TargetTrackingScalingPolicy extends Construct { /** * ARN of the scaling policy */ diff --git a/packages/@aws-cdk/aws-applicationautoscaling/package.json b/packages/@aws-cdk/aws-applicationautoscaling/package.json index a1a982f6e1879..48531c4ae0dcd 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/package.json +++ b/packages/@aws-cdk/aws-applicationautoscaling/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-applicationautoscaling", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ApplicationAutoScaling", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_applicationautoscaling", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,7 +93,7 @@ "@aws-cdk/aws-cloudwatch": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -100,10 +101,10 @@ "@aws-cdk/aws-cloudwatch": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nyc": { "branches": 65, diff --git a/packages/@aws-cdk/aws-applicationinsights/package.json b/packages/@aws-cdk/aws-applicationinsights/package.json index 96a7e0ace9605..5777ff2d8a47d 100644 --- a/packages/@aws-cdk/aws-applicationinsights/package.json +++ b/packages/@aws-cdk/aws-applicationinsights/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-applicationinsights", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ApplicationInsights", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -25,7 +26,7 @@ "module": "aws_cdk.aws_applicationinsights", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-appmesh/lib/gateway-route-spec.ts b/packages/@aws-cdk/aws-appmesh/lib/gateway-route-spec.ts index d62550a46fc0f..3969494138202 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/gateway-route-spec.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/gateway-route-spec.ts @@ -1,3 +1,4 @@ +import { Construct } from 'constructs'; import { CfnGatewayRoute } from './appmesh.generated'; import { HeaderMatch } from './header-match'; import { HttpRouteMethod } from './http-route-method'; @@ -7,10 +8,6 @@ import { QueryParameterMatch } from './query-parameter-match'; import { Protocol } from './shared-interfaces'; import { IVirtualService } from './virtual-service'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Configuration for gateway route host name match. */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/header-match.ts b/packages/@aws-cdk/aws-appmesh/lib/header-match.ts index 52fe1d59f6391..63356f130547c 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/header-match.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/header-match.ts @@ -1,9 +1,6 @@ +import { Construct } from 'constructs'; import { CfnRoute } from './index'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Configuration for `HeaderMatch` */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/health-checks.ts b/packages/@aws-cdk/aws-appmesh/lib/health-checks.ts index e783e2fe00602..5ce022251acc6 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/health-checks.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/health-checks.ts @@ -4,7 +4,7 @@ import { Protocol } from './shared-interfaces'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties used to define healthchecks. diff --git a/packages/@aws-cdk/aws-appmesh/lib/http-route-path-match.ts b/packages/@aws-cdk/aws-appmesh/lib/http-route-path-match.ts index 7131063ac9615..20ab642c053cd 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/http-route-path-match.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/http-route-path-match.ts @@ -1,9 +1,6 @@ +import { Construct } from 'constructs'; import { CfnGatewayRoute, CfnRoute } from './appmesh.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * The type returned from the `bind()` method in {@link HttpRoutePathMatch}. */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/private/utils.ts b/packages/@aws-cdk/aws-appmesh/lib/private/utils.ts index 0820ae42c41aa..249c4254ce5c0 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/private/utils.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/private/utils.ts @@ -1,4 +1,5 @@ import { Token, TokenComparison } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { CfnVirtualNode } from '../appmesh.generated'; import { GrpcGatewayRouteMatch } from '../gateway-route-spec'; import { HeaderMatch } from '../header-match'; @@ -7,10 +8,6 @@ import { QueryParameterMatch } from '../query-parameter-match'; import { GrpcRouteMatch } from '../route-spec'; import { TlsClientPolicy } from '../tls-client-policy'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Generated Connection pool config */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/query-parameter-match.ts b/packages/@aws-cdk/aws-appmesh/lib/query-parameter-match.ts index 585d810cef051..940c47e14a4ac 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/query-parameter-match.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/query-parameter-match.ts @@ -1,9 +1,6 @@ +import { Construct } from 'constructs'; import { CfnRoute } from './appmesh.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Configuration for `QueryParameterMatch` */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/route-spec.ts b/packages/@aws-cdk/aws-appmesh/lib/route-spec.ts index 1e0e0913296f1..e5ae7d9352f58 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/route-spec.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/route-spec.ts @@ -1,4 +1,5 @@ import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { CfnRoute } from './appmesh.generated'; import { HeaderMatch } from './header-match'; import { HttpRouteMethod } from './http-route-method'; @@ -8,10 +9,6 @@ import { QueryParameterMatch } from './query-parameter-match'; import { GrpcTimeout, HttpTimeout, Protocol, TcpTimeout } from './shared-interfaces'; import { IVirtualNode } from './virtual-node'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for the Weighted Targets in the route */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/service-discovery.ts b/packages/@aws-cdk/aws-appmesh/lib/service-discovery.ts index 013eefec5b8af..0cd08280c2c28 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/service-discovery.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/service-discovery.ts @@ -1,10 +1,7 @@ import * as cloudmap from '@aws-cdk/aws-servicediscovery'; +import { Construct } from 'constructs'; import { CfnVirtualNode } from './appmesh.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for VirtualNode Service Discovery */ @@ -119,4 +116,4 @@ class CloudMapServiceDiscovery extends ServiceDiscovery { function renderAttributes(attrs?: {[key: string]: string}) { if (attrs === undefined) { return undefined; } return Object.entries(attrs).map(([key, value]) => ({ key, value })); -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-appmesh/lib/shared-interfaces.ts b/packages/@aws-cdk/aws-appmesh/lib/shared-interfaces.ts index 7598ac959e98b..3efd50f7a7f38 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/shared-interfaces.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/shared-interfaces.ts @@ -1,13 +1,10 @@ import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { CfnVirtualGateway, CfnVirtualNode } from './appmesh.generated'; import { renderTlsClientPolicy } from './private/utils'; import { TlsClientPolicy } from './tls-client-policy'; import { IVirtualService } from './virtual-service'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Represents timeouts for HTTP protocols. */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/tls-certificate.ts b/packages/@aws-cdk/aws-appmesh/lib/tls-certificate.ts index e7fbf52ddd05e..f9b39869f4df1 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/tls-certificate.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/tls-certificate.ts @@ -1,10 +1,7 @@ import * as acm from '@aws-cdk/aws-certificatemanager'; +import { Construct } from 'constructs'; import { CfnVirtualNode } from './appmesh.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * A wrapper for the tls config returned by {@link TlsCertificate.bind} */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/tls-validation.ts b/packages/@aws-cdk/aws-appmesh/lib/tls-validation.ts index 7e59525cc4a5a..9bf566c0d4843 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/tls-validation.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/tls-validation.ts @@ -1,10 +1,7 @@ import * as acmpca from '@aws-cdk/aws-acmpca'; +import { Construct } from 'constructs'; import { CfnVirtualNode } from './appmesh.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Represents the properties needed to define TLS Validation context */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/virtual-gateway-listener.ts b/packages/@aws-cdk/aws-appmesh/lib/virtual-gateway-listener.ts index 990e052ea07b7..9ef4fa6e72d4b 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/virtual-gateway-listener.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/virtual-gateway-listener.ts @@ -1,3 +1,4 @@ +import { Construct } from 'constructs'; import { CfnVirtualGateway } from './appmesh.generated'; import { HealthCheck } from './health-checks'; import { ListenerTlsOptions } from './listener-tls-options'; @@ -9,10 +10,6 @@ import { Protocol, } from './shared-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Represents the properties needed to define a Listeners for a VirtualGateway */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/virtual-node-listener.ts b/packages/@aws-cdk/aws-appmesh/lib/virtual-node-listener.ts index 71d64b16745bf..04a6c4af3eb1f 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/virtual-node-listener.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/virtual-node-listener.ts @@ -1,3 +1,4 @@ +import { Construct } from 'constructs'; import { CfnVirtualNode } from './appmesh.generated'; import { HealthCheck } from './health-checks'; import { ListenerTlsOptions } from './listener-tls-options'; @@ -7,10 +8,6 @@ import { HttpTimeout, OutlierDetection, Protocol, TcpConnectionPool, TcpTimeout, } from './shared-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for a VirtualNode listener */ diff --git a/packages/@aws-cdk/aws-appmesh/lib/virtual-router-listener.ts b/packages/@aws-cdk/aws-appmesh/lib/virtual-router-listener.ts index ced6279d78664..a1faac006b357 100644 --- a/packages/@aws-cdk/aws-appmesh/lib/virtual-router-listener.ts +++ b/packages/@aws-cdk/aws-appmesh/lib/virtual-router-listener.ts @@ -1,10 +1,7 @@ +import { Construct } from 'constructs'; import { CfnVirtualRouter } from './appmesh.generated'; import { Protocol } from './shared-interfaces'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for a VirtualRouter listener */ diff --git a/packages/@aws-cdk/aws-appmesh/package.json b/packages/@aws-cdk/aws-appmesh/package.json index 73c82bb7dcd6b..c06d002d76b61 100644 --- a/packages/@aws-cdk/aws-appmesh/package.json +++ b/packages/@aws-cdk/aws-appmesh/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-appmesh", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AppMesh", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_appmesh", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -99,7 +100,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-servicediscovery": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-acmpca": "0.0.0", @@ -108,10 +109,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-servicediscovery": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-apprunner/package.json b/packages/@aws-cdk/aws-apprunner/package.json index 7b40424e102e8..85d3cc2413964 100644 --- a/packages/@aws-cdk/aws-apprunner/package.json +++ b/packages/@aws-cdk/aws-apprunner/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-apprunner", "module": "aws_cdk.aws_apprunner" @@ -97,7 +97,7 @@ "@aws-cdk/aws-ecr-assets": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", @@ -105,10 +105,10 @@ "@aws-cdk/aws-ecr-assets": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -116,6 +116,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/asset.e9db95c5eb5c683b56dbb8a1930ab8b028babb58b58058d72fa77071e38e66a4.assets/Dockerfile b/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/asset.e9db95c5eb5c683b56dbb8a1930ab8b028babb58b58058d72fa77071e38e66a4.assets/Dockerfile deleted file mode 100644 index 878fb18669506..0000000000000 --- a/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/asset.e9db95c5eb5c683b56dbb8a1930ab8b028babb58b58058d72fa77071e38e66a4.assets/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -# image from https://gallery.ecr.aws/aws-containers/hello-app-runner -FROM public.ecr.aws/aws-containers/hello-app-runner:latest diff --git a/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/integ-apprunner.assets.json b/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/integ-apprunner.assets.json new file mode 100644 index 0000000000000..5b9da7ac5b41e --- /dev/null +++ b/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/integ-apprunner.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "3df7cd3e53e8d7b074c2c464bed49c1cb620dc22c90b97cd1c8fa82e4c91068e": { + "source": { + "path": "integ-apprunner.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3df7cd3e53e8d7b074c2c464bed49c1cb620dc22c90b97cd1c8fa82e4c91068e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "77284835684772d19c95f4f5a37e7618d5f9efc40db9321d44ac039db457b967": { + "source": { + "directory": "asset.77284835684772d19c95f4f5a37e7618d5f9efc40db9321d44ac039db457b967.assets" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "77284835684772d19c95f4f5a37e7618d5f9efc40db9321d44ac039db457b967", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/tree.json b/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/tree.json index ff5da659d20cf..a2330ddb9e003 100644 --- a/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-apprunner/test/service-ecr.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-apprunner": { diff --git a/packages/@aws-cdk/aws-apprunner/test/service.test.ts b/packages/@aws-cdk/aws-apprunner/test/service.test.ts index 2bef83769fff5..6b1d882bcda27 100644 --- a/packages/@aws-cdk/aws-apprunner/test/service.test.ts +++ b/packages/@aws-cdk/aws-apprunner/test/service.test.ts @@ -254,23 +254,7 @@ test('create a service with local assets(image repository type: ECR)', () => { Port: '8000', }, ImageIdentifier: { - 'Fn::Join': [ - '', - [ - { - Ref: 'AWS::AccountId', - }, - '.dkr.ecr.', - { - Ref: 'AWS::Region', - }, - '.', - { - Ref: 'AWS::URLSuffix', - }, - '/aws-cdk/assets:e9db95c5eb5c683b56dbb8a1930ab8b028babb58b58058d72fa77071e38e66a4', - ], - ], + 'Fn::Sub': '${AWS::AccountId}.dkr.ecr.${AWS::Region}.${AWS::URLSuffix}/cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}:77284835684772d19c95f4f5a37e7618d5f9efc40db9321d44ac039db457b967', }, ImageRepositoryType: 'ECR', }, @@ -536,23 +520,7 @@ test('custom IAM access role and instance role are allowed', () => { Port: '8000', }, ImageIdentifier: { - 'Fn::Join': [ - '', - [ - { - Ref: 'AWS::AccountId', - }, - '.dkr.ecr.', - { - Ref: 'AWS::Region', - }, - '.', - { - Ref: 'AWS::URLSuffix', - }, - '/aws-cdk/assets:e9db95c5eb5c683b56dbb8a1930ab8b028babb58b58058d72fa77071e38e66a4', - ], - ], + 'Fn::Sub': '${AWS::AccountId}.dkr.ecr.${AWS::Region}.${AWS::URLSuffix}/cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}:77284835684772d19c95f4f5a37e7618d5f9efc40db9321d44ac039db457b967', }, ImageRepositoryType: 'ECR', }, diff --git a/packages/@aws-cdk/aws-appstream/package.json b/packages/@aws-cdk/aws-appstream/package.json index efd30bfbae71d..dfecc8b74c785 100644 --- a/packages/@aws-cdk/aws-appstream/package.json +++ b/packages/@aws-cdk/aws-appstream/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-appstream", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AppStream", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_appstream", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-appsync/lib/data-source.ts b/packages/@aws-cdk/aws-appsync/lib/data-source.ts index fccaece50790f..d3a50ce401e9b 100644 --- a/packages/@aws-cdk/aws-appsync/lib/data-source.ts +++ b/packages/@aws-cdk/aws-appsync/lib/data-source.ts @@ -12,10 +12,6 @@ import { CfnDataSource } from './appsync.generated'; import { IGraphqlApi } from './graphqlapi-base'; import { BaseResolverProps, Resolver } from './resolver'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Base properties for an AppSync datasource */ @@ -100,7 +96,7 @@ export interface ExtendedDataSourceProps { /** * Abstract AppSync datasource implementation. Do not use directly but use subclasses for concrete datasources */ -export abstract class BaseDataSource extends CoreConstruct { +export abstract class BaseDataSource extends Construct { /** * the name of the data source */ diff --git a/packages/@aws-cdk/aws-appsync/lib/resolver.ts b/packages/@aws-cdk/aws-appsync/lib/resolver.ts index 1e4421a79b363..e2e2a48d8a5db 100644 --- a/packages/@aws-cdk/aws-appsync/lib/resolver.ts +++ b/packages/@aws-cdk/aws-appsync/lib/resolver.ts @@ -1,3 +1,4 @@ +import { Token } from '@aws-cdk/core'; import { Construct } from 'constructs'; import { IAppsyncFunction } from './appsync-function'; import { CfnResolver } from './appsync.generated'; @@ -7,10 +8,6 @@ import { BaseDataSource } from './data-source'; import { IGraphqlApi } from './graphqlapi-base'; import { MappingTemplate } from './mapping-template'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct, Token } from '@aws-cdk/core'; - /** * Basic properties for an AppSync resolver */ @@ -75,7 +72,7 @@ export interface ResolverProps extends ExtendedResolverProps { /** * An AppSync resolver */ -export class Resolver extends CoreConstruct { +export class Resolver extends Construct { /** * the ARN of the resolver */ diff --git a/packages/@aws-cdk/aws-appsync/package.json b/packages/@aws-cdk/aws-appsync/package.json index 2746c3462276d..665e1759f840c 100644 --- a/packages/@aws-cdk/aws-appsync/package.json +++ b/packages/@aws-cdk/aws-appsync/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-appsync", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AppSync", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_appsync", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -101,7 +102,7 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -117,10 +118,10 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -137,6 +138,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-appsync/rosetta/default.ts-fixture b/packages/@aws-cdk/aws-appsync/rosetta/default.ts-fixture index e1aa4d58414ac..e80df3fcd54a8 100644 --- a/packages/@aws-cdk/aws-appsync/rosetta/default.ts-fixture +++ b/packages/@aws-cdk/aws-appsync/rosetta/default.ts-fixture @@ -1,6 +1,6 @@ // Fixture with packages imported, but nothing else -import { Construct } from 'constructs'; import { RemovalPolicy, Stack } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import appsync = require('@aws-cdk/aws-appsync'); import ec2 = require('@aws-cdk/aws-ec2'); import dynamodb = require('@aws-cdk/aws-dynamodb'); diff --git a/packages/@aws-cdk/aws-appsync/rosetta/with-objects.ts-fixture b/packages/@aws-cdk/aws-appsync/rosetta/with-objects.ts-fixture index c1901a59383a7..1058e0c2d6fbf 100644 --- a/packages/@aws-cdk/aws-appsync/rosetta/with-objects.ts-fixture +++ b/packages/@aws-cdk/aws-appsync/rosetta/with-objects.ts-fixture @@ -1,6 +1,6 @@ // Fixture with packages imported, but nothing else -import { Construct } from 'constructs'; import { Stack } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import appsync = require('@aws-cdk/aws-appsync'); const pluralize = require('pluralize'); diff --git a/packages/@aws-cdk/aws-appsync/test/api-import.integ.snapshot/tree.json b/packages/@aws-cdk/aws-appsync/test/api-import.integ.snapshot/tree.json index c667bbfe24cd9..3bd70c3a25bfc 100644 --- a/packages/@aws-cdk/aws-appsync/test/api-import.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-appsync/test/api-import.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "baseStack": { @@ -94,8 +94,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-appsync/test/auth-apikey.integ.snapshot/aws-appsync-integ.assets.json b/packages/@aws-cdk/aws-appsync/test/auth-apikey.integ.snapshot/aws-appsync-integ.assets.json new file mode 100644 index 0000000000000..c9c54f9fa9d63 --- /dev/null +++ b/packages/@aws-cdk/aws-appsync/test/auth-apikey.integ.snapshot/aws-appsync-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "662d596c9f903a17e9d22652d1bd0743cc93eee9b2ab0187f59c81096e13b7f1": { + "source": { + "path": "aws-appsync-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "662d596c9f903a17e9d22652d1bd0743cc93eee9b2ab0187f59c81096e13b7f1.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-appsync/test/auth-apikey.integ.snapshot/tree.json b/packages/@aws-cdk/aws-appsync/test/auth-apikey.integ.snapshot/tree.json index 6bf5d5801c150..4e043caf2cfa6 100644 --- a/packages/@aws-cdk/aws-appsync/test/auth-apikey.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-appsync/test/auth-apikey.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-appsync-integ": { diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-elasticsearch.integ.snapshot/appsync-elasticsearch.assets.json b/packages/@aws-cdk/aws-appsync/test/graphql-elasticsearch.integ.snapshot/appsync-elasticsearch.assets.json new file mode 100644 index 0000000000000..3b88eae4246ce --- /dev/null +++ b/packages/@aws-cdk/aws-appsync/test/graphql-elasticsearch.integ.snapshot/appsync-elasticsearch.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "ecdf267b5d2a5223974a24dcdd39fbb514a4475192662559a77e052f1fef62ed": { + "source": { + "path": "appsync-elasticsearch.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ecdf267b5d2a5223974a24dcdd39fbb514a4475192662559a77e052f1fef62ed.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-elasticsearch.integ.snapshot/tree.json b/packages/@aws-cdk/aws-appsync/test/graphql-elasticsearch.integ.snapshot/tree.json index a5646a4a7508f..4c8654c21c170 100644 --- a/packages/@aws-cdk/aws-appsync/test/graphql-elasticsearch.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-appsync/test/graphql-elasticsearch.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "appsync-elasticsearch": { diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-iam.integ.snapshot/aws-appsync-integ.assets.json b/packages/@aws-cdk/aws-appsync/test/graphql-iam.integ.snapshot/aws-appsync-integ.assets.json new file mode 100644 index 0000000000000..cc16784718801 --- /dev/null +++ b/packages/@aws-cdk/aws-appsync/test/graphql-iam.integ.snapshot/aws-appsync-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "f38244b9028d22d4e265a5b466bdba928d93b5a4ac2b4bbf583309b3f027f044": { + "source": { + "path": "asset.f38244b9028d22d4e265a5b466bdba928d93b5a4ac2b4bbf583309b3f027f044", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f38244b9028d22d4e265a5b466bdba928d93b5a4ac2b4bbf583309b3f027f044.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "ed30e80f854f18d3cb67796c613b92bd3da9077efd35edb9776e774a4f7e174d": { + "source": { + "path": "aws-appsync-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ed30e80f854f18d3cb67796c613b92bd3da9077efd35edb9776e774a4f7e174d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-iam.integ.snapshot/tree.json b/packages/@aws-cdk/aws-appsync/test/graphql-iam.integ.snapshot/tree.json index 319efd44b6c02..2d456ecdbb895 100644 --- a/packages/@aws-cdk/aws-appsync/test/graphql-iam.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-appsync/test/graphql-iam.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-appsync-integ": { @@ -713,14 +713,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "testFail": { diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-opensearch.integ.snapshot/appsync-opensearch.assets.json b/packages/@aws-cdk/aws-appsync/test/graphql-opensearch.integ.snapshot/appsync-opensearch.assets.json new file mode 100644 index 0000000000000..86f0f63e0bbbf --- /dev/null +++ b/packages/@aws-cdk/aws-appsync/test/graphql-opensearch.integ.snapshot/appsync-opensearch.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "2e90fa7ea75f52a7b4feacec2888b5b9a8d8de7509ea2dd55018f2283adfe7fe": { + "source": { + "path": "appsync-opensearch.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2e90fa7ea75f52a7b4feacec2888b5b9a8d8de7509ea2dd55018f2283adfe7fe.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-opensearch.integ.snapshot/tree.json b/packages/@aws-cdk/aws-appsync/test/graphql-opensearch.integ.snapshot/tree.json index 31bba4a5ae267..08425f5b4e387 100644 --- a/packages/@aws-cdk/aws-appsync/test/graphql-opensearch.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-appsync/test/graphql-opensearch.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "appsync-opensearch": { diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-schema.integ.snapshot/code-first-schema.assets.json b/packages/@aws-cdk/aws-appsync/test/graphql-schema.integ.snapshot/code-first-schema.assets.json new file mode 100644 index 0000000000000..64895abc5e022 --- /dev/null +++ b/packages/@aws-cdk/aws-appsync/test/graphql-schema.integ.snapshot/code-first-schema.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "13205a5206cf49ce1c9674807fa5b2c3315de95159c5c1c969664271edd96507": { + "source": { + "path": "code-first-schema.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "13205a5206cf49ce1c9674807fa5b2c3315de95159c5c1c969664271edd96507.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-appsync/test/graphql-schema.integ.snapshot/tree.json b/packages/@aws-cdk/aws-appsync/test/graphql-schema.integ.snapshot/tree.json index 8f2aec08b512e..f6cc9f377f9e0 100644 --- a/packages/@aws-cdk/aws-appsync/test/graphql-schema.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-appsync/test/graphql-schema.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "code-first-schema": { diff --git a/packages/@aws-cdk/aws-appsync/test/graphql.integ.snapshot/aws-appsync-integ.assets.json b/packages/@aws-cdk/aws-appsync/test/graphql.integ.snapshot/aws-appsync-integ.assets.json new file mode 100644 index 0000000000000..6d4ab4f20ea5e --- /dev/null +++ b/packages/@aws-cdk/aws-appsync/test/graphql.integ.snapshot/aws-appsync-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7b4937a061e73c53a8d1ae8eeb6c778db65cfc02df7a34947b816bcd1332f9c9": { + "source": { + "path": "aws-appsync-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7b4937a061e73c53a8d1ae8eeb6c778db65cfc02df7a34947b816bcd1332f9c9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-appsync/test/graphql.integ.snapshot/tree.json b/packages/@aws-cdk/aws-appsync/test/graphql.integ.snapshot/tree.json index 3daf0a7ef002a..247f5d512bf1e 100644 --- a/packages/@aws-cdk/aws-appsync/test/graphql.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-appsync/test/graphql.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-appsync-integ": { diff --git a/packages/@aws-cdk/aws-aps/package.json b/packages/@aws-cdk/aws-aps/package.json index de1a09eee907c..00eadd699a8c0 100644 --- a/packages/@aws-cdk/aws-aps/package.json +++ b/packages/@aws-cdk/aws-aps/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-aps", "module": "aws_cdk.aws_aps" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-athena/package.json b/packages/@aws-cdk/aws-athena/package.json index 7655feb11d67d..af51abf8b418a 100644 --- a/packages/@aws-cdk/aws-athena/package.json +++ b/packages/@aws-cdk/aws-athena/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-athena", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Athena", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_athena", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,15 +90,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-athena/test/workgroup.integ.snapshot/aws-cdk-athena-workgroup-tags.assets.json b/packages/@aws-cdk/aws-athena/test/workgroup.integ.snapshot/aws-cdk-athena-workgroup-tags.assets.json new file mode 100644 index 0000000000000..242bca133587c --- /dev/null +++ b/packages/@aws-cdk/aws-athena/test/workgroup.integ.snapshot/aws-cdk-athena-workgroup-tags.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d8b01509e317c31bcc2aa728dce91fba9a9fb5d533a6b61cf09948a178861951": { + "source": { + "path": "aws-cdk-athena-workgroup-tags.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d8b01509e317c31bcc2aa728dce91fba9a9fb5d533a6b61cf09948a178861951.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-athena/test/workgroup.integ.snapshot/tree.json b/packages/@aws-cdk/aws-athena/test/workgroup.integ.snapshot/tree.json index 15bf3ca94a469..34c4fc753e6b4 100644 --- a/packages/@aws-cdk/aws-athena/test/workgroup.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-athena/test/workgroup.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-athena-workgroup-tags": { diff --git a/packages/@aws-cdk/aws-auditmanager/package.json b/packages/@aws-cdk/aws-auditmanager/package.json index 4cd4157941477..123970d215835 100644 --- a/packages/@aws-cdk/aws-auditmanager/package.json +++ b/packages/@aws-cdk/aws-auditmanager/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-auditmanager", "module": "aws_cdk.aws_auditmanager" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-autoscaling-common/package.json b/packages/@aws-cdk/aws-autoscaling-common/package.json index d4f92b68279a5..3f5fbe7efc0f8 100644 --- a/packages/@aws-cdk/aws-autoscaling-common/package.json +++ b/packages/@aws-cdk/aws-autoscaling-common/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-autoscaling-common", "version": "0.0.0", + "private": true, "description": "Common implementation package for @aws-cdk/aws-autoscaling and @aws-cdk/aws-applicationautoscaling", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_autoscaling_common", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -81,13 +82,13 @@ "dependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "awslint": { "exclude": [ @@ -111,7 +112,7 @@ ] }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json b/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json index 8b52bb70a5839..f26fbceab51ff 100644 --- a/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json +++ b/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-autoscaling-hooktargets", "version": "0.0.0", + "private": true, "description": "Lifecycle hook for AWS AutoScaling", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_autoscaling_hooktargets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,7 +90,7 @@ "@aws-cdk/aws-sns-subscriptions": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -101,10 +102,10 @@ "@aws-cdk/aws-sns-subscriptions": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-autoscaling/lib/aspects/require-imdsv2-aspect.ts b/packages/@aws-cdk/aws-autoscaling/lib/aspects/require-imdsv2-aspect.ts index e399dce585d79..840cb5d215fd0 100644 --- a/packages/@aws-cdk/aws-autoscaling/lib/aspects/require-imdsv2-aspect.ts +++ b/packages/@aws-cdk/aws-autoscaling/lib/aspects/require-imdsv2-aspect.ts @@ -1,4 +1,5 @@ import * as cdk from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { AutoScalingGroup } from '../auto-scaling-group'; import { CfnLaunchConfiguration } from '../autoscaling.generated'; @@ -9,7 +10,7 @@ export class AutoScalingGroupRequireImdsv2Aspect implements cdk.IAspect { constructor() { } - public visit(node: cdk.IConstruct): void { + public visit(node: IConstruct): void { if (!(node instanceof AutoScalingGroup)) { return; } @@ -32,7 +33,7 @@ export class AutoScalingGroupRequireImdsv2Aspect implements cdk.IAspect { * @param node The scope to add the warning to. * @param message The warning message. */ - protected warn(node: cdk.IConstruct, message: string) { + protected warn(node: IConstruct, message: string) { cdk.Annotations.of(node).addWarning(`${AutoScalingGroupRequireImdsv2Aspect.name} failed on node ${node.node.id}: ${message}`); } } diff --git a/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-action.ts b/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-action.ts index 35b397e81dd04..78e64b28cb429 100644 --- a/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-action.ts +++ b/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-action.ts @@ -3,10 +3,6 @@ import { Construct } from 'constructs'; import { IAutoScalingGroup } from './auto-scaling-group'; import { CfnScalingPolicy } from './autoscaling.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for a scaling policy */ @@ -64,7 +60,7 @@ export interface StepScalingActionProps { * * This Action must be used as the target of a CloudWatch alarm to take effect. */ -export class StepScalingAction extends CoreConstruct { +export class StepScalingAction extends Construct { /** * ARN of the scaling policy */ diff --git a/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-policy.ts b/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-policy.ts index 307eaf525ae55..ff96848cf048e 100644 --- a/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-policy.ts +++ b/packages/@aws-cdk/aws-autoscaling/lib/step-scaling-policy.ts @@ -5,10 +5,6 @@ import { Construct } from 'constructs'; import { IAutoScalingGroup } from './auto-scaling-group'; import { AdjustmentType, MetricAggregationType, StepScalingAction } from './step-scaling-action'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - export interface BasicStepScalingPolicyProps { /** * Metric to scale on. @@ -87,7 +83,7 @@ export interface StepScalingPolicyProps extends BasicStepScalingPolicyProps { * * Implemented using one or more CloudWatch alarms and Step Scaling Policies. */ -export class StepScalingPolicy extends CoreConstruct { +export class StepScalingPolicy extends Construct { public readonly lowerAlarm?: cloudwatch.Alarm; public readonly lowerAction?: StepScalingAction; public readonly upperAlarm?: cloudwatch.Alarm; @@ -234,7 +230,7 @@ class StepScalingAlarmAction implements cloudwatch.IAlarmAction { constructor(private readonly stepScalingAction: StepScalingAction) { } - public bind(_scope: CoreConstruct, _alarm: cloudwatch.IAlarm): cloudwatch.AlarmActionConfig { + public bind(_scope: Construct, _alarm: cloudwatch.IAlarm): cloudwatch.AlarmActionConfig { return { alarmActionArn: this.stepScalingAction.scalingPolicyArn }; } } diff --git a/packages/@aws-cdk/aws-autoscaling/lib/target-tracking-scaling-policy.ts b/packages/@aws-cdk/aws-autoscaling/lib/target-tracking-scaling-policy.ts index 9a89faef3b045..1533821459cd2 100644 --- a/packages/@aws-cdk/aws-autoscaling/lib/target-tracking-scaling-policy.ts +++ b/packages/@aws-cdk/aws-autoscaling/lib/target-tracking-scaling-policy.ts @@ -4,10 +4,6 @@ import { Construct } from 'constructs'; import { IAutoScalingGroup } from './auto-scaling-group'; import { CfnScalingPolicy } from './autoscaling.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Base interface for target tracking props * @@ -102,7 +98,7 @@ export interface TargetTrackingScalingPolicyProps extends BasicTargetTrackingSca readonly autoScalingGroup: IAutoScalingGroup; } -export class TargetTrackingScalingPolicy extends CoreConstruct { +export class TargetTrackingScalingPolicy extends Construct { /** * ARN of the scaling policy */ diff --git a/packages/@aws-cdk/aws-autoscaling/package.json b/packages/@aws-cdk/aws-autoscaling/package.json index e812110cd1448..99bc0bdb45701 100644 --- a/packages/@aws-cdk/aws-autoscaling/package.json +++ b/packages/@aws-cdk/aws-autoscaling/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-autoscaling", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AutoScaling", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_autoscaling", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -98,7 +99,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -110,10 +111,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-autoscaling/test/scaling.test.ts b/packages/@aws-cdk/aws-autoscaling/test/scaling.test.ts index d427b6afa1ff8..8d47c5746100b 100644 --- a/packages/@aws-cdk/aws-autoscaling/test/scaling.test.ts +++ b/packages/@aws-cdk/aws-autoscaling/test/scaling.test.ts @@ -3,13 +3,9 @@ import * as cloudwatch from '@aws-cdk/aws-cloudwatch'; import * as ec2 from '@aws-cdk/aws-ec2'; import * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2'; import * as cdk from '@aws-cdk/core'; -import * as constructs from 'constructs'; +import { Construct } from 'constructs'; import * as autoscaling from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - describe('scaling', () => { describe('target tracking policies', () => { test('cpu utilization', () => { @@ -333,7 +329,7 @@ class ASGFixture extends Construct { public readonly vpc: ec2.Vpc; public readonly asg: autoscaling.AutoScalingGroup; - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); this.vpc = new ec2.Vpc(this, 'VPC'); diff --git a/packages/@aws-cdk/aws-autoscalingplans/package.json b/packages/@aws-cdk/aws-autoscalingplans/package.json index 8728422c22e23..e64910c00a245 100644 --- a/packages/@aws-cdk/aws-autoscalingplans/package.json +++ b/packages/@aws-cdk/aws-autoscalingplans/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-autoscalingplans", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::AutoScalingPlans", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_autoscalingplans", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-backup/lib/backupable-resources-collector.ts b/packages/@aws-cdk/aws-backup/lib/backupable-resources-collector.ts index 85d807b67b353..f48702132f090 100644 --- a/packages/@aws-cdk/aws-backup/lib/backupable-resources-collector.ts +++ b/packages/@aws-cdk/aws-backup/lib/backupable-resources-collector.ts @@ -2,7 +2,8 @@ import * as dynamodb from '@aws-cdk/aws-dynamodb'; import * as ec2 from '@aws-cdk/aws-ec2'; import * as efs from '@aws-cdk/aws-efs'; import * as rds from '@aws-cdk/aws-rds'; -import { ArnFormat, IAspect, IConstruct, Stack } from '@aws-cdk/core'; +import { ArnFormat, IAspect, Stack } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; export class BackupableResourcesCollector implements IAspect { public readonly resources: string[] = []; diff --git a/packages/@aws-cdk/aws-backup/lib/plan.ts b/packages/@aws-cdk/aws-backup/lib/plan.ts index 5ab6fd3a45e59..632d823727b36 100644 --- a/packages/@aws-cdk/aws-backup/lib/plan.ts +++ b/packages/@aws-cdk/aws-backup/lib/plan.ts @@ -148,6 +148,8 @@ export class BackupPlan extends Resource implements IBackupPlan { for (const rule of props.backupPlanRules || []) { this.addRule(rule); } + + this.node.addValidation({ validate: () => this.validatePlan() }); } private advancedBackupSettings(props: BackupPlanProps) { @@ -215,7 +217,7 @@ export class BackupPlan extends Resource implements IBackupPlan { }); } - protected validate() { + private validatePlan() { if (this.rules.length === 0) { return ['A backup plan must have at least 1 rule.']; } diff --git a/packages/@aws-cdk/aws-backup/lib/resource.ts b/packages/@aws-cdk/aws-backup/lib/resource.ts index 46323f6838370..07ac3f2103ec0 100644 --- a/packages/@aws-cdk/aws-backup/lib/resource.ts +++ b/packages/@aws-cdk/aws-backup/lib/resource.ts @@ -5,10 +5,6 @@ import * as rds from '@aws-cdk/aws-rds'; import { Stack } from '@aws-cdk/core'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * An operation that is applied to a key-value pair */ @@ -134,11 +130,11 @@ export class BackupResource { /** * A construct */ - public readonly construct?: CoreConstruct; + public readonly construct?: Construct; constructor(resource?: string, tagCondition?: TagCondition, construct?: Construct) { this.resource = resource; this.tagCondition = tagCondition; - this.construct = construct as CoreConstruct; + this.construct = construct; } } diff --git a/packages/@aws-cdk/aws-backup/package.json b/packages/@aws-cdk/aws-backup/package.json index fe2e76f06d739..b40e801d5f428 100644 --- a/packages/@aws-cdk/aws-backup/package.json +++ b/packages/@aws-cdk/aws-backup/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-backup", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Backup", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_backup", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -98,7 +99,7 @@ "@aws-cdk/aws-rds": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-dynamodb": "0.0.0", @@ -110,10 +111,10 @@ "@aws-cdk/aws-rds": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-backup/test/selection.test.ts b/packages/@aws-cdk/aws-backup/test/selection.test.ts index 1ff32b886a908..d25cd9bb41a18 100644 --- a/packages/@aws-cdk/aws-backup/test/selection.test.ts +++ b/packages/@aws-cdk/aws-backup/test/selection.test.ts @@ -6,10 +6,6 @@ import { RemovalPolicy, Stack } from '@aws-cdk/core'; import { Construct } from 'constructs'; import { BackupPlan, BackupResource, BackupSelection } from '../lib'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - let stack: Stack; let plan: BackupPlan; beforeEach(() => { @@ -125,14 +121,14 @@ test('allow restores', () => { test('fromConstruct', () => { // GIVEN - class EfsConstruct extends CoreConstruct { + class EfsConstruct extends Construct { constructor(scope: Construct, id: string) { super(scope, id); const fs = new efs.CfnFileSystem(this, 'FileSystem'); fs.applyRemovalPolicy(RemovalPolicy.DESTROY); } } - class MyConstruct extends CoreConstruct { + class MyConstruct extends Construct { constructor(scope: Construct, id: string) { super(scope, id); diff --git a/packages/@aws-cdk/aws-batch/lib/job-definition-image-config.ts b/packages/@aws-cdk/aws-batch/lib/job-definition-image-config.ts index ba3c0c1740597..f212883ce07da 100644 --- a/packages/@aws-cdk/aws-batch/lib/job-definition-image-config.ts +++ b/packages/@aws-cdk/aws-batch/lib/job-definition-image-config.ts @@ -3,10 +3,6 @@ import * as iam from '@aws-cdk/aws-iam'; import { Construct } from 'constructs'; import { JobDefinitionContainer } from './job-definition'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * TaskDefinitionRole * @@ -68,7 +64,7 @@ export class JobDefinitionImageConfig { } private bindImageConfig(scope: Construct, container: JobDefinitionContainer): ecs.ContainerImageConfig { - return container.image.bind(scope as CoreConstruct, new ecs.ContainerDefinition(scope, 'Resource-Batch-Job-Container-Definition', { + return container.image.bind(scope, new ecs.ContainerDefinition(scope, 'Resource-Batch-Job-Container-Definition', { command: container.command, cpu: container.vcpus, image: container.image, diff --git a/packages/@aws-cdk/aws-batch/package.json b/packages/@aws-cdk/aws-batch/package.json index 46cc95f836835..5c7e8da64d1c6 100644 --- a/packages/@aws-cdk/aws-batch/package.json +++ b/packages/@aws-cdk/aws-batch/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-batch", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Batch", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_batch", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -106,10 +107,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -117,6 +118,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-billingconductor/package.json b/packages/@aws-cdk/aws-billingconductor/package.json index 4d6aaffcbb792..e0ead919c9924 100644 --- a/packages/@aws-cdk/aws-billingconductor/package.json +++ b/packages/@aws-cdk/aws-billingconductor/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-billingconductor", "module": "aws_cdk.aws_billingconductor" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-budgets/package.json b/packages/@aws-cdk/aws-budgets/package.json index 29a6d2436d714..8f16089552085 100644 --- a/packages/@aws-cdk/aws-budgets/package.json +++ b/packages/@aws-cdk/aws-budgets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-budgets", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Budgets", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_budgets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-cassandra/package.json b/packages/@aws-cdk/aws-cassandra/package.json index 08c80355f676b..2c7369bc8f965 100644 --- a/packages/@aws-cdk/aws-cassandra/package.json +++ b/packages/@aws-cdk/aws-cassandra/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cassandra", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Cassandra", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cassandra", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-ce/package.json b/packages/@aws-cdk/aws-ce/package.json index 89453a1292506..540e988085ec9 100644 --- a/packages/@aws-cdk/aws-ce/package.json +++ b/packages/@aws-cdk/aws-ce/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ce", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CE", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ce", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-certificatemanager/lib/dns-validated-certificate.ts b/packages/@aws-cdk/aws-certificatemanager/lib/dns-validated-certificate.ts index db7dc6f1f8663..a56b5efdceab5 100644 --- a/packages/@aws-cdk/aws-certificatemanager/lib/dns-validated-certificate.ts +++ b/packages/@aws-cdk/aws-certificatemanager/lib/dns-validated-certificate.ts @@ -131,9 +131,11 @@ export class DnsValidatedCertificate extends CertificateBase implements ICertifi }); this.certificateArn = certificate.getAtt('Arn').toString(); + + this.node.addValidation({ validate: () => this.validateDnsValidatedCertificate() }); } - protected validate(): string[] { + private validateDnsValidatedCertificate(): string[] { const errors: string[] = []; // Ensure the zone name is a parent zone of the certificate domain name if (!cdk.Token.isUnresolved(this.normalizedZoneName) && diff --git a/packages/@aws-cdk/aws-certificatemanager/package.json b/packages/@aws-cdk/aws-certificatemanager/package.json index 2b3414ac0e7c8..9ced3ee95d4c4 100644 --- a/packages/@aws-cdk/aws-certificatemanager/package.json +++ b/packages/@aws-cdk/aws-certificatemanager/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-certificatemanager", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CertificateManager", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_certificatemanager", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,7 +93,7 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-route53": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -102,10 +103,10 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-route53": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -120,6 +121,6 @@ }, "maturity": "stable", "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-chatbot/package.json b/packages/@aws-cdk/aws-chatbot/package.json index 8567509f7c3f7..31c910d1b6b4c 100644 --- a/packages/@aws-cdk/aws-chatbot/package.json +++ b/packages/@aws-cdk/aws-chatbot/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-chatbot", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Chatbot", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_chatbot", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,7 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-cloudwatch": "0.0.0", @@ -104,10 +105,10 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-chatbot/test/chatbot-logretention.integ.snapshot/ChatbotLogRetentionInteg.assets.json b/packages/@aws-cdk/aws-chatbot/test/chatbot-logretention.integ.snapshot/ChatbotLogRetentionInteg.assets.json new file mode 100644 index 0000000000000..212a06cae494c --- /dev/null +++ b/packages/@aws-cdk/aws-chatbot/test/chatbot-logretention.integ.snapshot/ChatbotLogRetentionInteg.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665": { + "source": { + "path": "asset.22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7fabde8f4c696562c2e0059eeee9b6caec13cde697eb23f1a1b66dd2eb4b2e87": { + "source": { + "path": "ChatbotLogRetentionInteg.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7fabde8f4c696562c2e0059eeee9b6caec13cde697eb23f1a1b66dd2eb4b2e87.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-chatbot/test/chatbot-logretention.integ.snapshot/tree.json b/packages/@aws-cdk/aws-chatbot/test/chatbot-logretention.integ.snapshot/tree.json index 6b04b11ff2c71..732c459f9dbec 100644 --- a/packages/@aws-cdk/aws-chatbot/test/chatbot-logretention.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-chatbot/test/chatbot-logretention.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ChatbotLogRetentionInteg": { @@ -272,8 +272,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -310,14 +310,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-cloud9/package.json b/packages/@aws-cdk/aws-cloud9/package.json index d43a45aacbd9e..989c37a374124 100644 --- a/packages/@aws-cdk/aws-cloud9/package.json +++ b/packages/@aws-cdk/aws-cloud9/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cloud9", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Cloud9", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cloud9", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -91,17 +92,17 @@ "@aws-cdk/aws-codecommit": "0.0.0", "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-codecommit": "0.0.0", "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -118,6 +119,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-cloudformation/lib/custom-resource.ts b/packages/@aws-cdk/aws-cloudformation/lib/custom-resource.ts index b71a9f56aea61..d339cb345636e 100644 --- a/packages/@aws-cdk/aws-cloudformation/lib/custom-resource.ts +++ b/packages/@aws-cdk/aws-cloudformation/lib/custom-resource.ts @@ -1,10 +1,7 @@ import * as lambda from '@aws-cdk/aws-lambda'; import * as sns from '@aws-cdk/aws-sns'; import * as core from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Collection of arbitrary properties diff --git a/packages/@aws-cdk/aws-cloudformation/lib/nested-stack.ts b/packages/@aws-cdk/aws-cloudformation/lib/nested-stack.ts index c72d94598ecfc..21a0d00b7909c 100644 --- a/packages/@aws-cdk/aws-cloudformation/lib/nested-stack.ts +++ b/packages/@aws-cdk/aws-cloudformation/lib/nested-stack.ts @@ -1,9 +1,6 @@ import * as sns from '@aws-cdk/aws-sns'; import * as core from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Initialization props for the `NestedStack` construct. diff --git a/packages/@aws-cdk/aws-cloudformation/package.json b/packages/@aws-cdk/aws-cloudformation/package.json index 90f185c71e2d0..2bb4b8a30de62 100644 --- a/packages/@aws-cdk/aws-cloudformation/package.json +++ b/packages/@aws-cdk/aws-cloudformation/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cloudformation", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CloudFormation", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cloudformation", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -97,7 +98,7 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -107,10 +108,10 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-cloudformation/test/deps.test.ts b/packages/@aws-cdk/aws-cloudformation/test/deps.test.ts index 1e814b754eece..980f17ef6fcb9 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/deps.test.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/deps.test.ts @@ -18,9 +18,8 @@ describe('resource dependencies', () => { r1.addDependsOn(r2); // THEN - expect(app.synth().getStackArtifact(stack.artifactId).template).toEqual({ - Resources: - { r1: { Type: 'r1', DependsOn: ['r2'] }, r2: { Type: 'r2' } }, + expect(app.synth().getStackArtifact(stack.artifactId).template?.Resources).toEqual({ + r1: { Type: 'r1', DependsOn: ['r2'] }, r2: { Type: 'r2' }, }); }); @@ -98,7 +97,7 @@ describe('resource dependencies', () => { // eslint-disable-next-line jest/valid-describe describeDeprecated('resource in sibling stack depends on a resource in nested stack', matrixForResourceDependencyTest((addDep) => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const nested1 = new NestedStack(stack1, 'Nested1'); const resourceInNested1 = new CfnResource(nested1, 'ResourceInNested', { type: 'NESTED' }); @@ -120,7 +119,7 @@ describe('resource dependencies', () => { // eslint-disable-next-line jest/valid-describe describeDeprecated('resource in nested stack depends on a resource in sibling stack', matrixForResourceDependencyTest((addDep) => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const nested1 = new NestedStack(stack1, 'Nested1'); const resourceInNested1 = new CfnResource(nested1, 'ResourceInNested', { type: 'NESTED' }); @@ -166,7 +165,7 @@ describe('resource dependencies', () => { describe('stack dependencies', () => { test('top level stack depends on itself', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'Stack'); // WHEN @@ -264,7 +263,7 @@ describe('stack dependencies', () => { testDeprecated('top-level stack depends on a nested stack within a sibling', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const nested1 = new NestedStack(stack1, 'Nested1'); const stack2 = new Stack(app, 'Stack2'); @@ -283,7 +282,7 @@ describe('stack dependencies', () => { testDeprecated('nested stack within a sibling depends on top-level stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const nested1 = new NestedStack(stack1, 'Nested1'); const stack2 = new Stack(app, 'Stack2'); diff --git a/packages/@aws-cdk/aws-cloudformation/test/integ.core-custom-resources.ts b/packages/@aws-cdk/aws-cloudformation/test/integ.core-custom-resources.ts index 0b3fe66814d63..12f427e7e59d7 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/integ.core-custom-resources.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/integ.core-custom-resources.ts @@ -11,7 +11,7 @@ import { App, CfnOutput, CustomResource, CustomResourceProvider, CustomResourceP // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /* eslint-disable @aws-cdk/no-core-construct */ diff --git a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stack.ts b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stack.ts index 5db6b28dda2fa..d02ba67c5c47d 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stack.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stack.ts @@ -6,7 +6,7 @@ import { App, CfnParameter, NestedStack, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /* eslint-disable @aws-cdk/no-core-construct */ diff --git a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-assets.ts b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-assets.ts index 8d883213f00ce..2a27565973b3e 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-assets.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-assets.ts @@ -5,7 +5,7 @@ import { App, NestedStack, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /* eslint-disable @aws-cdk/no-core-construct */ diff --git a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-multi.ts b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-multi.ts index f16fd9a9cbad3..ebbe5b3817156 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-multi.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-multi.ts @@ -4,7 +4,7 @@ import { App, NestedStack, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /* eslint-disable @aws-cdk/no-core-construct */ diff --git a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs1.ts b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs1.ts index 74b2c50f321fc..b56fdde6447f7 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs1.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs1.ts @@ -9,7 +9,7 @@ import { App, NestedStack, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; class ConsumerNestedStack extends NestedStack { constructor(scope: Construct, id: string, topic: sns.Topic) { diff --git a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs2.ts b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs2.ts index 43d8c9e89edfb..cc1c2bd2de044 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs2.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs2.ts @@ -4,12 +4,10 @@ import { App, Fn, NestedStack, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; // non-nested non-parent stack consumes a resource from a nested stack -/* eslint-disable @aws-cdk/no-core-construct */ - class ProducerNestedStack extends NestedStack { public readonly topic: sns.Topic; diff --git a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs3.ts b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs3.ts index c055e3c77137c..0c05507f58620 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs3.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/integ.nested-stacks-refs3.ts @@ -4,12 +4,10 @@ import { App, Fn, NestedStack, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; // references between siblings -/* eslint-disable @aws-cdk/no-core-construct */ - class ProducerNestedStack extends NestedStack { public readonly topic: sns.Topic; diff --git a/packages/@aws-cdk/aws-cloudformation/test/nested-stack.test.ts b/packages/@aws-cdk/aws-cloudformation/test/nested-stack.test.ts index 2b0445fb34d3b..a2e14283e5302 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/nested-stack.test.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/nested-stack.test.ts @@ -4,18 +4,18 @@ import { Template } from '@aws-cdk/assertions'; import * as s3_assets from '@aws-cdk/aws-s3-assets'; import * as sns from '@aws-cdk/aws-sns'; import { describeDeprecated } from '@aws-cdk/cdk-build-tools'; -import { App, CfnParameter, CfnResource, ContextProvider, LegacyStackSynthesizer, Names, Stack, Tags } from '@aws-cdk/core'; +import { App, CfnParameter, CfnResource, ContextProvider, LegacyStackSynthesizer, Names, Stack } from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import { NestedStack } from '../lib/nested-stack'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /* eslint-disable @aws-cdk/no-core-construct */ /* eslint-disable max-len */ describeDeprecated('NestedStack', () => { - test('fails if defined as a root', () => { // THEN expect(() => new NestedStack(undefined as any, 'boom')).toThrow(/Nested stacks cannot be defined as a root construct/); @@ -42,7 +42,7 @@ describeDeprecated('NestedStack', () => { test('nested stack is not synthesized as a stack artifact into the assembly', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parentStack = new Stack(app, 'parent-stack'); new NestedStack(parentStack, 'nested-stack'); @@ -76,7 +76,7 @@ describeDeprecated('NestedStack', () => { test('file asset metadata is associated with the parent stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parent = new Stack(app, 'parent-stack'); const nested = new NestedStack(parent, 'nested-stack'); new CfnResource(nested, 'ResourceInNestedStack', { type: 'AWS::Resource::Nested' }); @@ -98,7 +98,7 @@ describeDeprecated('NestedStack', () => { test('aws::cloudformation::stack is synthesized in the parent scope', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parent = new Stack(app, 'parent-stack'); // WHEN @@ -228,7 +228,7 @@ describeDeprecated('NestedStack', () => { } } - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parent = new Stack(app, 'parent'); new MyNestedStack(parent, 'nested'); @@ -368,7 +368,7 @@ describeDeprecated('NestedStack', () => { test('nested stack references a resource from another non-nested stack (not the parent)', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const stack2 = new Stack(app, 'Stack2'); const nestedUnderStack1 = new NestedStack(stack1, 'NestedUnderStack1'); @@ -422,7 +422,7 @@ describeDeprecated('NestedStack', () => { test('nested stack within a nested stack references a resource in a sibling top-level stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const consumerTopLevel = new Stack(app, 'ConsumerTopLevel'); const consumerNested1 = new NestedStack(consumerTopLevel, 'ConsumerNested1'); const consumerNested2 = new NestedStack(consumerNested1, 'ConsumerNested2'); @@ -445,7 +445,7 @@ describeDeprecated('NestedStack', () => { test('another non-nested stack takes a reference on a resource within the nested stack (the parent exports)', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const stack2 = new Stack(app, 'Stack2'); const nestedUnderStack1 = new NestedStack(stack1, 'NestedUnderStack1'); @@ -674,7 +674,7 @@ describeDeprecated('NestedStack', () => { test('double-nested stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parent = new Stack(app, 'stack'); // WHEN @@ -761,7 +761,7 @@ describeDeprecated('NestedStack', () => { test('assets within nested stacks are proxied from the parent', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parent = new Stack(app, 'ParentStack'); const nested = new NestedStack(parent, 'NestedStack'); @@ -806,7 +806,7 @@ describeDeprecated('NestedStack', () => { test('docker image assets are wired through the top-level stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parent = new Stack(app, 'my-stack'); const nested = new NestedStack(parent, 'nested-stack'); @@ -971,7 +971,7 @@ describeDeprecated('NestedStack', () => { test('references to a resource from a deeply nested stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const top = new Stack(app, 'stack'); const topLevel = new CfnResource(top, 'toplevel', { type: 'TopLevel' }); const nested1 = new NestedStack(top, 'nested1'); @@ -1027,7 +1027,7 @@ describeDeprecated('NestedStack', () => { test('bottom nested stack consumes value from a top-level stack through a parameter in a middle nested stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const top = new Stack(app, 'Grandparent'); const middle = new NestedStack(top, 'Parent'); const bottom = new NestedStack(middle, 'Child'); @@ -1084,50 +1084,4 @@ describeDeprecated('NestedStack', () => { }, }); }); - - test('nested stack should get the tags added in root stack', () =>{ - const app = new App(); - const parentStack = new Stack(app, 'parent-stack'); - const nestedStack = new NestedStack(parentStack, 'MyNestedStack'); - - // add tags - Tags.of(nestedStack).add('tag-1', '22'); - Tags.of(nestedStack).add('tag-2', '33'); - - new sns.Topic(nestedStack, 'MyTopic'); - - // THEN - Template.fromStack(parentStack).hasResourceProperties( - 'AWS::CloudFormation::Stack', - { - Tags: [ - { - Key: 'tag-1', - Value: '22', - }, - { - Key: 'tag-2', - Value: '33', - }, - ], - }, - ); - - Template.fromStack(nestedStack).hasResourceProperties( - 'AWS::SNS::Topic', - { - Tags: [ - { - Key: 'tag-1', - Value: '22', - }, - { - Key: 'tag-2', - Value: '33', - }, - ], - }, - ); - }); - }); diff --git a/packages/@aws-cdk/aws-cloudformation/test/resource.test.ts b/packages/@aws-cdk/aws-cloudformation/test/resource.test.ts index e2f6eae16f3b3..5d94702ba143a 100644 --- a/packages/@aws-cdk/aws-cloudformation/test/resource.test.ts +++ b/packages/@aws-cdk/aws-cloudformation/test/resource.test.ts @@ -7,7 +7,7 @@ import { CustomResource, CustomResourceProvider } from '../lib'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /* eslint-disable @aws-cdk/no-core-construct */ /* eslint-disable quote-props */ diff --git a/packages/@aws-cdk/aws-cloudfront-origins/lib/origin-group.ts b/packages/@aws-cdk/aws-cloudfront-origins/lib/origin-group.ts index 8fa8284e62ea9..7b49d8501f17f 100644 --- a/packages/@aws-cdk/aws-cloudfront-origins/lib/origin-group.ts +++ b/packages/@aws-cdk/aws-cloudfront-origins/lib/origin-group.ts @@ -1,5 +1,5 @@ import * as cloudfront from '@aws-cdk/aws-cloudfront'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** Construction properties for {@link OriginGroup}. */ export interface OriginGroupProps { diff --git a/packages/@aws-cdk/aws-cloudfront-origins/lib/s3-origin.ts b/packages/@aws-cdk/aws-cloudfront-origins/lib/s3-origin.ts index 4243c0dff1fb6..6f82b5afcf73c 100644 --- a/packages/@aws-cdk/aws-cloudfront-origins/lib/s3-origin.ts +++ b/packages/@aws-cdk/aws-cloudfront-origins/lib/s3-origin.ts @@ -2,12 +2,9 @@ import * as cloudfront from '@aws-cdk/aws-cloudfront'; import * as iam from '@aws-cdk/aws-iam'; import * as s3 from '@aws-cdk/aws-s3'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { HttpOrigin } from './http-origin'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties to use to customize an S3 Origin. */ diff --git a/packages/@aws-cdk/aws-cloudfront-origins/package.json b/packages/@aws-cdk/aws-cloudfront-origins/package.json index ebd025912e116..c40ca512d7515 100644 --- a/packages/@aws-cdk/aws-cloudfront-origins/package.json +++ b/packages/@aws-cdk/aws-cloudfront-origins/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cloudfront-origins", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS CloudFront Origins", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cloudfront_origins", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,7 +93,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -102,10 +103,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -113,6 +114,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-cloudfront/lib/distribution.ts b/packages/@aws-cdk/aws-cloudfront/lib/distribution.ts index 2e6725aa950f0..4c6932d76e746 100644 --- a/packages/@aws-cdk/aws-cloudfront/lib/distribution.ts +++ b/packages/@aws-cdk/aws-cloudfront/lib/distribution.ts @@ -14,10 +14,6 @@ import { IOriginRequestPolicy } from './origin-request-policy'; import { CacheBehavior } from './private/cache-behavior'; import { IResponseHeadersPolicy } from './response-headers-policy'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Interface for CloudFront distributions */ @@ -357,7 +353,7 @@ export class Distribution extends Resource implements IDistribution { return existingOrigin.originGroupId ?? existingOrigin.originId; } else { const originIndex = this.boundOrigins.length + 1; - const scope = new CoreConstruct(this, `Origin${originIndex}`); + const scope = new Construct(this, `Origin${originIndex}`); const originId = Names.uniqueId(scope).slice(-ORIGIN_ID_MAX_LENGTH); const originBindConfig = origin.bind(scope, { originId }); if (!originBindConfig.failoverConfig) { @@ -367,7 +363,7 @@ export class Distribution extends Resource implements IDistribution { throw new Error('An Origin cannot use an Origin with its own failover configuration as its fallback origin!'); } const groupIndex = this.originGroups.length + 1; - const originGroupId = Names.uniqueId(new CoreConstruct(this, `OriginGroup${groupIndex}`)).slice(-ORIGIN_ID_MAX_LENGTH); + const originGroupId = Names.uniqueId(new Construct(this, `OriginGroup${groupIndex}`)).slice(-ORIGIN_ID_MAX_LENGTH); this.boundOrigins.push({ origin, originId, originGroupId, ...originBindConfig }); const failoverOriginId = this.addOrigin(originBindConfig.failoverConfig.failoverOrigin, true); diff --git a/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts b/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts index f7f2b445a3306..a4c485c46b7a7 100644 --- a/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts +++ b/packages/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts @@ -5,11 +5,12 @@ import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; import * as ssm from '@aws-cdk/aws-ssm'; import { - CfnResource, ConstructNode, + CfnResource, CustomResource, CustomResourceProvider, CustomResourceProviderRuntime, Lazy, Resource, Stack, Stage, Token, } from '@aws-cdk/core'; -import { Construct } from 'constructs'; + +import { Construct, Node } from 'constructs'; /** * Properties for creating a Lambda@Edge function @@ -43,7 +44,7 @@ export class EdgeFunction extends Resource implements lambda.IVersion { public readonly functionArn: string; public readonly grantPrincipal: iam.IPrincipal; public readonly isBoundToVpc = false; - public readonly permissionsNode: ConstructNode; + public readonly permissionsNode: Node; public readonly role?: iam.IRole; public readonly version: string; public readonly architecture: lambda.Architecture; diff --git a/packages/@aws-cdk/aws-cloudfront/lib/origin.ts b/packages/@aws-cdk/aws-cloudfront/lib/origin.ts index 7addd7d4ebaca..9ceaabfdab756 100644 --- a/packages/@aws-cdk/aws-cloudfront/lib/origin.ts +++ b/packages/@aws-cdk/aws-cloudfront/lib/origin.ts @@ -3,7 +3,7 @@ import { CfnDistribution } from './cloudfront.generated'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The failover configuration used for Origin Groups, diff --git a/packages/@aws-cdk/aws-cloudfront/package.json b/packages/@aws-cdk/aws-cloudfront/package.json index 46693799c2754..296d8b40ecd93 100644 --- a/packages/@aws-cdk/aws-cloudfront/package.json +++ b/packages/@aws-cdk/aws-cloudfront/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cloudfront", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CloudFront", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cloudfront", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -99,7 +100,7 @@ "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -113,10 +114,10 @@ "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -179,6 +180,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-cloudfront/test/cloudfront-lambda-association.integ.snapshot/aws-cdk-cloudfront.assets.json b/packages/@aws-cdk/aws-cloudfront/test/cloudfront-lambda-association.integ.snapshot/aws-cdk-cloudfront.assets.json new file mode 100644 index 0000000000000..5bad33c3f9b02 --- /dev/null +++ b/packages/@aws-cdk/aws-cloudfront/test/cloudfront-lambda-association.integ.snapshot/aws-cdk-cloudfront.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b7f2d775309c242773f2f8f1b4c4b184061177e57c8e1a6636c271cf3ad3973f": { + "source": { + "path": "aws-cdk-cloudfront.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b7f2d775309c242773f2f8f1b4c4b184061177e57c8e1a6636c271cf3ad3973f.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-cloudfront/test/cloudfront-lambda-association.integ.snapshot/tree.json b/packages/@aws-cdk/aws-cloudfront/test/cloudfront-lambda-association.integ.snapshot/tree.json index c03f006e3985e..65311d08fa27e 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/cloudfront-lambda-association.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-cloudfront/test/cloudfront-lambda-association.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-cloudfront": { diff --git a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/manifest.json index 4d26ab384df15..c6bcdf0c790de 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/manifest.json @@ -121,6 +121,15 @@ "type": "aws:cdk:logicalId", "data": "LambdaAliaslive79C8A712" } + ], + "LambdaCurrentVersionDF706F6A8cedba3e8e1b3bbf7614644bfafda118": [ + { + "type": "aws:cdk:logicalId", + "data": "LambdaCurrentVersionDF706F6A8cedba3e8e1b3bbf7614644bfafda118", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "edge-lambda-stack-c8363f8375cbe20a55dbe2aafe5dcee3889b0631e6" @@ -162,6 +171,15 @@ "type": "aws:cdk:logicalId", "data": "Lambda2Aliaslive77F6085F" } + ], + "Lambda2CurrentVersion72012B74f573e76ebc7c7027f95b6b63cc2c7d0f": [ + { + "type": "aws:cdk:logicalId", + "data": "Lambda2CurrentVersion72012B74f573e76ebc7c7027f95b6b63cc2c7d0f", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "edge-lambda-stack-eu-west-1-2" diff --git a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/tree.json b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/tree.json index adcd8e1aa7a0f..86198251b247c 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda-cross-region.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-distribution-lambda-cross-region": { @@ -112,14 +112,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Lambda2": { @@ -158,8 +158,8 @@ "id": "Origin1", "path": "integ-distribution-lambda-cross-region/Dist/Origin1", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Resource": { diff --git a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/integ-distribution-lambda.assets.json b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/integ-distribution-lambda.assets.json new file mode 100644 index 0000000000000..210d398652fff --- /dev/null +++ b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/integ-distribution-lambda.assets.json @@ -0,0 +1,20 @@ +{ + "version": "17.0.0", + "files": { + "5d71e3ac2d145356aae52a6276477f3e009cf1b62e6ede8b2d9450b7f732191d": { + "source": { + "path": "integ-distribution-lambda.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "5d71e3ac2d145356aae52a6276477f3e009cf1b62e6ede8b2d9450b7f732191d.json", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/manifest.json index 77db96a39724b..4112bad5b133f 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/manifest.json @@ -39,10 +39,10 @@ "data": "DistB3B78991" } ], - "LambdaCurrentVersionDF706F6A9a632a294ae3a9cd4d550f1c4e26619d": [ + "LambdaCurrentVersionDF706F6A8cedba3e8e1b3bbf7614644bfafda118": [ { "type": "aws:cdk:logicalId", - "data": "LambdaCurrentVersionDF706F6A9a632a294ae3a9cd4d550f1c4e26619d", + "data": "LambdaCurrentVersionDF706F6A8cedba3e8e1b3bbf7614644bfafda118", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/tree.json b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/tree.json index 7c6b25d4f82fc..be1ecc360bdce 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-cloudfront/test/distribution-lambda.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-distribution-lambda": { @@ -136,8 +136,8 @@ "id": "Origin1", "path": "integ-distribution-lambda/Dist/Origin1", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Resource": { diff --git a/packages/@aws-cdk/aws-cloudfront/test/distribution.test.ts b/packages/@aws-cdk/aws-cloudfront/test/distribution.test.ts index 15070c5bc2e82..8ca2c37562fc9 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/distribution.test.ts +++ b/packages/@aws-cdk/aws-cloudfront/test/distribution.test.ts @@ -728,7 +728,7 @@ describe('with Lambda@Edge functions', () => { EventType: 'origin-request', IncludeBody: true, LambdaFunctionARN: { - Ref: 'FunctionCurrentVersion4E2B2261477a5ae8059bbaa7813f752292c0f65e', + Ref: 'FunctionCurrentVersion4E2B2261f9b8c8b9c774af866281167c3323362d', }, }, ], @@ -798,7 +798,7 @@ describe('with Lambda@Edge functions', () => { { EventType: 'viewer-request', LambdaFunctionARN: { - Ref: 'FunctionCurrentVersion4E2B2261477a5ae8059bbaa7813f752292c0f65e', + Ref: 'FunctionCurrentVersion4E2B2261f9b8c8b9c774af866281167c3323362d', }, }, ], @@ -904,7 +904,7 @@ describe('with Lambda@Edge functions', () => { { EventType: 'origin-request', LambdaFunctionARN: { - Ref: 'SingletonLambdasingletonforcloudfrontCurrentVersion0078406348a0962a52448a200cd0dbc0e22edb2a', + Ref: 'SingletonLambdasingletonforcloudfrontCurrentVersion00784063de5dfb6e46a8d2a0436a69c9a8bfabae', }, }, ], diff --git a/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts b/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts index 5b4a73f965930..28e1567bf09d2 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts +++ b/packages/@aws-cdk/aws-cloudfront/test/experimental/edge-function.test.ts @@ -97,7 +97,7 @@ describe('stacks', () => { }); Template.fromStack(fnStack).hasResourceProperties('AWS::SSM::Parameter', { Type: 'String', - Value: { Ref: 'MyFnCurrentVersion309B29FC29686ce94039b6e08d1645be854b3ac9' }, + Value: { Ref: 'MyFnCurrentVersion309B29FC37a9dfc56f4df872af37f8a33a191788' }, Name: '/cdk/EdgeFunctionArn/testregion/Stack/MyFn', }); }); diff --git a/packages/@aws-cdk/aws-cloudfront/test/test-origin.ts b/packages/@aws-cdk/aws-cloudfront/test/test-origin.ts index 4f35bcba4394c..6c7f1bfcba0d6 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/test-origin.ts +++ b/packages/@aws-cdk/aws-cloudfront/test/test-origin.ts @@ -1,9 +1,6 @@ +import { Construct } from 'constructs'; import { CfnDistribution, IOrigin, OriginBase, OriginBindConfig, OriginBindOptions, OriginProps, OriginProtocolPolicy } from '../lib'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct } from '@aws-cdk/core'; - /** Used for testing common Origin functionality */ export class TestOrigin extends OriginBase { constructor(domainName: string, props: OriginProps = {}) { super(domainName, props); } diff --git a/packages/@aws-cdk/aws-cloudfront/test/web-distribution.test.ts b/packages/@aws-cdk/aws-cloudfront/test/web-distribution.test.ts index 36b5b16e6b3a2..357662daebd3b 100644 --- a/packages/@aws-cdk/aws-cloudfront/test/web-distribution.test.ts +++ b/packages/@aws-cdk/aws-cloudfront/test/web-distribution.test.ts @@ -871,7 +871,7 @@ added the ellipsis so a user would know there was more to r...`, 'EventType': 'origin-request', 'IncludeBody': true, 'LambdaFunctionARN': { - 'Ref': 'LambdaCurrentVersionDF706F6A97fb843e9bd06fcd2bb15eeace80e13e', + 'Ref': 'LambdaCurrentVersionDF706F6A25bf7d67df4eb614ea2e1ea69c8759b6', }, }, ], diff --git a/packages/@aws-cdk/aws-cloudtrail/package.json b/packages/@aws-cdk/aws-cloudtrail/package.json index b707645c6df4a..d334d27ae1425 100644 --- a/packages/@aws-cdk/aws-cloudtrail/package.json +++ b/packages/@aws-cdk/aws-cloudtrail/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cloudtrail", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CloudTrail", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cloudtrail", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -97,7 +98,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -109,7 +110,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "awslint": { "exclude": [ @@ -117,7 +118,7 @@ ] }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail-supplied-bucket.lit.integ.snapshot/integ-cloudtrail.assets.json b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail-supplied-bucket.lit.integ.snapshot/integ-cloudtrail.assets.json new file mode 100644 index 0000000000000..289647bc605ac --- /dev/null +++ b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail-supplied-bucket.lit.integ.snapshot/integ-cloudtrail.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "cf03ffea2d3ee54d24684eaadc86ab685b156cb4cbece99820c33678666e23a1": { + "source": { + "path": "integ-cloudtrail.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "cf03ffea2d3ee54d24684eaadc86ab685b156cb4cbece99820c33678666e23a1.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail-supplied-bucket.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail-supplied-bucket.lit.integ.snapshot/tree.json index f09a9fcb0781f..ed6f2b48f5665 100644 --- a/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail-supplied-bucket.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail-supplied-bucket.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-cloudtrail": { @@ -200,14 +200,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LambdaFunction": { diff --git a/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail.lit.integ.snapshot/integ-cloudtrail.assets.json b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail.lit.integ.snapshot/integ-cloudtrail.assets.json new file mode 100644 index 0000000000000..458f38a8ebcd2 --- /dev/null +++ b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail.lit.integ.snapshot/integ-cloudtrail.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c8be8959996a649817bc3de64dbe23e46785c01e3d390142f9510c0388e57735": { + "source": { + "path": "integ-cloudtrail.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c8be8959996a649817bc3de64dbe23e46785c01e3d390142f9510c0388e57735.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail.lit.integ.snapshot/tree.json index 9c82952617619..532eeb0c87f7c 100644 --- a/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-cloudtrail/test/cloudtrail.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-cloudtrail": { @@ -200,14 +200,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Topic": { diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/lib/appscaling.ts b/packages/@aws-cdk/aws-cloudwatch-actions/lib/appscaling.ts index a37f6badf5ecb..d548120e1c716 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/lib/appscaling.ts +++ b/packages/@aws-cdk/aws-cloudwatch-actions/lib/appscaling.ts @@ -1,9 +1,6 @@ import * as appscaling from '@aws-cdk/aws-applicationautoscaling'; import * as cloudwatch from '@aws-cdk/aws-cloudwatch'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use an ApplicationAutoScaling StepScalingAction as an Alarm Action diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/lib/autoscaling.ts b/packages/@aws-cdk/aws-cloudwatch-actions/lib/autoscaling.ts index 2ce075d4cd129..0c4ad825572c9 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/lib/autoscaling.ts +++ b/packages/@aws-cdk/aws-cloudwatch-actions/lib/autoscaling.ts @@ -1,9 +1,6 @@ import * as autoscaling from '@aws-cdk/aws-autoscaling'; import * as cloudwatch from '@aws-cdk/aws-cloudwatch'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use an AutoScaling StepScalingAction as an Alarm Action diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/lib/ec2.ts b/packages/@aws-cdk/aws-cloudwatch-actions/lib/ec2.ts index 568a03b30fbbe..5fbabfa7c8472 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/lib/ec2.ts +++ b/packages/@aws-cdk/aws-cloudwatch-actions/lib/ec2.ts @@ -3,7 +3,7 @@ import { Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Types of EC2 actions available diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/lib/sns.ts b/packages/@aws-cdk/aws-cloudwatch-actions/lib/sns.ts index deb882be507b3..a7c11f9dba918 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/lib/sns.ts +++ b/packages/@aws-cdk/aws-cloudwatch-actions/lib/sns.ts @@ -1,6 +1,6 @@ import * as cloudwatch from '@aws-cdk/aws-cloudwatch'; import * as sns from '@aws-cdk/aws-sns'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use an SNS topic as an alarm action diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/lib/ssm.ts b/packages/@aws-cdk/aws-cloudwatch-actions/lib/ssm.ts index db79030f15cde..611d2b5a4fac2 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/lib/ssm.ts +++ b/packages/@aws-cdk/aws-cloudwatch-actions/lib/ssm.ts @@ -3,7 +3,7 @@ import { Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Types of OpsItem severity available diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/package.json b/packages/@aws-cdk/aws-cloudwatch-actions/package.json index 205eb99d578ae..ff6689447ee9a 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/package.json +++ b/packages/@aws-cdk/aws-cloudwatch-actions/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cloudwatch-actions", "version": "0.0.0", + "private": true, "description": "Alarm Actions for AWS CloudWatch CDK library", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cloudwatch_actions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,7 +88,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -97,10 +98,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-cloudwatch/lib/alarm-action.ts b/packages/@aws-cdk/aws-cloudwatch/lib/alarm-action.ts index fb7afe98d7725..da3676162e32f 100644 --- a/packages/@aws-cdk/aws-cloudwatch/lib/alarm-action.ts +++ b/packages/@aws-cdk/aws-cloudwatch/lib/alarm-action.ts @@ -1,9 +1,8 @@ - import { IAlarm } from './alarm-base'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Interface for objects that can be the targets of CloudWatch alarm actions diff --git a/packages/@aws-cdk/aws-cloudwatch/lib/metric.ts b/packages/@aws-cdk/aws-cloudwatch/lib/metric.ts index 2e8a14e08cf08..5d7955dc686cb 100644 --- a/packages/@aws-cdk/aws-cloudwatch/lib/metric.ts +++ b/packages/@aws-cdk/aws-cloudwatch/lib/metric.ts @@ -1,15 +1,11 @@ import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; -import * as constructs from 'constructs'; +import { Construct, IConstruct } from 'constructs'; import { Alarm, ComparisonOperator, TreatMissingData } from './alarm'; import { Dimension, IMetric, MetricAlarmConfig, MetricConfig, MetricGraphConfig, Unit } from './metric-types'; import { dispatchMetric, metricKey } from './private/metric-util'; import { normalizeStatistic, parseStatistic } from './private/statistic'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export type DimensionHash = {[dim: string]: any}; export type DimensionsMap = { [dim: string]: string }; @@ -350,7 +346,7 @@ export class Metric implements IMetric { * If the scope we attach to is in an environment-agnostic stack, * nothing is done and the same Metric object is returned. */ - public attachTo(scope: constructs.IConstruct): Metric { + public attachTo(scope: IConstruct): Metric { const stack = cdk.Stack.of(scope); return this.with({ diff --git a/packages/@aws-cdk/aws-cloudwatch/package.json b/packages/@aws-cdk/aws-cloudwatch/package.json index 2507b1b682855..2cbe5fb06a67d 100644 --- a/packages/@aws-cdk/aws-cloudwatch/package.json +++ b/packages/@aws-cdk/aws-cloudwatch/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cloudwatch", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CloudWatch", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cloudwatch", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,13 +91,13 @@ "dependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "awslint": { "exclude": [ @@ -122,7 +123,7 @@ ] }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-codeartifact/package.json b/packages/@aws-cdk/aws-codeartifact/package.json index 0e6f6c9fae77d..02542fc9c610d 100644 --- a/packages/@aws-cdk/aws-codeartifact/package.json +++ b/packages/@aws-cdk/aws-codeartifact/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codeartifact", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeArtifact", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -23,7 +24,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-codeartifact", "module": "aws_cdk.aws_codeartifact" @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-codebuild/lib/artifacts.ts b/packages/@aws-cdk/aws-codebuild/lib/artifacts.ts index 397f5e08a5ef5..bbf84ed26c4b3 100644 --- a/packages/@aws-cdk/aws-codebuild/lib/artifacts.ts +++ b/packages/@aws-cdk/aws-codebuild/lib/artifacts.ts @@ -1,11 +1,8 @@ import * as s3 from '@aws-cdk/aws-s3'; +import { Construct } from 'constructs'; import { CfnProject } from './codebuild.generated'; import { IProject } from './project'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The type returned from {@link IArtifacts#bind}. */ @@ -38,7 +35,7 @@ export interface IArtifacts { * @param scope a root Construct that allows creating new Constructs * @param project the Project this Artifacts is used in */ - bind(scope: CoreConstruct, project: IProject): ArtifactsConfig; + bind(scope: Construct, project: IProject): ArtifactsConfig; } /** @@ -67,7 +64,7 @@ export abstract class Artifacts implements IArtifacts { this.identifier = props.identifier; } - public bind(_scope: CoreConstruct, _project: IProject): ArtifactsConfig { + public bind(_scope: Construct, _project: IProject): ArtifactsConfig { return { artifactsProperty: { artifactIdentifier: this.identifier, @@ -143,7 +140,7 @@ class S3Artifacts extends Artifacts { super(props); } - public bind(_scope: CoreConstruct, project: IProject): ArtifactsConfig { + public bind(_scope: Construct, project: IProject): ArtifactsConfig { this.props.bucket.grantReadWrite(project); const superConfig = super.bind(_scope, project); return { diff --git a/packages/@aws-cdk/aws-codebuild/lib/file-location.ts b/packages/@aws-cdk/aws-codebuild/lib/file-location.ts index b836fc92bc22a..0fda9f6fad480 100644 --- a/packages/@aws-cdk/aws-codebuild/lib/file-location.ts +++ b/packages/@aws-cdk/aws-codebuild/lib/file-location.ts @@ -1,10 +1,7 @@ +import { Construct } from 'constructs'; import { CfnProject } from './codebuild.generated'; import { IProject } from './project'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The type returned from {@link IFileSystemLocation#bind}. */ @@ -25,7 +22,7 @@ export interface IFileSystemLocation { * Called by the project when a file system is added so it can perform * binding operations on this file system location. */ - bind(scope: CoreConstruct, project: IProject): FileSystemConfig; + bind(scope: Construct, project: IProject): FileSystemConfig; } /** @@ -47,7 +44,7 @@ export class FileSystemLocation { class EfsFileSystemLocation implements IFileSystemLocation { constructor(private readonly props: EfsFileSystemLocationProps) {} - public bind(_scope: CoreConstruct, _project: IProject): FileSystemConfig { + public bind(_scope: Construct, _project: IProject): FileSystemConfig { return { location: { identifier: this.props.identifier, diff --git a/packages/@aws-cdk/aws-codebuild/lib/linux-gpu-build-image.ts b/packages/@aws-cdk/aws-codebuild/lib/linux-gpu-build-image.ts index 2a836fae59b69..6635415f96639 100644 --- a/packages/@aws-cdk/aws-codebuild/lib/linux-gpu-build-image.ts +++ b/packages/@aws-cdk/aws-codebuild/lib/linux-gpu-build-image.ts @@ -10,7 +10,7 @@ import { // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * A CodeBuild GPU image running Linux. diff --git a/packages/@aws-cdk/aws-codebuild/lib/project.ts b/packages/@aws-cdk/aws-codebuild/lib/project.ts index d39e30bd45c61..2fb2a07c2c47a 100644 --- a/packages/@aws-cdk/aws-codebuild/lib/project.ts +++ b/packages/@aws-cdk/aws-codebuild/lib/project.ts @@ -9,8 +9,7 @@ import * as kms from '@aws-cdk/aws-kms'; import * as s3 from '@aws-cdk/aws-s3'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import { ArnFormat, Aws, Duration, IResource, Lazy, Names, PhysicalName, Reference, Resource, SecretValue, Stack, Token, TokenComparison, Tokenization } from '@aws-cdk/core'; -import { Construct } from 'constructs'; -import { IArtifacts } from './artifacts'; +import { Construct, IConstruct } from 'constructs'; import { BuildSpec } from './build-spec'; import { Cache } from './cache'; import { CodeBuildMetrics } from './codebuild-canned-metrics.generated'; @@ -24,10 +23,7 @@ import { LoggingOptions } from './project-logs'; import { renderReportGroupArn } from './report-group-utils'; import { ISource } from './source'; import { CODEPIPELINE_SOURCE_ARTIFACTS_TYPE, NO_SOURCE_TYPE } from './source-types'; - -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { IArtifacts } from './artifacts'; const VPC_POLICY_SYM = Symbol.for('@aws-cdk/aws-codebuild.roleVpcPolicy'); @@ -852,7 +848,7 @@ export class Project extends ProjectBase { } if (principal) { - const stack = Stack.of(principal); + const stack = Stack.of(principal as unknown as IConstruct); // save the SSM env variables if (envVariable.type === BuildEnvironmentVariableType.PARAMETER_STORE) { @@ -1141,6 +1137,8 @@ export class Project extends ProjectBase { if (isBindableBuildImage(this.buildImage)) { this.buildImage.bind(this, this, {}); } + + this.node.addValidation({ validate: () => this.validateProject() }); } public enableBatchBuilds(): BatchBuildConfig | undefined { @@ -1213,7 +1211,7 @@ export class Project extends ProjectBase { * @param _scope the construct the binding is taking place in * @param options additional options for the binding */ - public bindToCodePipeline(_scope: CoreConstruct, options: BindToCodePipelineOptions): void { + public bindToCodePipeline(_scope: Construct, options: BindToCodePipelineOptions): void { // work around a bug in CodeBuild: it ignores the KMS key set on the pipeline, // and always uses its own, project-level key if (options.artifactBucket.encryptionKey && !this._encryptionKey) { @@ -1229,10 +1227,7 @@ export class Project extends ProjectBase { } } - /** - * @override - */ - protected validate(): string[] { + private validateProject(): string[] { const ret = new Array(); if (this.source.type === CODEPIPELINE_SOURCE_ARTIFACTS_TYPE) { if (this._secondarySources.length > 0) { @@ -1639,7 +1634,7 @@ export interface BuildImageConfig { } /** A variant of {@link IBuildImage} that allows binding to the project. */ export interface IBindableBuildImage extends IBuildImage { /** Function that allows the build image access to the construct tree. */ - bind(scope: CoreConstruct, project: IProject, options: BuildImageBindOptions): BuildImageConfig; + bind(scope: Construct, project: IProject, options: BuildImageBindOptions): BuildImageConfig; } /** diff --git a/packages/@aws-cdk/aws-codebuild/lib/source.ts b/packages/@aws-cdk/aws-codebuild/lib/source.ts index 808a6b5b9e9c0..67f13a9e143df 100644 --- a/packages/@aws-cdk/aws-codebuild/lib/source.ts +++ b/packages/@aws-cdk/aws-codebuild/lib/source.ts @@ -1,6 +1,7 @@ import * as codecommit from '@aws-cdk/aws-codecommit'; import * as iam from '@aws-cdk/aws-iam'; import * as s3 from '@aws-cdk/aws-s3'; +import { Construct } from 'constructs'; import { CfnProject } from './codebuild.generated'; import { IProject } from './project'; import { @@ -11,10 +12,6 @@ import { S3_SOURCE_TYPE, } from './source-types'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The type returned from {@link ISource#bind}. */ @@ -42,7 +39,7 @@ export interface ISource { readonly badgeSupported: boolean; - bind(scope: CoreConstruct, project: IProject): SourceConfig; + bind(scope: Construct, project: IProject): SourceConfig; } /** @@ -93,7 +90,7 @@ export abstract class Source implements ISource { * binding operations on the source. For example, it can grant permissions to the * code build project to read from the S3 bucket. */ - public bind(_scope: CoreConstruct, _project: IProject): SourceConfig { + public bind(_scope: Construct, _project: IProject): SourceConfig { return { sourceProperty: { sourceIdentifier: this.identifier, @@ -147,7 +144,7 @@ abstract class GitSource extends Source { this.fetchSubmodules = props.fetchSubmodules; } - public bind(_scope: CoreConstruct, _project: IProject): SourceConfig { + public bind(_scope: Construct, _project: IProject): SourceConfig { const superConfig = super.bind(_scope, _project); return { sourceVersion: this.branchOrRef, @@ -534,7 +531,7 @@ abstract class ThirdPartyGitSource extends GitSource { this.buildStatusUrl = props.buildStatusUrl; } - public bind(_scope: CoreConstruct, project: IProject): SourceConfig { + public bind(_scope: Construct, project: IProject): SourceConfig { const anyFilterGroupsProvided = this.webhookFilters.length > 0; const webhook = this.webhook ?? (anyFilterGroupsProvided ? true : undefined); @@ -587,7 +584,7 @@ class CodeCommitSource extends GitSource { this.repo = props.repository; } - public bind(_scope: CoreConstruct, project: IProject): SourceConfig { + public bind(_scope: Construct, project: IProject): SourceConfig { // https://docs.aws.amazon.com/codebuild/latest/userguide/setting-up.html project.addToRolePolicy(new iam.PolicyStatement({ actions: ['codecommit:GitPull'], @@ -636,7 +633,7 @@ class S3Source extends Source { this.version = props.version; } - public bind(_scope: CoreConstruct, project: IProject): SourceConfig { + public bind(_scope: Construct, project: IProject): SourceConfig { this.bucket.grantRead(project, this.path); const superConfig = super.bind(_scope, project); @@ -675,7 +672,7 @@ abstract class CommonGithubSource extends ThirdPartyGitSource { this.buildStatusContext = props.buildStatusContext; } - public bind(scope: CoreConstruct, project: IProject): SourceConfig { + public bind(scope: Construct, project: IProject): SourceConfig { const superConfig = super.bind(scope, project); return { sourceProperty: { @@ -724,7 +721,7 @@ class GitHubSource extends CommonGithubSource { this.httpsCloneUrl = `https://github.com/${props.owner}/${props.repo}.git`; } - public bind(_scope: CoreConstruct, project: IProject): SourceConfig { + public bind(_scope: Construct, project: IProject): SourceConfig { const superConfig = super.bind(_scope, project); return { sourceProperty: { @@ -768,7 +765,7 @@ class GitHubEnterpriseSource extends CommonGithubSource { this.ignoreSslErrors = props.ignoreSslErrors; } - public bind(_scope: CoreConstruct, _project: IProject): SourceConfig { + public bind(_scope: Construct, _project: IProject): SourceConfig { if (this.hasCommitMessageFilterAndPrEvent()) { throw new Error('COMMIT_MESSAGE filters cannot be used with GitHub Enterprise Server pull request events'); } @@ -853,7 +850,7 @@ class BitBucketSource extends ThirdPartyGitSource { this.buildStatusName = props.buildStatusName; } - public bind(_scope: CoreConstruct, _project: IProject): SourceConfig { + public bind(_scope: Construct, _project: IProject): SourceConfig { // BitBucket sources don't support the PULL_REQUEST_REOPENED event action if (this.anyWebhookFilterContainsPrReopenedEventAction()) { throw new Error('BitBucket sources do not support the PULL_REQUEST_REOPENED webhook event action'); diff --git a/packages/@aws-cdk/aws-codebuild/package.json b/packages/@aws-cdk/aws-codebuild/package.json index 22ac4447aedf8..3e7a38e477886 100644 --- a/packages/@aws-cdk/aws-codebuild/package.json +++ b/packages/@aws-cdk/aws-codebuild/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codebuild", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeBuild", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codebuild", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -111,7 +112,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69", + "constructs": "^10.0.0", "yaml": "1.10.2" }, "bundledDependencies": [ @@ -135,10 +136,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-codebuild/test/aws-deep-learning-container-build-image.integ.snapshot/aws-deep-learning-container-build-image.assets.json b/packages/@aws-cdk/aws-codebuild/test/aws-deep-learning-container-build-image.integ.snapshot/aws-deep-learning-container-build-image.assets.json new file mode 100644 index 0000000000000..da89dc5224b07 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/aws-deep-learning-container-build-image.integ.snapshot/aws-deep-learning-container-build-image.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "ba2e6f1cc3b9e9524a2d1affa7863658969f1d1d02037bf50f42dd93ba5ca09a": { + "source": { + "path": "aws-deep-learning-container-build-image.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ba2e6f1cc3b9e9524a2d1affa7863658969f1d1d02037bf50f42dd93ba5ca09a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/aws-deep-learning-container-build-image.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/aws-deep-learning-container-build-image.integ.snapshot/tree.json index e69b99ae14784..18b7b6e2c2439 100644 --- a/packages/@aws-cdk/aws-codebuild/test/aws-deep-learning-container-build-image.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/aws-deep-learning-container-build-image.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-deep-learning-container-build-image": { diff --git a/packages/@aws-cdk/aws-codebuild/test/caching.integ.snapshot/aws-cdk-codebuild.assets.json b/packages/@aws-cdk/aws-codebuild/test/caching.integ.snapshot/aws-cdk-codebuild.assets.json new file mode 100644 index 0000000000000..1bc8c9f123766 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/caching.integ.snapshot/aws-cdk-codebuild.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7282bdc4d4dee71689704491fcda46853f0bc8e0179845b1df5b7db4cfe33197": { + "source": { + "path": "aws-cdk-codebuild.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7282bdc4d4dee71689704491fcda46853f0bc8e0179845b1df5b7db4cfe33197.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/caching.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/caching.integ.snapshot/tree.json index 98f2f53361105..b4f26dfd2f1ce 100644 --- a/packages/@aws-cdk/aws-codebuild/test/caching.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/caching.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild": { diff --git a/packages/@aws-cdk/aws-codebuild/test/defaults.lit.integ.snapshot/codebuild-default-project.assets.json b/packages/@aws-cdk/aws-codebuild/test/defaults.lit.integ.snapshot/codebuild-default-project.assets.json new file mode 100644 index 0000000000000..7584fd0cc35ac --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/defaults.lit.integ.snapshot/codebuild-default-project.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "5d804b0a89f7445a4235af5f035423faafc4af604ab62dbaac293643e2f29ad6": { + "source": { + "path": "codebuild-default-project.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5d804b0a89f7445a4235af5f035423faafc4af604ab62dbaac293643e2f29ad6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/defaults.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/defaults.lit.integ.snapshot/tree.json index 6814eb5be2f1d..2ed004c540297 100644 --- a/packages/@aws-cdk/aws-codebuild/test/defaults.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/defaults.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "codebuild-default-project": { diff --git a/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/asset.b79a9515455fd043f9f3b7d7136690d584616aaf59ad882a5ccae24e6f91d81d/Dockerfile b/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/asset.b79a9515455fd043f9f3b7d7136690d584616aaf59ad882a5ccae24e6f91d81d/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/asset.b79a9515455fd043f9f3b7d7136690d584616aaf59ad882a5ccae24e6f91d81d/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/asset.b79a9515455fd043f9f3b7d7136690d584616aaf59ad882a5ccae24e6f91d81d/index.py b/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/asset.b79a9515455fd043f9f3b7d7136690d584616aaf59ad882a5ccae24e6f91d81d/index.py deleted file mode 100644 index 25d040434dab1..0000000000000 --- a/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/asset.b79a9515455fd043f9f3b7d7136690d584616aaf59ad882a5ccae24e6f91d81d/index.py +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/python -print("Hello world from the built image") diff --git a/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/test-codebuild-docker-asset.assets.json b/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/test-codebuild-docker-asset.assets.json new file mode 100644 index 0000000000000..f326f2542a7b4 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/test-codebuild-docker-asset.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "ca9199159945baa02ef206eb6d5e359b9754a094244706b0fb722cfee47fe1b6": { + "source": { + "path": "test-codebuild-docker-asset.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ca9199159945baa02ef206eb6d5e359b9754a094244706b0fb722cfee47fe1b6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "73ee9c3cafd103104e2a42ee76961a90a2410d0dcad42110343c5fd85ad6db78": { + "source": { + "directory": "asset.73ee9c3cafd103104e2a42ee76961a90a2410d0dcad42110343c5fd85ad6db78" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "73ee9c3cafd103104e2a42ee76961a90a2410d0dcad42110343c5fd85ad6db78", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/tree.json index 694dec2839951..478c8164e5f90 100644 --- a/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/docker-asset.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-codebuild-docker-asset": { diff --git a/packages/@aws-cdk/aws-codebuild/test/docker-registry.lit.integ.snapshot/test-codebuild-docker-asset.assets.json b/packages/@aws-cdk/aws-codebuild/test/docker-registry.lit.integ.snapshot/test-codebuild-docker-asset.assets.json new file mode 100644 index 0000000000000..ec67afd029271 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/docker-registry.lit.integ.snapshot/test-codebuild-docker-asset.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "0a15a723de2401fd13e907980b5dae5afb0ba950e9e5261e072adc214e189b05": { + "source": { + "path": "test-codebuild-docker-asset.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0a15a723de2401fd13e907980b5dae5afb0ba950e9e5261e072adc214e189b05.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/docker-registry.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/docker-registry.lit.integ.snapshot/tree.json index a85fee51030bf..df1a9db01885f 100644 --- a/packages/@aws-cdk/aws-codebuild/test/docker-registry.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/docker-registry.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-codebuild-docker-asset": { diff --git a/packages/@aws-cdk/aws-codebuild/test/ecr.lit.integ.snapshot/test-codebuild-docker-asset.assets.json b/packages/@aws-cdk/aws-codebuild/test/ecr.lit.integ.snapshot/test-codebuild-docker-asset.assets.json new file mode 100644 index 0000000000000..4090bebcd02f8 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/ecr.lit.integ.snapshot/test-codebuild-docker-asset.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "338a3c66e90924baa8bcb6cc98c9dec7c75624696f94ca2dd73f2eaafb7d6377": { + "source": { + "path": "test-codebuild-docker-asset.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "338a3c66e90924baa8bcb6cc98c9dec7c75624696f94ca2dd73f2eaafb7d6377.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/ecr.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/ecr.lit.integ.snapshot/tree.json index b97e8172ce2bb..f47ff4b7c2aae 100644 --- a/packages/@aws-cdk/aws-codebuild/test/ecr.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/ecr.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-codebuild-docker-asset": { diff --git a/packages/@aws-cdk/aws-codebuild/test/github-webhook-batch.integ.snapshot/test-codebuild-github-webhook-batch.assets.json b/packages/@aws-cdk/aws-codebuild/test/github-webhook-batch.integ.snapshot/test-codebuild-github-webhook-batch.assets.json new file mode 100644 index 0000000000000..49de4acc3d56a --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/github-webhook-batch.integ.snapshot/test-codebuild-github-webhook-batch.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "20d3897d616a101525251734b3902eb4c6194c22239ec357b2ab43c4cc2b9b8c": { + "source": { + "path": "test-codebuild-github-webhook-batch.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "20d3897d616a101525251734b3902eb4c6194c22239ec357b2ab43c4cc2b9b8c.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/github-webhook-batch.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/github-webhook-batch.integ.snapshot/tree.json index 14f3510ea5525..dbf393b2c70ba 100644 --- a/packages/@aws-cdk/aws-codebuild/test/github-webhook-batch.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/github-webhook-batch.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-codebuild-github-webhook-batch": { diff --git a/packages/@aws-cdk/aws-codebuild/test/github.integ.snapshot/test-codebuild-github.assets.json b/packages/@aws-cdk/aws-codebuild/test/github.integ.snapshot/test-codebuild-github.assets.json new file mode 100644 index 0000000000000..7fc34ec6e36f7 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/github.integ.snapshot/test-codebuild-github.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "cfe9879aae1d8b6b158cf86ad55f10a03ea1b1ce9efe77be94c74377d4ec6f22": { + "source": { + "path": "test-codebuild-github.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "cfe9879aae1d8b6b158cf86ad55f10a03ea1b1ce9efe77be94c74377d4ec6f22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/github.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/github.integ.snapshot/tree.json index 638fc25500d1b..86f79fea0d21e 100644 --- a/packages/@aws-cdk/aws-codebuild/test/github.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/github.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-codebuild-github": { diff --git a/packages/@aws-cdk/aws-codebuild/test/project-bucket.integ.snapshot/aws-cdk-codebuild.assets.json b/packages/@aws-cdk/aws-codebuild/test/project-bucket.integ.snapshot/aws-cdk-codebuild.assets.json new file mode 100644 index 0000000000000..4e94fdc6fa75b --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/project-bucket.integ.snapshot/aws-cdk-codebuild.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "a55db282b03eb7ee1625ba512d84ca8a5b37f0282ba942b6209b7f9a00420ef9": { + "source": { + "path": "aws-cdk-codebuild.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a55db282b03eb7ee1625ba512d84ca8a5b37f0282ba942b6209b7f9a00420ef9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/project-bucket.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/project-bucket.integ.snapshot/tree.json index 92cd19b898a5d..488216af93f15 100644 --- a/packages/@aws-cdk/aws-codebuild/test/project-bucket.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/project-bucket.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild": { diff --git a/packages/@aws-cdk/aws-codebuild/test/project-buildspec-artifacts.integ.snapshot/aws-cdk-codebuild-buildspec-artifact-name.assets.json b/packages/@aws-cdk/aws-codebuild/test/project-buildspec-artifacts.integ.snapshot/aws-cdk-codebuild-buildspec-artifact-name.assets.json new file mode 100644 index 0000000000000..3efd6781b92a1 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/project-buildspec-artifacts.integ.snapshot/aws-cdk-codebuild-buildspec-artifact-name.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b766d4be760a9147f5c609829e5affc1ae3cf6a1050121a48f71a94ca080097c": { + "source": { + "path": "aws-cdk-codebuild-buildspec-artifact-name.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b766d4be760a9147f5c609829e5affc1ae3cf6a1050121a48f71a94ca080097c.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/project-buildspec-artifacts.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/project-buildspec-artifacts.integ.snapshot/tree.json index e2b6e6cb7f8d9..e1aeef67232cd 100644 --- a/packages/@aws-cdk/aws-codebuild/test/project-buildspec-artifacts.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/project-buildspec-artifacts.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild-buildspec-artifact-name": { diff --git a/packages/@aws-cdk/aws-codebuild/test/project-file-system-location.integ.snapshot/aws-cdk-codebuild-file-system-locations.assets.json b/packages/@aws-cdk/aws-codebuild/test/project-file-system-location.integ.snapshot/aws-cdk-codebuild-file-system-locations.assets.json new file mode 100644 index 0000000000000..03ea9077923e8 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/project-file-system-location.integ.snapshot/aws-cdk-codebuild-file-system-locations.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "440fb09f31d1ed286745fc9535a35f8ef4bb74ccbe1d2b9b860f67e7d743f5d9": { + "source": { + "path": "aws-cdk-codebuild-file-system-locations.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "440fb09f31d1ed286745fc9535a35f8ef4bb74ccbe1d2b9b860f67e7d743f5d9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/project-file-system-location.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/project-file-system-location.integ.snapshot/tree.json index 92f7d06432cda..75118cee749ca 100644 --- a/packages/@aws-cdk/aws-codebuild/test/project-file-system-location.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/project-file-system-location.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild-file-system-locations": { diff --git a/packages/@aws-cdk/aws-codebuild/test/project-logging.integ.snapshot/aws-cdk-codebuild-logging.assets.json b/packages/@aws-cdk/aws-codebuild/test/project-logging.integ.snapshot/aws-cdk-codebuild-logging.assets.json new file mode 100644 index 0000000000000..68ab81c262bbe --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/project-logging.integ.snapshot/aws-cdk-codebuild-logging.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7ec4de649e63a348529288b43968d10c8fabf0be2a8504c0bf220e3e11ddaf97": { + "source": { + "path": "aws-cdk-codebuild-logging.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7ec4de649e63a348529288b43968d10c8fabf0be2a8504c0bf220e3e11ddaf97.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/project-logging.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/project-logging.integ.snapshot/tree.json index 4a4f483b5baac..e473d54fb9c9b 100644 --- a/packages/@aws-cdk/aws-codebuild/test/project-logging.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/project-logging.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild-logging": { diff --git a/packages/@aws-cdk/aws-codebuild/test/project-notification.integ.snapshot/aws-cdk-codebuild-project-vpc.assets.json b/packages/@aws-cdk/aws-codebuild/test/project-notification.integ.snapshot/aws-cdk-codebuild-project-vpc.assets.json new file mode 100644 index 0000000000000..ca5e891aecb12 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/project-notification.integ.snapshot/aws-cdk-codebuild-project-vpc.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "a12e46ac30a3a561d6da160bad3aa485d936b1ac0358b7aab0e68b1e1ee13dc0": { + "source": { + "path": "aws-cdk-codebuild-project-vpc.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a12e46ac30a3a561d6da160bad3aa485d936b1ac0358b7aab0e68b1e1ee13dc0.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/project-notification.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/project-notification.integ.snapshot/tree.json index ceeb65380783e..7fc6e612ae51a 100644 --- a/packages/@aws-cdk/aws-codebuild/test/project-notification.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/project-notification.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild-project-vpc": { diff --git a/packages/@aws-cdk/aws-codebuild/test/project-secondary-sources-artifacts.integ.snapshot/aws-cdk-codebuild-secondary-sources-artifacts.assets.json b/packages/@aws-cdk/aws-codebuild/test/project-secondary-sources-artifacts.integ.snapshot/aws-cdk-codebuild-secondary-sources-artifacts.assets.json new file mode 100644 index 0000000000000..e75867fbcfc44 --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/project-secondary-sources-artifacts.integ.snapshot/aws-cdk-codebuild-secondary-sources-artifacts.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d7f5e3fd28521d25747f37bb93ec73a58fd0ac7b1710bdb1f20007c18565bcca": { + "source": { + "path": "aws-cdk-codebuild-secondary-sources-artifacts.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d7f5e3fd28521d25747f37bb93ec73a58fd0ac7b1710bdb1f20007c18565bcca.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/project-secondary-sources-artifacts.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/project-secondary-sources-artifacts.integ.snapshot/tree.json index be75cd801246f..3c05d78d56c5b 100644 --- a/packages/@aws-cdk/aws-codebuild/test/project-secondary-sources-artifacts.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/project-secondary-sources-artifacts.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild-secondary-sources-artifacts": { diff --git a/packages/@aws-cdk/aws-codebuild/test/project-vpc.integ.snapshot/aws-cdk-codebuild-project-vpc.assets.json b/packages/@aws-cdk/aws-codebuild/test/project-vpc.integ.snapshot/aws-cdk-codebuild-project-vpc.assets.json new file mode 100644 index 0000000000000..978d17daa659e --- /dev/null +++ b/packages/@aws-cdk/aws-codebuild/test/project-vpc.integ.snapshot/aws-cdk-codebuild-project-vpc.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "82613d39e78072e1ebf47b0f95469119130bfb63bb658ff492404379d8a90bb2": { + "source": { + "path": "aws-cdk-codebuild-project-vpc.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "82613d39e78072e1ebf47b0f95469119130bfb63bb658ff492404379d8a90bb2.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codebuild/test/project-vpc.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codebuild/test/project-vpc.integ.snapshot/tree.json index a64c334d2d3ca..bbf2c5cf86a51 100644 --- a/packages/@aws-cdk/aws-codebuild/test/project-vpc.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codebuild/test/project-vpc.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild-project-vpc": { diff --git a/packages/@aws-cdk/aws-codecommit/package.json b/packages/@aws-cdk/aws-codecommit/package.json index 2f67f59a35ef7..f8268fc2f1b3c 100644 --- a/packages/@aws-cdk/aws-codecommit/package.json +++ b/packages/@aws-cdk/aws-codecommit/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codecommit", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeCommit", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codecommit", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -101,7 +102,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -110,10 +111,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { diff --git a/packages/@aws-cdk/aws-codecommit/test/codecommit.test.ts b/packages/@aws-cdk/aws-codecommit/test/codecommit.test.ts index 623f66eb4675a..88e754c847c3b 100644 --- a/packages/@aws-cdk/aws-codecommit/test/codecommit.test.ts +++ b/packages/@aws-cdk/aws-codecommit/test/codecommit.test.ts @@ -1,8 +1,8 @@ +import * as fs from 'fs'; import { join, resolve } from 'path'; import { Template } from '@aws-cdk/assertions'; import { Role, ServicePrincipal } from '@aws-cdk/aws-iam'; import { Asset } from '@aws-cdk/aws-s3-assets'; -import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import { App, Stack } from '@aws-cdk/core'; import { Code, Repository, RepositoryProps } from '../lib'; @@ -80,9 +80,11 @@ describe('codecommit', () => { code: Code.fromZipFile(join(__dirname, 'asset-test.zip')), }); - // THEN - const assetMetadata = app.synth().tryGetArtifact(stack.stackName)!.findMetadataByType(cxschema.ArtifactMetadataEntryType.ASSET); - expect(assetMetadata).toHaveLength(1); + const assembly = app.synth(); + const assets = JSON.parse(fs.readFileSync(join(assembly.directory, `${stack.stackName}.assets.json`), 'utf-8')); + + // our asset + the template itself + expect(Object.entries(assets.files)).toHaveLength(2); }); test('Repository can be initialized with contents from a directory', () => { @@ -96,9 +98,11 @@ describe('codecommit', () => { code: Code.fromDirectory(join(__dirname, 'asset-test')), }); - // THEN - const assetMetadata = app.synth().tryGetArtifact(stack.stackName)!.findMetadataByType(cxschema.ArtifactMetadataEntryType.ASSET); - expect(assetMetadata).toHaveLength(1); + const assembly = app.synth(); + const assets = JSON.parse(fs.readFileSync(join(assembly.directory, `${stack.stackName}.assets.json`), 'utf-8')); + + // our asset + the template itself + expect(Object.entries(assets.files)).toHaveLength(2); }); test('Repository can be initialized with contents from an asset', () => { @@ -117,8 +121,11 @@ describe('codecommit', () => { }); // THEN - const assetMetadata = app.synth().tryGetArtifact(stack.stackName)!.findMetadataByType(cxschema.ArtifactMetadataEntryType.ASSET); - expect(assetMetadata).toHaveLength(1); + const assembly = app.synth(); + const assets = JSON.parse(fs.readFileSync(join(assembly.directory, `${stack.stackName}.assets.json`), 'utf-8')); + + // our asset + the template itself + expect(Object.entries(assets.files)).toHaveLength(2); }); test('Repository throws Error when initialized with file while expecting directory', () => { diff --git a/packages/@aws-cdk/aws-codedeploy/lib/ecs/application.ts b/packages/@aws-cdk/aws-codedeploy/lib/ecs/application.ts index 77ef2af9c416c..289a6660c8c4f 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/ecs/application.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/ecs/application.ts @@ -76,9 +76,7 @@ export class EcsApplication extends Resource implements IEcsApplication { resourceName: this.physicalName, arnFormat: ArnFormat.COLON_RESOURCE_NAME, }); - } - protected validate(): string[] { - return validateName('Application', this.physicalName); + this.node.addValidation({ validate: () => validateName('Application', this.physicalName) }); } } diff --git a/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-config.ts b/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-config.ts index c531cdd56c965..f9f41e12202a7 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-config.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-config.ts @@ -20,7 +20,7 @@ export interface IEcsDeploymentConfig { * * Note: This class currently stands as namespaced container of the default configurations * until CloudFormation supports custom ECS Deployment Configs. Until then it is closed - * (private constructor) and does not extend {@link cdk.Construct} + * (private constructor) and does not extend {@link Construct} * * @resource AWS::CodeDeploy::DeploymentConfig */ diff --git a/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-group.ts b/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-group.ts index 5b893bc9f4f6e..4a432631375e5 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-group.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/ecs/deployment-group.ts @@ -35,7 +35,7 @@ export interface IEcsDeploymentGroup extends cdk.IResource { * Note: This class currently stands as a namespaced container for importing an ECS * Deployment Group defined outside the CDK app until CloudFormation supports provisioning * ECS Deployment Groups. Until then it is closed (private constructor) and does not - * extend {@link cdk.Construct}. + * extend {@link Construct}. * * @resource AWS::CodeDeploy::DeploymentGroup */ diff --git a/packages/@aws-cdk/aws-codedeploy/lib/lambda/application.ts b/packages/@aws-cdk/aws-codedeploy/lib/lambda/application.ts index 321fb50ca0689..e0d27f8dabc34 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/lambda/application.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/lambda/application.ts @@ -76,9 +76,7 @@ export class LambdaApplication extends Resource implements ILambdaApplication { resourceName: this.physicalName, arnFormat: ArnFormat.COLON_RESOURCE_NAME, }); - } - protected validate(): string[] { - return validateName('Application', this.physicalName); + this.node.addValidation({ validate: () => validateName('Application', this.physicalName) }); } } diff --git a/packages/@aws-cdk/aws-codedeploy/lib/lambda/custom-deployment-config.ts b/packages/@aws-cdk/aws-codedeploy/lib/lambda/custom-deployment-config.ts index 85d20d77d942a..726a7781c2dd3 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/lambda/custom-deployment-config.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/lambda/custom-deployment-config.ts @@ -141,10 +141,8 @@ export class CustomLambdaDeploymentConfig extends Resource implements ILambdaDep resources: AwsCustomResourcePolicy.ANY_RESOURCE, }), }); - } - protected validate(): string[] { - return validateName('Deployment config', this.deploymentConfigName); + this.node.addValidation({ validate: () => validateName('Deployment config', this.deploymentConfigName) }); } // Validate the inputs. The percentage/interval limits come from CodeDeploy diff --git a/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-config.ts b/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-config.ts index ebbd4df337529..594d994942f46 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-config.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-config.ts @@ -33,7 +33,7 @@ export interface LambdaDeploymentConfigImportProps { * * Note: This class currently stands as namespaced container of the default configurations * until CloudFormation supports custom Lambda Deployment Configs. Until then it is closed - * (private constructor) and does not extend {@link cdk.Construct} + * (private constructor) and does not extend {@link Construct} * * @resource AWS::CodeDeploy::DeploymentConfig */ diff --git a/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts b/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts index 3f009d93a9477..5968402efdd1f 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts @@ -203,6 +203,8 @@ export class LambdaDeploymentGroup extends cdk.Resource implements ILambdaDeploy if (this.deploymentConfig instanceof Construct) { this.node.addDependency(this.deploymentConfig); } + + this.node.addValidation({ validate: () => validateName('Deployment group', this.physicalName) }); } /** @@ -254,10 +256,6 @@ export class LambdaDeploymentGroup extends cdk.Resource implements ILambdaDeploy actions: ['codedeploy:PutLifecycleEventHookExecutionStatus'], }); } - - protected validate(): string[] { - return validateName('Deployment group', this.physicalName); - } } /** diff --git a/packages/@aws-cdk/aws-codedeploy/lib/server/application.ts b/packages/@aws-cdk/aws-codedeploy/lib/server/application.ts index fd596ca3bb0fb..a04d789fce566 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/server/application.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/server/application.ts @@ -77,9 +77,8 @@ export class ServerApplication extends Resource implements IServerApplication { resourceName: this.physicalName, arnFormat: ArnFormat.COLON_RESOURCE_NAME, }); - } - protected validate(): string[] { - return validateName('Application', this.physicalName); + this.node.addValidation({ validate: () => validateName('Application', this.physicalName) }); } + } diff --git a/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-config.ts b/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-config.ts index 18239217472c1..7ddb0ec1d37d9 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-config.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-config.ts @@ -118,10 +118,8 @@ export class ServerDeploymentConfig extends cdk.Resource implements IServerDeplo this.deploymentConfigName = resource.ref; this.deploymentConfigArn = arnForDeploymentConfig(this.deploymentConfigName); - } - protected validate(): string[] { - return validateName('Deployment config', this.physicalName); + this.node.addValidation({ validate: () => validateName('Deployment config', this.physicalName) }); } } diff --git a/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-group.ts b/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-group.ts index 59ec7afa65170..afb6aee8545e0 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-group.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/server/deployment-group.ts @@ -314,6 +314,8 @@ export class ServerDeploymentGroup extends ServerDeploymentGroupBase { resourceName: `${this.application.applicationName}/${this.physicalName}`, arnFormat: ArnFormat.COLON_RESOURCE_NAME, }); + + this.node.addValidation({ validate: () => validateName('Deployment group', this.physicalName) }); } /** @@ -341,10 +343,6 @@ export class ServerDeploymentGroup extends ServerDeploymentGroupBase { return this._autoScalingGroups.slice(); } - protected validate(): string[] { - return validateName('Deployment group', this.physicalName); - } - private addCodeDeployAgentInstallUserData(asg: autoscaling.IAutoScalingGroup): void { if (!this.installAgent) { return; diff --git a/packages/@aws-cdk/aws-codedeploy/package.json b/packages/@aws-cdk/aws-codedeploy/package.json index 1d0d08f46fe46..0670c4a8440b9 100644 --- a/packages/@aws-cdk/aws-codedeploy/package.json +++ b/packages/@aws-cdk/aws-codedeploy/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codedeploy", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeDeploy", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codedeploy", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -101,7 +102,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -115,10 +116,10 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/aws-cdk-codedeploy-lambda.assets.json b/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/aws-cdk-codedeploy-lambda.assets.json new file mode 100644 index 0000000000000..8ba7ed92cbe66 --- /dev/null +++ b/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/aws-cdk-codedeploy-lambda.assets.json @@ -0,0 +1,58 @@ +{ + "version": "17.0.0", + "files": { + "edb7466707eb899fbaee22c1e67f9443e9edcc2eeda0b58d8448f7c4157746b3": { + "source": { + "path": "asset.edb7466707eb899fbaee22c1e67f9443e9edcc2eeda0b58d8448f7c4157746b3", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "edb7466707eb899fbaee22c1e67f9443e9edcc2eeda0b58d8448f7c4157746b3.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "87da351d4c9de5eead78cb80dde66bcbb6c42c418c3368747f32a4e9c013a2e1": { + "source": { + "path": "asset.87da351d4c9de5eead78cb80dde66bcbb6c42c418c3368747f32a4e9c013a2e1", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "87da351d4c9de5eead78cb80dde66bcbb6c42c418c3368747f32a4e9c013a2e1.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "93dbd8c02dbfca9077c9d83cb6d3a94659988c7d143988da4a554033a58f963c": { + "source": { + "path": "asset.93dbd8c02dbfca9077c9d83cb6d3a94659988c7d143988da4a554033a58f963c", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "93dbd8c02dbfca9077c9d83cb6d3a94659988c7d143988da4a554033a58f963c.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8f57c67c2628a97199747f297fe1f88a97a4658f61fa801883bb60db4ad8e418": { + "source": { + "path": "aws-cdk-codedeploy-lambda.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8f57c67c2628a97199747f297fe1f88a97a4658f61fa801883bb60db4ad8e418.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/manifest.json index 7cd3a1d6fac26..f2b75902af37e 100644 --- a/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/manifest.json @@ -203,10 +203,10 @@ "data": "ServiceprincipalMap" } ], - "HandlerCurrentVersion93FB80BFb2a9ce598bf2730613c07e406cddb6b6": [ + "HandlerCurrentVersion93FB80BF9a6cf166b667631aba3958d26c7ca1bb": [ { "type": "aws:cdk:logicalId", - "data": "HandlerCurrentVersion93FB80BFb2a9ce598bf2730613c07e406cddb6b6", + "data": "HandlerCurrentVersion93FB80BF9a6cf166b667631aba3958d26c7ca1bb", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/tree.json index 71475f602c3a4..611036bcd2a7d 100644 --- a/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codedeploy/test/lambda/deployment-group.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codedeploy-lambda": { @@ -220,8 +220,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "87da351d4c9de5eead78cb80dde66bcbb6c42c418c3368747f32a4e9c013a2e1": { @@ -254,8 +254,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "93dbd8c02dbfca9077c9d83cb6d3a94659988c7d143988da4a554033a58f963c": { @@ -288,14 +288,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Alias": { diff --git a/packages/@aws-cdk/aws-codedeploy/test/server/deployment-group.integ.snapshot/aws-cdk-codedeploy-server-dg.assets.json b/packages/@aws-cdk/aws-codedeploy/test/server/deployment-group.integ.snapshot/aws-cdk-codedeploy-server-dg.assets.json new file mode 100644 index 0000000000000..1a80ce8ab6d43 --- /dev/null +++ b/packages/@aws-cdk/aws-codedeploy/test/server/deployment-group.integ.snapshot/aws-cdk-codedeploy-server-dg.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "3ca6df8d5f36ef6f5298d668d3dfedcc23a9d9c24d800a1a88c7332444825900": { + "source": { + "path": "aws-cdk-codedeploy-server-dg.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3ca6df8d5f36ef6f5298d668d3dfedcc23a9d9c24d800a1a88c7332444825900.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codedeploy/test/server/deployment-group.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codedeploy/test/server/deployment-group.integ.snapshot/tree.json index c45fccf394d03..c8c875592fdf6 100644 --- a/packages/@aws-cdk/aws-codedeploy/test/server/deployment-group.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codedeploy/test/server/deployment-group.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codedeploy-server-dg": { diff --git a/packages/@aws-cdk/aws-codeguruprofiler/package.json b/packages/@aws-cdk/aws-codeguruprofiler/package.json index a759536f10aa5..e013986dfc464 100644 --- a/packages/@aws-cdk/aws-codeguruprofiler/package.json +++ b/packages/@aws-cdk/aws-codeguruprofiler/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codeguruprofiler", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeGuruProfiler", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codeguruprofiler", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -91,15 +92,15 @@ "dependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -107,6 +108,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-codeguruprofiler/test/profiler-group.integ.snapshot/ProfilerGroupIntegrationTest.assets.json b/packages/@aws-cdk/aws-codeguruprofiler/test/profiler-group.integ.snapshot/ProfilerGroupIntegrationTest.assets.json new file mode 100644 index 0000000000000..725c60db783c1 --- /dev/null +++ b/packages/@aws-cdk/aws-codeguruprofiler/test/profiler-group.integ.snapshot/ProfilerGroupIntegrationTest.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "0df01470a24f63a2d7cd65e62872709a320ccc9b851d1b3cc2509a46bff46305": { + "source": { + "path": "ProfilerGroupIntegrationTest.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0df01470a24f63a2d7cd65e62872709a320ccc9b851d1b3cc2509a46bff46305.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codeguruprofiler/test/profiler-group.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codeguruprofiler/test/profiler-group.integ.snapshot/tree.json index e05f6f0791f14..a8a3a0ebb75af 100644 --- a/packages/@aws-cdk/aws-codeguruprofiler/test/profiler-group.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codeguruprofiler/test/profiler-group.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ProfilerGroupIntegrationTest": { diff --git a/packages/@aws-cdk/aws-codegurureviewer/package.json b/packages/@aws-cdk/aws-codegurureviewer/package.json index aeaee9d249f9a..68784ebc78db4 100644 --- a/packages/@aws-cdk/aws-codegurureviewer/package.json +++ b/packages/@aws-cdk/aws-codegurureviewer/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codegurureviewer", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeGuruReviewer", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -32,7 +33,7 @@ "module": "aws_cdk.aws_codegurureviewer", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } } @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/alexa-ask/deploy-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/alexa-ask/deploy-action.ts index 4b80682e8724e..5ff461c20eda6 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/alexa-ask/deploy-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/alexa-ask/deploy-action.ts @@ -4,7 +4,7 @@ import { Action } from '../action'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties of the {@link AlexaSkillDeployAction Alexa deploy Action}. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/bitbucket/source-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/bitbucket/source-action.ts index 585ebf33e80eb..8ebe155096375 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/bitbucket/source-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/bitbucket/source-action.ts @@ -4,7 +4,7 @@ import { CodeStarConnectionsSourceAction, CodeStarConnectionsSourceActionProps } // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties for {@link BitBucketSourceAction}. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.ts index 23f8185cd9c3b..d5d4964625822 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.ts @@ -2,13 +2,10 @@ import * as cloudformation from '@aws-cdk/aws-cloudformation'; import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { Action } from '../action'; import { parseCapabilities, SingletonPolicy } from './private/singleton-policy'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties common to all CloudFormation actions */ diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/private/singleton-policy.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/private/singleton-policy.ts index 7a9a3efdde784..5f31c36563e37 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/private/singleton-policy.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/private/singleton-policy.ts @@ -3,7 +3,7 @@ import * as cdk from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Manages a bunch of singleton-y statements on the policy of an IAM Role. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackinstances-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackinstances-action.ts index e0ddf6c9c1cb6..211d9c0ce19e5 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackinstances-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackinstances-action.ts @@ -6,7 +6,7 @@ import { CommonCloudFormationStackSetOptions, StackInstances, StackSetParameters // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for the CloudFormationDeployStackInstancesAction @@ -74,7 +74,7 @@ export class CloudFormationDeployStackInstancesAction extends Action { validatePercentage('maxAccountConcurrencyPercentage', props.maxAccountConcurrencyPercentage); } - protected bound(scope: CoreConstruct, _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { + protected bound(scope: Construct, _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { const singletonPolicy = SingletonPolicy.forRole(options.role); singletonPolicy.grantCreateUpdateStackSet(this.props); diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackset-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackset-action.ts index 574e69f86a96c..9ff45e23d556b 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackset-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/cloudformation/stackset-action.ts @@ -7,7 +7,7 @@ import { CommonCloudFormationStackSetOptions, StackInstances, StackSetDeployment // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for the CloudFormationDeployStackSetAction @@ -142,7 +142,7 @@ export class CloudFormationDeployStackSetAction extends Action { validatePercentage('maxAccountConcurrencyPercentage', props.maxAccountConcurrencyPercentage); } - protected bound(scope: CoreConstruct, _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { + protected bound(scope: Construct, _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { const singletonPolicy = SingletonPolicy.forRole(options.role); singletonPolicy.grantCreateUpdateStackSet(this.props); diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/codebuild/build-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/codebuild/build-action.ts index f53351dc533f7..dd7fd6dc9ebca 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/codebuild/build-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/codebuild/build-action.ts @@ -3,13 +3,10 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; import { CodeStarConnectionsSourceAction } from '..'; +import { Construct } from 'constructs'; import { Action } from '../action'; import { CodeCommitSourceAction } from '../codecommit/source-action'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * The type of the CodeBuild action that determines its CodePipeline Category - * Build, or Test. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/codecommit/source-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/codecommit/source-action.ts index 136bf9bba9dc5..91d3f55dadc7d 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/codecommit/source-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/codecommit/source-action.ts @@ -8,7 +8,7 @@ import { sourceArtifactBounds } from '../common'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * How should the CodeCommit Action detect changes. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/ecs-deploy-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/ecs-deploy-action.ts index dd9ff5247e828..a3dfd31d43733 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/ecs-deploy-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/ecs-deploy-action.ts @@ -6,7 +6,7 @@ import { Action } from '../action'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Configuration for replacing a placeholder string in the ECS task diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/server-deploy-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/server-deploy-action.ts index 519a47708b74a..0abfd9d0e3513 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/server-deploy-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/codedeploy/server-deploy-action.ts @@ -1,13 +1,12 @@ import * as codedeploy from '@aws-cdk/aws-codedeploy'; import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as iam from '@aws-cdk/aws-iam'; - import { Action } from '../action'; import { deployArtifactBounds } from '../common'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties of the {@link CodeDeployServerDeployAction CodeDeploy server deploy CodePipeline Action}. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/codestar-connections/source-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/codestar-connections/source-action.ts index 71ff24eb35114..926762b67f3fb 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/codestar-connections/source-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/codestar-connections/source-action.ts @@ -6,7 +6,7 @@ import { sourceArtifactBounds } from '../common'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The CodePipeline variables emitted by CodeStar source Action. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/ecr/source-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/ecr/source-action.ts index 01c878ca9e139..6a71360277a57 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/ecr/source-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/ecr/source-action.ts @@ -8,7 +8,7 @@ import { sourceArtifactBounds } from '../common'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The CodePipeline variables emitted by the ECR source Action. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/ecs/deploy-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/ecs/deploy-action.ts index 22c9988ac3ff5..b90bb6ff477e5 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/ecs/deploy-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/ecs/deploy-action.ts @@ -7,7 +7,7 @@ import { deployArtifactBounds } from '../common'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties of {@link EcsDeployAction}. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/github/source-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/github/source-action.ts index 5cc07bf453ad9..17c396773414c 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/github/source-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/github/source-action.ts @@ -5,7 +5,7 @@ import { sourceArtifactBounds } from '../common'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * If and how the GitHub source action should be triggered diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-action.ts index 81da65206b12a..ab381fe85e97e 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-action.ts @@ -1,11 +1,10 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; - import { Action } from '../action'; import { IJenkinsProvider, jenkinsArtifactsBounds } from './jenkins-provider'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The type of the Jenkins Action that determines its CodePipeline Category - diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-provider.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-provider.ts index 6e0d179859916..d832bd222b670 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-provider.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/jenkins/jenkins-provider.ts @@ -1,10 +1,5 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; -import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; /** * A Jenkins provider. @@ -15,7 +10,7 @@ import { Construct as CoreConstruct } from '@aws-cdk/core'; * If you want to reference an already registered provider, * use the {@link JenkinsProvider#fromJenkinsProviderAttributes} method. */ -export interface IJenkinsProvider extends cdk.IConstruct { +export interface IJenkinsProvider extends IConstruct { readonly providerName: string; readonly serverUrl: string; readonly version: string; @@ -106,7 +101,7 @@ export interface JenkinsProviderProps { readonly forTest?: boolean; } -export abstract class BaseJenkinsProvider extends CoreConstruct implements IJenkinsProvider { +export abstract class BaseJenkinsProvider extends Construct implements IJenkinsProvider { public abstract readonly providerName: string; public abstract readonly serverUrl: string; public readonly version: string; diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/lambda/invoke-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/lambda/invoke-action.ts index 79029a95641fa..7ead4270efb0c 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/lambda/invoke-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/lambda/invoke-action.ts @@ -6,7 +6,7 @@ import { Action } from '../action'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties of the {@link LambdaInvokeAction Lambda invoke CodePipeline Action}. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/manual-approval-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/manual-approval-action.ts index 4102692d84740..5e61a9138fe39 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/manual-approval-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/manual-approval-action.ts @@ -2,12 +2,9 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as iam from '@aws-cdk/aws-iam'; import * as sns from '@aws-cdk/aws-sns'; import * as subs from '@aws-cdk/aws-sns-subscriptions'; +import { Construct } from 'constructs'; import { Action } from './action'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Construction properties of the {@link ManualApprovalAction}. */ diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/deploy-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/deploy-action.ts index 75998456f4a39..0805ae2ab8cab 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/deploy-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/deploy-action.ts @@ -2,13 +2,10 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as s3 from '@aws-cdk/aws-s3'; import { Duration } from '@aws-cdk/core'; import { kebab as toKebabCase } from 'case'; +import { Construct } from 'constructs'; import { Action } from '../action'; import { deployArtifactBounds } from '../common'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - // Class copied verbatim from the aws-s3-deployment module. // Yes, it sucks that we didn't abstract this properly in a common class, // but having 2 different CacheControl classes that behave differently would be worse I think. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/source-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/source-action.ts index d165373f2fce5..31cc2ecd77be9 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/source-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/s3/source-action.ts @@ -7,7 +7,7 @@ import { sourceArtifactBounds } from '../common'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * How should the S3 Action detect changes. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts index 302b82b2a8725..3daa2d5d6257a 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.ts @@ -1,11 +1,10 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as iam from '@aws-cdk/aws-iam'; - import { Action } from '../action'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties of the {@link ServiceCatalogDeployActionBeta1 ServiceCatalog deploy CodePipeline Action}. diff --git a/packages/@aws-cdk/aws-codepipeline-actions/lib/stepfunctions/invoke-action.ts b/packages/@aws-cdk/aws-codepipeline-actions/lib/stepfunctions/invoke-action.ts index 2181f198ca012..52b3dce483a5d 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/lib/stepfunctions/invoke-action.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/lib/stepfunctions/invoke-action.ts @@ -2,12 +2,9 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as iam from '@aws-cdk/aws-iam'; import * as stepfunction from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { Action } from '../action'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Represents the input for the StateMachine. */ diff --git a/packages/@aws-cdk/aws-codepipeline-actions/package.json b/packages/@aws-cdk/aws-codepipeline-actions/package.json index 0fd01d33fa296..e25dfc40b7cf0 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/package.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codepipeline-actions", "version": "0.0.0", + "private": true, "description": "Concrete Actions for AWS Code Pipeline", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codepipeline_actions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -108,7 +109,7 @@ "@aws-cdk/aws-stepfunctions": "0.0.0", "@aws-cdk/core": "0.0.0", "case": "1.6.3", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -130,13 +131,13 @@ "@aws-cdk/aws-sns-subscriptions": "0.0.0", "@aws-cdk/aws-stepfunctions": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "bundledDependencies": [ "case" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/cfn-template-from-repo.lit.integ.snapshot/aws-cdk-codepipeline-cloudformation.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/cfn-template-from-repo.lit.integ.snapshot/aws-cdk-codepipeline-cloudformation.assets.json new file mode 100644 index 0000000000000..99299c7e8f7bf --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/cfn-template-from-repo.lit.integ.snapshot/aws-cdk-codepipeline-cloudformation.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "e93ee2d58791b464e1437d7638f7e62a497d0e8063ea6edd0517a1ced58f1359": { + "source": { + "path": "aws-cdk-codepipeline-cloudformation.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e93ee2d58791b464e1437d7638f7e62a497d0e8063ea6edd0517a1ced58f1359.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/cfn-template-from-repo.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/cfn-template-from-repo.lit.integ.snapshot/tree.json index 96859846fd276..cdf00db3e6249 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/cfn-template-from-repo.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/cfn-template-from-repo.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-cloudformation": { @@ -697,14 +697,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -763,8 +763,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "aws-cdk-codepipeline-cloudformation/Pipeline/Deploy/PrepareChanges/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -1013,8 +1013,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ApproveChanges": { @@ -1073,8 +1073,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ExecuteChanges": { @@ -1129,8 +1129,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "aws-cdk-codepipeline-cloudformation/Pipeline/Deploy/ExecuteChanges/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -1208,14 +1208,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts b/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts index 9b1dc140f6068..05ef548385597 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/pipeline-actions.test.ts @@ -4,7 +4,7 @@ import * as events from '@aws-cdk/aws-events'; import * as iam from '@aws-cdk/aws-iam'; import * as s3 from '@aws-cdk/aws-s3'; import * as cdk from '@aws-cdk/core'; -import * as constructs from 'constructs'; +import { Construct, IConstruct, Node } from 'constructs'; import * as _ from 'lodash'; import * as cpactions from '../../lib'; @@ -319,7 +319,7 @@ function _isOrContains(stack: cdk.Stack, entity: string | string[], value: strin return false; } -function _stackArn(stackName: string, scope: constructs.IConstruct): string { +function _stackArn(stackName: string, scope: IConstruct): string { return cdk.Stack.of(scope).formatArn({ service: 'cloudformation', resource: 'stack', @@ -333,7 +333,7 @@ class PipelineDouble extends cdk.Resource implements codepipeline.IPipeline { public readonly role: iam.Role; public readonly artifactBucket: s3.IBucket; - constructor(scope: constructs.Construct, id: string, { pipelineName, role }: { pipelineName?: string, role: iam.Role }) { + constructor(scope: Construct, id: string, { pipelineName, role }: { pipelineName?: string, role: iam.Role }) { super(scope, id); this.pipelineName = pipelineName || 'TestPipeline'; this.pipelineArn = cdk.Stack.of(this).formatArn({ service: 'codepipeline', resource: 'pipeline', resourceName: this.pipelineName }); @@ -383,7 +383,7 @@ class PipelineDouble extends cdk.Resource implements codepipeline.IPipeline { throw new Error('Method not implemented.'); } public bindAsNotificationRuleSource( - _scope: constructs.Construct, + _scope: Construct, ): notifications.NotificationRuleSourceConfig { throw new Error('Method not implemented.'); } @@ -403,7 +403,7 @@ class StageDouble implements codepipeline.IStage { public readonly actions: codepipeline.IAction[] = []; public readonly fullActions: FullAction[]; - public get node(): cdk.ConstructNode { + public get node(): Node { throw new Error('StageDouble is not a real construct'); } @@ -411,10 +411,10 @@ class StageDouble implements codepipeline.IStage { this.stageName = name || 'TestStage'; this.pipeline = pipeline; - const stageParent = new cdk.Construct(pipeline, this.stageName); + const stageParent = new Construct(pipeline, this.stageName); const fullActions = new Array(); for (const action of actions) { - const actionParent = new cdk.Construct(stageParent, action.actionProperties.actionName); + const actionParent = new Construct(stageParent, action.actionProperties.actionName); fullActions.push(new FullAction(action.actionProperties, action.bind(actionParent, this, { role: pipeline.role, bucket: pipeline.artifactBucket, @@ -436,7 +436,7 @@ class StageDouble implements codepipeline.IStage { class RoleDouble extends iam.Role { public readonly statements = new Array(); - constructor(scope: constructs.Construct, id: string, props: iam.RoleProps = { assumedBy: new iam.ServicePrincipal('test') }) { + constructor(scope: Construct, id: string, props: iam.RoleProps = { assumedBy: new iam.ServicePrincipal('test') }) { super(scope, id, props); } diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/stacksets.integ.snapshot/StackSetPipelineStack.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/stacksets.integ.snapshot/StackSetPipelineStack.assets.json new file mode 100644 index 0000000000000..daec40875d0f7 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/stacksets.integ.snapshot/StackSetPipelineStack.assets.json @@ -0,0 +1,45 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "5bcf205623ea5b34a1944fea4c9982e835555e710235ae6f60172097737302e2": { + "source": { + "path": "asset.5bcf205623ea5b34a1944fea4c9982e835555e710235ae6f60172097737302e2", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5bcf205623ea5b34a1944fea4c9982e835555e710235ae6f60172097737302e2.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "d20e4beb997cfc99638c59dc1f9ececeb1fa4c035c56c3c15a06b5cac4b858e5": { + "source": { + "path": "StackSetPipelineStack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d20e4beb997cfc99638c59dc1f9ececeb1fa4c035c56c3c15a06b5cac4b858e5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/stacksets.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/stacksets.integ.snapshot/tree.json index aec24dd5df50a..37bc58cead210 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/stacksets.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/cloudformation/stacksets.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "StackSetPipelineStack": { @@ -200,8 +200,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "5bcf205623ea5b34a1944fea4c9982e835555e710235ae6f60172097737302e2": { @@ -234,14 +234,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Pipeline": { @@ -724,14 +724,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Cfn": { @@ -790,8 +790,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "StackSetPipelineStack/Pipeline/Cfn/StackSet/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -1012,8 +1012,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Instances": { @@ -1068,8 +1068,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "StackSetPipelineStack/Pipeline/Cfn/Instances/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -1145,14 +1145,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-deployed-through-codepipeline.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-deployed-through-codepipeline.lit.integ.snapshot/tree.json index cae1006f9d999..c6330a07395a7 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-deployed-through-codepipeline.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-deployed-through-codepipeline.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LambdaStack": { @@ -857,8 +857,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LambdaCode_Source": { @@ -1020,14 +1020,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { @@ -1234,8 +1234,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Lambda_Build": { @@ -1342,14 +1342,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -1408,8 +1408,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineStack/Pipeline/Deploy/Lambda_CFN_Deploy/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -1656,14 +1656,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-pipeline.integ.snapshot/aws-cdk-codepipeline-lambda.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-pipeline.integ.snapshot/aws-cdk-codepipeline-lambda.assets.json new file mode 100644 index 0000000000000..8d522894c166c --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-pipeline.integ.snapshot/aws-cdk-codepipeline-lambda.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "1b80f1005ef13848c833622e7376ab0984aab2873515cf11f50b47b6450ffcfb": { + "source": { + "path": "aws-cdk-codepipeline-lambda.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "1b80f1005ef13848c833622e7376ab0984aab2873515cf11f50b47b6450ffcfb.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-pipeline.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-pipeline.integ.snapshot/tree.json index 898758394c3a5..2d370e106977f 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-pipeline.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/lambda-pipeline.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-lambda": { @@ -618,14 +618,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { @@ -849,14 +849,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-alexa-deploy.integ.snapshot/aws-cdk-codepipeline-alexa-deploy.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-alexa-deploy.integ.snapshot/aws-cdk-codepipeline-alexa-deploy.assets.json new file mode 100644 index 0000000000000..55607b5807a45 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-alexa-deploy.integ.snapshot/aws-cdk-codepipeline-alexa-deploy.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d31ea0ae68b51eacf7ab93a5733946266fd6cdd12108fe79d0a83adfb4be33d6": { + "source": { + "path": "aws-cdk-codepipeline-alexa-deploy.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d31ea0ae68b51eacf7ab93a5733946266fd6cdd12108fe79d0a83adfb4be33d6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-alexa-deploy.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-alexa-deploy.integ.snapshot/tree.json index 3fa0113eed0aa..f5c317d1c95c3 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-alexa-deploy.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-alexa-deploy.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-alexa-deploy": { @@ -635,14 +635,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -653,14 +653,14 @@ "id": "DeploySkill", "path": "aws-cdk-codepipeline-alexa-deploy/Pipeline/Deploy/DeploySkill", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-cross-region.integ.snapshot/aws-cdk-codepipeline-cloudformation-cross-region.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-cross-region.integ.snapshot/aws-cdk-codepipeline-cloudformation-cross-region.assets.json new file mode 100644 index 0000000000000..4f3567c69f830 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-cross-region.integ.snapshot/aws-cdk-codepipeline-cloudformation-cross-region.assets.json @@ -0,0 +1,20 @@ +{ + "version": "17.0.0", + "files": { + "64e4857ead2a6d40a579c8325f31ac188170c3658ab06c2020de84e581a6069d": { + "source": { + "path": "aws-cdk-codepipeline-cloudformation-cross-region.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-us-west-2": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-west-2", + "objectKey": "64e4857ead2a6d40a579c8325f31ac188170c3658ab06c2020de84e581a6069d.json", + "region": "us-west-2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-west-2" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-cross-region.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-cross-region.integ.snapshot/tree.json index fe6032e74fa65..df590626dde00 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-cross-region.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-cross-region.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-cloudformation-cross-region": { @@ -430,14 +430,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "CFN": { @@ -496,8 +496,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "aws-cdk-codepipeline-cloudformation-cross-region/MyPipeline/CFN/CFN_Deploy/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -709,14 +709,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-with-action-role.integ.snapshot/aws-cdk-codepipeline-cloudformation-cross-region-with-action-role.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-with-action-role.integ.snapshot/aws-cdk-codepipeline-cloudformation-cross-region-with-action-role.assets.json new file mode 100644 index 0000000000000..6cdc8caa2834b --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-with-action-role.integ.snapshot/aws-cdk-codepipeline-cloudformation-cross-region-with-action-role.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "2c1654120d2d163f8f1021be26b63806a6262d17488a233f638330ba07dfaf12": { + "source": { + "path": "aws-cdk-codepipeline-cloudformation-cross-region-with-action-role.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2c1654120d2d163f8f1021be26b63806a6262d17488a233f638330ba07dfaf12.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-with-action-role.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-with-action-role.integ.snapshot/tree.json index a88d03e984375..708c0c72a7a3b 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-with-action-role.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn-with-action-role.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-cloudformation-cross-region-with-action-role": { @@ -201,8 +201,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "aws-cdk-codepipeline-cloudformation-cross-region-with-action-role/ActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -593,14 +593,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "CFN": { @@ -712,14 +712,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn.integ.snapshot/aws-cdk-codepipeline-cloudformation.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn.integ.snapshot/aws-cdk-codepipeline-cloudformation.assets.json new file mode 100644 index 0000000000000..e496a937c6a28 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn.integ.snapshot/aws-cdk-codepipeline-cloudformation.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "c5a9766c318730d1a6873dc4b9c83b3c98fde49113b00d848703f21d83a157c4": { + "source": { + "path": "aws-cdk-codepipeline-cloudformation.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c5a9766c318730d1a6873dc4b9c83b3c98fde49113b00d848703f21d83a157c4.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn.integ.snapshot/tree.json index a916e20b228d1..3d8da6f40a511 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-cfn.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-cloudformation": { @@ -666,8 +666,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AdditionalSource": { @@ -839,14 +839,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "CFN": { @@ -905,8 +905,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "aws-cdk-codepipeline-cloudformation/Pipeline/CFN/DeployCFN/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -1038,14 +1038,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-batch.integ.snapshot/aws-cdk-codepipeline-codebuild-batch.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-batch.integ.snapshot/aws-cdk-codepipeline-codebuild-batch.assets.json new file mode 100644 index 0000000000000..4a871ba556f2c --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-batch.integ.snapshot/aws-cdk-codepipeline-codebuild-batch.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b39b80373eef41114a05c93d6d1dd65274753032cc0859958ff8f3a4bad8943d": { + "source": { + "path": "aws-cdk-codepipeline-codebuild-batch.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b39b80373eef41114a05c93d6d1dd65274753032cc0859958ff8f3a4bad8943d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-batch.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-batch.integ.snapshot/tree.json index 46004f9d48570..dd01768c8a833 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-batch.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-batch.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-codebuild-batch": { @@ -402,14 +402,14 @@ "id": "Source", "path": "aws-cdk-codepipeline-codebuild-batch/Pipeline/Source/Source", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { @@ -516,14 +516,14 @@ "id": "Build", "path": "aws-cdk-codepipeline-codebuild-batch/Pipeline/Build/Build", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-multiple-inputs-outputs.integ.snapshot/aws-cdk-codepipeline-codebuild-multiple-inputs-outputs.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-multiple-inputs-outputs.integ.snapshot/aws-cdk-codepipeline-codebuild-multiple-inputs-outputs.assets.json new file mode 100644 index 0000000000000..f6d8150fa4697 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-multiple-inputs-outputs.integ.snapshot/aws-cdk-codepipeline-codebuild-multiple-inputs-outputs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "77d73199654c5b3c6ab3ee9b0647165eb2e8570062abc1571a54860fc747fe09": { + "source": { + "path": "aws-cdk-codepipeline-codebuild-multiple-inputs-outputs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "77d73199654c5b3c6ab3ee9b0647165eb2e8570062abc1571a54860fc747fe09.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-multiple-inputs-outputs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-multiple-inputs-outputs.integ.snapshot/tree.json index d3129e5f2cca7..1295138a08c70 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-multiple-inputs-outputs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-build-multiple-inputs-outputs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-codebuild-multiple-inputs-outputs": { @@ -505,22 +505,22 @@ "id": "Source1", "path": "aws-cdk-codepipeline-codebuild-multiple-inputs-outputs/Pipeline/Source/Source1", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Source2": { "id": "Source2", "path": "aws-cdk-codepipeline-codebuild-multiple-inputs-outputs/Pipeline/Source/Source2", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { @@ -627,22 +627,22 @@ "id": "Build1", "path": "aws-cdk-codepipeline-codebuild-multiple-inputs-outputs/Pipeline/Build/Build1", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build2": { "id": "Build2", "path": "aws-cdk-codepipeline-codebuild-multiple-inputs-outputs/Pipeline/Build/Build2", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit-build.integ.snapshot/aws-cdk-codepipeline-codecommit-codebuild.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit-build.integ.snapshot/aws-cdk-codepipeline-codecommit-codebuild.assets.json new file mode 100644 index 0000000000000..15a99aa3d762d --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit-build.integ.snapshot/aws-cdk-codepipeline-codecommit-codebuild.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "0a3d3168f636aaf066baccfe400375bfb074cdbdb9399b36ca0d413cb1a425f6": { + "source": { + "path": "aws-cdk-codepipeline-codecommit-codebuild.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0a3d3168f636aaf066baccfe400375bfb074cdbdb9399b36ca0d413cb1a425f6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit-build.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit-build.integ.snapshot/tree.json index 68e2e4222dde5..327627c833330 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit-build.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit-build.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-codecommit-codebuild": { @@ -932,14 +932,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "build": { @@ -1050,8 +1050,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test": { @@ -1158,14 +1158,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit.integ.snapshot/aws-cdk-codepipeline-codecommit.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit.integ.snapshot/aws-cdk-codepipeline-codecommit.assets.json new file mode 100644 index 0000000000000..dae9aab653d9a --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit.integ.snapshot/aws-cdk-codepipeline-codecommit.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "813b7ef0dd520c5c694d530462722a600ba10eca1af04685e705ed760acc3498": { + "source": { + "path": "aws-cdk-codepipeline-codecommit.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "813b7ef0dd520c5c694d530462722a600ba10eca1af04685e705ed760acc3498.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit.integ.snapshot/tree.json index 7af583062c1ce..530ab77a4393a 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-commit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-codecommit": { @@ -713,14 +713,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { @@ -879,14 +879,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy-ecs.integ.snapshot/aws-cdk-codepipeline-codedeploy-ecs.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy-ecs.integ.snapshot/aws-cdk-codepipeline-codedeploy-ecs.assets.json new file mode 100644 index 0000000000000..bfa80fd7223ee --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy-ecs.integ.snapshot/aws-cdk-codepipeline-codedeploy-ecs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d96774fb209957d69eb725112a5ab7e915a9ad9595edd8898731436509f259c2": { + "source": { + "path": "aws-cdk-codepipeline-codedeploy-ecs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d96774fb209957d69eb725112a5ab7e915a9ad9595edd8898731436509f259c2.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy-ecs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy-ecs.integ.snapshot/tree.json index ea820080f6df1..4bac8576b4b12 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy-ecs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy-ecs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-codedeploy-ecs": { @@ -439,14 +439,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -669,14 +669,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy.integ.snapshot/aws-cdk-codepipeline-codedeploy.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy.integ.snapshot/aws-cdk-codepipeline-codedeploy.assets.json new file mode 100644 index 0000000000000..1182a5f102a55 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy.integ.snapshot/aws-cdk-codepipeline-codedeploy.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "8db6ff5987734320d63a756174ad98e1031283bcfacda6d390b265f3d3e1be54": { + "source": { + "path": "aws-cdk-codepipeline-codedeploy.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8db6ff5987734320d63a756174ad98e1031283bcfacda6d390b265f3d3e1be54.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy.integ.snapshot/tree.json index d95df5789e998..ff67afaaa884f 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-code-deploy.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-codedeploy": { @@ -580,14 +580,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -805,14 +805,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecr-source.integ.snapshot/aws-cdk-codepipeline-ecr-source.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecr-source.integ.snapshot/aws-cdk-codepipeline-ecr-source.assets.json new file mode 100644 index 0000000000000..7d558c9ce0ef2 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecr-source.integ.snapshot/aws-cdk-codepipeline-ecr-source.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "26ccd3bf4d70f3a3d93ba25dda6e7050ccbb8dd879a7828708b8d8774abf0292": { + "source": { + "path": "aws-cdk-codepipeline-ecr-source.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "26ccd3bf4d70f3a3d93ba25dda6e7050ccbb8dd879a7828708b8d8774abf0292.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecr-source.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecr-source.integ.snapshot/tree.json index 78ef2118be2bc..d06e98074029c 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecr-source.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecr-source.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-ecr-source": { @@ -383,14 +383,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { @@ -549,14 +549,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-deploy.integ.snapshot/aws-cdk-codepipeline-ecs-deploy.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-deploy.integ.snapshot/aws-cdk-codepipeline-ecs-deploy.assets.json new file mode 100644 index 0000000000000..4e82487fffb73 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-deploy.integ.snapshot/aws-cdk-codepipeline-ecs-deploy.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7d68b158885c92bb8c881295c5e2353aacc1937158bb7f97d1ccdae71a8df89e": { + "source": { + "path": "aws-cdk-codepipeline-ecs-deploy.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7d68b158885c92bb8c881295c5e2353aacc1937158bb7f97d1ccdae71a8df89e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-deploy.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-deploy.integ.snapshot/tree.json index dc782c32b86c2..9c8ebfe2ea9a2 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-deploy.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-deploy.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-ecs-deploy": { @@ -1328,14 +1328,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -1446,14 +1446,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -1605,14 +1605,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-separate-source.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-separate-source.lit.integ.snapshot/tree.json index 1b890f58bf930..813420042cf74 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-separate-source.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-ecs-separate-source.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-pipeline-ecs-separate-sources": { @@ -1321,8 +1321,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "CdkCodeSource": { @@ -1468,14 +1468,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { @@ -1682,8 +1682,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "CdkCodeBuildAndSynth": { @@ -1790,14 +1790,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -1856,8 +1856,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "aws-cdk-pipeline-ecs-separate-sources/CodePipelineDeployingEcsApplication/Deploy/CFN_Deploy/CodePipelineActionRole/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DefaultPolicy": { @@ -2078,14 +2078,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2116,8 +2116,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-events.integ.snapshot/aws-cdk-pipeline-event-target.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-events.integ.snapshot/aws-cdk-pipeline-event-target.assets.json new file mode 100644 index 0000000000000..62991fb6f6247 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-events.integ.snapshot/aws-cdk-pipeline-event-target.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b1631d2393853c8fda7c71a3635559a4e87f5fec135349426c1848260c1329af": { + "source": { + "path": "aws-cdk-pipeline-event-target.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b1631d2393853c8fda7c71a3635559a4e87f5fec135349426c1848260c1329af.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-events.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-events.integ.snapshot/tree.json index 78c51bb1db7a3..844592d862857 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-events.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-events.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-pipeline-event-target": { @@ -697,8 +697,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "OnSourceStateChange": { @@ -773,8 +773,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -885,14 +885,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "OnPipelineStateChange": { diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-jenkins.integ.snapshot/aws-cdk-codepipeline-jenkins.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-jenkins.integ.snapshot/aws-cdk-codepipeline-jenkins.assets.json new file mode 100644 index 0000000000000..5eb516f755c7e --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-jenkins.integ.snapshot/aws-cdk-codepipeline-jenkins.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "a15ef6880d01c964c94ef2899eb2405cc212c982589bf1472fa8697b24007179": { + "source": { + "path": "aws-cdk-codepipeline-jenkins.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a15ef6880d01c964c94ef2899eb2405cc212c982589bf1472fa8697b24007179.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-jenkins.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-jenkins.integ.snapshot/tree.json index 19e7479043627..d13b72d960be1 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-jenkins.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-jenkins.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-jenkins": { @@ -443,14 +443,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -461,30 +461,30 @@ "id": "JenkinsBuild", "path": "aws-cdk-codepipeline-jenkins/Pipeline/Build/JenkinsBuild", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "JenkinsTest": { "id": "JenkinsTest", "path": "aws-cdk-codepipeline-jenkins/Pipeline/Build/JenkinsTest", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "JenkinsTest2": { "id": "JenkinsTest2", "path": "aws-cdk-codepipeline-jenkins/Pipeline/Build/JenkinsTest2", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-manual-approval.integ.snapshot/aws-cdk-codepipeline-manual-approval.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-manual-approval.integ.snapshot/aws-cdk-codepipeline-manual-approval.assets.json new file mode 100644 index 0000000000000..f92138ebb621d --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-manual-approval.integ.snapshot/aws-cdk-codepipeline-manual-approval.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "e8dbd07700d33800ab86cc77c155fdbf815785113831835789ae2debefc0121e": { + "source": { + "path": "aws-cdk-codepipeline-manual-approval.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e8dbd07700d33800ab86cc77c155fdbf815785113831835789ae2debefc0121e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-manual-approval.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-manual-approval.integ.snapshot/tree.json index 86585ed5c64ed..11a341dad98eb 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-manual-approval.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-manual-approval.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-manual-approval": { @@ -409,14 +409,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Approve": { @@ -570,14 +570,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-s3-deploy.integ.snapshot/aws-cdk-codepipeline-s3-deploy.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-s3-deploy.integ.snapshot/aws-cdk-codepipeline-s3-deploy.assets.json new file mode 100644 index 0000000000000..3d43beba66248 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-s3-deploy.integ.snapshot/aws-cdk-codepipeline-s3-deploy.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "0d855672b9c26273fdf4f904686f4baed56bfbb495dd5a5d2bc79b91dcb78ca3": { + "source": { + "path": "aws-cdk-codepipeline-s3-deploy.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0d855672b9c26273fdf4f904686f4baed56bfbb495dd5a5d2bc79b91dcb78ca3.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-s3-deploy.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-s3-deploy.integ.snapshot/tree.json index 9e2ec4aee51d3..8131b6f4f1fd5 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-s3-deploy.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-s3-deploy.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-s3-deploy": { @@ -509,14 +509,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { @@ -698,14 +698,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Disabled": { @@ -866,14 +866,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-stepfunctions.integ.snapshot/aws-cdk-codepipeline-stepfunctions.assets.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-stepfunctions.integ.snapshot/aws-cdk-codepipeline-stepfunctions.assets.json new file mode 100644 index 0000000000000..36e71734b1441 --- /dev/null +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-stepfunctions.integ.snapshot/aws-cdk-codepipeline-stepfunctions.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "e324aacb803385959325488269f8095381694b8666135a39215b6149757bb3e5": { + "source": { + "path": "aws-cdk-codepipeline-stepfunctions.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e324aacb803385959325488269f8095381694b8666135a39215b6149757bb3e5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-stepfunctions.integ.snapshot/tree.json b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-stepfunctions.integ.snapshot/tree.json index 72a1d9f34d5da..a5129198518bd 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-stepfunctions.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline-stepfunctions.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codepipeline-stepfunctions": { @@ -701,14 +701,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Invoke": { @@ -853,14 +853,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline.test.ts b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline.test.ts index 8a66b5d01854f..a90e4a3a0b996 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline.test.ts +++ b/packages/@aws-cdk/aws-codepipeline-actions/test/pipeline.test.ts @@ -7,7 +7,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; import * as s3 from '@aws-cdk/aws-s3'; import * as sns from '@aws-cdk/aws-sns'; -import { App, Aws, CfnParameter, ConstructNode, SecretValue, Stack } from '@aws-cdk/core'; +import { App, Aws, CfnParameter, SecretValue, Stack } from '@aws-cdk/core'; import * as cpactions from '../lib'; /* eslint-disable quote-props */ @@ -45,8 +45,7 @@ describe('pipeline', () => { }); expect(Template.fromStack(stack).toJSON()).not.toEqual({}); - expect([]).toEqual(ConstructNode.validate(pipeline.node)); - + expect([]).toEqual(pipeline.node.validate()); }); test('Tokens can be used as physical names of the Pipeline', () => { @@ -297,8 +296,7 @@ describe('pipeline', () => { ], }); - expect([]).toEqual(ConstructNode.validate(p.node)); - + expect([]).toEqual(p.node.validate()); }); test('onStateChange', () => { @@ -388,8 +386,7 @@ describe('pipeline', () => { ], }); - expect([]).toEqual(ConstructNode.validate(pipeline.node)); - + expect([]).toEqual(pipeline.node.validate()); }); describe('PipelineProject', () => { diff --git a/packages/@aws-cdk/aws-codepipeline/lib/action.ts b/packages/@aws-cdk/aws-codepipeline/lib/action.ts index 3ae4507d642a6..e827812a5fc40 100644 --- a/packages/@aws-cdk/aws-codepipeline/lib/action.ts +++ b/packages/@aws-cdk/aws-codepipeline/lib/action.ts @@ -7,7 +7,7 @@ import { Artifact } from './artifact'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export enum ActionCategory { SOURCE = 'Source', diff --git a/packages/@aws-cdk/aws-codepipeline/lib/custom-action-registration.ts b/packages/@aws-cdk/aws-codepipeline/lib/custom-action-registration.ts index 207d69d02e268..cff4919f6c3b3 100644 --- a/packages/@aws-cdk/aws-codepipeline/lib/custom-action-registration.ts +++ b/packages/@aws-cdk/aws-codepipeline/lib/custom-action-registration.ts @@ -2,9 +2,6 @@ import { Construct } from 'constructs'; import { ActionCategory, ActionArtifactBounds } from './action'; import { CfnCustomActionType } from './codepipeline.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; /** * The creation attributes used for defining a configuration property @@ -117,7 +114,7 @@ export interface CustomActionRegistrationProps { * representing your custom Action, extending the Action class, * and taking the `actionProperties` as properly typed, construction properties. */ -export class CustomActionRegistration extends CoreConstruct { +export class CustomActionRegistration extends Construct { constructor(scope: Construct, id: string, props: CustomActionRegistrationProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-codepipeline/lib/pipeline.ts b/packages/@aws-cdk/aws-codepipeline/lib/pipeline.ts index 72c684dd7d06a..c4f1027069f59 100644 --- a/packages/@aws-cdk/aws-codepipeline/lib/pipeline.ts +++ b/packages/@aws-cdk/aws-codepipeline/lib/pipeline.ts @@ -26,10 +26,6 @@ import { RichAction } from './private/rich-action'; import { Stage } from './private/stage'; import { validateName, validateNamespaceName, validateSourceAction } from './private/validation'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Allows you to control where to place a new Stage when it's added to the Pipeline. * Note that you can provide only one of the below properties - @@ -461,6 +457,8 @@ export class Pipeline extends PipelineBase { for (const stage of props.stages || []) { this.addStage(stage); } + + this.node.addValidation({ validate: () => this.validatePipeline() }); } /** @@ -551,7 +549,7 @@ export class Pipeline extends PipelineBase { validateNamespaceName(richAction.actionProperties.variablesNamespace); // bind the Action (type h4x) - const actionConfig = richAction.bind(actionScope as CoreConstruct, stage, { + const actionConfig = richAction.bind(actionScope, stage, { role: actionRole ? actionRole : this.role, bucket: crossRegionInfo.artifactBucket, }); @@ -574,9 +572,8 @@ export class Pipeline extends PipelineBase { * Validation happens according to the rules documented at * * https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#pipeline-requirements - * @override */ - protected validate(): string[] { + private validatePipeline(): string[] { return [ ...this.validateSourceActionLocations(), ...this.validateHasStages(), diff --git a/packages/@aws-cdk/aws-codepipeline/lib/private/cross-region-support-stack.ts b/packages/@aws-cdk/aws-codepipeline/lib/private/cross-region-support-stack.ts index 5decade872f1e..6ee01377947e9 100644 --- a/packages/@aws-cdk/aws-codepipeline/lib/private/cross-region-support-stack.ts +++ b/packages/@aws-cdk/aws-codepipeline/lib/private/cross-region-support-stack.ts @@ -1,10 +1,7 @@ import * as kms from '@aws-cdk/aws-kms'; import * as s3 from '@aws-cdk/aws-s3'; import * as cdk from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; const REQUIRED_ALIAS_PREFIX = 'alias/'; diff --git a/packages/@aws-cdk/aws-codepipeline/lib/private/rich-action.ts b/packages/@aws-cdk/aws-codepipeline/lib/private/rich-action.ts index e2cde045f88a3..2d2f8b82482a6 100644 --- a/packages/@aws-cdk/aws-codepipeline/lib/private/rich-action.ts +++ b/packages/@aws-cdk/aws-codepipeline/lib/private/rich-action.ts @@ -4,7 +4,7 @@ import { ActionBindOptions, ActionConfig, ActionProperties, IAction, IPipeline, // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Helper routines to work with Actions diff --git a/packages/@aws-cdk/aws-codepipeline/lib/private/stage.ts b/packages/@aws-cdk/aws-codepipeline/lib/private/stage.ts index 9ed505d7dd5ec..d366a1e6c774d 100644 --- a/packages/@aws-cdk/aws-codepipeline/lib/private/stage.ts +++ b/packages/@aws-cdk/aws-codepipeline/lib/private/stage.ts @@ -24,7 +24,7 @@ export class Stage implements IStage { public readonly stageName: string; public readonly transitionToEnabled: boolean; public readonly transitionDisabledReason: string; - private readonly scope: cdk.Construct; + private readonly scope: Construct; private readonly _pipeline: Pipeline; private readonly _actions = new Array(); @@ -38,7 +38,7 @@ export class Stage implements IStage { this.transitionToEnabled = props.transitionToEnabled ?? true; this.transitionDisabledReason = props.transitionDisabledReason ?? 'Transition disabled'; this._pipeline = pipeline; - this.scope = new cdk.Construct(pipeline, this.stageName); + this.scope = new Construct(pipeline, this.stageName); for (const action of props.actions || []) { this.addAction(action); @@ -154,7 +154,7 @@ export class Stage implements IStage { if (Token.isUnresolved(id)) { id = findUniqueConstructId(this.scope, action.actionProperties.provider); } - actionScope = new cdk.Construct(this.scope, id); + actionScope = new Construct(this.scope, id); } return this._pipeline._attachActionToPipeline(this, action, actionScope); } diff --git a/packages/@aws-cdk/aws-codepipeline/package.json b/packages/@aws-cdk/aws-codepipeline/package.json index 2137e04707bfe..608c8dd2df595 100644 --- a/packages/@aws-cdk/aws-codepipeline/package.json +++ b/packages/@aws-cdk/aws-codepipeline/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codepipeline", "version": "0.0.0", + "private": true, "description": "Better interface to AWS Code Pipeline", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codepipeline", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -100,7 +101,7 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -110,10 +111,10 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-codepipeline/test/artifacts.test.ts b/packages/@aws-cdk/aws-codepipeline/test/artifacts.test.ts index 9e2e62a6aedda..1bffd6a383819 100644 --- a/packages/@aws-cdk/aws-codepipeline/test/artifacts.test.ts +++ b/packages/@aws-cdk/aws-codepipeline/test/artifacts.test.ts @@ -1,5 +1,6 @@ import { Template } from '@aws-cdk/assertions'; import * as cdk from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import * as codepipeline from '../lib'; import { FakeBuildAction } from './fake-build-action'; import { FakeSourceAction } from './fake-source-action'; @@ -106,7 +107,6 @@ describe('artifacts', () => { }); const errors = validate(stack); - expect(errors.length).toEqual(1); const error = errors[0]; expect(error).toMatch(/Both Actions 'Source' and 'Build' are producting Artifact 'Artifact_Source_Source'. Every artifact can only be produced once./); @@ -265,7 +265,7 @@ describe('artifacts', () => { }); /* eslint-disable @aws-cdk/no-core-construct */ -function validate(construct: cdk.IConstruct): string[] { +function validate(construct: IConstruct): string[] { try { (construct.node.root as cdk.App).synth(); return []; diff --git a/packages/@aws-cdk/aws-codepipeline/test/general-validation.test.ts b/packages/@aws-cdk/aws-codepipeline/test/general-validation.test.ts index f3024ec163e9b..3882245500cf3 100644 --- a/packages/@aws-cdk/aws-codepipeline/test/general-validation.test.ts +++ b/packages/@aws-cdk/aws-codepipeline/test/general-validation.test.ts @@ -44,7 +44,7 @@ describe('general validation', () => { const stack = new cdk.Stack(); const pipeline = new Pipeline(stack, 'Pipeline'); - expect(cdk.ConstructNode.validate(pipeline.node).length).toEqual(1); + expect(pipeline.node.validate().length).toEqual(1); }); test('should fail if Pipeline has a Source Action in a non-first Stage', () => { @@ -61,7 +61,7 @@ describe('general validation', () => { ], }); - expect(cdk.ConstructNode.validate(pipeline.node).length).toEqual(1); + expect(pipeline.node.validate().length).toEqual(1); }); }); }); diff --git a/packages/@aws-cdk/aws-codestar/package.json b/packages/@aws-cdk/aws-codestar/package.json index 64fd2d23c578d..940cbce8bfed6 100644 --- a/packages/@aws-cdk/aws-codestar/package.json +++ b/packages/@aws-cdk/aws-codestar/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codestar", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeStar", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -8,7 +9,7 @@ "outdir": "dist", "targets": { "dotnet": { - "namespace": "Amazon.CDK.AWS.CodeStar", + "namespace": "Amazon.CDK.AWS.Codestar", "packageId": "Amazon.CDK.AWS.CodeStar", "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png" }, @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codestar", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -91,15 +92,15 @@ "dependencies": { "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-codestarconnections/package.json b/packages/@aws-cdk/aws-codestarconnections/package.json index be6d1d171f8b2..44ff467311d14 100644 --- a/packages/@aws-cdk/aws-codestarconnections/package.json +++ b/packages/@aws-cdk/aws-codestarconnections/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codestarconnections", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeStarConnections", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codestarconnections", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-codestarnotifications/package.json b/packages/@aws-cdk/aws-codestarnotifications/package.json index 45adb1c1a2fab..675584f0b3a41 100644 --- a/packages/@aws-cdk/aws-codestarnotifications/package.json +++ b/packages/@aws-cdk/aws-codestarnotifications/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-codestarnotifications", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::CodeStarNotifications", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_codestarnotifications", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,14 +91,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-cognito-identitypool/package.json b/packages/@aws-cdk/aws-cognito-identitypool/package.json index 9d80329f76d25..901fccbd84e93 100644 --- a/packages/@aws-cdk/aws-cognito-identitypool/package.json +++ b/packages/@aws-cdk/aws-cognito-identitypool/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.aws_cognito_identitypool", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,17 +88,17 @@ "@aws-cdk/aws-cognito": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-cognito": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -113,5 +113,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-cognito/package.json b/packages/@aws-cdk/aws-cognito/package.json index 506d0cd1935bc..6948d3271ebd2 100644 --- a/packages/@aws-cdk/aws-cognito/package.json +++ b/packages/@aws-cdk/aws-cognito/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-cognito", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Cognito", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_cognito", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,7 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69", + "constructs": "^10.0.0", "punycode": "^2.1.1" }, "homepage": "https://github.com/aws/aws-cdk", @@ -106,13 +107,13 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "bundledDependencies": [ "punycode" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-cognito/test/user-pool-custom-sender.integ.snapshot/integ-user-pool-custom-sender.assets.json b/packages/@aws-cdk/aws-cognito/test/user-pool-custom-sender.integ.snapshot/integ-user-pool-custom-sender.assets.json new file mode 100644 index 0000000000000..702874b274247 --- /dev/null +++ b/packages/@aws-cdk/aws-cognito/test/user-pool-custom-sender.integ.snapshot/integ-user-pool-custom-sender.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7e21bf24f8c6a20d81ddd4a52096ea99176dc68bcac04483e71b011708134d30": { + "source": { + "path": "integ-user-pool-custom-sender.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7e21bf24f8c6a20d81ddd4a52096ea99176dc68bcac04483e71b011708134d30.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-cognito/test/user-pool-custom-sender.integ.snapshot/tree.json b/packages/@aws-cdk/aws-cognito/test/user-pool-custom-sender.integ.snapshot/tree.json index 5638bdae38d6c..5510dfc0e86c5 100644 --- a/packages/@aws-cdk/aws-cognito/test/user-pool-custom-sender.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-cognito/test/user-pool-custom-sender.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-user-pool-custom-sender": { diff --git a/packages/@aws-cdk/aws-config/package.json b/packages/@aws-cdk/aws-config/package.json index bcf592bbeb9d7..decd72f5eba79 100644 --- a/packages/@aws-cdk/aws-config/package.json +++ b/packages/@aws-cdk/aws-config/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-config", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Config", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_config", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -94,7 +95,7 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -103,10 +104,10 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-connect/package.json b/packages/@aws-cdk/aws-connect/package.json index b14d4a5a55188..a866a84f1823b 100644 --- a/packages/@aws-cdk/aws-connect/package.json +++ b/packages/@aws-cdk/aws-connect/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-connect", "module": "aws_cdk.aws_connect" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-cur/package.json b/packages/@aws-cdk/aws-cur/package.json index 2c85c692c935e..f2a063a4fe726 100644 --- a/packages/@aws-cdk/aws-cur/package.json +++ b/packages/@aws-cdk/aws-cur/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-cur", "module": "aws_cdk.aws_cur" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-customerprofiles/package.json b/packages/@aws-cdk/aws-customerprofiles/package.json index 48677f8bfc833..ec3d50f258d0c 100644 --- a/packages/@aws-cdk/aws-customerprofiles/package.json +++ b/packages/@aws-cdk/aws-customerprofiles/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-customerprofiles", "module": "aws_cdk.aws_customerprofiles" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-databrew/package.json b/packages/@aws-cdk/aws-databrew/package.json index 4850c846fe004..da04fcd58f971 100644 --- a/packages/@aws-cdk/aws-databrew/package.json +++ b/packages/@aws-cdk/aws-databrew/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-databrew", "module": "aws_cdk.aws_databrew" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-datapipeline/package.json b/packages/@aws-cdk/aws-datapipeline/package.json index bcc4327739532..4f4cd7747ce84 100644 --- a/packages/@aws-cdk/aws-datapipeline/package.json +++ b/packages/@aws-cdk/aws-datapipeline/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-datapipeline", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::DataPipeline", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_datapipeline", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-datasync/package.json b/packages/@aws-cdk/aws-datasync/package.json index 566d4fefd82cf..ddddb76ecceb9 100644 --- a/packages/@aws-cdk/aws-datasync/package.json +++ b/packages/@aws-cdk/aws-datasync/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-datasync", "module": "aws_cdk.aws_datasync" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-dax/package.json b/packages/@aws-cdk/aws-dax/package.json index d49a9b0a457aa..783ad68ee4d4e 100644 --- a/packages/@aws-cdk/aws-dax/package.json +++ b/packages/@aws-cdk/aws-dax/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-dax", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::DAX", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_dax", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-detective/package.json b/packages/@aws-cdk/aws-detective/package.json index 5e2057a812650..0573dd3f87537 100644 --- a/packages/@aws-cdk/aws-detective/package.json +++ b/packages/@aws-cdk/aws-detective/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-detective", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Detective", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_detective", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "awscdkio": { diff --git a/packages/@aws-cdk/aws-devopsguru/package.json b/packages/@aws-cdk/aws-devopsguru/package.json index 6e9caa60fb59a..7365050764b5e 100644 --- a/packages/@aws-cdk/aws-devopsguru/package.json +++ b/packages/@aws-cdk/aws-devopsguru/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-devopsguru", "module": "aws_cdk.aws_devopsguru" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-directoryservice/package.json b/packages/@aws-cdk/aws-directoryservice/package.json index 6634dae7288db..d7f7335c6686b 100644 --- a/packages/@aws-cdk/aws-directoryservice/package.json +++ b/packages/@aws-cdk/aws-directoryservice/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-directoryservice", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::DirectoryService", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_directoryservice", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-dlm/package.json b/packages/@aws-cdk/aws-dlm/package.json index 42ce2385ca364..6095bd18e15bb 100644 --- a/packages/@aws-cdk/aws-dlm/package.json +++ b/packages/@aws-cdk/aws-dlm/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-dlm", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::DLM", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_dlm", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-dms/package.json b/packages/@aws-cdk/aws-dms/package.json index a3e5f4fdc05f7..9f8d158e87e5e 100644 --- a/packages/@aws-cdk/aws-dms/package.json +++ b/packages/@aws-cdk/aws-dms/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-dms", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::DMS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_dms", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-docdb/package.json b/packages/@aws-cdk/aws-docdb/package.json index c7bfb40c93b5d..8ae74a814d4ed 100644 --- a/packages/@aws-cdk/aws-docdb/package.json +++ b/packages/@aws-cdk/aws-docdb/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-docdb", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::DocDB", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_docdb", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -96,7 +97,7 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", @@ -106,10 +107,10 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-docdb/test/cluster.integ.snapshot/aws-cdk-docdb-integ.assets.json b/packages/@aws-cdk/aws-docdb/test/cluster.integ.snapshot/aws-cdk-docdb-integ.assets.json new file mode 100644 index 0000000000000..be33398f470b3 --- /dev/null +++ b/packages/@aws-cdk/aws-docdb/test/cluster.integ.snapshot/aws-cdk-docdb-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "0b202200cbea4f3a5359f78678614bd85d375029be68383b9cdf9edac8a8ff5d": { + "source": { + "path": "aws-cdk-docdb-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0b202200cbea4f3a5359f78678614bd85d375029be68383b9cdf9edac8a8ff5d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-docdb/test/cluster.integ.snapshot/tree.json b/packages/@aws-cdk/aws-docdb/test/cluster.integ.snapshot/tree.json index c22d8fc52bc21..d2f9a2664f0a1 100644 --- a/packages/@aws-cdk/aws-docdb/test/cluster.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-docdb/test/cluster.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-docdb-integ": { diff --git a/packages/@aws-cdk/aws-dynamodb-global/lib/aws-dynamodb-global.ts b/packages/@aws-cdk/aws-dynamodb-global/lib/aws-dynamodb-global.ts index caa9eedec0c4d..576228502bb27 100644 --- a/packages/@aws-cdk/aws-dynamodb-global/lib/aws-dynamodb-global.ts +++ b/packages/@aws-cdk/aws-dynamodb-global/lib/aws-dynamodb-global.ts @@ -1,11 +1,8 @@ import * as dynamodb from '@aws-cdk/aws-dynamodb'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { GlobalTableCoordinator } from './global-table-coordinator'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for the multiple DynamoDB tables to mash together into a * global table diff --git a/packages/@aws-cdk/aws-dynamodb-global/lib/global-table-coordinator.ts b/packages/@aws-cdk/aws-dynamodb-global/lib/global-table-coordinator.ts index 8605e36fda54b..8005bc0f91cde 100644 --- a/packages/@aws-cdk/aws-dynamodb-global/lib/global-table-coordinator.ts +++ b/packages/@aws-cdk/aws-dynamodb-global/lib/global-table-coordinator.ts @@ -2,12 +2,9 @@ import * as path from 'path'; import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { GlobalTableProps } from './aws-dynamodb-global'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * A stack that will make a Lambda that will launch a lambda to glue * together all the DynamoDB tables into a global table diff --git a/packages/@aws-cdk/aws-dynamodb-global/package.json b/packages/@aws-cdk/aws-dynamodb-global/package.json index 4df1b87a50cb1..bce9b8c37d94e 100644 --- a/packages/@aws-cdk/aws-dynamodb-global/package.json +++ b/packages/@aws-cdk/aws-dynamodb-global/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-dynamodb-global", "version": "0.0.0", + "private": true, "description": "Build a global dynamodb table", "deprecated": "This module has been deprecated. Use @aws-cdk/aws-dynamodb.Table with replicationRegions instead", "license": "Apache-2.0", @@ -30,7 +31,7 @@ "module": "aws_cdk.aws_dynamodb_global", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] }, "dotnet": { @@ -60,7 +61,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "devDependencies": { "@aws-cdk/assertions": "0.0.0", @@ -75,7 +76,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "scripts": { "build": "cdk-build", @@ -94,7 +95,7 @@ "build+test+extract": "yarn build+test && yarn rosetta:extract" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/@aws-cdk/aws-dynamodb-global/test/dynamodb.global.integ.snapshot/tree.json b/packages/@aws-cdk/aws-dynamodb-global/test/dynamodb.global.integ.snapshot/tree.json index 827527ad431a7..172addeea20d0 100644 --- a/packages/@aws-cdk/aws-dynamodb-global/test/dynamodb.global.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-dynamodb-global/test/dynamodb.global.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Default": { @@ -449,14 +449,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "CfnCustomResource": { diff --git a/packages/@aws-cdk/aws-dynamodb/lib/replica-provider.ts b/packages/@aws-cdk/aws-dynamodb/lib/replica-provider.ts index d984c4bb7b3ff..872a51cf23f43 100644 --- a/packages/@aws-cdk/aws-dynamodb/lib/replica-provider.ts +++ b/packages/@aws-cdk/aws-dynamodb/lib/replica-provider.ts @@ -5,10 +5,6 @@ import { Duration, NestedStack, Stack } from '@aws-cdk/core'; import * as cr from '@aws-cdk/custom-resources'; import { Construct } from 'constructs'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for a ReplicaProvider */ @@ -47,7 +43,7 @@ export class ReplicaProvider extends NestedStack { public readonly isCompleteHandler: lambda.Function; private constructor(scope: Construct, id: string, props: ReplicaProviderProps = {}) { - super(scope as CoreConstruct, id); + super(scope, id); const code = lambda.Code.fromAsset(path.join(__dirname, 'replica-handler')); diff --git a/packages/@aws-cdk/aws-dynamodb/lib/table.ts b/packages/@aws-cdk/aws-dynamodb/lib/table.ts index a1e880999c88b..dc4497e2ae58f 100644 --- a/packages/@aws-cdk/aws-dynamodb/lib/table.ts +++ b/packages/@aws-cdk/aws-dynamodb/lib/table.ts @@ -16,10 +16,6 @@ import { ReplicaProvider } from './replica-provider'; import { EnableScalingProps, IScalableTableAttribute } from './scalable-attribute-api'; import { ScalableTableAttribute } from './scalable-table-attribute'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - const HASH_KEY_TYPE = 'HASH'; const RANGE_KEY_TYPE = 'RANGE'; @@ -1224,6 +1220,8 @@ export class Table extends TableBase { if (props.replicationRegions && props.replicationRegions.length > 0) { this.createReplicaTables(props.replicationRegions, props.replicationTimeout, props.waitForReplicationToFinish); } + + this.node.addValidation({ validate: () => this.validateTable() }); } /** @@ -1410,7 +1408,7 @@ export class Table extends TableBase { * * @returns an array of validation error message */ - protected validate(): string[] { + private validateTable(): string[] { const errors = new Array(); if (!this.tablePartitionKey) { @@ -1814,7 +1812,7 @@ interface ScalableAttributePair { * policy resource), new permissions are in effect before clean up happens, and so replicas that * need to be dropped can no longer be due to lack of permissions. */ -class SourceTableAttachedPolicy extends CoreConstruct implements iam.IGrantable { +class SourceTableAttachedPolicy extends Construct implements iam.IGrantable { public readonly grantPrincipal: iam.IPrincipal; public readonly policy: iam.IManagedPolicy; diff --git a/packages/@aws-cdk/aws-dynamodb/package.json b/packages/@aws-cdk/aws-dynamodb/package.json index 4165849adc31e..d84c6db9da0d0 100644 --- a/packages/@aws-cdk/aws-dynamodb/package.json +++ b/packages/@aws-cdk/aws-dynamodb/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-dynamodb", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::DynamoDB", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_dynamodb", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -102,7 +103,7 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -114,10 +115,10 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.integ.snapshot/aws-cdk-dynamodb.assets.json b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.integ.snapshot/aws-cdk-dynamodb.assets.json new file mode 100644 index 0000000000000..3e8f985a2c455 --- /dev/null +++ b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.integ.snapshot/aws-cdk-dynamodb.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "732af04a92cf83fef3651338853eb76db283aa7dfd8cf2ee037236800b5e9027": { + "source": { + "path": "aws-cdk-dynamodb.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "732af04a92cf83fef3651338853eb76db283aa7dfd8cf2ee037236800b5e9027.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.integ.snapshot/tree.json b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.integ.snapshot/tree.json index f46995173f870..8659016fd8187 100644 --- a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-dynamodb": { diff --git a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.sse.integ.snapshot/aws-cdk-dynamodb.assets.json b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.sse.integ.snapshot/aws-cdk-dynamodb.assets.json new file mode 100644 index 0000000000000..710a99de1dee0 --- /dev/null +++ b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.sse.integ.snapshot/aws-cdk-dynamodb.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "e87d5954b274d23c130dde8447d798c0f6fdadaa66f660cbc630acdab9c6f8d6": { + "source": { + "path": "aws-cdk-dynamodb.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e87d5954b274d23c130dde8447d798c0f6fdadaa66f660cbc630acdab9c6f8d6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.sse.integ.snapshot/tree.json b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.sse.integ.snapshot/tree.json index c943f79843a6c..af842ef467359 100644 --- a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.sse.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.sse.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-dynamodb": { diff --git a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.test.ts b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.test.ts index d5307ef43fe61..aedd50acd335d 100644 --- a/packages/@aws-cdk/aws-dynamodb/test/dynamodb.test.ts +++ b/packages/@aws-cdk/aws-dynamodb/test/dynamodb.test.ts @@ -5,7 +5,7 @@ import * as kinesis from '@aws-cdk/aws-kinesis'; import * as kms from '@aws-cdk/aws-kms'; import { testDeprecated } from '@aws-cdk/cdk-build-tools'; import { testLegacyBehavior } from '@aws-cdk/cdk-build-tools/lib/feature-flag'; -import { App, Aws, CfnDeletionPolicy, ConstructNode, Duration, PhysicalName, RemovalPolicy, Resource, Stack, Tags } from '@aws-cdk/core'; +import { App, Aws, CfnDeletionPolicy, Duration, PhysicalName, RemovalPolicy, Resource, Stack, Tags } from '@aws-cdk/core'; import * as cr from '@aws-cdk/custom-resources'; import { Construct } from 'constructs'; import { @@ -1485,10 +1485,10 @@ test('error when validating construct if a local secondary index exists without sortKey: LSI_SORT_KEY, }); - const errors = ConstructNode.validate(table.node); + const errors = table.node.validate(); expect(errors.length).toBe(1); - expect(errors[0]?.message).toBe('a sort key of the table must be specified to add local secondary indexes'); + expect(errors[0]).toBe('a sort key of the table must be specified to add local secondary indexes'); }); test('can enable Read AutoScaling', () => { diff --git a/packages/@aws-cdk/aws-dynamodb/test/global-replicas-provisioned.integ.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.assets.json b/packages/@aws-cdk/aws-dynamodb/test/global-replicas-provisioned.integ.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.assets.json new file mode 100644 index 0000000000000..e2ac04b9e2c2a --- /dev/null +++ b/packages/@aws-cdk/aws-dynamodb/test/global-replicas-provisioned.integ.snapshot/aws-cdk-dynamodb-global-replicas-provisioned.assets.json @@ -0,0 +1,58 @@ +{ + "version": "17.0.0", + "files": { + "5d88959fad6bed204d22b24bf15826b8c7591c586a60a313e54f1948d9cdf80f": { + "source": { + "path": "asset.5d88959fad6bed204d22b24bf15826b8c7591c586a60a313e54f1948d9cdf80f", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5d88959fad6bed204d22b24bf15826b8c7591c586a60a313e54f1948d9cdf80f.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "6e740751187759ff834a15801085b61c537b0f3aed75654c723d814a65376369": { + "source": { + "path": "awscdkdynamodbglobalreplicasprovisionedawscdkawsdynamodbReplicaProviderEA32CB30.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "6e740751187759ff834a15801085b61c537b0f3aed75654c723d814a65376369.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "443475ebbf58d49170e3fba76075de4fa41a2fc3d5debbb933e41edb71289338": { + "source": { + "path": "aws-cdk-dynamodb-global-replicas-provisioned.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "443475ebbf58d49170e3fba76075de4fa41a2fc3d5debbb933e41edb71289338.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-dynamodb/test/global-replicas-provisioned.integ.snapshot/tree.json b/packages/@aws-cdk/aws-dynamodb/test/global-replicas-provisioned.integ.snapshot/tree.json index 2d660e978f218..0001f12a141a4 100644 --- a/packages/@aws-cdk/aws-dynamodb/test/global-replicas-provisioned.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-dynamodb/test/global-replicas-provisioned.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-dynamodb-global-replicas-provisioned": { @@ -167,8 +167,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SourceTableAttachedManagedPolicy-awscdkdynamodbglobalreplicasprovisionedawscdkawsdynamodbReplicaProviderIsCompleteHandlerServiceRoleBE2B1C1A": { @@ -240,8 +240,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Replicaus-east-2": { @@ -1604,8 +1604,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1763,8 +1763,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -1801,8 +1801,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -1835,8 +1835,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "fa728fbd1797ec54948af8639031405ae9e9706b7ca18642938bf901ea9e4996": { @@ -1869,14 +1869,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-dynamodb/test/global.integ.snapshot/cdk-dynamodb-global-20191121.assets.json b/packages/@aws-cdk/aws-dynamodb/test/global.integ.snapshot/cdk-dynamodb-global-20191121.assets.json new file mode 100644 index 0000000000000..3f8c7e5891775 --- /dev/null +++ b/packages/@aws-cdk/aws-dynamodb/test/global.integ.snapshot/cdk-dynamodb-global-20191121.assets.json @@ -0,0 +1,62 @@ +{ + "version": "17.0.0", + "files": { + "5d88959fad6bed204d22b24bf15826b8c7591c586a60a313e54f1948d9cdf80f": { + "source": { + "path": "asset.5d88959fad6bed204d22b24bf15826b8c7591c586a60a313e54f1948d9cdf80f", + "packaging": "zip" + }, + "destinations": { + "current_account-eu-west-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1", + "objectKey": "5d88959fad6bed204d22b24bf15826b8c7591c586a60a313e54f1948d9cdf80f.zip", + "region": "eu-west-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-1" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-eu-west-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "region": "eu-west-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-1" + } + } + }, + "6bbfe2a63afaf79ef5fe83a021d23074c21a1c69ecd9a7b163b1537c11f8c2dd": { + "source": { + "path": "cdkdynamodbglobal20191121awscdkawsdynamodbReplicaProviderB281C954.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-eu-west-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1", + "objectKey": "6bbfe2a63afaf79ef5fe83a021d23074c21a1c69ecd9a7b163b1537c11f8c2dd.json", + "region": "eu-west-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-1" + } + } + }, + "fe4a0fa2c7d2a3835d4aad89d0316cbe61dce0a442266fa1f9b337509c5531cb": { + "source": { + "path": "cdk-dynamodb-global-20191121.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-eu-west-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-1", + "objectKey": "fe4a0fa2c7d2a3835d4aad89d0316cbe61dce0a442266fa1f9b337509c5531cb.json", + "region": "eu-west-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-1" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-dynamodb/test/global.integ.snapshot/tree.json b/packages/@aws-cdk/aws-dynamodb/test/global.integ.snapshot/tree.json index 5dffa2ab64b18..4285abcab52a0 100644 --- a/packages/@aws-cdk/aws-dynamodb/test/global.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-dynamodb/test/global.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-dynamodb-global-20191121": { @@ -193,8 +193,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SourceTableAttachedManagedPolicy-cdkdynamodbglobal20191121awscdkawsdynamodbReplicaProviderIsCompleteHandlerServiceRole39716128": { @@ -277,8 +277,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Replicaeu-west-2": { @@ -1519,8 +1519,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1666,8 +1666,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -1704,8 +1704,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -1738,8 +1738,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4e586e7cfb8e3f78586d8846f6f2265bf37ad7412337b9009908eb08a7f8c2a1": { @@ -1772,14 +1772,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-ec2/lib/aspects/require-imdsv2-aspect.ts b/packages/@aws-cdk/aws-ec2/lib/aspects/require-imdsv2-aspect.ts index abad030c160a8..05a8f5e1e4e69 100644 --- a/packages/@aws-cdk/aws-ec2/lib/aspects/require-imdsv2-aspect.ts +++ b/packages/@aws-cdk/aws-ec2/lib/aspects/require-imdsv2-aspect.ts @@ -1,6 +1,6 @@ import * as cdk from '@aws-cdk/core'; -import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; +import { IConstruct } from 'constructs'; import { CfnLaunchTemplate } from '../ec2.generated'; import { Instance } from '../instance'; import { LaunchTemplate } from '../launch-template'; @@ -27,7 +27,7 @@ abstract class RequireImdsv2Aspect implements cdk.IAspect { this.suppressWarnings = props?.suppressWarnings ?? false; } - abstract visit(node: cdk.IConstruct): void; + abstract visit(node: IConstruct): void; /** * Adds a warning annotation to a node, unless `suppressWarnings` is true. @@ -35,7 +35,7 @@ abstract class RequireImdsv2Aspect implements cdk.IAspect { * @param node The scope to add the warning to. * @param message The warning message. */ - protected warn(node: cdk.IConstruct, message: string) { + protected warn(node: IConstruct, message: string) { if (this.suppressWarnings !== true) { cdk.Annotations.of(node).addWarning(`${RequireImdsv2Aspect.name} failed on node ${node.node.id}: ${message}`); } @@ -76,7 +76,7 @@ export class InstanceRequireImdsv2Aspect extends RequireImdsv2Aspect { this.suppressLaunchTemplateWarning = props?.suppressLaunchTemplateWarning ?? false; } - visit(node: cdk.IConstruct): void { + visit(node: IConstruct): void { if (!(node instanceof Instance)) { return; } @@ -92,7 +92,7 @@ export class InstanceRequireImdsv2Aspect extends RequireImdsv2Aspect { }, }, }); - if (FeatureFlags.of(node).isEnabled(cxapi.EC2_UNIQUE_IMDSV2_LAUNCH_TEMPLATE_NAME)) { + if (cdk.FeatureFlags.of(node).isEnabled(cxapi.EC2_UNIQUE_IMDSV2_LAUNCH_TEMPLATE_NAME)) { launchTemplate.launchTemplateName = cdk.Names.uniqueId(launchTemplate); } else { launchTemplate.launchTemplateName = `${node.node.id}LaunchTemplate`; @@ -103,7 +103,7 @@ export class InstanceRequireImdsv2Aspect extends RequireImdsv2Aspect { }; } - protected warn(node: cdk.IConstruct, message: string) { + protected warn(node: IConstruct, message: string) { if (this.suppressLaunchTemplateWarning !== true) { super.warn(node, message); } @@ -125,7 +125,7 @@ export class LaunchTemplateRequireImdsv2Aspect extends RequireImdsv2Aspect { super(props); } - visit(node: cdk.IConstruct): void { + visit(node: IConstruct): void { if (!(node instanceof LaunchTemplate)) { return; } diff --git a/packages/@aws-cdk/aws-ec2/lib/cfn-init.ts b/packages/@aws-cdk/aws-ec2/lib/cfn-init.ts index 9832c83cdc4ac..03a8529da30a8 100644 --- a/packages/@aws-cdk/aws-ec2/lib/cfn-init.ts +++ b/packages/@aws-cdk/aws-ec2/lib/cfn-init.ts @@ -8,7 +8,7 @@ import { UserData } from './user-data'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * A CloudFormation-init configuration diff --git a/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint-types.ts b/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint-types.ts index ef33493a8f225..ee432f54b7dbb 100644 --- a/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint-types.ts +++ b/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint-types.ts @@ -1,4 +1,5 @@ -import { IDependable, IResource } from '@aws-cdk/core'; +import { IResource } from '@aws-cdk/core'; +import { IDependable } from 'constructs'; import { IConnectable } from './connections'; /** diff --git a/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint.ts b/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint.ts index f28dd43462838..f518b6219be53 100644 --- a/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint.ts +++ b/packages/@aws-cdk/aws-ec2/lib/client-vpn-endpoint.ts @@ -1,7 +1,7 @@ import { ISamlProvider } from '@aws-cdk/aws-iam'; import * as logs from '@aws-cdk/aws-logs'; -import { CfnOutput, ConcreteDependable, IDependable, Resource, Token } from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { CfnOutput, Resource, Token } from '@aws-cdk/core'; +import { Construct, DependencyGroup, IDependable } from 'constructs'; import { ClientVpnAuthorizationRule, ClientVpnAuthorizationRuleOptions } from './client-vpn-authorization-rule'; import { IClientVpnConnectionHandler, IClientVpnEndpoint, TransportProtocol, VpnPort } from './client-vpn-endpoint-types'; import { ClientVpnRoute, ClientVpnRouteOptions } from './client-vpn-route'; @@ -274,7 +274,7 @@ export class ClientVpnEndpoint extends Resource implements IClientVpnEndpoint { class Import extends Resource implements IClientVpnEndpoint { public readonly endpointId = attrs.endpointId; public readonly connections = new Connections({ securityGroups: attrs.securityGroups }); - public readonly targetNetworksAssociated: IDependable = new ConcreteDependable(); + public readonly targetNetworksAssociated: IDependable = new DependencyGroup(); } return new Import(scope, id); } @@ -288,7 +288,7 @@ export class ClientVpnEndpoint extends Resource implements IClientVpnEndpoint { public readonly targetNetworksAssociated: IDependable; - private readonly _targetNetworksAssociated = new ConcreteDependable(); + private readonly _targetNetworksAssociated = new DependencyGroup(); constructor(scope: Construct, id: string, props: ClientVpnEndpointProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-ec2/lib/machine-image.ts b/packages/@aws-cdk/aws-ec2/lib/machine-image.ts index 789d17c5167bd..2b7c14c2705fa 100644 --- a/packages/@aws-cdk/aws-ec2/lib/machine-image.ts +++ b/packages/@aws-cdk/aws-ec2/lib/machine-image.ts @@ -7,7 +7,7 @@ import { WindowsVersion } from './windows-versions'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Interface for classes that can select an appropriate machine image to use diff --git a/packages/@aws-cdk/aws-ec2/lib/private/cfn-init-internal.ts b/packages/@aws-cdk/aws-ec2/lib/private/cfn-init-internal.ts index ff7fc407eedf2..75e6c57175b93 100644 --- a/packages/@aws-cdk/aws-ec2/lib/private/cfn-init-internal.ts +++ b/packages/@aws-cdk/aws-ec2/lib/private/cfn-init-internal.ts @@ -1,5 +1,5 @@ import * as iam from '@aws-cdk/aws-iam'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The type of the init element. diff --git a/packages/@aws-cdk/aws-ec2/lib/private/ebs-util.ts b/packages/@aws-cdk/aws-ec2/lib/private/ebs-util.ts index d66dc01f31398..80787c2224d4d 100644 --- a/packages/@aws-cdk/aws-ec2/lib/private/ebs-util.ts +++ b/packages/@aws-cdk/aws-ec2/lib/private/ebs-util.ts @@ -4,7 +4,7 @@ import { BlockDevice, EbsDeviceVolumeType } from '../volume'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export function instanceBlockDeviceMappings(construct: Construct, blockDevices: BlockDevice[]): CfnInstance.BlockDeviceMappingProperty[] { return synthesizeBlockDeviceMappings(construct, blockDevices, {}); diff --git a/packages/@aws-cdk/aws-ec2/lib/volume.ts b/packages/@aws-cdk/aws-ec2/lib/volume.ts index 723c0f91e602e..fb45ac14b67af 100644 --- a/packages/@aws-cdk/aws-ec2/lib/volume.ts +++ b/packages/@aws-cdk/aws-ec2/lib/volume.ts @@ -7,11 +7,6 @@ import { Construct } from 'constructs'; import { CfnVolume } from './ec2.generated'; import { IInstance } from './instance'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - - /** * Block device */ @@ -521,7 +516,7 @@ abstract class VolumeBase extends Resource implements IVolume { // The ResourceTag condition requires that all resources involved in the operation have // the given tag, so we tag this and all constructs given. Tags.of(this).add(tagKey, tagValue); - constructs.forEach(construct => Tags.of(construct as CoreConstruct).add(tagKey, tagValue)); + constructs.forEach(construct => Tags.of(construct).add(tagKey, tagValue)); return result; } @@ -550,7 +545,7 @@ abstract class VolumeBase extends Resource implements IVolume { // The ResourceTag condition requires that all resources involved in the operation have // the given tag, so we tag this and all constructs given. Tags.of(this).add(tagKey, tagValue); - constructs.forEach(construct => Tags.of(construct as CoreConstruct).add(tagKey, tagValue)); + constructs.forEach(construct => Tags.of(construct).add(tagKey, tagValue)); return result; } diff --git a/packages/@aws-cdk/aws-ec2/lib/vpc-flow-logs.ts b/packages/@aws-cdk/aws-ec2/lib/vpc-flow-logs.ts index fdc4a06ad2227..326d09304c495 100644 --- a/packages/@aws-cdk/aws-ec2/lib/vpc-flow-logs.ts +++ b/packages/@aws-cdk/aws-ec2/lib/vpc-flow-logs.ts @@ -6,10 +6,6 @@ import { Construct } from 'constructs'; import { CfnFlowLog } from './ec2.generated'; import { ISubnet, IVpc } from './vpc'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * A FlowLog * @@ -140,7 +136,7 @@ export abstract class FlowLogDestination { /** * Generates a flow log destination configuration */ - public abstract bind(scope: CoreConstruct, flowLog: FlowLog): FlowLogDestinationConfig; + public abstract bind(scope: Construct, flowLog: FlowLog): FlowLogDestinationConfig; } /** @@ -193,7 +189,7 @@ class S3Destination extends FlowLogDestination { super(); } - public bind(scope: CoreConstruct, _flowLog: FlowLog): FlowLogDestinationConfig { + public bind(scope: Construct, _flowLog: FlowLog): FlowLogDestinationConfig { let s3Bucket: s3.IBucket; if (this.props.s3Bucket === undefined) { s3Bucket = new s3.Bucket(scope, 'Bucket', { @@ -219,7 +215,7 @@ class CloudWatchLogsDestination extends FlowLogDestination { super(); } - public bind(scope: CoreConstruct, _flowLog: FlowLog): FlowLogDestinationConfig { + public bind(scope: Construct, _flowLog: FlowLog): FlowLogDestinationConfig { let iamRole: iam.IRole; let logGroup: logs.ILogGroup; if (this.props.iamRole === undefined) { diff --git a/packages/@aws-cdk/aws-ec2/lib/vpc.ts b/packages/@aws-cdk/aws-ec2/lib/vpc.ts index 05cc0de040404..d566f545d20dc 100644 --- a/packages/@aws-cdk/aws-ec2/lib/vpc.ts +++ b/packages/@aws-cdk/aws-ec2/lib/vpc.ts @@ -1,10 +1,10 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import { - Annotations, ConcreteDependable, ContextProvider, DependableTrait, IConstruct, - IDependable, IResource, Lazy, Resource, Stack, Token, Tags, Names, Arn, + Arn, Annotations, ContextProvider, + IResource, Lazy, Resource, Stack, Token, Tags, Names, } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; -import { Construct, Node } from 'constructs'; +import { Construct, Dependable, DependencyGroup, IConstruct, IDependable, Node } from 'constructs'; import { ClientVpnEndpoint, ClientVpnEndpointOptions } from './client-vpn-endpoint'; import { CfnEIP, CfnInternetGateway, CfnNatGateway, CfnRoute, CfnRouteTable, CfnSubnet, @@ -20,10 +20,6 @@ import { FlowLog, FlowLogOptions, FlowLogResourceType } from './vpc-flow-logs'; import { VpcLookupOptions } from './vpc-lookup'; import { EnableVpnGatewayOptions, VpnConnection, VpnConnectionOptions, VpnConnectionType, VpnGateway } from './vpn'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - const VPC_SUBNET_SYMBOL = Symbol.for('@aws-cdk/aws-ec2.VpcSubnet'); export interface ISubnet extends IResource { @@ -174,10 +170,8 @@ export enum SubnetType { * * This can be good for subnets with RDS or Elasticache instances, * or which route Internet traffic through a peer VPC. - * - * @deprecated use `SubnetType.PRIVATE_ISOLATED` */ - ISOLATED = 'Isolated', + PRIVATE_ISOLATED = 'Isolated', /** * Isolated Subnets do not route traffic to the Internet (in this VPC), @@ -189,11 +183,13 @@ export enum SubnetType { * * This can be good for subnets with RDS or Elasticache instances, * or which route Internet traffic through a peer VPC. + * + * @deprecated use `SubnetType.PRIVATE_ISOLATED` */ - PRIVATE_ISOLATED = 'Isolated', + ISOLATED = 'Isolated', /** - * Subnet that routes to the internet, but not vice versa. + * Subnet that routes to the internet (via a NAT gateway), but not vice versa. * * Instances in a private subnet can connect to the Internet, but will not * allow connections to be initiated from the Internet. NAT Gateway(s) are @@ -206,13 +202,11 @@ export enum SubnetType { * Normally a Private subnet will use a NAT gateway in the same AZ, but * if `natGateways` is used to reduce the number of NAT gateways, a NAT * gateway from another AZ will be used instead. - * - * @deprecated use `PRIVATE_WITH_NAT` */ - PRIVATE = 'Private', + PRIVATE_WITH_NAT = 'Private', /** - * Subnet that routes to the internet (via a NAT gateway), but not vice versa. + * Subnet that routes to the internet, but not vice versa. * * Instances in a private subnet can connect to the Internet, but will not * allow connections to be initiated from the Internet. NAT Gateway(s) are @@ -225,8 +219,10 @@ export enum SubnetType { * Normally a Private subnet will use a NAT gateway in the same AZ, but * if `natGateways` is used to reduce the number of NAT gateways, a NAT * gateway from another AZ will be used instead. + * + * @deprecated use `PRIVATE_WITH_NAT` */ - PRIVATE_WITH_NAT = 'Private', + PRIVATE = 'Private', /** * Subnet connected to the Internet @@ -1275,7 +1271,7 @@ export class Vpc extends VpcBase { */ private subnetConfiguration: SubnetConfiguration[] = []; - private readonly _internetConnectivityEstablished = new ConcreteDependable(); + private readonly _internetConnectivityEstablished = new DependencyGroup(); /** * Vpc creates a VPC that spans a whole region. @@ -1643,7 +1639,7 @@ export class Subnet extends Resource implements ISubnet { public readonly internetConnectivityEstablished: IDependable; - private readonly _internetConnectivityEstablished = new ConcreteDependable(); + private readonly _internetConnectivityEstablished = new DependencyGroup(); private _networkAcl: INetworkAcl; @@ -1757,8 +1753,8 @@ export class Subnet extends Resource implements ISubnet { public associateNetworkAcl(id: string, networkAcl: INetworkAcl) { this._networkAcl = networkAcl; - const scope = CoreConstruct.isConstruct(networkAcl) ? networkAcl : this; - const other = CoreConstruct.isConstruct(networkAcl) ? this : networkAcl; + const scope = networkAcl instanceof Construct ? networkAcl : this; + const other = networkAcl instanceof Construct ? this : networkAcl; new SubnetNetworkAclAssociation(scope, id + Names.nodeUniqueId(other.node), { networkAcl, subnet: this, @@ -1948,7 +1944,7 @@ class ImportedVpc extends VpcBase { public readonly privateSubnets: ISubnet[]; public readonly isolatedSubnets: ISubnet[]; public readonly availabilityZones: string[]; - public readonly internetConnectivityEstablished: IDependable = new ConcreteDependable(); + public readonly internetConnectivityEstablished: IDependable = new DependencyGroup(); private readonly cidr?: string | undefined; constructor(scope: Construct, id: string, props: VpcAttributes, isIncomplete: boolean) { @@ -1994,7 +1990,7 @@ class ImportedVpc extends VpcBase { class LookedUpVpc extends VpcBase { public readonly vpcId: string; public readonly vpcArn: string; - public readonly internetConnectivityEstablished: IDependable = new ConcreteDependable(); + public readonly internetConnectivityEstablished: IDependable = new DependencyGroup(); public readonly availabilityZones: string[]; public readonly publicSubnets: ISubnet[]; public readonly privateSubnets: ISubnet[]; @@ -2068,11 +2064,11 @@ class CompositeDependable implements IDependable { constructor() { const self = this; - DependableTrait.implement(this, { + Dependable.implement(this, { get dependencyRoots() { const ret = new Array(); for (const dep of self.dependables) { - ret.push(...DependableTrait.get(dep).dependencyRoots); + ret.push(...Dependable.of(dep).dependencyRoots); } return ret; }, @@ -2096,7 +2092,7 @@ function tap(x: T, fn: (x: T) => void): T { } class ImportedSubnet extends Resource implements ISubnet, IPublicSubnet, IPrivateSubnet { - public readonly internetConnectivityEstablished: IDependable = new ConcreteDependable(); + public readonly internetConnectivityEstablished: IDependable = new DependencyGroup(); public readonly subnetId: string; public readonly routeTable: IRouteTable; private readonly _availabilityZone?: string; @@ -2153,8 +2149,8 @@ class ImportedSubnet extends Resource implements ISubnet, IPublicSubnet, IPrivat } public associateNetworkAcl(id: string, networkAcl: INetworkAcl): void { - const scope = CoreConstruct.isConstruct(networkAcl) ? networkAcl : this; - const other = CoreConstruct.isConstruct(networkAcl) ? this : networkAcl; + const scope = networkAcl instanceof Construct ? networkAcl : this; + const other = networkAcl instanceof Construct ? this : networkAcl; new SubnetNetworkAclAssociation(scope, id + Names.nodeUniqueId(other.node), { networkAcl, subnet: this, diff --git a/packages/@aws-cdk/aws-ec2/lib/windows-versions.ts b/packages/@aws-cdk/aws-ec2/lib/windows-versions.ts index 2d5a60c5f9c22..aa8edf6f9fd16 100644 --- a/packages/@aws-cdk/aws-ec2/lib/windows-versions.ts +++ b/packages/@aws-cdk/aws-ec2/lib/windows-versions.ts @@ -11,15 +11,15 @@ export enum WindowsVersion { WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Japanese-64Bit-Base', WINDOWS_SERVER_2016_ENGLISH_CORE_CONTAINERS = 'Windows_Server-2016-English-Core-Containers', WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_WEB = 'Windows_Server-2016-English-Core-SQL_2016_SP1_Web', + WINDOWS_SERVER_2016_GERMAN_FULL_BASE = 'Windows_Server-2016-German-Full-Base', /** @deprecated - use WINDOWS_SERVER_2016_GERMAN_FULL_BASE */ WINDOWS_SERVER_2016_GERMAL_FULL_BASE = 'Windows_Server-2016-German-Full-Base', - WINDOWS_SERVER_2016_GERMAN_FULL_BASE = 'Windows_Server-2016-German-Full-Base', WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_32BIT_BASE = 'Windows_Server-2003-R2_SP2-Language_Packs-32Bit-Base', WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_WEB = 'Windows_Server-2008-R2_SP1-English-64Bit-SQL_2008_R2_SP3_Web', WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_EXPRESS = 'Windows_Server-2008-R2_SP1-English-64Bit-SQL_2012_SP4_Express', + WINDOWS_SERVER_2012_R2_SP1_PORTUGUESE_BRAZIL_64BIT_CORE = 'Windows_Server-2008-R2_SP1-Portuguese_Brazil-64Bit-Core', /** @deprecated - use WINDOWS_SERVER_2012_R2_SP1_PORTUGUESE_BRAZIL_64BIT_CORE*/ WINDOWS_SERVER_2012_R2_SP1_PORTUGESE_BRAZIL_64BIT_CORE = 'Windows_Server-2008-R2_SP1-Portuguese_Brazil-64Bit-Core', - WINDOWS_SERVER_2012_R2_SP1_PORTUGUESE_BRAZIL_64BIT_CORE = 'Windows_Server-2008-R2_SP1-Portuguese_Brazil-64Bit-Core', WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_STANDARD = 'Windows_Server-2012-R2_RTM-English-64Bit-SQL_2016_SP2_Standard', WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP2_EXPRESS = 'Windows_Server-2012-RTM-English-64Bit-SQL_2014_SP2_Express', WINDOWS_SERVER_2012_RTM_ITALIAN_64BIT_BASE = 'Windows_Server-2012-RTM-Italian-64Bit-Base', @@ -32,9 +32,9 @@ export enum WindowsVersion { WINDOWS_SERVER_2016_JAPANESE_FULL_FQL_2016_SP2_WEB = 'Windows_Server-2016-Japanese-Full-SQL_2016_SP2_Web', WINDOWS_SERVER_2016_KOREAN_FULL_BASE = 'Windows_Server-2016-Korean-Full-Base', WINDOWS_SERVER_2016_KOREAN_FULL_SQL_2016_SP2_STANDARD = 'Windows_Server-2016-Korean-Full-SQL_2016_SP2_Standard', + WINDOWS_SERVER_2016_PORTUGUESE_PORTUGAL_FULL_BASE = 'Windows_Server-2016-Portuguese_Portugal-Full-Base', /** @deprecated - use WINDOWS_SERVER_2016_PORTUGUESE_PORTUGAL_FULL_BASE */ WINDOWS_SERVER_2016_PORTUGESE_PORTUGAL_FULL_BASE = 'Windows_Server-2016-Portuguese_Portugal-Full-Base', - WINDOWS_SERVER_2016_PORTUGUESE_PORTUGAL_FULL_BASE = 'Windows_Server-2016-Portuguese_Portugal-Full-Base', WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_WEB = 'Windows_Server-2019-English-Full-SQL_2017_Web', WINDOWS_SERVER_2019_FRENCH_FULL_BASE = 'Windows_Server-2019-French-Full-Base', WINDOWS_SERVER_2019_KOREAN_FULL_BASE = 'Windows_Server-2019-Korean-Full-Base', @@ -96,12 +96,12 @@ export enum WindowsVersion { WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_EXPRESS = 'Windows_Server-2012-R2_RTM-English-64Bit-SQL_2014_SP2_Express', WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_WEB = 'Windows_Server-2012-R2_RTM-English-64Bit-SQL_2014_SP3_Web', WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_WEB = 'Windows_Server-2012-R2_RTM-Japanese-64Bit-SQL_2016_SP1_Web', + WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Portuguese_Brazil-64Bit-Base', /** @deprecated - use WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_BRAZIL_64BIT_BASE */ WINDOWS_SERVER_2012_R2_RTM_PORTUGESE_BRAZIL_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Portuguese_Brazil-64Bit-Base', - WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Portuguese_Brazil-64Bit-Base', + WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Portuguese_Portugal-64Bit-Base', /** @deprecated - use WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE*/ WINDOWS_SERVER_2012_R2_RTM_PORTUGESE_PORTUGAL_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Portuguese_Portugal-64Bit-Base', - WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Portuguese_Portugal-64Bit-Base', WINDOWS_SERVER_2012_R2_RTM_SWEDISH_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Swedish-64Bit-Base', WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_EXPRESS = 'Windows_Server-2016-English-Full-SQL_2016_SP1_Express', WINDOWS_SERVER_2016_ITALIAN_FULL_BASE = 'Windows_Server-2016-Italian-Full-Base', @@ -113,9 +113,9 @@ export enum WindowsVersion { WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2007_R2_SP3_WEB = 'Windows_Server-2012-RTM-English-64Bit-SQL_2008_R2_SP3_Web', WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP2_WEB = 'Windows_Server-2012-RTM-Japanese-64Bit-SQL_2014_SP2_Web', WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_ENTERPRISE = 'Windows_Server-2016-English-Core-SQL_2016_SP2_Enterprise', + WINDOWS_SERVER_2016_PORTUGUESE_BRAZIL_FULL_BASE = 'Windows_Server-2016-Portuguese_Brazil-Full-Base', /** @deprecated - use WINDOWS_SERVER_2016_PORTUGUESE_BRAZIL_FULL_BASE */ WINDOWS_SERVER_2016_PORTUGESE_BRAZIL_FULL_BASE = 'Windows_Server-2016-Portuguese_Brazil-Full-Base', - WINDOWS_SERVER_2016_PORTUGUESE_BRAZIL_FULL_BASE = 'Windows_Server-2016-Portuguese_Brazil-Full-Base', WINDOWS_SERVER_2019_ENGLISH_FULL_BASE = 'Windows_Server-2019-English-Full-Base', WINDOWS_SERVER_2003_R2_SP2_ENGLISH_32BIT_BASE = 'Windows_Server-2003-R2_SP2-English-32Bit-Base', WINDOWS_SERVER_2012_R2_RTM_CZECH_64BIT_BASE = 'Windows_Server-2012-R2_RTM-Czech-64Bit-Base', @@ -140,9 +140,9 @@ export enum WindowsVersion { WINDOWS_SERVER_2003_R2_SP2_ENGLISH_64BIT_BASE = 'Windows_Server-2003-R2_SP2-English-64Bit-Base', WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_BASE = 'Windows_Server-2008-R2_SP1-English-64Bit-Base', WINDOWS_SERVER_2008_R2_SP1_LANGUAGE_PACKS_64BIT_SQL_2008_R2_SP3_EXPRESS = 'Windows_Server-2008-R2_SP1-Language_Packs-64Bit-SQL_2008_R2_SP3_Express', + WINDOWS_SERVER_2012_SP2_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2008-SP2-Portuguese_Brazil-64Bit-Base', /** @deprecated - use WINDOWS_SERVER_2012_SP2_PORTUGUESE_BRAZIL_64BIT_BASE */ WINDOWS_SERVER_2012_SP2_PORTUGESE_BRAZIL_64BIT_BASE = 'Windows_Server-2008-SP2-Portuguese_Brazil-64Bit-Base', - WINDOWS_SERVER_2012_SP2_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2008-SP2-Portuguese_Brazil-64Bit-Base', WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_WEB = 'Windows_Server-2012-R2_RTM-English-64Bit-SQL_2016_SP1_Web', WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP3_EXPRESS = 'Windows_Server-2012-R2_RTM-Japanese-64Bit-SQL_2014_SP3_Express', WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP2_ENTERPRISE = 'Windows_Server-2012-R2_RTM-Japanese-64Bit-SQL_2016_SP2_Enterprise', @@ -155,9 +155,9 @@ export enum WindowsVersion { WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_BASE = 'Windows_Server-2008-R2_SP1-Japanese-64Bit-Base', WINDOWS_SERVER_2008_SP2_ENGLISH_64BIT_SQL_2008_SP4_STANDARD = 'Windows_Server-2008-SP2-English-64Bit-SQL_2008_SP4_Standard', WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_BASE = 'Windows_Server-2012-R2_RTM-English-64Bit-Base', + WINDOWS_SERVER_2012_RTM_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2012-RTM-Portuguese_Brazil-64Bit-Base', /** @deprecated - use WINDOWS_SERVER_2012_RTM_PORTUGUESE_BRAZIL_64BIT_BASE */ WINDOWS_SERVER_2012_RTM_PORTUGESE_BRAZIL_64BIT_BASE = 'Windows_Server-2012-RTM-Portuguese_Brazil-64Bit-Base', - WINDOWS_SERVER_2012_RTM_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2012-RTM-Portuguese_Brazil-64Bit-Base', WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_WEB = 'Windows_Server-2016-English-Full-SQL_2016_SP1_Web', WINDOWS_SERVER_2016_ENGLISH_P3 = 'Windows_Server-2016-English-P3', WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_ENTERPRISE = 'Windows_Server-2016-Japanese-Full-SQL_2016_SP1_Enterprise', @@ -181,9 +181,9 @@ export enum WindowsVersion { WINDOWS_SERVER_2016_CHINESE_SIMPLIFIED_FULL_BASE = 'Windows_Server-2016-Chinese_Simplified-Full-Base', WINDOWS_SERVER_2019_POLISH_FULL_BASE = 'Windows_Server-2019-Polish-Full-Base', WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2008_R2_SP3_WEB = 'Windows_Server-2008-R2_SP1-Japanese-64Bit-SQL_2008_R2_SP3_Web', + WINDOWS_SERVER_2008_R2_SP1_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2008-R2_SP1-Portuguese_Brazil-64Bit-Base', /** @deprecated - use WINDOWS_SERVER_2008_R2_SP1_PORTUGUESE_BRAZIL_64BIT_BASE */ WINDOWS_SERVER_2008_R2_SP1_PORTUGESE_BRAZIL_64BIT_BASE = 'Windows_Server-2008-R2_SP1-Portuguese_Brazil-64Bit-Base', - WINDOWS_SERVER_2008_R2_SP1_PORTUGUESE_BRAZIL_64BIT_BASE = 'Windows_Server-2008-R2_SP1-Portuguese_Brazil-64Bit-Base', WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_ENTERPRISE = 'Windows_Server-2012-R2_RTM-Japanese-64Bit-SQL_2016_SP1_Enterprise', WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2016_SP2_EXPRESS = 'Windows_Server-2012-R2_RTM-Japanese-64Bit-SQL_2016_SP2_Express', WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP3_EXPRESS = 'Windows_Server-2012-RTM-English-64Bit-SQL_2014_SP3_Express', @@ -214,14 +214,14 @@ export enum WindowsVersion { WINDOWS_SERVER_1709_ENGLISH_CORE_BASE = 'Windows_Server-1709-English-Core-Base', WINDOWS_SERVER_2008_R2_SP1_ENGLISH_61BIT_SQL_2012_RTM_SP2_ENTERPRISE = 'Windows_Server-2008-R2_SP1-English-64Bit-SQL_2012_RTM_SP2_Enterprise', WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_STANDARD = 'Windows_Server-2008-R2_SP1-English-64Bit-SQL_2012_SP4_Standard', + WINDOWS_SERVER_2008_SP2_PORTUGUESE_BRAZIL_32BIT_BASE = 'Windows_Server-2008-SP2-Portuguese_Brazil-32Bit-Base', /** @deprecated - use WINDOWS_SERVER_2008_SP2_PORTUGUESE_BRAZIL_32BIT_BASE */ WINDOWS_SERVER_2008_SP2_PORTUGESE_BRAZIL_32BIT_BASE = 'Windows_Server-2008-SP2-Portuguese_Brazil-32Bit-Base', - WINDOWS_SERVER_2008_SP2_PORTUGUESE_BRAZIL_32BIT_BASE = 'Windows_Server-2008-SP2-Portuguese_Brazil-32Bit-Base', WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP2_STANDARD = 'Windows_Server-2012-R2_RTM-Japanese-64Bit-SQL_2014_SP2_Standard', WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2012_SP4_EXPRESS = 'Windows_Server-2012-RTM-Japanese-64Bit-SQL_2012_SP4_Express', + WINDOWS_SERVER_2012_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE = 'Windows_Server-2012-RTM-Portuguese_Portugal-64Bit-Base', /** @deprecated - use WINDOWS_SERVER_2012_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE */ WINDOWS_SERVER_2012_RTM_PORTUGESE_PORTUGAL_64BIT_BASE = 'Windows_Server-2012-RTM-Portuguese_Portugal-64Bit-Base', - WINDOWS_SERVER_2012_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE = 'Windows_Server-2012-RTM-Portuguese_Portugal-64Bit-Base', WINDOWS_SERVER_2016_CZECH_FULL_BASE = 'Windows_Server-2016-Czech-Full-Base', WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_STANDARD = 'Windows_Server-2016-Japanese-Full-SQL_2016_SP1_Standard', WINDOWS_SERVER_2019_DUTCH_FULL_BASE = 'Windows_Server-2019-Dutch-Full-Base', @@ -234,9 +234,9 @@ export enum WindowsVersion { WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_EXPRESS = 'Windows_Server-2016-English-Core-SQL_2016_SP2_Express', WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_WEB = 'Windows_Server-2016-English-Core-SQL_2016_SP2_Web', WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_STANDARD = 'Windows_Server-2016-English-Full-SQL_2017_Standard', + WINDOWS_SERVER_2019_PORTUGUESE_BRAZIL_FULL_BASE = 'Windows_Server-2019-Portuguese_Brazil-Full-Base', /** @deprecated - use WINDOWS_SERVER_2019_PORTUGUESE_BRAZIL_FULL_BASE */ WINDOWS_SERVER_2019_PORTUGESE_BRAZIL_FULL_BASE = 'Windows_Server-2019-Portuguese_Brazil-Full-Base', - WINDOWS_SERVER_2019_PORTUGUESE_BRAZIL_FULL_BASE = 'Windows_Server-2019-Portuguese_Brazil-Full-Base', WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_STANDARD = 'Windows_Server-2008-R2_SP1-English-64Bit-SQL_2008_R2_SP3_Standard', WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SHAREPOINT_2010_SP2_FOUNDATION = 'Windows_Server-2008-R2_SP1-English-64Bit-SharePoint_2010_SP2_Foundation', WINDOWS_SERVER_2012_R2_RTM_ENGLISH_P3 = 'Windows_Server-2012-R2_RTM-English-P3', @@ -245,9 +245,9 @@ export enum WindowsVersion { WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP3_EXPRESS = 'Windows_Server-2012-RTM-Japanese-64Bit-SQL_2014_SP3_Express', WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_STANDARD = 'Windows_Server-2016-English-Core-SQL_2016_SP2_Standard', WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP2_STANDARD = 'Windows_Server-2016-Japanese-Full-SQL_2016_SP2_Standard', + WINDOWS_SERVER_2019_PORTUGUESE_PORTUGAL_FULL_BASE = 'Windows_Server-2019-Portuguese_Portugal-Full-Base', /** @deprecated - use WINDOWS_SERVER_2019_PORTUGUESE_PORTUGAL_FULL_BASE */ WINDOWS_SERVER_2019_PORTUGESE_PORTUGAL_FULL_BASE = 'Windows_Server-2019-Portuguese_Portugal-Full-Base', - WINDOWS_SERVER_2019_PORTUGUESE_PORTUGAL_FULL_BASE = 'Windows_Server-2019-Portuguese_Portugal-Full-Base', WINDOWS_SERVER_2019_SWEDISH_FULL_BASE = 'Windows_Server-2019-Swedish-Full-Base', WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_HYPERV = 'Windows_Server-2012-R2_RTM-English-64Bit-HyperV', WINDOWS_SERVER_2012_RTM_KOREAN_64BIT_BASE = 'Windows_Server-2012-RTM-Korean-64Bit-Base', diff --git a/packages/@aws-cdk/aws-ec2/package.json b/packages/@aws-cdk/aws-ec2/package.json index c9d1132829f91..3642a9564d79a 100644 --- a/packages/@aws-cdk/aws-ec2/package.json +++ b/packages/@aws-cdk/aws-ec2/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ec2", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::EC2", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ec2", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -102,7 +103,7 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -117,10 +118,10 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-ec2/test/aspects/require-imdsv2-aspect.test.ts b/packages/@aws-cdk/aws-ec2/test/aspects/require-imdsv2-aspect.test.ts index ac705054aeb34..8344894ee3e1f 100644 --- a/packages/@aws-cdk/aws-ec2/test/aspects/require-imdsv2-aspect.test.ts +++ b/packages/@aws-cdk/aws-ec2/test/aspects/require-imdsv2-aspect.test.ts @@ -2,6 +2,7 @@ import { Annotations, Template, Match } from '@aws-cdk/assertions'; import { testFutureBehavior, testLegacyBehavior } from '@aws-cdk/cdk-build-tools'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; +import { Construct } from 'constructs'; import { CfnLaunchTemplate, Instance, @@ -34,7 +35,7 @@ describe('RequireImdsv2Aspect', () => { // @ts-ignore aspect.warn(node, errmsg); }); - const construct = new cdk.Construct(stack, 'Construct'); + const construct = new Construct(stack, 'Construct'); // WHEN aspect.visit(construct); diff --git a/packages/@aws-cdk/aws-ec2/test/bastion-host-arm-support.integ.snapshot/TestStack.assets.json b/packages/@aws-cdk/aws-ec2/test/bastion-host-arm-support.integ.snapshot/TestStack.assets.json new file mode 100644 index 0000000000000..b1de7e2248c1c --- /dev/null +++ b/packages/@aws-cdk/aws-ec2/test/bastion-host-arm-support.integ.snapshot/TestStack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "fd00d9ebd8ca69eccb741d19fa3f519008a431524a3dd927a34af323459ba40b": { + "source": { + "path": "TestStack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "fd00d9ebd8ca69eccb741d19fa3f519008a431524a3dd927a34af323459ba40b.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ec2/test/bastion-host-arm-support.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ec2/test/bastion-host-arm-support.integ.snapshot/tree.json index 43e0612f1affa..be6ae8814533b 100644 --- a/packages/@aws-cdk/aws-ec2/test/bastion-host-arm-support.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ec2/test/bastion-host-arm-support.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "TestStack": { diff --git a/packages/@aws-cdk/aws-ec2/test/bastion-host.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ec2/test/bastion-host.integ.snapshot/tree.json index d1e91672f82f4..84a595b1627fe 100644 --- a/packages/@aws-cdk/aws-ec2/test/bastion-host.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ec2/test/bastion-host.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "TestStack": { diff --git a/packages/@aws-cdk/aws-ec2/test/cfn-init.test.ts b/packages/@aws-cdk/aws-ec2/test/cfn-init.test.ts index 919a3a8c07baa..9b6e2441b30a3 100644 --- a/packages/@aws-cdk/aws-ec2/test/cfn-init.test.ts +++ b/packages/@aws-cdk/aws-ec2/test/cfn-init.test.ts @@ -6,6 +6,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as s3 from '@aws-cdk/aws-s3'; import { Asset } from '@aws-cdk/aws-s3-assets'; import { AssetStaging, App, Aws, CfnResource, Stack, DefaultStackSynthesizer, IStackSynthesizer, FileAssetSource, FileAssetLocation } from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as ec2 from '../lib'; import { stringLike } from './util'; @@ -21,7 +22,11 @@ function resetState() { } function resetStateWithSynthesizer(customSynthesizer?: IStackSynthesizer) { - app = new App(); + app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); stack = new Stack(app, 'Stack', { env: { account: '1234', region: 'testregion' }, synthesizer: customSynthesizer, diff --git a/packages/@aws-cdk/aws-ec2/test/import-default-vpc.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ec2/test/import-default-vpc.lit.integ.snapshot/tree.json index 5bfc1a43a5ba5..e73e63be8a924 100644 --- a/packages/@aws-cdk/aws-ec2/test/import-default-vpc.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ec2/test/import-default-vpc.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-ec2-import": { diff --git a/packages/@aws-cdk/aws-ec2/test/instance-init.integ.snapshot/integ-init.assets.json b/packages/@aws-cdk/aws-ec2/test/instance-init.integ.snapshot/integ-init.assets.json new file mode 100644 index 0000000000000..9aaa65628c860 --- /dev/null +++ b/packages/@aws-cdk/aws-ec2/test/instance-init.integ.snapshot/integ-init.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "f8a1af398dac2fad92eeea4fb7620be1c4f504e23e3bfcd859fbb5744187930b": { + "source": { + "path": "asset.f8a1af398dac2fad92eeea4fb7620be1c4f504e23e3bfcd859fbb5744187930b", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f8a1af398dac2fad92eeea4fb7620be1c4f504e23e3bfcd859fbb5744187930b.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "6d00e54104832c562dc7d659fc2df0a5a8d096d46d6d3ab8bf79c3fb5759a13e": { + "source": { + "path": "integ-init.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "6d00e54104832c562dc7d659fc2df0a5a8d096d46d6d3ab8bf79c3fb5759a13e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ec2/test/instance-init.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ec2/test/instance-init.integ.snapshot/tree.json index 0b28c0c5de50c..d881a1efd5c5f 100644 --- a/packages/@aws-cdk/aws-ec2/test/instance-init.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ec2/test/instance-init.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-init": { @@ -1010,14 +1010,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-ec2/test/instance-multipart-userdata.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ec2/test/instance-multipart-userdata.integ.snapshot/tree.json index f990be1e65e7e..1ab8f60fea3e6 100644 --- a/packages/@aws-cdk/aws-ec2/test/instance-multipart-userdata.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ec2/test/instance-multipart-userdata.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "TestStackMultipartUserData": { diff --git a/packages/@aws-cdk/aws-ec2/test/instance.test.ts b/packages/@aws-cdk/aws-ec2/test/instance.test.ts index 6fd215af31bff..654fc690283f9 100644 --- a/packages/@aws-cdk/aws-ec2/test/instance.test.ts +++ b/packages/@aws-cdk/aws-ec2/test/instance.test.ts @@ -3,7 +3,8 @@ import { Annotations, Match, Template } from '@aws-cdk/assertions'; import { Key } from '@aws-cdk/aws-kms'; import { Asset } from '@aws-cdk/aws-s3-assets'; import { StringParameter } from '@aws-cdk/aws-ssm'; -import { Stack } from '@aws-cdk/core'; +import { App, Stack } from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import { AmazonLinuxImage, BlockDeviceVolume, @@ -552,6 +553,13 @@ test('add CloudFormation Init to instance', () => { test('cause replacement from s3 asset in userdata', () => { // GIVEN + const app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + stack = new Stack(app); + vpc = new Vpc(stack, 'Vpc)'); const userData1 = UserData.forLinux(); const asset1 = new Asset(stack, 'UserDataAssets1', { path: path.join(__dirname, 'asset-fixture', 'data.txt'), diff --git a/packages/@aws-cdk/aws-ec2/test/integ.client-vpn-endpoint.ts b/packages/@aws-cdk/aws-ec2/test/integ.client-vpn-endpoint.ts index 878f8f057bb3d..22a38b9b3298d 100644 --- a/packages/@aws-cdk/aws-ec2/test/integ.client-vpn-endpoint.ts +++ b/packages/@aws-cdk/aws-ec2/test/integ.client-vpn-endpoint.ts @@ -4,10 +4,6 @@ import { App, CustomResource, CustomResourceProvider, CustomResourceProviderRunt import { Construct } from 'constructs'; import * as ec2 from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - class TestStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); @@ -33,7 +29,7 @@ class TestStack extends Stack { const IMPORT_CERTIFICATES_RESOURCE_TYPE = 'Custom::ACMImportCertificates'; -class ImportCertificates extends CoreConstruct { +class ImportCertificates extends Construct { public readonly serverCertificateArn: string; public readonly clientCertificateArn: string; diff --git a/packages/@aws-cdk/aws-ec2/test/integ.share-vpcs.lit.ts b/packages/@aws-cdk/aws-ec2/test/integ.share-vpcs.lit.ts index e7c65834019cc..805830d3f8fa8 100644 --- a/packages/@aws-cdk/aws-ec2/test/integ.share-vpcs.lit.ts +++ b/packages/@aws-cdk/aws-ec2/test/integ.share-vpcs.lit.ts @@ -1,12 +1,8 @@ /// !cdk-integ * import * as cdk from '@aws-cdk/core'; -import * as constructs from 'constructs'; +import { Construct } from 'constructs'; import * as ec2 from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - const app = new cdk.App(); interface ConstructThatTakesAVpcProps { @@ -14,7 +10,7 @@ interface ConstructThatTakesAVpcProps { } class ConstructThatTakesAVpc extends Construct { - constructor(scope: constructs.Construct, id: string, _props: ConstructThatTakesAVpcProps) { + constructor(scope: Construct, id: string, _props: ConstructThatTakesAVpcProps) { super(scope, id); // new ec2.CfnInstance(this, 'Instance', { diff --git a/packages/@aws-cdk/aws-ec2/test/machine-image.test.ts b/packages/@aws-cdk/aws-ec2/test/machine-image.test.ts index bb6b86921101a..60d2372b310a0 100644 --- a/packages/@aws-cdk/aws-ec2/test/machine-image.test.ts +++ b/packages/@aws-cdk/aws-ec2/test/machine-image.test.ts @@ -136,6 +136,7 @@ test('LookupMachineImage default search', () => { props: { account: '1234', region: 'testregion', + lookupRoleArn: 'arn:${AWS::Partition}:iam::1234:role/cdk-hnb659fds-lookup-role-1234-testregion', owners: ['amazon'], filters: { 'name': ['bla*'], @@ -169,6 +170,7 @@ test('cached lookups of Amazon Linux', () => { key: 'ssm:account=1234:parameterName=/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2:region=testregion', props: { account: '1234', + lookupRoleArn: 'arn:${AWS::Partition}:iam::1234:role/cdk-hnb659fds-lookup-role-1234-testregion', region: 'testregion', parameterName: '/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2', }, @@ -191,6 +193,7 @@ test('cached lookups of Amazon Linux 2', () => { key: 'ssm:account=1234:parameterName=/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2:region=testregion', props: { account: '1234', + lookupRoleArn: 'arn:${AWS::Partition}:iam::1234:role/cdk-hnb659fds-lookup-role-1234-testregion', region: 'testregion', parameterName: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2', }, @@ -214,6 +217,7 @@ test('cached lookups of Amazon Linux 2 with kernel 5.x', () => { key: 'ssm:account=1234:parameterName=/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-gp2:region=testregion', props: { account: '1234', + lookupRoleArn: 'arn:${AWS::Partition}:iam::1234:role/cdk-hnb659fds-lookup-role-1234-testregion', region: 'testregion', parameterName: '/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-gp2', }, @@ -256,6 +260,7 @@ test('cached lookups of Amazon Linux 2022 with kernel 5.x', () => { key: 'ssm:account=1234:parameterName=/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.10-x86_64:region=testregion', props: { account: '1234', + lookupRoleArn: 'arn:${AWS::Partition}:iam::1234:role/cdk-hnb659fds-lookup-role-1234-testregion', region: 'testregion', parameterName: '/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.10-x86_64', }, diff --git a/packages/@aws-cdk/aws-ec2/test/nat-instances.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ec2/test/nat-instances.lit.integ.snapshot/tree.json index da0311d7c6a36..2f570d73fc9fe 100644 --- a/packages/@aws-cdk/aws-ec2/test/nat-instances.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ec2/test/nat-instances.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-vpc-nat-instances": { diff --git a/packages/@aws-cdk/aws-ec2/test/vpc-flow-logs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ec2/test/vpc-flow-logs.integ.snapshot/tree.json index 596d95bafd3fc..1a4430fb17622 100644 --- a/packages/@aws-cdk/aws-ec2/test/vpc-flow-logs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ec2/test/vpc-flow-logs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "FlowLogsTestStack": { @@ -1217,14 +1217,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-ecr-assets/jest.config.js b/packages/@aws-cdk/aws-ecr-assets/jest.config.js index 45db604d94785..da69fabe154d9 100644 --- a/packages/@aws-cdk/aws-ecr-assets/jest.config.js +++ b/packages/@aws-cdk/aws-ecr-assets/jest.config.js @@ -3,7 +3,7 @@ module.exports = { ...baseConfig, coverageThreshold: { global: { - branches: 80, + branches: 75, statements: 80, } } diff --git a/packages/@aws-cdk/aws-ecr-assets/lib/image-asset.ts b/packages/@aws-cdk/aws-ecr-assets/lib/image-asset.ts index b6ddd3f5dafcf..68460e80cdb69 100644 --- a/packages/@aws-cdk/aws-ecr-assets/lib/image-asset.ts +++ b/packages/@aws-cdk/aws-ecr-assets/lib/image-asset.ts @@ -8,9 +8,6 @@ import { Construct } from 'constructs'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line import { FingerprintOptions, FollowMode, IAsset } from '@aws-cdk/assets'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; /** * networking mode on build time supported by docker @@ -222,7 +219,7 @@ export interface DockerImageAssetProps extends DockerImageAssetOptions { * * The image will be created in build time and uploaded to an ECR repository. */ -export class DockerImageAsset extends CoreConstruct implements IAsset { +export class DockerImageAsset extends Construct implements IAsset { /** * The full URI of the image (including a tag). Use this reference to pull * the asset. diff --git a/packages/@aws-cdk/aws-ecr-assets/lib/tarball-asset.ts b/packages/@aws-cdk/aws-ecr-assets/lib/tarball-asset.ts index 983b56e838876..0101d80bf7a5a 100644 --- a/packages/@aws-cdk/aws-ecr-assets/lib/tarball-asset.ts +++ b/packages/@aws-cdk/aws-ecr-assets/lib/tarball-asset.ts @@ -7,9 +7,6 @@ import { Construct } from 'constructs'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line import { IAsset } from '@aws-cdk/assets'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; /** * Options for TarballImageAsset @@ -30,7 +27,7 @@ export interface TarballImageAssetProps { * * The image will loaded from an existing tarball and uploaded to an ECR repository. */ -export class TarballImageAsset extends CoreConstruct implements IAsset { +export class TarballImageAsset extends Construct implements IAsset { /** * The full URI of the image (including a tag). Use this reference to pull * the asset. diff --git a/packages/@aws-cdk/aws-ecr-assets/package.json b/packages/@aws-cdk/aws-ecr-assets/package.json index b9005fdd75888..094fc28b0105b 100644 --- a/packages/@aws-cdk/aws-ecr-assets/package.json +++ b/packages/@aws-cdk/aws-ecr-assets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ecr-assets", "version": "0.0.0", + "private": true, "description": "Docker image assets deployed to ECR", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ecr_assets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,7 +91,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -100,13 +101,13 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "nyc": { "statements": 70 }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -119,6 +120,6 @@ } }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-ecr-assets/test/assets-docker.integ.snapshot/integ-assets-docker.assets.json b/packages/@aws-cdk/aws-ecr-assets/test/assets-docker.integ.snapshot/integ-assets-docker.assets.json new file mode 100644 index 0000000000000..277841b279b6a --- /dev/null +++ b/packages/@aws-cdk/aws-ecr-assets/test/assets-docker.integ.snapshot/integ-assets-docker.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "828e48a4a0c459e1fafd65d9a99216a0a3c6ab07e27a4eb14d1bbd4c49d40708": { + "source": { + "path": "integ-assets-docker.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "828e48a4a0c459e1fafd65d9a99216a0a3c6ab07e27a4eb14d1bbd4c49d40708.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14": { + "source": { + "directory": "asset.0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecr-assets/test/assets-docker.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecr-assets/test/assets-docker.integ.snapshot/tree.json index e5caed87f3db3..e5863e143b979 100644 --- a/packages/@aws-cdk/aws-ecr-assets/test/assets-docker.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecr-assets/test/assets-docker.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-assets-docker": { diff --git a/packages/@aws-cdk/aws-ecr-assets/test/image-asset.test.ts b/packages/@aws-cdk/aws-ecr-assets/test/image-asset.test.ts index 89a5aeb3d0309..c166b24ea6fc8 100644 --- a/packages/@aws-cdk/aws-ecr-assets/test/image-asset.test.ts +++ b/packages/@aws-cdk/aws-ecr-assets/test/image-asset.test.ts @@ -1,11 +1,11 @@ +import * as fs from 'fs'; +import * as path from 'path'; import { Template } from '@aws-cdk/assertions'; import * as iam from '@aws-cdk/aws-iam'; -import { describeDeprecated, testDeprecated, testFutureBehavior } from '@aws-cdk/cdk-build-tools'; +import { describeDeprecated, testDeprecated, testLegacyBehavior, testFutureBehavior } from '@aws-cdk/cdk-build-tools'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import { App, DefaultStackSynthesizer, IgnoreMode, Lazy, LegacyStackSynthesizer, Stack, Stage } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; -import * as fs from 'fs'; -import * as path from 'path'; import { DockerImageAsset, NetworkMode, Platform } from '../lib'; /* eslint-disable quote-props */ @@ -14,8 +14,16 @@ const DEMO_IMAGE_ASSET_HASH = '0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e73964 const flags = { [cxapi.DOCKER_IGNORE_SUPPORT]: true }; +class MyApp extends App { + constructor() { + super({ + context: flags, + }); + } +} + describe('image asset', () => { - testFutureBehavior('test instantiating Asset Image', flags, App, (app) => { + testLegacyBehavior('test instantiating Asset Image', MyApp, (app) => { // WHEN const stack = new Stack(app); new DockerImageAsset(stack, 'Image', { @@ -39,7 +47,7 @@ describe('image asset', () => { }); - testFutureBehavior('with build args', flags, App, (app) => { + testLegacyBehavior('with build args', App, (app) => { // WHEN const stack = new Stack(app); new DockerImageAsset(stack, 'Image', { @@ -50,12 +58,12 @@ describe('image asset', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && (assetMetadata.data as cxschema.ContainerImageAssetMetadataEntry).buildArgs).toEqual({ a: 'b' }); }); - testFutureBehavior('with hash options', flags, App, (app) => { + testLegacyBehavior('with hash options', App, (app) => { // WHEN const stack = new Stack(app); new DockerImageAsset(stack, 'Image1', { @@ -86,7 +94,7 @@ describe('image asset', () => { // THEN const asm = app.synth(); const artifact = asm.getStackArtifact(stack.artifactId); - expect(artifact.template).toEqual({}); + expect(artifact.template.Resources).toBeUndefined(); expect(artifact.assets).toEqual([ { buildArgs: { 'a': 'b' }, @@ -109,7 +117,7 @@ describe('image asset', () => { ]); }); - testFutureBehavior('with target', flags, App, (app) => { + testLegacyBehavior('with target', App, (app) => { // WHEN const stack = new Stack(app); new DockerImageAsset(stack, 'Image', { @@ -121,12 +129,12 @@ describe('image asset', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && (assetMetadata.data as cxschema.ContainerImageAssetMetadataEntry).target).toEqual('a-target'); }); - testFutureBehavior('with file', flags, App, (app) => { + testLegacyBehavior('with file', App, (app) => { // GIVEN const stack = new Stack(app); const directoryPath = path.join(__dirname, 'demo-image-custom-docker-file'); @@ -137,12 +145,11 @@ describe('image asset', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && (assetMetadata.data as cxschema.ContainerImageAssetMetadataEntry).file).toEqual('Dockerfile.Custom'); - }); - testFutureBehavior('with networkMode', flags, App, (app) => { + testLegacyBehavior('with networkMode', App, (app) => { // GIVEN const stack = new Stack(app); // WHEN @@ -152,11 +159,11 @@ describe('image asset', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && (assetMetadata.data as cxschema.ContainerImageAssetMetadataEntry).networkMode).toEqual('default'); }); - testFutureBehavior('with platform', flags, App, (app) => { + testLegacyBehavior('with platform', App, (app) => { // GIVEN const stack = new Stack(app); // WHEN @@ -166,11 +173,11 @@ describe('image asset', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && (assetMetadata.data as cxschema.ContainerImageAssetMetadataEntry).platform).toEqual('linux/arm64'); }); - testFutureBehavior('with platform: default synth edition', flags, App, (app) => { + testLegacyBehavior('with platform: default synth edition', App, (app) => { // GIVEN const stack = new Stack(app, 'Stack', { synthesizer: new DefaultStackSynthesizer() }); // WHEN @@ -185,8 +192,7 @@ describe('image asset', () => { const dockerImageAsset = stackAssets.dockerImages[asset.assetHash]; expect(dockerImageAsset.source.platform).toEqual('linux/arm64'); }); - - testFutureBehavior('asset.repository.grantPull can be used to grant a principal permissions to use the image', flags, App, (app) => { + testLegacyBehavior('asset.repository.grantPull can be used to grant a principal permissions to use the image', App, (app) => { // GIVEN const stack = new Stack(app); const user = new iam.User(stack, 'MyUser'); @@ -396,8 +402,8 @@ describe('image asset', () => { const asset1 = new DockerImageAsset(stack, 'Asset1', { directory }); const asset2 = new DockerImageAsset(stack, 'Asset2', { directory, repositoryName: 'foo' }); - expect(asset1.assetHash).toEqual('91cd042be26211c28488a6994327fc579e75e355d9d3bf7043fa6a0bc8ad4265'); - expect(asset2.assetHash).toEqual('6a6cab989dda908fa3d132d58f402f714d79858f3c89473f2b050096954e6827'); + expect(asset1.assetHash).toEqual('13248c55633f3b198a628bb2ea4663cb5226f8b2801051bd0c725950266fd590'); + expect(asset2.assetHash).toEqual('b78978ca702a8eccd37804ce31d76cd83a695b557dbf95aeb109332ee8b1fd32'); }); }); diff --git a/packages/@aws-cdk/aws-ecr-assets/test/integ.assets-docker.ts b/packages/@aws-cdk/aws-ecr-assets/test/integ.assets-docker.ts index 6aecb9ac7bda9..f71b41e7b09a3 100644 --- a/packages/@aws-cdk/aws-ecr-assets/test/integ.assets-docker.ts +++ b/packages/@aws-cdk/aws-ecr-assets/test/integ.assets-docker.ts @@ -1,14 +1,9 @@ import * as path from 'path'; import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; -import * as cxapi from '@aws-cdk/cx-api'; import * as assets from '../lib'; -const app = new cdk.App({ - context: { - [cxapi.DOCKER_IGNORE_SUPPORT]: true, - }, -}); +const app = new cdk.App(); const stack = new cdk.Stack(app, 'integ-assets-docker'); const asset = new assets.DockerImageAsset(stack, 'DockerImage', { diff --git a/packages/@aws-cdk/aws-ecr-assets/test/integ.nested-stacks-docker.ts b/packages/@aws-cdk/aws-ecr-assets/test/integ.nested-stacks-docker.ts index 394fedc07ddf6..83d71192e18f4 100644 --- a/packages/@aws-cdk/aws-ecr-assets/test/integ.nested-stacks-docker.ts +++ b/packages/@aws-cdk/aws-ecr-assets/test/integ.nested-stacks-docker.ts @@ -1,7 +1,6 @@ import * as path from 'path'; import * as iam from '@aws-cdk/aws-iam'; import { App, CfnOutput, NestedStack, NestedStackProps, Stack, StackProps } from '@aws-cdk/core'; -import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import * as ecr_assets from '../lib'; @@ -28,10 +27,6 @@ class TheParentStack extends Stack { } } -const app = new App({ - context: { - [cxapi.DOCKER_IGNORE_SUPPORT]: true, - }, -}); +const app = new App(); new TheParentStack(app, 'nested-stacks-docker'); app.synth(); diff --git a/packages/@aws-cdk/aws-ecr/lib/repository.ts b/packages/@aws-cdk/aws-ecr/lib/repository.ts index e020b4bef71b6..618ef32c40e45 100644 --- a/packages/@aws-cdk/aws-ecr/lib/repository.ts +++ b/packages/@aws-cdk/aws-ecr/lib/repository.ts @@ -552,6 +552,8 @@ export class Repository extends RepositoryBase { resource: 'repository', resourceName: this.physicalName, }); + + this.node.addValidation({ validate: () => this.policyDocument?.validateForResourcePolicy() ?? [] }); } public addToResourcePolicy(statement: iam.PolicyStatement): iam.AddToResourcePolicyResult { @@ -562,12 +564,6 @@ export class Repository extends RepositoryBase { return { statementAdded: false, policyDependable: this.policyDocument }; } - protected validate(): string[] { - const errors = super.validate(); - errors.push(...this.policyDocument?.validateForResourcePolicy() || []); - return errors; - } - /** * Add a life cycle rule to the repository * diff --git a/packages/@aws-cdk/aws-ecr/package.json b/packages/@aws-cdk/aws-ecr/package.json index ed3284d25229f..a7b363d87fc5c 100644 --- a/packages/@aws-cdk/aws-ecr/package.json +++ b/packages/@aws-cdk/aws-ecr/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ecr", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ECR", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ecr", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -103,10 +104,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts index 755683a62787e..947730fa64f1d 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-load-balanced-service-base.ts @@ -14,10 +14,6 @@ import { LoadBalancerTarget } from '@aws-cdk/aws-route53-targets'; import * as cdk from '@aws-cdk/core'; import { Construct } from 'constructs'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Describes the type of DNS record the service should create */ @@ -351,7 +347,8 @@ export interface ApplicationLoadBalancedTaskImageOptions { /** * The base class for ApplicationLoadBalancedEc2Service and ApplicationLoadBalancedFargateService services. */ -export abstract class ApplicationLoadBalancedServiceBase extends CoreConstruct { +export abstract class ApplicationLoadBalancedServiceBase extends Construct { + /** * The desired number of instantiations of the task definition to keep running on the service. * @deprecated - Use `internalDesiredCount` instead. @@ -523,7 +520,7 @@ export abstract class ApplicationLoadBalancedServiceBase extends CoreConstruct { /** * Returns the default cluster. */ - protected getDefaultCluster(scope: CoreConstruct, vpc?: IVpc): Cluster { + protected getDefaultCluster(scope: Construct, vpc?: IVpc): Cluster { // magic string to avoid collision with user-defined constructs const DEFAULT_CLUSTER_ID = `EcsDefaultClusterMnL3mNNYN${vpc ? vpc.node.id : ''}`; const stack = cdk.Stack.of(scope); diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts index f9a18d7c88bde..139fa8b0cb5e6 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.ts @@ -18,10 +18,6 @@ import { LoadBalancerTarget } from '@aws-cdk/aws-route53-targets'; import { CfnOutput, Duration, Stack } from '@aws-cdk/core'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The properties for the base ApplicationMultipleTargetGroupsEc2Service or ApplicationMultipleTargetGroupsFargateService service. */ @@ -351,7 +347,8 @@ export interface ApplicationListenerProps { /** * The base class for ApplicationMultipleTargetGroupsEc2Service and ApplicationMultipleTargetGroupsFargateService classes. */ -export abstract class ApplicationMultipleTargetGroupsServiceBase extends CoreConstruct { +export abstract class ApplicationMultipleTargetGroupsServiceBase extends Construct { + /** * The desired number of instantiations of the task definition to keep running on the service. * @deprecated - Use `internalDesiredCount` instead. diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-load-balanced-service-base.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-load-balanced-service-base.ts index 942f13e3439aa..5883fe0b7fc4b 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-load-balanced-service-base.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-load-balanced-service-base.ts @@ -10,10 +10,6 @@ import { LoadBalancerTarget } from '@aws-cdk/aws-route53-targets'; import * as cdk from '@aws-cdk/core'; import { Construct } from 'constructs'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Describes the type of DNS record the service should create */ @@ -279,7 +275,7 @@ export interface NetworkLoadBalancedTaskImageOptions { /** * The base class for NetworkLoadBalancedEc2Service and NetworkLoadBalancedFargateService services. */ -export abstract class NetworkLoadBalancedServiceBase extends CoreConstruct { +export abstract class NetworkLoadBalancedServiceBase extends Construct { /** * The desired number of instantiations of the task definition to keep running on the service. * @deprecated - Use `internalDesiredCount` instead. @@ -391,7 +387,7 @@ export abstract class NetworkLoadBalancedServiceBase extends CoreConstruct { /** * Returns the default cluster. */ - protected getDefaultCluster(scope: CoreConstruct, vpc?: IVpc): Cluster { + protected getDefaultCluster(scope: Construct, vpc?: IVpc): Cluster { // magic string to avoid collision with user-defined constructs const DEFAULT_CLUSTER_ID = `EcsDefaultClusterMnL3mNNYN${vpc ? vpc.node.id : ''}`; const stack = cdk.Stack.of(scope); diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-multiple-target-groups-service-base.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-multiple-target-groups-service-base.ts index 677caf8c2df9f..b67c8179d8139 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-multiple-target-groups-service-base.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/base/network-multiple-target-groups-service-base.ts @@ -10,10 +10,6 @@ import { LoadBalancerTarget } from '@aws-cdk/aws-route53-targets'; import { CfnOutput, Duration, Stack } from '@aws-cdk/core'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The properties for the base NetworkMultipleTargetGroupsEc2Service or NetworkMultipleTargetGroupsFargateService service. */ @@ -270,7 +266,7 @@ export interface NetworkTargetProps { /** * The base class for NetworkMultipleTargetGroupsEc2Service and NetworkMultipleTargetGroupsFargateService classes. */ -export abstract class NetworkMultipleTargetGroupsServiceBase extends CoreConstruct { +export abstract class NetworkMultipleTargetGroupsServiceBase extends Construct { /** * The desired number of instantiations of the task definition to keep running on the service. * @deprecated - Use `internalDesiredCount` instead. diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/base/queue-processing-service-base.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/base/queue-processing-service-base.ts index 67634b3cc95e0..9c26567978f5d 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/base/queue-processing-service-base.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/base/queue-processing-service-base.ts @@ -5,14 +5,10 @@ import { ICluster, LogDriver, PropagatedTagSource, Secret, } from '@aws-cdk/aws-ecs'; import { IQueue, Queue } from '@aws-cdk/aws-sqs'; -import { CfnOutput, Duration, Stack } from '@aws-cdk/core'; +import { CfnOutput, Duration, FeatureFlags, Stack } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The properties for the base QueueProcessingEc2Service or QueueProcessingFargateService service. */ @@ -220,7 +216,7 @@ export interface QueueProcessingServiceBaseProps { /** * The base class for QueueProcessingEc2Service and QueueProcessingFargateService services. */ -export abstract class QueueProcessingServiceBase extends CoreConstruct { +export abstract class QueueProcessingServiceBase extends Construct { /** * The SQS queue that the service will process from */ @@ -319,7 +315,7 @@ export abstract class QueueProcessingServiceBase extends CoreConstruct { this.desiredCount = props.desiredTaskCount ?? 1; // Determine the desired task count (minimum) and maximum scaling capacity - if (!this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT)) { + if (!FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT)) { this.minCapacity = props.minScalingCapacity ?? this.desiredCount; this.maxCapacity = props.maxScalingCapacity || (2 * this.desiredCount); } else { diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/base/scheduled-task-base.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/base/scheduled-task-base.ts index 1afdd7e2dce54..568898a3080dd 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/base/scheduled-task-base.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/base/scheduled-task-base.ts @@ -6,10 +6,6 @@ import { EcsTask } from '@aws-cdk/aws-events-targets'; import { Stack } from '@aws-cdk/core'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The properties for the base ScheduledEc2Task or ScheduledFargateTask task. */ @@ -119,7 +115,7 @@ export interface ScheduledTaskImageProps { /** * The base class for ScheduledEc2Task and ScheduledFargateTask tasks. */ -export abstract class ScheduledTaskBase extends CoreConstruct { +export abstract class ScheduledTaskBase extends Construct { /** * The name of the cluster that hosts the service. */ @@ -207,7 +203,7 @@ export abstract class ScheduledTaskBase extends CoreConstruct { /** * Returns the default cluster. */ - protected getDefaultCluster(scope: CoreConstruct, vpc?: IVpc): Cluster { + protected getDefaultCluster(scope: Construct, vpc?: IVpc): Cluster { // magic string to avoid collision with user-defined constructs const DEFAULT_CLUSTER_ID = `EcsDefaultClusterMnL3mNNYN${vpc ? vpc.node.id : ''}`; const stack = Stack.of(scope); diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-load-balanced-ecs-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-load-balanced-ecs-service.ts index 25a38144d6e3e..9bb2bcf607caa 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-load-balanced-ecs-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-load-balanced-ecs-service.ts @@ -1,4 +1,5 @@ import { Ec2Service, Ec2TaskDefinition, PlacementConstraint, PlacementStrategy } from '@aws-cdk/aws-ecs'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { ApplicationLoadBalancedServiceBase, ApplicationLoadBalancedServiceBaseProps } from '../base/application-load-balanced-service-base'; @@ -135,7 +136,7 @@ export class ApplicationLoadBalancedEc2Service extends ApplicationLoadBalancedSe throw new Error('You must specify one of: taskDefinition or image'); } - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; this.service = new Ec2Service(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-multiple-target-groups-ecs-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-multiple-target-groups-ecs-service.ts index 6934ba66eac63..6c00f2074ac85 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-multiple-target-groups-ecs-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/application-multiple-target-groups-ecs-service.ts @@ -1,5 +1,6 @@ import { Ec2Service, Ec2TaskDefinition, PlacementConstraint, PlacementStrategy } from '@aws-cdk/aws-ecs'; import { ApplicationTargetGroup } from '@aws-cdk/aws-elasticloadbalancingv2'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { @@ -154,7 +155,7 @@ export class ApplicationMultipleTargetGroupsEc2Service extends ApplicationMultip } private createEc2Service(props: ApplicationMultipleTargetGroupsEc2ServiceProps): Ec2Service { - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; return new Ec2Service(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-load-balanced-ecs-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-load-balanced-ecs-service.ts index 6b3798704f4e4..6372fd6d7806e 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-load-balanced-ecs-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-load-balanced-ecs-service.ts @@ -1,4 +1,5 @@ import { Ec2Service, Ec2TaskDefinition, PlacementConstraint, PlacementStrategy } from '@aws-cdk/aws-ecs'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { NetworkLoadBalancedServiceBase, NetworkLoadBalancedServiceBaseProps } from '../base/network-load-balanced-service-base'; @@ -133,7 +134,7 @@ export class NetworkLoadBalancedEc2Service extends NetworkLoadBalancedServiceBas throw new Error('You must specify one of: taskDefinition or image'); } - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; this.service = new Ec2Service(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-multiple-target-groups-ecs-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-multiple-target-groups-ecs-service.ts index 5e4b5a40c0a37..1ecaba043c990 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-multiple-target-groups-ecs-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/network-multiple-target-groups-ecs-service.ts @@ -1,5 +1,6 @@ import { Ec2Service, Ec2TaskDefinition, PlacementConstraint, PlacementStrategy } from '@aws-cdk/aws-ecs'; import { NetworkTargetGroup } from '@aws-cdk/aws-elasticloadbalancingv2'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { @@ -154,7 +155,7 @@ export class NetworkMultipleTargetGroupsEc2Service extends NetworkMultipleTarget } private createEc2Service(props: NetworkMultipleTargetGroupsEc2ServiceProps): Ec2Service { - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; return new Ec2Service(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/queue-processing-ecs-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/queue-processing-ecs-service.ts index 0cd4ae3e77d2a..93db9d384a39f 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/queue-processing-ecs-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/ecs/queue-processing-ecs-service.ts @@ -1,4 +1,5 @@ import { Ec2Service, Ec2TaskDefinition, PlacementConstraint, PlacementStrategy } from '@aws-cdk/aws-ecs'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { QueueProcessingServiceBase, QueueProcessingServiceBaseProps } from '../base/queue-processing-service-base'; @@ -124,7 +125,7 @@ export class QueueProcessingEc2Service extends QueueProcessingServiceBase { }); // The desiredCount should be removed from the fargate service when the feature flag is removed. - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? undefined : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? undefined : this.desiredCount; // Create an ECS service with the previously defined Task Definition and configure // autoscaling based on cpu utilization and number of messages visible in the SQS queue. diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-load-balanced-fargate-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-load-balanced-fargate-service.ts index 81f243f4a6fa6..80b6ceac06ae2 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-load-balanced-fargate-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-load-balanced-fargate-service.ts @@ -1,5 +1,6 @@ import { ISecurityGroup, SubnetSelection } from '@aws-cdk/aws-ec2'; import { FargatePlatformVersion, FargateService, FargateTaskDefinition } from '@aws-cdk/aws-ecs'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { ApplicationLoadBalancedServiceBase, ApplicationLoadBalancedServiceBaseProps } from '../base/application-load-balanced-service-base'; @@ -155,7 +156,7 @@ export class ApplicationLoadBalancedFargateService extends ApplicationLoadBalanc throw new Error('You must specify one of: taskDefinition or image'); } - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; this.service = new FargateService(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-multiple-target-groups-fargate-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-multiple-target-groups-fargate-service.ts index 8052e0483b16a..c092c4d1ee111 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-multiple-target-groups-fargate-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/application-multiple-target-groups-fargate-service.ts @@ -1,5 +1,6 @@ import { FargatePlatformVersion, FargateService, FargateTaskDefinition } from '@aws-cdk/aws-ecs'; import { ApplicationTargetGroup } from '@aws-cdk/aws-elasticloadbalancingv2'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { @@ -170,7 +171,7 @@ export class ApplicationMultipleTargetGroupsFargateService extends ApplicationMu } private createFargateService(props: ApplicationMultipleTargetGroupsFargateServiceProps): FargateService { - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; return new FargateService(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-load-balanced-fargate-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-load-balanced-fargate-service.ts index 9095be5cf2cd1..1f6c924205979 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-load-balanced-fargate-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-load-balanced-fargate-service.ts @@ -1,5 +1,6 @@ import { SubnetSelection } from '@aws-cdk/aws-ec2'; import { FargatePlatformVersion, FargateService, FargateTaskDefinition } from '@aws-cdk/aws-ecs'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { NetworkLoadBalancedServiceBase, NetworkLoadBalancedServiceBaseProps } from '../base/network-load-balanced-service-base'; @@ -142,7 +143,7 @@ export class NetworkLoadBalancedFargateService extends NetworkLoadBalancedServic throw new Error('You must specify one of: taskDefinition or image'); } - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; this.service = new FargateService(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-multiple-target-groups-fargate-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-multiple-target-groups-fargate-service.ts index 1a185f642a558..37dde3a851757 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-multiple-target-groups-fargate-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/network-multiple-target-groups-fargate-service.ts @@ -1,5 +1,6 @@ import { FargatePlatformVersion, FargateService, FargateTaskDefinition } from '@aws-cdk/aws-ecs'; import { NetworkTargetGroup } from '@aws-cdk/aws-elasticloadbalancingv2'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { @@ -170,7 +171,7 @@ export class NetworkMultipleTargetGroupsFargateService extends NetworkMultipleTa } private createFargateService(props: NetworkMultipleTargetGroupsFargateServiceProps): FargateService { - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? this.internalDesiredCount : this.desiredCount; return new FargateService(this, 'Service', { cluster: this.cluster, diff --git a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/queue-processing-fargate-service.ts b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/queue-processing-fargate-service.ts index ff63c4a3502d8..660c286c4fd82 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/queue-processing-fargate-service.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/lib/fargate/queue-processing-fargate-service.ts @@ -1,5 +1,6 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import { FargatePlatformVersion, FargateService, FargateTaskDefinition, HealthCheck } from '@aws-cdk/aws-ecs'; +import { FeatureFlags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { QueueProcessingServiceBase, QueueProcessingServiceBaseProps } from '../base/queue-processing-service-base'; @@ -138,7 +139,7 @@ export class QueueProcessingFargateService extends QueueProcessingServiceBase { }); // The desiredCount should be removed from the fargate service when the feature flag is removed. - const desiredCount = this.node.tryGetContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? undefined : this.desiredCount; + const desiredCount = FeatureFlags.of(this).isEnabled(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT) ? undefined : this.desiredCount; // Create a Fargate service with the previously defined Task Definition and configure // autoscaling based on cpu utilization and number of messages visible in the SQS queue. diff --git a/packages/@aws-cdk/aws-ecs-patterns/package.json b/packages/@aws-cdk/aws-ecs-patterns/package.json index c8b4a4a325d6b..870e0daa1e6a1 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/package.json +++ b/packages/@aws-cdk/aws-ecs-patterns/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ecs-patterns", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ECS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ecs_patterns", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -96,7 +97,7 @@ "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -115,10 +116,10 @@ "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s-v2.test.ts b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s-v2.test.ts index 9e7ffb5d4057c..03975b2cebec3 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s-v2.test.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s-v2.test.ts @@ -48,7 +48,6 @@ describe('When Application Load Balancer', () => { Template.fromStack(stack).resourceCountIs('AWS::ElasticLoadBalancingV2::LoadBalancer', 1); Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'EC2', }); @@ -912,9 +911,7 @@ describe('When Network Load Balancer', () => { // THEN - stack contains a load balancer and a service Template.fromStack(stack).resourceCountIs('AWS::ElasticLoadBalancingV2::LoadBalancer', 1); - Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'EC2', }); diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts index db4764c1e4d6d..cd243dfcc3852 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/l3s.test.ts @@ -8,6 +8,7 @@ import { AsgCapacityProvider } from '@aws-cdk/aws-ecs'; import { ApplicationLoadBalancer, ApplicationProtocol, ApplicationProtocolVersion, NetworkLoadBalancer, SslPolicy } from '@aws-cdk/aws-elasticloadbalancingv2'; import { PublicHostedZone } from '@aws-cdk/aws-route53'; import * as cloudmap from '@aws-cdk/aws-servicediscovery'; +import { testLegacyBehavior } from '@aws-cdk/cdk-build-tools'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import * as ecsPatterns from '../../lib'; @@ -71,9 +72,9 @@ test('test ECS loadbalanced construct', () => { }); }); -test('ApplicationLoadBalancedEc2Service desiredCount can be undefined when feature flag is set', () => { +testLegacyBehavior('ApplicationLoadBalancedEc2Service desiredCount can be undefined when feature flag is set', cdk.App, (app) => { // GIVEN - const stack = new cdk.Stack(); + const stack = new cdk.Stack(app); stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true); const vpc = new ec2.Vpc(stack, 'VPC'); @@ -100,9 +101,9 @@ test('ApplicationLoadBalancedEc2Service desiredCount can be undefined when featu }); }); -test('ApplicationLoadBalancedFargateService desiredCount can be undefined when feature flag is set', () => { +testLegacyBehavior('ApplicationLoadBalancedFargateService desiredCount can be undefined when feature flag is set', cdk.App, (app) => { // GIVEN - const stack = new cdk.Stack(); + const stack = new cdk.Stack(app); stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true); const vpc = new ec2.Vpc(stack, 'VPC'); @@ -121,9 +122,9 @@ test('ApplicationLoadBalancedFargateService desiredCount can be undefined when f }); }); -test('NetworkLoadBalancedEc2Service desiredCount can be undefined when feature flag is set', () => { +testLegacyBehavior('NetworkLoadBalancedEc2Service desiredCount can be undefined when feature flag is set', cdk.App, (app) => { // GIVEN - const stack = new cdk.Stack(); + const stack = new cdk.Stack(app); stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true); const vpc = new ec2.Vpc(stack, 'VPC'); @@ -150,9 +151,9 @@ test('NetworkLoadBalancedEc2Service desiredCount can be undefined when feature f }); }); -test('NetworkLoadBalancedFargateService desiredCount can be undefined when feature flag is set', () => { +testLegacyBehavior('NetworkLoadBalancedFargateService desiredCount can be undefined when feature flag is set', cdk.App, (app) => { // GIVEN - const stack = new cdk.Stack(); + const stack = new cdk.Stack(app); stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true); const vpc = new ec2.Vpc(stack, 'VPC'); @@ -514,7 +515,6 @@ test('test Fargate loadbalanced construct with TLS', () => { }); Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'FARGATE', }); @@ -576,7 +576,6 @@ test('test Fargateloadbalanced construct with TLS and default certificate', () = }); Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'FARGATE', }); diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/multiple-application-load-balanced-ecs-service.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/multiple-application-load-balanced-ecs-service.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..10632e6f5e4b8 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/multiple-application-load-balanced-ecs-service.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9abf2316979a565d3a86e43cce5b25037aee1b5cd3885835f8b3daec825b517e": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9abf2316979a565d3a86e43cce5b25037aee1b5cd3885835f8b3daec825b517e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/multiple-application-load-balanced-ecs-service.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/multiple-application-load-balanced-ecs-service.integ.snapshot/tree.json index 524035884e545..83e4ec207a6ea 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/multiple-application-load-balanced-ecs-service.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/multiple-application-load-balanced-ecs-service.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -1239,8 +1239,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/queue-processing-ecs-service.test.ts b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/queue-processing-ecs-service.test.ts index 5b8800e41cc17..7ae4aa4109cdd 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/queue-processing-ecs-service.test.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/queue-processing-ecs-service.test.ts @@ -6,7 +6,7 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import { AsgCapacityProvider } from '@aws-cdk/aws-ecs'; import * as ecs from '@aws-cdk/aws-ecs'; import * as sqs from '@aws-cdk/aws-sqs'; -import { testDeprecated } from '@aws-cdk/cdk-build-tools'; +import { testDeprecated, testLegacyBehavior } from '@aws-cdk/cdk-build-tools'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import * as ecsPatterns from '../../lib'; @@ -33,7 +33,6 @@ test('test ECS queue worker service construct - with only required props', () => // THEN - QueueWorker is of EC2 launch type, an SQS queue is created and all default properties are set. Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'EC2', }); @@ -88,9 +87,9 @@ test('test ECS queue worker service construct - with only required props', () => }); }); -test('test ECS queue worker service construct - with remove default desiredCount feature flag', () => { +testLegacyBehavior('test ECS queue worker service construct - with remove default desiredCount feature flag', cdk.App, (app) => { // GIVEN - const stack = new cdk.Stack(); + const stack = new cdk.Stack(app); stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true); const vpc = new ec2.Vpc(stack, 'VPC'); @@ -142,7 +141,6 @@ test('test ECS queue worker service construct - with optional props for queues', // THEN - QueueWorker is of EC2 launch type, an SQS queue is created and all default properties are set. Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'EC2', }); @@ -221,7 +219,6 @@ testDeprecated('test ECS queue worker service construct - with optional props', image: ecs.ContainerImage.fromRegistry('test'), command: ['-c', '4', 'amazon.com'], enableLogging: false, - desiredTaskCount: 2, environment: { TEST_ENVIRONMENT_VARIABLE1: 'test environment variable 1 value', TEST_ENVIRONMENT_VARIABLE2: 'test environment variable 2 value', @@ -240,7 +237,6 @@ testDeprecated('test ECS queue worker service construct - with optional props', // THEN - QueueWorker is of EC2 launch type, an SQS queue is created and all optional properties are set. Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 2, DeploymentConfiguration: { MinimumHealthyPercent: 60, MaximumPercent: 150, @@ -303,9 +299,9 @@ testDeprecated('test ECS queue worker service construct - with optional props', }); }); -testDeprecated('can set desiredTaskCount to 0', () => { +testLegacyBehavior('can set desiredTaskCount to 0', cdk.App, (app) => { // GIVEN - const stack = new cdk.Stack(); + const stack = new cdk.Stack(app); const vpc = new ec2.Vpc(stack, 'VPC'); const cluster = new ecs.Cluster(stack, 'Cluster', { vpc }); cluster.addAsgCapacityProvider(new AsgCapacityProvider(stack, 'DefaultAutoScalingGroupProvider', { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/scheduled-ecs-task.lit.integ.snapshot/aws-ecs-integ-ecs.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/scheduled-ecs-task.lit.integ.snapshot/aws-ecs-integ-ecs.assets.json new file mode 100644 index 0000000000000..4f433ce8c056d --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/scheduled-ecs-task.lit.integ.snapshot/aws-ecs-integ-ecs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "62462a0ca4f5e1fde18ddd2e2ad6537c111d2bd84b82653a8628047c552bca14": { + "source": { + "path": "aws-ecs-integ-ecs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "62462a0ca4f5e1fde18ddd2e2ad6537c111d2bd84b82653a8628047c552bca14.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/scheduled-ecs-task.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/scheduled-ecs-task.lit.integ.snapshot/tree.json index d5ec4d13092f5..14dd5376734b0 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/ec2/scheduled-ecs-task.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/ec2/scheduled-ecs-task.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-ecs": { @@ -921,8 +921,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/alb-fargate-service-https.integ.snapshot/aws-ecs-integ-alb-fg-https.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/alb-fargate-service-https.integ.snapshot/aws-ecs-integ-alb-fg-https.assets.json new file mode 100644 index 0000000000000..1f9dc613d676b --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/alb-fargate-service-https.integ.snapshot/aws-ecs-integ-alb-fg-https.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "5d61b98da46d78b1d5e9fb8bf6af6dd9c793420d660d0899cc5cf5c322124156": { + "source": { + "path": "aws-ecs-integ-alb-fg-https.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5d61b98da46d78b1d5e9fb8bf6af6dd9c793420d660d0899cc5cf5c322124156.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/alb-fargate-service-https.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/alb-fargate-service-https.integ.snapshot/tree.json index 9a903300da4b4..7f5424f82270d 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/alb-fargate-service-https.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/alb-fargate-service-https.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-alb-fg-https": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/Dockerfile b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/index.py b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/index.py deleted file mode 100644 index 2ccedfce3ab76..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/index.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/python -import sys -import textwrap -import http.server -import socketserver - -PORT = 8000 - - -class Handler(http.server.SimpleHTTPRequestHandler): - def do_GET(self): - self.send_response(200) - self.send_header('Content-Type', 'text/html') - self.end_headers() - self.wfile.write(textwrap.dedent('''\ - - It works - -

Hello from the integ test container

-

This container got built and started as part of the integ test.

- - - ''').encode('utf-8')) - - -def main(): - httpd = http.server.HTTPServer(("", PORT), Handler) - print("serving at port", PORT) - httpd.serve_forever() - - -if __name__ == '__main__': - main() diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..0f943a78685aa --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "ea361d8b87630c0592206607433b19c5dd5b175c8e8907dc5774cfa83c77a688": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ea361d8b87630c0592206607433b19c5dd5b175c8e8907dc5774cfa83c77a688.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14": { + "source": { + "directory": "asset.0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/manifest.json index c6d97a1756687..81fbb17b50004 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/manifest.json @@ -223,7 +223,10 @@ "/aws-ecs-integ/FargateService/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "FargateServiceTaskDef940E3A80" + "data": "FargateServiceTaskDef940E3A80", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-integ/FargateService/TaskDef/web/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/tree.json index 6b4eeeae3dafc..ba6c4b3175b52 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/asset-image.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-load-balanced-fargate-service.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-load-balanced-fargate-service.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..f4808f1858d5f --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-load-balanced-fargate-service.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "57ecbd695496829275082d88ed3d64fd832e51feda23431eff67135d851e85a0": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "57ecbd695496829275082d88ed3d64fd832e51feda23431eff67135d851e85a0.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-load-balanced-fargate-service.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-load-balanced-fargate-service.integ.snapshot/tree.json index 8c86b7b2a9dcc..9392ef2478df8 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-load-balanced-fargate-service.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-load-balanced-fargate-service.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile deleted file mode 100644 index 919fabfc3f637..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 - -RUN pip3 install boto3 - -ENV QUEUE_NAME $QUEUE_NAME - -WORKDIR /src -ADD . /src - -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py deleted file mode 100644 index 8b53f5149cb24..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python -import os -import boto3 - -QUEUE_NAME = os.environ.get('QUEUE_NAME') -print('QUEUE_NAME ' + QUEUE_NAME) - -if __name__ == '__main__': - client = boto3.client('sqs') - queue_url = client.get_queue_url(QueueName=QUEUE_NAME)['QueueUrl'] - print('queue_url ' + queue_url) - while True: - response = client.receive_message( - QueueUrl=queue_url, - WaitTimeSeconds=10, - ) - if response and 'Messages' in response: - for msg in response['Messages']: - print(msg['Body']) - entries = [{'Id': x['MessageId'], 'ReceiptHandle': x['ReceiptHandle']} for x in response['Messages']] - client.delete_message_batch(QueueUrl=queue_url, Entries=entries) - diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/aws-ecs-patterns-queue.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/aws-ecs-patterns-queue.assets.json new file mode 100644 index 0000000000000..ee0229ade6043 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/aws-ecs-patterns-queue.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "e53c767023b19aded0af90c4ed38a8aefd68d4804c3b1201c0f815f62be71c9b": { + "source": { + "path": "aws-ecs-patterns-queue.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e53c767023b19aded0af90c4ed38a8aefd68d4804c3b1201c0f815f62be71c9b.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417": { + "source": { + "directory": "asset.95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/manifest.json index 6e9a250e05165..e1f0def38d4d5 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/manifest.json @@ -217,7 +217,10 @@ "/aws-ecs-patterns-queue/QueueProcessingService/QueueProcessingTaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "QueueProcessingServiceQueueProcessingTaskDef4982F68B" + "data": "QueueProcessingServiceQueueProcessingTaskDef4982F68B", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-patterns-queue/QueueProcessingService/QueueProcessingTaskDef/QueueProcessingContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/tree.json index 0260adc61cbf7..6d8982c2b7e7a 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/circuit-breaker-queue-processing-fargate-service.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-patterns-queue": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/executionrole.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/executionrole.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..d0add488b89aa --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/executionrole.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "575a16def1d13d5b9d12ed69c88e8e22a52b91a6c4d5bc599354523de2b9a163": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "575a16def1d13d5b9d12ed69c88e8e22a52b91a6c4d5bc599354523de2b9a163.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/executionrole.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/executionrole.integ.snapshot/tree.json index 5150714b11036..368c8b4e64b55 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/executionrole.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/executionrole.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-autocreate.integ.snapshot/aws-ecs-integ-l3-autocreate.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-autocreate.integ.snapshot/aws-ecs-integ-l3-autocreate.assets.json new file mode 100644 index 0000000000000..b0be869d9fa8e --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-autocreate.integ.snapshot/aws-ecs-integ-l3-autocreate.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "e1869c0c0a6797f0fd0657f872550e6475fb627859c20b9792b6dbaef4493920": { + "source": { + "path": "aws-ecs-integ-l3-autocreate.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e1869c0c0a6797f0fd0657f872550e6475fb627859c20b9792b6dbaef4493920.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-autocreate.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-autocreate.integ.snapshot/tree.json index 80c48217c1937..9b890405433bd 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-autocreate.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-autocreate.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-l3-autocreate": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-vpconly.integ.snapshot/aws-ecs-integ-l3-vpconly.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-vpconly.integ.snapshot/aws-ecs-integ-l3-vpconly.assets.json new file mode 100644 index 0000000000000..a9b11f2f9d188 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-vpconly.integ.snapshot/aws-ecs-integ-l3-vpconly.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "72afed9b4a46733798b0fc890b1fa3854b9eb0bed85cfa7031713f9f17ab6603": { + "source": { + "path": "aws-ecs-integ-l3-vpconly.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "72afed9b4a46733798b0fc890b1fa3854b9eb0bed85cfa7031713f9f17ab6603.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-vpconly.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-vpconly.integ.snapshot/tree.json index d60ee873d698d..4a2e0c3b00525 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-vpconly.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3-vpconly.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-l3-vpconly": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3.integ.snapshot/aws-ecs-integ-lb-fargate.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3.integ.snapshot/aws-ecs-integ-lb-fargate.assets.json new file mode 100644 index 0000000000000..3568f7d2db3bb --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3.integ.snapshot/aws-ecs-integ-lb-fargate.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "df69d2ecce2a4821319e5d7c7a82c2788b52a69dd46e19809ca9d208bf17231f": { + "source": { + "path": "aws-ecs-integ-lb-fargate.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "df69d2ecce2a4821319e5d7c7a82c2788b52a69dd46e19809ca9d208bf17231f.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3.integ.snapshot/tree.json index 088d9e1f07a15..cdad7d71d1930 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/l3.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-lb-fargate": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/load-balanced-fargate-service-v2.test.ts b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/load-balanced-fargate-service-v2.test.ts index b196f4b0616b1..dc11d17291b8f 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/load-balanced-fargate-service-v2.test.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/load-balanced-fargate-service-v2.test.ts @@ -25,7 +25,6 @@ describe('When Application Load Balancer', () => { Template.fromStack(stack).resourceCountIs('AWS::ElasticLoadBalancingV2::LoadBalancer', 1); Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'FARGATE', LoadBalancers: [ { @@ -320,7 +319,6 @@ describe('When Application Load Balancer', () => { }); Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'FARGATE', LoadBalancers: [ { @@ -394,7 +392,6 @@ describe('When Network Load Balancer', () => { Template.fromStack(stack).resourceCountIs('AWS::ElasticLoadBalancingV2::LoadBalancer', 1); Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'FARGATE', LoadBalancers: [ { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/multiple-network-load-balanced-fargate-service.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/multiple-network-load-balanced-fargate-service.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..79b17c703b14b --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/multiple-network-load-balanced-fargate-service.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "2afa88c5f3649e614b32c2066c9d46b91157ff61ea29b48d80a6eb52e3b3ef21": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2afa88c5f3649e614b32c2066c9d46b91157ff61ea29b48d80a6eb52e3b3ef21.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/multiple-network-load-balanced-fargate-service.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/multiple-network-load-balanced-fargate-service.integ.snapshot/tree.json index fd5e02d16b4b9..a1a882b9843f5 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/multiple-network-load-balanced-fargate-service.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/multiple-network-load-balanced-fargate-service.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile deleted file mode 100644 index 919fabfc3f637..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 - -RUN pip3 install boto3 - -ENV QUEUE_NAME $QUEUE_NAME - -WORKDIR /src -ADD . /src - -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py deleted file mode 100644 index 8b53f5149cb24..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python -import os -import boto3 - -QUEUE_NAME = os.environ.get('QUEUE_NAME') -print('QUEUE_NAME ' + QUEUE_NAME) - -if __name__ == '__main__': - client = boto3.client('sqs') - queue_url = client.get_queue_url(QueueName=QUEUE_NAME)['QueueUrl'] - print('queue_url ' + queue_url) - while True: - response = client.receive_message( - QueueUrl=queue_url, - WaitTimeSeconds=10, - ) - if response and 'Messages' in response: - for msg in response['Messages']: - print(msg['Body']) - entries = [{'Id': x['MessageId'], 'ReceiptHandle': x['ReceiptHandle']} for x in response['Messages']] - client.delete_message_batch(QueueUrl=queue_url, Entries=entries) - diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/aws-ecs-patterns-queue-isolated.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/aws-ecs-patterns-queue-isolated.assets.json new file mode 100644 index 0000000000000..335005aafcc04 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/aws-ecs-patterns-queue-isolated.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "336d287a787e7cadbdc4a6c46107f1d558f64e893784c375402e14cafaa2eca2": { + "source": { + "path": "aws-ecs-patterns-queue-isolated.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "336d287a787e7cadbdc4a6c46107f1d558f64e893784c375402e14cafaa2eca2.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417": { + "source": { + "directory": "asset.95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/manifest.json index ded8289ca5e60..e0832d3bcc832 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/manifest.json @@ -241,7 +241,10 @@ "/aws-ecs-patterns-queue-isolated/IsolatedQueueService/QueueProcessingTaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "IsolatedQueueServiceQueueProcessingTaskDef0F0CE105" + "data": "IsolatedQueueServiceQueueProcessingTaskDef0F0CE105", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-patterns-queue-isolated/IsolatedQueueService/QueueProcessingTaskDef/QueueProcessingContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/tree.json index d863751a8e4dc..15e37186165ab 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-isolated.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-patterns-queue-isolated": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile deleted file mode 100644 index 919fabfc3f637..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 - -RUN pip3 install boto3 - -ENV QUEUE_NAME $QUEUE_NAME - -WORKDIR /src -ADD . /src - -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py deleted file mode 100644 index 8b53f5149cb24..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python -import os -import boto3 - -QUEUE_NAME = os.environ.get('QUEUE_NAME') -print('QUEUE_NAME ' + QUEUE_NAME) - -if __name__ == '__main__': - client = boto3.client('sqs') - queue_url = client.get_queue_url(QueueName=QUEUE_NAME)['QueueUrl'] - print('queue_url ' + queue_url) - while True: - response = client.receive_message( - QueueUrl=queue_url, - WaitTimeSeconds=10, - ) - if response and 'Messages' in response: - for msg in response['Messages']: - print(msg['Body']) - entries = [{'Id': x['MessageId'], 'ReceiptHandle': x['ReceiptHandle']} for x in response['Messages']] - client.delete_message_batch(QueueUrl=queue_url, Entries=entries) - diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/aws-ecs-patterns-queue-public.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/aws-ecs-patterns-queue-public.assets.json new file mode 100644 index 0000000000000..45b778a00f48c --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/aws-ecs-patterns-queue-public.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "8d0220e513d4b22c1f225f98298432758725c2ce2482dd4a02826578792fd084": { + "source": { + "path": "aws-ecs-patterns-queue-public.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8d0220e513d4b22c1f225f98298432758725c2ce2482dd4a02826578792fd084.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417": { + "source": { + "directory": "asset.95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/manifest.json index 673fc03a8647a..5a89b52767298 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/manifest.json @@ -217,7 +217,10 @@ "/aws-ecs-patterns-queue-public/PublicQueueService/QueueProcessingTaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "PublicQueueServiceQueueProcessingTaskDef858327F6" + "data": "PublicQueueServiceQueueProcessingTaskDef858327F6", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-patterns-queue-public/PublicQueueService/QueueProcessingTaskDef/QueueProcessingContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/tree.json index 9b5eec98c6ccd..94b1d72edfddf 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service-public.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-patterns-queue-public": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile deleted file mode 100644 index 919fabfc3f637..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 - -RUN pip3 install boto3 - -ENV QUEUE_NAME $QUEUE_NAME - -WORKDIR /src -ADD . /src - -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py deleted file mode 100644 index 8b53f5149cb24..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/asset.df8476644bbc9943ba146e5aba5b9ae7ab8804a49ff767c357606ffee5c4d9e4/index.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python -import os -import boto3 - -QUEUE_NAME = os.environ.get('QUEUE_NAME') -print('QUEUE_NAME ' + QUEUE_NAME) - -if __name__ == '__main__': - client = boto3.client('sqs') - queue_url = client.get_queue_url(QueueName=QUEUE_NAME)['QueueUrl'] - print('queue_url ' + queue_url) - while True: - response = client.receive_message( - QueueUrl=queue_url, - WaitTimeSeconds=10, - ) - if response and 'Messages' in response: - for msg in response['Messages']: - print(msg['Body']) - entries = [{'Id': x['MessageId'], 'ReceiptHandle': x['ReceiptHandle']} for x in response['Messages']] - client.delete_message_batch(QueueUrl=queue_url, Entries=entries) - diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/aws-ecs-patterns-queue.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/aws-ecs-patterns-queue.assets.json new file mode 100644 index 0000000000000..61649332edce9 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/aws-ecs-patterns-queue.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "cfc771c152b4c7e4a9f520d501f4b907f84b25cb75f01fb8eba5fc563126aa35": { + "source": { + "path": "aws-ecs-patterns-queue.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "cfc771c152b4c7e4a9f520d501f4b907f84b25cb75f01fb8eba5fc563126aa35.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417": { + "source": { + "directory": "asset.95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "95cefedd43575452a70cdeeeceb0f1c5728fd58c9ff8e81e760c3dac33c46417", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/manifest.json index 6e9a250e05165..e1f0def38d4d5 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/manifest.json @@ -217,7 +217,10 @@ "/aws-ecs-patterns-queue/QueueProcessingService/QueueProcessingTaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "QueueProcessingServiceQueueProcessingTaskDef4982F68B" + "data": "QueueProcessingServiceQueueProcessingTaskDef4982F68B", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-patterns-queue/QueueProcessingService/QueueProcessingTaskDef/QueueProcessingContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/tree.json index 71135371e8900..9c0fc63a8f0cb 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-patterns-queue": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.test.ts b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.test.ts index ba653fc429963..2a4dbcfe057ed 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.test.ts +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/queue-processing-fargate-service.test.ts @@ -5,11 +5,13 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import { AsgCapacityProvider } from '@aws-cdk/aws-ecs'; import * as ecs from '@aws-cdk/aws-ecs'; import * as sqs from '@aws-cdk/aws-sqs'; -import { testDeprecated } from '@aws-cdk/cdk-build-tools'; +import { testDeprecated, testFutureBehavior } from '@aws-cdk/cdk-build-tools'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import * as ecsPatterns from '../../lib'; +const flags = { [cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT]: true }; + test('test fargate queue worker service construct - with only required props', () => { // GIVEN const stack = new cdk.Stack(); @@ -32,7 +34,6 @@ test('test fargate queue worker service construct - with only required props', ( // THEN - QueueWorker is of FARGATE launch type, an SQS queue is created and all default properties are set. Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'FARGATE', }); @@ -109,11 +110,9 @@ test('test fargate queue worker service construct - with only required props', ( }); }); -test('test fargate queue worker service construct - with remove default desiredCount feature flag', () => { +testFutureBehavior('test fargate queue worker service construct - with remove default desiredCount feature flag', flags, cdk.App, (app) => { // GIVEN - const stack = new cdk.Stack(); - stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true); - + const stack = new cdk.Stack(app); const vpc = new ec2.Vpc(stack, 'VPC'); const cluster = new ecs.Cluster(stack, 'Cluster', { vpc }); @@ -156,7 +155,6 @@ test('test fargate queue worker service construct - with optional props for queu // THEN - QueueWorker is of FARGATE launch type, an SQS queue is created and all default properties are set. Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 1, LaunchType: 'FARGATE', }); @@ -352,7 +350,6 @@ testDeprecated('test Fargate queue worker service construct - with optional prop image: ecs.ContainerImage.fromRegistry('test'), command: ['-c', '4', 'amazon.com'], enableLogging: false, - desiredTaskCount: 2, environment: { TEST_ENVIRONMENT_VARIABLE1: 'test environment variable 1 value', TEST_ENVIRONMENT_VARIABLE2: 'test environment variable 2 value', @@ -369,7 +366,6 @@ testDeprecated('test Fargate queue worker service construct - with optional prop // THEN - QueueWorker is of FARGATE launch type, an SQS queue is created and all optional properties are set. Template.fromStack(stack).hasResourceProperties('AWS::ECS::Service', { - DesiredCount: 2, DeploymentConfiguration: { MinimumHealthyPercent: 60, MaximumPercent: 150, diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/Dockerfile b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/index.py b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/index.py deleted file mode 100644 index 2ccedfce3ab76..0000000000000 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/asset.aba53d5f05c76afcd7e420dc8cd283ddc31657866bb4ba4ce221e13d8128d92c/index.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/python -import sys -import textwrap -import http.server -import socketserver - -PORT = 8000 - - -class Handler(http.server.SimpleHTTPRequestHandler): - def do_GET(self): - self.send_response(200) - self.send_header('Content-Type', 'text/html') - self.end_headers() - self.wfile.write(textwrap.dedent('''\ - - It works - -

Hello from the integ test container

-

This container got built and started as part of the integ test.

- - - ''').encode('utf-8')) - - -def main(): - httpd = http.server.HTTPServer(("", PORT), Handler) - print("serving at port", PORT) - httpd.serve_forever() - - -if __name__ == '__main__': - main() diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/aws-fargate-integ.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/aws-fargate-integ.assets.json new file mode 100644 index 0000000000000..20211f87b1dd9 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/aws-fargate-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9c65fd14edb19b6b8f48d1c3c00124ad8f0137b1dbfd3f3fe8652937db145183": { + "source": { + "path": "aws-fargate-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9c65fd14edb19b6b8f48d1c3c00124ad8f0137b1dbfd3f3fe8652937db145183.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14": { + "source": { + "directory": "asset.0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "0a3355be12051c9984bf2b0b2bba4e6ea535968e5b6e7396449701732fe5ed14", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/manifest.json index 95b3c724b16d6..fd45456f9e846 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/manifest.json @@ -127,7 +127,10 @@ "/aws-fargate-integ/ScheduledFargateTask/ScheduledTaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "ScheduledFargateTaskScheduledTaskDef521FA675" + "data": "ScheduledFargateTaskScheduledTaskDef521FA675", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-fargate-integ/ScheduledFargateTask/ScheduledTaskDef/ScheduledContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/tree.json index 4eb61d570d444..7e342085194f0 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/scheduled-fargate-task.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-fargate-integ": { diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/special-listener.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/special-listener.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..5c3cdb37e4172 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/special-listener.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "5c85bb1c2211b3c656f51b18ad4e9fe62c6bb1ebe7b8eb45fa821670b1d09614": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5c85bb1c2211b3c656f51b18ad4e9fe62c6bb1ebe7b8eb45fa821670b1d09614.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/special-listener.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/special-listener.integ.snapshot/tree.json index d492ecae56728..81aeae97128e4 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/test/fargate/special-listener.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs-patterns/test/fargate/special-listener.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { diff --git a/packages/@aws-cdk/aws-ecs/lib/amis.ts b/packages/@aws-cdk/aws-ecs/lib/amis.ts index f7e4139c10c3a..cbe95cd8fd2c1 100644 --- a/packages/@aws-cdk/aws-ecs/lib/amis.ts +++ b/packages/@aws-cdk/aws-ecs/lib/amis.ts @@ -3,7 +3,7 @@ import * as ssm from '@aws-cdk/aws-ssm'; // v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. // eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The ECS-optimized AMI variant to use. For more information, see @@ -145,7 +145,7 @@ export class EcsOptimizedAmi implements ec2.IMachineImage { /** * Return the correct image */ - public getImage(scope: CoreConstruct): ec2.MachineImageConfig { + public getImage(scope: Construct): ec2.MachineImageConfig { const ami = lookupImage(scope, this.cachedInContext, this.amiParameterName); const osType = this.windowsVersion ? ec2.OperatingSystemType.WINDOWS : ec2.OperatingSystemType.LINUX; @@ -258,7 +258,7 @@ export class EcsOptimizedImage implements ec2.IMachineImage { /** * Return the correct image */ - public getImage(scope: CoreConstruct): ec2.MachineImageConfig { + public getImage(scope: Construct): ec2.MachineImageConfig { const ami = lookupImage(scope, this.cachedInContext, this.amiParameterName); const osType = this.windowsVersion ? ec2.OperatingSystemType.WINDOWS : ec2.OperatingSystemType.LINUX; @@ -355,7 +355,7 @@ export class BottleRocketImage implements ec2.IMachineImage { /** * Return the correct image */ - public getImage(scope: CoreConstruct): ec2.MachineImageConfig { + public getImage(scope: Construct): ec2.MachineImageConfig { const ami = lookupImage(scope, this.cachedInContext, this.amiParameterName); return { @@ -366,8 +366,8 @@ export class BottleRocketImage implements ec2.IMachineImage { } } -function lookupImage(scope: CoreConstruct, cachedInContext: boolean | undefined, parameterName: string) { +function lookupImage(scope: Construct, cachedInContext: boolean | undefined, parameterName: string) { return cachedInContext ? ssm.StringParameter.valueFromLookup(scope, parameterName) : ssm.StringParameter.valueForTypedStringParameter(scope, parameterName, ssm.ParameterType.AWS_EC2_IMAGE_ID); -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-ecs/lib/base/task-definition.ts b/packages/@aws-cdk/aws-ecs/lib/base/task-definition.ts index c937a2d14ef0a..62033f31d6d73 100644 --- a/packages/@aws-cdk/aws-ecs/lib/base/task-definition.ts +++ b/packages/@aws-cdk/aws-ecs/lib/base/task-definition.ts @@ -481,6 +481,7 @@ export class TaskDefinition extends TaskDefinitionBase { } this.taskDefinitionArn = taskDef.ref; + this.node.addValidation({ validate: () => this.validateTaskDefinition() }); } public get executionRole(): iam.IRole | undefined { @@ -678,8 +679,8 @@ export class TaskDefinition extends TaskDefinitionBase { /** * Validates the task definition. */ - protected validate(): string[] { - const ret = super.validate(); + private validateTaskDefinition(): string[] { + const ret = new Array(); if (isEc2Compatible(this.compatibility)) { // EC2 mode validations diff --git a/packages/@aws-cdk/aws-ecs/lib/cluster.ts b/packages/@aws-cdk/aws-ecs/lib/cluster.ts index 188fa661944d3..f434f3efb2b85 100644 --- a/packages/@aws-cdk/aws-ecs/lib/cluster.ts +++ b/packages/@aws-cdk/aws-ecs/lib/cluster.ts @@ -6,17 +6,13 @@ import * as kms from '@aws-cdk/aws-kms'; import * as logs from '@aws-cdk/aws-logs'; import * as s3 from '@aws-cdk/aws-s3'; import * as cloudmap from '@aws-cdk/aws-servicediscovery'; -import { Duration, Lazy, IResource, Resource, Stack, Aspects, IAspect, IConstruct, ArnFormat } from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Duration, Lazy, IResource, Resource, Stack, Aspects, IAspect, ArnFormat } from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; import { BottleRocketImage, EcsOptimizedAmi } from './amis'; import { InstanceDrainHook } from './drain-hook/instance-drain-hook'; import { ECSMetrics } from './ecs-canned-metrics.generated'; import { CfnCluster, CfnCapacityProvider, CfnClusterCapacityProviderAssociations } from './ecs.generated'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The properties used to define an ECS cluster. */ @@ -1088,7 +1084,7 @@ export interface AsgCapacityProviderProps extends AddAutoScalingGroupCapacityOpt * tasks, and can ensure that instances are not prematurely terminated while * there are still tasks running on them. */ -export class AsgCapacityProvider extends CoreConstruct { +export class AsgCapacityProvider extends Construct { /** * Capacity provider name * @default Chosen by CloudFormation @@ -1160,12 +1156,12 @@ export class AsgCapacityProvider extends CoreConstruct { * the caller created any EC2 Capacity Providers. */ class MaybeCreateCapacityProviderAssociations implements IAspect { - private scope: CoreConstruct; + private scope: Construct; private id: string; private capacityProviders: string[] private resource?: CfnClusterCapacityProviderAssociations - constructor(scope: CoreConstruct, id: string, capacityProviders: string[] ) { + constructor(scope: Construct, id: string, capacityProviders: string[] ) { this.scope = scope; this.id = id; this.capacityProviders = capacityProviders; diff --git a/packages/@aws-cdk/aws-ecs/lib/container-definition.ts b/packages/@aws-cdk/aws-ecs/lib/container-definition.ts index 0ee433ff951e7..a5ac9e9b0cdf6 100644 --- a/packages/@aws-cdk/aws-ecs/lib/container-definition.ts +++ b/packages/@aws-cdk/aws-ecs/lib/container-definition.ts @@ -10,10 +10,6 @@ import { EnvironmentFile, EnvironmentFileConfig } from './environment-file'; import { LinuxParameters } from './linux-parameters'; import { LogDriver, LogDriverConfig } from './log-drivers/log-driver'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Specify the secret's version id or version stage */ @@ -370,7 +366,7 @@ export interface ContainerDefinitionProps extends ContainerDefinitionOptions { /** * A container definition is used in a task definition to describe the containers that are launched as part of a task. */ -export class ContainerDefinition extends CoreConstruct { +export class ContainerDefinition extends Construct { /** * The Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. */ diff --git a/packages/@aws-cdk/aws-ecs/lib/container-image.ts b/packages/@aws-cdk/aws-ecs/lib/container-image.ts index f3c53bb527ba0..014cc93d2e7f6 100644 --- a/packages/@aws-cdk/aws-ecs/lib/container-image.ts +++ b/packages/@aws-cdk/aws-ecs/lib/container-image.ts @@ -1,12 +1,9 @@ import * as ecr from '@aws-cdk/aws-ecr'; import { DockerImageAsset, TarballImageAsset } from '@aws-cdk/aws-ecr-assets'; +import { Construct } from 'constructs'; import { ContainerDefinition } from './container-definition'; import { CfnTaskDefinition } from './ecs.generated'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Constructs for types of container images */ @@ -44,7 +41,7 @@ export abstract class ContainerImage { */ public static fromDockerImageAsset(asset: DockerImageAsset): ContainerImage { return { - bind(_scope: CoreConstruct, containerDefinition: ContainerDefinition): ContainerImageConfig { + bind(_scope: Construct, containerDefinition: ContainerDefinition): ContainerImageConfig { asset.repository.grantPull(containerDefinition.taskDefinition.obtainExecutionRole()); return { imageName: asset.imageUri, @@ -64,7 +61,7 @@ export abstract class ContainerImage { */ public static fromTarball(tarballFile: string): ContainerImage { return { - bind(scope: CoreConstruct, containerDefinition: ContainerDefinition): ContainerImageConfig { + bind(scope: Construct, containerDefinition: ContainerDefinition): ContainerImageConfig { const asset = new TarballImageAsset(scope, 'Tarball', { tarballFile }); asset.repository.grantPull(containerDefinition.taskDefinition.obtainExecutionRole()); @@ -79,7 +76,7 @@ export abstract class ContainerImage { /** * Called when the image is used by a ContainerDefinition */ - public abstract bind(scope: CoreConstruct, containerDefinition: ContainerDefinition): ContainerImageConfig; + public abstract bind(scope: Construct, containerDefinition: ContainerDefinition): ContainerImageConfig; } /** @@ -100,3 +97,4 @@ export interface ContainerImageConfig { import { AssetImage, AssetImageProps } from './images/asset-image'; import { EcrImage } from './images/ecr'; import { RepositoryImage, RepositoryImageProps } from './images/repository'; + diff --git a/packages/@aws-cdk/aws-ecs/lib/drain-hook/instance-drain-hook.ts b/packages/@aws-cdk/aws-ecs/lib/drain-hook/instance-drain-hook.ts index cb0f9a57d6288..eda62a301dfe0 100644 --- a/packages/@aws-cdk/aws-ecs/lib/drain-hook/instance-drain-hook.ts +++ b/packages/@aws-cdk/aws-ecs/lib/drain-hook/instance-drain-hook.ts @@ -9,10 +9,6 @@ import * as cdk from '@aws-cdk/core'; import { Construct } from 'constructs'; import { ICluster } from '../cluster'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - // Reference for the source in this package: // // https://github.com/aws-samples/ecs-refarch-cloudformation/blob/master/infrastructure/lifecyclehook.yaml @@ -53,7 +49,7 @@ export interface InstanceDrainHookProps { /** * A hook to drain instances from ECS traffic before they're terminated */ -export class InstanceDrainHook extends CoreConstruct { +export class InstanceDrainHook extends Construct { /** * Constructs a new instance of the InstanceDrainHook class. diff --git a/packages/@aws-cdk/aws-ecs/lib/ec2/ec2-service.ts b/packages/@aws-cdk/aws-ecs/lib/ec2/ec2-service.ts index c24a1780c8b48..3c35c3ef90ceb 100644 --- a/packages/@aws-cdk/aws-ecs/lib/ec2/ec2-service.ts +++ b/packages/@aws-cdk/aws-ecs/lib/ec2/ec2-service.ts @@ -216,6 +216,8 @@ export class Ec2Service extends BaseService implements IEc2Service { this.node.addValidation({ validate: () => !this.taskDefinition.defaultContainer ? ['A TaskDefinition must have at least one essential container'] : [], }); + + this.node.addValidation({ validate: this.validateEc2Service.bind(this) }); } /** @@ -245,8 +247,8 @@ export class Ec2Service extends BaseService implements IEc2Service { /** * Validates this Ec2Service. */ - protected validate(): string[] { - const ret = super.validate(); + private validateEc2Service(): string[] { + const ret = new Array(); if (!this.cluster.hasEc2Capacity) { ret.push('Cluster for this service needs Ec2 capacity. Call addXxxCapacity() on the cluster.'); } diff --git a/packages/@aws-cdk/aws-ecs/lib/environment-file.ts b/packages/@aws-cdk/aws-ecs/lib/environment-file.ts index 0a5c8bb9de9cb..daaaf7db98d78 100644 --- a/packages/@aws-cdk/aws-ecs/lib/environment-file.ts +++ b/packages/@aws-cdk/aws-ecs/lib/environment-file.ts @@ -1,6 +1,6 @@ import { IBucket, Location } from '@aws-cdk/aws-s3'; import { Asset, AssetOptions } from '@aws-cdk/aws-s3-assets'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Constructs for types of environment files diff --git a/packages/@aws-cdk/aws-ecs/lib/images/asset-image.ts b/packages/@aws-cdk/aws-ecs/lib/images/asset-image.ts index c17f56d7cfdee..2b2a9e039bdb9 100644 --- a/packages/@aws-cdk/aws-ecs/lib/images/asset-image.ts +++ b/packages/@aws-cdk/aws-ecs/lib/images/asset-image.ts @@ -1,11 +1,8 @@ import { DockerImageAsset, DockerImageAssetOptions } from '@aws-cdk/aws-ecr-assets'; +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { ContainerImage, ContainerImageConfig } from '../container-image'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The properties for building an AssetImage. */ @@ -25,7 +22,7 @@ export class AssetImage extends ContainerImage { super(); } - public bind(scope: CoreConstruct, containerDefinition: ContainerDefinition): ContainerImageConfig { + public bind(scope: Construct, containerDefinition: ContainerDefinition): ContainerImageConfig { const asset = new DockerImageAsset(scope, 'AssetImage', { directory: this.directory, ...this.props, diff --git a/packages/@aws-cdk/aws-ecs/lib/images/ecr.ts b/packages/@aws-cdk/aws-ecs/lib/images/ecr.ts index eef0396aa3b4e..3a89fd214882a 100644 --- a/packages/@aws-cdk/aws-ecs/lib/images/ecr.ts +++ b/packages/@aws-cdk/aws-ecs/lib/images/ecr.ts @@ -1,11 +1,8 @@ import * as ecr from '@aws-cdk/aws-ecr'; +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { ContainerImage, ContainerImageConfig } from '../container-image'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * An image from an Amazon ECR repository. */ @@ -28,7 +25,7 @@ export class EcrImage extends ContainerImage { this.imageName = this.repository.repositoryUriForTagOrDigest(this.tagOrDigest); } - public bind(_scope: CoreConstruct, containerDefinition: ContainerDefinition): ContainerImageConfig { + public bind(_scope: Construct, containerDefinition: ContainerDefinition): ContainerImageConfig { this.repository.grantPull(containerDefinition.taskDefinition.obtainExecutionRole()); return { diff --git a/packages/@aws-cdk/aws-ecs/lib/images/repository.ts b/packages/@aws-cdk/aws-ecs/lib/images/repository.ts index 4ef78bc3854c1..359888e7ccd92 100644 --- a/packages/@aws-cdk/aws-ecs/lib/images/repository.ts +++ b/packages/@aws-cdk/aws-ecs/lib/images/repository.ts @@ -1,12 +1,9 @@ import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import { Annotations, Token } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { ContainerImage, ContainerImageConfig } from '../container-image'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Regex pattern to check if it is an ECR image URL. * @@ -37,7 +34,7 @@ export class RepositoryImage extends ContainerImage { super(); } - public bind(scope: CoreConstruct, containerDefinition: ContainerDefinition): ContainerImageConfig { + public bind(scope: Construct, containerDefinition: ContainerDefinition): ContainerImageConfig { // name could be a Token - in that case, skip validation altogether if (!Token.isUnresolved(this.imageName) && ECR_IMAGE_REGEX.test(this.imageName)) { Annotations.of(scope).addWarning("Proper policies need to be attached before pulling from ECR repository, or use 'fromEcrRepository'."); diff --git a/packages/@aws-cdk/aws-ecs/lib/images/tag-parameter-container-image.ts b/packages/@aws-cdk/aws-ecs/lib/images/tag-parameter-container-image.ts index c6479f44b951b..f232aa3932b54 100644 --- a/packages/@aws-cdk/aws-ecs/lib/images/tag-parameter-container-image.ts +++ b/packages/@aws-cdk/aws-ecs/lib/images/tag-parameter-container-image.ts @@ -1,12 +1,9 @@ import * as ecr from '@aws-cdk/aws-ecr'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { ContainerImage, ContainerImageConfig } from '../container-image'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * A special type of {@link ContainerImage} that uses an ECR repository for the image, * but a CloudFormation Parameter for the tag of the image in that repository. diff --git a/packages/@aws-cdk/aws-ecs/lib/linux-parameters.ts b/packages/@aws-cdk/aws-ecs/lib/linux-parameters.ts index b83b208552b95..7185527184694 100644 --- a/packages/@aws-cdk/aws-ecs/lib/linux-parameters.ts +++ b/packages/@aws-cdk/aws-ecs/lib/linux-parameters.ts @@ -2,10 +2,6 @@ import * as cdk from '@aws-cdk/core'; import { Construct } from 'constructs'; import { CfnTaskDefinition } from './ecs.generated'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The properties for defining Linux-specific options that are applied to the container. */ @@ -28,7 +24,7 @@ export interface LinuxParametersProps { /** * Linux-specific options that are applied to the container. */ -export class LinuxParameters extends CoreConstruct { +export class LinuxParameters extends Construct { /** * Whether the init process is enabled */ diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/aws-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/aws-log-driver.ts index 2bca7326e18f3..350abf82ab58d 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/aws-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/aws-log-driver.ts @@ -1,12 +1,9 @@ import * as logs from '@aws-cdk/aws-logs'; +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { LogDriver, LogDriverConfig } from './log-driver'; import { removeEmpty } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * awslogs provides two modes for delivering messages from the container to the log driver */ @@ -114,7 +111,7 @@ export class AwsLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(scope: CoreConstruct, containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(scope: Construct, containerDefinition: ContainerDefinition): LogDriverConfig { this.logGroup = this.props.logGroup || new logs.LogGroup(scope, 'LogGroup', { retention: this.props.logRetention || Infinity, }); diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/firelens-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/firelens-log-driver.ts index 4e8ed677583d1..c4ce91f35fae0 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/firelens-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/firelens-log-driver.ts @@ -1,12 +1,9 @@ +import { Construct } from 'constructs'; import { ContainerDefinition, Secret } from '../container-definition'; import { BaseLogDriverProps } from './base-log-driver'; import { LogDriver, LogDriverConfig } from './log-driver'; import { removeEmpty, renderLogDriverSecretOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Specifies the firelens log driver configuration options. */ @@ -55,7 +52,7 @@ export class FireLensLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { return { logDriver: 'awsfirelens', ...(this.options && { options: removeEmpty(this.options) }), diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/fluentd-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/fluentd-log-driver.ts index 30800bb022b86..26f33c16f84e6 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/fluentd-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/fluentd-log-driver.ts @@ -1,13 +1,10 @@ import { Duration } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { BaseLogDriverProps } from './base-log-driver'; import { LogDriver, LogDriverConfig } from './log-driver'; import { renderCommonLogDriverOptions, stringifyOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Specifies the fluentd log driver configuration options. * @@ -76,7 +73,7 @@ export class FluentdLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { return { logDriver: 'fluentd', options: stringifyOptions({ diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/gelf-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/gelf-log-driver.ts index 120bcb0d4545f..e16d499ff3c63 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/gelf-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/gelf-log-driver.ts @@ -1,13 +1,10 @@ import { Duration } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { BaseLogDriverProps } from './base-log-driver'; import { LogDriver, LogDriverConfig } from './log-driver'; import { ensureInRange, ensurePositiveInteger, renderCommonLogDriverOptions, stringifyOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The type of compression the GELF driver uses to compress each log message. */ @@ -88,7 +85,7 @@ export class GelfLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { return { logDriver: 'gelf', options: stringifyOptions({ diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/generic-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/generic-log-driver.ts index 8181b7d689d44..bd7cc49b5c704 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/generic-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/generic-log-driver.ts @@ -1,11 +1,8 @@ +import { Construct } from 'constructs'; import { ContainerDefinition, Secret } from '../container-definition'; import { LogDriver, LogDriverConfig } from './log-driver'; import { removeEmpty, renderLogDriverSecretOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The configuration to use when creating a log driver. */ @@ -77,7 +74,7 @@ export class GenericLogDriver extends LogDriver { /** * Called when the log driver is configured on a container. */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { return { logDriver: this.logDriver, options: removeEmpty(this.options), diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/journald-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/journald-log-driver.ts index 2f958dc00dc33..80eb842c06f0a 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/journald-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/journald-log-driver.ts @@ -1,12 +1,9 @@ +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { BaseLogDriverProps } from './base-log-driver'; import { LogDriver, LogDriverConfig } from './log-driver'; import { renderCommonLogDriverOptions, stringifyOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Specifies the journald log driver configuration options. * @@ -30,7 +27,7 @@ export class JournaldLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { return { logDriver: 'journald', options: stringifyOptions({ diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/json-file-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/json-file-log-driver.ts index 75652cfd416ae..d5a5ee2d0651c 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/json-file-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/json-file-log-driver.ts @@ -1,12 +1,9 @@ +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { BaseLogDriverProps } from './base-log-driver'; import { LogDriver, LogDriverConfig } from './log-driver'; import { joinWithCommas, stringifyOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Specifies the json-file log driver configuration options. * @@ -59,7 +56,7 @@ export class JsonFileLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { return { logDriver: 'json-file', options: stringifyOptions({ diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/log-driver.ts index 154a67a057d59..60d056d4a85ef 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/log-driver.ts @@ -1,11 +1,8 @@ +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { CfnTaskDefinition } from '../ecs.generated'; import { AwsLogDriver, AwsLogDriverProps } from './aws-log-driver'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The base class for log drivers. */ @@ -20,7 +17,7 @@ export abstract class LogDriver { /** * Called when the log driver is configured on a container */ - public abstract bind(scope: CoreConstruct, containerDefinition: ContainerDefinition): LogDriverConfig; + public abstract bind(scope: Construct, containerDefinition: ContainerDefinition): LogDriverConfig; } /** diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/splunk-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/splunk-log-driver.ts index fb5b64f375c02..0069db85635df 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/splunk-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/splunk-log-driver.ts @@ -1,13 +1,10 @@ import { SecretValue } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { ContainerDefinition, Secret } from '../container-definition'; import { BaseLogDriverProps } from './base-log-driver'; import { LogDriver, LogDriverConfig } from './log-driver'; import { ensureInRange, renderCommonLogDriverOptions, renderLogDriverSecretOptions, stringifyOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Log Message Format */ @@ -150,7 +147,7 @@ export class SplunkLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { const options = stringifyOptions({ 'splunk-token': this.props.token?.unsafeUnwrap(), // Safe usage 'splunk-url': this.props.url, diff --git a/packages/@aws-cdk/aws-ecs/lib/log-drivers/syslog-log-driver.ts b/packages/@aws-cdk/aws-ecs/lib/log-drivers/syslog-log-driver.ts index 82f006c47bde8..7ae1eb2f90891 100644 --- a/packages/@aws-cdk/aws-ecs/lib/log-drivers/syslog-log-driver.ts +++ b/packages/@aws-cdk/aws-ecs/lib/log-drivers/syslog-log-driver.ts @@ -1,12 +1,9 @@ +import { Construct } from 'constructs'; import { ContainerDefinition } from '../container-definition'; import { BaseLogDriverProps } from './base-log-driver'; import { LogDriver, LogDriverConfig } from './log-driver'; import { renderCommonLogDriverOptions, stringifyOptions } from './utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Specifies the syslog log driver configuration options. * @@ -89,7 +86,7 @@ export class SyslogLogDriver extends LogDriver { /** * Called when the log driver is configured on a container */ - public bind(_scope: CoreConstruct, _containerDefinition: ContainerDefinition): LogDriverConfig { + public bind(_scope: Construct, _containerDefinition: ContainerDefinition): LogDriverConfig { return { logDriver: 'syslog', options: stringifyOptions({ diff --git a/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/app-mesh-proxy-configuration.ts b/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/app-mesh-proxy-configuration.ts index 7b10ce325506a..12d09bc68737d 100644 --- a/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/app-mesh-proxy-configuration.ts +++ b/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/app-mesh-proxy-configuration.ts @@ -1,11 +1,8 @@ +import { Construct } from 'constructs'; import { TaskDefinition } from '../base/task-definition'; import { CfnTaskDefinition } from '../ecs.generated'; import { ProxyConfiguration } from './proxy-configuration'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Interface for setting the properties of proxy configuration. */ @@ -90,7 +87,7 @@ export class AppMeshProxyConfiguration extends ProxyConfiguration { /** * Called when the proxy configuration is configured on a task definition. */ - public bind(_scope: CoreConstruct, _taskDefinition: TaskDefinition): CfnTaskDefinition.ProxyConfigurationProperty { + public bind(_scope: Construct, _taskDefinition: TaskDefinition): CfnTaskDefinition.ProxyConfigurationProperty { const configProps = this.props.properties; const configType = 'APPMESH'; return { diff --git a/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/proxy-configuration.ts b/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/proxy-configuration.ts index ef457a6e18b41..2bb30545785bb 100644 --- a/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/proxy-configuration.ts +++ b/packages/@aws-cdk/aws-ecs/lib/proxy-configuration/proxy-configuration.ts @@ -1,10 +1,7 @@ +import { Construct } from 'constructs'; import { TaskDefinition } from '../base/task-definition'; import { CfnTaskDefinition } from '../ecs.generated'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * The base class for proxy configurations. */ @@ -12,5 +9,5 @@ export abstract class ProxyConfiguration { /** * Called when the proxy configuration is configured on a task definition. */ - public abstract bind(_scope: CoreConstruct, _taskDefinition: TaskDefinition): CfnTaskDefinition.ProxyConfigurationProperty; + public abstract bind(_scope: Construct, _taskDefinition: TaskDefinition): CfnTaskDefinition.ProxyConfigurationProperty; } \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/package.json b/packages/@aws-cdk/aws-ecs/package.json index 65c0220c5e53e..66ef6d554ab5b 100644 --- a/packages/@aws-cdk/aws-ecs/package.json +++ b/packages/@aws-cdk/aws-ecs/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ecs", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ECS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ecs", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -118,7 +119,7 @@ "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -147,10 +148,10 @@ "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -285,6 +286,6 @@ }, "maturity": "stable", "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-ecs/test/cluster.test.ts b/packages/@aws-cdk/aws-ecs/test/cluster.test.ts index 45f9601728ef7..11394fb74622a 100644 --- a/packages/@aws-cdk/aws-ecs/test/cluster.test.ts +++ b/packages/@aws-cdk/aws-ecs/test/cluster.test.ts @@ -7,6 +7,7 @@ import * as s3 from '@aws-cdk/aws-s3'; import * as cloudmap from '@aws-cdk/aws-servicediscovery'; import { testDeprecated } from '@aws-cdk/cdk-build-tools'; import * as cdk from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as ecs from '../lib'; describe('cluster', () => { @@ -175,8 +176,6 @@ describe('cluster', () => { Version: '2012-10-17', }, }); - - }); testDeprecated('with only vpc set, it correctly sets default properties', () => { @@ -810,7 +809,7 @@ describe('cluster', () => { */ testDeprecated('allows specifying special HW AMI Type', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'test'); const vpc = new ec2.Vpc(stack, 'MyVpc', {}); @@ -864,7 +863,7 @@ describe('cluster', () => { testDeprecated('allows specifying windows image', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'test'); const vpc = new ec2.Vpc(stack, 'MyVpc', {}); @@ -1014,7 +1013,7 @@ describe('cluster', () => { testDeprecated('allows specifying special HW AMI Type v2', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'test'); const vpc = new ec2.Vpc(stack, 'MyVpc', {}); @@ -1045,7 +1044,7 @@ describe('cluster', () => { testDeprecated('allows specifying Amazon Linux v1 AMI', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'test'); const vpc = new ec2.Vpc(stack, 'MyVpc', {}); @@ -1076,7 +1075,7 @@ describe('cluster', () => { testDeprecated('allows specifying windows image v2', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'test'); const vpc = new ec2.Vpc(stack, 'MyVpc', {}); @@ -1669,7 +1668,6 @@ describe('cluster', () => { }, ], }); - }); testDeprecated('correct bottlerocket AMI for ARM64 architecture', () => { @@ -1690,15 +1688,10 @@ describe('cluster', () => { }, }); - const assembly = app.synth(); - const template = assembly.getStackByName(stack.stackName).template; - expect(template.Parameters).toEqual({ - SsmParameterValueawsservicebottlerocketawsecs1arm64latestimageidC96584B6F00A464EAD1953AFF4B05118Parameter: { - Type: 'AWS::SSM::Parameter::Value', - Default: '/aws/service/bottlerocket/aws-ecs-1/arm64/latest/image_id', - }, + Template.fromStack(stack).hasParameter('SsmParameterValueawsservicebottlerocketawsecs1arm64latestimageidC96584B6F00A464EAD1953AFF4B05118Parameter', { + Type: 'AWS::SSM::Parameter::Value', + Default: '/aws/service/bottlerocket/aws-ecs-1/arm64/latest/image_id', }); - }); testDeprecated('throws when machineImage and machineImageType both specified', () => { diff --git a/packages/@aws-cdk/aws-ecs/test/container-definition.test.ts b/packages/@aws-cdk/aws-ecs/test/container-definition.test.ts index 0c428cb23ab84..1765d9a403466 100644 --- a/packages/@aws-cdk/aws-ecs/test/container-definition.test.ts +++ b/packages/@aws-cdk/aws-ecs/test/container-definition.test.ts @@ -4,7 +4,7 @@ import * as ecr_assets from '@aws-cdk/aws-ecr-assets'; import * as s3 from '@aws-cdk/aws-s3'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import * as ssm from '@aws-cdk/aws-ssm'; -import { testFutureBehavior } from '@aws-cdk/cdk-build-tools/lib/feature-flag'; +import { testLegacyBehavior } from '@aws-cdk/cdk-build-tools/lib/feature-flag'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import * as ecs from '../lib'; @@ -39,7 +39,8 @@ describe('container definition', () => { test('add a container using all props', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef'); const secret = new secretsmanager.Secret(stack, 'Secret'); new ecs.ContainerDefinition(stack, 'Container', { @@ -824,7 +825,8 @@ describe('container definition', () => { describe('with EC2 task definitions', () => { test('can add asset environment file to the container definition', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef'); // WHEN @@ -935,7 +937,8 @@ describe('container definition', () => { describe('with Fargate task definitions', () => { test('can add asset environment file to the container definition', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef'); // WHEN @@ -1971,7 +1974,17 @@ describe('container definition', () => { }); }); - testFutureBehavior('can use a DockerImageAsset directly for a container image', { [cxapi.DOCKER_IGNORE_SUPPORT]: true }, cdk.App, (app) => { + class MyApp extends cdk.App { + constructor() { + super({ + context: { + [cxapi.DOCKER_IGNORE_SUPPORT]: true, + }, + }); + } + } + + testLegacyBehavior('can use a DockerImageAsset directly for a container image', MyApp, (app) => { // GIVEN const stack = new cdk.Stack(app, 'Stack'); const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef'); @@ -2037,7 +2050,7 @@ describe('container definition', () => { }); - testFutureBehavior('docker image asset options can be used when using container image', { '@aws-cdk/aws-ecr-assets:dockerIgnoreSupport': true }, cdk.App, (app) => { + testLegacyBehavior('docker image asset options can be used when using container image', MyApp, (app) => { // GIVEN const stack = new cdk.Stack(app, 'MyStack'); const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'TaskDef'); @@ -2066,7 +2079,7 @@ describe('container definition', () => { }); - testFutureBehavior('exposes image name', { '@aws-cdk/core:newStyleStackSynthesis': true }, cdk.App, (app) => { + testLegacyBehavior('exposes image name', cdk.App, (app) => { // GIVEN const stack = new cdk.Stack(app, 'MyStack'); const taskDefinition = new ecs.FargateTaskDefinition(stack, 'TaskDef'); diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/app-mesh-proxy-config.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/app-mesh-proxy-config.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..5789ea5687210 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/app-mesh-proxy-config.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7394cc2d5795ed107942fc97dc607f855891f6d0faad71ce9ce117f212950396": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7394cc2d5795ed107942fc97dc607f855891f6d0faad71ce9ce117f212950396.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/app-mesh-proxy-config.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/app-mesh-proxy-config.integ.snapshot/tree.json index fed041713d7cb..68a51512e0263 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/app-mesh-proxy-config.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/app-mesh-proxy-config.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/bottlerocket.integ.snapshot/aws-ecs-integ-bottlerocket.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/bottlerocket.integ.snapshot/aws-ecs-integ-bottlerocket.assets.json new file mode 100644 index 0000000000000..ff7d87f507356 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/bottlerocket.integ.snapshot/aws-ecs-integ-bottlerocket.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "53566d1f850005909cb07f2c57a7751eaf5cb7b92c2b3319ff2b94c2347ad8c1": { + "source": { + "path": "aws-ecs-integ-bottlerocket.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "53566d1f850005909cb07f2c57a7751eaf5cb7b92c2b3319ff2b94c2347ad8c1.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/bottlerocket.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/bottlerocket.integ.snapshot/tree.json index 2704bf1fa8222..fd752117fa0a6 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/bottlerocket.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/bottlerocket.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-bottlerocket": { @@ -1188,8 +1188,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/capacity-provider.integ.snapshot/integ-ec2-capacity-provider.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/capacity-provider.integ.snapshot/integ-ec2-capacity-provider.assets.json new file mode 100644 index 0000000000000..00a24a8b7b09c --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/capacity-provider.integ.snapshot/integ-ec2-capacity-provider.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "90ed284ac69a21c2eb59258e3f72bae1ab1fb69d2a3d14ef67d0ff1434720dc7": { + "source": { + "path": "integ-ec2-capacity-provider.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "90ed284ac69a21c2eb59258e3f72bae1ab1fb69d2a3d14ef67d0ff1434720dc7.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/capacity-provider.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/capacity-provider.integ.snapshot/tree.json index a85a8f875947f..57eed88f9483f 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/capacity-provider.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/capacity-provider.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-ec2-capacity-provider": { @@ -1325,8 +1325,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/clb-host-nw.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/clb-host-nw.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..b345bd7a2907a --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/clb-host-nw.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "83bb192a1fe6f490af006a6b1325632945dd1f84ed5cbdbec44b888a13f9410c": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "83bb192a1fe6f490af006a6b1325632945dd1f84ed5cbdbec44b888a13f9410c.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/clb-host-nw.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/clb-host-nw.integ.snapshot/tree.json index 252e864cd4e81..eb84a23ef9891 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/clb-host-nw.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/clb-host-nw.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -1239,8 +1239,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/cloudmap-container-port.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/cloudmap-container-port.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..4319a6d79680c --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/cloudmap-container-port.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "a6c4c4f650fc7da017da1a0858eecee50fe9cc015b42bb33acbec0546ce18d58": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a6c4c4f650fc7da017da1a0858eecee50fe9cc015b42bb33acbec0546ce18d58.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/cloudmap-container-port.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/cloudmap-container-port.integ.snapshot/tree.json index 43696eb0189b9..7bc6cd6a1cb46 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/cloudmap-container-port.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/cloudmap-container-port.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -886,8 +886,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/ec2-service.test.ts b/packages/@aws-cdk/aws-ecs/test/ec2/ec2-service.test.ts index c5171b8c94913..aaea8043709b5 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/ec2-service.test.ts +++ b/packages/@aws-cdk/aws-ecs/test/ec2/ec2-service.test.ts @@ -460,45 +460,6 @@ describe('ec2 service', () => { Template.fromStack(stack).hasResourceProperties('AWS::KMS::Key', { KeyPolicy: { Statement: [ - { - Action: [ - 'kms:Create*', - 'kms:Describe*', - 'kms:Enable*', - 'kms:List*', - 'kms:Put*', - 'kms:Update*', - 'kms:Revoke*', - 'kms:Disable*', - 'kms:Get*', - 'kms:Delete*', - 'kms:ScheduleKeyDeletion', - 'kms:CancelKeyDeletion', - 'kms:GenerateDataKey', - 'kms:TagResource', - 'kms:UntagResource', - ], - Effect: 'Allow', - Principal: { - AWS: { - 'Fn::Join': [ - '', - [ - 'arn:', - { - Ref: 'AWS::Partition', - }, - ':iam::', - { - Ref: 'AWS::AccountId', - }, - ':root', - ], - ], - }, - }, - Resource: '*', - }, { Action: 'kms:*', Effect: 'Allow', @@ -697,45 +658,6 @@ describe('ec2 service', () => { Template.fromStack(stack).hasResourceProperties('AWS::KMS::Key', { KeyPolicy: { Statement: [ - { - Action: [ - 'kms:Create*', - 'kms:Describe*', - 'kms:Enable*', - 'kms:List*', - 'kms:Put*', - 'kms:Update*', - 'kms:Revoke*', - 'kms:Disable*', - 'kms:Get*', - 'kms:Delete*', - 'kms:ScheduleKeyDeletion', - 'kms:CancelKeyDeletion', - 'kms:GenerateDataKey', - 'kms:TagResource', - 'kms:UntagResource', - ], - Effect: 'Allow', - Principal: { - AWS: { - 'Fn::Join': [ - '', - [ - 'arn:', - { - Ref: 'AWS::Partition', - }, - ':iam::', - { - Ref: 'AWS::AccountId', - }, - ':root', - ], - ], - }, - }, - Resource: '*', - }, { Action: 'kms:*', Effect: 'Allow', diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/ec2-task-definition.test.ts b/packages/@aws-cdk/aws-ecs/test/ec2/ec2-task-definition.test.ts index 0c167ed4df35b..295bb44679db2 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/ec2-task-definition.test.ts +++ b/packages/@aws-cdk/aws-ecs/test/ec2/ec2-task-definition.test.ts @@ -5,7 +5,7 @@ import { Repository } from '@aws-cdk/aws-ecr'; import * as iam from '@aws-cdk/aws-iam'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import * as ssm from '@aws-cdk/aws-ssm'; -import { testFutureBehavior } from '@aws-cdk/cdk-build-tools/lib/feature-flag'; +import { testLegacyBehavior } from '@aws-cdk/cdk-build-tools/lib/feature-flag'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import * as ecs from '../../lib'; @@ -227,7 +227,8 @@ describe('ec2 task definition', () => { test('all container definition options defined', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const taskDefinition = new ecs.Ec2TaskDefinition(stack, 'Ec2TaskDef'); const secret = new secretsmanager.Secret(stack, 'Secret'); @@ -708,7 +709,17 @@ describe('ec2 task definition', () => { Annotations.fromStack(stack).hasWarning('/Default/Ec2TaskDef/web', "Proper policies need to be attached before pulling from ECR repository, or use 'fromEcrRepository'."); }); - testFutureBehavior('correctly sets containers from asset using default props', { [cxapi.DOCKER_IGNORE_SUPPORT]: true }, cdk.App, (app) => { + class MyApp extends cdk.App { + constructor() { + super({ + context: { + [cxapi.DOCKER_IGNORE_SUPPORT]: true, + }, + }); + } + } + + testLegacyBehavior('correctly sets containers from asset using default props', MyApp, (app) => { // GIVEN const stack = new cdk.Stack(app, 'Stack'); diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/environment-file.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/environment-file.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..94c8de453b3b8 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/environment-file.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,84 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { + "source": { + "path": "asset.f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "972240f9dd6e036a93d5f081af9a24315b2053828ac049b3b19b2fa12d7ae64a": { + "source": { + "path": "asset.972240f9dd6e036a93d5f081af9a24315b2053828ac049b3b19b2fa12d7ae64a", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "972240f9dd6e036a93d5f081af9a24315b2053828ac049b3b19b2fa12d7ae64a.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724d": { + "source": { + "path": "asset.872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724d.env", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724d.env", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "9f4f5517a472e263ebefe980b14927752a617d1f89b759330046e586893fee58": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9f4f5517a472e263ebefe980b14927752a617d1f89b759330046e586893fee58.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/environment-file.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/environment-file.integ.snapshot/tree.json index e24de42780d34..89657045575f0 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/environment-file.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/environment-file.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -210,8 +210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { @@ -244,8 +244,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { @@ -278,8 +278,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "972240f9dd6e036a93d5f081af9a24315b2053828ac049b3b19b2fa12d7ae64a": { @@ -312,8 +312,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724d": { @@ -346,14 +346,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Vpc": { @@ -1550,8 +1550,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/exec-command.integ.snapshot/aws-ecs-integ-exec-command.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/exec-command.integ.snapshot/aws-ecs-integ-exec-command.assets.json new file mode 100644 index 0000000000000..30ddde02c66f8 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/exec-command.integ.snapshot/aws-ecs-integ-exec-command.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "777bde7edf0b72b31bd3dfe7978b49e6226738f4d5bb7ce52dc86eb07f5ab11b": { + "source": { + "path": "aws-ecs-integ-exec-command.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "777bde7edf0b72b31bd3dfe7978b49e6226738f4d5bb7ce52dc86eb07f5ab11b.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/exec-command.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/exec-command.integ.snapshot/tree.json index ea0af97115dbf..515645c3ab179 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/exec-command.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/exec-command.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-exec-command": { @@ -1401,8 +1401,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/firelens-s3-config.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/firelens-s3-config.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..acd89a55a0bb4 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/firelens-s3-config.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "2ca891b3a73a4a36630bba20580e3390a104d2ac9ff1f22a6bcadf575f8a5a61": { + "source": { + "path": "asset.2ca891b3a73a4a36630bba20580e3390a104d2ac9ff1f22a6bcadf575f8a5a61.conf", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2ca891b3a73a4a36630bba20580e3390a104d2ac9ff1f22a6bcadf575f8a5a61.conf", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "3c4700849a24aae47192423919135347dc96616a3269cd5b6420c78f704908ac": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3c4700849a24aae47192423919135347dc96616a3269cd5b6420c78f704908ac.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/firelens-s3-config.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/firelens-s3-config.integ.snapshot/tree.json index 64116c99ac3b1..d27df6532c282 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/firelens-s3-config.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/firelens-s3-config.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { @@ -1818,14 +1818,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SsmParameterValue:--aws--service--aws-for-fluent-bit--2.1.0:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/graviton-bottlerocket.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/graviton-bottlerocket.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..28338c44bbb31 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/graviton-bottlerocket.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "2ecc17004e9391b2ef3321bf479bdd48424cdde971a6e82d0debc3e4a2f51291": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2ecc17004e9391b2ef3321bf479bdd48424cdde971a6e82d0debc3e4a2f51291.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/graviton-bottlerocket.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/graviton-bottlerocket.integ.snapshot/tree.json index de435e075f30e..caaad49844c34 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/graviton-bottlerocket.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/graviton-bottlerocket.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -1236,8 +1236,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/graviton.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/graviton.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..f85d28f195504 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/graviton.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "8d9a913948699c0797f7a7c8864ed87c4d276a4bdc2d894b2e144dc7a2730e7f": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8d9a913948699c0797f7a7c8864ed87c4d276a4bdc2d894b2e144dc7a2730e7f.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/graviton.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/graviton.integ.snapshot/tree.json index 919eb5aa208cf..1ba65178b96bc 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/graviton.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/graviton.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/lb-awsvpc-nw.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/lb-awsvpc-nw.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..e506d8adf6d52 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/lb-awsvpc-nw.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "324a22da223d687db17405376ed72b0320275e13eb5d69db964ff86289479754": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "324a22da223d687db17405376ed72b0320275e13eb5d69db964ff86289479754.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/lb-awsvpc-nw.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/lb-awsvpc-nw.integ.snapshot/tree.json index 1fdcbd4f9bfd7..d458d783ab040 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/lb-awsvpc-nw.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/lb-awsvpc-nw.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/lb-bridge-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/lb-bridge-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json new file mode 100644 index 0000000000000..66527a2375135 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/lb-bridge-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "88288789b4eaa54ca379bd257e8d7b83fdf3e9e984373f94b4edf5f0f8150226": { + "source": { + "path": "aws-ecs-integ-ecs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "88288789b4eaa54ca379bd257e8d7b83fdf3e9e984373f94b4edf5f0f8150226.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/lb-bridge-nw.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/lb-bridge-nw.integ.snapshot/tree.json index 44fb74d4501e9..a01aad679ba36 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/lb-bridge-nw.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/lb-bridge-nw.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-ecs": { @@ -1239,8 +1239,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/sd-awsvpc-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/sd-awsvpc-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json new file mode 100644 index 0000000000000..b25962f31390a --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/sd-awsvpc-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b41479382315bf2719d6399d980a7514e37ea1654e2d11dc71302e9406d3e7a6": { + "source": { + "path": "aws-ecs-integ-ecs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b41479382315bf2719d6399d980a7514e37ea1654e2d11dc71302e9406d3e7a6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/sd-awsvpc-nw.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/sd-awsvpc-nw.integ.snapshot/tree.json index b6b65e3b4839f..533a1448d2567 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/sd-awsvpc-nw.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/sd-awsvpc-nw.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-ecs": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/sd-bridge-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/sd-bridge-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json new file mode 100644 index 0000000000000..56adfc3343591 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/sd-bridge-nw.integ.snapshot/aws-ecs-integ-ecs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "8da36a4fc2258a02d47490ee2e834672042e61161b3267dbe84ae96120e613c6": { + "source": { + "path": "aws-ecs-integ-ecs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8da36a4fc2258a02d47490ee2e834672042e61161b3267dbe84ae96120e613c6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/sd-bridge-nw.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/sd-bridge-nw.integ.snapshot/tree.json index 698f1dcb98b43..8c0b774694d14 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/sd-bridge-nw.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/sd-bridge-nw.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-ecs": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/secret-json-field.integ.snapshot/aws-ecs-integ-secret-json-field.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/secret-json-field.integ.snapshot/aws-ecs-integ-secret-json-field.assets.json new file mode 100644 index 0000000000000..448e0686a14a6 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/secret-json-field.integ.snapshot/aws-ecs-integ-secret-json-field.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "bf3514cd072d35a45d9237b15a3e56baa9018dcf4776fd40b4b41e82a2e959bc": { + "source": { + "path": "aws-ecs-integ-secret-json-field.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "bf3514cd072d35a45d9237b15a3e56baa9018dcf4776fd40b4b41e82a2e959bc.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/secret-json-field.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/secret-json-field.integ.snapshot/tree.json index a636eee0151f8..08071b312b697 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/secret-json-field.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/secret-json-field.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-secret-json-field": { diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/spot-drain.integ.snapshot/aws-ecs-integ-spot.assets.json b/packages/@aws-cdk/aws-ecs/test/ec2/spot-drain.integ.snapshot/aws-ecs-integ-spot.assets.json new file mode 100644 index 0000000000000..2e9210a9ec9bc --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/ec2/spot-drain.integ.snapshot/aws-ecs-integ-spot.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "510ea00ffe058b6a6c75c91b1432aa5d3c873fb590f1fee6c666b4b5555d0171": { + "source": { + "path": "aws-ecs-integ-spot.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "510ea00ffe058b6a6c75c91b1432aa5d3c873fb590f1fee6c666b4b5555d0171.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/ec2/spot-drain.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/ec2/spot-drain.integ.snapshot/tree.json index 664299507678d..727cbd2594441 100644 --- a/packages/@aws-cdk/aws-ecs/test/ec2/spot-drain.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/ec2/spot-drain.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-spot": { @@ -1212,8 +1212,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { @@ -1907,8 +1907,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-ecs/test/environment-file.test.ts b/packages/@aws-cdk/aws-ecs/test/environment-file.test.ts index abc64332a326b..263df20a2810a 100644 --- a/packages/@aws-cdk/aws-ecs/test/environment-file.test.ts +++ b/packages/@aws-cdk/aws-ecs/test/environment-file.test.ts @@ -1,5 +1,6 @@ import * as path from 'path'; import * as cdk from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as ecs from '../lib'; /* eslint-disable dot-notation */ @@ -18,7 +19,7 @@ describe('environment file', () => { test('only one environment file asset object is created even if multiple container definitions use the same file', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app); const fileAsset = ecs.EnvironmentFile.fromAsset(path.join(__dirname, 'demo-envfiles/test-envfile.env')); diff --git a/packages/@aws-cdk/aws-ecs/test/external/external-task-definition.test.ts b/packages/@aws-cdk/aws-ecs/test/external/external-task-definition.test.ts index b374502448fc5..e38ccb57daddd 100644 --- a/packages/@aws-cdk/aws-ecs/test/external/external-task-definition.test.ts +++ b/packages/@aws-cdk/aws-ecs/test/external/external-task-definition.test.ts @@ -218,35 +218,9 @@ describe('external task definition', () => { }, ':s3:::', { - Ref: 'AssetParameters872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724dS3Bucket7B2069B7', - }, - '/', - { - 'Fn::Select': [ - 0, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParameters872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724dS3VersionKey40E12C15', - }, - ], - }, - ], - }, - { - 'Fn::Select': [ - 1, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParameters872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724dS3VersionKey40E12C15', - }, - ], - }, - ], + 'Fn::Sub': 'cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}', }, + '/872561bf078edd1685d50c9ff821cdd60d2b2ddfb0013c4087e79bf2bb50724d.env', ], ], }, diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/exec-command.integ.snapshot/aws-ecs-integ-exec-command.assets.json b/packages/@aws-cdk/aws-ecs/test/fargate/exec-command.integ.snapshot/aws-ecs-integ-exec-command.assets.json new file mode 100644 index 0000000000000..365b99c1e4341 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/fargate/exec-command.integ.snapshot/aws-ecs-integ-exec-command.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "661fe53166bca7c77fb592aac6f892ed1cd747126b4f78d6a8097ca40c3111cc": { + "source": { + "path": "aws-ecs-integ-exec-command.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "661fe53166bca7c77fb592aac6f892ed1cd747126b4f78d6a8097ca40c3111cc.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/exec-command.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/fargate/exec-command.integ.snapshot/tree.json index cc6fc6cbccc13..6d1d13530f303 100644 --- a/packages/@aws-cdk/aws-ecs/test/fargate/exec-command.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/fargate/exec-command.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-exec-command": { diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-service.test.ts b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-service.test.ts index b12a7e1748d52..c3f36b13f22cb 100644 --- a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-service.test.ts +++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-service.test.ts @@ -2595,45 +2595,6 @@ describe('fargate service', () => { Template.fromStack(stack).hasResourceProperties('AWS::KMS::Key', { KeyPolicy: { Statement: [ - { - Action: [ - 'kms:Create*', - 'kms:Describe*', - 'kms:Enable*', - 'kms:List*', - 'kms:Put*', - 'kms:Update*', - 'kms:Revoke*', - 'kms:Disable*', - 'kms:Get*', - 'kms:Delete*', - 'kms:ScheduleKeyDeletion', - 'kms:CancelKeyDeletion', - 'kms:GenerateDataKey', - 'kms:TagResource', - 'kms:UntagResource', - ], - Effect: 'Allow', - Principal: { - AWS: { - 'Fn::Join': [ - '', - [ - 'arn:', - { - Ref: 'AWS::Partition', - }, - ':iam::', - { - Ref: 'AWS::AccountId', - }, - ':root', - ], - ], - }, - }, - Resource: '*', - }, { Action: 'kms:*', Effect: 'Allow', @@ -2830,45 +2791,6 @@ describe('fargate service', () => { Template.fromStack(stack).hasResourceProperties('AWS::KMS::Key', { KeyPolicy: { Statement: [ - { - Action: [ - 'kms:Create*', - 'kms:Describe*', - 'kms:Enable*', - 'kms:List*', - 'kms:Put*', - 'kms:Update*', - 'kms:Revoke*', - 'kms:Disable*', - 'kms:Get*', - 'kms:Delete*', - 'kms:ScheduleKeyDeletion', - 'kms:CancelKeyDeletion', - 'kms:GenerateDataKey', - 'kms:TagResource', - 'kms:UntagResource', - ], - Effect: 'Allow', - Principal: { - AWS: { - 'Fn::Join': [ - '', - [ - 'arn:', - { - Ref: 'AWS::Partition', - }, - ':iam::', - { - Ref: 'AWS::AccountId', - }, - ':root', - ], - ], - }, - }, - Resource: '*', - }, { Action: 'kms:*', Effect: 'Allow', diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/aws-ecs-fargate-efs.assets.json b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/aws-ecs-fargate-efs.assets.json new file mode 100644 index 0000000000000..4ef2821b37183 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/aws-ecs-fargate-efs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "34ae40ea36a5aad5647a1271ed6b584b52d71b09b26a75ec06fa820fb049cac0": { + "source": { + "path": "aws-ecs-fargate-efs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "34ae40ea36a5aad5647a1271ed6b584b52d71b09b26a75ec06fa820fb049cac0.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json index 416780e53e586..9da04b1e318ca 100644 --- a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json @@ -156,7 +156,10 @@ "/aws-ecs-fargate-efs/etcdata/Resource": [ { "type": "aws:cdk:logicalId", - "data": "etcdata80702D7D" + "data": "etcdata80702D7D", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-fargate-efs/etcdata/EfsSecurityGroup/Resource": [ @@ -168,13 +171,19 @@ "/aws-ecs-fargate-efs/etcdata/EfsMountTarget1": [ { "type": "aws:cdk:logicalId", - "data": "etcdataEfsMountTarget1A2665990" + "data": "etcdataEfsMountTarget1A2665990", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-fargate-efs/etcdata/EfsMountTarget2": [ { "type": "aws:cdk:logicalId", - "data": "etcdataEfsMountTarget280CEA26C" + "data": "etcdataEfsMountTarget280CEA26C", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-fargate-efs/TaskDef/TaskRole/Resource": [ @@ -186,7 +195,10 @@ "/aws-ecs-fargate-efs/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TaskDef54694570" + "data": "TaskDef54694570", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ] }, diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json index 943e36094a2af..f1580d4b3b990 100644 --- a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-fargate-efs": { diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/firelens-cloudwatch.integ.snapshot/aws-ecs-integ.assets.json b/packages/@aws-cdk/aws-ecs/test/fargate/firelens-cloudwatch.integ.snapshot/aws-ecs-integ.assets.json new file mode 100644 index 0000000000000..9df30214dffe9 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/fargate/firelens-cloudwatch.integ.snapshot/aws-ecs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9eb30225fc6f198fb101d889227d73609b299f103ea109e899bcadb7108e30e8": { + "source": { + "path": "aws-ecs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9eb30225fc6f198fb101d889227d73609b299f103ea109e899bcadb7108e30e8.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/firelens-cloudwatch.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/fargate/firelens-cloudwatch.integ.snapshot/tree.json index 702122211bcff..f86923515a703 100644 --- a/packages/@aws-cdk/aws-ecs/test/fargate/firelens-cloudwatch.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/fargate/firelens-cloudwatch.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ": { diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/secret.integ.snapshot/aws-ecs-integ-secret.assets.json b/packages/@aws-cdk/aws-ecs/test/fargate/secret.integ.snapshot/aws-ecs-integ-secret.assets.json new file mode 100644 index 0000000000000..008a007951ee4 --- /dev/null +++ b/packages/@aws-cdk/aws-ecs/test/fargate/secret.integ.snapshot/aws-ecs-integ-secret.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "5bdb4dc81c72bb0be5cbc7a43abba1faa50c2ebb5cce4e76543344ac55942d3a": { + "source": { + "path": "aws-ecs-integ-secret.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5bdb4dc81c72bb0be5cbc7a43abba1faa50c2ebb5cce4e76543344ac55942d3a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/secret.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/fargate/secret.integ.snapshot/tree.json index 3c335d287bd98..27afbaf7aa466 100644 --- a/packages/@aws-cdk/aws-ecs/test/fargate/secret.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ecs/test/fargate/secret.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-secret": { diff --git a/packages/@aws-cdk/aws-efs/lib/efs-file-system.ts b/packages/@aws-cdk/aws-efs/lib/efs-file-system.ts index 59344e3b81692..b6f512ed071e6 100644 --- a/packages/@aws-cdk/aws-efs/lib/efs-file-system.ts +++ b/packages/@aws-cdk/aws-efs/lib/efs-file-system.ts @@ -1,12 +1,9 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; import * as kms from '@aws-cdk/aws-kms'; -import { ArnFormat, ConcreteDependable, IDependable, IResource, RemovalPolicy, Resource, Size, Stack, Tags } from '@aws-cdk/core'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports -import { FeatureFlags } from '@aws-cdk/core'; +import { ArnFormat, FeatureFlags, IResource, RemovalPolicy, Resource, Size, Stack, Tags } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; -import { Construct } from 'constructs'; +import { Construct, DependencyGroup, IDependable } from 'constructs'; import { AccessPoint, AccessPointOptions } from './access-point'; import { CfnFileSystem, CfnMountTarget } from './efs.generated'; @@ -324,7 +321,7 @@ export class FileSystem extends FileSystemBase { public readonly mountTargetsAvailable: IDependable; - private readonly _mountTargetsAvailable = new ConcreteDependable(); + private readonly _mountTargetsAvailable = new DependencyGroup(); /** * Constructor for creating a new EFS FileSystem. @@ -453,6 +450,6 @@ class ImportedFileSystem extends FileSystemBase { defaultPort: ec2.Port.tcp(FileSystem.DEFAULT_PORT), }); - this.mountTargetsAvailable = new ConcreteDependable(); + this.mountTargetsAvailable = new DependencyGroup(); } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-efs/package.json b/packages/@aws-cdk/aws-efs/package.json index 1caa31b38a0c9..badbda2580673 100644 --- a/packages/@aws-cdk/aws-efs/package.json +++ b/packages/@aws-cdk/aws-efs/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-efs", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::EFS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_efs", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -93,7 +94,7 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -103,10 +104,10 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -120,6 +121,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/manifest.json index 820975b4fc9e7..6f42ef8036c13 100644 --- a/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/manifest.json @@ -144,7 +144,10 @@ "/test-efs-integ/FileSystem/Resource": [ { "type": "aws:cdk:logicalId", - "data": "FileSystem8A8E25C0" + "data": "FileSystem8A8E25C0", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/test-efs-integ/FileSystem/EfsSecurityGroup/Resource": [ @@ -156,19 +159,28 @@ "/test-efs-integ/FileSystem/EfsMountTarget1": [ { "type": "aws:cdk:logicalId", - "data": "FileSystemEfsMountTarget1586453F0" + "data": "FileSystemEfsMountTarget1586453F0", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/test-efs-integ/FileSystem/EfsMountTarget2": [ { "type": "aws:cdk:logicalId", - "data": "FileSystemEfsMountTarget24B8EBB43" + "data": "FileSystemEfsMountTarget24B8EBB43", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/test-efs-integ/FileSystem/AccessPoint/Resource": [ { "type": "aws:cdk:logicalId", - "data": "FileSystemAccessPointF8178182" + "data": "FileSystemAccessPointF8178182", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ] }, diff --git a/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/test-efs-integ.assets.json b/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/test-efs-integ.assets.json new file mode 100644 index 0000000000000..31d7c9dd839f8 --- /dev/null +++ b/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/test-efs-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "ef70a6885c0832c61954b48d44c2bea83fa6af1383f738503f581dd5707c28b9": { + "source": { + "path": "test-efs-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ef70a6885c0832c61954b48d44c2bea83fa6af1383f738503f581dd5707c28b9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/tree.json index 6ec3f1938cc51..af6b343503515 100644 --- a/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-efs/test/efs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-efs-integ": { diff --git a/packages/@aws-cdk/aws-eks-legacy/lib/aws-auth.ts b/packages/@aws-cdk/aws-eks-legacy/lib/aws-auth.ts index 933ccbb144ea1..75baad391f4e2 100644 --- a/packages/@aws-cdk/aws-eks-legacy/lib/aws-auth.ts +++ b/packages/@aws-cdk/aws-eks-legacy/lib/aws-auth.ts @@ -6,7 +6,7 @@ import { KubernetesResource } from './k8s-resource'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface AwsAuthProps { /** diff --git a/packages/@aws-cdk/aws-eks-legacy/lib/cluster-resource.ts b/packages/@aws-cdk/aws-eks-legacy/lib/cluster-resource.ts index 2de302f8c6331..279fa6cdf8c04 100644 --- a/packages/@aws-cdk/aws-eks-legacy/lib/cluster-resource.ts +++ b/packages/@aws-cdk/aws-eks-legacy/lib/cluster-resource.ts @@ -7,7 +7,7 @@ import { KubectlLayer } from './kubectl-layer'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * A low-level CFN resource Amazon EKS cluster implemented through a custom diff --git a/packages/@aws-cdk/aws-eks-legacy/lib/cluster.ts b/packages/@aws-cdk/aws-eks-legacy/lib/cluster.ts index 4c92fed073c7c..dbd73324f22c4 100644 --- a/packages/@aws-cdk/aws-eks-legacy/lib/cluster.ts +++ b/packages/@aws-cdk/aws-eks-legacy/lib/cluster.ts @@ -16,7 +16,7 @@ import { renderUserData } from './user-data'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; // defaults are based on https://eksctl.io const DEFAULT_CAPACITY_COUNT = 2; diff --git a/packages/@aws-cdk/aws-eks-legacy/lib/helm-chart.ts b/packages/@aws-cdk/aws-eks-legacy/lib/helm-chart.ts index 6accff6c05bd2..0a8afb0e97530 100644 --- a/packages/@aws-cdk/aws-eks-legacy/lib/helm-chart.ts +++ b/packages/@aws-cdk/aws-eks-legacy/lib/helm-chart.ts @@ -6,7 +6,7 @@ import { KubectlLayer } from './kubectl-layer'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Helm Chart options. diff --git a/packages/@aws-cdk/aws-eks-legacy/lib/k8s-resource.ts b/packages/@aws-cdk/aws-eks-legacy/lib/k8s-resource.ts index 1760c2cf5bb92..366a36889de8e 100644 --- a/packages/@aws-cdk/aws-eks-legacy/lib/k8s-resource.ts +++ b/packages/@aws-cdk/aws-eks-legacy/lib/k8s-resource.ts @@ -3,7 +3,7 @@ import { Cluster } from './cluster'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface KubernetesResourceProps { /** diff --git a/packages/@aws-cdk/aws-eks-legacy/lib/kubectl-layer.ts b/packages/@aws-cdk/aws-eks-legacy/lib/kubectl-layer.ts index 7121b34a277d6..a9198fe4aa2d3 100644 --- a/packages/@aws-cdk/aws-eks-legacy/lib/kubectl-layer.ts +++ b/packages/@aws-cdk/aws-eks-legacy/lib/kubectl-layer.ts @@ -4,7 +4,7 @@ import { CfnResource, Resource, Stack, Token } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; const KUBECTL_APP_ARN = 'arn:aws:serverlessrepo:us-east-1:903779448426:applications/lambda-layer-kubectl'; const KUBECTL_APP_VERSION = '1.13.7'; diff --git a/packages/@aws-cdk/aws-eks-legacy/package.json b/packages/@aws-cdk/aws-eks-legacy/package.json index e3f0661f12bff..4c0e48bf7dd7f 100644 --- a/packages/@aws-cdk/aws-eks-legacy/package.json +++ b/packages/@aws-cdk/aws-eks-legacy/package.json @@ -2,6 +2,7 @@ "name": "@aws-cdk/aws-eks-legacy", "version": "0.0.0", "deprecated": "Use the @aws-cdk/aws-eks module instead", + "private": true, "description": "The CDK Construct Library for AWS::EKS (Legacy)", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -25,7 +26,7 @@ "module": "aws_cdk.aws_eks_legacy", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -93,7 +94,7 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -104,10 +105,10 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.defaults.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.defaults.integ.snapshot/tree.json index 570e107ba0ab0..20387ce73bbf2 100644 --- a/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.defaults.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.defaults.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "eks-integ-defaults": { @@ -1335,8 +1335,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubernetesResourceHandler": { @@ -1927,8 +1927,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "640847533c8a00b3133aeb128edcac41fb7b60349c9e18764fcf7ea4af14d444": { @@ -1961,14 +1961,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SsmParameterValue:--aws--service--eks--optimized-ami--1.14--amazon-linux-2--recommended--image_id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { diff --git a/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.kubectl-disabled.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.kubectl-disabled.integ.snapshot/tree.json index 331431e6a6aac..3e7b8604893ff 100644 --- a/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.kubectl-disabled.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.kubectl-disabled.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "eks-integ-kubectl-disabled": { diff --git a/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.lit.integ.snapshot/tree.json index 401fbea704452..0bc0ca249e0d1 100644 --- a/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks-legacy/test/eks-cluster.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "eks-integ-test-basic": { @@ -1335,8 +1335,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubernetesResourceHandler": { @@ -1927,8 +1927,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "640847533c8a00b3133aeb128edcac41fb7b60349c9e18764fcf7ea4af14d444": { @@ -1961,14 +1961,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SsmParameterValue:--aws--service--eks--optimized-ami--1.14--amazon-linux-2--recommended--image_id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { diff --git a/packages/@aws-cdk/aws-eks-legacy/test/eks-helm.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks-legacy/test/eks-helm.lit.integ.snapshot/tree.json index deb84492038c5..e761b9a253caa 100644 --- a/packages/@aws-cdk/aws-eks-legacy/test/eks-helm.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks-legacy/test/eks-helm.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "k8s-vpc": { @@ -725,8 +725,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1099,8 +1099,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubernetesResourceHandler": { @@ -1856,8 +1856,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "640847533c8a00b3133aeb128edcac41fb7b60349c9e18764fcf7ea4af14d444": { @@ -1890,8 +1890,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8e2989bd32b411eba804b201a0f3984c984893c7fe6daa0b572fdd59c63e3653": { @@ -1924,14 +1924,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AdminRole": { diff --git a/packages/@aws-cdk/aws-eks-legacy/test/eks-kubectl.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks-legacy/test/eks-kubectl.lit.integ.snapshot/tree.json index d890572bd5f15..32e45a17a085e 100644 --- a/packages/@aws-cdk/aws-eks-legacy/test/eks-kubectl.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks-legacy/test/eks-kubectl.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "k8s-vpc": { @@ -725,8 +725,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1099,8 +1099,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubernetesResourceHandler": { @@ -1716,8 +1716,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "640847533c8a00b3133aeb128edcac41fb7b60349c9e18764fcf7ea4af14d444": { @@ -1750,14 +1750,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AdminRole": { diff --git a/packages/@aws-cdk/aws-eks-legacy/test/eks-spot.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks-legacy/test/eks-spot.integ.snapshot/tree.json index 295e141008438..b91ee34990413 100644 --- a/packages/@aws-cdk/aws-eks-legacy/test/eks-spot.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks-legacy/test/eks-spot.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-eks-spot": { @@ -1068,8 +1068,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubernetesResourceHandler": { @@ -2046,8 +2046,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "640847533c8a00b3133aeb128edcac41fb7b60349c9e18764fcf7ea4af14d444": { @@ -2080,14 +2080,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SsmParameterValue:--aws--service--eks--optimized-ami--1.14--amazon-linux-2--recommended--image_id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { diff --git a/packages/@aws-cdk/aws-eks/lib/alb-controller.ts b/packages/@aws-cdk/aws-eks/lib/alb-controller.ts index d2df1dc1bf688..5c0aa4b46779d 100644 --- a/packages/@aws-cdk/aws-eks/lib/alb-controller.ts +++ b/packages/@aws-cdk/aws-eks/lib/alb-controller.ts @@ -1,14 +1,14 @@ import * as fs from 'fs'; import * as path from 'path'; import * as iam from '@aws-cdk/aws-iam'; -import { Construct } from 'constructs'; +import { Construct, Node } from 'constructs'; import { Cluster } from './cluster'; import { HelmChart } from './helm-chart'; import { ServiceAccount } from './service-account'; // v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. // eslint-disable-next-line -import { Construct as CoreConstruct, Duration, Names, Stack } from '@aws-cdk/core'; +import { Duration, Names, Stack } from '@aws-cdk/core'; /** * Controller version. @@ -185,7 +185,7 @@ export interface AlbControllerProps extends AlbControllerOptions { * @see https://kubernetes-sigs.github.io/aws-load-balancer-controller * */ -export class AlbController extends CoreConstruct { +export class AlbController extends Construct { /** * Create the controller construct associated with this cluster and scope. @@ -251,8 +251,8 @@ export class AlbController extends CoreConstruct { }); // the controller relies on permissions deployed using these resources. - chart.node.addDependency(serviceAccount); - chart.node.addDependency(props.cluster.openIdConnectProvider); - chart.node.addDependency(props.cluster.awsAuth); + Node.of(chart).addDependency(serviceAccount); + Node.of(chart).addDependency(props.cluster.openIdConnectProvider); + Node.of(chart).addDependency(props.cluster.awsAuth); } } diff --git a/packages/@aws-cdk/aws-eks/lib/aws-auth.ts b/packages/@aws-cdk/aws-eks/lib/aws-auth.ts index c1c405bf2dc29..0a8a6d9051a6d 100644 --- a/packages/@aws-cdk/aws-eks/lib/aws-auth.ts +++ b/packages/@aws-cdk/aws-eks/lib/aws-auth.ts @@ -1,14 +1,10 @@ import * as iam from '@aws-cdk/aws-iam'; -import { Lazy, Stack, IConstruct } from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Lazy, Stack } from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; import { AwsAuthMapping } from './aws-auth-mapping'; import { Cluster } from './cluster'; import { KubernetesManifest } from './k8s-manifest'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Configuration props for the AwsAuth construct. */ @@ -26,7 +22,7 @@ export interface AwsAuthProps { * * @see https://docs.aws.amazon.com/en_us/eks/latest/userguide/add-user-role.html */ -export class AwsAuth extends CoreConstruct { +export class AwsAuth extends Construct { private readonly stack: Stack; private readonly roleMappings = new Array<{ role: iam.IRole, mapping: AwsAuthMapping }>(); private readonly userMappings = new Array<{ user: iam.IUser, mapping: AwsAuthMapping }>(); diff --git a/packages/@aws-cdk/aws-eks/lib/cluster-resource-provider.ts b/packages/@aws-cdk/aws-eks/lib/cluster-resource-provider.ts index eefb18f35a0ed..fd254b1484a72 100644 --- a/packages/@aws-cdk/aws-eks/lib/cluster-resource-provider.ts +++ b/packages/@aws-cdk/aws-eks/lib/cluster-resource-provider.ts @@ -7,10 +7,6 @@ import * as cr from '@aws-cdk/custom-resources'; import { NodeProxyAgentLayer } from '@aws-cdk/lambda-layer-node-proxy-agent'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - const HANDLER_DIR = path.join(__dirname, 'cluster-resource-handler'); const HANDLER_RUNTIME = lambda.Runtime.NODEJS_12_X; @@ -71,7 +67,7 @@ export class ClusterResourceProvider extends NestedStack { public readonly provider: cr.Provider; private constructor(scope: Construct, id: string, props: ClusterResourceProviderProps) { - super(scope as CoreConstruct, id); + super(scope, id); // The NPM dependency proxy-agent is required in order to support proxy routing with the AWS JS SDK. const nodeProxyAgentLayer = new NodeProxyAgentLayer(this, 'NodeProxyAgentLayer'); diff --git a/packages/@aws-cdk/aws-eks/lib/cluster-resource.ts b/packages/@aws-cdk/aws-eks/lib/cluster-resource.ts index db5dc023ae32a..755b89eec135c 100644 --- a/packages/@aws-cdk/aws-eks/lib/cluster-resource.ts +++ b/packages/@aws-cdk/aws-eks/lib/cluster-resource.ts @@ -8,10 +8,6 @@ import { CLUSTER_RESOURCE_TYPE } from './cluster-resource-handler/consts'; import { ClusterResourceProvider } from './cluster-resource-provider'; import { CfnCluster } from './eks.generated'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - export interface ClusterResourceProps { readonly resourcesVpcConfig: CfnCluster.ResourcesVpcConfigProperty; readonly roleArn: string; @@ -42,7 +38,7 @@ export interface ClusterResourceProps { * cluster via `kubectl` to enable Kubernetes management capabilities like apply * manifest and IAM role/user RBAC mapping. */ -export class ClusterResource extends CoreConstruct { +export class ClusterResource extends Construct { public readonly attrEndpoint: string; public readonly attrArn: string; public readonly attrCertificateAuthorityData: string; diff --git a/packages/@aws-cdk/aws-eks/lib/cluster.ts b/packages/@aws-cdk/aws-eks/lib/cluster.ts index ce295f719abe6..8f19ab6889cf3 100644 --- a/packages/@aws-cdk/aws-eks/lib/cluster.ts +++ b/packages/@aws-cdk/aws-eks/lib/cluster.ts @@ -25,10 +25,6 @@ import { BottleRocketImage } from './private/bottlerocket'; import { ServiceAccount, ServiceAccountOptions } from './service-account'; import { LifecycleLabel, renderAmazonLinuxUserData, renderBottlerocketUserData } from './user-data'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - // defaults are based on https://eksctl.io const DEFAULT_CAPACITY_COUNT = 2; const DEFAULT_CAPACITY_TYPE = ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.LARGE); @@ -1055,10 +1051,10 @@ abstract class ClusterBase extends Resource implements ICluster { this.addSpotInterruptHandler(); } - if (this instanceof Cluster) { + if (this instanceof Cluster && this.albController) { // the controller runs on the worker nodes so they cannot // be deleted before the controller. - this.albController?.node.addDependency(autoScalingGroup); + Node.of(this.albController).addDependency(autoScalingGroup); } } } @@ -2186,7 +2182,7 @@ export class EksOptimizedImage implements ec2.IMachineImage { /** * Return the correct image */ - public getImage(scope: CoreConstruct): ec2.MachineImageConfig { + public getImage(scope: Construct): ec2.MachineImageConfig { const ami = ssm.StringParameter.valueForStringParameter(scope, this.amiParameterName); return { imageId: ami, diff --git a/packages/@aws-cdk/aws-eks/lib/fargate-profile.ts b/packages/@aws-cdk/aws-eks/lib/fargate-profile.ts index 7625a4cfafb5d..1a22af23266b2 100644 --- a/packages/@aws-cdk/aws-eks/lib/fargate-profile.ts +++ b/packages/@aws-cdk/aws-eks/lib/fargate-profile.ts @@ -6,10 +6,6 @@ import { Cluster } from './cluster'; import { FARGATE_PROFILE_RESOURCE_TYPE } from './cluster-resource-handler/consts'; import { ClusterResourceProvider } from './cluster-resource-provider'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Options for defining EKS Fargate Profiles. */ @@ -115,7 +111,7 @@ export interface Selector { * eks.amazonaws.com/fargate-profile: profile_name. However, the pod must still * match a selector in that profile in order to be scheduled onto Fargate. */ -export class FargateProfile extends CoreConstruct implements ITaggable { +export class FargateProfile extends Construct implements ITaggable { /** * The full Amazon Resource Name (ARN) of the Fargate profile. diff --git a/packages/@aws-cdk/aws-eks/lib/helm-chart.ts b/packages/@aws-cdk/aws-eks/lib/helm-chart.ts index dcc5ee7b88430..96bc0e6153846 100644 --- a/packages/@aws-cdk/aws-eks/lib/helm-chart.ts +++ b/packages/@aws-cdk/aws-eks/lib/helm-chart.ts @@ -4,10 +4,6 @@ import { Construct } from 'constructs'; import { ICluster } from './cluster'; import { KubectlProvider } from './kubectl-provider'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Helm Chart options. */ @@ -96,7 +92,7 @@ export interface HelmChartProps extends HelmChartOptions { * * Applies/deletes the resources using `kubectl` in sync with the resource. */ -export class HelmChart extends CoreConstruct { +export class HelmChart extends Construct { /** * The CloudFormation resource type. */ diff --git a/packages/@aws-cdk/aws-eks/lib/k8s-manifest.ts b/packages/@aws-cdk/aws-eks/lib/k8s-manifest.ts index fb17feb760acb..60a9fb7209790 100644 --- a/packages/@aws-cdk/aws-eks/lib/k8s-manifest.ts +++ b/packages/@aws-cdk/aws-eks/lib/k8s-manifest.ts @@ -4,10 +4,6 @@ import { AlbScheme } from './alb-controller'; import { ICluster } from './cluster'; import { KubectlProvider } from './kubectl-provider'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - const PRUNE_LABEL_PREFIX = 'aws.cdk.eks/prune-'; /** @@ -118,7 +114,7 @@ export interface KubernetesManifestProps extends KubernetesManifestOptions { * * Applies/deletes the manifest using `kubectl`. */ -export class KubernetesManifest extends CoreConstruct { +export class KubernetesManifest extends Construct { /** * The CloudFormation reosurce type. */ diff --git a/packages/@aws-cdk/aws-eks/lib/k8s-object-value.ts b/packages/@aws-cdk/aws-eks/lib/k8s-object-value.ts index e8cfddd478f60..6234aa6efc6ac 100644 --- a/packages/@aws-cdk/aws-eks/lib/k8s-object-value.ts +++ b/packages/@aws-cdk/aws-eks/lib/k8s-object-value.ts @@ -3,10 +3,6 @@ import { Construct } from 'constructs'; import { ICluster } from './cluster'; import { KubectlProvider } from './kubectl-provider'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for KubernetesObjectValue. */ @@ -55,7 +51,7 @@ export interface KubernetesObjectValueProps { * Represents a value of a specific object deployed in the cluster. * Use this to fetch any information available by the `kubectl get` command. */ -export class KubernetesObjectValue extends CoreConstruct { +export class KubernetesObjectValue extends Construct { /** * The CloudFormation reosurce type. */ diff --git a/packages/@aws-cdk/aws-eks/lib/k8s-patch.ts b/packages/@aws-cdk/aws-eks/lib/k8s-patch.ts index 3aa2eb8c36255..7d99bd3b6a428 100644 --- a/packages/@aws-cdk/aws-eks/lib/k8s-patch.ts +++ b/packages/@aws-cdk/aws-eks/lib/k8s-patch.ts @@ -3,10 +3,6 @@ import { Construct } from 'constructs'; import { ICluster } from './cluster'; import { KubectlProvider } from './kubectl-provider'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for KubernetesPatch */ @@ -71,7 +67,7 @@ export enum PatchType { * Kubernetes resource. * @see https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/ */ -export class KubernetesPatch extends CoreConstruct { +export class KubernetesPatch extends Construct { constructor(scope: Construct, id: string, props: KubernetesPatchProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-eks/lib/kubectl-provider.ts b/packages/@aws-cdk/aws-eks/lib/kubectl-provider.ts index eef07598abf27..dc5f5dc09847e 100644 --- a/packages/@aws-cdk/aws-eks/lib/kubectl-provider.ts +++ b/packages/@aws-cdk/aws-eks/lib/kubectl-provider.ts @@ -1,19 +1,15 @@ import * as path from 'path'; import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; -import { Duration, Stack, NestedStack, Names, IConstruct } from '@aws-cdk/core'; +import { Duration, Stack, NestedStack, Names } from '@aws-cdk/core'; import * as cr from '@aws-cdk/custom-resources'; import { AwsCliLayer } from '@aws-cdk/lambda-layer-awscli'; import { KubectlLayer } from '@aws-cdk/lambda-layer-kubectl'; -import { Construct } from 'constructs'; +import { Construct, IConstruct } from 'constructs'; import { ICluster, Cluster } from './cluster'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** - * Kubectl Provider Properties + * Properties for a KubectlProvider */ export interface KubectlProviderProps { /** @@ -123,7 +119,7 @@ export class KubectlProvider extends NestedStack implements IKubectlProvider { public readonly handlerRole: iam.IRole; public constructor(scope: Construct, id: string, props: KubectlProviderProps) { - super(scope as CoreConstruct, id); + super(scope, id); const cluster = props.cluster; @@ -189,7 +185,7 @@ export class KubectlProvider extends NestedStack implements IKubectlProvider { } -class ImportedKubectlProvider extends CoreConstruct implements IKubectlProvider { +class ImportedKubectlProvider extends Construct implements IKubectlProvider { /** * The custom resource provider's service token. diff --git a/packages/@aws-cdk/aws-eks/lib/managed-nodegroup.ts b/packages/@aws-cdk/aws-eks/lib/managed-nodegroup.ts index 92dc34ae52a24..95963e0b5dc64 100644 --- a/packages/@aws-cdk/aws-eks/lib/managed-nodegroup.ts +++ b/packages/@aws-cdk/aws-eks/lib/managed-nodegroup.ts @@ -1,7 +1,7 @@ import { InstanceType, ISecurityGroup, SubnetSelection, InstanceArchitecture } from '@aws-cdk/aws-ec2'; import { IRole, ManagedPolicy, Role, ServicePrincipal } from '@aws-cdk/aws-iam'; import { IResource, Resource, Annotations, withResolved } from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Construct, Node } from 'constructs'; import { Cluster, ICluster } from './cluster'; import { CfnNodegroup } from './eks.generated'; @@ -442,8 +442,9 @@ export class Nodegroup extends Resource implements INodegroup { // the controller runs on the worker nodes so they cannot // be deleted before the controller. - this.cluster.albController?.node.addDependency(this); - + if (this.cluster.albController) { + Node.of(this.cluster.albController).addDependency(this); + } } this.nodegroupArn = this.getResourceArnAttribute(resource.attrArn, { diff --git a/packages/@aws-cdk/aws-eks/lib/private/bottlerocket.ts b/packages/@aws-cdk/aws-eks/lib/private/bottlerocket.ts index d2e88ec815630..952b308d7e160 100644 --- a/packages/@aws-cdk/aws-eks/lib/private/bottlerocket.ts +++ b/packages/@aws-cdk/aws-eks/lib/private/bottlerocket.ts @@ -1,6 +1,6 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as ssm from '@aws-cdk/aws-ssm'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for BottleRocketImage diff --git a/packages/@aws-cdk/aws-eks/lib/service-account.ts b/packages/@aws-cdk/aws-eks/lib/service-account.ts index 28e4446f20476..7b66d139ce601 100644 --- a/packages/@aws-cdk/aws-eks/lib/service-account.ts +++ b/packages/@aws-cdk/aws-eks/lib/service-account.ts @@ -4,10 +4,6 @@ import { Construct } from 'constructs'; import { ICluster } from './cluster'; import { KubernetesManifest } from './k8s-manifest'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Options for `ServiceAccount` */ @@ -58,7 +54,7 @@ export interface ServiceAccountProps extends ServiceAccountOptions { /** * Service Account */ -export class ServiceAccount extends CoreConstruct implements IPrincipal { +export class ServiceAccount extends Construct implements IPrincipal { /** * The role which is linked to the service account. */ diff --git a/packages/@aws-cdk/aws-eks/package.json b/packages/@aws-cdk/aws-eks/package.json index 64c006b36ac9c..8d05f72670b60 100644 --- a/packages/@aws-cdk/aws-eks/package.json +++ b/packages/@aws-cdk/aws-eks/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-eks", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::EKS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_eks", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -107,7 +108,7 @@ "@aws-cdk/lambda-layer-awscli": "0.0.0", "@aws-cdk/lambda-layer-kubectl": "0.0.0", "@aws-cdk/lambda-layer-node-proxy-agent": "0.0.0", - "constructs": "^3.3.69", + "constructs": "^10.0.0", "yaml": "1.10.2" }, "bundledDependencies": [ @@ -127,10 +128,10 @@ "@aws-cdk/lambda-layer-awscli": "0.0.0", "@aws-cdk/lambda-layer-kubectl": "0.0.0", "@aws-cdk/lambda-layer-node-proxy-agent": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -147,6 +148,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-eks/test/alb-controller.integ.snapshot/aws-cdk-eks-cluster-alb-controller-test.assets.json b/packages/@aws-cdk/aws-eks/test/alb-controller.integ.snapshot/aws-cdk-eks-cluster-alb-controller-test.assets.json new file mode 100644 index 0000000000000..89212b985c537 --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/alb-controller.integ.snapshot/aws-cdk-eks-cluster-alb-controller-test.assets.json @@ -0,0 +1,162 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2": { + "source": { + "path": "asset.5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4": { + "source": { + "path": "asset.f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "5f49893093e1ad14831626016699156d48da5f0890f19eb930bc3c46cf5f636d": { + "source": { + "path": "asset.5f49893093e1ad14831626016699156d48da5f0890f19eb930bc3c46cf5f636d", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5f49893093e1ad14831626016699156d48da5f0890f19eb930bc3c46cf5f636d.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7a8c49b5e5763d6772d4a4abeeac186696166e502aace6f6e7be743d32c6ca7a": { + "source": { + "path": "awscdkeksclusteralbcontrollertestawscdkawseksClusterResourceProvider5DBBAFBB.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7a8c49b5e5763d6772d4a4abeeac186696166e502aace6f6e7be743d32c6ca7a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "3e15958249a93e5b03bfe27eb4ceb48f7b5389fa230b1aa1bd85fe2125953de2": { + "source": { + "path": "awscdkeksclusteralbcontrollertestawscdkawseksKubectlProviderA1AC28D1.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3e15958249a93e5b03bfe27eb4ceb48f7b5389fa230b1aa1bd85fe2125953de2.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "ae69598ef5c9fee34cf7eedf21cea3e6f2dd45d5e0fd36da94a7d18c30426803": { + "source": { + "path": "aws-cdk-eks-cluster-alb-controller-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ae69598ef5c9fee34cf7eedf21cea3e6f2dd45d5e0fd36da94a7d18c30426803.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/alb-controller.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/alb-controller.integ.snapshot/tree.json index c177f00173fe9..fc5baf9e5afd4 100644 --- a/packages/@aws-cdk/aws-eks/test/alb-controller.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/alb-controller.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-cluster-alb-controller-test": { @@ -895,8 +895,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2605,8 +2605,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2784,8 +2784,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2822,8 +2822,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { @@ -2856,8 +2856,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2890,8 +2890,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2924,8 +2924,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "74ffc8606670c67d6fb0102782b44a64a139c8f4aca1f9c0de934bb6517010e7": { @@ -2958,8 +2958,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -2992,8 +2992,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2": { @@ -3026,8 +3026,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4": { @@ -3060,8 +3060,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "5f49893093e1ad14831626016699156d48da5f0890f19eb930bc3c46cf5f636d": { @@ -3094,8 +3094,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cbe8f1f0f5ae6b04415748d4b68792a532bb438711d2bcfa8dd4559a869ce9db": { @@ -3128,8 +3128,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d5fa5acf01ae51add05b054449b70f87391c8577d1cee54792aba38592a467b2": { @@ -3162,14 +3162,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -4080,8 +4080,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "awscdkeksclusteralbcontrollertestCluster481F6464-AlbController": { @@ -4963,8 +4963,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "IngressPingerResponse": { diff --git a/packages/@aws-cdk/aws-eks/test/cluster.test.ts b/packages/@aws-cdk/aws-eks/test/cluster.test.ts index 9a4e59f27201b..479a9725a993f 100644 --- a/packages/@aws-cdk/aws-eks/test/cluster.test.ts +++ b/packages/@aws-cdk/aws-eks/test/cluster.test.ts @@ -8,7 +8,7 @@ import * as kms from '@aws-cdk/aws-kms'; import * as lambda from '@aws-cdk/aws-lambda'; import * as cdk from '@aws-cdk/core'; import * as cdk8s from 'cdk8s'; -import * as constructs from 'constructs'; +import { Construct } from 'constructs'; import * as YAML from 'yaml'; import * as eks from '../lib'; import { HelmChart } from '../lib'; @@ -364,7 +364,7 @@ describe('cluster', () => { }); // create a plain construct, not a cdk8s chart - const someConstruct = new constructs.Construct(stack, 'SomeConstruct'); + const someConstruct = new Construct(stack, 'SomeConstruct'); expect(() => cluster.addCdk8sChart('chart', someConstruct)).toThrow(/Invalid cdk8s chart. Must contain a \'toJson\' method, but found undefined/); }); @@ -379,7 +379,7 @@ describe('cluster', () => { }); // create a plain construct, not a cdk8s chart - const someConstruct = new cdk.Construct(stack, 'SomeConstruct'); + const someConstruct = new Construct(stack, 'SomeConstruct'); expect(() => cluster.addCdk8sChart('chart', someConstruct)).toThrow(/Invalid cdk8s chart. Must contain a \'toJson\' method, but found undefined/); }); @@ -448,7 +448,7 @@ describe('cluster', () => { class ClusterStack extends cdk.Stack { public eksCluster: eks.Cluster; - constructor(scope: constructs.Construct, id: string, props: { sg: ec2.ISecurityGroup, vpc: ec2.IVpc }) { + constructor(scope: Construct, id: string, props: { sg: ec2.ISecurityGroup, vpc: ec2.IVpc }) { super(scope, id); this.eksCluster = new eks.Cluster(this, 'Cluster', { version: CLUSTER_VERSION, @@ -464,7 +464,7 @@ describe('cluster', () => { public readonly securityGroup: ec2.ISecurityGroup; public readonly vpc: ec2.IVpc; - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); this.vpc = new ec2.Vpc(this, 'Vpc'); this.securityGroup = new ec2.SecurityGroup(this, 'SecurityGroup', { vpc: this.vpc }); @@ -485,7 +485,7 @@ describe('cluster', () => { class ClusterStack extends cdk.Stack { public eksCluster: eks.Cluster; - constructor(scope: constructs.Construct, id: string, props?: cdk.StackProps) { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); this.eksCluster = new eks.Cluster(this, 'Cluster', { version: CLUSTER_VERSION, @@ -495,7 +495,7 @@ describe('cluster', () => { } class ManifestStack extends cdk.Stack { - constructor(scope: constructs.Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { + constructor(scope: Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { super(scope, id, props); // this role creates a dependency between this stack and the cluster stack @@ -537,7 +537,7 @@ describe('cluster', () => { class ClusterStack extends cdk.Stack { public eksCluster: eks.Cluster; - constructor(scope: constructs.Construct, id: string, props?: cdk.StackProps) { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); this.eksCluster = new eks.Cluster(this, 'Cluster', { version: CLUSTER_VERSION, @@ -547,7 +547,7 @@ describe('cluster', () => { } class ChartStack extends cdk.Stack { - constructor(scope: constructs.Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { + constructor(scope: Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { super(scope, id, props); // this role creates a dependency between this stack and the cluster stack @@ -580,7 +580,7 @@ describe('cluster', () => { class ClusterStack extends cdk.Stack { public eksCluster: eks.Cluster; - constructor(scope: constructs.Construct, id: string, props?: cdk.StackProps) { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); this.eksCluster = new eks.Cluster(this, 'Cluster', { version: CLUSTER_VERSION, @@ -590,7 +590,7 @@ describe('cluster', () => { } class ChartStack extends cdk.Stack { - constructor(scope: constructs.Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { + constructor(scope: Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { super(scope, id, props); const resource = new cdk.CfnResource(this, 'resource', { type: 'MyType' }); @@ -614,7 +614,7 @@ describe('cluster', () => { class ClusterStack extends cdk.Stack { public eksCluster: eks.Cluster; - constructor(scope: constructs.Construct, id: string, props?: cdk.StackProps) { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); this.eksCluster = new eks.Cluster(this, 'Cluster', { version: CLUSTER_VERSION, @@ -627,7 +627,7 @@ describe('cluster', () => { public group: asg.AutoScalingGroup; - constructor(scope: constructs.Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { + constructor(scope: Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { super(scope, id, props); // the role is create in this stack implicitly by the ASG @@ -660,7 +660,7 @@ describe('cluster', () => { class ClusterStack extends cdk.Stack { public eksCluster: eks.Cluster; - constructor(scope: constructs.Construct, id: string, props?: cdk.StackProps) { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); this.eksCluster = new eks.Cluster(this, 'EKSCluster', { version: CLUSTER_VERSION, @@ -670,7 +670,7 @@ describe('cluster', () => { } class AppStack extends cdk.Stack { - constructor(scope: constructs.Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { + constructor(scope: Construct, id: string, props: cdk.StackProps & { cluster: eks.Cluster }) { super(scope, id, props); new eks.ServiceAccount(this, 'testAccount', { cluster: props.cluster, name: 'test-account', namespace: 'test' }); diff --git a/packages/@aws-cdk/aws-eks/test/eks-bottlerocket-ng.integ.snapshot/aws-cdk-eks-cluster-test.assets.json b/packages/@aws-cdk/aws-eks/test/eks-bottlerocket-ng.integ.snapshot/aws-cdk-eks-cluster-test.assets.json new file mode 100644 index 0000000000000..fc2a442cb8c3a --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/eks-bottlerocket-ng.integ.snapshot/aws-cdk-eks-cluster-test.assets.json @@ -0,0 +1,123 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f5ace883898cfd507911478c64859fdf6c91a7a57081be9f9536f45f8c81384e": { + "source": { + "path": "awscdkeksclustertestawscdkawseksClusterResourceProvider5F388D1A.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f5ace883898cfd507911478c64859fdf6c91a7a57081be9f9536f45f8c81384e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8a4e778f972779690eba0154146480e08f3639879ef2146a30699cf215d32ee7": { + "source": { + "path": "awscdkeksclustertestawscdkawseksKubectlProviderE05943BF.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8a4e778f972779690eba0154146480e08f3639879ef2146a30699cf215d32ee7.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "a7a1073ba7cdd05b0a709815eadd9e3988c4922b811f3dae3783c8c74e26d9ff": { + "source": { + "path": "aws-cdk-eks-cluster-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a7a1073ba7cdd05b0a709815eadd9e3988c4922b811f3dae3783c8c74e26d9ff.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/eks-bottlerocket-ng.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/eks-bottlerocket-ng.integ.snapshot/tree.json index 49931f25f262a..e3921493da2d8 100644 --- a/packages/@aws-cdk/aws-eks/test/eks-bottlerocket-ng.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/eks-bottlerocket-ng.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-cluster-test": { @@ -945,8 +945,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2648,8 +2648,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2827,8 +2827,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2865,8 +2865,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d47e2f3698e3b8daac9abf2ead86e6cc10782d761e194fce8d54874fab7a76de": { @@ -2899,8 +2899,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2933,8 +2933,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2967,8 +2967,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -3001,8 +3001,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -3035,8 +3035,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "5291ffd140c0f83707367b70521a7217365038acd642bbd9f3d281d2ee412d90": { @@ -3069,8 +3069,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "84723a757902269fde57eca28b5f86482da4b640b2713bb48f1f29e005b84151": { @@ -3103,14 +3103,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -4021,8 +4021,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-eks/test/eks-cluster-handlers-vpc.integ.snapshot/aws-cdk-eks-handlers-in-vpc-test.assets.json b/packages/@aws-cdk/aws-eks/test/eks-cluster-handlers-vpc.integ.snapshot/aws-cdk-eks-handlers-in-vpc-test.assets.json new file mode 100644 index 0000000000000..0b827e3b84b13 --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/eks-cluster-handlers-vpc.integ.snapshot/aws-cdk-eks-handlers-in-vpc-test.assets.json @@ -0,0 +1,123 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "3c565f683d5a87c95d707d6c8f687449be56a640e7ea7658a945e71eca24b8cf": { + "source": { + "path": "awscdkekshandlersinvpctestawscdkawseksClusterResourceProvider9260AB35.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3c565f683d5a87c95d707d6c8f687449be56a640e7ea7658a945e71eca24b8cf.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c3a977bd50916705f05d4cfeb2313e832228f1a4e0e38d90f2e54b248ad73369": { + "source": { + "path": "awscdkekshandlersinvpctestawscdkawseksKubectlProvider72227111.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c3a977bd50916705f05d4cfeb2313e832228f1a4e0e38d90f2e54b248ad73369.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "dcbe528ce4015ed62f3064684c0654747526904b7a2a0b90f0ba91ec68178bca": { + "source": { + "path": "aws-cdk-eks-handlers-in-vpc-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "dcbe528ce4015ed62f3064684c0654747526904b7a2a0b90f0ba91ec68178bca.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/eks-cluster-handlers-vpc.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/eks-cluster-handlers-vpc.integ.snapshot/tree.json index 675c278eaeecc..d241c1ec64bfd 100644 --- a/packages/@aws-cdk/aws-eks/test/eks-cluster-handlers-vpc.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/eks-cluster-handlers-vpc.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-handlers-in-vpc-test": { @@ -951,8 +951,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2897,8 +2897,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -3109,8 +3109,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -3147,8 +3147,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d47e2f3698e3b8daac9abf2ead86e6cc10782d761e194fce8d54874fab7a76de": { @@ -3181,8 +3181,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -3215,8 +3215,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -3249,8 +3249,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -3283,8 +3283,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -3317,8 +3317,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4ef4ac25a0e9a626adb231c7364ad6a79d8d3ef302531fff55d604aa8c1bbf6b": { @@ -3351,8 +3351,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "767bc71f97e0101ebf63d1cdf74ac0f882501a148df65bb26a445cf39edb3591": { @@ -3385,14 +3385,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -4303,8 +4303,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-eks/test/eks-cluster-private-endpoint.integ.snapshot/aws-cdk-eks-cluster-private-endpoint-test.assets.json b/packages/@aws-cdk/aws-eks/test/eks-cluster-private-endpoint.integ.snapshot/aws-cdk-eks-cluster-private-endpoint-test.assets.json new file mode 100644 index 0000000000000..f7b1b1aa38c9a --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/eks-cluster-private-endpoint.integ.snapshot/aws-cdk-eks-cluster-private-endpoint-test.assets.json @@ -0,0 +1,123 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "d305935b4a2e087e5f46038e420c20c3c486e192420db6a5a6409362ae6318aa": { + "source": { + "path": "awscdkeksclusterprivateendpointtestawscdkawseksClusterResourceProvider67118CB1.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d305935b4a2e087e5f46038e420c20c3c486e192420db6a5a6409362ae6318aa.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c225064df461a2303303d163913149fd1ad97ca3d3ca1615d01a3f63ff2175be": { + "source": { + "path": "awscdkeksclusterprivateendpointtestawscdkawseksKubectlProvider421F287E.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c225064df461a2303303d163913149fd1ad97ca3d3ca1615d01a3f63ff2175be.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "99577d1460f496bde04acb3d05ee8b558ad510c918b002bfa36553ce3b185d9e": { + "source": { + "path": "aws-cdk-eks-cluster-private-endpoint-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "99577d1460f496bde04acb3d05ee8b558ad510c918b002bfa36553ce3b185d9e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/eks-cluster-private-endpoint.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/eks-cluster-private-endpoint.integ.snapshot/tree.json index cee0473b03067..975e5896f59f1 100644 --- a/packages/@aws-cdk/aws-eks/test/eks-cluster-private-endpoint.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/eks-cluster-private-endpoint.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-cluster-private-endpoint-test": { @@ -945,8 +945,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2549,8 +2549,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2728,8 +2728,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2766,8 +2766,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d47e2f3698e3b8daac9abf2ead86e6cc10782d761e194fce8d54874fab7a76de": { @@ -2800,8 +2800,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2834,8 +2834,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2868,8 +2868,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -2902,8 +2902,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -2936,8 +2936,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "574390234bf398ed263199813ef443e2966d578c4225b5776adb5f0dda3bf5d1": { @@ -2970,8 +2970,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "55d5f3f77db2f4d10897a822145987288cf0f830cd21936bd382e7b6aecad9c1": { @@ -3004,14 +3004,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -3922,8 +3922,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-eks/test/eks-cluster.integ.snapshot/aws-cdk-eks-cluster-test.assets.json b/packages/@aws-cdk/aws-eks/test/eks-cluster.integ.snapshot/aws-cdk-eks-cluster-test.assets.json new file mode 100644 index 0000000000000..3a36e98e53c6d --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/eks-cluster.integ.snapshot/aws-cdk-eks-cluster-test.assets.json @@ -0,0 +1,174 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf": { + "source": { + "path": "asset.d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf", + "packaging": "zip" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2": { + "source": { + "path": "asset.5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2", + "packaging": "zip" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4": { + "source": { + "path": "asset.f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4", + "packaging": "zip" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "679ea0d066fca6fc0565869af6290ccc57432d75fcabf6e8162d2f1970e24cea": { + "source": { + "path": "awscdkeksclustertestawscdkawseksClusterResourceProvider5F388D1A.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "679ea0d066fca6fc0565869af6290ccc57432d75fcabf6e8162d2f1970e24cea.json", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "8dfeed5ce82d77a150302580ac2010d63f377b9548bfac6726a52344b76b0c1a": { + "source": { + "path": "awscdkeksclustertestawscdkawseksKubectlProviderE05943BF.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "8dfeed5ce82d77a150302580ac2010d63f377b9548bfac6726a52344b76b0c1a.json", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "4c6e950acadf2881f8f4ac8cb16ade0af7952aa58b7e466507c27cb2edf374e7": { + "source": { + "path": "aws-cdk-eks-cluster-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "4c6e950acadf2881f8f4ac8cb16ade0af7952aa58b7e466507c27cb2edf374e7.json", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/eks-cluster.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/eks-cluster.integ.snapshot/tree.json index 8262372c1c1b0..f2f3f68ff856a 100644 --- a/packages/@aws-cdk/aws-eks/test/eks-cluster.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/eks-cluster.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-cluster-test": { @@ -1135,8 +1135,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -5420,8 +5420,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -5587,8 +5587,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -5625,8 +5625,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { @@ -5659,8 +5659,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -5693,8 +5693,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -5727,8 +5727,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "74ffc8606670c67d6fb0102782b44a64a139c8f4aca1f9c0de934bb6517010e7": { @@ -5761,8 +5761,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -5795,8 +5795,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf": { @@ -5829,8 +5829,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2": { @@ -5863,8 +5863,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4": { @@ -5897,8 +5897,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "91f8755870f504ae642e221f6da2fbeb064aa2e77da4db41c8204d4a477820a2": { @@ -5931,8 +5931,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cea3d995b679e2a49ec2b2cb7ef0bf10eb9b07e98b6886243443634796c8f889": { @@ -5965,14 +5965,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -6931,8 +6931,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SsmParameterValue:--aws--service--eks--optimized-ami--1.21--amazon-linux-2--recommended--image_id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { diff --git a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/aws-cdk-eks-helm-test.assets.json b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/aws-cdk-eks-helm-test.assets.json new file mode 100644 index 0000000000000..4a9cdddcb8e60 --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/aws-cdk-eks-helm-test.assets.json @@ -0,0 +1,136 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf": { + "source": { + "path": "asset.d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "864a8ddd938be21819b73f42008d7f8b5526ec727392193b0149d0e6a4975849": { + "source": { + "path": "awscdkekshelmtestawscdkawseksClusterResourceProviderB64048CD.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "864a8ddd938be21819b73f42008d7f8b5526ec727392193b0149d0e6a4975849.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "081a74edcf49abd3f08f065053d185d7de05487581e62db13a7d74f08bc1d326": { + "source": { + "path": "awscdkekshelmtestawscdkawseksKubectlProvider207F42E4.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "081a74edcf49abd3f08f065053d185d7de05487581e62db13a7d74f08bc1d326.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "e5c77710b0bc2ae992ed346d17cc7175719120aed38c014c8ced704edddc6a94": { + "source": { + "path": "aws-cdk-eks-helm-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e5c77710b0bc2ae992ed346d17cc7175719120aed38c014c8ced704edddc6a94.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json index f9320d50e2247..c0c1e72dd4929 100644 --- a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-helm-test": { @@ -945,8 +945,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2577,8 +2577,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2756,8 +2756,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2794,8 +2794,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d47e2f3698e3b8daac9abf2ead86e6cc10782d761e194fce8d54874fab7a76de": { @@ -2828,8 +2828,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2862,8 +2862,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2896,8 +2896,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -2930,8 +2930,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -2964,8 +2964,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf": { @@ -2998,8 +2998,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "b383506537b8b920e4efce887ad9941f095c53704416ed056bab07b63268391a": { @@ -3032,8 +3032,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "3d78a5cdc39276c4ee8503417d4363951a0693b01cfd99ec9786feed456d012f": { @@ -3066,14 +3066,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -4036,8 +4036,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ChartAsset": { diff --git a/packages/@aws-cdk/aws-eks/test/eks-inference.integ.snapshot/aws-cdk-eks-cluster-inference-test.assets.json b/packages/@aws-cdk/aws-eks/test/eks-inference.integ.snapshot/aws-cdk-eks-cluster-inference-test.assets.json new file mode 100644 index 0000000000000..704fdfccd6021 --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/eks-inference.integ.snapshot/aws-cdk-eks-cluster-inference-test.assets.json @@ -0,0 +1,149 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2": { + "source": { + "path": "asset.5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4": { + "source": { + "path": "asset.f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b0de32b50c24fc4e2e4e5b9d00d2159897334541c936a179925d53337922d27": { + "source": { + "path": "awscdkeksclusterinferencetestawscdkawseksClusterResourceProviderFE14F3C4.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b0de32b50c24fc4e2e4e5b9d00d2159897334541c936a179925d53337922d27.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "91c16d361db1c75d6aee4f7c77e9a12b3a636ad415b49dd6ec27bb97bcbc42ea": { + "source": { + "path": "awscdkeksclusterinferencetestawscdkawseksKubectlProviderB4348345.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "91c16d361db1c75d6aee4f7c77e9a12b3a636ad415b49dd6ec27bb97bcbc42ea.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7e795dc12ea46c95ca8e309e38b069f90d959d2999edb689d7d5ed1ce4b7b8c4": { + "source": { + "path": "aws-cdk-eks-cluster-inference-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7e795dc12ea46c95ca8e309e38b069f90d959d2999edb689d7d5ed1ce4b7b8c4.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/eks-inference.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/eks-inference.integ.snapshot/tree.json index 26782be1cd50c..4e941f31abf0a 100644 --- a/packages/@aws-cdk/aws-eks/test/eks-inference.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/eks-inference.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-cluster-inference-test": { @@ -924,8 +924,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -3064,8 +3064,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -3243,8 +3243,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -3281,8 +3281,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d47e2f3698e3b8daac9abf2ead86e6cc10782d761e194fce8d54874fab7a76de": { @@ -3315,8 +3315,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -3349,8 +3349,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -3383,8 +3383,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -3417,8 +3417,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -3451,8 +3451,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "5507835727e005832a615aef2a6b437860f432c6cd052d07c0244464aedbe2b2": { @@ -3485,8 +3485,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "f850d967c52a5f64e6436dc84abdde4d86197f2a0871f5ab27c79647a91d0bf4": { @@ -3519,8 +3519,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "b011bd178a8202fd740937eba1753e1a60be8e5b730d04c68950b5c790b375ac": { @@ -3553,8 +3553,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "b5dcfca1806488139758b9f4e0ab0fc64b7eecc6daaf8c9f8f4c49017653c2d2": { @@ -3587,14 +3587,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -4505,8 +4505,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "awscdkeksclusterinferencetestClusterEBBBA1AC-AlbController": { diff --git a/packages/@aws-cdk/aws-eks/test/fargate-cluster.integ.snapshot/aws-cdk-eks-fargate-cluster-test.assets.json b/packages/@aws-cdk/aws-eks/test/fargate-cluster.integ.snapshot/aws-cdk-eks-fargate-cluster-test.assets.json new file mode 100644 index 0000000000000..ab6fa1179dfde --- /dev/null +++ b/packages/@aws-cdk/aws-eks/test/fargate-cluster.integ.snapshot/aws-cdk-eks-fargate-cluster-test.assets.json @@ -0,0 +1,123 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "da0fd54d74c20bfef85106bf2a929040991d3aa0e1128e015e46867154875240": { + "source": { + "path": "awscdkeksfargateclustertestawscdkawseksClusterResourceProviderB8887E20.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "da0fd54d74c20bfef85106bf2a929040991d3aa0e1128e015e46867154875240.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "b08f86e8a810800d5ac246d53952e63efde75b7f49ca50127f4d93e614af79d8": { + "source": { + "path": "awscdkeksfargateclustertestawscdkawseksKubectlProviderB383571D.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b08f86e8a810800d5ac246d53952e63efde75b7f49ca50127f4d93e614af79d8.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "5e60e106927e610a1b7915579e7ee7b058c6865747174d7c4d5b68d417d540e1": { + "source": { + "path": "aws-cdk-eks-fargate-cluster-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5e60e106927e610a1b7915579e7ee7b058c6865747174d7c4d5b68d417d540e1.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-eks/test/fargate-cluster.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/fargate-cluster.integ.snapshot/tree.json index 9fb474b7070ad..adcd5db907a8b 100644 --- a/packages/@aws-cdk/aws-eks/test/fargate-cluster.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-eks/test/fargate-cluster.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-eks-fargate-cluster-test": { @@ -959,8 +959,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2557,8 +2557,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2736,8 +2736,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2774,8 +2774,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d47e2f3698e3b8daac9abf2ead86e6cc10782d761e194fce8d54874fab7a76de": { @@ -2808,8 +2808,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2842,8 +2842,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2876,8 +2876,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -2910,8 +2910,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -2944,8 +2944,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8b5d4a7c9a492630bdc2aec681edee93ec84566a119d20bc410ab1fee57eca4c": { @@ -2978,8 +2978,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "a09248d337a1c973030619a649599d8a690641514906e85c275c181ca68be74c": { @@ -3012,14 +3012,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -3930,8 +3930,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-eks/test/helm-chart.test.ts b/packages/@aws-cdk/aws-eks/test/helm-chart.test.ts index 5f0c7536a0872..e9542f9c14484 100644 --- a/packages/@aws-cdk/aws-eks/test/helm-chart.test.ts +++ b/packages/@aws-cdk/aws-eks/test/helm-chart.test.ts @@ -94,42 +94,8 @@ describe('helm chart', () => { // THEN Template.fromStack(stack).hasResourceProperties(eks.HelmChart.RESOURCE_TYPE, { ChartAssetURL: { - 'Fn::Join': [ - '', - [ - 's3://', - { - Ref: 'AssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3BucketBFD29DFB', - }, - '/', - { - 'Fn::Select': [ - 0, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3VersionKeyD1F874DF', - }, - ], - }, - ], - }, - { - 'Fn::Select': [ - 1, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3VersionKeyD1F874DF', - }, - ], - }, - ], - }, - ], - ], + 'Fn::Sub': + 's3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf.zip', }, }); }); diff --git a/packages/@aws-cdk/aws-eks/test/k8s-patch.test.ts b/packages/@aws-cdk/aws-eks/test/k8s-patch.test.ts index 4040a070c15a0..f973ce6bb3e38 100644 --- a/packages/@aws-cdk/aws-eks/test/k8s-patch.test.ts +++ b/packages/@aws-cdk/aws-eks/test/k8s-patch.test.ts @@ -43,7 +43,7 @@ describe('k8s patch', () => { }); // also make sure a dependency on the barrier is added to the patch construct. - expect(patch.node.dependencies.map(d => Names.nodeUniqueId(d.target.node))).toEqual(['MyClusterKubectlReadyBarrier7547948A']); + expect(patch.node.dependencies.map(d => Names.nodeUniqueId(d.node))).toEqual(['MyClusterKubectlReadyBarrier7547948A']); }); diff --git a/packages/@aws-cdk/aws-eks/test/pinger/pinger.ts b/packages/@aws-cdk/aws-eks/test/pinger/pinger.ts index 3702484a68339..80da3966e7e67 100644 --- a/packages/@aws-cdk/aws-eks/test/pinger/pinger.ts +++ b/packages/@aws-cdk/aws-eks/test/pinger/pinger.ts @@ -4,17 +4,13 @@ import { CustomResource, Token, Duration } from '@aws-cdk/core'; import * as cr from '@aws-cdk/custom-resources'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - export interface PingerProps { readonly url: string; readonly securityGroup?: ec2.SecurityGroup; readonly vpc?: ec2.IVpc; readonly subnets?: ec2.ISubnet[]; } -export class Pinger extends CoreConstruct { +export class Pinger extends Construct { private _resource: CustomResource; diff --git a/packages/@aws-cdk/aws-elasticache/package.json b/packages/@aws-cdk/aws-elasticache/package.json index 7a487577606f2..6aa443d9d6d02 100644 --- a/packages/@aws-cdk/aws-elasticache/package.json +++ b/packages/@aws-cdk/aws-elasticache/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-elasticache", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ElastiCache", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_elasticache", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-elasticbeanstalk/package.json b/packages/@aws-cdk/aws-elasticbeanstalk/package.json index ed8e337cee1be..acc00c3a57add 100644 --- a/packages/@aws-cdk/aws-elasticbeanstalk/package.json +++ b/packages/@aws-cdk/aws-elasticbeanstalk/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-elasticbeanstalk", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ElasticBeanstalk", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_elasticbeanstalk", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-elasticloadbalancing/package.json b/packages/@aws-cdk/aws-elasticloadbalancing/package.json index be746c5b97ede..bce38942e25ea 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancing/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancing/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-elasticloadbalancing", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ElasticLoadBalancing", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_elasticloadbalancing", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,16 +90,16 @@ "dependencies": { "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nyc": { "statements": 75 diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json index 649f60e9a10e6..0b82c39ff8a40 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-elasticloadbalancingv2-actions", "version": "0.0.0", + "private": true, "description": "Integration actions for AWS ElasticLoadBalancingV2", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_elasticloadbalancingv2_actions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -85,7 +86,7 @@ "@aws-cdk/aws-elasticloadbalancingv2": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -94,10 +95,10 @@ "@aws-cdk/aws-elasticloadbalancingv2": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json index a1367b792fdbd..df49dce194d26 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-elasticloadbalancingv2-targets", "version": "0.0.0", + "private": true, "description": "Integration targets for AWS ElasticLoadBalancingV2", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_elasticloadbalancingv2_targets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,7 +88,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -96,10 +97,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/test/alb-target.integ.snapshot/TestStack.assets.json b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/test/alb-target.integ.snapshot/TestStack.assets.json new file mode 100644 index 0000000000000..c1db29a5b2910 --- /dev/null +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/test/alb-target.integ.snapshot/TestStack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "a5da4e59186e6e7d364d57bc3eebacc3ca8a663bedee386ef1625754f4c0a891": { + "source": { + "path": "TestStack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a5da4e59186e6e7d364d57bc3eebacc3ca8a663bedee386ef1625754f4c0a891.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/test/alb-target.integ.snapshot/tree.json b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/test/alb-target.integ.snapshot/tree.json index 3260f1630f901..963b5923e3b8a 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/test/alb-target.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/test/alb-target.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "TestStack": { diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-action.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-action.ts index 2b71962765ac8..aace3e9ea9391 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-action.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-action.ts @@ -1,4 +1,5 @@ -import { Duration, IConstruct, SecretValue, Tokenization } from '@aws-cdk/core'; +import { Duration, SecretValue, Tokenization } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { CfnListener } from '../elasticloadbalancingv2.generated'; import { IListenerAction } from '../shared/listener-action'; import { IApplicationListener } from './application-listener'; @@ -6,7 +7,7 @@ import { IApplicationTargetGroup } from './application-target-group'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * What to do when a client makes a request to a listener @@ -445,4 +446,4 @@ class TargetGroupListenerAction extends ListenerAction { tg.registerListener(listener, associatingConstruct); } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-certificate.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-certificate.ts index 2ff867a4721a2..2b10788cc9d21 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-certificate.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-certificate.ts @@ -3,10 +3,6 @@ import { CfnListenerCertificate } from '../elasticloadbalancingv2.generated'; import { IListenerCertificate } from '../shared/listener-certificate'; import { IApplicationListener } from './application-listener'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for adding a set of certificates to a listener */ @@ -39,7 +35,7 @@ export interface ApplicationListenerCertificateProps { /** * Add certificates to a listener */ -export class ApplicationListenerCertificate extends CoreConstruct { +export class ApplicationListenerCertificate extends Construct { constructor(scope: Construct, id: string, props: ApplicationListenerCertificateProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-rule.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-rule.ts index 7530ad08f8cb1..8ae395f2b286e 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-rule.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener-rule.ts @@ -7,10 +7,6 @@ import { ListenerAction } from './application-listener-action'; import { IApplicationTargetGroup } from './application-target-group'; import { ListenerCondition } from './conditions'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Basic properties for defining a rule on a listener */ @@ -201,7 +197,7 @@ export interface RedirectResponse { /** * Define a new listener rule */ -export class ApplicationListenerRule extends CoreConstruct { +export class ApplicationListenerRule extends Construct { /** * The ARN of this rule */ @@ -269,6 +265,8 @@ export class ApplicationListenerRule extends CoreConstruct { } this.listenerRuleArn = resource.ref; + + this.node.addValidation({ validate: () => this.validateListenerRule() }); } /** @@ -359,7 +357,7 @@ export class ApplicationListenerRule extends CoreConstruct { /** * Validate the rule */ - protected validate() { + private validateListenerRule() { if (this.action === undefined) { return ['Listener rule needs at least one action']; } @@ -393,7 +391,7 @@ export class ApplicationListenerRule extends CoreConstruct { * @internal * @deprecated */ -export function validateFixedResponse(fixedResponse: FixedResponse) { +function validateFixedResponse(fixedResponse: FixedResponse) { if (fixedResponse.statusCode && !/^(2|4|5)\d\d$/.test(fixedResponse.statusCode)) { throw new Error('`statusCode` must be 2XX, 4XX or 5XX.'); } @@ -408,7 +406,7 @@ export function validateFixedResponse(fixedResponse: FixedResponse) { * @internal * @deprecated */ -export function validateRedirectResponse(redirectResponse: RedirectResponse) { +function validateRedirectResponse(redirectResponse: RedirectResponse) { if (redirectResponse.protocol && !/^(HTTPS?|#\{protocol\})$/i.test(redirectResponse.protocol)) { throw new Error('`protocol` must be HTTP, HTTPS, or #{protocol}.'); } diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts index 86b8593f3e8ac..adb2c6f580c98 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts @@ -10,7 +10,7 @@ import { IListenerCertificate, ListenerCertificate } from '../shared/listener-ce import { determineProtocolAndPort } from '../shared/util'; import { ListenerAction } from './application-listener-action'; import { ApplicationListenerCertificate } from './application-listener-certificate'; -import { ApplicationListenerRule, FixedResponse, RedirectResponse, validateFixedResponse, validateRedirectResponse } from './application-listener-rule'; +import { ApplicationListenerRule, FixedResponse, RedirectResponse } from './application-listener-rule'; import { IApplicationLoadBalancer } from './application-load-balancer'; import { ApplicationTargetGroup, IApplicationLoadBalancerTarget, IApplicationTargetGroup } from './application-target-group'; import { ListenerCondition } from './conditions'; @@ -377,7 +377,18 @@ export class ApplicationListener extends BaseListener implements IApplicationLis messageBody: props.messageBody, }; - validateFixedResponse(fixedResponse); + /** + * NOTE - Copy/pasted from `application-listener-rule.ts#validateFixedResponse`. + * This was previously a deprecated, exported function, which caused issues with jsii's strip-deprecated functionality. + * Inlining the duplication functionality in v2 only (for now). + */ + if (fixedResponse.statusCode && !/^(2|4|5)\d\d$/.test(fixedResponse.statusCode)) { + throw new Error('`statusCode` must be 2XX, 4XX or 5XX.'); + } + + if (fixedResponse.messageBody && fixedResponse.messageBody.length > 1024) { + throw new Error('`messageBody` cannot have more than 1024 characters.'); + } if (props.priority) { new ApplicationListenerRule(this, id + 'Rule', { @@ -410,7 +421,18 @@ export class ApplicationListener extends BaseListener implements IApplicationLis statusCode: props.statusCode, }; - validateRedirectResponse(redirectResponse); + /** + * NOTE - Copy/pasted from `application-listener-rule.ts#validateRedirectResponse`. + * This was previously a deprecated, exported function, which caused issues with jsii's strip-deprecated functionality. + * Inlining the duplication functionality in v2 only (for now). + */ + if (redirectResponse.protocol && !/^(HTTPS?|#\{protocol\})$/i.test(redirectResponse.protocol)) { + throw new Error('`protocol` must be HTTP, HTTPS, or #{protocol}.'); + } + + if (!redirectResponse.statusCode || !/^HTTP_30[12]$/.test(redirectResponse.statusCode)) { + throw new Error('`statusCode` must be HTTP_301 or HTTP_302.'); + } if (props.priority) { new ApplicationListenerRule(this, id + 'Rule', { @@ -443,8 +465,8 @@ export class ApplicationListener extends BaseListener implements IApplicationLis /** * Validate this listener. */ - protected validate(): string[] { - const errors = super.validate(); + protected validateListener(): string[] { + const errors = super.validateListener(); if (this.protocol === ApplicationProtocol.HTTPS && this.certificateArns.length === 0) { errors.push('HTTPS Listener needs at least one certificate (call addCertificates)'); } diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-target-group.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-target-group.ts index 98bfdc90796bb..5f658168107bd 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-target-group.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-target-group.ts @@ -13,10 +13,6 @@ import { determineProtocolAndPort } from '../shared/util'; import { IApplicationListener } from './application-listener'; import { HttpCodeTarget } from './application-load-balancer'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for defining an Application Target Group */ @@ -242,7 +238,7 @@ export class ApplicationTargetGroup extends TargetGroupBase implements IApplicat listener.registerConnectable(member.connectable, member.portRange); } this.listeners.push(listener); - this.loadBalancerAttachedDependencies.add((associatingConstruct || listener) as CoreConstruct); + this.loadBalancerAttachedDependencies.add(associatingConstruct ?? listener); } /** @@ -387,8 +383,8 @@ export class ApplicationTargetGroup extends TargetGroupBase implements IApplicat }); } - protected validate(): string[] { - const ret = super.validate(); + protected validateTargetGroup(): string[] { + const ret = super.validateTargetGroup(); if (this.targetType !== undefined && this.targetType !== TargetType.LAMBDA && (this.protocol === undefined || this.port === undefined)) { diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-action.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-action.ts index cc86ca0458ef7..0259fcd27cdc4 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-action.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-action.ts @@ -6,7 +6,7 @@ import { INetworkTargetGroup } from './network-target-group'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * What to do when a client makes a request to a listener @@ -156,4 +156,4 @@ class TargetGroupListenerAction extends NetworkListenerAction { tg.registerListener(listener); } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-certificate.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-certificate.ts index da8175962e49e..f42b50e43e6e5 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-certificate.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-listener-certificate.ts @@ -3,10 +3,6 @@ import { CfnListenerCertificate } from '../elasticloadbalancingv2.generated'; import { IListenerCertificate } from '../shared/listener-certificate'; import { INetworkListener } from './network-listener'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for adding a set of certificates to a listener */ @@ -27,7 +23,7 @@ export interface NetworkListenerCertificateProps { /** * Add certificates to a listener */ -export class NetworkListenerCertificate extends CoreConstruct { +export class NetworkListenerCertificate extends Construct { constructor(scope: Construct, id: string, props: NetworkListenerCertificateProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts index 35c56e21e29bc..9ec85ec0efcae 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/nlb/network-target-group.ts @@ -151,8 +151,8 @@ export class NetworkTargetGroup extends TargetGroupBase implements INetworkTarge return loadBalancerNameFromListenerArn(this.listeners[0].listenerArn); } - protected validate(): string[] { - const ret = super.validate(); + protected validateTargetGroup(): string[] { + const ret = super.validateTargetGroup(); const healthCheck: HealthCheck = this.healthCheck || {}; diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-listener.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-listener.ts index db52671e5a368..da4174c157820 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-listener.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-listener.ts @@ -112,12 +112,13 @@ export abstract class BaseListener extends Resource { }); this.listenerArn = resource.ref; + this.node.addValidation({ validate: () => this.validateListener() }); } /** * Validate this listener */ - protected validate(): string[] { + protected validateListener(): string[] { if (!this.defaultAction) { return ['Listener needs at least one default action or target group (call addTargetGroups or addAction)']; } diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.ts index 046bb917867bf..f694dc6ff5b9f 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.ts @@ -235,6 +235,8 @@ export abstract class BaseLoadBalancer extends Resource { this.loadBalancerName = resource.attrLoadBalancerName; this.loadBalancerArn = resource.ref; this.loadBalancerSecurityGroups = resource.attrSecurityGroups; + + this.node.addValidation({ validate: this.validateLoadBalancer.bind(this) }); } /** @@ -301,8 +303,8 @@ export abstract class BaseLoadBalancer extends Resource { this.setAttribute(key, undefined); } - protected validate(): string[] { - const ret = super.validate(); + protected validateLoadBalancer(): string[] { + const ret = new Array(); // https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-name const loadBalancerName = this.physicalName; diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-target-group.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-target-group.ts index 0fa47d8670e05..54da8bbec4c0e 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-target-group.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-target-group.ts @@ -1,14 +1,10 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Construct, DependencyGroup, IConstruct, IDependable } from 'constructs'; import { CfnTargetGroup } from '../elasticloadbalancingv2.generated'; import { Protocol, TargetType } from './enums'; import { Attributes, renderAttributes } from './util'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Basic properties of both Application and Network Target Groups */ @@ -160,7 +156,7 @@ export interface HealthCheck { /** * Define the target of a load balancer */ -export abstract class TargetGroupBase extends CoreConstruct implements ITargetGroup { +export abstract class TargetGroupBase extends Construct implements ITargetGroup { /** * The ARN of the target group */ @@ -209,7 +205,7 @@ export abstract class TargetGroupBase extends CoreConstruct implements ITargetGr /** * Configurable dependable with all resources that lead to load balancer attachment */ - protected readonly loadBalancerAttachedDependencies = new cdk.ConcreteDependable(); + protected readonly loadBalancerAttachedDependencies = new DependencyGroup(); /** * The types of the directly registered members of this target group @@ -285,12 +281,14 @@ export abstract class TargetGroupBase extends CoreConstruct implements ITargetGr this.loadBalancerArns = this.resource.attrLoadBalancerArns.toString(); this.targetGroupName = this.resource.attrTargetGroupName; this.defaultPort = additionalProps.port; + + this.node.addValidation({ validate: () => this.validateTargetGroup() }); } /** * List of constructs that need to be depended on to ensure the TargetGroup is associated to a load balancer */ - public get loadBalancerAttached(): cdk.IDependable { + public get loadBalancerAttached(): IDependable { return this.loadBalancerAttachedDependencies; } @@ -328,8 +326,8 @@ export abstract class TargetGroupBase extends CoreConstruct implements ITargetGr } } - protected validate(): string[] { - const ret = super.validate(); + protected validateTargetGroup(): string[] { + const ret = new Array(); if (this.targetType === undefined && this.targetsJson.length === 0) { cdk.Annotations.of(this).addWarning("When creating an empty TargetGroup, you should specify a 'targetType' (this warning may become an error in the future)."); @@ -390,7 +388,7 @@ export interface TargetGroupImportProps extends TargetGroupAttributes { /** * A target group */ -export interface ITargetGroup extends cdk.IConstruct { +export interface ITargetGroup extends IConstruct { /** * The name of the target group */ @@ -409,7 +407,7 @@ export interface ITargetGroup extends cdk.IConstruct { /** * Return an object to depend on the listeners added to this target group */ - readonly loadBalancerAttached: cdk.IDependable; + readonly loadBalancerAttached: IDependable; } /** diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/imported.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/imported.ts index fc0dc7d4fb12d..72c4ce3969885 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/imported.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/imported.ts @@ -1,15 +1,11 @@ import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Construct, DependencyGroup, IDependable } from 'constructs'; import { ITargetGroup, TargetGroupImportProps } from './base-target-group'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Base internal class for existing target groups */ -export abstract class ImportedTargetGroupBase extends CoreConstruct implements ITargetGroup { +export abstract class ImportedTargetGroupBase extends Construct implements ITargetGroup { /** * ARN of the target group */ @@ -28,7 +24,7 @@ export abstract class ImportedTargetGroupBase extends CoreConstruct implements I /** * Return an object to depend on the listeners added to this target group */ - public readonly loadBalancerAttached: cdk.IDependable = new cdk.ConcreteDependable(); + public readonly loadBalancerAttached: IDependable = new DependencyGroup(); constructor(scope: Construct, id: string, props: TargetGroupImportProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json index 95a9bfda84140..7912066e4f301 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-elasticloadbalancingv2", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ElasticLoadBalancingV2", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_elasticloadbalancingv2", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -98,7 +99,7 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -113,10 +114,10 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -155,6 +156,6 @@ }, "maturity": "stable", "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/listener.test.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/listener.test.ts index 4167e012d6c4b..d4095c93c5525 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/listener.test.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/listener.test.ts @@ -112,14 +112,14 @@ describe('tests', () => { const lb = new elbv2.ApplicationLoadBalancer(stack, 'LB', { vpc }); // WHEN - lb.addListener('Listener', { + const listener = lb.addListener('Listener', { port: 443, defaultTargetGroups: [new elbv2.ApplicationTargetGroup(stack, 'Group', { vpc, port: 80 })], }); // THEN - const errors = cdk.ConstructNode.validate(stack.node); - expect(errors.map(e => e.message)).toEqual(['HTTPS Listener needs at least one certificate (call addCertificates)']); + const errors = listener.node.validate(); + expect(errors).toEqual(['HTTPS Listener needs at least one certificate (call addCertificates)']); }); test('HTTPS listener can add certificate after construction', () => { @@ -474,7 +474,7 @@ describe('tests', () => { }); // THEN - const validationErrors: string[] = (group as any).validate(); + const validationErrors: string[] = group.node.validate(); expect(validationErrors).toEqual(["Health check protocol 'TCP' is not supported. Must be one of [HTTP, HTTPS]"]); }); diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/helpers.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/helpers.ts index 6378f8ac0c8ed..1df29adf5d6ba 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/helpers.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/helpers.ts @@ -1,17 +1,13 @@ import * as ec2 from '@aws-cdk/aws-ec2'; -import * as constructs from 'constructs'; +import { Construct } from 'constructs'; import * as elbv2 from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export class FakeSelfRegisteringTarget extends Construct implements elbv2.IApplicationLoadBalancerTarget, elbv2.INetworkLoadBalancerTarget, ec2.IConnectable { public readonly securityGroup: ec2.SecurityGroup; public readonly connections: ec2.Connections; - constructor(scope: constructs.Construct, id: string, vpc: ec2.Vpc) { + constructor(scope: Construct, id: string, vpc: ec2.Vpc) { super(scope, id); this.securityGroup = new ec2.SecurityGroup(this, 'SG', { vpc }); this.connections = new ec2.Connections({ diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/integ.alb.dualstack.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/integ.alb.dualstack.ts index 3fee5de86af5f..f19c0d7cbaa70 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/integ.alb.dualstack.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/integ.alb.dualstack.ts @@ -1,6 +1,7 @@ #!/usr/bin/env node import * as ec2 from '@aws-cdk/aws-ec2'; import * as cdk from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import * as elbv2 from '../lib'; /* IPv6 workaround found here: https://github.com/aws/aws-cdk/issues/894 */ @@ -37,7 +38,7 @@ const ipv6Block = new ec2.CfnVPCCidrBlock( // Get the vpc's internet gateway so we can create default routes for the // public subnets. -const internetGateway = valueOrDie( +const internetGateway = valueOrDie( vpc.node.children.find(c => c instanceof ec2.CfnInternetGateway), new Error('Couldnt find an internet gateway'), ); @@ -76,7 +77,7 @@ vpc.publicSubnets.forEach((subnet, idx) => { // Find a CfnSubnet (raw cloudformation resources) child to the public // subnet nodes. - const cfnSubnet = valueOrDie( + const cfnSubnet = valueOrDie( subnet.node.children.find(c => c instanceof ec2.CfnSubnet), new Error('Couldnt find a CfnSubnet'), ); diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/nlb/listener.test.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/nlb/listener.test.ts index d5343c559d623..f6c10da596916 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/nlb/listener.test.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/nlb/listener.test.ts @@ -311,7 +311,7 @@ describe('tests', () => { }, }); - const validationErrors: string[] = (targetGroup as any).validate(); + const validationErrors: string[] = targetGroup.node.validate(); const intervalError = validationErrors.find((err) => /Health check interval '60' not supported. Must be one of the following values/.test(err)); expect(intervalError).toBeDefined(); }); @@ -334,7 +334,7 @@ describe('tests', () => { }); // THEN - const validationErrors: string[] = (targetGroup as any).validate(); + const validationErrors: string[] = targetGroup.node.validate(); expect(validationErrors).toEqual(["Health check protocol 'UDP' is not supported. Must be one of [HTTP, HTTPS, TCP]"]); }); @@ -357,7 +357,7 @@ describe('tests', () => { }); // THEN - const validationErrors: string[] = (targetGroup as any).validate(); + const validationErrors: string[] = targetGroup.node.validate(); expect(validationErrors).toEqual([ "'TCP' health checks do not support the path property. Must be one of [HTTP, HTTPS]", ]); @@ -382,7 +382,7 @@ describe('tests', () => { }); // THEN - const validationErrors: string[] = (targetGroup as any).validate(); + const validationErrors: string[] = targetGroup.node.validate(); expect(validationErrors).toEqual([ 'Custom health check timeouts are not supported for Network Load Balancer health checks. Expected 6 seconds for HTTP, got 10', ]); diff --git a/packages/@aws-cdk/aws-elasticsearch/lib/log-group-resource-policy.ts b/packages/@aws-cdk/aws-elasticsearch/lib/log-group-resource-policy.ts index e53eb9a913540..0a88658e1cf42 100644 --- a/packages/@aws-cdk/aws-elasticsearch/lib/log-group-resource-policy.ts +++ b/packages/@aws-cdk/aws-elasticsearch/lib/log-group-resource-policy.ts @@ -1,9 +1,6 @@ import * as iam from '@aws-cdk/aws-iam'; import * as cr from '@aws-cdk/custom-resources'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties for LogGroupResourcePolicy diff --git a/packages/@aws-cdk/aws-elasticsearch/package.json b/packages/@aws-cdk/aws-elasticsearch/package.json index 09f4026a56876..69c8e7fa557d3 100644 --- a/packages/@aws-cdk/aws-elasticsearch/package.json +++ b/packages/@aws-cdk/aws-elasticsearch/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-elasticsearch", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Elasticsearch", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_elasticsearch", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -97,7 +98,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -111,10 +112,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -122,6 +123,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.custom-kms-key.integ.snapshot/cdk-integ-elasticsearch-custom-kms-key.assets.json b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.custom-kms-key.integ.snapshot/cdk-integ-elasticsearch-custom-kms-key.assets.json new file mode 100644 index 0000000000000..baffdcd00c002 --- /dev/null +++ b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.custom-kms-key.integ.snapshot/cdk-integ-elasticsearch-custom-kms-key.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "cad85f8b80cfdfee00ceae623a36eebf1da67077754da9ddc2756e5f37b0bba5": { + "source": { + "path": "cdk-integ-elasticsearch-custom-kms-key.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "cad85f8b80cfdfee00ceae623a36eebf1da67077754da9ddc2756e5f37b0bba5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.custom-kms-key.integ.snapshot/tree.json b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.custom-kms-key.integ.snapshot/tree.json index 4b7d6c828e299..cfb5c6e1e9eb5 100644 --- a/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.custom-kms-key.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.custom-kms-key.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-integ-elasticsearch-custom-kms-key": { @@ -571,14 +571,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.integ.snapshot/cdk-integ-elasticsearch.assets.json b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.integ.snapshot/cdk-integ-elasticsearch.assets.json new file mode 100644 index 0000000000000..3bfc1b3394161 --- /dev/null +++ b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.integ.snapshot/cdk-integ-elasticsearch.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7b9c30f773e4e53c7838a9ae0f577e686a4ffd2ee57a62d6ae1ea74cfb7b6750": { + "source": { + "path": "cdk-integ-elasticsearch.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7b9c30f773e4e53c7838a9ae0f577e686a4ffd2ee57a62d6ae1ea74cfb7b6750.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.integ.snapshot/tree.json b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.integ.snapshot/tree.json index 49957ca078ebf..826a1114a097b 100644 --- a/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-elasticsearch/test/elasticsearch.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-integ-elasticsearch": { @@ -474,14 +474,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Domain2": { diff --git a/packages/@aws-cdk/aws-emr/package.json b/packages/@aws-cdk/aws-emr/package.json index 126939f8e0462..5fb997b873352 100644 --- a/packages/@aws-cdk/aws-emr/package.json +++ b/packages/@aws-cdk/aws-emr/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-emr", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::EMR", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_emr", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-emrcontainers/package.json b/packages/@aws-cdk/aws-emrcontainers/package.json index 35b2a46209c79..3a59b42b69e28 100644 --- a/packages/@aws-cdk/aws-emrcontainers/package.json +++ b/packages/@aws-cdk/aws-emrcontainers/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-emrcontainers", "module": "aws_cdk.aws_emrcontainers" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -105,5 +107,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-events-targets/lib/api-destination.ts b/packages/@aws-cdk/aws-events-targets/lib/api-destination.ts index 8f2bc936a6d28..5ec83563ade94 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/api-destination.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/api-destination.ts @@ -83,13 +83,16 @@ export class ApiDestination implements events.IRuleTarget { addToDeadLetterQueueResourcePolicy(_rule, this.props.deadLetterQueue); } + const role = this.props?.eventRole ?? singletonEventRole(this.apiDestination); + role.addToPrincipalPolicy(new iam.PolicyStatement({ + resources: [this.apiDestination.apiDestinationArn], + actions: ['events:InvokeApiDestination'], + })); + return { ...(this.props ? bindBaseTargetConfig(this.props) : {}), arn: this.apiDestination.apiDestinationArn, - role: this.props?.eventRole ?? singletonEventRole(this.apiDestination, [new iam.PolicyStatement({ - resources: [this.apiDestination.apiDestinationArn], - actions: ['events:InvokeApiDestination'], - })]), + role, input: this.props.event, targetResource: this.apiDestination, httpParameters, diff --git a/packages/@aws-cdk/aws-events-targets/lib/api-gateway.ts b/packages/@aws-cdk/aws-events-targets/lib/api-gateway.ts index 168c5a65a386d..04f073ad82fd6 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/api-gateway.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/api-gateway.ts @@ -98,16 +98,20 @@ export class ApiGateway implements events.IRuleTarget { this.props?.path || '/', this.props?.stage || this.restApi.deploymentStage.stageName, ); + + const role = this.props?.eventRole || singletonEventRole(this.restApi); + role.addToPrincipalPolicy(new iam.PolicyStatement({ + resources: [restApiArn], + actions: [ + 'execute-api:Invoke', + 'execute-api:ManageConnections', + ], + })); + return { ...(this.props ? bindBaseTargetConfig(this.props) : {}), arn: restApiArn, - role: this.props?.eventRole || singletonEventRole(this.restApi, [new iam.PolicyStatement({ - resources: [restApiArn], - actions: [ - 'execute-api:Invoke', - 'execute-api:ManageConnections', - ], - })]), + role, deadLetterConfig: this.props?.deadLetterQueue && { arn: this.props.deadLetterQueue?.queueArn }, input: this.props?.postBody, targetResource: this.restApi, diff --git a/packages/@aws-cdk/aws-events-targets/lib/batch.ts b/packages/@aws-cdk/aws-events-targets/lib/batch.ts index f0186efe6089d..d5efdf1aca620 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/batch.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/batch.ts @@ -1,6 +1,7 @@ import * as events from '@aws-cdk/aws-events'; import * as iam from '@aws-cdk/aws-iam'; -import { Names, IConstruct } from '@aws-cdk/core'; +import { Names } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { addToDeadLetterQueueResourcePolicy, bindBaseTargetConfig, singletonEventRole, TargetBaseProps } from './util'; /** @@ -87,20 +88,21 @@ export class BatchJob implements events.IRuleTarget { addToDeadLetterQueueResourcePolicy(rule, this.props.deadLetterQueue); } + // When scoping resource-level access for job submission, you must provide both job queue and job definition resource types. + // https://docs.aws.amazon.com/batch/latest/userguide/ExamplePolicies_BATCH.html#iam-example-restrict-job-def + const role = singletonEventRole(this.jobDefinitionScope); + role.addToPrincipalPolicy(new iam.PolicyStatement({ + actions: ['batch:SubmitJob'], + resources: [ + this.jobDefinitionArn, + this.jobQueueArn, + ], + })); + return { ...bindBaseTargetConfig(this.props), arn: this.jobQueueArn, - // When scoping resource-level access for job submission, you must provide both job queue and job definition resource types. - // https://docs.aws.amazon.com/batch/latest/userguide/ExamplePolicies_BATCH.html#iam-example-restrict-job-def - role: singletonEventRole(this.jobDefinitionScope, [ - new iam.PolicyStatement({ - actions: ['batch:SubmitJob'], - resources: [ - this.jobDefinitionArn, - this.jobQueueArn, - ], - }), - ]), + role, input: this.props.event, targetResource: this.jobQueueScope, batchParameters, diff --git a/packages/@aws-cdk/aws-events-targets/lib/codebuild.ts b/packages/@aws-cdk/aws-events-targets/lib/codebuild.ts index a9da8719cfef7..14f9dd4c0c626 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/codebuild.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/codebuild.ts @@ -44,15 +44,16 @@ export class CodeBuildProject implements events.IRuleTarget { addToDeadLetterQueueResourcePolicy(_rule, this.props.deadLetterQueue); } + const role = this.props.eventRole || singletonEventRole(this.project); + role.addToPrincipalPolicy(new iam.PolicyStatement({ + actions: ['codebuild:StartBuild'], + resources: [this.project.projectArn], + })); + return { ...bindBaseTargetConfig(this.props), arn: this.project.projectArn, - role: this.props.eventRole || singletonEventRole(this.project, [ - new iam.PolicyStatement({ - actions: ['codebuild:StartBuild'], - resources: [this.project.projectArn], - }), - ]), + role, input: this.props.event, targetResource: this.project, }; diff --git a/packages/@aws-cdk/aws-events-targets/lib/codepipeline.ts b/packages/@aws-cdk/aws-events-targets/lib/codepipeline.ts index 8d2006378f121..27d80a55e33f9 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/codepipeline.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/codepipeline.ts @@ -26,14 +26,17 @@ export class CodePipeline implements events.IRuleTarget { } public bind(_rule: events.IRule, _id?: string): events.RuleTargetConfig { + const role = this.options.eventRole || singletonEventRole(this.pipeline); + role.addToPrincipalPolicy(new iam.PolicyStatement({ + resources: [this.pipeline.pipelineArn], + actions: ['codepipeline:StartPipelineExecution'], + })); + return { ...bindBaseTargetConfig(this.options), id: '', arn: this.pipeline.pipelineArn, - role: this.options.eventRole || singletonEventRole(this.pipeline, [new iam.PolicyStatement({ - resources: [this.pipeline.pipelineArn], - actions: ['codepipeline:StartPipelineExecution'], - })]), + role, targetResource: this.pipeline, }; } diff --git a/packages/@aws-cdk/aws-events-targets/lib/ecs-task.ts b/packages/@aws-cdk/aws-events-targets/lib/ecs-task.ts index 13a08dbd8d4eb..492600a86e6e1 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/ecs-task.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/ecs-task.ts @@ -6,6 +6,10 @@ import * as cdk from '@aws-cdk/core'; import { ContainerOverride } from './ecs-task-properties'; import { singletonEventRole } from './util'; +// keep this import separate from other imports to reduce chance for merge conflicts with v2-main +// eslint-disable-next-line no-duplicate-imports, import/order +import { Construct } from 'constructs'; + /** * Properties to define an ECS Event Task */ @@ -118,12 +122,9 @@ export class EcsTask implements events.IRuleTarget { this.taskCount = props.taskCount ?? 1; this.platformVersion = props.platformVersion; - if (props.role) { - const role = props.role; - this.createEventRolePolicyStatements().forEach(role.addToPrincipalPolicy.bind(role)); - this.role = role; - } else { - this.role = singletonEventRole(this.taskDefinition, this.createEventRolePolicyStatements()); + this.role = props.role ?? singletonEventRole(this.taskDefinition); + for (const stmt of this.createEventRolePolicyStatements()) { + this.role.addToPrincipalPolicy(stmt); } // Security groups are only configurable with the "awsvpc" network mode. @@ -138,7 +139,7 @@ export class EcsTask implements events.IRuleTarget { return; } - if (!cdk.Construct.isConstruct(this.taskDefinition)) { + if (!Construct.isConstruct(this.taskDefinition)) { throw new Error('Cannot create a security group for ECS task. ' + 'The task definition in ECS task is not a Construct. ' + 'Please pass a taskDefinition as a Construct in EcsTaskProps.'); diff --git a/packages/@aws-cdk/aws-events-targets/lib/event-bus.ts b/packages/@aws-cdk/aws-events-targets/lib/event-bus.ts index 7026273ef5330..eb739c0b37296 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/event-bus.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/event-bus.ts @@ -36,10 +36,8 @@ export class EventBus implements events.IRuleTarget { constructor(private readonly eventBus: events.IEventBus, private readonly props: EventBusProps = {}) { } bind(rule: events.IRule, _id?: string): events.RuleTargetConfig { - if (this.props.role) { - this.props.role.addToPrincipalPolicy(this.putEventStatement()); - } - const role = this.props.role ?? singletonEventRole(rule, [this.putEventStatement()]); + const role = this.props.role ?? singletonEventRole(rule); + role.addToPrincipalPolicy(this.putEventStatement()); if (this.props.deadLetterQueue) { addToDeadLetterQueueResourcePolicy(rule, this.props.deadLetterQueue); diff --git a/packages/@aws-cdk/aws-events-targets/lib/kinesis-firehose-stream.ts b/packages/@aws-cdk/aws-events-targets/lib/kinesis-firehose-stream.ts index b52f7bf423df2..2a454f5164d77 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/kinesis-firehose-stream.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/kinesis-firehose-stream.ts @@ -31,14 +31,16 @@ export class KinesisFirehoseStream implements events.IRuleTarget { * result from a Event Bridge event. */ public bind(_rule: events.IRule, _id?: string): events.RuleTargetConfig { - const policyStatements = [new iam.PolicyStatement({ + const role = singletonEventRole(this.stream); + role.addToPrincipalPolicy(new iam.PolicyStatement({ actions: ['firehose:PutRecord', 'firehose:PutRecordBatch'], resources: [this.stream.attrArn], - })]; + })); + return { arn: this.stream.attrArn, - role: singletonEventRole(this.stream, policyStatements), + role, input: this.props.message, targetResource: this.stream, }; diff --git a/packages/@aws-cdk/aws-events-targets/lib/kinesis-stream.ts b/packages/@aws-cdk/aws-events-targets/lib/kinesis-stream.ts index 743b197e19d52..9114561a6ca97 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/kinesis-stream.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/kinesis-stream.ts @@ -45,14 +45,15 @@ export class KinesisStream implements events.IRuleTarget { * result from a CloudWatch event. */ public bind(_rule: events.IRule, _id?: string): events.RuleTargetConfig { - const policyStatements = [new iam.PolicyStatement({ + const role = singletonEventRole(this.stream); + role.addToPrincipalPolicy(new iam.PolicyStatement({ actions: ['kinesis:PutRecord', 'kinesis:PutRecords'], resources: [this.stream.streamArn], - })]; + })); return { arn: this.stream.streamArn, - role: singletonEventRole(this.stream, policyStatements), + role, input: this.props.message, targetResource: this.stream, kinesisParameters: this.props.partitionKeyPath ? { partitionKeyPath: this.props.partitionKeyPath } : undefined, diff --git a/packages/@aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts b/packages/@aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts index 8938fc1362fbb..eb45c9d234144 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/log-group-resource-policy.ts @@ -1,10 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; import * as cr from '@aws-cdk/custom-resources'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties to configure a log group resource policy diff --git a/packages/@aws-cdk/aws-events-targets/lib/state-machine.ts b/packages/@aws-cdk/aws-events-targets/lib/state-machine.ts index ce780bf99d2d2..c328f16884930 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/state-machine.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/state-machine.ts @@ -29,11 +29,8 @@ export class SfnStateMachine implements events.IRuleTarget { private readonly role: iam.IRole; constructor(public readonly machine: sfn.IStateMachine, private readonly props: SfnStateMachineProps = {}) { - if (props.role) { - props.role.grant(new iam.ServicePrincipal('events.amazonaws.com')); - } // no statements are passed because we are configuring permissions by using grant* helper below - this.role = props.role ?? singletonEventRole(machine, []); + this.role = props.role ?? singletonEventRole(machine); machine.grantStartExecution(this.role); } diff --git a/packages/@aws-cdk/aws-events-targets/lib/util.ts b/packages/@aws-cdk/aws-events-targets/lib/util.ts index 086c63b4c2224..373fc6ac86657 100644 --- a/packages/@aws-cdk/aws-events-targets/lib/util.ts +++ b/packages/@aws-cdk/aws-events-targets/lib/util.ts @@ -2,11 +2,8 @@ import * as events from '@aws-cdk/aws-events'; import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; import * as sqs from '@aws-cdk/aws-sqs'; -import { Annotations, ConstructNode, IConstruct, Names, Token, TokenComparison, Duration, PhysicalName } from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Annotations, Names, Token, TokenComparison, Duration, PhysicalName } from '@aws-cdk/core'; +import { Construct, IConstruct, Node } from 'constructs'; /** * The generic properties for an RuleTarget @@ -71,7 +68,7 @@ export function bindBaseTargetConfig(props: TargetBaseProps) { * events have the same target, they will share a role. * @internal */ -export function singletonEventRole(scope: IConstruct, policyStatements: iam.PolicyStatement[]): iam.IRole { +export function singletonEventRole(scope: IConstruct): iam.IRole { const id = 'EventsRole'; const existing = scope.node.tryFindChild(id) as iam.IRole; if (existing) { return existing; } @@ -81,8 +78,6 @@ export function singletonEventRole(scope: IConstruct, policyStatements: iam.Poli assumedBy: new iam.ServicePrincipal('events.amazonaws.com'), }); - policyStatements.forEach(role.addToPolicy.bind(role)); - return role; } @@ -92,7 +87,7 @@ export function singletonEventRole(scope: IConstruct, policyStatements: iam.Poli */ export function addLambdaPermission(rule: events.IRule, handler: lambda.IFunction): void { let scope: Construct | undefined; - let node: ConstructNode = handler.permissionsNode; + let node: Node = handler.permissionsNode; let permissionId = `AllowEventRule${Names.nodeUniqueId(rule.node)}`; if (rule instanceof Construct) { // Place the Permission resource in the same stack as Rule rather than the Function @@ -153,4 +148,4 @@ export function addToDeadLetterQueueResourcePolicy(rule: events.IRule, queue: sq */ function sameEnvDimension(dim1: string, dim2: string) { return [TokenComparison.SAME, TokenComparison.BOTH_UNRESOLVED].includes(Token.compareStrings(dim1, dim2)); -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-events-targets/package.json b/packages/@aws-cdk/aws-events-targets/package.json index 7e05ae4e25bad..b2d37fc8d7d2f 100644 --- a/packages/@aws-cdk/aws-events-targets/package.json +++ b/packages/@aws-cdk/aws-events-targets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-events-targets", "version": "0.0.0", + "private": true, "description": "Event targets for Amazon EventBridge", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_events_targets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -111,7 +112,7 @@ "@aws-cdk/aws-stepfunctions": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -134,10 +135,10 @@ "@aws-cdk/aws-stepfunctions": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { diff --git a/packages/@aws-cdk/aws-events-targets/test/aws-api/aws-api.integ.snapshot/aws-cdk-aws-api-target-integ.assets.json b/packages/@aws-cdk/aws-events-targets/test/aws-api/aws-api.integ.snapshot/aws-cdk-aws-api-target-integ.assets.json new file mode 100644 index 0000000000000..7b473544d2f49 --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/aws-api/aws-api.integ.snapshot/aws-cdk-aws-api-target-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "542b391ec2b6ad0d542935d260039e6e534c46b76e45b0a0d564fb1a378d7742": { + "source": { + "path": "asset.542b391ec2b6ad0d542935d260039e6e534c46b76e45b0a0d564fb1a378d7742", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "542b391ec2b6ad0d542935d260039e6e534c46b76e45b0a0d564fb1a378d7742.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "421a8e78852ae79c8dd13198cd2c5f35f705cf197aaff47898a895f23680c959": { + "source": { + "path": "aws-cdk-aws-api-target-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "421a8e78852ae79c8dd13198cd2c5f35f705cf197aaff47898a895f23680c959.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/aws-api/aws-api.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/aws-api/aws-api.integ.snapshot/tree.json index fa8ec606f1577..26b927dfadb3c 100644 --- a/packages/@aws-cdk/aws-events-targets/test/aws-api/aws-api.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/aws-api/aws-api.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-aws-api-target-integ": { @@ -354,14 +354,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PatternRule": { diff --git a/packages/@aws-cdk/aws-events-targets/test/codebuild/project-events.integ.snapshot/aws-cdk-codebuild-events.assets.json b/packages/@aws-cdk/aws-events-targets/test/codebuild/project-events.integ.snapshot/aws-cdk-codebuild-events.assets.json new file mode 100644 index 0000000000000..a826b3fddc3fc --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/codebuild/project-events.integ.snapshot/aws-cdk-codebuild-events.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9fc5dc140dfd4a67b901f6294ae02201fa182a26e849114db557842855032a40": { + "source": { + "path": "aws-cdk-codebuild-events.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9fc5dc140dfd4a67b901f6294ae02201fa182a26e849114db557842855032a40.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/codebuild/project-events.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/codebuild/project-events.integ.snapshot/tree.json index aa522ea9d8c04..b20cb454da628 100644 --- a/packages/@aws-cdk/aws-events-targets/test/codebuild/project-events.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/codebuild/project-events.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-codebuild-events": { diff --git a/packages/@aws-cdk/aws-events-targets/test/codepipeline/pipeline-event-target.integ.snapshot/pipeline-events.assets.json b/packages/@aws-cdk/aws-events-targets/test/codepipeline/pipeline-event-target.integ.snapshot/pipeline-events.assets.json new file mode 100644 index 0000000000000..8c7f22dcb587a --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/codepipeline/pipeline-event-target.integ.snapshot/pipeline-events.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "73f68f4cdc6ed7152e35b62188875f4c1ca598dfab2a58de26b6f414cbd0c9ea": { + "source": { + "path": "pipeline-events.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "73f68f4cdc6ed7152e35b62188875f4c1ca598dfab2a58de26b6f414cbd0c9ea.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/codepipeline/pipeline-event-target.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/codepipeline/pipeline-event-target.integ.snapshot/tree.json index 057c5a9051b4f..2a91a9aef7d3d 100644 --- a/packages/@aws-cdk/aws-events-targets/test/codepipeline/pipeline-event-target.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/codepipeline/pipeline-event-target.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "pipeline-events": { @@ -526,14 +526,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -596,14 +596,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EventsRole": { diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py deleted file mode 100644 index c4cab119afc2d..0000000000000 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from ECS!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/aws-ecs-integ-ecs.assets.json b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/aws-ecs-integ-ecs.assets.json new file mode 100644 index 0000000000000..7dee8dca73db1 --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/aws-ecs-integ-ecs.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9a74d9d8095350705e05eac5bf248c6f6bd9e38a50ab7303628d6ca28a1abb5a": { + "source": { + "path": "aws-ecs-integ-ecs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9a74d9d8095350705e05eac5bf248c6f6bd9e38a50ab7303628d6ca28a1abb5a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2": { + "source": { + "directory": "asset.7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/manifest.json index 718aa527fc817..7e7da0a3b9277 100644 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/manifest.json @@ -217,7 +217,10 @@ "/aws-ecs-integ-ecs/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TaskDef54694570" + "data": "TaskDef54694570", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-integ-ecs/TaskDef/TheContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/tree.json index af1a11a074bce..965341e0624b6 100644 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/ecs/event-ec2-task.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-ecs": { @@ -921,8 +921,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py deleted file mode 100644 index c4cab119afc2d..0000000000000 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from ECS!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/aws-ecs-integ-fargate.assets.json b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/aws-ecs-integ-fargate.assets.json new file mode 100644 index 0000000000000..64a87a8d44f98 --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/aws-ecs-integ-fargate.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "f68c909c141898dc9228a20066545eb77eb23a8b9d68b9231c2b2636e53e1832": { + "source": { + "path": "aws-ecs-integ-fargate.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f68c909c141898dc9228a20066545eb77eb23a8b9d68b9231c2b2636e53e1832.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2": { + "source": { + "directory": "asset.7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/manifest.json index 86ec1cd29bf91..e887eeb6cf0ee 100644 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/manifest.json @@ -121,7 +121,10 @@ "/aws-ecs-integ-fargate/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TaskDef54694570" + "data": "TaskDef54694570", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-integ-fargate/TaskDef/TheContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/tree.json index aba020bcc9d91..5ac97d51362c0 100644 --- a/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/ecs/event-fargate-task.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ-fargate": { diff --git a/packages/@aws-cdk/aws-events-targets/test/event-bus/event-rule-target.test.ts b/packages/@aws-cdk/aws-events-targets/test/event-bus/event-rule-target.test.ts index cb2940fdb0cd7..554d3b753be62 100644 --- a/packages/@aws-cdk/aws-events-targets/test/event-bus/event-rule-target.test.ts +++ b/packages/@aws-cdk/aws-events-targets/test/event-bus/event-rule-target.test.ts @@ -167,3 +167,81 @@ test('with a Dead Letter Queue specified', () => { ], }); }); + +test('event buses are correctly added to the rule\'s principal policy', () => { + const stack = new Stack(); + const rule = new events.Rule(stack, 'Rule', { + schedule: events.Schedule.expression('rate(1 min)'), + }); + + const bus1 = new events.EventBus(stack, 'bus' + 1); + const bus2 = new events.EventBus(stack, 'bus' + 2); + + rule.addTarget(new targets.EventBus(bus1)); + rule.addTarget(new targets.EventBus(bus2)); + + Template.fromStack(stack).hasResourceProperties('AWS::Events::Rule', { + Targets: [ + { + Arn: { + 'Fn::GetAtt': [ + 'bus110C385DC', + 'Arn', + ], + }, + Id: 'Target0', + RoleArn: { + 'Fn::GetAtt': [ + 'RuleEventsRoleC51A4248', + 'Arn', + ], + }, + }, + { + Arn: { + 'Fn::GetAtt': [ + 'bus22D01F126', + 'Arn', + ], + }, + Id: 'Target1', + RoleArn: { + 'Fn::GetAtt': [ + 'RuleEventsRoleC51A4248', + 'Arn', + ], + }, + }, + ], + }); + Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { + PolicyDocument: { + Statement: [ + { + Effect: 'Allow', + Action: 'events:PutEvents', + Resource: { + 'Fn::GetAtt': [ + 'bus110C385DC', + 'Arn', + ], + }, + }, + { + Effect: 'Allow', + Action: 'events:PutEvents', + Resource: { + 'Fn::GetAtt': [ + 'bus22D01F126', + 'Arn', + ], + }, + }, + ], + Version: '2012-10-17', + }, + Roles: [{ + Ref: 'RuleEventsRoleC51A4248', + }], + }); +}); diff --git a/packages/@aws-cdk/aws-events-targets/test/kinesis-firehose/kinesis-firehose-stream.integ.snapshot/aws-cdk-firehose-event-target.assets.json b/packages/@aws-cdk/aws-events-targets/test/kinesis-firehose/kinesis-firehose-stream.integ.snapshot/aws-cdk-firehose-event-target.assets.json new file mode 100644 index 0000000000000..2d5999df28eac --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/kinesis-firehose/kinesis-firehose-stream.integ.snapshot/aws-cdk-firehose-event-target.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "303d857c44424075aabc7a7901d4fee93212b13b5d025fa8836963af7aec4709": { + "source": { + "path": "aws-cdk-firehose-event-target.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "303d857c44424075aabc7a7901d4fee93212b13b5d025fa8836963af7aec4709.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/kinesis-firehose/kinesis-firehose-stream.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/kinesis-firehose/kinesis-firehose-stream.integ.snapshot/tree.json index 0cf7a36f72ed6..ef898de894b91 100644 --- a/packages/@aws-cdk/aws-events-targets/test/kinesis-firehose/kinesis-firehose-stream.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/kinesis-firehose/kinesis-firehose-stream.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-firehose-event-target": { diff --git a/packages/@aws-cdk/aws-events-targets/test/logs/log-group.integ.snapshot/log-group-events.assets.json b/packages/@aws-cdk/aws-events-targets/test/logs/log-group.integ.snapshot/log-group-events.assets.json new file mode 100644 index 0000000000000..d4ab47a6e8a03 --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/logs/log-group.integ.snapshot/log-group-events.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "42fe0b9f12a90a3b6510d01e1d8b47c0aab4416a553b3224af7a8fd08aad776e": { + "source": { + "path": "log-group-events.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "42fe0b9f12a90a3b6510d01e1d8b47c0aab4416a553b3224af7a8fd08aad776e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/logs/log-group.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/logs/log-group.integ.snapshot/tree.json index 53b795dc0fcf4..572d5a1ab1d36 100644 --- a/packages/@aws-cdk/aws-events-targets/test/logs/log-group.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/logs/log-group.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "log-group-events": { @@ -409,14 +409,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Timer2": { diff --git a/packages/@aws-cdk/aws-events-targets/test/sqs/sqs-event-rule-target.integ.snapshot/aws-cdk-sqs-event-target.assets.json b/packages/@aws-cdk/aws-events-targets/test/sqs/sqs-event-rule-target.integ.snapshot/aws-cdk-sqs-event-target.assets.json new file mode 100644 index 0000000000000..4170fbdca1615 --- /dev/null +++ b/packages/@aws-cdk/aws-events-targets/test/sqs/sqs-event-rule-target.integ.snapshot/aws-cdk-sqs-event-target.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "89dd676eca4ebfae7977916c9ee50d19595fd66f2a365e530e9fac7c07052dbf": { + "source": { + "path": "aws-cdk-sqs-event-target.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "89dd676eca4ebfae7977916c9ee50d19595fd66f2a365e530e9fac7c07052dbf.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-events-targets/test/sqs/sqs-event-rule-target.integ.snapshot/tree.json b/packages/@aws-cdk/aws-events-targets/test/sqs/sqs-event-rule-target.integ.snapshot/tree.json index 52fd858bf24eb..81430b5bbe4e6 100644 --- a/packages/@aws-cdk/aws-events-targets/test/sqs/sqs-event-rule-target.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-events-targets/test/sqs/sqs-event-rule-target.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-sqs-event-target": { diff --git a/packages/@aws-cdk/aws-events/lib/rule.ts b/packages/@aws-cdk/aws-events/lib/rule.ts index 1420a87627f8b..18e7f6417aa40 100644 --- a/packages/@aws-cdk/aws-events/lib/rule.ts +++ b/packages/@aws-cdk/aws-events/lib/rule.ts @@ -155,6 +155,8 @@ export class Rule extends Resource implements IRule { for (const target of props.targets || []) { this.addTarget(target); } + + this.node.addValidation({ validate: () => this.validateRule() }); } /** @@ -321,7 +323,7 @@ export class Rule extends Resource implements IRule { return renderEventPattern(this.eventPattern); } - protected validate() { + protected validateRule() { if (Object.keys(this.eventPattern).length === 0 && !this.scheduleExpression) { return ['Either \'eventPattern\' or \'schedule\' must be defined']; } @@ -465,13 +467,13 @@ class MirrorRule extends Rule { } /** - * Override validate to be a no-op + * Override validateRule to be a no-op * * The rules are never stored on this object so there's nothing to validate. * * Instead, we mirror the other rule at render time. */ - protected validate(): string[] { + protected validateRule(): string[] { return []; } } diff --git a/packages/@aws-cdk/aws-events/lib/schedule.ts b/packages/@aws-cdk/aws-events/lib/schedule.ts index 5bbf31694db5f..7224d6f866c78 100644 --- a/packages/@aws-cdk/aws-events/lib/schedule.ts +++ b/packages/@aws-cdk/aws-events/lib/schedule.ts @@ -2,7 +2,7 @@ import { Annotations, Duration } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Schedule for scheduled event rules diff --git a/packages/@aws-cdk/aws-events/lib/target.ts b/packages/@aws-cdk/aws-events/lib/target.ts index d90927bdaf0b0..7f3f04f1a3838 100644 --- a/packages/@aws-cdk/aws-events/lib/target.ts +++ b/packages/@aws-cdk/aws-events/lib/target.ts @@ -1,5 +1,5 @@ import * as iam from '@aws-cdk/aws-iam'; -import { IConstruct } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { CfnRule } from './events.generated'; import { RuleTargetInput } from './input'; import { IRule } from './rule-ref'; diff --git a/packages/@aws-cdk/aws-events/package.json b/packages/@aws-cdk/aws-events/package.json index 9d9b3bd4299f6..027625895d916 100644 --- a/packages/@aws-cdk/aws-events/package.json +++ b/packages/@aws-cdk/aws-events/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-events", "version": "0.0.0", + "private": true, "description": "Amazon EventBridge Construct Library", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_events", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -91,16 +92,16 @@ "dependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-events/test/rule.test.ts b/packages/@aws-cdk/aws-events/test/rule.test.ts index b708717b7f0f3..3622c50107440 100644 --- a/packages/@aws-cdk/aws-events/test/rule.test.ts +++ b/packages/@aws-cdk/aws-events/test/rule.test.ts @@ -2,6 +2,7 @@ import { Annotations, Match, Template } from '@aws-cdk/assertions'; import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; import { EventBus, EventField, IRule, IRuleTarget, RuleTargetConfig, RuleTargetInput, Schedule } from '../lib'; import { Rule } from '../lib/rule'; @@ -655,7 +656,7 @@ describe('rule', () => { const targetAccount = '234567890123'; const targetStack = new cdk.Stack(app, 'TargetStack', { env: { account: targetAccount } }); - const resource = new cdk.Construct(targetStack, 'Resource'); + const resource = new Construct(targetStack, 'Resource'); expect(() => { rule.addTarget(new SomeTarget('T', resource)); @@ -670,7 +671,7 @@ describe('rule', () => { const rule = new Rule(sourceStack, 'Rule'); const targetStack = new cdk.Stack(app, 'TargetStack'); - const resource = new cdk.Construct(targetStack, 'Resource'); + const resource = new Construct(targetStack, 'Resource'); expect(() => { rule.addTarget(new SomeTarget('T', resource)); @@ -686,7 +687,7 @@ describe('rule', () => { const targetAccount = '234567890123'; const targetStack = new cdk.Stack(app, 'TargetStack', { env: { account: targetAccount } }); - const resource = new cdk.Construct(targetStack, 'Resource'); + const resource = new Construct(targetStack, 'Resource'); expect(() => { rule.addTarget(new SomeTarget('T', resource)); @@ -708,7 +709,7 @@ describe('rule', () => { const targetAccount = '234567890123'; const targetRegion = sourceRegion; const targetStack = new cdk.Stack(app, 'TargetStack', { env: { account: targetAccount, region: targetRegion } }); - const resource = new cdk.Construct(targetStack, 'Resource'); + const resource = new Construct(targetStack, 'Resource'); rule.addTarget(new SomeTarget('T', resource)); @@ -759,7 +760,7 @@ describe('rule', () => { const targetAccount = '234567890123'; const targetRegion = 'us-east-1'; const targetStack = new cdk.Stack(app, 'TargetStack', { env: { account: targetAccount, region: targetRegion } }); - const resource = new cdk.Construct(targetStack, 'Resource'); + const resource = new Construct(targetStack, 'Resource'); rule.addTarget(new SomeTarget('T', resource)); @@ -810,7 +811,7 @@ describe('rule', () => { const targetAccount = '234567890123'; const targetRegion = 'us-east-1'; const targetStack = new cdk.Stack(app, 'TargetStack', { env: { account: targetAccount, region: targetRegion } }); - const resource = new cdk.Construct(targetStack, 'Resource'); + const resource = new Construct(targetStack, 'Resource'); rule.addTarget(new SomeTarget('T', resource)); // same target should be skipped @@ -884,7 +885,7 @@ describe('rule', () => { const targetApp = new cdk.App(); const targetAccount = '234567890123'; const targetStack = new cdk.Stack(targetApp, 'TargetStack', { env: { account: targetAccount, region: 'us-west-2' } }); - const resource = new cdk.Construct(targetStack, 'Resource'); + const resource = new Construct(targetStack, 'Resource'); expect(() => { rule.addTarget(new SomeTarget('T', resource)); @@ -915,8 +916,8 @@ describe('rule', () => { region: 'us-west-2', }, }); - const resource1 = new cdk.Construct(targetStack, 'Resource1'); - const resource2 = new cdk.Construct(targetStack, 'Resource2'); + const resource1 = new Construct(targetStack, 'Resource1'); + const resource2 = new Construct(targetStack, 'Resource2'); rule.addTarget(new SomeTarget('T1', resource1)); rule.addTarget(new SomeTarget('T2', resource2)); @@ -1001,7 +1002,7 @@ describe('rule', () => { region: 'us-west-2', }, }); - const resource = new cdk.Construct(targetStack, 'Resource1'); + const resource = new Construct(targetStack, 'Resource1'); rule.addTarget(new SomeTarget('T', resource)); @@ -1029,7 +1030,7 @@ describe('rule', () => { class SomeTarget implements IRuleTarget { // eslint-disable-next-line @aws-cdk/no-core-construct - public constructor(private readonly id?: string, private readonly resource?: cdk.IConstruct) { + public constructor(private readonly id?: string, private readonly resource?: IConstruct) { } public bind(): RuleTargetConfig { diff --git a/packages/@aws-cdk/aws-eventschemas/package.json b/packages/@aws-cdk/aws-eventschemas/package.json index 9586b097e62a0..cfa8dd8589132 100644 --- a/packages/@aws-cdk/aws-eventschemas/package.json +++ b/packages/@aws-cdk/aws-eventschemas/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-eventschemas", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::EventSchemas", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_eventschemas", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-evidently/package.json b/packages/@aws-cdk/aws-evidently/package.json index 2bfdac882d0a7..3d73246277f87 100644 --- a/packages/@aws-cdk/aws-evidently/package.json +++ b/packages/@aws-cdk/aws-evidently/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-evidently", "module": "aws_cdk.aws_evidently" @@ -91,13 +91,15 @@ "@types/jest": "^26.0.24" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-finspace/package.json b/packages/@aws-cdk/aws-finspace/package.json index c3f2f5c4ccd87..435a01b67d522 100644 --- a/packages/@aws-cdk/aws-finspace/package.json +++ b/packages/@aws-cdk/aws-finspace/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-finspace", "module": "aws_cdk.aws_finspace" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-fis/package.json b/packages/@aws-cdk/aws-fis/package.json index a8456f3b6f351..ac9dd2706d172 100644 --- a/packages/@aws-cdk/aws-fis/package.json +++ b/packages/@aws-cdk/aws-fis/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-fis", "module": "aws_cdk.aws_fis" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-fms/package.json b/packages/@aws-cdk/aws-fms/package.json index 6a973f7433909..4789377e5c1a7 100644 --- a/packages/@aws-cdk/aws-fms/package.json +++ b/packages/@aws-cdk/aws-fms/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-fms", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::FMS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_fms", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-forecast/package.json b/packages/@aws-cdk/aws-forecast/package.json index 1f7bde86fc9af..42abf913d5bcb 100644 --- a/packages/@aws-cdk/aws-forecast/package.json +++ b/packages/@aws-cdk/aws-forecast/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-forecast", "module": "aws_cdk.aws_forecast" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-frauddetector/package.json b/packages/@aws-cdk/aws-frauddetector/package.json index 69a209b61a1d0..ecee1cbabfa1c 100644 --- a/packages/@aws-cdk/aws-frauddetector/package.json +++ b/packages/@aws-cdk/aws-frauddetector/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-frauddetector", "module": "aws_cdk.aws_frauddetector" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-fsx/package.json b/packages/@aws-cdk/aws-fsx/package.json index ee4615e5ee009..2c5818803e018 100644 --- a/packages/@aws-cdk/aws-fsx/package.json +++ b/packages/@aws-cdk/aws-fsx/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-fsx", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::FSx", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_fsx", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -93,17 +94,17 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-gamelift/package.json b/packages/@aws-cdk/aws-gamelift/package.json index 7ba6081d207cf..243908f5c22b5 100644 --- a/packages/@aws-cdk/aws-gamelift/package.json +++ b/packages/@aws-cdk/aws-gamelift/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-gamelift", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::GameLift", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_gamelift", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json b/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json index 72eb40124b5ea..7d07eb2e96d67 100644 --- a/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json +++ b/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.aws_globalaccelerator_endpoints", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,7 +90,7 @@ "@aws-cdk/aws-elasticloadbalancingv2": "0.0.0", "@aws-cdk/aws-globalaccelerator": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -98,10 +98,10 @@ "@aws-cdk/aws-elasticloadbalancingv2": "0.0.0", "@aws-cdk/aws-globalaccelerator": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { @@ -109,6 +109,7 @@ }, "maturity": "stable", "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-globalaccelerator/package.json b/packages/@aws-cdk/aws-globalaccelerator/package.json index 19c350aa28742..44333f5577857 100644 --- a/packages/@aws-cdk/aws-globalaccelerator/package.json +++ b/packages/@aws-cdk/aws-globalaccelerator/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-globalaccelerator", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::GlobalAccelerator", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_globalaccelerator", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -93,16 +94,16 @@ "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -110,6 +111,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-glue/package.json b/packages/@aws-cdk/aws-glue/package.json index 36182dbc82fcb..e0c5d3599cbe1 100644 --- a/packages/@aws-cdk/aws-glue/package.json +++ b/packages/@aws-cdk/aws-glue/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-glue", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Glue", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_glue", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -100,7 +101,7 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -115,10 +116,10 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-glue/test/code.test.ts b/packages/@aws-cdk/aws-glue/test/code.test.ts index 2cc273f51d47d..baba757ac21d7 100644 --- a/packages/@aws-cdk/aws-glue/test/code.test.ts +++ b/packages/@aws-cdk/aws-glue/test/code.test.ts @@ -2,6 +2,7 @@ import * as path from 'path'; import { Template } from '@aws-cdk/assertions'; import * as s3 from '@aws-cdk/aws-s3'; import * as cdk from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as glue from '../lib'; describe('Code', () => { @@ -9,7 +10,8 @@ describe('Code', () => { let script: glue.Code; beforeEach(() => { - stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + stack = new cdk.Stack(app, 'Stack'); }); describe('.fromBucket()', () => { @@ -99,7 +101,7 @@ describe('Code', () => { }), }); - expect(stack.node.metadataEntry.find(m => m.type === 'aws:cdk:asset')).toBeDefined(); + expect(stack.node.metadata.find(m => m.type === 'aws:cdk:asset')).toBeDefined(); Template.fromStack(stack).hasResourceProperties('AWS::Glue::Job', { Command: { ScriptLocation: { @@ -256,7 +258,7 @@ describe('Code', () => { ], }; - expect(stack.node.metadataEntry.find(m => m.type === 'aws:cdk:asset')).toBeDefined(); + expect(stack.node.metadata.find(m => m.type === 'aws:cdk:asset')).toBeDefined(); // Job1 and Job2 use reuse the asset Template.fromStack(stack).hasResourceProperties('AWS::Glue::Job', { Command: { @@ -301,4 +303,4 @@ describe('Code', () => { })).toThrow(/associated with another stack/); }); }); -}); \ No newline at end of file +}); diff --git a/packages/@aws-cdk/aws-glue/test/job.integ.snapshot/aws-glue-job.assets.json b/packages/@aws-cdk/aws-glue/test/job.integ.snapshot/aws-glue-job.assets.json new file mode 100644 index 0000000000000..006547f08d0f0 --- /dev/null +++ b/packages/@aws-cdk/aws-glue/test/job.integ.snapshot/aws-glue-job.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "432033e3218068a915d2532fa9be7858a12b228a2ae6e5c10faccd9097b1e855": { + "source": { + "path": "asset.432033e3218068a915d2532fa9be7858a12b228a2ae6e5c10faccd9097b1e855.py", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "432033e3218068a915d2532fa9be7858a12b228a2ae6e5c10faccd9097b1e855.py", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "9621659bccc489f1130729575d70f1c13a90dc7584eac90773642d7ad0cc1914": { + "source": { + "path": "aws-glue-job.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9621659bccc489f1130729575d70f1c13a90dc7584eac90773642d7ad0cc1914.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-glue/test/job.integ.snapshot/tree.json b/packages/@aws-cdk/aws-glue/test/job.integ.snapshot/tree.json index 68e1218791352..7ad2be6bfd7a5 100644 --- a/packages/@aws-cdk/aws-glue/test/job.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-glue/test/job.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-glue-job": { @@ -203,13 +203,13 @@ "version": "0.0.0" } }, - "Code009934fdb50a7d9d52a9b30175796b8d": { - "id": "Code009934fdb50a7d9d52a9b30175796b8d", - "path": "aws-glue-job/EtlJob/Code009934fdb50a7d9d52a9b30175796b8d", + "Code091b8d1d12512c9c73f5ef5b87b54c6b": { + "id": "Code091b8d1d12512c9c73f5ef5b87b54c6b", + "path": "aws-glue-job/EtlJob/Code091b8d1d12512c9c73f5ef5b87b54c6b", "children": { "Stage": { "id": "Stage", - "path": "aws-glue-job/EtlJob/Code009934fdb50a7d9d52a9b30175796b8d/Stage", + "path": "aws-glue-job/EtlJob/Code091b8d1d12512c9c73f5ef5b87b54c6b/Stage", "constructInfo": { "fqn": "@aws-cdk/core.AssetStaging", "version": "0.0.0" @@ -217,7 +217,7 @@ }, "AssetBucket": { "id": "AssetBucket", - "path": "aws-glue-job/EtlJob/Code009934fdb50a7d9d52a9b30175796b8d/AssetBucket", + "path": "aws-glue-job/EtlJob/Code091b8d1d12512c9c73f5ef5b87b54c6b/AssetBucket", "constructInfo": { "fqn": "@aws-cdk/aws-s3.BucketBase", "version": "0.0.0" @@ -420,14 +420,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "StreamingJob": { @@ -852,4 +852,4 @@ "version": "0.0.0" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-glue/test/job.test.ts b/packages/@aws-cdk/aws-glue/test/job.test.ts index c9104daa92190..d30e5897443dd 100644 --- a/packages/@aws-cdk/aws-glue/test/job.test.ts +++ b/packages/@aws-cdk/aws-glue/test/job.test.ts @@ -322,7 +322,11 @@ describe('Job', () => { 's3:GetBucket*', 's3:List*', 's3:DeleteObject*', - 's3:PutObject*', + 's3:PutObject', + 's3:PutObjectLegalHold', + 's3:PutObjectRetention', + 's3:PutObjectTagging', + 's3:PutObjectVersionTagging', 's3:Abort*', ], Effect: 'Allow', @@ -407,7 +411,11 @@ describe('Job', () => { 's3:GetBucket*', 's3:List*', 's3:DeleteObject*', - 's3:PutObject*', + 's3:PutObject', + 's3:PutObjectLegalHold', + 's3:PutObjectRetention', + 's3:PutObjectTagging', + 's3:PutObjectVersionTagging', 's3:Abort*', ], Effect: 'Allow', diff --git a/packages/@aws-cdk/aws-glue/test/partition-index.integ.snapshot/aws-cdk-glue.assets.json b/packages/@aws-cdk/aws-glue/test/partition-index.integ.snapshot/aws-cdk-glue.assets.json new file mode 100644 index 0000000000000..a4049e97c1fd4 --- /dev/null +++ b/packages/@aws-cdk/aws-glue/test/partition-index.integ.snapshot/aws-cdk-glue.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "9cabea0d5c807c47e82130fdae3f7edc8b7b473b4531f5de58260fb08caee2dd": { + "source": { + "path": "aws-cdk-glue.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9cabea0d5c807c47e82130fdae3f7edc8b7b473b4531f5de58260fb08caee2dd.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-glue/test/partition-index.integ.snapshot/tree.json b/packages/@aws-cdk/aws-glue/test/partition-index.integ.snapshot/tree.json index 3386bf6012f1e..a5c592744f985 100644 --- a/packages/@aws-cdk/aws-glue/test/partition-index.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-glue/test/partition-index.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-glue": { @@ -616,14 +616,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "JSONTable": { diff --git a/packages/@aws-cdk/aws-glue/test/security-configuration.integ.snapshot/aws-glue-security-configuration.assets.json b/packages/@aws-cdk/aws-glue/test/security-configuration.integ.snapshot/aws-glue-security-configuration.assets.json new file mode 100644 index 0000000000000..345ab1f1af88f --- /dev/null +++ b/packages/@aws-cdk/aws-glue/test/security-configuration.integ.snapshot/aws-glue-security-configuration.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "287b6d2e4bd619fced2a0edafe529dc35477169dd6e2d42b1c953e2d9a36ef75": { + "source": { + "path": "aws-glue-security-configuration.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "287b6d2e4bd619fced2a0edafe529dc35477169dd6e2d42b1c953e2d9a36ef75.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-glue/test/security-configuration.integ.snapshot/tree.json b/packages/@aws-cdk/aws-glue/test/security-configuration.integ.snapshot/tree.json index a7954ce28ea76..28f3d5b999086 100644 --- a/packages/@aws-cdk/aws-glue/test/security-configuration.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-glue/test/security-configuration.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-glue-security-configuration": { diff --git a/packages/@aws-cdk/aws-glue/test/table.integ.snapshot/aws-cdk-glue.assets.json b/packages/@aws-cdk/aws-glue/test/table.integ.snapshot/aws-cdk-glue.assets.json new file mode 100644 index 0000000000000..772ec2685ec29 --- /dev/null +++ b/packages/@aws-cdk/aws-glue/test/table.integ.snapshot/aws-cdk-glue.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "92638b7a8efe38efd7c845883423f3767018a9e5bd3d67d8d638332f054d0d0f": { + "source": { + "path": "aws-cdk-glue.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "92638b7a8efe38efd7c845883423f3767018a9e5bd3d67d8d638332f054d0d0f.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-glue/test/table.integ.snapshot/tree.json b/packages/@aws-cdk/aws-glue/test/table.integ.snapshot/tree.json index 89a9f7ffac76d..5ec24f621772d 100644 --- a/packages/@aws-cdk/aws-glue/test/table.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-glue/test/table.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-glue": { diff --git a/packages/@aws-cdk/aws-greengrass/package.json b/packages/@aws-cdk/aws-greengrass/package.json index dd7e3cf711cae..bffc8e0a88515 100644 --- a/packages/@aws-cdk/aws-greengrass/package.json +++ b/packages/@aws-cdk/aws-greengrass/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-greengrass", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Greengrass", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_greengrass", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-greengrassv2/package.json b/packages/@aws-cdk/aws-greengrassv2/package.json index c5ddabf80377c..35c4862931fc0 100644 --- a/packages/@aws-cdk/aws-greengrassv2/package.json +++ b/packages/@aws-cdk/aws-greengrassv2/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.aws_greengrassv2", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -105,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-groundstation/package.json b/packages/@aws-cdk/aws-groundstation/package.json index 52b47beee2ead..8a1c1936ef196 100644 --- a/packages/@aws-cdk/aws-groundstation/package.json +++ b/packages/@aws-cdk/aws-groundstation/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-groundstation", "module": "aws_cdk.aws_groundstation" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-guardduty/package.json b/packages/@aws-cdk/aws-guardduty/package.json index f76dde86e28db..75f73d7c54e18 100644 --- a/packages/@aws-cdk/aws-guardduty/package.json +++ b/packages/@aws-cdk/aws-guardduty/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-guardduty", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::GuardDuty", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_guardduty", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-healthlake/package.json b/packages/@aws-cdk/aws-healthlake/package.json index 594b89631e019..bfc7b01c47f3a 100644 --- a/packages/@aws-cdk/aws-healthlake/package.json +++ b/packages/@aws-cdk/aws-healthlake/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-healthlake", "module": "aws_cdk.aws_healthlake" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-iam/lib/grant.ts b/packages/@aws-cdk/aws-iam/lib/grant.ts index f648d6a4572c3..c611fa6152255 100644 --- a/packages/@aws-cdk/aws-iam/lib/grant.ts +++ b/packages/@aws-cdk/aws-iam/lib/grant.ts @@ -1,4 +1,5 @@ import * as cdk from '@aws-cdk/core'; +import { Dependable, IConstruct, IDependable } from 'constructs'; import { PolicyStatement } from './policy-statement'; import { IGrantable, IPrincipal } from './principals'; @@ -58,7 +59,7 @@ export interface GrantOnPrincipalOptions extends CommonGrantOptions { * * @default - the construct in which this construct is defined */ - readonly scope?: cdk.IConstruct; + readonly scope?: IConstruct; } /** @@ -96,7 +97,7 @@ export interface GrantOnPrincipalAndResourceOptions extends CommonGrantOptions { * This class is not instantiable by consumers on purpose, so that they will be * required to call the Grant factory functions. */ -export class Grant implements cdk.IDependable { +export class Grant implements IDependable { /** * Grant the given permissions to the principal * @@ -247,9 +248,9 @@ export class Grant implements cdk.IDependable { this.principalStatement = props.principalStatement; this.resourceStatement = props.resourceStatement; - cdk.DependableTrait.implement(this, { + Dependable.implement(this, { get dependencyRoots() { - return props.policyDependable ? cdk.DependableTrait.get(props.policyDependable).dependencyRoots : []; + return props.policyDependable ? Dependable.of(props.policyDependable).dependencyRoots : []; }, }); } @@ -276,7 +277,7 @@ export class Grant implements cdk.IDependable { * * The same as construct.node.addDependency(grant), but slightly nicer to read. */ - public applyBefore(...constructs: cdk.IConstruct[]) { + public applyBefore(...constructs: IConstruct[]) { for (const construct of constructs) { construct.node.addDependency(this); } @@ -297,7 +298,7 @@ interface GrantProps { * * Used to add dependencies on grants */ - readonly policyDependable?: cdk.IDependable; + readonly policyDependable?: IDependable; } /** @@ -325,7 +326,7 @@ export interface AddToResourcePolicyResult { * @default - If `statementAdded` is true, the resource object itself. * Otherwise, no dependable. */ - readonly policyDependable?: cdk.IDependable; + readonly policyDependable?: IDependable; } /** @@ -335,11 +336,11 @@ export interface AddToResourcePolicyResult { * inner dependables, as they may be mutable so we need to defer * the query. */ -export class CompositeDependable implements cdk.IDependable { - constructor(...dependables: cdk.IDependable[]) { - cdk.DependableTrait.implement(this, { - get dependencyRoots(): cdk.IConstruct[] { - return Array.prototype.concat.apply([], dependables.map(d => cdk.DependableTrait.get(d).dependencyRoots)); +export class CompositeDependable implements IDependable { + constructor(...dependables: IDependable[]) { + Dependable.implement(this, { + get dependencyRoots(): IConstruct[] { + return Array.prototype.concat.apply([], dependables.map(d => Dependable.of(d).dependencyRoots)); }, }); } diff --git a/packages/@aws-cdk/aws-iam/lib/managed-policy.ts b/packages/@aws-cdk/aws-iam/lib/managed-policy.ts index 013542f4eef11..e8803ab6f0a8b 100644 --- a/packages/@aws-cdk/aws-iam/lib/managed-policy.ts +++ b/packages/@aws-cdk/aws-iam/lib/managed-policy.ts @@ -251,6 +251,8 @@ export class ManagedPolicy extends Resource implements IManagedPolicy { resource: 'policy', resourceName: this.physicalName, }); + + this.node.addValidation({ validate: () => this.validateManagedPolicy() }); } /** @@ -284,7 +286,7 @@ export class ManagedPolicy extends Resource implements IManagedPolicy { this.groups.push(group); } - protected validate(): string[] { + private validateManagedPolicy(): string[] { const result = new Array(); // validate that the policy document is not empty diff --git a/packages/@aws-cdk/aws-iam/lib/permissions-boundary.ts b/packages/@aws-cdk/aws-iam/lib/permissions-boundary.ts index 5084caf9fe4fc..cb1750d3a4f63 100644 --- a/packages/@aws-cdk/aws-iam/lib/permissions-boundary.ts +++ b/packages/@aws-cdk/aws-iam/lib/permissions-boundary.ts @@ -1,5 +1,5 @@ -import { CfnResource } from '@aws-cdk/core'; -import { Node, IConstruct } from 'constructs'; +import { Aspects, CfnResource } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { CfnRole, CfnUser } from './iam.generated'; import { IManagedPolicy } from './managed-policy'; @@ -31,7 +31,7 @@ export class PermissionsBoundary { * closest to the Role wins. */ public apply(boundaryPolicy: IManagedPolicy) { - Node.of(this.scope).applyAspect({ + Aspects.of(this.scope).add({ visit(node: IConstruct) { if ( CfnResource.isCfnResource(node) && @@ -47,7 +47,7 @@ export class PermissionsBoundary { * Remove previously applied Permissions Boundaries */ public clear() { - Node.of(this.scope).applyAspect({ + Aspects.of(this.scope).add({ visit(node: IConstruct) { if ( CfnResource.isCfnResource(node) && diff --git a/packages/@aws-cdk/aws-iam/lib/policy-document.ts b/packages/@aws-cdk/aws-iam/lib/policy-document.ts index 4898d676431b0..711c3399b59c4 100644 --- a/packages/@aws-cdk/aws-iam/lib/policy-document.ts +++ b/packages/@aws-cdk/aws-iam/lib/policy-document.ts @@ -1,6 +1,6 @@ import * as cdk from '@aws-cdk/core'; -import { IConstruct } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; +import { IConstruct } from 'constructs'; import { PolicyStatement, deriveEstimateSizeOptions } from './policy-statement'; import { mergeStatements } from './private/merge-statements'; import { PostProcessPolicyDocument } from './private/postprocess-policy-document'; @@ -187,7 +187,7 @@ export class PolicyDocument implements cdk.IResolvable { * * @internal */ - public _maybeMergeStatements(scope: cdk.IConstruct): void { + public _maybeMergeStatements(scope: IConstruct): void { if (this.shouldMerge(scope)) { const result = mergeStatements(scope, this.statements, false); this.statements.splice(0, this.statements.length, ...result.mergedStatements); diff --git a/packages/@aws-cdk/aws-iam/lib/policy-statement.ts b/packages/@aws-cdk/aws-iam/lib/policy-statement.ts index d94406bf7c94c..19cf7cff8b85b 100644 --- a/packages/@aws-cdk/aws-iam/lib/policy-statement.ts +++ b/packages/@aws-cdk/aws-iam/lib/policy-statement.ts @@ -1,5 +1,5 @@ import * as cdk from '@aws-cdk/core'; -import { IConstruct } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { Group } from './group'; import { AccountPrincipal, AccountRootPrincipal, AnyPrincipal, ArnPrincipal, CanonicalUserPrincipal, diff --git a/packages/@aws-cdk/aws-iam/lib/policy.ts b/packages/@aws-cdk/aws-iam/lib/policy.ts index 60862dca07c56..2de04f0990b73 100644 --- a/packages/@aws-cdk/aws-iam/lib/policy.ts +++ b/packages/@aws-cdk/aws-iam/lib/policy.ts @@ -177,6 +177,8 @@ export class Policy extends Resource implements IPolicy { if (props.statements) { props.statements.forEach(p => this.addStatements(p)); } + + this.node.addValidation({ validate: () => this.validatePolicy() }); } /** @@ -223,7 +225,7 @@ export class Policy extends Resource implements IPolicy { return this._policyName; } - protected validate(): string[] { + private validatePolicy(): string[] { const result = new Array(); // validate that the policy document is not empty diff --git a/packages/@aws-cdk/aws-iam/lib/principals.ts b/packages/@aws-cdk/aws-iam/lib/principals.ts index 2d535de9bf1b2..3f7c1792f30c5 100644 --- a/packages/@aws-cdk/aws-iam/lib/principals.ts +++ b/packages/@aws-cdk/aws-iam/lib/principals.ts @@ -1,5 +1,6 @@ import * as cdk from '@aws-cdk/core'; import { Default, FactName, RegionInfo } from '@aws-cdk/region-info'; +import { IDependable } from 'constructs'; import { IOpenIdConnectProvider } from './oidc-provider'; import { PolicyDocument } from './policy-document'; import { Condition, Conditions, PolicyStatement } from './policy-statement'; @@ -137,7 +138,7 @@ export interface AddToPrincipalPolicyResult { * * @default - Required if `statementAdded` is true. */ - readonly policyDependable?: cdk.IDependable; + readonly policyDependable?: IDependable; } /** diff --git a/packages/@aws-cdk/aws-iam/lib/private/immutable-role.ts b/packages/@aws-cdk/aws-iam/lib/private/immutable-role.ts index 8d0b454ffb97d..22c7374bf1771 100644 --- a/packages/@aws-cdk/aws-iam/lib/private/immutable-role.ts +++ b/packages/@aws-cdk/aws-iam/lib/private/immutable-role.ts @@ -1,5 +1,5 @@ -import { ConcreteDependable, DependableTrait, Resource } from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Resource } from '@aws-cdk/core'; +import { Construct, Dependable, DependencyGroup } from 'constructs'; import { Grant } from '../grant'; import { IManagedPolicy } from '../managed-policy'; import { Policy } from '../policy'; @@ -36,7 +36,7 @@ export class ImmutableRole extends Resource implements IRole { }); // implement IDependable privately - DependableTrait.implement(this, { + Dependable.implement(this, { dependencyRoots: [role], }); } @@ -57,7 +57,7 @@ export class ImmutableRole extends Resource implements IRole { // If we return `false`, the grants will try to add the statement to the resource // (if possible). const pretendSuccess = !this.addGrantsToResources; - return { statementAdded: pretendSuccess, policyDependable: new ConcreteDependable() }; + return { statementAdded: pretendSuccess, policyDependable: new DependencyGroup() }; } public grant(grantee: IPrincipal, ...actions: string[]): Grant { diff --git a/packages/@aws-cdk/aws-iam/lib/private/merge-statements.ts b/packages/@aws-cdk/aws-iam/lib/private/merge-statements.ts index 55447f238a586..b9a92d6a76d0f 100644 --- a/packages/@aws-cdk/aws-iam/lib/private/merge-statements.ts +++ b/packages/@aws-cdk/aws-iam/lib/private/merge-statements.ts @@ -3,8 +3,7 @@ // See docs/policy-merging.als for a formal model of the logic // implemented here. - -import { IConstruct } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; import { PolicyStatement, EstimateSizeOptions, deriveEstimateSizeOptions } from '../policy-statement'; import { IPrincipal } from '../principals'; import { LITERAL_STRING_KEY } from '../util'; diff --git a/packages/@aws-cdk/aws-iam/lib/role.ts b/packages/@aws-cdk/aws-iam/lib/role.ts index 4b19fb7a93c99..7451f68f31736 100644 --- a/packages/@aws-cdk/aws-iam/lib/role.ts +++ b/packages/@aws-cdk/aws-iam/lib/role.ts @@ -1,5 +1,5 @@ -import { ArnFormat, IConstruct, Duration, Resource, Stack, Token, TokenComparison, Aspects, ConcreteDependable, Annotations } from '@aws-cdk/core'; -import { Construct, Node } from 'constructs'; +import { ArnFormat, Duration, Resource, Stack, Token, TokenComparison, Aspects, Annotations } from '@aws-cdk/core'; +import { Construct, IConstruct, DependencyGroup, Node } from 'constructs'; import { Grant } from './grant'; import { CfnRole } from './iam.generated'; import { IIdentity } from './identity-base'; @@ -277,15 +277,20 @@ export class Role extends Resource implements IRole { throw new Error('\'addGrantsToResources\' can only be passed if \'mutable: false\''); } - const importedRole = new Import(scope, id); - const roleArnAndScopeStackAccountComparison = Token.compareStrings(importedRole.env.account, scopeStack.account); + const roleArnAndScopeStackAccountComparison = Token.compareStrings(roleAccount ?? '', scopeStack.account); const equalOrAnyUnresolved = roleArnAndScopeStackAccountComparison === TokenComparison.SAME || roleArnAndScopeStackAccountComparison === TokenComparison.BOTH_UNRESOLVED || roleArnAndScopeStackAccountComparison === TokenComparison.ONE_UNRESOLVED; + + // if we are returning an immutable role then the 'importedRole' is just a throwaway construct + // so give it a different id + const mutableRoleId = (options.mutable !== false && equalOrAnyUnresolved) ? id : `MutableRole${id}`; + const importedRole = new Import(scope, mutableRoleId); + // we only return an immutable Role if both accounts were explicitly provided, and different return options.mutable !== false && equalOrAnyUnresolved ? importedRole - : new ImmutableRole(scope, `ImmutableRole${id}`, importedRole, options.addGrantsToResources ?? false); + : new ImmutableRole(scope, id, importedRole, options.addGrantsToResources ?? false); } /** @@ -345,7 +350,7 @@ export class Role extends Resource implements IRole { private readonly managedPolicies: IManagedPolicy[] = []; private readonly attachedPolicies = new AttachedPolicies(); private readonly inlinePolicies: { [name: string]: PolicyDocument }; - private readonly dependables = new Map(); + private readonly dependables = new Map(); private immutableRole?: IRole; private _didSplit = false; @@ -414,6 +419,8 @@ export class Role extends Resource implements IRole { } }, }); + + this.node.addValidation({ validate: () => this.validateRole() }); } /** @@ -430,7 +437,7 @@ export class Role extends Resource implements IRole { // We might split this statement off into a different policy, so we'll need to // late-bind the dependable. - const policyDependable = new ConcreteDependable(); + const policyDependable = new DependencyGroup(); this.dependables.set(statement, policyDependable); return { statementAdded: true, policyDependable }; @@ -502,9 +509,9 @@ export class Role extends Resource implements IRole { return this.immutableRole; } - protected validate(): string[] { - const errors = super.validate(); - errors.push(...this.assumeRolePolicy?.validateForResourcePolicy() || []); + private validateRole(): string[] { + const errors = new Array(); + errors.push(...this.assumeRolePolicy?.validateForResourcePolicy() ?? []); for (const policy of Object.values(this.inlinePolicies)) { errors.push(...policy.validateForIdentityPolicy()); } @@ -655,4 +662,4 @@ export interface WithoutPolicyUpdatesOptions { * @default false */ readonly addGrantsToResources?: boolean; -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-iam/lib/unknown-principal.ts b/packages/@aws-cdk/aws-iam/lib/unknown-principal.ts index 7b06dd27fe381..f2761d0ab386e 100644 --- a/packages/@aws-cdk/aws-iam/lib/unknown-principal.ts +++ b/packages/@aws-cdk/aws-iam/lib/unknown-principal.ts @@ -1,5 +1,5 @@ -import { Annotations, ConcreteDependable, Stack } from '@aws-cdk/core'; -import { IConstruct, Node } from 'constructs'; +import { Annotations, Stack } from '@aws-cdk/core'; +import { DependencyGroup, IConstruct, Node } from 'constructs'; import { PolicyStatement } from './policy-statement'; import { AddToPrincipalPolicyResult, IPrincipal, PrincipalPolicyFragment } from './principals'; @@ -43,7 +43,7 @@ export class UnknownPrincipal implements IPrincipal { const repr = JSON.stringify(stack.resolve(statement)); Annotations.of(this.resource).addWarning(`Add statement to this resource's role: ${repr}`); // Pretend we did the work. The human will do it for us, eventually. - return { statementAdded: true, policyDependable: new ConcreteDependable() }; + return { statementAdded: true, policyDependable: new DependencyGroup() }; } public addToPolicy(statement: PolicyStatement): boolean { diff --git a/packages/@aws-cdk/aws-iam/package.json b/packages/@aws-cdk/aws-iam/package.json index 7ee3c8d7ade5e..e89e0a0412322 100644 --- a/packages/@aws-cdk/aws-iam/package.json +++ b/packages/@aws-cdk/aws-iam/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-iam", "version": "0.0.0", + "private": true, "description": "CDK routines for easily assigning correct and minimal IAM permissions", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_iam", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -94,16 +95,16 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-iam/test/composite-principal.integ.snapshot/iam-integ-composite-principal.assets.json b/packages/@aws-cdk/aws-iam/test/composite-principal.integ.snapshot/iam-integ-composite-principal.assets.json new file mode 100644 index 0000000000000..46143458dc84c --- /dev/null +++ b/packages/@aws-cdk/aws-iam/test/composite-principal.integ.snapshot/iam-integ-composite-principal.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "66bf2baed5c2acbe5b7c30ebfcbdf50217882156bc95865eae4cb73d6bfe2397": { + "source": { + "path": "iam-integ-composite-principal.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "66bf2baed5c2acbe5b7c30ebfcbdf50217882156bc95865eae4cb73d6bfe2397.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-iam/test/composite-principal.integ.snapshot/tree.json b/packages/@aws-cdk/aws-iam/test/composite-principal.integ.snapshot/tree.json index 6b04fe9d05e94..aef87d79d8730 100644 --- a/packages/@aws-cdk/aws-iam/test/composite-principal.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-iam/test/composite-principal.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "iam-integ-composite-principal": { diff --git a/packages/@aws-cdk/aws-iam/test/example.attaching.lit.ts b/packages/@aws-cdk/aws-iam/test/example.attaching.lit.ts index ce1a1901ded1f..19940453d684c 100644 --- a/packages/@aws-cdk/aws-iam/test/example.attaching.lit.ts +++ b/packages/@aws-cdk/aws-iam/test/example.attaching.lit.ts @@ -1,17 +1,13 @@ -import * as cdk from '@aws-cdk/core'; -import * as constructs from 'constructs'; +import { SecretValue } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { Group, Policy, User } from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export class ExampleConstruct extends Construct { - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); /// !show - const user = new User(this, 'MyUser', { password: cdk.SecretValue.unsafePlainText('1234') }); + const user = new User(this, 'MyUser', { password: SecretValue.plainText('1234') }); const group = new Group(this, 'MyGroup'); const policy = new Policy(this, 'MyPolicy'); diff --git a/packages/@aws-cdk/aws-iam/test/example.external-id.lit.ts b/packages/@aws-cdk/aws-iam/test/example.external-id.lit.ts index f13fae1c0837b..35db3c5d49da8 100644 --- a/packages/@aws-cdk/aws-iam/test/example.external-id.lit.ts +++ b/packages/@aws-cdk/aws-iam/test/example.external-id.lit.ts @@ -1,12 +1,8 @@ -import * as constructs from 'constructs'; +import { Construct } from 'constructs'; import * as iam from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export class ExampleConstruct extends Construct { - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); /// !show diff --git a/packages/@aws-cdk/aws-iam/test/example.managedpolicy.lit.ts b/packages/@aws-cdk/aws-iam/test/example.managedpolicy.lit.ts index 6e2859ad24a60..1229c040d5962 100644 --- a/packages/@aws-cdk/aws-iam/test/example.managedpolicy.lit.ts +++ b/packages/@aws-cdk/aws-iam/test/example.managedpolicy.lit.ts @@ -1,12 +1,8 @@ -import * as constructs from 'constructs'; +import { Construct } from 'constructs'; import { Group, ManagedPolicy } from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export class ExampleConstruct extends Construct { - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); /// !show diff --git a/packages/@aws-cdk/aws-iam/test/example.role.lit.ts b/packages/@aws-cdk/aws-iam/test/example.role.lit.ts index 0a2c6eb9ecb48..74ed4c9e02057 100644 --- a/packages/@aws-cdk/aws-iam/test/example.role.lit.ts +++ b/packages/@aws-cdk/aws-iam/test/example.role.lit.ts @@ -1,12 +1,8 @@ -import * as constructs from 'constructs'; +import { Construct } from 'constructs'; import { PolicyStatement, Role, ServicePrincipal } from '../lib'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - export class ExampleConstruct extends Construct { - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); /// !show diff --git a/packages/@aws-cdk/aws-iam/test/immutable-role.test.ts b/packages/@aws-cdk/aws-iam/test/immutable-role.test.ts index 12cb38dc9542b..671e4ff917e2f 100644 --- a/packages/@aws-cdk/aws-iam/test/immutable-role.test.ts +++ b/packages/@aws-cdk/aws-iam/test/immutable-role.test.ts @@ -1,10 +1,10 @@ -import { Template } from '@aws-cdk/assertions'; +import { Template, Match } from '@aws-cdk/assertions'; import { Stack } from '@aws-cdk/core'; import * as iam from '../lib'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /* eslint-disable quote-props */ @@ -53,6 +53,57 @@ describe('ImmutableRole', () => { }); }); + test('id of mutable role remains unchanged', () => { + iam.Role.fromRoleName(stack, 'TestRole123', 'my-role'); + expect(stack.node.tryFindChild('TestRole123')).not.toBeUndefined(); + expect(stack.node.tryFindChild('MutableRoleTestRole123')).toBeUndefined(); + }); + + test('remains mutable when called multiple times', () => { + const user = new iam.User(stack, 'User'); + const policy = new iam.Policy(stack, 'Policy', { + statements: [new iam.PolicyStatement({ + resources: ['*'], + actions: ['s3:*'], + })], + users: [user], + }); + + function findRole(): iam.IRole { + const foundRole = stack.node.tryFindChild('MyRole') as iam.IRole; + if (foundRole) { + return foundRole; + } + return iam.Role.fromRoleArn(stack, 'MyRole', 'arn:aws:iam::12345:role/role-name', { mutable: false }); + } + + let foundRole = findRole(); + foundRole.attachInlinePolicy(policy); + foundRole = findRole(); + foundRole.attachInlinePolicy(policy); + + expect(stack.node.tryFindChild('MutableRoleMyRole')).not.toBeUndefined(); + Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { + 'PolicyDocument': { + 'Statement': [ + { + 'Action': 's3:*', + 'Resource': '*', + 'Effect': 'Allow', + }, + ], + 'Version': '2012-10-17', + }, + 'PolicyName': 'Policy23B91518', + 'Roles': Match.absent(), + 'Users': [ + { + 'Ref': 'User00B015A1', + }, + ], + }); + }); + test('ignores calls to addManagedPolicy', () => { mutableRole.addManagedPolicy({ managedPolicyArn: 'Arn1' }); @@ -117,4 +168,4 @@ describe('ImmutableRole', () => { new Construct(immutableRole as unknown as Construct, 'Child'); new Construct(mutableRole.withoutPolicyUpdates() as unknown as Construct, 'Child2'); }); -}); \ No newline at end of file +}); diff --git a/packages/@aws-cdk/aws-imagebuilder/package.json b/packages/@aws-cdk/aws-imagebuilder/package.json index 8314f14643b99..658a7835bb6a3 100644 --- a/packages/@aws-cdk/aws-imagebuilder/package.json +++ b/packages/@aws-cdk/aws-imagebuilder/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-imagebuilder", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ImageBuilder", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_imagebuilder", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-inspector/package.json b/packages/@aws-cdk/aws-inspector/package.json index 6ede4cbafb908..a8aea8f98001f 100644 --- a/packages/@aws-cdk/aws-inspector/package.json +++ b/packages/@aws-cdk/aws-inspector/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-inspector", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Inspector", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_inspector", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-inspectorv2/package.json b/packages/@aws-cdk/aws-inspectorv2/package.json index 8898663b495c5..4b33071e22caf 100644 --- a/packages/@aws-cdk/aws-inspectorv2/package.json +++ b/packages/@aws-cdk/aws-inspectorv2/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-inspectorv2", "module": "aws_cdk.aws_inspectorv2" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-iot-actions/lib/private/role.ts b/packages/@aws-cdk/aws-iot-actions/lib/private/role.ts index 78c72b914f56b..7c3f2cd8ac219 100644 --- a/packages/@aws-cdk/aws-iot-actions/lib/private/role.ts +++ b/packages/@aws-cdk/aws-iot-actions/lib/private/role.ts @@ -1,9 +1,6 @@ import * as iam from '@aws-cdk/aws-iam'; -import { IConstruct, PhysicalName } from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { PhysicalName } from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; /** * Obtain the Role for the TopicRule diff --git a/packages/@aws-cdk/aws-iot-actions/package.json b/packages/@aws-cdk/aws-iot-actions/package.json index 803eea6459ce3..6780f4702f51b 100644 --- a/packages/@aws-cdk/aws-iot-actions/package.json +++ b/packages/@aws-cdk/aws-iot-actions/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.aws_iot_actions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -83,8 +83,8 @@ "@aws-cdk/integ-runner": "0.0.0", "@aws-cdk/pkglint": "0.0.0", "@types/jest": "^27.5.0", - "constructs": "^3.3.69", - "jest": "^27.5.1" + "jest": "^27.5.1", + "constructs": "^10.0.0" }, "dependencies": { "@aws-cdk/aws-cloudwatch": "0.0.0", @@ -99,7 +99,7 @@ "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", "case": "1.6.3", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -114,13 +114,13 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "bundledDependencies": [ "case" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -128,6 +128,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.integ.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.integ.snapshot/test-stack.assets.json new file mode 100644 index 0000000000000..afb932df8439d --- /dev/null +++ b/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.integ.snapshot/test-stack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "0bc06d1247fd30bcdb3a0ed2e6f6356d08de7bd5b1a013695f138e9999516f5b": { + "source": { + "path": "test-stack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0bc06d1247fd30bcdb3a0ed2e6f6356d08de7bd5b1a013695f138e9999516f5b.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.integ.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.integ.snapshot/tree.json index d4c151f04e539..d1e634cecad8f 100644 --- a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-stack": { diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.integ.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.integ.snapshot/test-stack.assets.json new file mode 100644 index 0000000000000..b82a1aeab7b92 --- /dev/null +++ b/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.integ.snapshot/test-stack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "69c542a351db3aeefb82681c26b281533a4ed5cb1ea78643fee47af240e0ad55": { + "source": { + "path": "test-stack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "69c542a351db3aeefb82681c26b281533a4ed5cb1ea78643fee47af240e0ad55.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.integ.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.integ.snapshot/tree.json index c65c152c8393a..481985c7d8707 100644 --- a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-stack": { diff --git a/packages/@aws-cdk/aws-iot/package.json b/packages/@aws-cdk/aws-iot/package.json index fffdaced8d8ca..bea699d29a7ae 100644 --- a/packages/@aws-cdk/aws-iot/package.json +++ b/packages/@aws-cdk/aws-iot/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-iot", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::IoT", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_iot", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,15 +90,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-iot/test/topic-rule.integ.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot/test/topic-rule.integ.snapshot/test-stack.assets.json new file mode 100644 index 0000000000000..d94156c2f4cc9 --- /dev/null +++ b/packages/@aws-cdk/aws-iot/test/topic-rule.integ.snapshot/test-stack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d50090fbe5678c31ed21caae07c16cfd4767778ce303e452ca29c31ece195f32": { + "source": { + "path": "test-stack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d50090fbe5678c31ed21caae07c16cfd4767778ce303e452ca29c31ece195f32.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-iot/test/topic-rule.integ.snapshot/tree.json b/packages/@aws-cdk/aws-iot/test/topic-rule.integ.snapshot/tree.json index 526edc64ee314..f5829e7ea2abf 100644 --- a/packages/@aws-cdk/aws-iot/test/topic-rule.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-iot/test/topic-rule.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-stack": { diff --git a/packages/@aws-cdk/aws-iot1click/package.json b/packages/@aws-cdk/aws-iot1click/package.json index 36a182310c640..0e6e20507d601 100644 --- a/packages/@aws-cdk/aws-iot1click/package.json +++ b/packages/@aws-cdk/aws-iot1click/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-iot1click", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::IoT1Click", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_iot1click", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-iotanalytics/package.json b/packages/@aws-cdk/aws-iotanalytics/package.json index 781cc26924726..4019957007445 100644 --- a/packages/@aws-cdk/aws-iotanalytics/package.json +++ b/packages/@aws-cdk/aws-iotanalytics/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-iotanalytics", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::IoTAnalytics", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_iotanalytics", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json b/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json index 47ff17ba3a93a..5ecd6583b019d 100644 --- a/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json +++ b/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-iotcoredeviceadvisor", "module": "aws_cdk.aws_iotcoredeviceadvisor" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-iotevents-actions/package.json b/packages/@aws-cdk/aws-iotevents-actions/package.json index 9579ee0e05ab6..db249c9bae42e 100644 --- a/packages/@aws-cdk/aws-iotevents-actions/package.json +++ b/packages/@aws-cdk/aws-iotevents-actions/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.aws_iotevents_actions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -82,7 +82,7 @@ "@aws-cdk/aws-iotevents": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -90,10 +90,10 @@ "@aws-cdk/aws-iotevents": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -102,5 +102,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-iotevents/package.json b/packages/@aws-cdk/aws-iotevents/package.json index 7f46f676582b0..c7e9f2aea4aae 100644 --- a/packages/@aws-cdk/aws-iotevents/package.json +++ b/packages/@aws-cdk/aws-iotevents/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-iotevents", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::IoTEvents", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_iotevents", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,15 +93,15 @@ "dependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-iotfleethub/package.json b/packages/@aws-cdk/aws-iotfleethub/package.json index fb9711a97ec54..bbe46effc5047 100644 --- a/packages/@aws-cdk/aws-iotfleethub/package.json +++ b/packages/@aws-cdk/aws-iotfleethub/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-iotfleethub", "module": "aws_cdk.aws_iotfleethub" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-iotsitewise/package.json b/packages/@aws-cdk/aws-iotsitewise/package.json index 052dc3a6aa89f..9c2d3613a27d7 100644 --- a/packages/@aws-cdk/aws-iotsitewise/package.json +++ b/packages/@aws-cdk/aws-iotsitewise/package.json @@ -3,6 +3,7 @@ "version": "0.0.0", "description": "The CDK Construct Library for AWS::IoTSiteWise", "main": "lib/index.js", + "private": true, "types": "lib/index.d.ts", "jsii": { "outdir": "dist", @@ -23,7 +24,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-iotsitewise", "module": "aws_cdk.aws_iotsitewise" @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-iotthingsgraph/package.json b/packages/@aws-cdk/aws-iotthingsgraph/package.json index cb22856afde7a..6f7f63c3c42d2 100644 --- a/packages/@aws-cdk/aws-iotthingsgraph/package.json +++ b/packages/@aws-cdk/aws-iotthingsgraph/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-iotthingsgraph", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::IoTThingsGraph", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_iotthingsgraph", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-iottwinmaker/package.json b/packages/@aws-cdk/aws-iottwinmaker/package.json index 477445a8ce650..4de674f3913a4 100644 --- a/packages/@aws-cdk/aws-iottwinmaker/package.json +++ b/packages/@aws-cdk/aws-iottwinmaker/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-iottwinmaker", "module": "aws_cdk.aws_iottwinmaker" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-iotwireless/package.json b/packages/@aws-cdk/aws-iotwireless/package.json index 7277d87c6b162..ffe18d6509895 100644 --- a/packages/@aws-cdk/aws-iotwireless/package.json +++ b/packages/@aws-cdk/aws-iotwireless/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-iotwireless", "module": "aws_cdk.aws_iotwireless" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-ivs/package.json b/packages/@aws-cdk/aws-ivs/package.json index 41792e532cd58..fe5f7c6509596 100644 --- a/packages/@aws-cdk/aws-ivs/package.json +++ b/packages/@aws-cdk/aws-ivs/package.json @@ -3,13 +3,14 @@ "version": "0.0.0", "description": "The CDK Construct Library for AWS::IVS", "main": "lib/index.js", + "private": true, "types": "lib/index.d.ts", "jsii": { "outdir": "dist", "projectReferences": true, "targets": { "dotnet": { - "namespace": "Amazon.CDK.AWS.IVS", + "namespace": "Amazon.CDK.AWS.Ivs", "packageId": "Amazon.CDK.AWS.IVS", "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png" }, @@ -23,7 +24,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-ivs", "module": "aws_cdk.aws_ivs" @@ -100,14 +101,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-ivs/test/ivs.integ.snapshot/aws-cdk-ivs.assets.json b/packages/@aws-cdk/aws-ivs/test/ivs.integ.snapshot/aws-cdk-ivs.assets.json new file mode 100644 index 0000000000000..9f88007d3ab52 --- /dev/null +++ b/packages/@aws-cdk/aws-ivs/test/ivs.integ.snapshot/aws-cdk-ivs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b36ed5e0442d45ac76fe1b3f5b5145badac1a90491b827d69d0abf253f7b5a39": { + "source": { + "path": "aws-cdk-ivs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b36ed5e0442d45ac76fe1b3f5b5145badac1a90491b827d69d0abf253f7b5a39.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ivs/test/ivs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ivs/test/ivs.integ.snapshot/tree.json index cb523f2e3859d..56d2afa3fac29 100644 --- a/packages/@aws-cdk/aws-ivs/test/ivs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ivs/test/ivs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-ivs": { diff --git a/packages/@aws-cdk/aws-kafkaconnect/package.json b/packages/@aws-cdk/aws-kafkaconnect/package.json index aee1524236963..b402d74c583c7 100644 --- a/packages/@aws-cdk/aws-kafkaconnect/package.json +++ b/packages/@aws-cdk/aws-kafkaconnect/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-kafkaconnect", "module": "aws_cdk.aws_kafkaconnect" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-kendra/package.json b/packages/@aws-cdk/aws-kendra/package.json index 87ead4d3fde25..d549ad3d5e189 100644 --- a/packages/@aws-cdk/aws-kendra/package.json +++ b/packages/@aws-cdk/aws-kendra/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-kendra", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Kendra", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -32,7 +33,7 @@ "module": "aws_cdk.aws_kendra", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } } @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-kinesis/package.json b/packages/@aws-cdk/aws-kinesis/package.json index e104539074419..60bab4535a5d5 100644 --- a/packages/@aws-cdk/aws-kinesis/package.json +++ b/packages/@aws-cdk/aws-kinesis/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-kinesis", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Kinesis", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_kinesis", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -93,7 +94,7 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -102,10 +103,10 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-kinesis/test/stream.integ.snapshot/integ-kinesis-stream.assets.json b/packages/@aws-cdk/aws-kinesis/test/stream.integ.snapshot/integ-kinesis-stream.assets.json new file mode 100644 index 0000000000000..612fe989366f6 --- /dev/null +++ b/packages/@aws-cdk/aws-kinesis/test/stream.integ.snapshot/integ-kinesis-stream.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "f27550f05f1852993570414002ca947328443edfcf3e2e6971467a6c16ed594c": { + "source": { + "path": "integ-kinesis-stream.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f27550f05f1852993570414002ca947328443edfcf3e2e6971467a6c16ed594c.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesis/test/stream.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kinesis/test/stream.integ.snapshot/tree.json index 6b138644fbc0d..64401ffb25f22 100644 --- a/packages/@aws-cdk/aws-kinesis/test/stream.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesis/test/stream.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-kinesis-stream": { diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/lib/application-code.ts b/packages/@aws-cdk/aws-kinesisanalytics-flink/lib/application-code.ts index c7d7b49180086..2f72734ed9e47 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink/lib/application-code.ts +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/lib/application-code.ts @@ -1,7 +1,7 @@ import * as ka from '@aws-cdk/aws-kinesisanalytics'; import * as s3 from '@aws-cdk/aws-s3'; import * as s3_assets from '@aws-cdk/aws-s3-assets'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The return type of {@link ApplicationCode.bind}. This represents diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json b/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json index 5100493febeab..dfd97e07c7e5d 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json @@ -8,14 +8,14 @@ "outdir": "dist", "targets": { "java": { - "package": "software.amazon.awscdk.services.kinesis.analytics.flink", + "package": "software.amazon.awscdk.services.kinesisanalytics.flink", "maven": { "groupId": "software.amazon.awscdk", "artifactId": "kinesisanalytics-flink" } }, "dotnet": { - "namespace": "Amazon.CDK.AWS.KinesisAnalyticsFlink", + "namespace": "Amazon.CDK.AWS.Kinesisanalytics.Flink", "packageId": "Amazon.CDK.AWS.KinesisAnalyticsFlink", "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png" }, @@ -24,7 +24,7 @@ "module": "aws_cdk.aws_kinesisanalytics_flink", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,7 +90,8 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -103,10 +104,11 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -124,6 +126,7 @@ } }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application-code-from-bucket.lit.integ.snapshot/FlinkAppCodeFromBucketTest.assets.json b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application-code-from-bucket.lit.integ.snapshot/FlinkAppCodeFromBucketTest.assets.json new file mode 100644 index 0000000000000..2963a73c6f31f --- /dev/null +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application-code-from-bucket.lit.integ.snapshot/FlinkAppCodeFromBucketTest.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577": { + "source": { + "path": "asset.8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "5d987383da354a8f070aa7573df3dfcd74a8aaab72453d5c699f5f07fa515eb9": { + "source": { + "path": "FlinkAppCodeFromBucketTest.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5d987383da354a8f070aa7573df3dfcd74a8aaab72453d5c699f5f07fa515eb9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application-code-from-bucket.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application-code-from-bucket.lit.integ.snapshot/tree.json index 04fab1f01dee9..e4d8443b8eccc 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application-code-from-bucket.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application-code-from-bucket.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "FlinkAppCodeFromBucketTest": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "App": { diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.lit.integ.snapshot/FlinkAppTest.assets.json b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.lit.integ.snapshot/FlinkAppTest.assets.json new file mode 100644 index 0000000000000..808bf113a204a --- /dev/null +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.lit.integ.snapshot/FlinkAppTest.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577": { + "source": { + "path": "asset.8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6a548d3ecdf0b4512e7a9daacb758b510488782b547493bdb82ac1785bd2503": { + "source": { + "path": "FlinkAppTest.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6a548d3ecdf0b4512e7a9daacb758b510488782b547493bdb82ac1785bd2503.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.lit.integ.snapshot/tree.json index fe70efb557be7..e27dbe6a6b8d4 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "FlinkAppTest": { @@ -441,14 +441,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Alarm": { diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.test.ts b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.test.ts index 8c951730e65c2..f663c2b4cc0e7 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.test.ts +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/test/application.test.ts @@ -5,6 +5,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as logs from '@aws-cdk/aws-logs'; import * as s3 from '@aws-cdk/aws-s3'; import * as core from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as flink from '../lib'; describe('Application', () => { @@ -208,6 +209,13 @@ describe('Application', () => { }); test('using an asset for code', () => { + const app = new core.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + stack = new core.Stack(app); + const code = flink.ApplicationCode.fromAsset(path.join(__dirname, 'code-asset')); new flink.Application(stack, 'FlinkApplication', { ...requiredProps, diff --git a/packages/@aws-cdk/aws-kinesisanalytics/package.json b/packages/@aws-cdk/aws-kinesisanalytics/package.json index d0c4b850e6bc5..d316b583669c8 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics/package.json +++ b/packages/@aws-cdk/aws-kinesisanalytics/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-kinesisanalytics", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::KinesisAnalytics", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_kinesisanalytics", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,15 +91,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json b/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json index 6af64bb339e15..c577ae8552123 100644 --- a/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json +++ b/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-kinesisanalyticsv2", "module": "aws_cdk.aws_kinesisanalyticsv2" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations/lib/private/helpers.ts b/packages/@aws-cdk/aws-kinesisfirehose-destinations/lib/private/helpers.ts index b841776a47d4c..39e0f6a97e472 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations/lib/private/helpers.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations/lib/private/helpers.ts @@ -5,7 +5,7 @@ import * as kms from '@aws-cdk/aws-kms'; import * as logs from '@aws-cdk/aws-logs'; import * as s3 from '@aws-cdk/aws-s3'; import * as cdk from '@aws-cdk/core'; -import { Construct, Node } from 'constructs'; +import { Construct, IDependable, Node } from 'constructs'; import { DestinationS3BackupProps } from '../common'; export interface DestinationLoggingProps { @@ -42,7 +42,7 @@ interface ConfigWithDependables { /** * Resources that were created by the sub-config creator that must be deployed before the delivery stream is deployed. */ - readonly dependables: cdk.IDependable[]; + readonly dependables: IDependable[]; } export interface DestinationLoggingConfig extends ConfigWithDependables { diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json index 69363a7628be7..19c506dc99297 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.aws_kinesisfirehose_destinations", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,7 +88,7 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -98,10 +98,10 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -117,6 +117,7 @@ } }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.lit.integ.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.assets.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.lit.integ.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.assets.json new file mode 100644 index 0000000000000..88d7a1d2919cf --- /dev/null +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.lit.integ.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.assets.json @@ -0,0 +1,45 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "3a0df356c74318460e8172175150c9d21465d77dcfdda6f7686b4b10af25db19": { + "source": { + "path": "/home/hallcor/work/aws-cdk-fork", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3a0df356c74318460e8172175150c9d21465d77dcfdda6f7686b4b10af25db19.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "b45f276b7cf0f059173ac995a23975e42973813f5920b0064ce65aca50ac0ac4": { + "source": { + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b45f276b7cf0f059173ac995a23975e42973813f5920b0064ce65aca50ac0ac4.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.lit.integ.snapshot/tree.json index 6c05efd2e5adb..900b7b6d471d5 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-firehose-delivery-stream-s3-all-properties": { @@ -200,8 +200,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "9d04b6e97fcffe55f90ce717ab61c19d06df5a0c5c364c765216bf31a9c98d7d": { @@ -234,14 +234,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BackupBucket": { diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.test.ts b/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.test.ts index e4543a4215d3c..d7149164a8b36 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.test.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations/test/s3-bucket.test.ts @@ -87,7 +87,11 @@ describe('S3 destination', () => { 's3:GetBucket*', 's3:List*', 's3:DeleteObject*', - 's3:PutObject*', + 's3:PutObject', + 's3:PutObjectLegalHold', + 's3:PutObjectRetention', + 's3:PutObjectTagging', + 's3:PutObjectVersionTagging', 's3:Abort*', ], Effect: 'Allow', @@ -119,7 +123,11 @@ describe('S3 destination', () => { 's3:GetBucket*', 's3:List*', 's3:DeleteObject*', - 's3:PutObject*', + 's3:PutObject', + 's3:PutObjectLegalHold', + 's3:PutObjectRetention', + 's3:PutObjectTagging', + 's3:PutObjectVersionTagging', 's3:Abort*', ], Effect: 'Allow', diff --git a/packages/@aws-cdk/aws-kinesisfirehose/lib/destination.ts b/packages/@aws-cdk/aws-kinesisfirehose/lib/destination.ts index eb277babcdebb..c10bf39a22b05 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/lib/destination.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose/lib/destination.ts @@ -1,5 +1,4 @@ -import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Construct, IDependable } from 'constructs'; import { CfnDeliveryStream } from './kinesisfirehose.generated'; /** @@ -18,7 +17,7 @@ export interface DestinationConfig { * * @default [] */ - readonly dependables?: cdk.IDependable[]; + readonly dependables?: IDependable[]; } /** diff --git a/packages/@aws-cdk/aws-kinesisfirehose/package.json b/packages/@aws-cdk/aws-kinesisfirehose/package.json index 6e1dd6e9d673f..a9499a8c1f630 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/package.json +++ b/packages/@aws-cdk/aws-kinesisfirehose/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-kinesisfirehose", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::KinesisFirehose", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_kinesisfirehose", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -98,7 +99,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -112,10 +113,10 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.integ.snapshot/aws-cdk-firehose-delivery-stream.assets.json b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.integ.snapshot/aws-cdk-firehose-delivery-stream.assets.json new file mode 100644 index 0000000000000..d74ebdf991488 --- /dev/null +++ b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.integ.snapshot/aws-cdk-firehose-delivery-stream.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "ac330db85f413f80f43254eb6b1dae941ab38f339e2078c66b7b2555273249d9": { + "source": { + "path": "aws-cdk-firehose-delivery-stream.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ac330db85f413f80f43254eb6b1dae941ab38f339e2078c66b7b2555273249d9.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.integ.snapshot/tree.json index c8df5e5ebbcde..4bea5c557f14d 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-firehose-delivery-stream": { diff --git a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.source-stream.integ.snapshot/aws-cdk-firehose-delivery-stream-source-stream.assets.json b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.source-stream.integ.snapshot/aws-cdk-firehose-delivery-stream-source-stream.assets.json new file mode 100644 index 0000000000000..14a94a3cd43eb --- /dev/null +++ b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.source-stream.integ.snapshot/aws-cdk-firehose-delivery-stream-source-stream.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "c617ae5b22c9987b824de1e29b827500d55cb28d923086024cd580827829af87": { + "source": { + "path": "aws-cdk-firehose-delivery-stream-source-stream.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c617ae5b22c9987b824de1e29b827500d55cb28d923086024cd580827829af87.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.source-stream.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.source-stream.integ.snapshot/tree.json index 96d6d79d9c298..bf9d722293061 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.source-stream.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.source-stream.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-firehose-delivery-stream-source-stream": { diff --git a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.test.ts b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.test.ts index 2c29fe9876c06..3522497782ce0 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.test.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose/test/delivery-stream.test.ts @@ -24,7 +24,7 @@ describe('delivery stream', () => { }); mockS3Destination = { bind(scope: Construct, _options: firehose.DestinationBindOptions): firehose.DestinationConfig { - dependable = new class extends cdk.Construct { + dependable = new class extends Construct { constructor(depScope: Construct, id: string) { super(depScope, id); new cdk.CfnResource(this, 'Resource', { type: 'CDK::Dummy' }); diff --git a/packages/@aws-cdk/aws-kinesisvideo/package.json b/packages/@aws-cdk/aws-kinesisvideo/package.json index c51988a1bb132..5356237148bf4 100644 --- a/packages/@aws-cdk/aws-kinesisvideo/package.json +++ b/packages/@aws-cdk/aws-kinesisvideo/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-kinesisvideo", "module": "aws_cdk.aws_kinesisvideo" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-kms/lib/key.ts b/packages/@aws-cdk/aws-kms/lib/key.ts index 62f0ad7ddf0a0..4c8993607e2f3 100644 --- a/packages/@aws-cdk/aws-kms/lib/key.ts +++ b/packages/@aws-cdk/aws-kms/lib/key.ts @@ -94,6 +94,12 @@ abstract class KeyBase extends Resource implements IKey { */ private readonly aliases: Alias[] = []; + constructor(scope: Construct, id: string) { + super(scope, id); + + this.node.addValidation({ validate: () => this.policy?.validateForResourcePolicy() ?? [] }); + } + /** * Defines a new alias for the key. */ @@ -125,12 +131,6 @@ abstract class KeyBase extends Resource implements IKey { return { statementAdded: true, policyDependable: this.policy }; } - protected validate(): string[] { - const errors = super.validate(); - errors.push(...this.policy?.validateForResourcePolicy() || []); - return errors; - } - /** * Grant the indicated permissions on this key to the given principal * diff --git a/packages/@aws-cdk/aws-kms/package.json b/packages/@aws-cdk/aws-kms/package.json index e93724a29d801..fd2517fef1ccf 100644 --- a/packages/@aws-cdk/aws-kms/package.json +++ b/packages/@aws-cdk/aws-kms/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-kms", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::KMS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_kms", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,7 +93,7 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -100,10 +101,10 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ @@ -116,6 +117,6 @@ }, "maturity": "stable", "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-kms/test/alias.test.ts b/packages/@aws-cdk/aws-kms/test/alias.test.ts index 01e0b6f353b62..8cc73fde158ab 100644 --- a/packages/@aws-cdk/aws-kms/test/alias.test.ts +++ b/packages/@aws-cdk/aws-kms/test/alias.test.ts @@ -6,7 +6,7 @@ import { IKey, Key } from '../lib/key'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; test('default alias', () => { const app = new App(); diff --git a/packages/@aws-cdk/aws-kms/test/key-sharing.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kms/test/key-sharing.lit.integ.snapshot/tree.json index b27f99e0707aa..10c2e0bc9c818 100644 --- a/packages/@aws-cdk/aws-kms/test/key-sharing.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kms/test/key-sharing.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KeyStack": { @@ -81,8 +81,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-kms/test/key.integ.snapshot/aws-cdk-kms-1.assets.json b/packages/@aws-cdk/aws-kms/test/key.integ.snapshot/aws-cdk-kms-1.assets.json new file mode 100644 index 0000000000000..ed1a17e2d2e39 --- /dev/null +++ b/packages/@aws-cdk/aws-kms/test/key.integ.snapshot/aws-cdk-kms-1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "45de954784a05d98ee9f25e784aa25fde05afe87b6d86dfdd10f2824d32f531a": { + "source": { + "path": "aws-cdk-kms-1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "45de954784a05d98ee9f25e784aa25fde05afe87b6d86dfdd10f2824d32f531a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kms/test/key.integ.snapshot/tree.json b/packages/@aws-cdk/aws-kms/test/key.integ.snapshot/tree.json index 547c5f8f9bc5d..8e287c97a844c 100644 --- a/packages/@aws-cdk/aws-kms/test/key.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kms/test/key.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-kms-1": { diff --git a/packages/@aws-cdk/aws-lakeformation/package.json b/packages/@aws-cdk/aws-lakeformation/package.json index e66f849675b21..0ecce7789c977 100644 --- a/packages/@aws-cdk/aws-lakeformation/package.json +++ b/packages/@aws-cdk/aws-lakeformation/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-lakeformation", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::LakeFormation", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_lakeformation", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-lambda-destinations/lib/event-bridge.ts b/packages/@aws-cdk/aws-lambda-destinations/lib/event-bridge.ts index 9cdcc5c86a83b..fce0478f3cc58 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/lib/event-bridge.ts +++ b/packages/@aws-cdk/aws-lambda-destinations/lib/event-bridge.ts @@ -4,7 +4,7 @@ import { Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use an Event Bridge event bus as a Lambda destination. diff --git a/packages/@aws-cdk/aws-lambda-destinations/lib/lambda.ts b/packages/@aws-cdk/aws-lambda-destinations/lib/lambda.ts index 319546471473d..e573319523c78 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/lib/lambda.ts +++ b/packages/@aws-cdk/aws-lambda-destinations/lib/lambda.ts @@ -1,12 +1,11 @@ import * as events from '@aws-cdk/aws-events'; import * as targets from '@aws-cdk/aws-events-targets'; import * as lambda from '@aws-cdk/aws-lambda'; - import { EventBridgeDestination } from './event-bridge'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Options for a Lambda destination diff --git a/packages/@aws-cdk/aws-lambda-destinations/lib/sns.ts b/packages/@aws-cdk/aws-lambda-destinations/lib/sns.ts index 02dac90734625..3029269b0e115 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/lib/sns.ts +++ b/packages/@aws-cdk/aws-lambda-destinations/lib/sns.ts @@ -1,6 +1,6 @@ import * as lambda from '@aws-cdk/aws-lambda'; import * as sns from '@aws-cdk/aws-sns'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use a SNS topic as a Lambda destination diff --git a/packages/@aws-cdk/aws-lambda-destinations/lib/sqs.ts b/packages/@aws-cdk/aws-lambda-destinations/lib/sqs.ts index 873e43f56f05d..fde015e2eacc2 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/lib/sqs.ts +++ b/packages/@aws-cdk/aws-lambda-destinations/lib/sqs.ts @@ -1,6 +1,6 @@ import * as lambda from '@aws-cdk/aws-lambda'; import * as sqs from '@aws-cdk/aws-sqs'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use a SQS queue as a Lambda destination diff --git a/packages/@aws-cdk/aws-lambda-destinations/package.json b/packages/@aws-cdk/aws-lambda-destinations/package.json index d3871ee4288c2..7b3e641e92bf6 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/package.json +++ b/packages/@aws-cdk/aws-lambda-destinations/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-lambda-destinations", "version": "0.0.0", + "private": true, "description": "CDK Destinations Constructs for AWS Lambda", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_lambda_destinations", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,7 +88,7 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -97,10 +98,10 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { diff --git a/packages/@aws-cdk/aws-lambda-destinations/test/destinations.integ.snapshot/aws-cdk-lambda-destinations.assets.json b/packages/@aws-cdk/aws-lambda-destinations/test/destinations.integ.snapshot/aws-cdk-lambda-destinations.assets.json new file mode 100644 index 0000000000000..bd82b455d9a91 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda-destinations/test/destinations.integ.snapshot/aws-cdk-lambda-destinations.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "476828076c099a22440fd1246ae789476cab04cb80080db5c91b577ec07db938": { + "source": { + "path": "aws-cdk-lambda-destinations.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "476828076c099a22440fd1246ae789476cab04cb80080db5c91b577ec07db938.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda-destinations/test/destinations.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda-destinations/test/destinations.integ.snapshot/tree.json index 21deb427e0113..53a29b1fdc866 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/test/destinations.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda-destinations/test/destinations.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-lambda-destinations": { diff --git a/packages/@aws-cdk/aws-lambda-event-sources/lib/kafka.ts b/packages/@aws-cdk/aws-lambda-event-sources/lib/kafka.ts index a781b3a17e7e9..ab34eb865364c 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/lib/kafka.ts +++ b/packages/@aws-cdk/aws-lambda-event-sources/lib/kafka.ts @@ -5,10 +5,7 @@ import * as lambda from '@aws-cdk/aws-lambda'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import { Stack, Names } from '@aws-cdk/core'; import { StreamEventSource, BaseStreamEventSourceProps } from './stream'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for a Kafka event source @@ -188,7 +185,7 @@ export class SelfManagedKafkaEventSource extends StreamEventSource { } public bind(target: lambda.IFunction) { - if (!Construct.isConstruct(target)) { throw new Error('Function is not a construct. Unexpected error.'); } + if (!(target instanceof Construct)) { throw new Error('Function is not a construct. Unexpected error.'); } target.addEventSourceMapping( this.mappingId(target), this.enrichMappingOptions({ diff --git a/packages/@aws-cdk/aws-lambda-event-sources/package.json b/packages/@aws-cdk/aws-lambda-event-sources/package.json index 6112c79250479..196d808a969a5 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/package.json +++ b/packages/@aws-cdk/aws-lambda-event-sources/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-lambda-event-sources", "version": "0.0.0", + "private": true, "description": "Event sources for AWS Lambda", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_lambda_event_sources", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -93,7 +94,7 @@ "@aws-cdk/aws-sns-subscriptions": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -111,10 +112,10 @@ "@aws-cdk/aws-sns-subscriptions": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/kinesis.integ.snapshot/lambda-event-source-kinesis.assets.json b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesis.integ.snapshot/lambda-event-source-kinesis.assets.json new file mode 100644 index 0000000000000..81046c79555c7 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesis.integ.snapshot/lambda-event-source-kinesis.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9e0f50886f28a253b36e04a6510ce025dcb34393c15819e4a20800404d9607ed": { + "source": { + "path": "lambda-event-source-kinesis.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9e0f50886f28a253b36e04a6510ce025dcb34393c15819e4a20800404d9607ed.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/kinesis.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesis.integ.snapshot/tree.json index f71d76c5f2413..593a2b6620c09 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/test/kinesis.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesis.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "lambda-event-source-kinesis": { diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/kinesiswithdlq.integ.snapshot/lambda-event-source-kinesis-with-dlq.assets.json b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesiswithdlq.integ.snapshot/lambda-event-source-kinesis-with-dlq.assets.json new file mode 100644 index 0000000000000..0cccab9dc7a80 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesiswithdlq.integ.snapshot/lambda-event-source-kinesis-with-dlq.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "411b7def5f147f5cd556a34823435c68a70871aac5383ded1e65673bb21b4218": { + "source": { + "path": "lambda-event-source-kinesis-with-dlq.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "411b7def5f147f5cd556a34823435c68a70871aac5383ded1e65673bb21b4218.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/kinesiswithdlq.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesiswithdlq.integ.snapshot/tree.json index 952558e29cbeb..083da9c442a90 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/test/kinesiswithdlq.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/kinesiswithdlq.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "lambda-event-source-kinesis-with-dlq": { diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/s3.integ.snapshot/lambda-event-source-s3.assets.json b/packages/@aws-cdk/aws-lambda-event-sources/test/s3.integ.snapshot/lambda-event-source-s3.assets.json new file mode 100644 index 0000000000000..d4ee80298eac1 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/s3.integ.snapshot/lambda-event-source-s3.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "64a8993c4481c14e46c23718cd7a1dec12bbed721da41ab143c0635da546882e": { + "source": { + "path": "lambda-event-source-s3.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "64a8993c4481c14e46c23718cd7a1dec12bbed721da41ab143c0635da546882e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/s3.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda-event-sources/test/s3.integ.snapshot/tree.json index ba6383c477ec8..d0af4fe079075 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/test/s3.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/s3.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "lambda-event-source-s3": { @@ -223,8 +223,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AllowBucketNotificationsTolambdaeventsources3F74160805": { @@ -331,14 +331,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BucketNotificationsHandler050a0587b7544547bf325f094a3db834": { @@ -443,8 +443,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/sqs.integ.snapshot/lambda-event-source-sqs.assets.json b/packages/@aws-cdk/aws-lambda-event-sources/test/sqs.integ.snapshot/lambda-event-source-sqs.assets.json new file mode 100644 index 0000000000000..498c55074bcdf --- /dev/null +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/sqs.integ.snapshot/lambda-event-source-sqs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "633852e9d1c2b0304874bb6dab55438bd1af49a4779a8fa10bed5c9802e9b39e": { + "source": { + "path": "lambda-event-source-sqs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "633852e9d1c2b0304874bb6dab55438bd1af49a4779a8fa10bed5c9802e9b39e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda-event-sources/test/sqs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda-event-sources/test/sqs.integ.snapshot/tree.json index d39fc51f53c5c..22a074336ba68 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/test/sqs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda-event-sources/test/sqs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "lambda-event-source-sqs": { diff --git a/packages/@aws-cdk/aws-lambda-go/lib/function.ts b/packages/@aws-cdk/aws-lambda-go/lib/function.ts index 4c7220ee27dce..ec249d6d6790f 100644 --- a/packages/@aws-cdk/aws-lambda-go/lib/function.ts +++ b/packages/@aws-cdk/aws-lambda-go/lib/function.ts @@ -1,14 +1,11 @@ import * as fs from 'fs'; import * as path from 'path'; import * as lambda from '@aws-cdk/aws-lambda'; +import { Construct } from 'constructs'; import { Bundling } from './bundling'; import { BundlingOptions } from './types'; import { findUp } from './util'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for a GolangFunction */ diff --git a/packages/@aws-cdk/aws-lambda-go/package.json b/packages/@aws-cdk/aws-lambda-go/package.json index 7ba8dbd2e9188..510246469e48c 100644 --- a/packages/@aws-cdk/aws-lambda-go/package.json +++ b/packages/@aws-cdk/aws-lambda-go/package.json @@ -26,7 +26,7 @@ "module": "aws_cdk.aws_lambda_go", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -83,16 +83,16 @@ "dependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -105,6 +105,7 @@ ] }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-lambda-nodejs/lib/function.ts b/packages/@aws-cdk/aws-lambda-nodejs/lib/function.ts index eea143f5713f9..ea3b1f9b6f005 100644 --- a/packages/@aws-cdk/aws-lambda-nodejs/lib/function.ts +++ b/packages/@aws-cdk/aws-lambda-nodejs/lib/function.ts @@ -2,15 +2,12 @@ import * as fs from 'fs'; import * as path from 'path'; import * as lambda from '@aws-cdk/aws-lambda'; import { Architecture } from '@aws-cdk/aws-lambda'; +import { Construct } from 'constructs'; import { Bundling } from './bundling'; import { LockFile } from './package-manager'; import { BundlingOptions } from './types'; import { callsites, findUpMultiple } from './util'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for a NodejsFunction */ diff --git a/packages/@aws-cdk/aws-lambda-nodejs/package.json b/packages/@aws-cdk/aws-lambda-nodejs/package.json index c2b0df0abca13..8f11facf66a69 100644 --- a/packages/@aws-cdk/aws-lambda-nodejs/package.json +++ b/packages/@aws-cdk/aws-lambda-nodejs/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-lambda-nodejs", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS Lambda in Node.js", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_lambda_nodejs", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -83,16 +84,16 @@ "dependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-lambda-python/lib/function.ts b/packages/@aws-cdk/aws-lambda-python/lib/function.ts index d82c2e210ecb6..a6236fe0ce0d4 100644 --- a/packages/@aws-cdk/aws-lambda-python/lib/function.ts +++ b/packages/@aws-cdk/aws-lambda-python/lib/function.ts @@ -1,15 +1,11 @@ import * as fs from 'fs'; import * as path from 'path'; +import { Construct } from 'constructs'; import { Function, FunctionOptions, Runtime, RuntimeFamily } from '@aws-cdk/aws-lambda'; import { Stack } from '@aws-cdk/core'; import { Bundling } from './bundling'; import { BundlingOptions } from './types'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Properties for a PythonFunction */ diff --git a/packages/@aws-cdk/aws-lambda-python/lib/layer.ts b/packages/@aws-cdk/aws-lambda-python/lib/layer.ts index 516a221b588d8..3ed2f30a25c46 100644 --- a/packages/@aws-cdk/aws-lambda-python/lib/layer.ts +++ b/packages/@aws-cdk/aws-lambda-python/lib/layer.ts @@ -6,7 +6,7 @@ import { BundlingOptions } from './types'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for PythonLayerVersion diff --git a/packages/@aws-cdk/aws-lambda-python/package.json b/packages/@aws-cdk/aws-lambda-python/package.json index a091498e25b88..b0056a2e466a5 100644 --- a/packages/@aws-cdk/aws-lambda-python/package.json +++ b/packages/@aws-cdk/aws-lambda-python/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-lambda-python", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS Lambda in Python", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_lambda_python", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -81,17 +82,17 @@ "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -104,6 +105,6 @@ ] }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-lambda/lib/code.ts b/packages/@aws-cdk/aws-lambda/lib/code.ts index 40bbd218fd780..c5ae7f91d27bc 100644 --- a/packages/@aws-cdk/aws-lambda/lib/code.ts +++ b/packages/@aws-cdk/aws-lambda/lib/code.ts @@ -4,10 +4,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as s3 from '@aws-cdk/aws-s3'; import * as s3_assets from '@aws-cdk/aws-s3-assets'; import * as cdk from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Represents the Lambda Handler Code. diff --git a/packages/@aws-cdk/aws-lambda/lib/destination.ts b/packages/@aws-cdk/aws-lambda/lib/destination.ts index 8e2917ab827fc..1a80c06b0a0e9 100644 --- a/packages/@aws-cdk/aws-lambda/lib/destination.ts +++ b/packages/@aws-cdk/aws-lambda/lib/destination.ts @@ -1,9 +1,8 @@ - import { IFunction } from './function-base'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * A destination configuration diff --git a/packages/@aws-cdk/aws-lambda/lib/filesystem.ts b/packages/@aws-cdk/aws-lambda/lib/filesystem.ts index e27e643cbd6d7..2ac3e770b0f46 100644 --- a/packages/@aws-cdk/aws-lambda/lib/filesystem.ts +++ b/packages/@aws-cdk/aws-lambda/lib/filesystem.ts @@ -1,7 +1,8 @@ import { Connections } from '@aws-cdk/aws-ec2'; import * as efs from '@aws-cdk/aws-efs'; import * as iam from '@aws-cdk/aws-iam'; -import { IDependable, Stack } from '@aws-cdk/core'; +import { Stack } from '@aws-cdk/core'; +import { IDependable } from 'constructs'; /** * FileSystem configurations for the Lambda function diff --git a/packages/@aws-cdk/aws-lambda/lib/function-base.ts b/packages/@aws-cdk/aws-lambda/lib/function-base.ts index e8745f366c4dd..be833695e73b7 100644 --- a/packages/@aws-cdk/aws-lambda/lib/function-base.ts +++ b/packages/@aws-cdk/aws-lambda/lib/function-base.ts @@ -2,7 +2,8 @@ import { createHash } from 'crypto'; import * as cloudwatch from '@aws-cdk/aws-cloudwatch'; import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; -import { Annotations, ArnFormat, ConstructNode, IResource, Resource, Token } from '@aws-cdk/core'; +import { Annotations, ArnFormat, IResource, Resource, Token } from '@aws-cdk/core'; +import { Node } from 'constructs'; import { AliasOptions } from './alias'; import { Architecture } from './architecture'; import { EventInvokeConfig, EventInvokeConfigOptions } from './event-invoke-config'; @@ -16,7 +17,7 @@ import { addAlias, flatMap } from './util'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface IFunction extends IResource, ec2.IConnectable, iam.IGrantable { @@ -61,7 +62,7 @@ export interface IFunction extends IResource, ec2.IConnectable, iam.IGrantable { /** * The construct node where permissions are attached. */ - readonly permissionsNode: ConstructNode; + readonly permissionsNode: Node; /** * The system architectures compatible with this lambda function. @@ -251,7 +252,7 @@ export abstract class FunctionBase extends Resource implements IFunction, ec2.IC /** * The construct node where permissions are attached. */ - public abstract readonly permissionsNode: ConstructNode; + public abstract readonly permissionsNode: Node; /** * The architecture of this Lambda Function. @@ -476,7 +477,7 @@ export abstract class FunctionBase extends Resource implements IFunction, ec2.IC * For use internally for constructs, when the tree is set up in non-standard ways. Ex: SingletonFunction. * @internal */ - protected _functionNode(): ConstructNode { + protected _functionNode(): Node { return this.node; } diff --git a/packages/@aws-cdk/aws-lambda/lib/function.ts b/packages/@aws-cdk/aws-lambda/lib/function.ts index 2dfe5c7ffacdd..1d26e85576f27 100644 --- a/packages/@aws-cdk/aws-lambda/lib/function.ts +++ b/packages/@aws-cdk/aws-lambda/lib/function.ts @@ -6,9 +6,9 @@ import * as kms from '@aws-cdk/aws-kms'; import * as logs from '@aws-cdk/aws-logs'; import * as sns from '@aws-cdk/aws-sns'; import * as sqs from '@aws-cdk/aws-sqs'; -import { Annotations, ArnFormat, CfnResource, Duration, FeatureFlags, Fn, IAspect, IConstruct, Lazy, Names, Size, Stack, Token } from '@aws-cdk/core'; +import { Annotations, ArnFormat, CfnResource, Duration, FeatureFlags, Fn, IAspect, Lazy, Names, Size, Stack, Token } from '@aws-cdk/core'; import { LAMBDA_RECOGNIZE_LAYER_VERSION } from '@aws-cdk/cx-api'; -import { Construct } from 'constructs'; +import { Construct, IConstruct } from 'constructs'; import { AliasOptions, Alias } from './alias'; import { Architecture } from './architecture'; import { Code, CodeConfig } from './code'; diff --git a/packages/@aws-cdk/aws-lambda/lib/permission.ts b/packages/@aws-cdk/aws-lambda/lib/permission.ts index 2808bab77ff65..1d4da4085066e 100644 --- a/packages/@aws-cdk/aws-lambda/lib/permission.ts +++ b/packages/@aws-cdk/aws-lambda/lib/permission.ts @@ -1,10 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; - import { FunctionUrlAuthType } from './function-url'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Represents a permission statement that can be added to a Lambda function's diff --git a/packages/@aws-cdk/aws-lambda/lib/private/scalable-function-attribute.ts b/packages/@aws-cdk/aws-lambda/lib/private/scalable-function-attribute.ts index 34ceb28ad861f..b04a1964e015d 100644 --- a/packages/@aws-cdk/aws-lambda/lib/private/scalable-function-attribute.ts +++ b/packages/@aws-cdk/aws-lambda/lib/private/scalable-function-attribute.ts @@ -4,7 +4,7 @@ import { IScalableFunctionAttribute, UtilizationScalingOptions } from '../scalab // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * A scalable lambda alias attribute diff --git a/packages/@aws-cdk/aws-lambda/lib/scalable-attribute-api.ts b/packages/@aws-cdk/aws-lambda/lib/scalable-attribute-api.ts index e64fcbd5a8ca7..de1501cdee0f1 100644 --- a/packages/@aws-cdk/aws-lambda/lib/scalable-attribute-api.ts +++ b/packages/@aws-cdk/aws-lambda/lib/scalable-attribute-api.ts @@ -1,6 +1,5 @@ import * as appscaling from '@aws-cdk/aws-applicationautoscaling'; -import { IConstruct } from '@aws-cdk/core'; - +import { IConstruct } from 'constructs'; /** * Interface for scalable attributes diff --git a/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts b/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts index 33365c81037a4..ffe9fd558785c 100644 --- a/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts +++ b/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts @@ -2,7 +2,7 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; import * as logs from '@aws-cdk/aws-logs'; import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { Construct, IConstruct, IDependable, Node } from 'constructs'; import { Architecture } from './architecture'; import { Function as LambdaFunction, FunctionProps, EnvironmentOptions } from './function'; import { FunctionBase } from './function-base'; @@ -50,7 +50,7 @@ export class SingletonFunction extends FunctionBase { public readonly functionName: string; public readonly functionArn: string; public readonly role?: iam.IRole; - public readonly permissionsNode: cdk.ConstructNode; + public readonly permissionsNode: Node; public readonly architecture: Architecture; /** @@ -151,7 +151,7 @@ export class SingletonFunction extends FunctionBase { * Using node.addDependency() does not work on this method as the underlying lambda function is modeled * as a singleton across the stack. Use this method instead to declare dependencies. */ - public addDependency(...up: cdk.IDependable[]) { + public addDependency(...up: IDependable[]) { this.lambdaFunction.node.addDependency(...up); } @@ -159,7 +159,7 @@ export class SingletonFunction extends FunctionBase { * The SingletonFunction construct cannot be added as a dependency of another construct using * node.addDependency(). Use this method instead to declare this as a dependency of another construct. */ - public dependOn(down: cdk.IConstruct) { + public dependOn(down: IConstruct) { down.node.addDependency(this.lambdaFunction); } @@ -172,7 +172,7 @@ export class SingletonFunction extends FunctionBase { * Returns the construct tree node that corresponds to the lambda function. * @internal */ - protected _functionNode(): cdk.ConstructNode { + protected _functionNode(): Node { return this.lambdaFunction.node; } diff --git a/packages/@aws-cdk/aws-lambda/package.json b/packages/@aws-cdk/aws-lambda/package.json index 8783b4048e5f6..721f9cef74e9a 100644 --- a/packages/@aws-cdk/aws-lambda/package.json +++ b/packages/@aws-cdk/aws-lambda/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-lambda", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Lambda", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_lambda", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -116,7 +117,7 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -139,10 +140,10 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/aws-lambda-autoscaling.assets.json b/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/aws-lambda-autoscaling.assets.json new file mode 100644 index 0000000000000..5607818261f9b --- /dev/null +++ b/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/aws-lambda-autoscaling.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b93cdcba3ed31fa504737700e3669892b4305ee4ca612e8fa29dc6df180ebd1a": { + "source": { + "path": "aws-lambda-autoscaling.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b93cdcba3ed31fa504737700e3669892b4305ee4ca612e8fa29dc6df180ebd1a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/manifest.json index 64264d0be91ac..416e907f98c8c 100644 --- a/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/manifest.json @@ -57,10 +57,10 @@ "data": "FunctionName" } ], - "MyLambdaCurrentVersionE7A382CCa1b19066cadcfb5b078bffbfb5b1e687": [ + "MyLambdaCurrentVersionE7A382CCdcbc579545d1d05c38def865a59d6082": [ { "type": "aws:cdk:logicalId", - "data": "MyLambdaCurrentVersionE7A382CCa1b19066cadcfb5b078bffbfb5b1e687", + "data": "MyLambdaCurrentVersionE7A382CCdcbc579545d1d05c38def865a59d6082", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/tree.json index d83bb4b12de15..a51251e43cda3 100644 --- a/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda/test/autoscaling.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-lambda-autoscaling": { diff --git a/packages/@aws-cdk/aws-lambda/test/code.test.ts b/packages/@aws-cdk/aws-lambda/test/code.test.ts index 79f2bae611a29..ad86fcd5951ed 100644 --- a/packages/@aws-cdk/aws-lambda/test/code.test.ts +++ b/packages/@aws-cdk/aws-lambda/test/code.test.ts @@ -1,7 +1,7 @@ import * as path from 'path'; import { Match, Template } from '@aws-cdk/assertions'; import * as ecr from '@aws-cdk/aws-ecr'; -import { testFutureBehavior } from '@aws-cdk/cdk-build-tools'; +import { testLegacyBehavior } from '@aws-cdk/cdk-build-tools'; import * as cdk from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import * as lambda from '../lib'; @@ -31,7 +31,11 @@ describe('code', () => { test('only one Asset object gets created even if multiple functions use the same AssetCode', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); const stack = new cdk.Stack(app, 'MyStack'); const directoryAsset = lambda.Code.fromAsset(path.join(__dirname, 'my-lambda-handler')); @@ -302,8 +306,7 @@ describe('code', () => { }); describe('lambda.Code.fromImageAsset', () => { - const flags = { [cxapi.DOCKER_IGNORE_SUPPORT]: true }; - testFutureBehavior('repository uri is correctly identified', flags, cdk.App, (app) => { + testLegacyBehavior('repository uri is correctly identified', cdk.App, (app) => { // given const stack = new cdk.Stack(app); @@ -357,33 +360,6 @@ describe('code', () => { }); }); - test('only one Asset object gets created even if multiple functions use the same AssetImageCode', () => { - // given - const app = new cdk.App(); - const stack = new cdk.Stack(app, 'MyStack'); - const directoryAsset = lambda.Code.fromAssetImage(path.join(__dirname, 'docker-lambda-handler')); - - // when - new lambda.Function(stack, 'Fn1', { - code: directoryAsset, - handler: lambda.Handler.FROM_IMAGE, - runtime: lambda.Runtime.FROM_IMAGE, - }); - - new lambda.Function(stack, 'Fn2', { - code: directoryAsset, - handler: lambda.Handler.FROM_IMAGE, - runtime: lambda.Runtime.FROM_IMAGE, - }); - - // then - const assembly = app.synth(); - const synthesized = assembly.stacks[0]; - - // Func1 has an asset, Func2 does not - expect(synthesized.assets.length).toEqual(1); - }); - test('adds code asset metadata', () => { // given const stack = new cdk.Stack(); @@ -407,7 +383,7 @@ describe('code', () => { // then Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Metadata: { - [cxapi.ASSET_RESOURCE_METADATA_PATH_KEY]: 'asset.dd84d39b518e69c0e62a55312372cdd9ab3ef901c74a4861d92e951215257b3c', + [cxapi.ASSET_RESOURCE_METADATA_PATH_KEY]: 'asset.30b57ded32316be9aa6553a1d81689f1e0cb475a94306c557e05048f9f56bd79', [cxapi.ASSET_RESOURCE_METADATA_DOCKERFILE_PATH_KEY]: dockerfilePath, [cxapi.ASSET_RESOURCE_METADATA_DOCKER_BUILD_ARGS_KEY]: dockerBuildArgs, [cxapi.ASSET_RESOURCE_METADATA_DOCKER_BUILD_TARGET_KEY]: dockerBuildTarget, @@ -431,7 +407,7 @@ describe('code', () => { // then Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Metadata: { - [cxapi.ASSET_RESOURCE_METADATA_PATH_KEY]: 'asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd', + [cxapi.ASSET_RESOURCE_METADATA_PATH_KEY]: 'asset.768d7b6c1d41b85135f498fe0cca69fea410be3c3322c69cf08690aaad29a610', [cxapi.ASSET_RESOURCE_METADATA_DOCKERFILE_PATH_KEY]: 'Dockerfile', [cxapi.ASSET_RESOURCE_METADATA_PROPERTY_KEY]: 'Code.ImageUri', }, diff --git a/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/lambda-test-current-version.assets.json b/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/lambda-test-current-version.assets.json new file mode 100644 index 0000000000000..efa3b007832ce --- /dev/null +++ b/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/lambda-test-current-version.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "8811a2632ac5564a08fd269e159298f7e497f259578b0dc5e927a1f48ab24d34": { + "source": { + "path": "asset.8811a2632ac5564a08fd269e159298f7e497f259578b0dc5e927a1f48ab24d34", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8811a2632ac5564a08fd269e159298f7e497f259578b0dc5e927a1f48ab24d34.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "13087c254cb1ce2fbc95e778d18de1135915e922348977e1031d2fe986b1d9aa": { + "source": { + "path": "lambda-test-current-version.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "13087c254cb1ce2fbc95e778d18de1135915e922348977e1031d2fe986b1d9aa.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/manifest.json index c76ae363745ea..d4e190f1d8741 100644 --- a/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/manifest.json @@ -80,10 +80,10 @@ "data": "AssetParameters8811a2632ac5564a08fd269e159298f7e497f259578b0dc5e927a1f48ab24d34ArtifactHash70E274C4" } ], - "MyLambdaCurrentVersionE7A382CC132baf6493c3210af4c8c0e36b416660": [ + "MyLambdaCurrentVersionE7A382CC721de083c6b4b6360a9c534b79eb610e": [ { "type": "aws:cdk:logicalId", - "data": "MyLambdaCurrentVersionE7A382CC132baf6493c3210af4c8c0e36b416660", + "data": "MyLambdaCurrentVersionE7A382CC721de083c6b4b6360a9c534b79eb610e", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/tree.json index 4ca00596e83cd..7c3758494aa5d 100644 --- a/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda/test/current-version.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "lambda-test-current-version": { @@ -294,14 +294,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-lambda/test/function-hash.test.ts b/packages/@aws-cdk/aws-lambda/test/function-hash.test.ts index 3862406118e7f..b1553e57eca57 100644 --- a/packages/@aws-cdk/aws-lambda/test/function-hash.test.ts +++ b/packages/@aws-cdk/aws-lambda/test/function-hash.test.ts @@ -1,7 +1,7 @@ import * as path from 'path'; import { resourceSpecification } from '@aws-cdk/cfnspec'; import { App, CfnOutput, CfnResource, Stack } from '@aws-cdk/core'; -import { LAMBDA_RECOGNIZE_LAYER_VERSION, LAMBDA_RECOGNIZE_VERSION_PROPS } from '@aws-cdk/cx-api'; +import * as cxapi from '@aws-cdk/cx-api'; import * as lambda from '../lib'; import { calculateFunctionHash, trimFromStart, VERSION_LOCKED } from '../lib/function-hash'; @@ -23,14 +23,19 @@ describe('function hash', () => { describe('calcHash', () => { test('same configuration and code yields the same hash', () => { - const stack1 = new Stack(); + const app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack1 = new Stack(app, 'Stack1'); const fn1 = new lambda.Function(stack1, 'MyFunction1', { runtime: lambda.Runtime.NODEJS_12_X, code: lambda.Code.fromAsset(path.join(__dirname, 'handler.zip')), handler: 'index.handler', }); - const stack2 = new Stack(); + const stack2 = new Stack(app, 'Stack2'); const fn2 = new lambda.Function(stack2, 'MyFunction1', { runtime: lambda.Runtime.NODEJS_12_X, code: lambda.Code.fromAsset(path.join(__dirname, 'handler.zip')), @@ -38,24 +43,34 @@ describe('function hash', () => { }); expect(calculateFunctionHash(fn1)).toEqual(calculateFunctionHash(fn2)); - expect(calculateFunctionHash(fn1)).toEqual('aea5463dba236007afe91d2832b3c836'); + expect(calculateFunctionHash(fn1)).toEqual('e5235e3cb7a9b70c42c1a665a3ebd77c'); }); }); test('code impacts hash', () => { - const stack1 = new Stack(); + const app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack1 = new Stack(app); const fn1 = new lambda.Function(stack1, 'MyFunction1', { runtime: lambda.Runtime.NODEJS_12_X, code: lambda.Code.fromAsset(path.join(__dirname, 'my-lambda-handler')), handler: 'index.handler', }); - expect(calculateFunctionHash(fn1)).not.toEqual('aea5463dba236007afe91d2832b3c836'); - expect(calculateFunctionHash(fn1)).toEqual('979b4a14c6f174c745cdbcd1036cf844'); + expect(calculateFunctionHash(fn1)).not.toEqual('e5235e3cb7a9b70c42c1a665a3ebd77c'); + expect(calculateFunctionHash(fn1)).toEqual('bb95ae2489ebc480a23ff373362e453a'); }); test('environment variables impact hash', () => { - const stack1 = new Stack(); + const app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack1 = new Stack(app, 'Stack1'); const fn1 = new lambda.Function(stack1, 'MyFunction', { runtime: lambda.Runtime.NODEJS_12_X, code: lambda.Code.fromAsset(path.join(__dirname, 'my-lambda-handler')), @@ -65,7 +80,7 @@ describe('function hash', () => { }, }); - const stack2 = new Stack(); + const stack2 = new Stack(app); const fn2 = new lambda.Function(stack2, 'MyFunction', { runtime: lambda.Runtime.NODEJS_12_X, code: lambda.Code.fromAsset(path.join(__dirname, 'my-lambda-handler')), @@ -75,12 +90,17 @@ describe('function hash', () => { }, }); - expect(calculateFunctionHash(fn1)).toEqual('d1bc824ac5022b7d62d8b12dbae6580c'); - expect(calculateFunctionHash(fn2)).toEqual('3b683d05465012b0aa9c4ff53b32f014'); + expect(calculateFunctionHash(fn1)).toEqual('a072f10967c25eb87c187e3d61d88f58'); + expect(calculateFunctionHash(fn2)).toEqual('29aa77e049793f5424d31e880d6ce535'); }); test('runtime impacts hash', () => { - const stack1 = new Stack(); + const app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack1 = new Stack(app, 'Stack1'); const fn1 = new lambda.Function(stack1, 'MyFunction', { runtime: lambda.Runtime.NODEJS_12_X, code: lambda.Code.fromAsset(path.join(__dirname, 'my-lambda-handler')), @@ -90,7 +110,7 @@ describe('function hash', () => { }, }); - const stack2 = new Stack(); + const stack2 = new Stack(app); const fn2 = new lambda.Function(stack2, 'MyFunction', { runtime: lambda.Runtime.NODEJS_14_X, code: lambda.Code.fromAsset(path.join(__dirname, 'my-lambda-handler')), @@ -100,8 +120,8 @@ describe('function hash', () => { }, }); - expect(calculateFunctionHash(fn1)).toEqual('d1bc824ac5022b7d62d8b12dbae6580c'); - expect(calculateFunctionHash(fn2)).toEqual('0f168f0772463e8e547bb3800937e54d'); + expect(calculateFunctionHash(fn1)).toEqual('a072f10967c25eb87c187e3d61d88f58'); + expect(calculateFunctionHash(fn2)).toEqual('c27e1d43e5595311b185324306244f1b'); }); test('inline code change impacts the hash', () => { @@ -119,8 +139,8 @@ describe('function hash', () => { handler: 'index.handler', }); - expect(calculateFunctionHash(fn1)).toEqual('ebf2e871fc6a3062e8bdcc5ebe16db3f'); - expect(calculateFunctionHash(fn2)).toEqual('ffedf6424a18a594a513129dc97bf53c'); + expect(calculateFunctionHash(fn1)).toEqual('ae3a05e0797a7b59e850d453a2e8ea97'); + expect(calculateFunctionHash(fn2)).toEqual('bdce872a679fc58e06ab8b0cd30ffb37'); }); describe('lambda layers', () => { @@ -161,7 +181,7 @@ describe('function hash', () => { }); expect(calculateFunctionHash(fn1)).toEqual(calculateFunctionHash(fn2)); - expect(calculateFunctionHash(fn1)).toEqual('028f8a4cb1c719f29e70b7b3c0f2a9d7'); + expect(calculateFunctionHash(fn1)).toEqual('8633cf3f4f019915d1f5d2c0c34c080a'); }); test('different layers impacts hash', () => { @@ -181,8 +201,8 @@ describe('function hash', () => { layers: [layer2], }); - expect(calculateFunctionHash(fn1)).toEqual('028f8a4cb1c719f29e70b7b3c0f2a9d7'); - expect(calculateFunctionHash(fn2)).toEqual('e74647bf81c4d532137545c8234726f3'); + expect(calculateFunctionHash(fn1)).toEqual('8633cf3f4f019915d1f5d2c0c34c080a'); + expect(calculateFunctionHash(fn2)).toEqual('22a2173d7ae9608c12f4d93703d28b03'); }); describe('impact of lambda layer order on hash', () => { @@ -203,12 +223,12 @@ describe('function hash', () => { layers: [layer2, layer1], }); - expect(calculateFunctionHash(fn1)).toEqual('b6cade45d8f9c77f29f0ab169004113c'); - expect(calculateFunctionHash(fn2)).toEqual('0d79a0b6bcac599b278e63b173eca170'); + expect(calculateFunctionHash(fn1)).toEqual('f6d16d9486308ab39801029f742bf4d2'); + expect(calculateFunctionHash(fn2)).toEqual('93b2e5f48356020117f72c248ec1e0da'); }); test('with feature flag, we sort layers so order is consistent', () => { - const app = new App({ context: { [LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); + const app = new App({ context: { [cxapi.LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); const stack2 = new Stack(app, 'stack2'); const fn1 = new lambda.Function(stack2, 'MyFunction', { @@ -231,7 +251,7 @@ describe('function hash', () => { }); test('with feature flag, imported lambda layers can be distinguished', () => { - const app = new App({ context: { [LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); + const app = new App({ context: { [cxapi.LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); const stack2 = new Stack(app, 'stack2'); const importedLayer1 = lambda.LayerVersion.fromLayerVersionArn(stack2, 'imported-layer', 'arn:aws:lambda:::layer::'); @@ -316,7 +336,12 @@ describe('function hash', () => { describe('corrected function hash', () => { let app: App; beforeEach(() => { - app = new App({ context: { [LAMBDA_RECOGNIZE_VERSION_PROPS]: true } }); + app = new App({ + context: { + [cxapi.LAMBDA_RECOGNIZE_VERSION_PROPS]: true, + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); }); test('DependsOn does not impact function hash', () => { diff --git a/packages/@aws-cdk/aws-lambda/test/function.test.ts b/packages/@aws-cdk/aws-lambda/test/function.test.ts index f53bae1d56c52..c79cecbba3746 100644 --- a/packages/@aws-cdk/aws-lambda/test/function.test.ts +++ b/packages/@aws-cdk/aws-lambda/test/function.test.ts @@ -13,7 +13,7 @@ import * as sqs from '@aws-cdk/aws-sqs'; import { testDeprecated } from '@aws-cdk/cdk-build-tools'; import * as cdk from '@aws-cdk/core'; import { Aspects, Lazy, Size } from '@aws-cdk/core'; -import { LAMBDA_RECOGNIZE_LAYER_VERSION } from '@aws-cdk/cx-api'; +import * as cxapi from '@aws-cdk/cx-api'; import * as constructs from 'constructs'; import * as _ from 'lodash'; import * as lambda from '../lib'; @@ -557,7 +557,7 @@ describe('function', () => { Template.fromStack(stack).hasResourceProperties('AWS::Lambda::Alias', { Name: 'prod', FunctionName: { Ref: 'MyLambdaCCE802FB' }, - FunctionVersion: { 'Fn::GetAtt': ['MyLambdaCurrentVersionE7A382CC60ef151b20ae483ee1018f73f30bc10e', 'Version'] }, + FunctionVersion: { 'Fn::GetAtt': ['MyLambdaCurrentVersionE7A382CC5ca259556a03e0d5ebc2a4851a980d87', 'Version'] }, }); }); @@ -602,7 +602,12 @@ describe('function', () => { test('Lambda code can be read from a local directory via an asset', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack = new cdk.Stack(app); new lambda.Function(stack, 'MyLambda', { code: lambda.Code.fromAsset(path.join(__dirname, 'my-lambda-handler')), handler: 'index.handler', @@ -1468,7 +1473,7 @@ describe('function', () => { test('with feature flag, layer version is baked into function version', () => { // GIVEN - const app = new cdk.App({ context: { [LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); + const app = new cdk.App({ context: { [cxapi.LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); const stack = new cdk.Stack(app, 'TestStack'); const bucket = new s3.Bucket(stack, 'Bucket'); const code = new lambda.S3Code(bucket, 'ObjectKey'); @@ -2961,7 +2966,7 @@ test('ephemeral storage allows unresolved tokens', () => { }); test('FunctionVersionUpgrade adds new description to function', () => { - const app = new cdk.App({ context: { [LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); + const app = new cdk.App({ context: { [cxapi.LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); const stack = new cdk.Stack(app); new lambda.Function(stack, 'MyLambda', { code: new lambda.InlineCode('foo'), @@ -2970,7 +2975,7 @@ test('FunctionVersionUpgrade adds new description to function', () => { description: 'my description', }); - Aspects.of(stack).add(new lambda.FunctionVersionUpgrade(LAMBDA_RECOGNIZE_LAYER_VERSION)); + Aspects.of(stack).add(new lambda.FunctionVersionUpgrade(cxapi.LAMBDA_RECOGNIZE_LAYER_VERSION)); Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Properties: @@ -2978,7 +2983,7 @@ test('FunctionVersionUpgrade adds new description to function', () => { Code: { ZipFile: 'foo' }, Handler: 'bar', Runtime: 'nodejs14.x', - Description: 'my description version-hash:de36a94cfdb5cb58f7c7b4cd975120ba', + Description: 'my description version-hash:54f18c47346ed84843c2dac547de81fa', }, }); }); diff --git a/packages/@aws-cdk/aws-lambda/test/lambda-version.test.ts b/packages/@aws-cdk/aws-lambda/test/lambda-version.test.ts index 73f18ba033617..7a9511eeefaa5 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda-version.test.ts +++ b/packages/@aws-cdk/aws-lambda/test/lambda-version.test.ts @@ -124,7 +124,7 @@ describe('lambda version', () => { }, FunctionVersion: { 'Fn::GetAtt': [ - 'FnCurrentVersion17A89ABBab5c765f3c55e4e61583b51b00a95742', + 'FnCurrentVersion17A89ABB60415807620115f34aaea569cf042980', 'Version', ], }, @@ -143,7 +143,7 @@ describe('lambda version', () => { const version = fn.currentVersion; // THEN - expect(stack.resolve(version.edgeArn)).toEqual({ Ref: 'FnCurrentVersion17A89ABB19ed45993ff69fd011ae9fd4ab6e2005' }); + expect(stack.resolve(version.edgeArn)).toEqual({ Ref: 'FnCurrentVersion17A89ABB60415807620115f34aaea569cf042980' }); }); test('edgeArn throws with $LATEST', () => { diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/Dockerfile b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/Dockerfile deleted file mode 100644 index f03af5f73f1a5..0000000000000 --- a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM public.ecr.aws/lambda/nodejs:12 -ARG FUNCTION_DIR="/var/task" -# Create function directory -RUN mkdir -p ${FUNCTION_DIR} -# Copy handler function and package.json -COPY app.js ${FUNCTION_DIR} -# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) -CMD [ "app.handler" ] diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.d.ts b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.d.ts deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.js b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.js deleted file mode 100644 index 657318e3eed05..0000000000000 --- a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -/* eslint-disable no-console */ -exports.handler = async (event) => { - console.log('hello world'); - console.log(`event ${JSON.stringify(event)}`); - return { - statusCode: 200, - }; -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUUsS0FBVSxFQUFFLEVBQUU7SUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUMsT0FBTztRQUNMLFVBQVUsRUFBRSxHQUFHO0tBQ2hCLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmV4cG9ydHMuaGFuZGxlciA9IGFzeW5jIChldmVudDogYW55KSA9PiB7XG4gIGNvbnNvbGUubG9nKCdoZWxsbyB3b3JsZCcpO1xuICBjb25zb2xlLmxvZyhgZXZlbnQgJHtKU09OLnN0cmluZ2lmeShldmVudCl9YCk7XG4gIHJldHVybiB7XG4gICAgc3RhdHVzQ29kZTogMjAwLFxuICB9O1xufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.ts b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.ts deleted file mode 100644 index 99155b53d5bf7..0000000000000 --- a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/asset.b7767e24de8d852617d9600e7a60395334454ca017d648f93b2d990aec7f50fd/app.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* eslint-disable no-console */ - -exports.handler = async (event: any) => { - console.log('hello world'); - console.log(`event ${JSON.stringify(event)}`); - return { - statusCode: 200, - }; -}; \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/lambda-ecr-docker.assets.json b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/lambda-ecr-docker.assets.json new file mode 100644 index 0000000000000..6d51864756b25 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/lambda-ecr-docker.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "077f5b1d65ef54f982550efd635d477a7884189645881cd41c11646212797905": { + "source": { + "path": "lambda-ecr-docker.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "077f5b1d65ef54f982550efd635d477a7884189645881cd41c11646212797905.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "768d7b6c1d41b85135f498fe0cca69fea410be3c3322c69cf08690aaad29a610": { + "source": { + "directory": "asset.768d7b6c1d41b85135f498fe0cca69fea410be3c3322c69cf08690aaad29a610" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "768d7b6c1d41b85135f498fe0cca69fea410be3c3322c69cf08690aaad29a610", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/tree.json index fcc1fbc0f2209..1de96f44d351a 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda/test/lambda.docker.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "lambda-ecr-docker": { diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/aws-cdk-lambda-1.assets.json b/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/aws-cdk-lambda-1.assets.json new file mode 100644 index 0000000000000..8f8fdef51b5b3 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/aws-cdk-lambda-1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9c2fb7760cdd4c198e96a962ae588b7f83b40858fd2947d6915d901f3e642e9d": { + "source": { + "path": "aws-cdk-lambda-1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9c2fb7760cdd4c198e96a962ae588b7f83b40858fd2947d6915d901f3e642e9d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/manifest.json index b477d36293daf..ea32a1fb29e6e 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/manifest.json @@ -144,7 +144,10 @@ "/aws-cdk-lambda-1/Efs/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Efs9E8BF36B" + "data": "Efs9E8BF36B", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-cdk-lambda-1/Efs/EfsSecurityGroup/Resource": [ @@ -162,19 +165,28 @@ "/aws-cdk-lambda-1/Efs/EfsMountTarget1": [ { "type": "aws:cdk:logicalId", - "data": "EfsEfsMountTarget195B2DD2E" + "data": "EfsEfsMountTarget195B2DD2E", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-cdk-lambda-1/Efs/EfsMountTarget2": [ { "type": "aws:cdk:logicalId", - "data": "EfsEfsMountTarget2315C927F" + "data": "EfsEfsMountTarget2315C927F", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-cdk-lambda-1/Efs/AccessPoint/Resource": [ { "type": "aws:cdk:logicalId", - "data": "EfsAccessPointE419FED9" + "data": "EfsAccessPointE419FED9", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-cdk-lambda-1/MyLambda/ServiceRole/Resource": [ diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/tree.json index 6ca61cb1a624f..5e43712059cfe 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda/test/lambda.filesystem.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-lambda-1": { diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/aws-cdk-lambda-1.assets.json b/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/aws-cdk-lambda-1.assets.json new file mode 100644 index 0000000000000..0350626f51f11 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/aws-cdk-lambda-1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "f07328fdb3b364e82aaf239ee52c982566753794c3f144d6b362e7b56ff753e5": { + "source": { + "path": "aws-cdk-lambda-1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f07328fdb3b364e82aaf239ee52c982566753794c3f144d6b362e7b56ff753e5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/manifest.json index 6f86b84603474..8bb9ad7ecd11e 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/manifest.json @@ -69,10 +69,10 @@ "data": "Aliasinvokefunctionurl4CA9917B" } ], - "MyLambdaCurrentVersionE7A382CC7e2eef94b9010f0c2a5e7db748a3833a": [ + "MyLambdaCurrentVersionE7A382CCf9fac83eca6426eeed700cdc0106fc3d": [ { "type": "aws:cdk:logicalId", - "data": "MyLambdaCurrentVersionE7A382CC7e2eef94b9010f0c2a5e7db748a3833a", + "data": "MyLambdaCurrentVersionE7A382CCf9fac83eca6426eeed700cdc0106fc3d", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/tree.json index 0c403b8704fc2..668c1599fb55d 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda/test/lambda.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-lambda-1": { diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/aws-cdk-lambda-pce-1.assets.json b/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/aws-cdk-lambda-pce-1.assets.json new file mode 100644 index 0000000000000..952a6a887a99b --- /dev/null +++ b/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/aws-cdk-lambda-pce-1.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "54332b56a8a00fe2976af7dd9f92a6c24b31aee7171e9e6e3876b6270f4aad5b": { + "source": { + "path": "aws-cdk-lambda-pce-1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "54332b56a8a00fe2976af7dd9f92a6c24b31aee7171e9e6e3876b6270f4aad5b.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/manifest.json index 148240ef61612..19a83eedfab1e 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/manifest.json @@ -87,19 +87,19 @@ "data": "Alias2AliasPermission2448514B6" } ], - "MyLambdaAliasPCECurrentVersion072335D369bedb3f5cf56c66c63ccfdba59d5d84": [ + "MyLambdaAliasPCECurrentVersion072335D3ecf1e1993812a43e1ad83ad23009e893": [ { "type": "aws:cdk:logicalId", - "data": "MyLambdaAliasPCECurrentVersion072335D369bedb3f5cf56c66c63ccfdba59d5d84", + "data": "MyLambdaAliasPCECurrentVersion072335D3ecf1e1993812a43e1ad83ad23009e893", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] } ], - "MyLambdaVersionPCECurrentVersion27FC3932fc9df6df91e1aac821ec45a32cf17e32": [ + "MyLambdaVersionPCECurrentVersion27FC3932176d028ba8f6b4c3340c828b8d6c8815": [ { "type": "aws:cdk:logicalId", - "data": "MyLambdaVersionPCECurrentVersion27FC3932fc9df6df91e1aac821ec45a32cf17e32", + "data": "MyLambdaVersionPCECurrentVersion27FC3932176d028ba8f6b4c3340c828b8d6c8815", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/tree.json index f1e633686f53b..150321bc0bfdf 100644 --- a/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda/test/lambda.prov.concurrent.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-lambda-pce-1": { diff --git a/packages/@aws-cdk/aws-lambda/test/layers.test.ts b/packages/@aws-cdk/aws-lambda/test/layers.test.ts index 302bddf550db5..e1d30733dc85a 100644 --- a/packages/@aws-cdk/aws-lambda/test/layers.test.ts +++ b/packages/@aws-cdk/aws-lambda/test/layers.test.ts @@ -69,7 +69,12 @@ describe('layers', () => { test('asset metadata is added to the cloudformation resource', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack = new cdk.Stack(app); stack.node.setContext(cxapi.ASSET_RESOURCE_METADATA_ENABLED_CONTEXT, true); // WHEN diff --git a/packages/@aws-cdk/aws-lambda/test/log-retention.integ.snapshot/aws-cdk-lambda-log-retention.assets.json b/packages/@aws-cdk/aws-lambda/test/log-retention.integ.snapshot/aws-cdk-lambda-log-retention.assets.json new file mode 100644 index 0000000000000..ad32bc2d8f295 --- /dev/null +++ b/packages/@aws-cdk/aws-lambda/test/log-retention.integ.snapshot/aws-cdk-lambda-log-retention.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665": { + "source": { + "path": "asset.22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7d446d4d1942477cfdce1623d500ead97acb778c40f995787c71755a13a24743": { + "source": { + "path": "aws-cdk-lambda-log-retention.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7d446d4d1942477cfdce1623d500ead97acb778c40f995787c71755a13a24743.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-lambda/test/log-retention.integ.snapshot/tree.json b/packages/@aws-cdk/aws-lambda/test/log-retention.integ.snapshot/tree.json index 1f0158c152440..4d40dbdeccd3b 100644 --- a/packages/@aws-cdk/aws-lambda/test/log-retention.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-lambda/test/log-retention.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-lambda-log-retention": { @@ -256,8 +256,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -294,14 +294,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "OneMonth": { diff --git a/packages/@aws-cdk/aws-lex/package.json b/packages/@aws-cdk/aws-lex/package.json index 0a158821abdfe..453af7ae9f3ef 100644 --- a/packages/@aws-cdk/aws-lex/package.json +++ b/packages/@aws-cdk/aws-lex/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-lex", "module": "aws_cdk.aws_lex" @@ -91,13 +91,15 @@ "@types/jest": "^26.0.24" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-licensemanager/package.json b/packages/@aws-cdk/aws-licensemanager/package.json index b419a69f6ec97..e364f95169e97 100644 --- a/packages/@aws-cdk/aws-licensemanager/package.json +++ b/packages/@aws-cdk/aws-licensemanager/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-licensemanager", "module": "aws_cdk.aws_licensemanager" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-lightsail/package.json b/packages/@aws-cdk/aws-lightsail/package.json index e4b2b94f1156d..dcfd9938290f1 100644 --- a/packages/@aws-cdk/aws-lightsail/package.json +++ b/packages/@aws-cdk/aws-lightsail/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-lightsail", "module": "aws_cdk.aws_lightsail" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -105,6 +107,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-location/package.json b/packages/@aws-cdk/aws-location/package.json index 282555b643331..a56167d90538b 100644 --- a/packages/@aws-cdk/aws-location/package.json +++ b/packages/@aws-cdk/aws-location/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-location", "module": "aws_cdk.aws_location" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-logs-destinations/lib/kinesis.ts b/packages/@aws-cdk/aws-logs-destinations/lib/kinesis.ts index 41aca9dea4ca5..6c97ef3431f97 100644 --- a/packages/@aws-cdk/aws-logs-destinations/lib/kinesis.ts +++ b/packages/@aws-cdk/aws-logs-destinations/lib/kinesis.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as kinesis from '@aws-cdk/aws-kinesis'; import * as logs from '@aws-cdk/aws-logs'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Customize the Kinesis Logs Destination diff --git a/packages/@aws-cdk/aws-logs-destinations/lib/lambda.ts b/packages/@aws-cdk/aws-logs-destinations/lib/lambda.ts index 1175eb4fcb957..1b92cccab3b53 100644 --- a/packages/@aws-cdk/aws-logs-destinations/lib/lambda.ts +++ b/packages/@aws-cdk/aws-logs-destinations/lib/lambda.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; import * as logs from '@aws-cdk/aws-logs'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Options that may be provided to LambdaDestination diff --git a/packages/@aws-cdk/aws-logs-destinations/package.json b/packages/@aws-cdk/aws-logs-destinations/package.json index 9744163bae221..e13b8d6cbae06 100644 --- a/packages/@aws-cdk/aws-logs-destinations/package.json +++ b/packages/@aws-cdk/aws-logs-destinations/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-logs-destinations", "version": "0.0.0", + "private": true, "description": "Log Destinations for AWS CloudWatch Logs", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_logs_destinations", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -85,7 +86,7 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -94,10 +95,10 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-logs/lib/cross-account-destination.ts b/packages/@aws-cdk/aws-logs/lib/cross-account-destination.ts index 7684ee84befd8..87d9966a63a79 100644 --- a/packages/@aws-cdk/aws-logs/lib/cross-account-destination.ts +++ b/packages/@aws-cdk/aws-logs/lib/cross-account-destination.ts @@ -4,15 +4,8 @@ import { Construct } from 'constructs'; import { ILogGroup } from './log-group'; import { CfnDestination } from './logs.generated'; import { ILogSubscriptionDestination, LogSubscriptionDestinationConfig } from './subscription-filter'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order import { ArnFormat } from '@aws-cdk/core'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for a CrossAccountDestination */ @@ -101,7 +94,7 @@ export class CrossAccountDestination extends cdk.Resource implements ILogSubscri this.policyDocument.addStatements(statement); } - public bind(_scope: CoreConstruct, _sourceLogGroup: ILogGroup): LogSubscriptionDestinationConfig { + public bind(_scope: Construct, _sourceLogGroup: ILogGroup): LogSubscriptionDestinationConfig { return { arn: this.destinationArn }; } diff --git a/packages/@aws-cdk/aws-logs/lib/log-retention.ts b/packages/@aws-cdk/aws-logs/lib/log-retention.ts index 5af8edaac96ed..6c49d3f18364e 100644 --- a/packages/@aws-cdk/aws-logs/lib/log-retention.ts +++ b/packages/@aws-cdk/aws-logs/lib/log-retention.ts @@ -9,10 +9,6 @@ import { RetentionDays } from './log-group'; // eslint-disable-next-line no-duplicate-imports, import/order import { ArnFormat } from '@aws-cdk/core'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Construction properties for a LogRetention. */ @@ -73,7 +69,7 @@ export interface LogRetentionRetryOptions { * Log group can be created in the region that is different from stack region by * specifying `logGroupRegion` */ -export class LogRetention extends CoreConstruct { +export class LogRetention extends Construct { /** * The ARN of the LogGroup. @@ -132,7 +128,7 @@ export class LogRetention extends CoreConstruct { /** * Private provider Lambda function to support the log retention custom resource. */ -class LogRetentionFunction extends CoreConstruct implements cdk.ITaggable { +class LogRetentionFunction extends Construct implements cdk.ITaggable { public readonly functionArn: cdk.Reference; public readonly tags: cdk.TagManager = new cdk.TagManager(cdk.TagType.KEY_VALUE, 'AWS::Lambda::Function'); @@ -182,7 +178,7 @@ class LogRetentionFunction extends CoreConstruct implements cdk.ITaggable { if (cdk.CfnResource.isCfnResource(child)) { resource.addDependsOn(child); } - if (cdk.Construct.isConstruct(child) && child.node.defaultChild && cdk.CfnResource.isCfnResource(child.node.defaultChild)) { + if (Construct.isConstruct(child) && child.node.defaultChild && cdk.CfnResource.isCfnResource(child.node.defaultChild)) { resource.addDependsOn(child.node.defaultChild); } }); diff --git a/packages/@aws-cdk/aws-logs/lib/subscription-filter.ts b/packages/@aws-cdk/aws-logs/lib/subscription-filter.ts index 290534ea97f97..099094032d3a1 100644 --- a/packages/@aws-cdk/aws-logs/lib/subscription-filter.ts +++ b/packages/@aws-cdk/aws-logs/lib/subscription-filter.ts @@ -4,10 +4,6 @@ import { Construct } from 'constructs'; import { ILogGroup, SubscriptionFilterOptions } from './log-group'; import { CfnSubscriptionFilter } from './logs.generated'; -// v2 - keep this section separate to reduce merge conflicts when merging forwrad into v2 branch -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Interface for classes that can be the destination of a log Subscription */ @@ -22,7 +18,7 @@ export interface ILogSubscriptionDestination { * The destination may reconfigure its own permissions in response to this * function call. */ - bind(scope: CoreConstruct, sourceLogGroup: ILogGroup): LogSubscriptionDestinationConfig; + bind(scope: Construct, sourceLogGroup: ILogGroup): LogSubscriptionDestinationConfig; } /** diff --git a/packages/@aws-cdk/aws-logs/package.json b/packages/@aws-cdk/aws-logs/package.json index 716c9aadd489c..cfbde12574f49 100644 --- a/packages/@aws-cdk/aws-logs/package.json +++ b/packages/@aws-cdk/aws-logs/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-logs", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Logs", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_logs", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -100,7 +101,7 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -110,10 +111,10 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-lookoutequipment/package.json b/packages/@aws-cdk/aws-lookoutequipment/package.json index d8f03fba52929..ee902990bf8d2 100644 --- a/packages/@aws-cdk/aws-lookoutequipment/package.json +++ b/packages/@aws-cdk/aws-lookoutequipment/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-lookoutequipment", "module": "aws_cdk.aws_lookoutequipment" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-lookoutmetrics/package.json b/packages/@aws-cdk/aws-lookoutmetrics/package.json index 9ced53e2fc07b..50971f6ce23b2 100644 --- a/packages/@aws-cdk/aws-lookoutmetrics/package.json +++ b/packages/@aws-cdk/aws-lookoutmetrics/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-lookoutmetrics", "module": "aws_cdk.aws_lookoutmetrics" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-lookoutvision/package.json b/packages/@aws-cdk/aws-lookoutvision/package.json index 143777c47b7f4..fff9c55ddbcb9 100644 --- a/packages/@aws-cdk/aws-lookoutvision/package.json +++ b/packages/@aws-cdk/aws-lookoutvision/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-lookoutvision", "module": "aws_cdk.aws_lookoutvision" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -105,5 +107,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-macie/package.json b/packages/@aws-cdk/aws-macie/package.json index 58ef87bb65ce7..ab47a0ba0db55 100644 --- a/packages/@aws-cdk/aws-macie/package.json +++ b/packages/@aws-cdk/aws-macie/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-macie", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Macie", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_macie", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-managedblockchain/package.json b/packages/@aws-cdk/aws-managedblockchain/package.json index f82461b7daa9e..b06403f285eae 100644 --- a/packages/@aws-cdk/aws-managedblockchain/package.json +++ b/packages/@aws-cdk/aws-managedblockchain/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-managedblockchain", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ManagedBlockchain", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_managedblockchain", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-mediaconnect/package.json b/packages/@aws-cdk/aws-mediaconnect/package.json index 4291332e3b5f8..9b8722a7ea172 100644 --- a/packages/@aws-cdk/aws-mediaconnect/package.json +++ b/packages/@aws-cdk/aws-mediaconnect/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-mediaconnect", "module": "aws_cdk.aws_mediaconnect" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-mediaconvert/package.json b/packages/@aws-cdk/aws-mediaconvert/package.json index 34e7565d83b97..d132025d5d695 100644 --- a/packages/@aws-cdk/aws-mediaconvert/package.json +++ b/packages/@aws-cdk/aws-mediaconvert/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-mediaconvert", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::MediaConvert", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_mediaconvert", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-medialive/package.json b/packages/@aws-cdk/aws-medialive/package.json index 61c576685068e..247ec9e1d7470 100644 --- a/packages/@aws-cdk/aws-medialive/package.json +++ b/packages/@aws-cdk/aws-medialive/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-medialive", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::MediaLive", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_medialive", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-mediapackage/package.json b/packages/@aws-cdk/aws-mediapackage/package.json index f115a9f348b95..455b2127c264e 100644 --- a/packages/@aws-cdk/aws-mediapackage/package.json +++ b/packages/@aws-cdk/aws-mediapackage/package.json @@ -4,6 +4,7 @@ "description": "The CDK Construct Library for AWS::MediaPackage", "main": "lib/index.js", "types": "lib/index.d.ts", + "private": true, "jsii": { "outdir": "dist", "projectReferences": true, @@ -30,7 +31,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-mediapackage", "module": "aws_cdk.aws_mediapackage" @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-mediastore/package.json b/packages/@aws-cdk/aws-mediastore/package.json index 4ab8baaa78e42..947ddb2f6e155 100644 --- a/packages/@aws-cdk/aws-mediastore/package.json +++ b/packages/@aws-cdk/aws-mediastore/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-mediastore", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::MediaStore", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_mediastore", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-mediatailor/package.json b/packages/@aws-cdk/aws-mediatailor/package.json index abfbdb478194d..fab1789e1e5e1 100644 --- a/packages/@aws-cdk/aws-mediatailor/package.json +++ b/packages/@aws-cdk/aws-mediatailor/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-mediatailor", "module": "aws_cdk.aws_mediatailor" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-memorydb/package.json b/packages/@aws-cdk/aws-memorydb/package.json index 49326d1e2695d..fe7760c33e199 100644 --- a/packages/@aws-cdk/aws-memorydb/package.json +++ b/packages/@aws-cdk/aws-memorydb/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-memorydb", "module": "aws_cdk.aws_memorydb" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -105,6 +107,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-msk/package.json b/packages/@aws-cdk/aws-msk/package.json index 99200a7de0052..3dd4fe377bac5 100644 --- a/packages/@aws-cdk/aws-msk/package.json +++ b/packages/@aws-cdk/aws-msk/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-msk", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::MSK", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_msk", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -99,7 +100,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-acmpca": "0.0.0", @@ -111,10 +112,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -122,6 +123,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-msk/test/cluster.test.ts b/packages/@aws-cdk/aws-msk/test/cluster.test.ts index 71877df25e95a..baf0585372f2a 100644 --- a/packages/@aws-cdk/aws-msk/test/cluster.test.ts +++ b/packages/@aws-cdk/aws-msk/test/cluster.test.ts @@ -212,48 +212,32 @@ describe('MSK Cluster', () => { test('with a policy allowing the secrets manager service to use the key', () => { Template.fromStack(stack).hasResourceProperties('AWS::KMS::Key', { KeyPolicy: { - Statement: [ + 'Statement': [ { - Action: [ - 'kms:Create*', - 'kms:Describe*', - 'kms:Enable*', - 'kms:List*', - 'kms:Put*', - 'kms:Update*', - 'kms:Revoke*', - 'kms:Disable*', - 'kms:Get*', - 'kms:Delete*', - 'kms:ScheduleKeyDeletion', - 'kms:CancelKeyDeletion', - 'kms:GenerateDataKey', - 'kms:TagResource', - 'kms:UntagResource', - ], - Effect: 'Allow', - Principal: { - AWS: { + 'Action': 'kms:*', + 'Effect': 'Allow', + 'Principal': { + 'AWS': { 'Fn::Join': [ '', [ 'arn:', { - Ref: 'AWS::Partition', + 'Ref': 'AWS::Partition', }, ':iam::', { - Ref: 'AWS::AccountId', + 'Ref': 'AWS::AccountId', }, ':root', ], ], }, }, - Resource: '*', + 'Resource': '*', }, { - Action: [ + 'Action': [ 'kms:Encrypt', 'kms:Decrypt', 'kms:ReEncrypt*', @@ -261,22 +245,22 @@ describe('MSK Cluster', () => { 'kms:CreateGrant', 'kms:DescribeKey', ], - Condition: { - StringEquals: { + 'Condition': { + 'StringEquals': { 'kms:ViaService': { 'Fn::Join': [ '', [ 'secretsmanager.', { - Ref: 'AWS::Region', + 'Ref': 'AWS::Region', }, '.amazonaws.com', ], ], }, 'kms:CallerAccount': { - Ref: 'AWS::AccountId', + 'Ref': 'AWS::AccountId', }, }, }, @@ -286,6 +270,7 @@ describe('MSK Cluster', () => { Sid: 'Allow access through AWS Secrets Manager for all principals in the account that are authorized to use AWS Secrets Manager', }, ], + 'Version': '2012-10-17', }, }); }); diff --git a/packages/@aws-cdk/aws-mwaa/package.json b/packages/@aws-cdk/aws-mwaa/package.json index 8f7a6782a2a87..5ca419eef4a5d 100644 --- a/packages/@aws-cdk/aws-mwaa/package.json +++ b/packages/@aws-cdk/aws-mwaa/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-mwaa", "module": "aws_cdk.aws_mwaa" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-neptune/package.json b/packages/@aws-cdk/aws-neptune/package.json index fec562dd47bed..ed0ff8ff313c9 100644 --- a/packages/@aws-cdk/aws-neptune/package.json +++ b/packages/@aws-cdk/aws-neptune/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-neptune", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Neptune", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_neptune", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,17 +93,17 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-neptune/test/cluster.integ.snapshot/aws-cdk-neptune-integ.assets.json b/packages/@aws-cdk/aws-neptune/test/cluster.integ.snapshot/aws-cdk-neptune-integ.assets.json new file mode 100644 index 0000000000000..d021ada66f0a8 --- /dev/null +++ b/packages/@aws-cdk/aws-neptune/test/cluster.integ.snapshot/aws-cdk-neptune-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "8002b59243218a8945c3aeb869a90849530d9f7763881d4d3b18f2923de1db48": { + "source": { + "path": "aws-cdk-neptune-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8002b59243218a8945c3aeb869a90849530d9f7763881d4d3b18f2923de1db48.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-neptune/test/cluster.integ.snapshot/tree.json b/packages/@aws-cdk/aws-neptune/test/cluster.integ.snapshot/tree.json index 9caf48a8b3932..080aaa2f2fb20 100644 --- a/packages/@aws-cdk/aws-neptune/test/cluster.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-neptune/test/cluster.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-neptune-integ": { diff --git a/packages/@aws-cdk/aws-networkfirewall/package.json b/packages/@aws-cdk/aws-networkfirewall/package.json index abebebdc06ed7..afeb6486cd609 100644 --- a/packages/@aws-cdk/aws-networkfirewall/package.json +++ b/packages/@aws-cdk/aws-networkfirewall/package.json @@ -23,7 +23,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-networkfirewall", "module": "aws_cdk.aws_networkfirewall" @@ -88,13 +88,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -103,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-networkmanager/package.json b/packages/@aws-cdk/aws-networkmanager/package.json index 6d666cd151403..6744c81fd546c 100644 --- a/packages/@aws-cdk/aws-networkmanager/package.json +++ b/packages/@aws-cdk/aws-networkmanager/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-networkmanager", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::NetworkManager", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_networkmanager", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-nimblestudio/package.json b/packages/@aws-cdk/aws-nimblestudio/package.json index 6109fa587667c..4e2701b009967 100644 --- a/packages/@aws-cdk/aws-nimblestudio/package.json +++ b/packages/@aws-cdk/aws-nimblestudio/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-nimblestudio", "module": "aws_cdk.aws_nimblestudio" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-opensearchservice/lib/log-group-resource-policy.ts b/packages/@aws-cdk/aws-opensearchservice/lib/log-group-resource-policy.ts index e53eb9a913540..3d082425dd93c 100644 --- a/packages/@aws-cdk/aws-opensearchservice/lib/log-group-resource-policy.ts +++ b/packages/@aws-cdk/aws-opensearchservice/lib/log-group-resource-policy.ts @@ -3,7 +3,7 @@ import * as cr from '@aws-cdk/custom-resources'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Construction properties for LogGroupResourcePolicy diff --git a/packages/@aws-cdk/aws-opensearchservice/lib/opensearch-access-policy.ts b/packages/@aws-cdk/aws-opensearchservice/lib/opensearch-access-policy.ts index b9e9acc3a37c6..9f2b8f4df905f 100644 --- a/packages/@aws-cdk/aws-opensearchservice/lib/opensearch-access-policy.ts +++ b/packages/@aws-cdk/aws-opensearchservice/lib/opensearch-access-policy.ts @@ -1,6 +1,9 @@ import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; import * as cr from '@aws-cdk/custom-resources'; + +// keep this import separate from other imports to reduce chance for merge conflicts with v2-main +// eslint-disable-next-line no-duplicate-imports, import/order import { Construct } from 'constructs'; /** diff --git a/packages/@aws-cdk/aws-opensearchservice/package.json b/packages/@aws-cdk/aws-opensearchservice/package.json index ea97e6ac33553..32b675572e508 100644 --- a/packages/@aws-cdk/aws-opensearchservice/package.json +++ b/packages/@aws-cdk/aws-opensearchservice/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-opensearchservice", "module": "aws_cdk.aws_opensearchservice" @@ -102,7 +102,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-certificatemanager": "0.0.0", @@ -115,10 +115,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -132,6 +132,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-opensearchservice/test/opensearch.custom-kms-key.integ.snapshot/cdk-integ-opensearch-custom-kms-key.assets.json b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.custom-kms-key.integ.snapshot/cdk-integ-opensearch-custom-kms-key.assets.json new file mode 100644 index 0000000000000..b5aa353ebb9ce --- /dev/null +++ b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.custom-kms-key.integ.snapshot/cdk-integ-opensearch-custom-kms-key.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "a4b8895ae30cf8603fb73443d9ef8067d91443ec94e7b932a2977546459f99df": { + "source": { + "path": "cdk-integ-opensearch-custom-kms-key.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a4b8895ae30cf8603fb73443d9ef8067d91443ec94e7b932a2977546459f99df.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-opensearchservice/test/opensearch.custom-kms-key.integ.snapshot/tree.json b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.custom-kms-key.integ.snapshot/tree.json index c1857fa059f74..ee137350369d2 100644 --- a/packages/@aws-cdk/aws-opensearchservice/test/opensearch.custom-kms-key.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.custom-kms-key.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-integ-opensearch-custom-kms-key": { @@ -426,14 +426,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-opensearchservice/test/opensearch.integ.snapshot/cdk-integ-opensearch.assets.json b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.integ.snapshot/cdk-integ-opensearch.assets.json new file mode 100644 index 0000000000000..1fa33bade768d --- /dev/null +++ b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.integ.snapshot/cdk-integ-opensearch.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "bcc26115ae1dd923340e0348bc42df3b085833b6ab438417b6cee241cbd81050": { + "source": { + "path": "cdk-integ-opensearch.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "bcc26115ae1dd923340e0348bc42df3b085833b6ab438417b6cee241cbd81050.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-opensearchservice/test/opensearch.integ.snapshot/tree.json b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.integ.snapshot/tree.json index 7ab1ce80ebfb0..023b8f817182d 100644 --- a/packages/@aws-cdk/aws-opensearchservice/test/opensearch.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-opensearchservice/test/opensearch.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-integ-opensearch": { @@ -474,14 +474,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Domain2": { diff --git a/packages/@aws-cdk/aws-opsworks/package.json b/packages/@aws-cdk/aws-opsworks/package.json index 54591f85b5ead..90924c2309b0a 100644 --- a/packages/@aws-cdk/aws-opsworks/package.json +++ b/packages/@aws-cdk/aws-opsworks/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-opsworks", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::OpsWorks", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_opsworks", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-opsworkscm/package.json b/packages/@aws-cdk/aws-opsworkscm/package.json index 8d0644c58a2dc..df19971064fe9 100644 --- a/packages/@aws-cdk/aws-opsworkscm/package.json +++ b/packages/@aws-cdk/aws-opsworkscm/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-opsworkscm", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::OpsWorksCM", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_opsworkscm", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-panorama/package.json b/packages/@aws-cdk/aws-panorama/package.json index 6479b165f9118..5d822ac059670 100644 --- a/packages/@aws-cdk/aws-panorama/package.json +++ b/packages/@aws-cdk/aws-panorama/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-panorama", "module": "aws_cdk.aws_panorama" @@ -92,14 +92,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -107,6 +107,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-personalize/package.json b/packages/@aws-cdk/aws-personalize/package.json index 64169d1ed3f4e..5f0f15ac33ff1 100644 --- a/packages/@aws-cdk/aws-personalize/package.json +++ b/packages/@aws-cdk/aws-personalize/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-personalize", "module": "aws_cdk.aws_personalize" @@ -91,13 +91,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-pinpoint/package.json b/packages/@aws-cdk/aws-pinpoint/package.json index 981c71b358904..0a5592b216acc 100644 --- a/packages/@aws-cdk/aws-pinpoint/package.json +++ b/packages/@aws-cdk/aws-pinpoint/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-pinpoint", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Pinpoint", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_pinpoint", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-pinpointemail/package.json b/packages/@aws-cdk/aws-pinpointemail/package.json index e27b658382c10..8d66eaa4aaaed 100644 --- a/packages/@aws-cdk/aws-pinpointemail/package.json +++ b/packages/@aws-cdk/aws-pinpointemail/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-pinpointemail", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::PinpointEmail", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_pinpointemail", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-qldb/package.json b/packages/@aws-cdk/aws-qldb/package.json index 6495604a0172a..43a1ff9c346c4 100644 --- a/packages/@aws-cdk/aws-qldb/package.json +++ b/packages/@aws-cdk/aws-qldb/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-qldb", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::QLDB", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_qldb", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-quicksight/package.json b/packages/@aws-cdk/aws-quicksight/package.json index 14b86d0f3d3a7..315d7d559309a 100644 --- a/packages/@aws-cdk/aws-quicksight/package.json +++ b/packages/@aws-cdk/aws-quicksight/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-quicksight", "module": "aws_cdk.aws_quicksight" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -105,5 +107,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-ram/package.json b/packages/@aws-cdk/aws-ram/package.json index f713bb6a129a7..c7e5cda6f0ea3 100644 --- a/packages/@aws-cdk/aws-ram/package.json +++ b/packages/@aws-cdk/aws-ram/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ram", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::RAM", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ram", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-rds/lib/cluster-engine.ts b/packages/@aws-cdk/aws-rds/lib/cluster-engine.ts index ec8710bd32c99..f743a26ef39ee 100644 --- a/packages/@aws-cdk/aws-rds/lib/cluster-engine.ts +++ b/packages/@aws-cdk/aws-rds/lib/cluster-engine.ts @@ -1,13 +1,10 @@ import * as iam from '@aws-cdk/aws-iam'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; +import { Construct } from 'constructs'; import { IEngine } from './engine'; import { EngineVersion } from './engine-version'; import { IParameterGroup, ParameterGroup } from './parameter-group'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * The extra options passed to the {@link IClusterEngine.bindToCluster} method. */ diff --git a/packages/@aws-cdk/aws-rds/lib/cluster.ts b/packages/@aws-cdk/aws-rds/lib/cluster.ts index a5087e7447609..ef0963fe5f6be 100644 --- a/packages/@aws-cdk/aws-rds/lib/cluster.ts +++ b/packages/@aws-cdk/aws-rds/lib/cluster.ts @@ -9,10 +9,11 @@ import * as cxapi from '@aws-cdk/cx-api'; import { Construct } from 'constructs'; import { IClusterEngine } from './cluster-engine'; import { DatabaseClusterAttributes, IDatabaseCluster } from './cluster-ref'; +import { DatabaseSecret } from './database-secret'; import { Endpoint } from './endpoint'; import { IParameterGroup, ParameterGroup } from './parameter-group'; import { applyDefaultRotationOptions, defaultDeletionProtection, renderCredentials, setupS3ImportExport, helperRemovalPolicy, renderUnless } from './private/util'; -import { BackupProps, Credentials, InstanceProps, PerformanceInsightRetention, RotationSingleUserOptions, RotationMultiUserOptions } from './props'; +import { BackupProps, Credentials, InstanceProps, PerformanceInsightRetention, RotationSingleUserOptions, RotationMultiUserOptions, SnapshotCredentials } from './props'; import { DatabaseProxy, DatabaseProxyOptions, ProxyTarget } from './proxy'; import { CfnDBCluster, CfnDBClusterProps, CfnDBInstance } from './rds.generated'; import { ISubnetGroup, SubnetGroup } from './subnet-group'; @@ -661,9 +662,27 @@ export interface DatabaseClusterFromSnapshotProps extends DatabaseClusterBasePro /** * Credentials for the administrative user * + * Note - using this prop only works with `Credentials.fromPassword()` with the + * username of the snapshot, `Credentials.fromUsername()` with the username and + * password of the snapshot or `Credentials.fromSecret()` with a secret containing + * the username and password of the snapshot. + * * @default - A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password + * that **will not be applied** to the cluster, use `snapshotCredentials` for the correct behavior. + * + * @deprecated use `snapshotCredentials` which allows to generate a new password */ readonly credentials?: Credentials; + + /** + * Master user credentials. + * + * Note - It is not possible to change the master username for a snapshot; + * however, it is possible to provide (or generate) a new password. + * + * @default - The existing username and password from the snapshot will be used. + */ + readonly snapshotCredentials?: SnapshotCredentials; } /** @@ -687,12 +706,34 @@ export class DatabaseClusterFromSnapshot extends DatabaseClusterNew { constructor(scope: Construct, id: string, props: DatabaseClusterFromSnapshotProps) { super(scope, id, props); - const credentials = renderCredentials(this, props.engine, props.credentials); - const secret = credentials.secret; + if (props.credentials && !props.credentials.password && !props.credentials.secret) { + Annotations.of(this).addWarning('Use `snapshotCredentials` to modify password of a cluster created from a snapshot.'); + } + if (!props.credentials && !props.snapshotCredentials) { + Annotations.of(this).addWarning('Generated credentials will not be applied to cluster. Use `snapshotCredentials` instead. `addRotationSingleUser()` and `addRotationMultiUser()` cannot be used on tbis cluster.'); + } + const deprecatedCredentials = renderCredentials(this, props.engine, props.credentials); + + let credentials = props.snapshotCredentials; + let secret = credentials?.secret; + if (!secret && credentials?.generatePassword) { + if (!credentials.username) { + throw new Error('`snapshotCredentials` `username` must be specified when `generatePassword` is set to true'); + } + + secret = new DatabaseSecret(this, 'SnapshotSecret', { + username: credentials.username, + encryptionKey: credentials.encryptionKey, + excludeCharacters: credentials.excludeCharacters, + replaceOnPasswordCriteriaChanges: credentials.replaceOnPasswordCriteriaChanges, + replicaRegions: credentials.replicaRegions, + }); + } const cluster = new CfnDBCluster(this, 'Resource', { ...this.newCfnProps, snapshotIdentifier: props.snapshotIdentifier, + masterUserPassword: secret?.secretValueFromJson('password')?.unsafeUnwrap() ?? credentials?.password?.unsafeUnwrap(), // Safe usage }); this.clusterIdentifier = cluster.ref; @@ -701,6 +742,13 @@ export class DatabaseClusterFromSnapshot extends DatabaseClusterNew { this.secret = secret.attach(this); } + if (deprecatedCredentials.secret) { + const deprecatedSecret = deprecatedCredentials.secret.attach(this); + if (!this.secret) { + this.secret = deprecatedSecret; + } + } + // create a number token that represents the port of the cluster const portAttribute = Token.asNumber(cluster.attrEndpointPort); this.clusterEndpoint = new Endpoint(cluster.attrEndpointAddress, portAttribute); diff --git a/packages/@aws-cdk/aws-rds/lib/instance-engine.ts b/packages/@aws-cdk/aws-rds/lib/instance-engine.ts index fd84f6fd17444..0039ab37f85b8 100644 --- a/packages/@aws-cdk/aws-rds/lib/instance-engine.ts +++ b/packages/@aws-cdk/aws-rds/lib/instance-engine.ts @@ -1,13 +1,10 @@ import * as iam from '@aws-cdk/aws-iam'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; +import { Construct } from 'constructs'; import { IEngine } from './engine'; import { EngineVersion } from './engine-version'; import { IOptionGroup, OptionGroup } from './option-group'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * The options passed to {@link IInstanceEngine.bind}. */ diff --git a/packages/@aws-cdk/aws-rds/lib/private/util.ts b/packages/@aws-cdk/aws-rds/lib/private/util.ts index 729744a911eaf..9bace496400cd 100644 --- a/packages/@aws-cdk/aws-rds/lib/private/util.ts +++ b/packages/@aws-cdk/aws-rds/lib/private/util.ts @@ -8,7 +8,7 @@ import { CommonRotationUserOptions, Credentials } from '../props'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The default set of characters we exclude from generated passwords for database users. diff --git a/packages/@aws-cdk/aws-rds/package.json b/packages/@aws-cdk/aws-rds/package.json index c33e09d6b5051..5bb662bd7a39e 100644 --- a/packages/@aws-cdk/aws-rds/package.json +++ b/packages/@aws-cdk/aws-rds/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-rds", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::RDS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_rds", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -83,6 +84,7 @@ "@aws-cdk/aws-events-targets": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/cdk-build-tools": "0.0.0", + "@aws-cdk/custom-resources": "0.0.0", "@aws-cdk/integ-runner": "0.0.0", "@aws-cdk/cfn2ts": "0.0.0", "@aws-cdk/cx-api": "0.0.0", @@ -101,7 +103,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -115,10 +117,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-rds/test/cluster-s3.integ.snapshot/aws-cdk-rds-s3-integ.assets.json b/packages/@aws-cdk/aws-rds/test/cluster-s3.integ.snapshot/aws-cdk-rds-s3-integ.assets.json new file mode 100644 index 0000000000000..3558d8f9f9aa2 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-s3.integ.snapshot/aws-cdk-rds-s3-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "dce8fe094fb86cc1e01c63cbd2c72aa1a76e2727a79a5f6c08561515e0a20433": { + "source": { + "path": "aws-cdk-rds-s3-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "dce8fe094fb86cc1e01c63cbd2c72aa1a76e2727a79a5f6c08561515e0a20433.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-s3.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/cluster-s3.integ.snapshot/tree.json index e80bb414f5939..758336a107562 100644 --- a/packages/@aws-cdk/aws-rds/test/cluster-s3.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-rds/test/cluster-s3.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-rds-s3-integ": { diff --git a/packages/@aws-cdk/aws-rds/test/cluster-s3.mysql-8.integ.snapshot/aws-cdk-rds-s3-mysql-8-integ.assets.json b/packages/@aws-cdk/aws-rds/test/cluster-s3.mysql-8.integ.snapshot/aws-cdk-rds-s3-mysql-8-integ.assets.json new file mode 100644 index 0000000000000..696271fd1e645 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-s3.mysql-8.integ.snapshot/aws-cdk-rds-s3-mysql-8-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "ab48a02a94dd894ab32e9d8aea9063211a59b08aa715178bcf53c91251c7ac73": { + "source": { + "path": "aws-cdk-rds-s3-mysql-8-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ab48a02a94dd894ab32e9d8aea9063211a59b08aa715178bcf53c91251c7ac73.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-s3.mysql-8.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/cluster-s3.mysql-8.integ.snapshot/tree.json index b50ef67741028..e932e4af18390 100644 --- a/packages/@aws-cdk/aws-rds/test/cluster-s3.mysql-8.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-rds/test/cluster-s3.mysql-8.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-rds-s3-mysql-8-integ": { diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.d.ts b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.d.ts new file mode 100644 index 0000000000000..a64fd5d9eb2dc --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.d.ts @@ -0,0 +1,3 @@ +import type { IsCompleteRequest, IsCompleteResponse, OnEventRequest, OnEventResponse } from '@aws-cdk/custom-resources/lib/provider-framework/types'; +export declare function onEventHandler(event: OnEventRequest): Promise; +export declare function isCompleteHandler(event: IsCompleteRequest): Promise; diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.js b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.js new file mode 100644 index 0000000000000..de753f1849b44 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isCompleteHandler = exports.onEventHandler = void 0; +const aws_sdk_1 = require("aws-sdk"); // eslint-disable-line import/no-extraneous-dependencies +async function onEventHandler(event) { + var _a; + console.log('Event: %j', event); + const rds = new aws_sdk_1.RDS(); + const physicalResourceId = `${event.ResourceProperties.DBClusterIdentifier}-${event.ResourceProperties.DBClusterIdentifier}`; + if (event.RequestType === 'Create' || event.RequestType === 'Update') { + const data = await rds.createDBClusterSnapshot({ + DBClusterIdentifier: event.ResourceProperties.DBClusterIdentifier, + DBClusterSnapshotIdentifier: event.ResourceProperties.DBClusterSnapshotIdentifier, + }).promise(); + return { + PhysicalResourceId: physicalResourceId, + Data: { + DBClusterSnapshotArn: (_a = data.DBClusterSnapshot) === null || _a === void 0 ? void 0 : _a.DBClusterSnapshotArn, + }, + }; + } + if (event.RequestType === 'Delete') { + await rds.deleteDBClusterSnapshot({ + DBClusterSnapshotIdentifier: event.ResourceProperties.DBClusterSnapshotIdentifier, + }).promise(); + } + return { + PhysicalResourceId: `${event.ResourceProperties.DBClusterIdentifier}-${event.ResourceProperties.DBClusterIdentifier}`, + }; +} +exports.onEventHandler = onEventHandler; +async function isCompleteHandler(event) { + console.log('Event: %j', event); + const snapshotStatus = await tryGetClusterSnapshotStatus(event.ResourceProperties.DBClusterSnapshotIdentifier); + switch (event.RequestType) { + case 'Create': + case 'Update': + return { IsComplete: snapshotStatus === 'available' }; + case 'Delete': + return { IsComplete: snapshotStatus === undefined }; + } +} +exports.isCompleteHandler = isCompleteHandler; +async function tryGetClusterSnapshotStatus(identifier) { + var _a; + try { + const rds = new aws_sdk_1.RDS(); + const data = await rds.describeDBClusterSnapshots({ + DBClusterSnapshotIdentifier: identifier, + }).promise(); + return (_a = data.DBClusterSnapshots) === null || _a === void 0 ? void 0 : _a[0].Status; + } + catch (err) { + if (err.code === 'DBClusterSnapshotNotFoundFault') { + return undefined; + } + throw err; + } +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxxQ0FBOEIsQ0FBQyx3REFBd0Q7QUFFaEYsS0FBSyxVQUFVLGNBQWMsQ0FBQyxLQUFxQjs7SUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxhQUFHLEVBQUUsQ0FBQztJQUV0QixNQUFNLGtCQUFrQixHQUFHLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTdILElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUU7UUFDcEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUMsdUJBQXVCLENBQUM7WUFDN0MsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQjtZQUNqRSwyQkFBMkIsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCO1NBQ2xGLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU87WUFDTCxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsSUFBSSxFQUFFO2dCQUNKLG9CQUFvQixRQUFFLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsb0JBQW9CO2FBQ25FO1NBQ0YsQ0FBQztLQUNIO0lBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUNsQyxNQUFNLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztZQUNoQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCO1NBQ2xGLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNkO0lBRUQsT0FBTztRQUNMLGtCQUFrQixFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRTtLQUN0SCxDQUFDO0FBQ0osQ0FBQztBQTdCRCx3Q0E2QkM7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQUMsS0FBd0I7SUFDOUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFaEMsTUFBTSxjQUFjLEdBQUcsTUFBTSwyQkFBMkIsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUUvRyxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFFBQVE7WUFDWCxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN4RCxLQUFLLFFBQVE7WUFDWCxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztLQUN2RDtBQUNILENBQUM7QUFaRCw4Q0FZQztBQUVELEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxVQUFrQjs7SUFDM0QsSUFBSTtRQUNGLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUM7WUFDaEQsMkJBQTJCLEVBQUUsVUFBVTtTQUN4QyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixhQUFPLElBQUksQ0FBQyxrQkFBa0IsMENBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUM1QztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGdDQUFnQyxFQUFFO1lBQ2pELE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxHQUFHLENBQUM7S0FDWDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgdHlwZSB7IElzQ29tcGxldGVSZXF1ZXN0LCBJc0NvbXBsZXRlUmVzcG9uc2UsIE9uRXZlbnRSZXF1ZXN0LCBPbkV2ZW50UmVzcG9uc2UgfSBmcm9tICdAYXdzLWNkay9jdXN0b20tcmVzb3VyY2VzL2xpYi9wcm92aWRlci1mcmFtZXdvcmsvdHlwZXMnO1xuaW1wb3J0IHsgUkRTIH0gZnJvbSAnYXdzLXNkayc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvbkV2ZW50SGFuZGxlcihldmVudDogT25FdmVudFJlcXVlc3QpOiBQcm9taXNlPE9uRXZlbnRSZXNwb25zZT4ge1xuICBjb25zb2xlLmxvZygnRXZlbnQ6ICVqJywgZXZlbnQpO1xuXG4gIGNvbnN0IHJkcyA9IG5ldyBSRFMoKTtcblxuICBjb25zdCBwaHlzaWNhbFJlc291cmNlSWQgPSBgJHtldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuREJDbHVzdGVySWRlbnRpZmllcn0tJHtldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuREJDbHVzdGVySWRlbnRpZmllcn1gO1xuXG4gIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScgfHwgZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdVcGRhdGUnKSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJkcy5jcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdCh7XG4gICAgICBEQkNsdXN0ZXJJZGVudGlmaWVyOiBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuREJDbHVzdGVySWRlbnRpZmllcixcbiAgICAgIERCQ2x1c3RlclNuYXBzaG90SWRlbnRpZmllcjogZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRCQ2x1c3RlclNuYXBzaG90SWRlbnRpZmllcixcbiAgICB9KS5wcm9taXNlKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogcGh5c2ljYWxSZXNvdXJjZUlkLFxuICAgICAgRGF0YToge1xuICAgICAgICBEQkNsdXN0ZXJTbmFwc2hvdEFybjogZGF0YS5EQkNsdXN0ZXJTbmFwc2hvdD8uREJDbHVzdGVyU25hcHNob3RBcm4sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnKSB7XG4gICAgYXdhaXQgcmRzLmRlbGV0ZURCQ2x1c3RlclNuYXBzaG90KHtcbiAgICAgIERCQ2x1c3RlclNuYXBzaG90SWRlbnRpZmllcjogZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRCQ2x1c3RlclNuYXBzaG90SWRlbnRpZmllcixcbiAgICB9KS5wcm9taXNlKCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogYCR7ZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRCQ2x1c3RlcklkZW50aWZpZXJ9LSR7ZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRCQ2x1c3RlcklkZW50aWZpZXJ9YCxcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzQ29tcGxldGVIYW5kbGVyKGV2ZW50OiBJc0NvbXBsZXRlUmVxdWVzdCk6IFByb21pc2U8SXNDb21wbGV0ZVJlc3BvbnNlPiB7XG4gIGNvbnNvbGUubG9nKCdFdmVudDogJWonLCBldmVudCk7XG5cbiAgY29uc3Qgc25hcHNob3RTdGF0dXMgPSBhd2FpdCB0cnlHZXRDbHVzdGVyU25hcHNob3RTdGF0dXMoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRCQ2x1c3RlclNuYXBzaG90SWRlbnRpZmllcik7XG5cbiAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgJ0NyZWF0ZSc6XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiB7IElzQ29tcGxldGU6IHNuYXBzaG90U3RhdHVzID09PSAnYXZhaWxhYmxlJyB9O1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4geyBJc0NvbXBsZXRlOiBzbmFwc2hvdFN0YXR1cyA9PT0gdW5kZWZpbmVkIH07XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gdHJ5R2V0Q2x1c3RlclNuYXBzaG90U3RhdHVzKGlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmRzID0gbmV3IFJEUygpO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZHMuZGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHMoe1xuICAgICAgREJDbHVzdGVyU25hcHNob3RJZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgIH0pLnByb21pc2UoKTtcbiAgICByZXR1cm4gZGF0YS5EQkNsdXN0ZXJTbmFwc2hvdHM/LlswXS5TdGF0dXM7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmIChlcnIuY29kZSA9PT0gJ0RCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRocm93IGVycjtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.ts b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.ts new file mode 100644 index 0000000000000..6d5a3c23336cd --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/index.ts @@ -0,0 +1,63 @@ +/* eslint-disable no-console */ +import type { IsCompleteRequest, IsCompleteResponse, OnEventRequest, OnEventResponse } from '@aws-cdk/custom-resources/lib/provider-framework/types'; +import { RDS } from 'aws-sdk'; // eslint-disable-line import/no-extraneous-dependencies + +export async function onEventHandler(event: OnEventRequest): Promise { + console.log('Event: %j', event); + + const rds = new RDS(); + + const physicalResourceId = `${event.ResourceProperties.DBClusterIdentifier}-${event.ResourceProperties.DBClusterIdentifier}`; + + if (event.RequestType === 'Create' || event.RequestType === 'Update') { + const data = await rds.createDBClusterSnapshot({ + DBClusterIdentifier: event.ResourceProperties.DBClusterIdentifier, + DBClusterSnapshotIdentifier: event.ResourceProperties.DBClusterSnapshotIdentifier, + }).promise(); + return { + PhysicalResourceId: physicalResourceId, + Data: { + DBClusterSnapshotArn: data.DBClusterSnapshot?.DBClusterSnapshotArn, + }, + }; + } + + if (event.RequestType === 'Delete') { + await rds.deleteDBClusterSnapshot({ + DBClusterSnapshotIdentifier: event.ResourceProperties.DBClusterSnapshotIdentifier, + }).promise(); + } + + return { + PhysicalResourceId: `${event.ResourceProperties.DBClusterIdentifier}-${event.ResourceProperties.DBClusterIdentifier}`, + }; +} + +export async function isCompleteHandler(event: IsCompleteRequest): Promise { + console.log('Event: %j', event); + + const snapshotStatus = await tryGetClusterSnapshotStatus(event.ResourceProperties.DBClusterSnapshotIdentifier); + + switch (event.RequestType) { + case 'Create': + case 'Update': + return { IsComplete: snapshotStatus === 'available' }; + case 'Delete': + return { IsComplete: snapshotStatus === undefined }; + } +} + +async function tryGetClusterSnapshotStatus(identifier: string): Promise { + try { + const rds = new RDS(); + const data = await rds.describeDBClusterSnapshots({ + DBClusterSnapshotIdentifier: identifier, + }).promise(); + return data.DBClusterSnapshots?.[0].Status; + } catch (err) { + if (err.code === 'DBClusterSnapshotNotFoundFault') { + return undefined; + } + throw err; + } +} diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/cfn-response.js b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/cfn-response.js new file mode 100644 index 0000000000000..63bdaab149314 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/cfn-response.js @@ -0,0 +1,83 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Retry = exports.safeHandler = exports.includeStackTraces = exports.submitResponse = exports.MISSING_PHYSICAL_ID_MARKER = exports.CREATE_FAILED_PHYSICAL_ID_MARKER = void 0; +/* eslint-disable max-len */ +/* eslint-disable no-console */ +const url = require("url"); +const outbound_1 = require("./outbound"); +const util_1 = require("./util"); +exports.CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; +exports.MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; +async function submitResponse(status, event, options = {}) { + const json = { + Status: status, + Reason: options.reason || status, + StackId: event.StackId, + RequestId: event.RequestId, + PhysicalResourceId: event.PhysicalResourceId || exports.MISSING_PHYSICAL_ID_MARKER, + LogicalResourceId: event.LogicalResourceId, + NoEcho: options.noEcho, + Data: event.Data, + }; + util_1.log('submit response to cloudformation', json); + const responseBody = JSON.stringify(json); + const parsedUrl = url.parse(event.ResponseURL); + await outbound_1.httpRequest({ + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: 'PUT', + headers: { + 'content-type': '', + 'content-length': responseBody.length, + }, + }, responseBody); +} +exports.submitResponse = submitResponse; +exports.includeStackTraces = true; // for unit tests +function safeHandler(block) { + return async (event) => { + // ignore DELETE event when the physical resource ID is the marker that + // indicates that this DELETE is a subsequent DELETE to a failed CREATE + // operation. + if (event.RequestType === 'Delete' && event.PhysicalResourceId === exports.CREATE_FAILED_PHYSICAL_ID_MARKER) { + util_1.log('ignoring DELETE event caused by a failed CREATE event'); + await submitResponse('SUCCESS', event); + return; + } + try { + await block(event); + } + catch (e) { + // tell waiter state machine to retry + if (e instanceof Retry) { + util_1.log('retry requested by handler'); + throw e; + } + if (!event.PhysicalResourceId) { + // special case: if CREATE fails, which usually implies, we usually don't + // have a physical resource id. in this case, the subsequent DELETE + // operation does not have any meaning, and will likely fail as well. to + // address this, we use a marker so the provider framework can simply + // ignore the subsequent DELETE. + if (event.RequestType === 'Create') { + util_1.log('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); + event.PhysicalResourceId = exports.CREATE_FAILED_PHYSICAL_ID_MARKER; + } + else { + // otherwise, if PhysicalResourceId is not specified, something is + // terribly wrong because all other events should have an ID. + util_1.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`); + } + } + // this is an actual error, fail the activity altogether and exist. + await submitResponse('FAILED', event, { + reason: exports.includeStackTraces ? e.stack : e.message, + }); + } + }; +} +exports.safeHandler = safeHandler; +class Retry extends Error { +} +exports.Retry = Retry; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRCQUE0QjtBQUM1QiwrQkFBK0I7QUFDL0IsMkJBQTJCO0FBQzNCLHlDQUF5QztBQUN6QyxpQ0FBNkI7QUFFaEIsUUFBQSxnQ0FBZ0MsR0FBRyx3REFBd0QsQ0FBQztBQUM1RixRQUFBLDBCQUEwQixHQUFHLDhEQUE4RCxDQUFDO0FBZ0JsRyxLQUFLLFVBQVUsY0FBYyxDQUFDLE1BQTRCLEVBQUUsS0FBaUMsRUFBRSxVQUF5QyxFQUFHO0lBQ2hKLE1BQU0sSUFBSSxHQUFtRDtRQUMzRCxNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU07UUFDaEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztRQUMxQixrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCLElBQUksa0NBQTBCO1FBQzFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7UUFDMUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3RCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtLQUNqQixDQUFDO0lBRUYsVUFBRyxDQUFDLG1DQUFtQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRS9DLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsTUFBTSxzQkFBVyxDQUFDO1FBQ2hCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtRQUM1QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsTUFBTSxFQUFFLEtBQUs7UUFDYixPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsRUFBRTtZQUNsQixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsTUFBTTtTQUN0QztLQUNGLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQTFCRCx3Q0EwQkM7QUFFVSxRQUFBLGtCQUFrQixHQUFHLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtBQUV2RCxTQUFnQixXQUFXLENBQUMsS0FBb0M7SUFDOUQsT0FBTyxLQUFLLEVBQUUsS0FBVSxFQUFFLEVBQUU7UUFFMUIsdUVBQXVFO1FBQ3ZFLHVFQUF1RTtRQUN2RSxhQUFhO1FBQ2IsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEtBQUssd0NBQWdDLEVBQUU7WUFDbkcsVUFBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7WUFDN0QsTUFBTSxjQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87U0FDUjtRQUVELElBQUk7WUFDRixNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YscUNBQXFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDdEIsVUFBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sQ0FBQyxDQUFDO2FBQ1Q7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFO2dCQUM3Qix5RUFBeUU7Z0JBQ3pFLG1FQUFtRTtnQkFDbkUsd0VBQXdFO2dCQUN4RSxxRUFBcUU7Z0JBQ3JFLGdDQUFnQztnQkFDaEMsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtvQkFDbEMsVUFBRyxDQUFDLDRHQUE0RyxDQUFDLENBQUM7b0JBQ2xILEtBQUssQ0FBQyxrQkFBa0IsR0FBRyx3Q0FBZ0MsQ0FBQztpQkFDN0Q7cUJBQU07b0JBQ0wsa0VBQWtFO29CQUNsRSw2REFBNkQ7b0JBQzdELFVBQUcsQ0FBQyw2REFBNkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQzNGO2FBQ0Y7WUFFRCxtRUFBbUU7WUFDbkUsTUFBTSxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDcEMsTUFBTSxFQUFFLDBCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTzthQUNqRCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUEzQ0Qsa0NBMkNDO0FBRUQsTUFBYSxLQUFNLFNBQVEsS0FBSztDQUFJO0FBQXBDLHNCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tICcuL291dGJvdW5kJztcbmltcG9ydCB7IGxvZyB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6OkNSRUFURV9GQUlMRUQnO1xuZXhwb3J0IGNvbnN0IE1JU1NJTkdfUEhZU0lDQUxfSURfTUFSS0VSID0gJ0FXU0NESzo6Q3VzdG9tUmVzb3VyY2VQcm92aWRlckZyYW1ld29yazo6TUlTU0lOR19QSFlTSUNBTF9JRCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGb3JtYXRpb25SZXNwb25zZU9wdGlvbnMge1xuICByZWFkb25seSByZWFzb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5vRWNobz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGb3JtYXRpb25FdmVudENvbnRleHQge1xuICBTdGFja0lkOiBzdHJpbmc7XG4gIFJlcXVlc3RJZDogc3RyaW5nO1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmc7XG4gIExvZ2ljYWxSZXNvdXJjZUlkOiBzdHJpbmc7XG4gIFJlc3BvbnNlVVJMOiBzdHJpbmc7XG4gIERhdGE/OiBhbnlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN1Ym1pdFJlc3BvbnNlKHN0YXR1czogJ1NVQ0NFU1MnIHwgJ0ZBSUxFRCcsIGV2ZW50OiBDbG91ZEZvcm1hdGlvbkV2ZW50Q29udGV4dCwgb3B0aW9uczogQ2xvdWRGb3JtYXRpb25SZXNwb25zZU9wdGlvbnMgPSB7IH0pIHtcbiAgY29uc3QganNvbjogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VSZXNwb25zZSA9IHtcbiAgICBTdGF0dXM6IHN0YXR1cyxcbiAgICBSZWFzb246IG9wdGlvbnMucmVhc29uIHx8IHN0YXR1cyxcbiAgICBTdGFja0lkOiBldmVudC5TdGFja0lkLFxuICAgIFJlcXVlc3RJZDogZXZlbnQuUmVxdWVzdElkLFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkIHx8IE1JU1NJTkdfUEhZU0lDQUxfSURfTUFSS0VSLFxuICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICBOb0VjaG86IG9wdGlvbnMubm9FY2hvLFxuICAgIERhdGE6IGV2ZW50LkRhdGEsXG4gIH07XG5cbiAgbG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBqc29uKTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICBjb25zdCBwYXJzZWRVcmwgPSB1cmwucGFyc2UoZXZlbnQuUmVzcG9uc2VVUkwpO1xuICBhd2FpdCBodHRwUmVxdWVzdCh7XG4gICAgaG9zdG5hbWU6IHBhcnNlZFVybC5ob3N0bmFtZSxcbiAgICBwYXRoOiBwYXJzZWRVcmwucGF0aCxcbiAgICBtZXRob2Q6ICdQVVQnLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgICdjb250ZW50LXR5cGUnOiAnJyxcbiAgICAgICdjb250ZW50LWxlbmd0aCc6IHJlc3BvbnNlQm9keS5sZW5ndGgsXG4gICAgfSxcbiAgfSwgcmVzcG9uc2VCb2R5KTtcbn1cblxuZXhwb3J0IGxldCBpbmNsdWRlU3RhY2tUcmFjZXMgPSB0cnVlOyAvLyBmb3IgdW5pdCB0ZXN0c1xuXG5leHBvcnQgZnVuY3Rpb24gc2FmZUhhbmRsZXIoYmxvY2s6IChldmVudDogYW55KSA9PiBQcm9taXNlPHZvaWQ+KSB7XG4gIHJldHVybiBhc3luYyAoZXZlbnQ6IGFueSkgPT4ge1xuXG4gICAgLy8gaWdub3JlIERFTEVURSBldmVudCB3aGVuIHRoZSBwaHlzaWNhbCByZXNvdXJjZSBJRCBpcyB0aGUgbWFya2VyIHRoYXRcbiAgICAvLyBpbmRpY2F0ZXMgdGhhdCB0aGlzIERFTEVURSBpcyBhIHN1YnNlcXVlbnQgREVMRVRFIHRvIGEgZmFpbGVkIENSRUFURVxuICAgIC8vIG9wZXJhdGlvbi5cbiAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnICYmIGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCA9PT0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIpIHtcbiAgICAgIGxvZygnaWdub3JpbmcgREVMRVRFIGV2ZW50IGNhdXNlZCBieSBhIGZhaWxlZCBDUkVBVEUgZXZlbnQnKTtcbiAgICAgIGF3YWl0IHN1Ym1pdFJlc3BvbnNlKCdTVUNDRVNTJywgZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBibG9jayhldmVudCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gdGVsbCB3YWl0ZXIgc3RhdGUgbWFjaGluZSB0byByZXRyeVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXRyeSkge1xuICAgICAgICBsb2coJ3JldHJ5IHJlcXVlc3RlZCBieSBoYW5kbGVyJyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgQ1JFQVRFIGZhaWxzLCB3aGljaCB1c3VhbGx5IGltcGxpZXMsIHdlIHVzdWFsbHkgZG9uJ3RcbiAgICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgICAgLy8gYWRkcmVzcyB0aGlzLCB3ZSB1c2UgYSBtYXJrZXIgc28gdGhlIHByb3ZpZGVyIGZyYW1ld29yayBjYW4gc2ltcGx5XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgICBsb2coJ0NSRUFURSBmYWlsZWQsIHJlc3BvbmRpbmcgd2l0aCBhIG1hcmtlciBwaHlzaWNhbCByZXNvdXJjZSBpZCBzbyB0aGF0IHRoZSBzdWJzZXF1ZW50IERFTEVURSB3aWxsIGJlIGlnbm9yZWQnKTtcbiAgICAgICAgICBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgICAvLyB0ZXJyaWJseSB3cm9uZyBiZWNhdXNlIGFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgYW4gSUQuXG4gICAgICAgICAgbG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KGV2ZW50KX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgZXZlbnQsIHtcbiAgICAgICAgcmVhc29uOiBpbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgUmV0cnkgZXh0ZW5kcyBFcnJvciB7IH1cbiJdfQ== \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/consts.js b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/consts.js new file mode 100644 index 0000000000000..31faa077ae313 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/consts.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME = exports.FRAMEWORK_IS_COMPLETE_HANDLER_NAME = exports.FRAMEWORK_ON_EVENT_HANDLER_NAME = exports.WAITER_STATE_MACHINE_ARN_ENV = exports.USER_IS_COMPLETE_FUNCTION_ARN_ENV = exports.USER_ON_EVENT_FUNCTION_ARN_ENV = void 0; +exports.USER_ON_EVENT_FUNCTION_ARN_ENV = 'USER_ON_EVENT_FUNCTION_ARN'; +exports.USER_IS_COMPLETE_FUNCTION_ARN_ENV = 'USER_IS_COMPLETE_FUNCTION_ARN'; +exports.WAITER_STATE_MACHINE_ARN_ENV = 'WAITER_STATE_MACHINE_ARN'; +exports.FRAMEWORK_ON_EVENT_HANDLER_NAME = 'onEvent'; +exports.FRAMEWORK_IS_COMPLETE_HANDLER_NAME = 'isComplete'; +exports.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME = 'onTimeout'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsOEJBQThCLEdBQUcsNEJBQTRCLENBQUM7QUFDOUQsUUFBQSxpQ0FBaUMsR0FBRywrQkFBK0IsQ0FBQztBQUNwRSxRQUFBLDRCQUE0QixHQUFHLDBCQUEwQixDQUFDO0FBRTFELFFBQUEsK0JBQStCLEdBQUcsU0FBUyxDQUFDO0FBQzVDLFFBQUEsa0NBQWtDLEdBQUcsWUFBWSxDQUFDO0FBQ2xELFFBQUEsaUNBQWlDLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVTRVJfT05fRVZFTlRfRlVOQ1RJT05fQVJOX0VOViA9ICdVU0VSX09OX0VWRU5UX0ZVTkNUSU9OX0FSTic7XG5leHBvcnQgY29uc3QgVVNFUl9JU19DT01QTEVURV9GVU5DVElPTl9BUk5fRU5WID0gJ1VTRVJfSVNfQ09NUExFVEVfRlVOQ1RJT05fQVJOJztcbmV4cG9ydCBjb25zdCBXQUlURVJfU1RBVEVfTUFDSElORV9BUk5fRU5WID0gJ1dBSVRFUl9TVEFURV9NQUNISU5FX0FSTic7XG5cbmV4cG9ydCBjb25zdCBGUkFNRVdPUktfT05fRVZFTlRfSEFORExFUl9OQU1FID0gJ29uRXZlbnQnO1xuZXhwb3J0IGNvbnN0IEZSQU1FV09SS19JU19DT01QTEVURV9IQU5ETEVSX05BTUUgPSAnaXNDb21wbGV0ZSc7XG5leHBvcnQgY29uc3QgRlJBTUVXT1JLX09OX1RJTUVPVVRfSEFORExFUl9OQU1FID0gJ29uVGltZW91dCc7XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/framework.js b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/framework.js new file mode 100644 index 0000000000000..3f09fbdde6480 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/framework.js @@ -0,0 +1,164 @@ +"use strict"; +const cfnResponse = require("./cfn-response"); +const consts = require("./consts"); +const outbound_1 = require("./outbound"); +const util_1 = require("./util"); +/** + * The main runtime entrypoint of the async custom resource lambda function. + * + * Any lifecycle event changes to the custom resources will invoke this handler, which will, in turn, + * interact with the user-defined `onEvent` and `isComplete` handlers. + * + * This function will always succeed. If an error occurs + * + * @param cfnRequest The cloudformation custom resource event. + */ +async function onEvent(cfnRequest) { + util_1.log('onEventHandler', cfnRequest); + cfnRequest.ResourceProperties = cfnRequest.ResourceProperties || {}; + const onEventResult = await invokeUserFunction(consts.USER_ON_EVENT_FUNCTION_ARN_ENV, cfnRequest); + util_1.log('onEvent returned:', onEventResult); + // merge the request and the result from onEvent to form the complete resource event + // this also performs validation. + const resourceEvent = createResponseEvent(cfnRequest, onEventResult); + util_1.log('event:', onEventResult); + // determine if this is an async provider based on whether we have an isComplete handler defined. + // if it is not defined, then we are basically ready to return a positive response. + if (!process.env[consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV]) { + return cfnResponse.submitResponse('SUCCESS', resourceEvent, { noEcho: resourceEvent.NoEcho }); + } + // ok, we are not complete, so kick off the waiter workflow + const waiter = { + stateMachineArn: util_1.getEnv(consts.WAITER_STATE_MACHINE_ARN_ENV), + name: resourceEvent.RequestId, + input: JSON.stringify(resourceEvent), + }; + util_1.log('starting waiter', waiter); + // kick off waiter state machine + await outbound_1.startExecution(waiter); +} +// invoked a few times until `complete` is true or until it times out. +async function isComplete(event) { + util_1.log('isComplete', event); + const isCompleteResult = await invokeUserFunction(consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV, event); + util_1.log('user isComplete returned:', isCompleteResult); + // if we are not complete, return false, and don't send a response back. + if (!isCompleteResult.IsComplete) { + if (isCompleteResult.Data && Object.keys(isCompleteResult.Data).length > 0) { + throw new Error('"Data" is not allowed if "IsComplete" is "False"'); + } + throw new cfnResponse.Retry(JSON.stringify(event)); + } + const response = { + ...event, + ...isCompleteResult, + Data: { + ...event.Data, + ...isCompleteResult.Data, + }, + }; + await cfnResponse.submitResponse('SUCCESS', response, { noEcho: event.NoEcho }); +} +// invoked when completion retries are exhaused. +async function onTimeout(timeoutEvent) { + util_1.log('timeoutHandler', timeoutEvent); + const isCompleteRequest = JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage); + await cfnResponse.submitResponse('FAILED', isCompleteRequest, { + reason: 'Operation timed out', + }); +} +async function invokeUserFunction(functionArnEnv, payload) { + const functionArn = util_1.getEnv(functionArnEnv); + util_1.log(`executing user function ${functionArn} with payload`, payload); + // transient errors such as timeouts, throttling errors (429), and other + // errors that aren't caused by a bad request (500 series) are retried + // automatically by the JavaScript SDK. + const resp = await outbound_1.invokeFunction({ + FunctionName: functionArn, + Payload: JSON.stringify(payload), + }); + util_1.log('user function response:', resp, typeof (resp)); + const jsonPayload = parseJsonPayload(resp.Payload); + if (resp.FunctionError) { + util_1.log('user function threw an error:', resp.FunctionError); + const errorMessage = jsonPayload.errorMessage || 'error'; + // parse function name from arn + // arn:${Partition}:lambda:${Region}:${Account}:function:${FunctionName} + const arn = functionArn.split(':'); + const functionName = arn[arn.length - 1]; + // append a reference to the log group. + const message = [ + errorMessage, + '', + `Logs: /aws/lambda/${functionName}`, + '', + ].join('\n'); + const e = new Error(message); + // the output that goes to CFN is what's in `stack`, not the error message. + // if we have a remote trace, construct a nice message with log group information + if (jsonPayload.trace) { + // skip first trace line because it's the message + e.stack = [message, ...jsonPayload.trace.slice(1)].join('\n'); + } + throw e; + } + return jsonPayload; +} +function parseJsonPayload(payload) { + if (!payload) { + return {}; + } + const text = payload.toString(); + try { + return JSON.parse(text); + } + catch (e) { + throw new Error(`return values from user-handlers must be JSON objects. got: "${text}"`); + } +} +function createResponseEvent(cfnRequest, onEventResult) { + // + // validate that onEventResult always includes a PhysicalResourceId + onEventResult = onEventResult || {}; + // if physical ID is not returned, we have some defaults for you based + // on the request type. + const physicalResourceId = onEventResult.PhysicalResourceId || defaultPhysicalResourceId(cfnRequest); + // if we are in DELETE and physical ID was changed, it's an error. + if (cfnRequest.RequestType === 'Delete' && physicalResourceId !== cfnRequest.PhysicalResourceId) { + throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}" during deletion`); + } + // if we are in UPDATE and physical ID was changed, it's a replacement (just log) + if (cfnRequest.RequestType === 'Update' && physicalResourceId !== cfnRequest.PhysicalResourceId) { + util_1.log(`UPDATE: changing physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}"`); + } + // merge request event and result event (result prevails). + return { + ...cfnRequest, + ...onEventResult, + PhysicalResourceId: physicalResourceId, + }; +} +/** + * Calculates the default physical resource ID based in case user handler did + * not return a PhysicalResourceId. + * + * For "CREATE", it uses the RequestId. + * For "UPDATE" and "DELETE" and returns the current PhysicalResourceId (the one provided in `event`). + */ +function defaultPhysicalResourceId(req) { + switch (req.RequestType) { + case 'Create': + return req.RequestId; + case 'Update': + case 'Delete': + return req.PhysicalResourceId; + default: + throw new Error(`Invalid "RequestType" in request "${JSON.stringify(req)}"`); + } +} +module.exports = { + [consts.FRAMEWORK_ON_EVENT_HANDLER_NAME]: cfnResponse.safeHandler(onEvent), + [consts.FRAMEWORK_IS_COMPLETE_HANDLER_NAME]: cfnResponse.safeHandler(isComplete), + [consts.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME]: onTimeout, +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZnJhbWV3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSw4Q0FBOEM7QUFDOUMsbUNBQW1DO0FBQ25DLHlDQUE0RDtBQUM1RCxpQ0FBcUM7QUFTckM7Ozs7Ozs7OztHQVNHO0FBQ0gsS0FBSyxVQUFVLE9BQU8sQ0FBQyxVQUF1RDtJQUM1RSxVQUFHLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFbEMsVUFBVSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsSUFBSSxFQUFHLENBQUM7SUFFckUsTUFBTSxhQUFhLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsOEJBQThCLEVBQUUsVUFBVSxDQUFvQixDQUFDO0lBQ3JILFVBQUcsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUV4QyxvRkFBb0Y7SUFDcEYsaUNBQWlDO0lBQ2pDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNyRSxVQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTdCLGlHQUFpRztJQUNqRyxtRkFBbUY7SUFDbkYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLEVBQUU7UUFDMUQsT0FBTyxXQUFXLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDL0Y7SUFFRCwyREFBMkQ7SUFDM0QsTUFBTSxNQUFNLEdBQUc7UUFDYixlQUFlLEVBQUUsYUFBTSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQztRQUM1RCxJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVM7UUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0tBQ3JDLENBQUM7SUFFRixVQUFHLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFL0IsZ0NBQWdDO0lBQ2hDLE1BQU0seUJBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsc0VBQXNFO0FBQ3RFLEtBQUssVUFBVSxVQUFVLENBQUMsS0FBa0Q7SUFDMUUsVUFBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV6QixNQUFNLGdCQUFnQixHQUFHLE1BQU0sa0JBQWtCLENBQUMsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssQ0FBdUIsQ0FBQztJQUN6SCxVQUFHLENBQUMsMkJBQTJCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUVuRCx3RUFBd0U7SUFDeEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtRQUNoQyxJQUFJLGdCQUFnQixDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDMUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsTUFBTSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQ3BEO0lBRUQsTUFBTSxRQUFRLEdBQUc7UUFDZixHQUFHLEtBQUs7UUFDUixHQUFHLGdCQUFnQjtRQUNuQixJQUFJLEVBQUU7WUFDSixHQUFHLEtBQUssQ0FBQyxJQUFJO1lBQ2IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJO1NBQ3pCO0tBQ0YsQ0FBQztJQUVGLE1BQU0sV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ2xGLENBQUM7QUFFRCxnREFBZ0Q7QUFDaEQsS0FBSyxVQUFVLFNBQVMsQ0FBQyxZQUFpQjtJQUN4QyxVQUFHLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFcEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBZ0QsQ0FBQztJQUNqSSxNQUFNLFdBQVcsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFO1FBQzVELE1BQU0sRUFBRSxxQkFBcUI7S0FDOUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxjQUFzQixFQUFFLE9BQVk7SUFDcEUsTUFBTSxXQUFXLEdBQUcsYUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLFVBQUcsQ0FBQywyQkFBMkIsV0FBVyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFcEUsd0VBQXdFO0lBQ3hFLHNFQUFzRTtJQUN0RSx1Q0FBdUM7SUFDdkMsTUFBTSxJQUFJLEdBQUcsTUFBTSx5QkFBYyxDQUFDO1FBQ2hDLFlBQVksRUFBRSxXQUFXO1FBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztLQUNqQyxDQUFDLENBQUM7SUFFSCxVQUFHLENBQUMseUJBQXlCLEVBQUUsSUFBSSxFQUFFLE9BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDdEIsVUFBRyxDQUFDLCtCQUErQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6RCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQztRQUV6RCwrQkFBK0I7UUFDL0Isd0VBQXdFO1FBQ3hFLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFekMsdUNBQXVDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsWUFBWTtZQUNaLEVBQUU7WUFDRixxQkFBcUIsWUFBWSxFQUFFO1lBQ25DLEVBQUU7U0FDSCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUViLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTdCLDJFQUEyRTtRQUMzRSxpRkFBaUY7UUFDakYsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQ3JCLGlEQUFpRDtZQUNqRCxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0Q7UUFFRCxNQUFNLENBQUMsQ0FBQztLQUNUO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsT0FBWTtJQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQUUsT0FBTyxFQUFHLENBQUM7S0FBRTtJQUM3QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN6QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsSUFBSSxHQUFHLENBQUMsQ0FBQztLQUMxRjtBQUNILENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFVBQXVELEVBQUUsYUFBOEI7SUFDbEgsRUFBRTtJQUNGLG1FQUFtRTtJQUVuRSxhQUFhLEdBQUcsYUFBYSxJQUFJLEVBQUcsQ0FBQztJQUVyQyxzRUFBc0U7SUFDdEUsdUJBQXVCO0lBQ3ZCLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixJQUFJLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXJHLGtFQUFrRTtJQUNsRSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEtBQUssUUFBUSxJQUFJLGtCQUFrQixLQUFLLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtRQUMvRixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxVQUFVLENBQUMsa0JBQWtCLFNBQVMsYUFBYSxDQUFDLGtCQUFrQixtQkFBbUIsQ0FBQyxDQUFDO0tBQ3BLO0lBRUQsaUZBQWlGO0lBQ2pGLElBQUksVUFBVSxDQUFDLFdBQVcsS0FBSyxRQUFRLElBQUksa0JBQWtCLEtBQUssVUFBVSxDQUFDLGtCQUFrQixFQUFFO1FBQy9GLFVBQUcsQ0FBQywrQ0FBK0MsVUFBVSxDQUFDLGtCQUFrQixTQUFTLGFBQWEsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7S0FDL0g7SUFFRCwwREFBMEQ7SUFDMUQsT0FBTztRQUNMLEdBQUcsVUFBVTtRQUNiLEdBQUcsYUFBYTtRQUNoQixrQkFBa0IsRUFBRSxrQkFBa0I7S0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLHlCQUF5QixDQUFDLEdBQWdEO0lBQ2pGLFFBQVEsR0FBRyxDQUFDLFdBQVcsRUFBRTtRQUN2QixLQUFLLFFBQVE7WUFDWCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFFdkIsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFFBQVE7WUFDWCxPQUFPLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztRQUVoQztZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2hGO0FBQ0gsQ0FBQztBQS9MRCxpQkFBUztJQUNQLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDMUUsQ0FBQyxNQUFNLENBQUMsa0NBQWtDLENBQUMsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztJQUNoRixDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxFQUFFLFNBQVM7Q0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IElzQ29tcGxldGVSZXNwb25zZSwgT25FdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0ICogYXMgY2ZuUmVzcG9uc2UgZnJvbSAnLi9jZm4tcmVzcG9uc2UnO1xuaW1wb3J0ICogYXMgY29uc3RzIGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IGludm9rZUZ1bmN0aW9uLCBzdGFydEV4ZWN1dGlvbiB9IGZyb20gJy4vb3V0Ym91bmQnO1xuaW1wb3J0IHsgZ2V0RW52LCBsb2cgfSBmcm9tICcuL3V0aWwnO1xuXG4vLyB1c2UgY29uc3RzIGZvciBoYW5kbGVyIG5hbWVzIHRvIGNvbXBpbGVyLWVuZm9yY2UgdGhlIGNvdXBsaW5nIHdpdGggY29uc3RydWN0aW9uIGNvZGUuXG5leHBvcnQgPSB7XG4gIFtjb25zdHMuRlJBTUVXT1JLX09OX0VWRU5UX0hBTkRMRVJfTkFNRV06IGNmblJlc3BvbnNlLnNhZmVIYW5kbGVyKG9uRXZlbnQpLFxuICBbY29uc3RzLkZSQU1FV09SS19JU19DT01QTEVURV9IQU5ETEVSX05BTUVdOiBjZm5SZXNwb25zZS5zYWZlSGFuZGxlcihpc0NvbXBsZXRlKSxcbiAgW2NvbnN0cy5GUkFNRVdPUktfT05fVElNRU9VVF9IQU5ETEVSX05BTUVdOiBvblRpbWVvdXQsXG59O1xuXG4vKipcbiAqIFRoZSBtYWluIHJ1bnRpbWUgZW50cnlwb2ludCBvZiB0aGUgYXN5bmMgY3VzdG9tIHJlc291cmNlIGxhbWJkYSBmdW5jdGlvbi5cbiAqXG4gKiBBbnkgbGlmZWN5Y2xlIGV2ZW50IGNoYW5nZXMgdG8gdGhlIGN1c3RvbSByZXNvdXJjZXMgd2lsbCBpbnZva2UgdGhpcyBoYW5kbGVyLCB3aGljaCB3aWxsLCBpbiB0dXJuLFxuICogaW50ZXJhY3Qgd2l0aCB0aGUgdXNlci1kZWZpbmVkIGBvbkV2ZW50YCBhbmQgYGlzQ29tcGxldGVgIGhhbmRsZXJzLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBhbHdheXMgc3VjY2VlZC4gSWYgYW4gZXJyb3Igb2NjdXJzXG4gKlxuICogQHBhcmFtIGNmblJlcXVlc3QgVGhlIGNsb3VkZm9ybWF0aW9uIGN1c3RvbSByZXNvdXJjZSBldmVudC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gb25FdmVudChjZm5SZXF1ZXN0OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KSB7XG4gIGxvZygnb25FdmVudEhhbmRsZXInLCBjZm5SZXF1ZXN0KTtcblxuICBjZm5SZXF1ZXN0LlJlc291cmNlUHJvcGVydGllcyA9IGNmblJlcXVlc3QuUmVzb3VyY2VQcm9wZXJ0aWVzIHx8IHsgfTtcblxuICBjb25zdCBvbkV2ZW50UmVzdWx0ID0gYXdhaXQgaW52b2tlVXNlckZ1bmN0aW9uKGNvbnN0cy5VU0VSX09OX0VWRU5UX0ZVTkNUSU9OX0FSTl9FTlYsIGNmblJlcXVlc3QpIGFzIE9uRXZlbnRSZXNwb25zZTtcbiAgbG9nKCdvbkV2ZW50IHJldHVybmVkOicsIG9uRXZlbnRSZXN1bHQpO1xuXG4gIC8vIG1lcmdlIHRoZSByZXF1ZXN0IGFuZCB0aGUgcmVzdWx0IGZyb20gb25FdmVudCB0byBmb3JtIHRoZSBjb21wbGV0ZSByZXNvdXJjZSBldmVudFxuICAvLyB0aGlzIGFsc28gcGVyZm9ybXMgdmFsaWRhdGlvbi5cbiAgY29uc3QgcmVzb3VyY2VFdmVudCA9IGNyZWF0ZVJlc3BvbnNlRXZlbnQoY2ZuUmVxdWVzdCwgb25FdmVudFJlc3VsdCk7XG4gIGxvZygnZXZlbnQ6Jywgb25FdmVudFJlc3VsdCk7XG5cbiAgLy8gZGV0ZXJtaW5lIGlmIHRoaXMgaXMgYW4gYXN5bmMgcHJvdmlkZXIgYmFzZWQgb24gd2hldGhlciB3ZSBoYXZlIGFuIGlzQ29tcGxldGUgaGFuZGxlciBkZWZpbmVkLlxuICAvLyBpZiBpdCBpcyBub3QgZGVmaW5lZCwgdGhlbiB3ZSBhcmUgYmFzaWNhbGx5IHJlYWR5IHRvIHJldHVybiBhIHBvc2l0aXZlIHJlc3BvbnNlLlxuICBpZiAoIXByb2Nlc3MuZW52W2NvbnN0cy5VU0VSX0lTX0NPTVBMRVRFX0ZVTkNUSU9OX0FSTl9FTlZdKSB7XG4gICAgcmV0dXJuIGNmblJlc3BvbnNlLnN1Ym1pdFJlc3BvbnNlKCdTVUNDRVNTJywgcmVzb3VyY2VFdmVudCwgeyBub0VjaG86IHJlc291cmNlRXZlbnQuTm9FY2hvIH0pO1xuICB9XG5cbiAgLy8gb2ssIHdlIGFyZSBub3QgY29tcGxldGUsIHNvIGtpY2sgb2ZmIHRoZSB3YWl0ZXIgd29ya2Zsb3dcbiAgY29uc3Qgd2FpdGVyID0ge1xuICAgIHN0YXRlTWFjaGluZUFybjogZ2V0RW52KGNvbnN0cy5XQUlURVJfU1RBVEVfTUFDSElORV9BUk5fRU5WKSxcbiAgICBuYW1lOiByZXNvdXJjZUV2ZW50LlJlcXVlc3RJZCxcbiAgICBpbnB1dDogSlNPTi5zdHJpbmdpZnkocmVzb3VyY2VFdmVudCksXG4gIH07XG5cbiAgbG9nKCdzdGFydGluZyB3YWl0ZXInLCB3YWl0ZXIpO1xuXG4gIC8vIGtpY2sgb2ZmIHdhaXRlciBzdGF0ZSBtYWNoaW5lXG4gIGF3YWl0IHN0YXJ0RXhlY3V0aW9uKHdhaXRlcik7XG59XG5cbi8vIGludm9rZWQgYSBmZXcgdGltZXMgdW50aWwgYGNvbXBsZXRlYCBpcyB0cnVlIG9yIHVudGlsIGl0IHRpbWVzIG91dC5cbmFzeW5jIGZ1bmN0aW9uIGlzQ29tcGxldGUoZXZlbnQ6IEFXU0NES0FzeW5jQ3VzdG9tUmVzb3VyY2UuSXNDb21wbGV0ZVJlcXVlc3QpIHtcbiAgbG9nKCdpc0NvbXBsZXRlJywgZXZlbnQpO1xuXG4gIGNvbnN0IGlzQ29tcGxldGVSZXN1bHQgPSBhd2FpdCBpbnZva2VVc2VyRnVuY3Rpb24oY29uc3RzLlVTRVJfSVNfQ09NUExFVEVfRlVOQ1RJT05fQVJOX0VOViwgZXZlbnQpIGFzIElzQ29tcGxldGVSZXNwb25zZTtcbiAgbG9nKCd1c2VyIGlzQ29tcGxldGUgcmV0dXJuZWQ6JywgaXNDb21wbGV0ZVJlc3VsdCk7XG5cbiAgLy8gaWYgd2UgYXJlIG5vdCBjb21wbGV0ZSwgcmV0dXJuIGZhbHNlLCBhbmQgZG9uJ3Qgc2VuZCBhIHJlc3BvbnNlIGJhY2suXG4gIGlmICghaXNDb21wbGV0ZVJlc3VsdC5Jc0NvbXBsZXRlKSB7XG4gICAgaWYgKGlzQ29tcGxldGVSZXN1bHQuRGF0YSAmJiBPYmplY3Qua2V5cyhpc0NvbXBsZXRlUmVzdWx0LkRhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignXCJEYXRhXCIgaXMgbm90IGFsbG93ZWQgaWYgXCJJc0NvbXBsZXRlXCIgaXMgXCJGYWxzZVwiJyk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IGNmblJlc3BvbnNlLlJldHJ5KEpTT04uc3RyaW5naWZ5KGV2ZW50KSk7XG4gIH1cblxuICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAuLi5ldmVudCxcbiAgICAuLi5pc0NvbXBsZXRlUmVzdWx0LFxuICAgIERhdGE6IHtcbiAgICAgIC4uLmV2ZW50LkRhdGEsXG4gICAgICAuLi5pc0NvbXBsZXRlUmVzdWx0LkRhdGEsXG4gICAgfSxcbiAgfTtcblxuICBhd2FpdCBjZm5SZXNwb25zZS5zdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIHJlc3BvbnNlLCB7IG5vRWNobzogZXZlbnQuTm9FY2hvIH0pO1xufVxuXG4vLyBpbnZva2VkIHdoZW4gY29tcGxldGlvbiByZXRyaWVzIGFyZSBleGhhdXNlZC5cbmFzeW5jIGZ1bmN0aW9uIG9uVGltZW91dCh0aW1lb3V0RXZlbnQ6IGFueSkge1xuICBsb2coJ3RpbWVvdXRIYW5kbGVyJywgdGltZW91dEV2ZW50KTtcblxuICBjb25zdCBpc0NvbXBsZXRlUmVxdWVzdCA9IEpTT04ucGFyc2UoSlNPTi5wYXJzZSh0aW1lb3V0RXZlbnQuQ2F1c2UpLmVycm9yTWVzc2FnZSkgYXMgQVdTQ0RLQXN5bmNDdXN0b21SZXNvdXJjZS5Jc0NvbXBsZXRlUmVxdWVzdDtcbiAgYXdhaXQgY2ZuUmVzcG9uc2Uuc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIGlzQ29tcGxldGVSZXF1ZXN0LCB7XG4gICAgcmVhc29uOiAnT3BlcmF0aW9uIHRpbWVkIG91dCcsXG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbnZva2VVc2VyRnVuY3Rpb24oZnVuY3Rpb25Bcm5FbnY6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XG4gIGNvbnN0IGZ1bmN0aW9uQXJuID0gZ2V0RW52KGZ1bmN0aW9uQXJuRW52KTtcbiAgbG9nKGBleGVjdXRpbmcgdXNlciBmdW5jdGlvbiAke2Z1bmN0aW9uQXJufSB3aXRoIHBheWxvYWRgLCBwYXlsb2FkKTtcblxuICAvLyB0cmFuc2llbnQgZXJyb3JzIHN1Y2ggYXMgdGltZW91dHMsIHRocm90dGxpbmcgZXJyb3JzICg0MjkpLCBhbmQgb3RoZXJcbiAgLy8gZXJyb3JzIHRoYXQgYXJlbid0IGNhdXNlZCBieSBhIGJhZCByZXF1ZXN0ICg1MDAgc2VyaWVzKSBhcmUgcmV0cmllZFxuICAvLyBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBKYXZhU2NyaXB0IFNESy5cbiAgY29uc3QgcmVzcCA9IGF3YWl0IGludm9rZUZ1bmN0aW9uKHtcbiAgICBGdW5jdGlvbk5hbWU6IGZ1bmN0aW9uQXJuLFxuICAgIFBheWxvYWQ6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpLFxuICB9KTtcblxuICBsb2coJ3VzZXIgZnVuY3Rpb24gcmVzcG9uc2U6JywgcmVzcCwgdHlwZW9mKHJlc3ApKTtcblxuICBjb25zdCBqc29uUGF5bG9hZCA9IHBhcnNlSnNvblBheWxvYWQocmVzcC5QYXlsb2FkKTtcbiAgaWYgKHJlc3AuRnVuY3Rpb25FcnJvcikge1xuICAgIGxvZygndXNlciBmdW5jdGlvbiB0aHJldyBhbiBlcnJvcjonLCByZXNwLkZ1bmN0aW9uRXJyb3IpO1xuXG4gICAgY29uc3QgZXJyb3JNZXNzYWdlID0ganNvblBheWxvYWQuZXJyb3JNZXNzYWdlIHx8ICdlcnJvcic7XG5cbiAgICAvLyBwYXJzZSBmdW5jdGlvbiBuYW1lIGZyb20gYXJuXG4gICAgLy8gYXJuOiR7UGFydGl0aW9ufTpsYW1iZGE6JHtSZWdpb259OiR7QWNjb3VudH06ZnVuY3Rpb246JHtGdW5jdGlvbk5hbWV9XG4gICAgY29uc3QgYXJuID0gZnVuY3Rpb25Bcm4uc3BsaXQoJzonKTtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBhcm5bYXJuLmxlbmd0aCAtIDFdO1xuXG4gICAgLy8gYXBwZW5kIGEgcmVmZXJlbmNlIHRvIHRoZSBsb2cgZ3JvdXAuXG4gICAgY29uc3QgbWVzc2FnZSA9IFtcbiAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICcnLFxuICAgICAgYExvZ3M6IC9hd3MvbGFtYmRhLyR7ZnVuY3Rpb25OYW1lfWAsIC8vIGNsb3Vkd2F0Y2ggbG9nIGdyb3VwXG4gICAgICAnJyxcbiAgICBdLmpvaW4oJ1xcbicpO1xuXG4gICAgY29uc3QgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcblxuICAgIC8vIHRoZSBvdXRwdXQgdGhhdCBnb2VzIHRvIENGTiBpcyB3aGF0J3MgaW4gYHN0YWNrYCwgbm90IHRoZSBlcnJvciBtZXNzYWdlLlxuICAgIC8vIGlmIHdlIGhhdmUgYSByZW1vdGUgdHJhY2UsIGNvbnN0cnVjdCBhIG5pY2UgbWVzc2FnZSB3aXRoIGxvZyBncm91cCBpbmZvcm1hdGlvblxuICAgIGlmIChqc29uUGF5bG9hZC50cmFjZSkge1xuICAgICAgLy8gc2tpcCBmaXJzdCB0cmFjZSBsaW5lIGJlY2F1c2UgaXQncyB0aGUgbWVzc2FnZVxuICAgICAgZS5zdGFjayA9IFttZXNzYWdlLCAuLi5qc29uUGF5bG9hZC50cmFjZS5zbGljZSgxKV0uam9pbignXFxuJyk7XG4gICAgfVxuXG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIHJldHVybiBqc29uUGF5bG9hZDtcbn1cblxuZnVuY3Rpb24gcGFyc2VKc29uUGF5bG9hZChwYXlsb2FkOiBhbnkpOiBhbnkge1xuICBpZiAoIXBheWxvYWQpIHsgcmV0dXJuIHsgfTsgfVxuICBjb25zdCB0ZXh0ID0gcGF5bG9hZC50b1N0cmluZygpO1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHRleHQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGByZXR1cm4gdmFsdWVzIGZyb20gdXNlci1oYW5kbGVycyBtdXN0IGJlIEpTT04gb2JqZWN0cy4gZ290OiBcIiR7dGV4dH1cImApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlc3BvbnNlRXZlbnQoY2ZuUmVxdWVzdDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgb25FdmVudFJlc3VsdDogT25FdmVudFJlc3BvbnNlKTogQVdTQ0RLQXN5bmNDdXN0b21SZXNvdXJjZS5Jc0NvbXBsZXRlUmVxdWVzdCB7XG4gIC8vXG4gIC8vIHZhbGlkYXRlIHRoYXQgb25FdmVudFJlc3VsdCBhbHdheXMgaW5jbHVkZXMgYSBQaHlzaWNhbFJlc291cmNlSWRcblxuICBvbkV2ZW50UmVzdWx0ID0gb25FdmVudFJlc3VsdCB8fCB7IH07XG5cbiAgLy8gaWYgcGh5c2ljYWwgSUQgaXMgbm90IHJldHVybmVkLCB3ZSBoYXZlIHNvbWUgZGVmYXVsdHMgZm9yIHlvdSBiYXNlZFxuICAvLyBvbiB0aGUgcmVxdWVzdCB0eXBlLlxuICBjb25zdCBwaHlzaWNhbFJlc291cmNlSWQgPSBvbkV2ZW50UmVzdWx0LlBoeXNpY2FsUmVzb3VyY2VJZCB8fCBkZWZhdWx0UGh5c2ljYWxSZXNvdXJjZUlkKGNmblJlcXVlc3QpO1xuXG4gIC8vIGlmIHdlIGFyZSBpbiBERUxFVEUgYW5kIHBoeXNpY2FsIElEIHdhcyBjaGFuZ2VkLCBpdCdzIGFuIGVycm9yLlxuICBpZiAoY2ZuUmVxdWVzdC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgcGh5c2ljYWxSZXNvdXJjZUlkICE9PSBjZm5SZXF1ZXN0LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgREVMRVRFOiBjYW5ub3QgY2hhbmdlIHRoZSBwaHlzaWNhbCByZXNvdXJjZSBJRCBmcm9tIFwiJHtjZm5SZXF1ZXN0LlBoeXNpY2FsUmVzb3VyY2VJZH1cIiB0byBcIiR7b25FdmVudFJlc3VsdC5QaHlzaWNhbFJlc291cmNlSWR9XCIgZHVyaW5nIGRlbGV0aW9uYCk7XG4gIH1cblxuICAvLyBpZiB3ZSBhcmUgaW4gVVBEQVRFIGFuZCBwaHlzaWNhbCBJRCB3YXMgY2hhbmdlZCwgaXQncyBhIHJlcGxhY2VtZW50IChqdXN0IGxvZylcbiAgaWYgKGNmblJlcXVlc3QuUmVxdWVzdFR5cGUgPT09ICdVcGRhdGUnICYmIHBoeXNpY2FsUmVzb3VyY2VJZCAhPT0gY2ZuUmVxdWVzdC5QaHlzaWNhbFJlc291cmNlSWQpIHtcbiAgICBsb2coYFVQREFURTogY2hhbmdpbmcgcGh5c2ljYWwgcmVzb3VyY2UgSUQgZnJvbSBcIiR7Y2ZuUmVxdWVzdC5QaHlzaWNhbFJlc291cmNlSWR9XCIgdG8gXCIke29uRXZlbnRSZXN1bHQuUGh5c2ljYWxSZXNvdXJjZUlkfVwiYCk7XG4gIH1cblxuICAvLyBtZXJnZSByZXF1ZXN0IGV2ZW50IGFuZCByZXN1bHQgZXZlbnQgKHJlc3VsdCBwcmV2YWlscykuXG4gIHJldHVybiB7XG4gICAgLi4uY2ZuUmVxdWVzdCxcbiAgICAuLi5vbkV2ZW50UmVzdWx0LFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogcGh5c2ljYWxSZXNvdXJjZUlkLFxuICB9O1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGRlZmF1bHQgcGh5c2ljYWwgcmVzb3VyY2UgSUQgYmFzZWQgaW4gY2FzZSB1c2VyIGhhbmRsZXIgZGlkXG4gKiBub3QgcmV0dXJuIGEgUGh5c2ljYWxSZXNvdXJjZUlkLlxuICpcbiAqIEZvciBcIkNSRUFURVwiLCBpdCB1c2VzIHRoZSBSZXF1ZXN0SWQuXG4gKiBGb3IgXCJVUERBVEVcIiBhbmQgXCJERUxFVEVcIiBhbmQgcmV0dXJucyB0aGUgY3VycmVudCBQaHlzaWNhbFJlc291cmNlSWQgKHRoZSBvbmUgcHJvdmlkZWQgaW4gYGV2ZW50YCkuXG4gKi9cbmZ1bmN0aW9uIGRlZmF1bHRQaHlzaWNhbFJlc291cmNlSWQocmVxOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogc3RyaW5nIHtcbiAgc3dpdGNoIChyZXEuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJlcS5SZXF1ZXN0SWQ7XG5cbiAgICBjYXNlICdVcGRhdGUnOlxuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gcmVxLlBoeXNpY2FsUmVzb3VyY2VJZDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgXCJSZXF1ZXN0VHlwZVwiIGluIHJlcXVlc3QgXCIke0pTT04uc3RyaW5naWZ5KHJlcSl9XCJgKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/outbound.js b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/outbound.js new file mode 100644 index 0000000000000..70203dcc42f3f --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/outbound.js @@ -0,0 +1,45 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.httpRequest = exports.invokeFunction = exports.startExecution = void 0; +/* istanbul ignore file */ +const https = require("https"); +// eslint-disable-next-line import/no-extraneous-dependencies +const AWS = require("aws-sdk"); +const FRAMEWORK_HANDLER_TIMEOUT = 900000; // 15 minutes +// In order to honor the overall maximum timeout set for the target process, +// the default 2 minutes from AWS SDK has to be overriden: +// https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#httpOptions-property +const awsSdkConfig = { + httpOptions: { timeout: FRAMEWORK_HANDLER_TIMEOUT }, +}; +async function defaultHttpRequest(options, responseBody) { + return new Promise((resolve, reject) => { + try { + const request = https.request(options, resolve); + request.on('error', reject); + request.write(responseBody); + request.end(); + } + catch (e) { + reject(e); + } + }); +} +let sfn; +let lambda; +async function defaultStartExecution(req) { + if (!sfn) { + sfn = new AWS.StepFunctions(awsSdkConfig); + } + return sfn.startExecution(req).promise(); +} +async function defaultInvokeFunction(req) { + if (!lambda) { + lambda = new AWS.Lambda(awsSdkConfig); + } + return lambda.invoke(req).promise(); +} +exports.startExecution = defaultStartExecution; +exports.invokeFunction = defaultInvokeFunction; +exports.httpRequest = defaultHttpRequest; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0Ym91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvdXRib3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwQkFBMEI7QUFDMUIsK0JBQStCO0FBQy9CLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFJL0IsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsQ0FBQyxhQUFhO0FBRXZELDRFQUE0RTtBQUM1RSwwREFBMEQ7QUFDMUQsMkZBQTJGO0FBQzNGLE1BQU0sWUFBWSxHQUF5QjtJQUN6QyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUU7Q0FDcEQsQ0FBQztBQUVGLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxPQUE2QixFQUFFLFlBQW9CO0lBQ25GLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsSUFBSTtZQUNGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNYO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsSUFBSSxHQUFzQixDQUFDO0FBQzNCLElBQUksTUFBa0IsQ0FBQztBQUV2QixLQUFLLFVBQVUscUJBQXFCLENBQUMsR0FBMEM7SUFDN0UsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDM0M7SUFFRCxPQUFPLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDM0MsQ0FBQztBQUVELEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxHQUFpQztJQUNwRSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUN2QztJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRVUsUUFBQSxjQUFjLEdBQUcscUJBQXFCLENBQUM7QUFDdkMsUUFBQSxjQUFjLEdBQUcscUJBQXFCLENBQUM7QUFDdkMsUUFBQSxXQUFXLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSAnaHR0cHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgQVdTIGZyb20gJ2F3cy1zZGsnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHR5cGUgeyBDb25maWd1cmF0aW9uT3B0aW9ucyB9IGZyb20gJ2F3cy1zZGsvbGliL2NvbmZpZy1iYXNlJztcblxuY29uc3QgRlJBTUVXT1JLX0hBTkRMRVJfVElNRU9VVCA9IDkwMDAwMDsgLy8gMTUgbWludXRlc1xuXG4vLyBJbiBvcmRlciB0byBob25vciB0aGUgb3ZlcmFsbCBtYXhpbXVtIHRpbWVvdXQgc2V0IGZvciB0aGUgdGFyZ2V0IHByb2Nlc3MsXG4vLyB0aGUgZGVmYXVsdCAyIG1pbnV0ZXMgZnJvbSBBV1MgU0RLIGhhcyB0byBiZSBvdmVycmlkZW46XG4vLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTSmF2YVNjcmlwdFNESy9sYXRlc3QvQVdTL0NvbmZpZy5odG1sI2h0dHBPcHRpb25zLXByb3BlcnR5XG5jb25zdCBhd3NTZGtDb25maWc6IENvbmZpZ3VyYXRpb25PcHRpb25zID0ge1xuICBodHRwT3B0aW9uczogeyB0aW1lb3V0OiBGUkFNRVdPUktfSEFORExFUl9USU1FT1VUIH0sXG59O1xuXG5hc3luYyBmdW5jdGlvbiBkZWZhdWx0SHR0cFJlcXVlc3Qob3B0aW9uczogaHR0cHMuUmVxdWVzdE9wdGlvbnMsIHJlc3BvbnNlQm9keTogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBodHRwcy5yZXF1ZXN0KG9wdGlvbnMsIHJlc29sdmUpO1xuICAgICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgICAgcmVxdWVzdC53cml0ZShyZXNwb25zZUJvZHkpO1xuICAgICAgcmVxdWVzdC5lbmQoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZWplY3QoZSk7XG4gICAgfVxuICB9KTtcbn1cblxubGV0IHNmbjogQVdTLlN0ZXBGdW5jdGlvbnM7XG5sZXQgbGFtYmRhOiBBV1MuTGFtYmRhO1xuXG5hc3luYyBmdW5jdGlvbiBkZWZhdWx0U3RhcnRFeGVjdXRpb24ocmVxOiBBV1MuU3RlcEZ1bmN0aW9ucy5TdGFydEV4ZWN1dGlvbklucHV0KTogUHJvbWlzZTxBV1MuU3RlcEZ1bmN0aW9ucy5TdGFydEV4ZWN1dGlvbk91dHB1dD4ge1xuICBpZiAoIXNmbikge1xuICAgIHNmbiA9IG5ldyBBV1MuU3RlcEZ1bmN0aW9ucyhhd3NTZGtDb25maWcpO1xuICB9XG5cbiAgcmV0dXJuIHNmbi5zdGFydEV4ZWN1dGlvbihyZXEpLnByb21pc2UoKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZGVmYXVsdEludm9rZUZ1bmN0aW9uKHJlcTogQVdTLkxhbWJkYS5JbnZvY2F0aW9uUmVxdWVzdCk6IFByb21pc2U8QVdTLkxhbWJkYS5JbnZvY2F0aW9uUmVzcG9uc2U+IHtcbiAgaWYgKCFsYW1iZGEpIHtcbiAgICBsYW1iZGEgPSBuZXcgQVdTLkxhbWJkYShhd3NTZGtDb25maWcpO1xuICB9XG5cbiAgcmV0dXJuIGxhbWJkYS5pbnZva2UocmVxKS5wcm9taXNlKCk7XG59XG5cbmV4cG9ydCBsZXQgc3RhcnRFeGVjdXRpb24gPSBkZWZhdWx0U3RhcnRFeGVjdXRpb247XG5leHBvcnQgbGV0IGludm9rZUZ1bmN0aW9uID0gZGVmYXVsdEludm9rZUZ1bmN0aW9uO1xuZXhwb3J0IGxldCBodHRwUmVxdWVzdCA9IGRlZmF1bHRIdHRwUmVxdWVzdDtcbiJdfQ== \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/util.js b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/util.js new file mode 100644 index 0000000000000..ee4c6e9c9ddeb --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/util.js @@ -0,0 +1,17 @@ +"use strict"; +/* eslint-disable no-console */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.log = exports.getEnv = void 0; +function getEnv(name) { + const value = process.env[name]; + if (!value) { + throw new Error(`The environment variable "${name}" is not defined`); + } + return value; +} +exports.getEnv = getEnv; +function log(title, ...args) { + console.log('[provider-framework]', title, ...args.map(x => typeof (x) === 'object' ? JSON.stringify(x, undefined, 2) : x)); +} +exports.log = log; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjs7O0FBRS9CLFNBQWdCLE1BQU0sQ0FBQyxJQUFZO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLElBQUksa0JBQWtCLENBQUMsQ0FBQztLQUN0RTtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQU5ELHdCQU1DO0FBRUQsU0FBZ0IsR0FBRyxDQUFDLEtBQVUsRUFBRSxHQUFHLElBQVc7SUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdILENBQUM7QUFGRCxrQkFFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52W25hbWVdO1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUgXCIke25hbWV9XCIgaXMgbm90IGRlZmluZWRgKTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2codGl0bGU6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgY29uc29sZS5sb2coJ1twcm92aWRlci1mcmFtZXdvcmtdJywgdGl0bGUsIC4uLmFyZ3MubWFwKHggPT4gdHlwZW9mKHgpID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHgsIHVuZGVmaW5lZCwgMikgOiB4KSk7XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/cdk-integ-cluster-snapshot.template.json b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/cdk-integ-cluster-snapshot.template.json new file mode 100644 index 0000000000000..14b204f542f15 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/cdk-integ-cluster-snapshot.template.json @@ -0,0 +1,1942 @@ +{ + "Transform": "AWS::Serverless-2016-10-31", + "Resources": { + "Vpc8378EB38": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc" + } + ] + } + }, + "VpcPublicSubnet1Subnet5C2D37C4": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "VpcPublicSubnet1RouteTable6C95E38E": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "VpcPublicSubnet1RouteTableAssociation97140677": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + } + } + }, + "VpcPublicSubnet1DefaultRoute3DA9E72A": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPublicSubnet1EIPD7E02669": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "VpcPublicSubnet1NATGateway4D7517AA": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "AllocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "VpcPublicSubnet2Subnet691E08A3": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2" + } + ] + } + }, + "VpcPublicSubnet2RouteTable94F7E489": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2" + } + ] + } + }, + "VpcPublicSubnet2RouteTableAssociationDD5762D8": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + } + } + }, + "VpcPublicSubnet2DefaultRoute97F91067": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPrivateSubnet1Subnet536B997A": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1" + } + ] + } + }, + "VpcPrivateSubnet1RouteTableB2C5B500": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1" + } + ] + } + }, + "VpcPrivateSubnet1RouteTableAssociation70C59FA6": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + } + } + }, + "VpcPrivateSubnet1DefaultRouteBE02A9ED": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + } + } + }, + "VpcPrivateSubnet2Subnet3788AAA1": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2" + } + ] + } + }, + "VpcPrivateSubnet2RouteTableA678073B": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2" + } + ] + } + }, + "VpcPrivateSubnet2RouteTableAssociationA89CAD56": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + } + }, + "VpcPrivateSubnet2DefaultRoute060D2087": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + } + } + }, + "VpcIGWD7BA715C": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "cdk-integ-cluster-snapshot/Vpc" + } + ] + } + }, + "VpcVPCGWBF912B6E": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "VpcId": { + "Ref": "Vpc8378EB38" + }, + "InternetGatewayId": { + "Ref": "VpcIGWD7BA715C" + } + } + }, + "ClusterSubnetsDCFA5CB7": { + "Type": "AWS::RDS::DBSubnetGroup", + "Properties": { + "DBSubnetGroupDescription": "Subnets for Cluster database", + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "ClusterSecurityGroup0921994B": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "RDS security group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "ClusterSecret6368BD0F": { + "Type": "AWS::SecretsManager::Secret", + "Properties": { + "Description": { + "Fn::Join": [ + "", + [ + "Generated by the CDK for stack: ", + { + "Ref": "AWS::StackName" + } + ] + ] + }, + "GenerateSecretString": { + "ExcludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\", + "GenerateStringKey": "password", + "PasswordLength": 30, + "SecretStringTemplate": "{\"username\":\"admin\"}" + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "ClusterSecretAttachment769E6258": { + "Type": "AWS::SecretsManager::SecretTargetAttachment", + "Properties": { + "SecretId": { + "Ref": "ClusterSecret6368BD0F" + }, + "TargetId": { + "Ref": "ClusterEB0386A7" + }, + "TargetType": "AWS::RDS::DBCluster" + } + }, + "ClusterEB0386A7": { + "Type": "AWS::RDS::DBCluster", + "Properties": { + "Engine": "aurora-mysql", + "CopyTagsToSnapshot": true, + "DBClusterParameterGroupName": "default.aurora-mysql5.7", + "DBSubnetGroupName": { + "Ref": "ClusterSubnetsDCFA5CB7" + }, + "EngineVersion": "5.7.mysql_aurora.2.10.2", + "MasterUsername": { + "Fn::Join": [ + "", + [ + "{{resolve:secretsmanager:", + { + "Ref": "ClusterSecret6368BD0F" + }, + ":SecretString:username::}}" + ] + ] + }, + "MasterUserPassword": { + "Fn::Join": [ + "", + [ + "{{resolve:secretsmanager:", + { + "Ref": "ClusterSecret6368BD0F" + }, + ":SecretString:password::}}" + ] + ] + }, + "VpcSecurityGroupIds": [ + { + "Fn::GetAtt": [ + "ClusterSecurityGroup0921994B", + "GroupId" + ] + } + ] + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "ClusterInstance1448F06E4": { + "Type": "AWS::RDS::DBInstance", + "Properties": { + "DBInstanceClass": "db.t3.small", + "DBClusterIdentifier": { + "Ref": "ClusterEB0386A7" + }, + "DBSubnetGroupName": { + "Ref": "ClusterSubnetsDCFA5CB7" + }, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.10.2" + }, + "DependsOn": [ + "VpcPrivateSubnet1DefaultRouteBE02A9ED", + "VpcPrivateSubnet2DefaultRoute060D2087" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "ClusterInstance2C3E0561B": { + "Type": "AWS::RDS::DBInstance", + "Properties": { + "DBInstanceClass": "db.t3.small", + "DBClusterIdentifier": { + "Ref": "ClusterEB0386A7" + }, + "DBSubnetGroupName": { + "Ref": "ClusterSubnetsDCFA5CB7" + }, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.10.2" + }, + "DependsOn": [ + "VpcPrivateSubnet1DefaultRouteBE02A9ED", + "VpcPrivateSubnet2DefaultRoute060D2087" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "SnapshoterOnEventHandlerServiceRole7F84B26D": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "SnapshoterOnEventHandlerServiceRoleDefaultPolicyAF0DFD57": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "rds:CreateDBClusterSnapshot", + "rds:DeleteDBClusterSnapshot" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster-snapshot:cdk-integ-cluster-snapshot" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster:", + { + "Ref": "ClusterEB0386A7" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "SnapshoterOnEventHandlerServiceRoleDefaultPolicyAF0DFD57", + "Roles": [ + { + "Ref": "SnapshoterOnEventHandlerServiceRole7F84B26D" + } + ] + } + }, + "SnapshoterOnEventHandlerDF82DF85": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3BucketB5E782AC" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerServiceRole7F84B26D", + "Arn" + ] + }, + "Handler": "index.onEventHandler", + "Runtime": "nodejs16.x" + }, + "DependsOn": [ + "SnapshoterOnEventHandlerServiceRoleDefaultPolicyAF0DFD57", + "SnapshoterOnEventHandlerServiceRole7F84B26D" + ] + }, + "SnapshoterIsCompleteHandlerServiceRole40F5F1A8": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "SnapshoterIsCompleteHandlerServiceRoleDefaultPolicyA43EB222": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "rds:DescribeDBClusterSnapshots", + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster-snapshot:cdk-integ-cluster-snapshot" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster:", + { + "Ref": "ClusterEB0386A7" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "SnapshoterIsCompleteHandlerServiceRoleDefaultPolicyA43EB222", + "Roles": [ + { + "Ref": "SnapshoterIsCompleteHandlerServiceRole40F5F1A8" + } + ] + } + }, + "SnapshoterIsCompleteHandler93DE2591": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3BucketB5E782AC" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandlerServiceRole40F5F1A8", + "Arn" + ] + }, + "Handler": "index.isCompleteHandler", + "Runtime": "nodejs16.x" + }, + "DependsOn": [ + "SnapshoterIsCompleteHandlerServiceRoleDefaultPolicyA43EB222", + "SnapshoterIsCompleteHandlerServiceRole40F5F1A8" + ] + }, + "SnapshoterSnapshotProviderframeworkonEventServiceRole29C21F76": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "SnapshoterSnapshotProviderframeworkonEventServiceRoleDefaultPolicy21CE9686": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + }, + { + "Action": "states:StartExecution", + "Effect": "Allow", + "Resource": { + "Ref": "SnapshoterSnapshotProviderwaiterstatemachineE1F05D1F" + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "SnapshoterSnapshotProviderframeworkonEventServiceRoleDefaultPolicy21CE9686", + "Roles": [ + { + "Ref": "SnapshoterSnapshotProviderframeworkonEventServiceRole29C21F76" + } + ] + } + }, + "SnapshoterSnapshotProviderframeworkonEventF0C0D052": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonEventServiceRole29C21F76", + "Arn" + ] + }, + "Description": "AWS CDK resource provider framework - onEvent (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", + "Environment": { + "Variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + "USER_IS_COMPLETE_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + "WAITER_STATE_MACHINE_ARN": { + "Ref": "SnapshoterSnapshotProviderwaiterstatemachineE1F05D1F" + } + } + }, + "Handler": "framework.onEvent", + "Runtime": "nodejs12.x", + "Timeout": 900 + }, + "DependsOn": [ + "SnapshoterSnapshotProviderframeworkonEventServiceRoleDefaultPolicy21CE9686", + "SnapshoterSnapshotProviderframeworkonEventServiceRole29C21F76" + ] + }, + "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleFAA9C6CB": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleDefaultPolicyF410E478": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleDefaultPolicyF410E478", + "Roles": [ + { + "Ref": "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleFAA9C6CB" + } + ] + } + }, + "SnapshoterSnapshotProviderframeworkisComplete803B4F1B": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleFAA9C6CB", + "Arn" + ] + }, + "Description": "AWS CDK resource provider framework - isComplete (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", + "Environment": { + "Variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + "USER_IS_COMPLETE_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + } + } + }, + "Handler": "framework.isComplete", + "Runtime": "nodejs12.x", + "Timeout": 900 + }, + "DependsOn": [ + "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleDefaultPolicyF410E478", + "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleFAA9C6CB" + ] + }, + "SnapshoterSnapshotProviderframeworkonTimeoutServiceRole0B00A1BD": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "SnapshoterSnapshotProviderframeworkonTimeoutServiceRoleDefaultPolicy05DF1C30": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "SnapshoterSnapshotProviderframeworkonTimeoutServiceRoleDefaultPolicy05DF1C30", + "Roles": [ + { + "Ref": "SnapshoterSnapshotProviderframeworkonTimeoutServiceRole0B00A1BD" + } + ] + } + }, + "SnapshoterSnapshotProviderframeworkonTimeout04342B00": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonTimeoutServiceRole0B00A1BD", + "Arn" + ] + }, + "Description": "AWS CDK resource provider framework - onTimeout (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", + "Environment": { + "Variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + "USER_IS_COMPLETE_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + } + } + }, + "Handler": "framework.onTimeout", + "Runtime": "nodejs12.x", + "Timeout": 900 + }, + "DependsOn": [ + "SnapshoterSnapshotProviderframeworkonTimeoutServiceRoleDefaultPolicy05DF1C30", + "SnapshoterSnapshotProviderframeworkonTimeoutServiceRole0B00A1BD" + ] + }, + "SnapshoterSnapshotProviderwaiterstatemachineRole76E414C5": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": { + "Fn::FindInMap": [ + "ServiceprincipalMap", + { + "Ref": "AWS::Region" + }, + "states" + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "SnapshoterSnapshotProviderwaiterstatemachineRoleDefaultPolicyCF7716B2": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkisComplete803B4F1B", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonTimeout04342B00", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkisComplete803B4F1B", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonTimeout04342B00", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "SnapshoterSnapshotProviderwaiterstatemachineRoleDefaultPolicyCF7716B2", + "Roles": [ + { + "Ref": "SnapshoterSnapshotProviderwaiterstatemachineRole76E414C5" + } + ] + } + }, + "SnapshoterSnapshotProviderwaiterstatemachineE1F05D1F": { + "Type": "AWS::StepFunctions::StateMachine", + "Properties": { + "DefinitionString": { + "Fn::Join": [ + "", + [ + "{\"StartAt\":\"framework-isComplete-task\",\"States\":{\"framework-isComplete-task\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"States.ALL\"],\"IntervalSeconds\":5,\"MaxAttempts\":360,\"BackoffRate\":1}],\"Catch\":[{\"ErrorEquals\":[\"States.ALL\"],\"Next\":\"framework-onTimeout-task\"}],\"Type\":\"Task\",\"Resource\":\"", + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkisComplete803B4F1B", + "Arn" + ] + }, + "\"},\"framework-onTimeout-task\":{\"End\":true,\"Type\":\"Task\",\"Resource\":\"", + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonTimeout04342B00", + "Arn" + ] + }, + "\"}}}" + ] + ] + }, + "RoleArn": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderwaiterstatemachineRole76E414C5", + "Arn" + ] + } + }, + "DependsOn": [ + "SnapshoterSnapshotProviderwaiterstatemachineRoleDefaultPolicyCF7716B2", + "SnapshoterSnapshotProviderwaiterstatemachineRole76E414C5" + ] + }, + "SnapshoterSnapshotAA1755BE": { + "Type": "Custom::Snapshoter", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonEventF0C0D052", + "Arn" + ] + }, + "DBClusterIdentifier": { + "Ref": "ClusterEB0386A7" + }, + "DBClusterSnapshotIdentifier": "cdk-integ-cluster-snapshot" + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "FromSnapshotSubnets9ED4B8EE": { + "Type": "AWS::RDS::DBSubnetGroup", + "Properties": { + "DBSubnetGroupDescription": "Subnets for FromSnapshot database", + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "FromSnapshotSecurityGroup72F11E81": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "RDS security group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "FromSnapshotSecurityGroupfromcdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219IndirectPort7C6DDFDF": { + "Type": "AWS::EC2::SecurityGroupIngress", + "Properties": { + "IpProtocol": "tcp", + "Description": "from cdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219:{IndirectPort}", + "FromPort": { + "Fn::GetAtt": [ + "FromSnapshotEE0682C5", + "Endpoint.Port" + ] + }, + "GroupId": { + "Fn::GetAtt": [ + "FromSnapshotSecurityGroup72F11E81", + "GroupId" + ] + }, + "SourceSecurityGroupId": { + "Fn::GetAtt": [ + "FromSnapshotRotationSingleUserSecurityGroupF78A9956", + "GroupId" + ] + }, + "ToPort": { + "Fn::GetAtt": [ + "FromSnapshotEE0682C5", + "Endpoint.Port" + ] + } + } + }, + "FromSnapshotSecret9100F61C": { + "Type": "AWS::SecretsManager::Secret", + "Properties": { + "Description": { + "Fn::Join": [ + "", + [ + "Generated by the CDK for stack: ", + { + "Ref": "AWS::StackName" + } + ] + ] + }, + "GenerateSecretString": { + "ExcludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\", + "GenerateStringKey": "password", + "PasswordLength": 30, + "SecretStringTemplate": "{\"username\":\"admin\"}" + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "FromSnapshotSecretAttachmentB62DA1C6": { + "Type": "AWS::SecretsManager::SecretTargetAttachment", + "Properties": { + "SecretId": { + "Ref": "FromSnapshotSecret9100F61C" + }, + "TargetId": { + "Ref": "FromSnapshotEE0682C5" + }, + "TargetType": "AWS::RDS::DBCluster" + } + }, + "cdkintegclustersnapshotFromSnapshotSnapshotSecretD93327943fdaad7efa858a3daf9490cf0a702aeb": { + "Type": "AWS::SecretsManager::Secret", + "Properties": { + "Description": { + "Fn::Join": [ + "", + [ + "Generated by the CDK for stack: ", + { + "Ref": "AWS::StackName" + } + ] + ] + }, + "GenerateSecretString": { + "ExcludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\", + "GenerateStringKey": "password", + "PasswordLength": 30, + "SecretStringTemplate": "{\"username\":\"admin\"}" + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "FromSnapshotSnapshotSecretAttachmentA3F619B8": { + "Type": "AWS::SecretsManager::SecretTargetAttachment", + "Properties": { + "SecretId": { + "Ref": "cdkintegclustersnapshotFromSnapshotSnapshotSecretD93327943fdaad7efa858a3daf9490cf0a702aeb" + }, + "TargetId": { + "Ref": "FromSnapshotEE0682C5" + }, + "TargetType": "AWS::RDS::DBCluster" + } + }, + "FromSnapshotSnapshotSecretAttachmentRotationSchedule102BDEB3": { + "Type": "AWS::SecretsManager::RotationSchedule", + "Properties": { + "SecretId": { + "Ref": "FromSnapshotSnapshotSecretAttachmentA3F619B8" + }, + "RotationLambdaARN": { + "Fn::GetAtt": [ + "FromSnapshotRotationSingleUserEBCAA50C", + "Outputs.RotationLambdaARN" + ] + }, + "RotationRules": { + "AutomaticallyAfterDays": 30 + } + } + }, + "FromSnapshotSnapshotSecretAttachmentPolicy3136FEC0": { + "Type": "AWS::SecretsManager::ResourcePolicy", + "Properties": { + "ResourcePolicy": { + "Statement": [ + { + "Action": "secretsmanager:DeleteSecret", + "Effect": "Deny", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + }, + "Resource": "*" + } + ], + "Version": "2012-10-17" + }, + "SecretId": { + "Ref": "FromSnapshotSnapshotSecretAttachmentA3F619B8" + } + } + }, + "FromSnapshotEE0682C5": { + "Type": "AWS::RDS::DBCluster", + "Properties": { + "Engine": "aurora-mysql", + "CopyTagsToSnapshot": true, + "DBClusterParameterGroupName": "default.aurora-mysql5.7", + "DBSubnetGroupName": { + "Ref": "FromSnapshotSubnets9ED4B8EE" + }, + "EngineVersion": "5.7.mysql_aurora.2.10.2", + "MasterUserPassword": { + "Fn::Join": [ + "", + [ + "{{resolve:secretsmanager:", + { + "Ref": "cdkintegclustersnapshotFromSnapshotSnapshotSecretD93327943fdaad7efa858a3daf9490cf0a702aeb" + }, + ":SecretString:password::}}" + ] + ] + }, + "SnapshotIdentifier": { + "Fn::GetAtt": [ + "SnapshoterSnapshotAA1755BE", + "DBClusterSnapshotArn" + ] + }, + "VpcSecurityGroupIds": [ + { + "Fn::GetAtt": [ + "FromSnapshotSecurityGroup72F11E81", + "GroupId" + ] + } + ] + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "FromSnapshotInstance167EFB569": { + "Type": "AWS::RDS::DBInstance", + "Properties": { + "DBInstanceClass": "db.t3.small", + "DBClusterIdentifier": { + "Ref": "FromSnapshotEE0682C5" + }, + "DBSubnetGroupName": { + "Ref": "FromSnapshotSubnets9ED4B8EE" + }, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.10.2" + }, + "DependsOn": [ + "VpcPrivateSubnet1DefaultRouteBE02A9ED", + "VpcPrivateSubnet2DefaultRoute060D2087" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "FromSnapshotInstance2CD342D07": { + "Type": "AWS::RDS::DBInstance", + "Properties": { + "DBInstanceClass": "db.t3.small", + "DBClusterIdentifier": { + "Ref": "FromSnapshotEE0682C5" + }, + "DBSubnetGroupName": { + "Ref": "FromSnapshotSubnets9ED4B8EE" + }, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.10.2" + }, + "DependsOn": [ + "VpcPrivateSubnet1DefaultRouteBE02A9ED", + "VpcPrivateSubnet2DefaultRoute060D2087" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "FromSnapshotRotationSingleUserSecurityGroupF78A9956": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "FromSnapshotRotationSingleUserEBCAA50C": { + "Type": "AWS::Serverless::Application", + "Properties": { + "Location": { + "ApplicationId": { + "Fn::FindInMap": [ + "FromSnapshotRotationSingleUserSARMapping4464D796", + { + "Ref": "AWS::Partition" + }, + "applicationId" + ] + }, + "SemanticVersion": { + "Fn::FindInMap": [ + "FromSnapshotRotationSingleUserSARMapping4464D796", + { + "Ref": "AWS::Partition" + }, + "semanticVersion" + ] + } + }, + "Parameters": { + "endpoint": { + "Fn::Join": [ + "", + [ + "https://secretsmanager.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + } + ] + ] + }, + "functionName": "cdkintegclustersnapshotFromSnapshotRotationSingleUserAE675488", + "vpcSubnetIds": { + "Fn::Join": [ + "", + [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + ",", + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + ] + }, + "vpcSecurityGroupIds": { + "Fn::GetAtt": [ + "FromSnapshotRotationSingleUserSecurityGroupF78A9956", + "GroupId" + ] + }, + "excludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\" + } + } + } + }, + "Parameters": { + "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3BucketB5E782AC": { + "Type": "String", + "Description": "S3 bucket for asset \"1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e\"" + }, + "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D": { + "Type": "String", + "Description": "S3 key for asset version \"1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e\"" + }, + "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eArtifactHash725480C4": { + "Type": "String", + "Description": "Artifact hash for asset \"1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e\"" + }, + "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90": { + "Type": "String", + "Description": "S3 bucket for asset \"8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9\"" + }, + "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212": { + "Type": "String", + "Description": "S3 key for asset version \"8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9\"" + }, + "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9ArtifactHash26B5BCAA": { + "Type": "String", + "Description": "Artifact hash for asset \"8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9\"" + } + }, + "Mappings": { + "FromSnapshotRotationSingleUserSARMapping4464D796": { + "aws": { + "applicationId": "arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSMySQLRotationSingleUser", + "semanticVersion": "1.1.225" + }, + "aws-cn": { + "applicationId": "arn:aws-cn:serverlessrepo:cn-north-1:193023089310:applications/SecretsManagerRDSMySQLRotationSingleUser", + "semanticVersion": "1.1.37" + }, + "aws-us-gov": { + "applicationId": "arn:aws-us-gov:serverlessrepo:us-gov-west-1:023102451235:applications/SecretsManagerRDSMySQLRotationSingleUser", + "semanticVersion": "1.1.93" + } + }, + "ServiceprincipalMap": { + "af-south-1": { + "states": "states.af-south-1.amazonaws.com" + }, + "ap-east-1": { + "states": "states.ap-east-1.amazonaws.com" + }, + "ap-northeast-1": { + "states": "states.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2": { + "states": "states.ap-northeast-2.amazonaws.com" + }, + "ap-northeast-3": { + "states": "states.ap-northeast-3.amazonaws.com" + }, + "ap-south-1": { + "states": "states.ap-south-1.amazonaws.com" + }, + "ap-southeast-1": { + "states": "states.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2": { + "states": "states.ap-southeast-2.amazonaws.com" + }, + "ap-southeast-3": { + "states": "states.ap-southeast-3.amazonaws.com" + }, + "ca-central-1": { + "states": "states.ca-central-1.amazonaws.com" + }, + "cn-north-1": { + "states": "states.cn-north-1.amazonaws.com" + }, + "cn-northwest-1": { + "states": "states.cn-northwest-1.amazonaws.com" + }, + "eu-central-1": { + "states": "states.eu-central-1.amazonaws.com" + }, + "eu-north-1": { + "states": "states.eu-north-1.amazonaws.com" + }, + "eu-south-1": { + "states": "states.eu-south-1.amazonaws.com" + }, + "eu-south-2": { + "states": "states.eu-south-2.amazonaws.com" + }, + "eu-west-1": { + "states": "states.eu-west-1.amazonaws.com" + }, + "eu-west-2": { + "states": "states.eu-west-2.amazonaws.com" + }, + "eu-west-3": { + "states": "states.eu-west-3.amazonaws.com" + }, + "me-south-1": { + "states": "states.me-south-1.amazonaws.com" + }, + "sa-east-1": { + "states": "states.sa-east-1.amazonaws.com" + }, + "us-east-1": { + "states": "states.us-east-1.amazonaws.com" + }, + "us-east-2": { + "states": "states.us-east-2.amazonaws.com" + }, + "us-gov-east-1": { + "states": "states.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1": { + "states": "states.us-gov-west-1.amazonaws.com" + }, + "us-iso-east-1": { + "states": "states.amazonaws.com" + }, + "us-iso-west-1": { + "states": "states.amazonaws.com" + }, + "us-isob-east-1": { + "states": "states.amazonaws.com" + }, + "us-west-1": { + "states": "states.us-west-1.amazonaws.com" + }, + "us-west-2": { + "states": "states.us-west-2.amazonaws.com" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/cdk.out b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/cdk.out new file mode 100644 index 0000000000000..ccdfc1ff96a9d --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"19.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/integ.json b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/integ.json new file mode 100644 index 0000000000000..525fce2c049db --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/integ.json @@ -0,0 +1,14 @@ +{ + "version": "19.0.0", + "testCases": { + "integ.cluster-snapshot": { + "stacks": [ + "cdk-integ-cluster-snapshot" + ], + "diffAssets": false, + "stackUpdateWorkflow": true + } + }, + "synthContext": {}, + "enableLookups": false +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/manifest.json new file mode 100644 index 0000000000000..58b102fdee216 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/manifest.json @@ -0,0 +1,462 @@ +{ + "version": "19.0.0", + "artifacts": { + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + }, + "cdk-integ-cluster-snapshot": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "cdk-integ-cluster-snapshot.template.json", + "validateOnSynth": false + }, + "metadata": { + "/cdk-integ-cluster-snapshot": [ + { + "type": "aws:cdk:asset", + "data": { + "path": "asset.1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e", + "id": "1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e", + "packaging": "zip", + "sourceHash": "1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e", + "s3BucketParameter": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3BucketB5E782AC", + "s3KeyParameter": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D", + "artifactHashParameter": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eArtifactHash725480C4" + } + }, + { + "type": "aws:cdk:asset", + "data": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "id": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip", + "sourceHash": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "s3BucketParameter": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90", + "s3KeyParameter": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212", + "artifactHashParameter": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9ArtifactHash26B5BCAA" + } + } + ], + "/cdk-integ-cluster-snapshot/Vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Vpc8378EB38" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1Subnet5C2D37C4" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTable6C95E38E" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTableAssociation97140677" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1DefaultRoute3DA9E72A" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1EIPD7E02669" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1NATGateway4D7517AA" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2Subnet691E08A3" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTableAssociationDD5762D8" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2DefaultRoute97F91067" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1Subnet536B997A" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableB2C5B500" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableAssociation70C59FA6" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1DefaultRouteBE02A9ED" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableA678073B" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableAssociationA89CAD56" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2DefaultRoute060D2087" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcIGWD7BA715C" + } + ], + "/cdk-integ-cluster-snapshot/Vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcVPCGWBF912B6E" + } + ], + "/cdk-integ-cluster-snapshot/Cluster/Subnets/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "ClusterSubnetsDCFA5CB7" + } + ], + "/cdk-integ-cluster-snapshot/Cluster/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ClusterSecurityGroup0921994B" + } + ], + "/cdk-integ-cluster-snapshot/Cluster/Secret/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ClusterSecret6368BD0F" + } + ], + "/cdk-integ-cluster-snapshot/Cluster/Secret/Attachment/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ClusterSecretAttachment769E6258" + } + ], + "/cdk-integ-cluster-snapshot/Cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ClusterEB0386A7" + } + ], + "/cdk-integ-cluster-snapshot/Cluster/Instance1": [ + { + "type": "aws:cdk:logicalId", + "data": "ClusterInstance1448F06E4" + } + ], + "/cdk-integ-cluster-snapshot/Cluster/Instance2": [ + { + "type": "aws:cdk:logicalId", + "data": "ClusterInstance2C3E0561B" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterOnEventHandlerServiceRole7F84B26D" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterOnEventHandlerServiceRoleDefaultPolicyAF0DFD57" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterOnEventHandlerDF82DF85" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterIsCompleteHandlerServiceRole40F5F1A8" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterIsCompleteHandlerServiceRoleDefaultPolicyA43EB222" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterIsCompleteHandler93DE2591" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkonEventServiceRole29C21F76" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkonEventServiceRoleDefaultPolicy21CE9686" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkonEventF0C0D052" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleFAA9C6CB" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleDefaultPolicyF410E478" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkisComplete803B4F1B" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkonTimeoutServiceRole0B00A1BD" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkonTimeoutServiceRoleDefaultPolicy05DF1C30" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderframeworkonTimeout04342B00" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderwaiterstatemachineRole76E414C5" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderwaiterstatemachineRoleDefaultPolicyCF7716B2" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotProviderwaiterstatemachineE1F05D1F" + } + ], + "/cdk-integ-cluster-snapshot/Snapshoter/Snapshot/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "SnapshoterSnapshotAA1755BE" + } + ], + "/cdk-integ-cluster-snapshot/AssetParameters/1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/S3Bucket": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3BucketB5E782AC" + } + ], + "/cdk-integ-cluster-snapshot/AssetParameters/1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/S3VersionKey": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ], + "/cdk-integ-cluster-snapshot/AssetParameters/1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/ArtifactHash": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eArtifactHash725480C4" + } + ], + "/cdk-integ-cluster-snapshot/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3Bucket": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + } + ], + "/cdk-integ-cluster-snapshot/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3VersionKey": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ], + "/cdk-integ-cluster-snapshot/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/ArtifactHash": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9ArtifactHash26B5BCAA" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/Subnets/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSubnets9ED4B8EE" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSecurityGroup72F11E81" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/SecurityGroup/from cdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219:{IndirectPort}": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSecurityGroupfromcdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219IndirectPort7C6DDFDF" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/Secret/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSecret9100F61C" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/Secret/Attachment/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSecretAttachmentB62DA1C6" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "cdkintegclustersnapshotFromSnapshotSnapshotSecretD93327943fdaad7efa858a3daf9490cf0a702aeb" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSnapshotSecretAttachmentA3F619B8" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/RotationSchedule/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSnapshotSecretAttachmentRotationSchedule102BDEB3" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotSnapshotSecretAttachmentPolicy3136FEC0" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotEE0682C5" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/Instance1": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotInstance167EFB569" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/Instance2": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotInstance2CD342D07" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotRotationSingleUserSecurityGroupF78A9956" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/SARMapping": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotRotationSingleUserSARMapping4464D796" + } + ], + "/cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "FromSnapshotRotationSingleUserEBCAA50C" + } + ], + "/cdk-integ-cluster-snapshot/Service-principalMap": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceprincipalMap" + } + ] + }, + "displayName": "cdk-integ-cluster-snapshot" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/tree.json new file mode 100644 index 0000000000000..11f7609386391 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster-snapshot.integ.snapshot/tree.json @@ -0,0 +1,2882 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "cdk-integ-cluster-snapshot": { + "id": "cdk-integ-cluster-snapshot", + "path": "cdk-integ-cluster-snapshot", + "children": { + "Vpc": { + "id": "Vpc", + "path": "cdk-integ-cluster-snapshot/Vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnVPC", + "version": "0.0.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + "subnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnEIP", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "allocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnNatGateway", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.PublicSubnet", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + }, + "subnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "cdk-integ-cluster-snapshot/Vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.PublicSubnet", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + "subnetId": { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.PrivateSubnet", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + "subnetId": { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "cdk-integ-cluster-snapshot/Vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.PrivateSubnet", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "cdk-integ-cluster-snapshot/Vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "cdk-integ-cluster-snapshot/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnInternetGateway", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "cdk-integ-cluster-snapshot/Vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Vpc8378EB38" + }, + "internetGatewayId": { + "Ref": "VpcIGWD7BA715C" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnVPCGatewayAttachment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.Vpc", + "version": "0.0.0" + } + }, + "Cluster": { + "id": "Cluster", + "path": "cdk-integ-cluster-snapshot/Cluster", + "children": { + "Subnets": { + "id": "Subnets", + "path": "cdk-integ-cluster-snapshot/Cluster/Subnets", + "children": { + "Default": { + "id": "Default", + "path": "cdk-integ-cluster-snapshot/Cluster/Subnets/Default", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBSubnetGroup", + "aws:cdk:cloudformation:props": { + "dbSubnetGroupDescription": "Subnets for Cluster database", + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBSubnetGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.SubnetGroup", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "cdk-integ-cluster-snapshot/Cluster/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Cluster/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "RDS security group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSecurityGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.SecurityGroup", + "version": "0.0.0" + } + }, + "AuroraMySqlDatabaseClusterEngineDefaultParameterGroup": { + "id": "AuroraMySqlDatabaseClusterEngineDefaultParameterGroup", + "path": "cdk-integ-cluster-snapshot/Cluster/AuroraMySqlDatabaseClusterEngineDefaultParameterGroup", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Secret": { + "id": "Secret", + "path": "cdk-integ-cluster-snapshot/Cluster/Secret", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Cluster/Secret/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::Secret", + "aws:cdk:cloudformation:props": { + "description": { + "Fn::Join": [ + "", + [ + "Generated by the CDK for stack: ", + { + "Ref": "AWS::StackName" + } + ] + ] + }, + "generateSecretString": { + "passwordLength": 30, + "secretStringTemplate": "{\"username\":\"admin\"}", + "generateStringKey": "password", + "excludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnSecret", + "version": "0.0.0" + } + }, + "Attachment": { + "id": "Attachment", + "path": "cdk-integ-cluster-snapshot/Cluster/Secret/Attachment", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Cluster/Secret/Attachment/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::SecretTargetAttachment", + "aws:cdk:cloudformation:props": { + "secretId": { + "Ref": "ClusterSecret6368BD0F" + }, + "targetId": { + "Ref": "ClusterEB0386A7" + }, + "targetType": "AWS::RDS::DBCluster" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnSecretTargetAttachment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.SecretTargetAttachment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.DatabaseSecret", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBCluster", + "aws:cdk:cloudformation:props": { + "engine": "aurora-mysql", + "copyTagsToSnapshot": true, + "dbClusterParameterGroupName": "default.aurora-mysql5.7", + "dbSubnetGroupName": { + "Ref": "ClusterSubnetsDCFA5CB7" + }, + "engineVersion": "5.7.mysql_aurora.2.10.2", + "masterUsername": { + "Fn::Join": [ + "", + [ + "{{resolve:secretsmanager:", + { + "Ref": "ClusterSecret6368BD0F" + }, + ":SecretString:username::}}" + ] + ] + }, + "masterUserPassword": { + "Fn::Join": [ + "", + [ + "{{resolve:secretsmanager:", + { + "Ref": "ClusterSecret6368BD0F" + }, + ":SecretString:password::}}" + ] + ] + }, + "vpcSecurityGroupIds": [ + { + "Fn::GetAtt": [ + "ClusterSecurityGroup0921994B", + "GroupId" + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBCluster", + "version": "0.0.0" + } + }, + "Instance1": { + "id": "Instance1", + "path": "cdk-integ-cluster-snapshot/Cluster/Instance1", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBInstance", + "aws:cdk:cloudformation:props": { + "dbInstanceClass": "db.t3.small", + "dbClusterIdentifier": { + "Ref": "ClusterEB0386A7" + }, + "dbSubnetGroupName": { + "Ref": "ClusterSubnetsDCFA5CB7" + }, + "engine": "aurora-mysql", + "engineVersion": "5.7.mysql_aurora.2.10.2" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBInstance", + "version": "0.0.0" + } + }, + "Instance2": { + "id": "Instance2", + "path": "cdk-integ-cluster-snapshot/Cluster/Instance2", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBInstance", + "aws:cdk:cloudformation:props": { + "dbInstanceClass": "db.t3.small", + "dbClusterIdentifier": { + "Ref": "ClusterEB0386A7" + }, + "dbSubnetGroupName": { + "Ref": "ClusterSubnetsDCFA5CB7" + }, + "engine": "aurora-mysql", + "engineVersion": "5.7.mysql_aurora.2.10.2" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBInstance", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.DatabaseCluster", + "version": "0.0.0" + } + }, + "Snapshoter": { + "id": "Snapshoter", + "path": "cdk-integ-cluster-snapshot/Snapshoter", + "children": { + "OnEventHandler": { + "id": "OnEventHandler", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "rds:CreateDBClusterSnapshot", + "rds:DeleteDBClusterSnapshot" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster-snapshot:cdk-integ-cluster-snapshot" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster:", + { + "Ref": "ClusterEB0386A7" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "SnapshoterOnEventHandlerServiceRoleDefaultPolicyAF0DFD57", + "roles": [ + { + "Ref": "SnapshoterOnEventHandlerServiceRole7F84B26D" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/aws-s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-s3-assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/OnEventHandler/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3BucketB5E782AC" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerServiceRole7F84B26D", + "Arn" + ] + }, + "handler": "index.onEventHandler", + "runtime": "nodejs16.x" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.Function", + "version": "0.0.0" + } + }, + "IsCompleteHandler": { + "id": "IsCompleteHandler", + "path": "cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "rds:DescribeDBClusterSnapshots", + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster-snapshot:cdk-integ-cluster-snapshot" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":rds:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":cluster:", + { + "Ref": "ClusterEB0386A7" + } + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "SnapshoterIsCompleteHandlerServiceRoleDefaultPolicyA43EB222", + "roles": [ + { + "Ref": "SnapshoterIsCompleteHandlerServiceRole40F5F1A8" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/IsCompleteHandler/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3BucketB5E782AC" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2eS3VersionKey5DD1F95D" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandlerServiceRole40F5F1A8", + "Arn" + ] + }, + "handler": "index.isCompleteHandler", + "runtime": "nodejs16.x" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.Function", + "version": "0.0.0" + } + }, + "SnapshotProvider": { + "id": "SnapshotProvider", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider", + "children": { + "framework-onEvent": { + "id": "framework-onEvent", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + }, + { + "Action": "states:StartExecution", + "Effect": "Allow", + "Resource": { + "Ref": "SnapshoterSnapshotProviderwaiterstatemachineE1F05D1F" + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "SnapshoterSnapshotProviderframeworkonEventServiceRoleDefaultPolicy21CE9686", + "roles": [ + { + "Ref": "SnapshoterSnapshotProviderframeworkonEventServiceRole29C21F76" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/aws-s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-s3-assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onEvent/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonEventServiceRole29C21F76", + "Arn" + ] + }, + "description": "AWS CDK resource provider framework - onEvent (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", + "environment": { + "variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + "USER_IS_COMPLETE_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + "WAITER_STATE_MACHINE_ARN": { + "Ref": "SnapshoterSnapshotProviderwaiterstatemachineE1F05D1F" + } + } + }, + "handler": "framework.onEvent", + "runtime": "nodejs12.x", + "timeout": 900 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.Function", + "version": "0.0.0" + } + }, + "framework-isComplete": { + "id": "framework-isComplete", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleDefaultPolicyF410E478", + "roles": [ + { + "Ref": "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleFAA9C6CB" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/aws-s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-s3-assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-isComplete/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkisCompleteServiceRoleFAA9C6CB", + "Arn" + ] + }, + "description": "AWS CDK resource provider framework - isComplete (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", + "environment": { + "variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + "USER_IS_COMPLETE_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + } + } + }, + "handler": "framework.isComplete", + "runtime": "nodejs12.x", + "timeout": 900 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.Function", + "version": "0.0.0" + } + }, + "framework-onTimeout": { + "id": "framework-onTimeout", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "SnapshoterSnapshotProviderframeworkonTimeoutServiceRoleDefaultPolicy05DF1C30", + "roles": [ + { + "Ref": "SnapshoterSnapshotProviderframeworkonTimeoutServiceRole0B00A1BD" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/aws-s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-s3-assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/framework-onTimeout/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonTimeoutServiceRole0B00A1BD", + "Arn" + ] + }, + "description": "AWS CDK resource provider framework - onTimeout (cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider)", + "environment": { + "variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterOnEventHandlerDF82DF85", + "Arn" + ] + }, + "USER_IS_COMPLETE_FUNCTION_ARN": { + "Fn::GetAtt": [ + "SnapshoterIsCompleteHandler93DE2591", + "Arn" + ] + } + } + }, + "handler": "framework.onTimeout", + "runtime": "nodejs12.x", + "timeout": 900 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.CfnFunction", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.Function", + "version": "0.0.0" + } + }, + "waiter-state-machine": { + "id": "waiter-state-machine", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine", + "children": { + "Role": { + "id": "Role", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Role", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": { + "Fn::FindInMap": [ + "ServiceprincipalMap", + { + "Ref": "AWS::Region" + }, + "states" + ] + } + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkisComplete803B4F1B", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonTimeout04342B00", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkisComplete803B4F1B", + "Arn" + ] + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "SnapshoterSnapshotProviderframeworkonTimeout04342B00", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "SnapshoterSnapshotProviderwaiterstatemachineRoleDefaultPolicyCF7716B2", + "roles": [ + { + "Ref": "SnapshoterSnapshotProviderwaiterstatemachineRole76E414C5" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/Snapshoter/SnapshotProvider/waiter-state-machine/Resource", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/custom-resources.Provider", + "version": "0.0.0" + } + }, + "Snapshot": { + "id": "Snapshot", + "path": "cdk-integ-cluster-snapshot/Snapshoter/Snapshot", + "children": { + "Default": { + "id": "Default", + "path": "cdk-integ-cluster-snapshot/Snapshoter/Snapshot/Default", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CustomResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "AssetParameters": { + "id": "AssetParameters", + "path": "cdk-integ-cluster-snapshot/AssetParameters", + "children": { + "1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e": { + "id": "1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e", + "path": "cdk-integ-cluster-snapshot/AssetParameters/1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e", + "children": { + "S3Bucket": { + "id": "S3Bucket", + "path": "cdk-integ-cluster-snapshot/AssetParameters/1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/S3Bucket", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "S3VersionKey": { + "id": "S3VersionKey", + "path": "cdk-integ-cluster-snapshot/AssetParameters/1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/S3VersionKey", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "ArtifactHash": { + "id": "ArtifactHash", + "path": "cdk-integ-cluster-snapshot/AssetParameters/1e025324752b3133dc230c4b8b8752f666b63c09cd4aa605ec2b322cc40def2e/ArtifactHash", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "id": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "path": "cdk-integ-cluster-snapshot/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "children": { + "S3Bucket": { + "id": "S3Bucket", + "path": "cdk-integ-cluster-snapshot/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3Bucket", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "S3VersionKey": { + "id": "S3VersionKey", + "path": "cdk-integ-cluster-snapshot/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3VersionKey", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "ArtifactHash": { + "id": "ArtifactHash", + "path": "cdk-integ-cluster-snapshot/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/ArtifactHash", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "FromSnapshot": { + "id": "FromSnapshot", + "path": "cdk-integ-cluster-snapshot/FromSnapshot", + "children": { + "Subnets": { + "id": "Subnets", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Subnets", + "children": { + "Default": { + "id": "Default", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Subnets/Default", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBSubnetGroup", + "aws:cdk:cloudformation:props": { + "dbSubnetGroupDescription": "Subnets for FromSnapshot database", + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBSubnetGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.SubnetGroup", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "RDS security group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSecurityGroup", + "version": "0.0.0" + } + }, + "from cdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219:{IndirectPort}": { + "id": "from cdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219:{IndirectPort}", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SecurityGroup/from cdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219:{IndirectPort}", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroupIngress", + "aws:cdk:cloudformation:props": { + "ipProtocol": "tcp", + "description": "from cdkintegclustersnapshotFromSnapshotRotationSingleUserSecurityGroup8B231219:{IndirectPort}", + "fromPort": { + "Fn::GetAtt": [ + "FromSnapshotEE0682C5", + "Endpoint.Port" + ] + }, + "groupId": { + "Fn::GetAtt": [ + "FromSnapshotSecurityGroup72F11E81", + "GroupId" + ] + }, + "sourceSecurityGroupId": { + "Fn::GetAtt": [ + "FromSnapshotRotationSingleUserSecurityGroupF78A9956", + "GroupId" + ] + }, + "toPort": { + "Fn::GetAtt": [ + "FromSnapshotEE0682C5", + "Endpoint.Port" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSecurityGroupIngress", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.SecurityGroup", + "version": "0.0.0" + } + }, + "AuroraMySqlDatabaseClusterEngineDefaultParameterGroup": { + "id": "AuroraMySqlDatabaseClusterEngineDefaultParameterGroup", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/AuroraMySqlDatabaseClusterEngineDefaultParameterGroup", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Secret": { + "id": "Secret", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Secret", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Secret/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::Secret", + "aws:cdk:cloudformation:props": { + "description": { + "Fn::Join": [ + "", + [ + "Generated by the CDK for stack: ", + { + "Ref": "AWS::StackName" + } + ] + ] + }, + "generateSecretString": { + "passwordLength": 30, + "secretStringTemplate": "{\"username\":\"admin\"}", + "generateStringKey": "password", + "excludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnSecret", + "version": "0.0.0" + } + }, + "Attachment": { + "id": "Attachment", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Secret/Attachment", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Secret/Attachment/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::SecretTargetAttachment", + "aws:cdk:cloudformation:props": { + "secretId": { + "Ref": "FromSnapshotSecret9100F61C" + }, + "targetId": { + "Ref": "FromSnapshotEE0682C5" + }, + "targetType": "AWS::RDS::DBCluster" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnSecretTargetAttachment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.SecretTargetAttachment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.DatabaseSecret", + "version": "0.0.0" + } + }, + "SnapshotSecret": { + "id": "SnapshotSecret", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::Secret", + "aws:cdk:cloudformation:props": { + "description": { + "Fn::Join": [ + "", + [ + "Generated by the CDK for stack: ", + { + "Ref": "AWS::StackName" + } + ] + ] + }, + "generateSecretString": { + "passwordLength": 30, + "secretStringTemplate": "{\"username\":\"admin\"}", + "generateStringKey": "password", + "excludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnSecret", + "version": "0.0.0" + } + }, + "Attachment": { + "id": "Attachment", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::SecretTargetAttachment", + "aws:cdk:cloudformation:props": { + "secretId": { + "Ref": "cdkintegclustersnapshotFromSnapshotSnapshotSecretD93327943fdaad7efa858a3daf9490cf0a702aeb" + }, + "targetId": { + "Ref": "FromSnapshotEE0682C5" + }, + "targetType": "AWS::RDS::DBCluster" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnSecretTargetAttachment", + "version": "0.0.0" + } + }, + "RotationSchedule": { + "id": "RotationSchedule", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/RotationSchedule", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/RotationSchedule/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::RotationSchedule", + "aws:cdk:cloudformation:props": { + "secretId": { + "Ref": "FromSnapshotSnapshotSecretAttachmentA3F619B8" + }, + "rotationLambdaArn": { + "Fn::GetAtt": [ + "FromSnapshotRotationSingleUserEBCAA50C", + "Outputs.RotationLambdaARN" + ] + }, + "rotationRules": { + "automaticallyAfterDays": 30 + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnRotationSchedule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.RotationSchedule", + "version": "0.0.0" + } + }, + "Policy": { + "id": "Policy", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/Policy", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/SnapshotSecret/Attachment/Policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SecretsManager::ResourcePolicy", + "aws:cdk:cloudformation:props": { + "resourcePolicy": { + "Statement": [ + { + "Action": "secretsmanager:DeleteSecret", + "Effect": "Deny", + "Principal": { + "AWS": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":root" + ] + ] + } + }, + "Resource": "*" + } + ], + "Version": "2012-10-17" + }, + "secretId": { + "Ref": "FromSnapshotSnapshotSecretAttachmentA3F619B8" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.CfnResourcePolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.ResourcePolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.SecretTargetAttachment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.DatabaseSecret", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBCluster", + "aws:cdk:cloudformation:props": { + "engine": "aurora-mysql", + "copyTagsToSnapshot": true, + "dbClusterParameterGroupName": "default.aurora-mysql5.7", + "dbSubnetGroupName": { + "Ref": "FromSnapshotSubnets9ED4B8EE" + }, + "engineVersion": "5.7.mysql_aurora.2.10.2", + "masterUserPassword": { + "Fn::Join": [ + "", + [ + "{{resolve:secretsmanager:", + { + "Ref": "cdkintegclustersnapshotFromSnapshotSnapshotSecretD93327943fdaad7efa858a3daf9490cf0a702aeb" + }, + ":SecretString:password::}}" + ] + ] + }, + "snapshotIdentifier": { + "Fn::GetAtt": [ + "SnapshoterSnapshotAA1755BE", + "DBClusterSnapshotArn" + ] + }, + "vpcSecurityGroupIds": [ + { + "Fn::GetAtt": [ + "FromSnapshotSecurityGroup72F11E81", + "GroupId" + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBCluster", + "version": "0.0.0" + } + }, + "Instance1": { + "id": "Instance1", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Instance1", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBInstance", + "aws:cdk:cloudformation:props": { + "dbInstanceClass": "db.t3.small", + "dbClusterIdentifier": { + "Ref": "FromSnapshotEE0682C5" + }, + "dbSubnetGroupName": { + "Ref": "FromSnapshotSubnets9ED4B8EE" + }, + "engine": "aurora-mysql", + "engineVersion": "5.7.mysql_aurora.2.10.2" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBInstance", + "version": "0.0.0" + } + }, + "Instance2": { + "id": "Instance2", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/Instance2", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::RDS::DBInstance", + "aws:cdk:cloudformation:props": { + "dbInstanceClass": "db.t3.small", + "dbClusterIdentifier": { + "Ref": "FromSnapshotEE0682C5" + }, + "dbSubnetGroupName": { + "Ref": "FromSnapshotSubnets9ED4B8EE" + }, + "engine": "aurora-mysql", + "engineVersion": "5.7.mysql_aurora.2.10.2" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.CfnDBInstance", + "version": "0.0.0" + } + }, + "RotationSingleUser": { + "id": "RotationSingleUser", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser", + "children": { + "SecurityGroup": { + "id": "SecurityGroup", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.CfnSecurityGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-ec2.SecurityGroup", + "version": "0.0.0" + } + }, + "SARMapping": { + "id": "SARMapping", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/SARMapping", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnMapping", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Serverless::Application", + "aws:cdk:cloudformation:props": { + "location": { + "applicationId": { + "Fn::FindInMap": [ + "FromSnapshotRotationSingleUserSARMapping4464D796", + { + "Ref": "AWS::Partition" + }, + "applicationId" + ] + }, + "semanticVersion": { + "Fn::FindInMap": [ + "FromSnapshotRotationSingleUserSARMapping4464D796", + { + "Ref": "AWS::Partition" + }, + "semanticVersion" + ] + } + }, + "parameters": { + "endpoint": { + "Fn::Join": [ + "", + [ + "https://secretsmanager.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + } + ] + ] + }, + "functionName": "cdkintegclustersnapshotFromSnapshotRotationSingleUserAE675488", + "vpcSubnetIds": { + "Fn::Join": [ + "", + [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + ",", + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + ] + }, + "vpcSecurityGroupIds": { + "Fn::GetAtt": [ + "FromSnapshotRotationSingleUserSecurityGroupF78A9956", + "GroupId" + ] + }, + "excludeCharacters": " %+~`#$&*()|[]{}:;<>?!'/@\"\\" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-sam.CfnApplication", + "version": "0.0.0" + } + }, + "RotationLambda": { + "id": "RotationLambda", + "path": "cdk-integ-cluster-snapshot/FromSnapshot/RotationSingleUser/RotationLambda", + "constructInfo": { + "fqn": "@aws-cdk/aws-lambda.FunctionBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-secretsmanager.SecretRotation", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-rds.DatabaseClusterFromSnapshot", + "version": "0.0.0" + } + }, + "Service-principalMap": { + "id": "Service-principalMap", + "path": "cdk-integ-cluster-snapshot/Service-principalMap", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnMapping", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster.integ.snapshot/aws-cdk-rds-integ.assets.json b/packages/@aws-cdk/aws-rds/test/cluster.integ.snapshot/aws-cdk-rds-integ.assets.json new file mode 100644 index 0000000000000..7602af5136550 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/cluster.integ.snapshot/aws-cdk-rds-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "742ad4b681f52f35232e7a30fa7fb4817860d8b0c621464ea96fa44f8b05c830": { + "source": { + "path": "aws-cdk-rds-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "742ad4b681f52f35232e7a30fa7fb4817860d8b0c621464ea96fa44f8b05c830.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/cluster.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/cluster.integ.snapshot/tree.json index 101f38023d252..405e9147e4bf3 100644 --- a/packages/@aws-cdk/aws-rds/test/cluster.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-rds/test/cluster.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-rds-integ": { diff --git a/packages/@aws-cdk/aws-rds/test/cluster.test.ts b/packages/@aws-cdk/aws-rds/test/cluster.test.ts index 718951a81580d..a9ccf4b374182 100644 --- a/packages/@aws-cdk/aws-rds/test/cluster.test.ts +++ b/packages/@aws-cdk/aws-rds/test/cluster.test.ts @@ -1,4 +1,4 @@ -import { Match, Template } from '@aws-cdk/assertions'; +import { Annotations, Match, Template } from '@aws-cdk/assertions'; import * as ec2 from '@aws-cdk/aws-ec2'; import { ManagedPolicy, Role, ServicePrincipal } from '@aws-cdk/aws-iam'; import * as kms from '@aws-cdk/aws-kms'; @@ -10,7 +10,7 @@ import * as cxapi from '@aws-cdk/cx-api'; import { AuroraEngineVersion, AuroraMysqlEngineVersion, AuroraPostgresEngineVersion, CfnDBCluster, Credentials, DatabaseCluster, DatabaseClusterEngine, DatabaseClusterFromSnapshot, ParameterGroup, PerformanceInsightRetention, SubnetGroup, DatabaseSecret, - DatabaseInstanceEngine, SqlServerEngineVersion, + DatabaseInstanceEngine, SqlServerEngineVersion, SnapshotCredentials, } from '../lib'; describe('cluster', () => { @@ -2026,6 +2026,109 @@ describe('cluster', () => { ]], }, }); + + Annotations.fromStack(stack).hasWarning('/Default/Database', Match.stringLikeRegexp('Generated credentials will not be applied to cluster')); + }); + + test('can generate a new snapshot password', () => { + const stack = testStack(); + const vpc = new ec2.Vpc(stack, 'VPC'); + + new DatabaseClusterFromSnapshot(stack, 'Database', { + engine: DatabaseClusterEngine.aurora({ version: AuroraEngineVersion.VER_1_22_2 }), + instanceProps: { + vpc, + }, + snapshotIdentifier: 'mySnapshot', + snapshotCredentials: SnapshotCredentials.fromGeneratedSecret('admin', { + excludeCharacters: '"@/\\', + }), + }); + + Template.fromStack(stack).hasResourceProperties('AWS::RDS::DBCluster', { + MasterUsername: Match.absent(), + MasterUserPassword: { + 'Fn::Join': ['', [ + '{{resolve:secretsmanager:', + { Ref: 'DatabaseSnapshotSecret2B5748BB8ee0a797cad8a68dbeb85f8698cdb5bb' }, + ':SecretString:password::}}', + ]], + }, + }); + Template.fromStack(stack).hasResourceProperties('AWS::SecretsManager::Secret', { + Description: { + 'Fn::Join': ['', ['Generated by the CDK for stack: ', { Ref: 'AWS::StackName' }]], + }, + GenerateSecretString: { + ExcludeCharacters: '\"@/\\', + GenerateStringKey: 'password', + PasswordLength: 30, + SecretStringTemplate: '{"username":"admin"}', + }, + }); + }); + + test('fromGeneratedSecret with replica regions', () => { + const stack = testStack(); + const vpc = new ec2.Vpc(stack, 'VPC'); + + new DatabaseClusterFromSnapshot(stack, 'Database', { + engine: DatabaseClusterEngine.aurora({ version: AuroraEngineVersion.VER_1_22_2 }), + instanceProps: { + vpc, + }, + snapshotIdentifier: 'mySnapshot', + snapshotCredentials: SnapshotCredentials.fromGeneratedSecret('admin', { + replicaRegions: [{ region: 'eu-west-1' }], + }), + }); + + Template.fromStack(stack).hasResourceProperties('AWS::SecretsManager::Secret', { + ReplicaRegions: [ + { + Region: 'eu-west-1', + }, + ], + }); + }); + + test('throws if generating a new password without a username', () => { + const stack = testStack(); + const vpc = new ec2.Vpc(stack, 'VPC'); + + expect(() => new DatabaseClusterFromSnapshot(stack, 'Database', { + engine: DatabaseClusterEngine.aurora({ version: AuroraEngineVersion.VER_1_22_2 }), + instanceProps: { + vpc, + }, + snapshotIdentifier: 'mySnapshot', + snapshotCredentials: { generatePassword: true }, + })).toThrow(/`snapshotCredentials` `username` must be specified when `generatePassword` is set to true/); + }); + + test('can set a new snapshot password from an existing Secret', () => { + const stack = testStack(); + const vpc = new ec2.Vpc(stack, 'VPC'); + + const secret = new DatabaseSecret(stack, 'DBSecret', { + username: 'admin', + encryptionKey: new kms.Key(stack, 'PasswordKey'), + }); + new DatabaseClusterFromSnapshot(stack, 'Database', { + engine: DatabaseClusterEngine.aurora({ version: AuroraEngineVersion.VER_1_22_2 }), + instanceProps: { + vpc, + }, + snapshotIdentifier: 'mySnapshot', + snapshotCredentials: SnapshotCredentials.fromSecret(secret), + }); + + Template.fromStack(stack).hasResourceProperties('AWS::RDS::DBCluster', { + MasterUsername: Match.absent(), + MasterUserPassword: { + 'Fn::Join': ['', ['{{resolve:secretsmanager:', { Ref: 'DBSecretD58955BC' }, ':SecretString:password::}}']], + }, + }); }); test('create a cluster from a snapshot with encrypted storage', () => { diff --git a/packages/@aws-cdk/aws-rds/test/instance-s3-postgres.integ.snapshot/aws-cdk-rds-instance-s3-postgres-integ.assets.json b/packages/@aws-cdk/aws-rds/test/instance-s3-postgres.integ.snapshot/aws-cdk-rds-instance-s3-postgres-integ.assets.json new file mode 100644 index 0000000000000..b5d8df839691b --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/instance-s3-postgres.integ.snapshot/aws-cdk-rds-instance-s3-postgres-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7ca7cc972075a5fbb17803a468871b177f14f92a9d66019709a444cb3d891411": { + "source": { + "path": "aws-cdk-rds-instance-s3-postgres-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7ca7cc972075a5fbb17803a468871b177f14f92a9d66019709a444cb3d891411.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/instance-s3-postgres.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/instance-s3-postgres.integ.snapshot/tree.json index e3ec1b58efc90..669412fa14ea1 100644 --- a/packages/@aws-cdk/aws-rds/test/instance-s3-postgres.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-rds/test/instance-s3-postgres.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-rds-instance-s3-postgres-integ": { diff --git a/packages/@aws-cdk/aws-rds/test/instance-s3.integ.snapshot/aws-cdk-rds-instance-s3-integ.assets.json b/packages/@aws-cdk/aws-rds/test/instance-s3.integ.snapshot/aws-cdk-rds-instance-s3-integ.assets.json new file mode 100644 index 0000000000000..282155a48bff0 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/instance-s3.integ.snapshot/aws-cdk-rds-instance-s3-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "441d64d6f3ec180a4db7b90ce7f207a572be68d4dfeff70de2b0140a9df8e413": { + "source": { + "path": "aws-cdk-rds-instance-s3-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "441d64d6f3ec180a4db7b90ce7f207a572be68d4dfeff70de2b0140a9df8e413.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/instance-s3.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/instance-s3.integ.snapshot/tree.json index 0e63928d9629a..b8f8d938a6516 100644 --- a/packages/@aws-cdk/aws-rds/test/instance-s3.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-rds/test/instance-s3.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-rds-instance-s3-integ": { diff --git a/packages/@aws-cdk/aws-rds/test/instance.lit.integ.snapshot/aws-cdk-rds-instance.assets.json b/packages/@aws-cdk/aws-rds/test/instance.lit.integ.snapshot/aws-cdk-rds-instance.assets.json new file mode 100644 index 0000000000000..27022179ba29c --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/instance.lit.integ.snapshot/aws-cdk-rds-instance.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665": { + "source": { + "path": "asset.22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "22bb41d703c8e7a9a1712308f455fcf58cc012b0a386c9df563a6244a61e6665.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "760b6c2c18d731648dc5c38026788886813a141d7f92c6c91789b04e13f43972": { + "source": { + "path": "aws-cdk-rds-instance.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "760b6c2c18d731648dc5c38026788886813a141d7f92c6c91789b04e13f43972.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/instance.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/instance.lit.integ.snapshot/tree.json index 76908cc2713de..09b0a78049ece 100644 --- a/packages/@aws-cdk/aws-rds/test/instance.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-rds/test/instance.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-rds-instance": { @@ -1644,8 +1644,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -1682,14 +1682,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "HighCPU": { diff --git a/packages/@aws-cdk/aws-rds/test/integ.cluster-snapshot.ts b/packages/@aws-cdk/aws-rds/test/integ.cluster-snapshot.ts new file mode 100644 index 0000000000000..771bf19532f96 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/integ.cluster-snapshot.ts @@ -0,0 +1,109 @@ +import * as path from 'path'; +import * as ec2 from '@aws-cdk/aws-ec2'; +import * as iam from '@aws-cdk/aws-iam'; +import * as lambda from '@aws-cdk/aws-lambda'; +import { App, ArnFormat, CustomResource, RemovalPolicy, Stack, StackProps } from '@aws-cdk/core'; +import * as cr from '@aws-cdk/custom-resources'; +import { Construct } from 'constructs'; +import * as rds from '../lib'; + +class TestStack extends Stack { + constructor(scope: Construct, id: string, props?: StackProps) { + super(scope, id, props); + + const vpc = new ec2.Vpc(this, 'Vpc', { maxAzs: 2, natGateways: 1 }); + + const cluster = new rds.DatabaseCluster(this, 'Cluster', { + engine: rds.DatabaseClusterEngine.auroraMysql({ version: rds.AuroraMysqlEngineVersion.VER_2_10_2 }), + instanceProps: { + instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), + vpc, + }, + removalPolicy: RemovalPolicy.DESTROY, + }); + + const snapshoter = new Snapshoter(this, 'Snapshoter', { + cluster, + snapshotIdentifier: 'cdk-integ-cluster-snapshot', + }); + + const fromSnapshot = new rds.DatabaseClusterFromSnapshot(this, 'FromSnapshot', { + snapshotIdentifier: snapshoter.snapshotArn, + snapshotCredentials: rds.SnapshotCredentials.fromGeneratedSecret('admin'), + engine: rds.DatabaseClusterEngine.auroraMysql({ version: rds.AuroraMysqlEngineVersion.VER_2_10_2 }), + instanceProps: { + instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), + vpc, + }, + removalPolicy: RemovalPolicy.DESTROY, + }); + fromSnapshot.addRotationSingleUser(); + } +} + +interface SnapshoterProps { + readonly cluster: rds.IDatabaseCluster; + readonly snapshotIdentifier: string; +} + +class Snapshoter extends Construct { + public readonly snapshotArn: string; + + constructor(scope: Construct, id: string, props: SnapshoterProps) { + super(scope, id); + + const clusterArn = Stack.of(this).formatArn({ + service: 'rds', + resource: 'cluster', + resourceName: props.cluster.clusterIdentifier, + arnFormat: ArnFormat.COLON_RESOURCE_NAME, + }); + + const snapshotArn = Stack.of(this).formatArn({ + service: 'rds', + resource: 'cluster-snapshot', + resourceName: props.snapshotIdentifier, + arnFormat: ArnFormat.COLON_RESOURCE_NAME, + }); + + const code = lambda.Code.fromAsset(path.join(__dirname, 'snapshot-handler')); + const onEventHandler = new lambda.Function(this, 'OnEventHandler', { + code, + runtime: lambda.Runtime.NODEJS_16_X, + handler: 'index.onEventHandler', + }); + onEventHandler.addToRolePolicy(new iam.PolicyStatement({ + actions: ['rds:CreateDBClusterSnapshot', 'rds:DeleteDBClusterSnapshot'], + resources: [clusterArn, snapshotArn], + })); + + const isCompleteHandler = new lambda.Function(this, 'IsCompleteHandler', { + code, + runtime: lambda.Runtime.NODEJS_16_X, + handler: 'index.isCompleteHandler', + }); + isCompleteHandler.addToRolePolicy(new iam.PolicyStatement({ + actions: ['rds:DescribeDBClusterSnapshots'], + resources: [clusterArn, snapshotArn], + })); + + const provider = new cr.Provider(this, 'SnapshotProvider', { + onEventHandler, + isCompleteHandler, + }); + + const customResource = new CustomResource(this, 'Snapshot', { + resourceType: 'Custom::Snapshoter', + serviceToken: provider.serviceToken, + properties: { + DBClusterIdentifier: props.cluster.clusterIdentifier, + DBClusterSnapshotIdentifier: props.snapshotIdentifier, + }, + }); + this.snapshotArn = customResource.getAttString('DBClusterSnapshotArn'); + } +} + +const app = new App(); +new TestStack(app, 'cdk-integ-cluster-snapshot'); +app.synth(); diff --git a/packages/@aws-cdk/aws-rds/test/proxy.integ.snapshot/aws-cdk-rds-proxy.assets.json b/packages/@aws-cdk/aws-rds/test/proxy.integ.snapshot/aws-cdk-rds-proxy.assets.json new file mode 100644 index 0000000000000..02d0bc7baa458 --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/proxy.integ.snapshot/aws-cdk-rds-proxy.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "2150570c1c8cb9982a31b592a3201a7701bbad546d08d2ac13dcbfd38db2b416": { + "source": { + "path": "aws-cdk-rds-proxy.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2150570c1c8cb9982a31b592a3201a7701bbad546d08d2ac13dcbfd38db2b416.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-rds/test/proxy.integ.snapshot/tree.json b/packages/@aws-cdk/aws-rds/test/proxy.integ.snapshot/tree.json index ff50223cb38fd..6729a8d3f686e 100644 --- a/packages/@aws-cdk/aws-rds/test/proxy.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-rds/test/proxy.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-rds-proxy": { diff --git a/packages/@aws-cdk/aws-rds/test/snapshot-handler/index.ts b/packages/@aws-cdk/aws-rds/test/snapshot-handler/index.ts new file mode 100644 index 0000000000000..6d5a3c23336cd --- /dev/null +++ b/packages/@aws-cdk/aws-rds/test/snapshot-handler/index.ts @@ -0,0 +1,63 @@ +/* eslint-disable no-console */ +import type { IsCompleteRequest, IsCompleteResponse, OnEventRequest, OnEventResponse } from '@aws-cdk/custom-resources/lib/provider-framework/types'; +import { RDS } from 'aws-sdk'; // eslint-disable-line import/no-extraneous-dependencies + +export async function onEventHandler(event: OnEventRequest): Promise { + console.log('Event: %j', event); + + const rds = new RDS(); + + const physicalResourceId = `${event.ResourceProperties.DBClusterIdentifier}-${event.ResourceProperties.DBClusterIdentifier}`; + + if (event.RequestType === 'Create' || event.RequestType === 'Update') { + const data = await rds.createDBClusterSnapshot({ + DBClusterIdentifier: event.ResourceProperties.DBClusterIdentifier, + DBClusterSnapshotIdentifier: event.ResourceProperties.DBClusterSnapshotIdentifier, + }).promise(); + return { + PhysicalResourceId: physicalResourceId, + Data: { + DBClusterSnapshotArn: data.DBClusterSnapshot?.DBClusterSnapshotArn, + }, + }; + } + + if (event.RequestType === 'Delete') { + await rds.deleteDBClusterSnapshot({ + DBClusterSnapshotIdentifier: event.ResourceProperties.DBClusterSnapshotIdentifier, + }).promise(); + } + + return { + PhysicalResourceId: `${event.ResourceProperties.DBClusterIdentifier}-${event.ResourceProperties.DBClusterIdentifier}`, + }; +} + +export async function isCompleteHandler(event: IsCompleteRequest): Promise { + console.log('Event: %j', event); + + const snapshotStatus = await tryGetClusterSnapshotStatus(event.ResourceProperties.DBClusterSnapshotIdentifier); + + switch (event.RequestType) { + case 'Create': + case 'Update': + return { IsComplete: snapshotStatus === 'available' }; + case 'Delete': + return { IsComplete: snapshotStatus === undefined }; + } +} + +async function tryGetClusterSnapshotStatus(identifier: string): Promise { + try { + const rds = new RDS(); + const data = await rds.describeDBClusterSnapshots({ + DBClusterSnapshotIdentifier: identifier, + }).promise(); + return data.DBClusterSnapshots?.[0].Status; + } catch (err) { + if (err.code === 'DBClusterSnapshotNotFoundFault') { + return undefined; + } + throw err; + } +} diff --git a/packages/@aws-cdk/aws-redshift/lib/private/database-query.ts b/packages/@aws-cdk/aws-redshift/lib/private/database-query.ts index 346d67738aa78..6aa2690304843 100644 --- a/packages/@aws-cdk/aws-redshift/lib/private/database-query.ts +++ b/packages/@aws-cdk/aws-redshift/lib/private/database-query.ts @@ -4,14 +4,13 @@ import * as lambda from '@aws-cdk/aws-lambda'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import * as cdk from '@aws-cdk/core'; import * as customresources from '@aws-cdk/custom-resources'; -import { Construct } from 'constructs'; import { Cluster } from '../cluster'; import { DatabaseOptions } from '../database-options'; import { DatabaseQueryHandlerProps } from './handler-props'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface DatabaseQueryProps extends DatabaseOptions { readonly handler: string; @@ -24,7 +23,7 @@ export interface DatabaseQueryProps extends DatabaseOptions { readonly removalPolicy?: cdk.RemovalPolicy; } -export class DatabaseQuery extends CoreConstruct implements iam.IGrantable { +export class DatabaseQuery extends Construct implements iam.IGrantable { readonly grantPrincipal: iam.IPrincipal; readonly ref: string; diff --git a/packages/@aws-cdk/aws-redshift/lib/private/privileges.ts b/packages/@aws-cdk/aws-redshift/lib/private/privileges.ts index e8d9ed13d13dc..8e8d2d82421ba 100644 --- a/packages/@aws-cdk/aws-redshift/lib/private/privileges.ts +++ b/packages/@aws-cdk/aws-redshift/lib/private/privileges.ts @@ -1,5 +1,4 @@ import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; import { DatabaseOptions } from '../database-options'; import { ITable, TableAction } from '../table'; import { IUser } from '../user'; @@ -9,7 +8,7 @@ import { TablePrivilege as SerializedTablePrivilege, UserTablePrivilegesHandlerP // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * The Redshift table and action that make up a privilege that can be granted to a Redshift user. @@ -51,7 +50,7 @@ export interface UserTablePrivilegesProps extends DatabaseOptions { * method. Thus, each `User` will have at most one `UserTablePrivileges` construct to manage its privileges. For details * on why this is a Good Thing, see the README, under "Granting Privileges". */ -export class UserTablePrivileges extends CoreConstruct { +export class UserTablePrivileges extends Construct { private privileges: TablePrivilege[]; constructor(scope: Construct, id: string, props: UserTablePrivilegesProps) { diff --git a/packages/@aws-cdk/aws-redshift/lib/table.ts b/packages/@aws-cdk/aws-redshift/lib/table.ts index c9bf7c4c46ac2..0ac879210f829 100644 --- a/packages/@aws-cdk/aws-redshift/lib/table.ts +++ b/packages/@aws-cdk/aws-redshift/lib/table.ts @@ -1,5 +1,4 @@ import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; import { ICluster } from './cluster'; import { DatabaseOptions } from './database-options'; import { DatabaseQuery } from './private/database-query'; @@ -10,7 +9,7 @@ import { IUser } from './user'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; /** * An action that a Redshift user can be granted privilege to perform on a table. @@ -124,7 +123,7 @@ export interface TableProps extends DatabaseOptions { /** * Represents a table in a Redshift database. */ -export interface ITable extends cdk.IConstruct { +export interface ITable extends IConstruct { /** * Name of the table. */ @@ -176,7 +175,7 @@ export interface TableAttributes { readonly databaseName: string; } -abstract class TableBase extends CoreConstruct implements ITable { +abstract class TableBase extends Construct implements ITable { abstract readonly tableName: string; abstract readonly tableColumns: Column[]; abstract readonly cluster: ICluster; diff --git a/packages/@aws-cdk/aws-redshift/lib/user.ts b/packages/@aws-cdk/aws-redshift/lib/user.ts index 15ce396190cac..932918a79d71e 100644 --- a/packages/@aws-cdk/aws-redshift/lib/user.ts +++ b/packages/@aws-cdk/aws-redshift/lib/user.ts @@ -1,7 +1,6 @@ import * as kms from '@aws-cdk/aws-kms'; import * as secretsmanager from '@aws-cdk/aws-secretsmanager'; import * as cdk from '@aws-cdk/core'; -import { Construct } from 'constructs'; import { ICluster } from './cluster'; import { DatabaseOptions } from './database-options'; import { DatabaseSecret } from './database-secret'; @@ -13,7 +12,7 @@ import { ITable, TableAction } from './table'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; /** * Properties for configuring a Redshift user. @@ -46,7 +45,7 @@ export interface UserProps extends DatabaseOptions { /** * Represents a user in a Redshift database. */ -export interface IUser extends cdk.IConstruct { +export interface IUser extends IConstruct { /** * The name of the user. */ @@ -90,7 +89,7 @@ export interface UserAttributes extends DatabaseOptions { readonly password: cdk.SecretValue; } -abstract class UserBase extends CoreConstruct implements IUser { +abstract class UserBase extends Construct implements IUser { abstract readonly username: string; abstract readonly password: cdk.SecretValue; abstract readonly cluster: ICluster; diff --git a/packages/@aws-cdk/aws-redshift/package.json b/packages/@aws-cdk/aws-redshift/package.json index 7a1541f2f0d4c..a831071b203dc 100644 --- a/packages/@aws-cdk/aws-redshift/package.json +++ b/packages/@aws-cdk/aws-redshift/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-redshift", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Redshift", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_redshift", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -97,7 +98,7 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -109,10 +110,10 @@ "@aws-cdk/aws-secretsmanager": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-redshift/rosetta/cluster.ts-fixture b/packages/@aws-cdk/aws-redshift/rosetta/cluster.ts-fixture index f69d116f433b4..5370187ca48b4 100644 --- a/packages/@aws-cdk/aws-redshift/rosetta/cluster.ts-fixture +++ b/packages/@aws-cdk/aws-redshift/rosetta/cluster.ts-fixture @@ -1,8 +1,8 @@ // Fixture with cluster already created -import { Construct } from 'constructs'; import { SecretValue, Stack } from '@aws-cdk/core'; import { Vpc } from '@aws-cdk/aws-ec2'; import { Cluster, Table, TableAction, TableDistStyle, TableSortStyle, User } from '@aws-cdk/aws-redshift'; +import { Construct } from 'constructs'; class Fixture extends Stack { constructor(scope: Construct, id: string) { diff --git a/packages/@aws-cdk/aws-redshift/rosetta/default.ts-fixture b/packages/@aws-cdk/aws-redshift/rosetta/default.ts-fixture index 66fcc889d4e4a..9fbb38dff8177 100644 --- a/packages/@aws-cdk/aws-redshift/rosetta/default.ts-fixture +++ b/packages/@aws-cdk/aws-redshift/rosetta/default.ts-fixture @@ -1,7 +1,7 @@ // Fixture with packages imported, but nothing else -import { Construct } from 'constructs'; import { Stack } from '@aws-cdk/core'; import { Cluster } from '@aws-cdk/aws-redshift'; +import { Construct } from 'constructs'; class Fixture extends Stack { constructor(scope: Construct, id: string) { diff --git a/packages/@aws-cdk/aws-redshift/test/database.integ.snapshot/aws-cdk-redshift-cluster-database.assets.json b/packages/@aws-cdk/aws-redshift/test/database.integ.snapshot/aws-cdk-redshift-cluster-database.assets.json new file mode 100644 index 0000000000000..a59891de955c8 --- /dev/null +++ b/packages/@aws-cdk/aws-redshift/test/database.integ.snapshot/aws-cdk-redshift-cluster-database.assets.json @@ -0,0 +1,45 @@ +{ + "version": "17.0.0", + "files": { + "9a16f9040563cb46c6618b0d3d564a644ab266bb79ea51e97bb8b02e57b15b73": { + "source": { + "path": "asset.9a16f9040563cb46c6618b0d3d564a644ab266bb79ea51e97bb8b02e57b15b73", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9a16f9040563cb46c6618b0d3d564a644ab266bb79ea51e97bb8b02e57b15b73.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "1c13b746da0968b1272f71fab105edf24ce8685fa068babd4ff5bbd67da4fb58": { + "source": { + "path": "aws-cdk-redshift-cluster-database.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "1c13b746da0968b1272f71fab105edf24ce8685fa068babd4ff5bbd67da4fb58.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-redshift/test/database.integ.snapshot/tree.json b/packages/@aws-cdk/aws-redshift/test/database.integ.snapshot/tree.json index 7ea89920bbfdd..db07ff6704079 100644 --- a/packages/@aws-cdk/aws-redshift/test/database.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-redshift/test/database.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-redshift-cluster-database": { @@ -1225,8 +1225,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "TablePrivileges": { @@ -1491,14 +1491,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1743,8 +1743,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -1777,14 +1777,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Table": { @@ -2049,8 +2049,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-refactorspaces/package.json b/packages/@aws-cdk/aws-refactorspaces/package.json index dcaa326081ffb..8b4ccfc46c7b5 100644 --- a/packages/@aws-cdk/aws-refactorspaces/package.json +++ b/packages/@aws-cdk/aws-refactorspaces/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-refactorspaces", "module": "aws_cdk.aws_refactorspaces" @@ -91,13 +91,15 @@ "@types/jest": "^26.0.24" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-rekognition/package.json b/packages/@aws-cdk/aws-rekognition/package.json index 6650369bd134d..4228baef49c3f 100644 --- a/packages/@aws-cdk/aws-rekognition/package.json +++ b/packages/@aws-cdk/aws-rekognition/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-rekognition", "module": "aws_cdk.aws_rekognition" @@ -92,14 +92,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -107,6 +107,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-resiliencehub/package.json b/packages/@aws-cdk/aws-resiliencehub/package.json index f7ce0c5e0491f..ea8c87616c0e3 100644 --- a/packages/@aws-cdk/aws-resiliencehub/package.json +++ b/packages/@aws-cdk/aws-resiliencehub/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-resiliencehub", "module": "aws_cdk.aws_resiliencehub" @@ -91,13 +91,15 @@ "@types/jest": "^26.0.24" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-resourcegroups/package.json b/packages/@aws-cdk/aws-resourcegroups/package.json index 392c6f5f956f6..160112f2702f6 100644 --- a/packages/@aws-cdk/aws-resourcegroups/package.json +++ b/packages/@aws-cdk/aws-resourcegroups/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-resourcegroups", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ResourceGroups", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_resourcegroups", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-robomaker/package.json b/packages/@aws-cdk/aws-robomaker/package.json index 10feaa7bd79c2..5aa7d386be665 100644 --- a/packages/@aws-cdk/aws-robomaker/package.json +++ b/packages/@aws-cdk/aws-robomaker/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-robomaker", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::RoboMaker", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_robomaker", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-route53-patterns/lib/website-redirect.ts b/packages/@aws-cdk/aws-route53-patterns/lib/website-redirect.ts index a591c24ad36a3..c5a1b97ef4e74 100644 --- a/packages/@aws-cdk/aws-route53-patterns/lib/website-redirect.ts +++ b/packages/@aws-cdk/aws-route53-patterns/lib/website-redirect.ts @@ -7,10 +7,6 @@ import { BlockPublicAccess, Bucket, RedirectProtocol } from '@aws-cdk/aws-s3'; import { ArnFormat, RemovalPolicy, Stack, Token } from '@aws-cdk/core'; import { Construct } from 'constructs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties to configure an HTTPS Redirect */ @@ -55,7 +51,7 @@ export interface HttpsRedirectProps { * Allows creating a domainA -> domainB redirect using CloudFront and S3. * You can specify multiple domains to be redirected. */ -export class HttpsRedirect extends CoreConstruct { +export class HttpsRedirect extends Construct { constructor(scope: Construct, id: string, props: HttpsRedirectProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-route53-patterns/package.json b/packages/@aws-cdk/aws-route53-patterns/package.json index 073c132c0df40..f6325aa5950f3 100644 --- a/packages/@aws-cdk/aws-route53-patterns/package.json +++ b/packages/@aws-cdk/aws-route53-patterns/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-route53-patterns", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS Route53 patterns", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_route53_patterns", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,7 +90,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -101,10 +102,10 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-route53-targets/lib/cloudfront-target.ts b/packages/@aws-cdk/aws-route53-targets/lib/cloudfront-target.ts index 0d6f57dcf9dd6..ec755114bfc5c 100644 --- a/packages/@aws-cdk/aws-route53-targets/lib/cloudfront-target.ts +++ b/packages/@aws-cdk/aws-route53-targets/lib/cloudfront-target.ts @@ -1,6 +1,7 @@ import * as cloudfront from '@aws-cdk/aws-cloudfront'; import * as route53 from '@aws-cdk/aws-route53'; -import { Aws, CfnMapping, IConstruct, Stack } from '@aws-cdk/core'; +import { Aws, CfnMapping, Stack } from '@aws-cdk/core'; +import { IConstruct } from 'constructs'; /** * Use a CloudFront Distribution as an alias record target diff --git a/packages/@aws-cdk/aws-route53-targets/package.json b/packages/@aws-cdk/aws-route53-targets/package.json index af0735538dc10..97cb75b41f55a 100644 --- a/packages/@aws-cdk/aws-route53-targets/package.json +++ b/packages/@aws-cdk/aws-route53-targets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-route53-targets", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS Route53 Alias Targets", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_route53_targets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -111,10 +112,10 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-route53/lib/record-set.ts b/packages/@aws-cdk/aws-route53/lib/record-set.ts index a10cb05c37e67..c8b45bdfa74bf 100644 --- a/packages/@aws-cdk/aws-route53/lib/record-set.ts +++ b/packages/@aws-cdk/aws-route53/lib/record-set.ts @@ -9,10 +9,6 @@ import { determineFullyQualifiedDomainName } from './util'; const CROSS_ACCOUNT_ZONE_DELEGATION_RESOURCE_TYPE = 'Custom::CrossAccountZoneDelegation'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * A record set */ @@ -671,7 +667,7 @@ export interface CrossAccountZoneDelegationRecordProps { /** * A Cross Account Zone Delegation record */ -export class CrossAccountZoneDelegationRecord extends CoreConstruct { +export class CrossAccountZoneDelegationRecord extends Construct { constructor(scope: Construct, id: string, props: CrossAccountZoneDelegationRecordProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-route53/lib/util.ts b/packages/@aws-cdk/aws-route53/lib/util.ts index d703c77348538..05844a5fd2c6e 100644 --- a/packages/@aws-cdk/aws-route53/lib/util.ts +++ b/packages/@aws-cdk/aws-route53/lib/util.ts @@ -3,7 +3,7 @@ import { IHostedZone } from './hosted-zone-ref'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Validates a zone name is valid by Route53 specifc naming rules, diff --git a/packages/@aws-cdk/aws-route53/lib/vpc-endpoint-service-domain-name.ts b/packages/@aws-cdk/aws-route53/lib/vpc-endpoint-service-domain-name.ts index 862a63e26e6d1..f9998739fa5c7 100644 --- a/packages/@aws-cdk/aws-route53/lib/vpc-endpoint-service-domain-name.ts +++ b/packages/@aws-cdk/aws-route53/lib/vpc-endpoint-service-domain-name.ts @@ -5,10 +5,6 @@ import { AwsCustomResource, AwsCustomResourcePolicy, PhysicalResourceId } from ' import { Construct } from 'constructs'; import { IPublicHostedZone, TxtRecord } from '../lib'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties to configure a VPC Endpoint Service domain name */ @@ -38,7 +34,7 @@ export interface VpcEndpointServiceDomainNameProps { /** * A Private DNS configuration for a VPC endpoint service. */ -export class VpcEndpointServiceDomainName extends CoreConstruct { +export class VpcEndpointServiceDomainName extends Construct { // Track all domain names created, so someone doesn't accidentally associate two domains with a single service private static readonly endpointServices: IVpcEndpointService[] = []; diff --git a/packages/@aws-cdk/aws-route53/package.json b/packages/@aws-cdk/aws-route53/package.json index c01cab505bdd8..72c40c4d73319 100644 --- a/packages/@aws-cdk/aws-route53/package.json +++ b/packages/@aws-cdk/aws-route53/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-route53", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Route53", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_route53", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -96,7 +97,7 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -106,10 +107,10 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-route53recoverycontrol/package.json b/packages/@aws-cdk/aws-route53recoverycontrol/package.json index 930ba88b52603..9ee736339cd34 100644 --- a/packages/@aws-cdk/aws-route53recoverycontrol/package.json +++ b/packages/@aws-cdk/aws-route53recoverycontrol/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-route53recoverycontrol", "module": "aws_cdk.aws_route53recoverycontrol" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-route53recoveryreadiness/package.json b/packages/@aws-cdk/aws-route53recoveryreadiness/package.json index 086629cb18e71..b4462d4bfdb99 100644 --- a/packages/@aws-cdk/aws-route53recoveryreadiness/package.json +++ b/packages/@aws-cdk/aws-route53recoveryreadiness/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-route53recoveryreadiness", "module": "aws_cdk.aws_route53recoveryreadiness" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-route53resolver/package.json b/packages/@aws-cdk/aws-route53resolver/package.json index 6c2a1917e2d50..e871c3d1138cc 100644 --- a/packages/@aws-cdk/aws-route53resolver/package.json +++ b/packages/@aws-cdk/aws-route53resolver/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-route53resolver", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Route53Resolver", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_route53resolver", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,17 +93,17 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/aws-route53resolver/test/firewall-domain-list.test.ts b/packages/@aws-cdk/aws-route53resolver/test/firewall-domain-list.test.ts index 5eaef3352d702..b574403a3fbed 100644 --- a/packages/@aws-cdk/aws-route53resolver/test/firewall-domain-list.test.ts +++ b/packages/@aws-cdk/aws-route53resolver/test/firewall-domain-list.test.ts @@ -62,42 +62,7 @@ test('domain list from asset', () => { // THEN Template.fromStack(stack).hasResourceProperties('AWS::Route53Resolver::FirewallDomainList', { DomainFileUrl: { - 'Fn::Join': [ - '', - [ - 's3://', - { - Ref: 'AssetParameterse820b3f07bf66854be0dfd6f3ec357a10d644f2011069e5ad07d42f4f89ed35aS3BucketD6778673', - }, - '/', - { - 'Fn::Select': [ - 0, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParameterse820b3f07bf66854be0dfd6f3ec357a10d644f2011069e5ad07d42f4f89ed35aS3VersionKey1A69D23D', - }, - ], - }, - ], - }, - { - 'Fn::Select': [ - 1, - { - 'Fn::Split': [ - '||', - { - Ref: 'AssetParameterse820b3f07bf66854be0dfd6f3ec357a10d644f2011069e5ad07d42f4f89ed35aS3VersionKey1A69D23D', - }, - ], - }, - ], - }, - ], - ], + 'Fn::Sub': 's3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e820b3f07bf66854be0dfd6f3ec357a10d644f2011069e5ad07d42f4f89ed35a.txt', }, }); }); diff --git a/packages/@aws-cdk/aws-rum/package.json b/packages/@aws-cdk/aws-rum/package.json index 33e57bbb69051..bbd6a9cd3df84 100644 --- a/packages/@aws-cdk/aws-rum/package.json +++ b/packages/@aws-cdk/aws-rum/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-rum", "module": "aws_cdk.aws_rum" @@ -91,13 +91,15 @@ "@types/jest": "^26.0.24" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-s3-assets/lib/asset.ts b/packages/@aws-cdk/aws-s3-assets/lib/asset.ts index 2f04f4532b36e..47752e7e8c9c5 100644 --- a/packages/@aws-cdk/aws-s3-assets/lib/asset.ts +++ b/packages/@aws-cdk/aws-s3-assets/lib/asset.ts @@ -10,9 +10,6 @@ import { toSymlinkFollow } from './compat'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order import { CopyOptions } from '@aws-cdk/assets'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; export interface AssetOptions extends CopyOptions, cdk.FileCopyOptions, cdk.AssetOptions { /** @@ -57,7 +54,7 @@ export interface AssetProps extends AssetOptions { * An asset represents a local file or directory, which is automatically uploaded to S3 * and then can be referenced within a CDK application. */ -export class Asset extends CoreConstruct implements cdk.IAsset { +export class Asset extends Construct implements cdk.IAsset { /** * Attribute that represents the name of the bucket this asset exists in. */ diff --git a/packages/@aws-cdk/aws-s3-assets/package.json b/packages/@aws-cdk/aws-s3-assets/package.json index 16c826a61f650..136ae990536dc 100644 --- a/packages/@aws-cdk/aws-s3-assets/package.json +++ b/packages/@aws-cdk/aws-s3-assets/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-s3-assets", "version": "0.0.0", + "private": true, "description": "Deploy local files and directories to S3", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_s3_assets", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -91,7 +92,7 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -101,10 +102,10 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-s3-assets/test/asset.test.ts b/packages/@aws-cdk/aws-s3-assets/test/asset.test.ts index 23666d832f7e2..db8f6a2652cd8 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/asset.test.ts +++ b/packages/@aws-cdk/aws-s3-assets/test/asset.test.ts @@ -15,6 +15,7 @@ test('simple use case', () => { const app = new cdk.App({ context: { [cxapi.DISABLE_ASSET_STAGING_CONTEXT]: 'true', + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, }, }); const stack = new cdk.Stack(app, 'MyStack'); @@ -24,7 +25,7 @@ test('simple use case', () => { // verify that metadata contains an "aws:cdk:asset" entry with // the correct information - const entry = stack.node.metadataEntry.find(m => m.type === 'aws:cdk:asset'); + const entry = stack.node.metadata.find(m => m.type === 'aws:cdk:asset'); expect(entry).toBeTruthy(); // verify that now the template contains parameters for this asset @@ -47,7 +48,11 @@ test('simple use case', () => { }); test('verify that the app resolves tokens in metadata', () => { - const app = new cdk.App(); + const app = new cdk.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); const stack = new cdk.Stack(app, 'my-stack'); const dirPath = path.resolve(__dirname, 'sample-asset-directory'); @@ -71,10 +76,15 @@ test('verify that the app resolves tokens in metadata', () => { }); test('"file" assets', () => { - const stack = new cdk.Stack(); + const app = new cdk.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack = new cdk.Stack(app); const filePath = path.join(__dirname, 'file-asset.txt'); new Asset(stack, 'MyAsset', { path: filePath }); - const entry = stack.node.metadataEntry.find(m => m.type === 'aws:cdk:asset'); + const entry = stack.node.metadata.find(m => m.type === 'aws:cdk:asset'); expect(entry).toBeTruthy(); // synthesize first so "prepare" is called @@ -100,7 +110,12 @@ test('"file" assets', () => { }); test('"readers" or "grantRead" can be used to grant read permissions on the asset to a principal', () => { - const stack = new cdk.Stack(); + const app = new cdk.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack = new cdk.Stack(app); const user = new iam.User(stack, 'MyUser'); const group = new iam.Group(stack, 'MyGroup'); @@ -390,7 +405,11 @@ describe('staging', () => { test('cdk metadata points to staged asset', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); const stack = new cdk.Stack(app, 'stack'); new Asset(stack, 'MyAsset', { path: SAMPLE_ASSET_DIR }); diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.bundling.lit.integ.snapshot/cdk-integ-assets-bundling.assets.json b/packages/@aws-cdk/aws-s3-assets/test/assets.bundling.lit.integ.snapshot/cdk-integ-assets-bundling.assets.json new file mode 100644 index 0000000000000..613c85f172e69 --- /dev/null +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.bundling.lit.integ.snapshot/cdk-integ-assets-bundling.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "96eb17ab9d98dd42b972aa0dd468f59024f21aba33c7d792b8ebe7a8d378e2b6": { + "source": { + "path": "/home/hallcor/work/aws-cdk-fork/packages/@aws-cdk/aws-s3-assets/test/markdown-asset", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "96eb17ab9d98dd42b972aa0dd468f59024f21aba33c7d792b8ebe7a8d378e2b6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8fe497341174beb415a7337098a32761ccc230d24ea4d21af6fb7ba9d7dcda22": { + "source": { + "path": "cdk-integ-assets-bundling.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8fe497341174beb415a7337098a32761ccc230d24ea4d21af6fb7ba9d7dcda22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.bundling.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-assets/test/assets.bundling.lit.integ.snapshot/tree.json index a0246f32f49e9..b58b29d0ee7be 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/assets.bundling.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.bundling.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-integ-assets-bundling": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyUser": { diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.directory.lit.integ.snapshot/aws-cdk-asset-test.assets.json b/packages/@aws-cdk/aws-s3-assets/test/assets.directory.lit.integ.snapshot/aws-cdk-asset-test.assets.json new file mode 100644 index 0000000000000..565ee0a3ddfc1 --- /dev/null +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.directory.lit.integ.snapshot/aws-cdk-asset-test.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2": { + "source": { + "path": "asset.6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8fe497341174beb415a7337098a32761ccc230d24ea4d21af6fb7ba9d7dcda22": { + "source": { + "path": "aws-cdk-asset-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8fe497341174beb415a7337098a32761ccc230d24ea4d21af6fb7ba9d7dcda22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.directory.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-assets/test/assets.directory.lit.integ.snapshot/tree.json index 1bde2aedba860..b4c6868a1b1a6 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/assets.directory.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.directory.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-asset-test": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyUser": { diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.file.lit.integ.snapshot/aws-cdk-asset-file-test.assets.json b/packages/@aws-cdk/aws-s3-assets/test/assets.file.lit.integ.snapshot/aws-cdk-asset-file-test.assets.json new file mode 100644 index 0000000000000..2e0e9c59a0ab0 --- /dev/null +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.file.lit.integ.snapshot/aws-cdk-asset-file-test.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "78add9eaf468dfa2191da44a7da92a21baba4c686cf6053d772556768ef21197": { + "source": { + "path": "asset.78add9eaf468dfa2191da44a7da92a21baba4c686cf6053d772556768ef21197.txt", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "78add9eaf468dfa2191da44a7da92a21baba4c686cf6053d772556768ef21197.txt", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8fe497341174beb415a7337098a32761ccc230d24ea4d21af6fb7ba9d7dcda22": { + "source": { + "path": "aws-cdk-asset-file-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8fe497341174beb415a7337098a32761ccc230d24ea4d21af6fb7ba9d7dcda22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.file.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-assets/test/assets.file.lit.integ.snapshot/tree.json index f326315b77f4f..c7842df1ca691 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/assets.file.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.file.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-asset-file-test": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyUser": { diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.permissions.lit.integ.snapshot/aws-cdk-asset-refs.assets.json b/packages/@aws-cdk/aws-s3-assets/test/assets.permissions.lit.integ.snapshot/aws-cdk-asset-refs.assets.json new file mode 100644 index 0000000000000..8fa652dc5d8be --- /dev/null +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.permissions.lit.integ.snapshot/aws-cdk-asset-refs.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "78add9eaf468dfa2191da44a7da92a21baba4c686cf6053d772556768ef21197": { + "source": { + "path": "asset.78add9eaf468dfa2191da44a7da92a21baba4c686cf6053d772556768ef21197.txt", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "78add9eaf468dfa2191da44a7da92a21baba4c686cf6053d772556768ef21197.txt", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "6d0fe4008e68ab28e140092dcb1123d6e3f82121c27ebcb36d27b7b5d8a1405e": { + "source": { + "path": "aws-cdk-asset-refs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "6d0fe4008e68ab28e140092dcb1123d6e3f82121c27ebcb36d27b7b5d8a1405e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.permissions.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-assets/test/assets.permissions.lit.integ.snapshot/tree.json index 00cb8c12535b4..5a26804f6ab53 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/assets.permissions.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.permissions.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-asset-refs": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyUserGroup": { diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.refs.lit.integ.snapshot/aws-cdk-asset-refs.assets.json b/packages/@aws-cdk/aws-s3-assets/test/assets.refs.lit.integ.snapshot/aws-cdk-asset-refs.assets.json new file mode 100644 index 0000000000000..11f9afb6ea0c6 --- /dev/null +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.refs.lit.integ.snapshot/aws-cdk-asset-refs.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2": { + "source": { + "path": "asset.6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "59196d44db3dd7b632aee8177402f5688361d4e3d79a1156e43279d53ec9a6c0": { + "source": { + "path": "aws-cdk-asset-refs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "59196d44db3dd7b632aee8177402f5688361d4e3d79a1156e43279d53ec9a6c0.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-assets/test/assets.refs.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-assets/test/assets.refs.lit.integ.snapshot/tree.json index a7c1c16b6a8d3..9173416d880f8 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/assets.refs.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-assets/test/assets.refs.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-asset-refs": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "S3BucketName": { diff --git a/packages/@aws-cdk/aws-s3-deployment/lib/bucket-deployment.ts b/packages/@aws-cdk/aws-s3-deployment/lib/bucket-deployment.ts index 4919bcec1d81e..7fc50409b3144 100644 --- a/packages/@aws-cdk/aws-s3-deployment/lib/bucket-deployment.ts +++ b/packages/@aws-cdk/aws-s3-deployment/lib/bucket-deployment.ts @@ -12,12 +12,9 @@ import { kebab as toKebabCase } from 'case'; import { Construct } from 'constructs'; import { ISource, SourceConfig } from './source'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - // tag key has a limit of 128 characters const CUSTOM_RESOURCE_OWNER_TAG = 'aws-cdk:cr-owned'; + /** * Properties for `BucketDeployment`. */ @@ -245,7 +242,7 @@ export interface BucketDeploymentProps { * `BucketDeployment` populates an S3 bucket with the contents of .zip files from * other S3 buckets or from local disk */ -export class BucketDeployment extends CoreConstruct { +export class BucketDeployment extends Construct { private readonly cr: cdk.CustomResource; private _deployedBucket?: s3.IBucket; private requestDestinationArn: boolean = false; diff --git a/packages/@aws-cdk/aws-s3-deployment/lib/render-data.ts b/packages/@aws-cdk/aws-s3-deployment/lib/render-data.ts index fa73c55dc2fba..b413a5bdf8183 100644 --- a/packages/@aws-cdk/aws-s3-deployment/lib/render-data.ts +++ b/packages/@aws-cdk/aws-s3-deployment/lib/render-data.ts @@ -2,7 +2,7 @@ import { Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface Content { readonly text: string; diff --git a/packages/@aws-cdk/aws-s3-deployment/lib/source.ts b/packages/@aws-cdk/aws-s3-deployment/lib/source.ts index 0a02dd4503b01..12952e1673f46 100644 --- a/packages/@aws-cdk/aws-s3-deployment/lib/source.ts +++ b/packages/@aws-cdk/aws-s3-deployment/lib/source.ts @@ -8,7 +8,7 @@ import { renderData } from './render-data'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Source information. diff --git a/packages/@aws-cdk/aws-s3-deployment/package.json b/packages/@aws-cdk/aws-s3-deployment/package.json index 93459bea2597b..4d4a6576fc15f 100644 --- a/packages/@aws-cdk/aws-s3-deployment/package.json +++ b/packages/@aws-cdk/aws-s3-deployment/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-s3-deployment", "version": "0.0.0", + "private": true, "description": "Constructs for deploying contents to S3 buckets", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_s3_deployment", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -105,7 +106,7 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/lambda-layer-awscli": "0.0.0", "case": "1.6.3", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -119,13 +120,13 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/lambda-layer-awscli": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "bundledDependencies": [ "case" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -142,6 +143,6 @@ ] }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-cloudfront.integ.snapshot/test-bucket-deployments-1.assets.json b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-cloudfront.integ.snapshot/test-bucket-deployments-1.assets.json new file mode 100644 index 0000000000000..cea6e6c783143 --- /dev/null +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-cloudfront.integ.snapshot/test-bucket-deployments-1.assets.json @@ -0,0 +1,71 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { + "source": { + "path": "asset.f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e": { + "source": { + "path": "asset.fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "39a0b3ad336e3252b0c27b4a31a6e35e09d6de50d368545a5b8ec4abf560b90c": { + "source": { + "path": "test-bucket-deployments-1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "39a0b3ad336e3252b0c27b4a31a6e35e09d6de50d368545a5b8ec4abf560b90c.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-cloudfront.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-cloudfront.integ.snapshot/tree.json index 19530e168bb9d..10b4184a4dbc1 100644 --- a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-cloudfront.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-cloudfront.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-bucket-deployments-1": { @@ -204,8 +204,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { @@ -238,8 +238,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { @@ -272,8 +272,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e": { @@ -306,14 +306,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Distribution": { diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-data.integ.snapshot/TestBucketDeploymentContent.assets.json b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-data.integ.snapshot/TestBucketDeploymentContent.assets.json new file mode 100644 index 0000000000000..0a331d73a886e --- /dev/null +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-data.integ.snapshot/TestBucketDeploymentContent.assets.json @@ -0,0 +1,84 @@ +{ + "version": "17.0.0", + "files": { + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { + "source": { + "path": "asset.f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "d09271be89b6cb0398f793b40c1531fd9b076aa92ba80b5e436914b1808fe18d": { + "source": { + "path": "asset.d09271be89b6cb0398f793b40c1531fd9b076aa92ba80b5e436914b1808fe18d", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d09271be89b6cb0398f793b40c1531fd9b076aa92ba80b5e436914b1808fe18d.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "0f14dedeaf4386031c978375cbda0f65d7b52b29452cabb8873eb8f0d0fa936b": { + "source": { + "path": "asset.0f14dedeaf4386031c978375cbda0f65d7b52b29452cabb8873eb8f0d0fa936b", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0f14dedeaf4386031c978375cbda0f65d7b52b29452cabb8873eb8f0d0fa936b.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "0d7be86c2a7d62be64fcbe2cbaa36c912a72d445022cc17c37af4f99f1b97a5a": { + "source": { + "path": "asset.0d7be86c2a7d62be64fcbe2cbaa36c912a72d445022cc17c37af4f99f1b97a5a", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0d7be86c2a7d62be64fcbe2cbaa36c912a72d445022cc17c37af4f99f1b97a5a.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "a2502ee64d52a7e96ba5c899754aa37ed7c1254348a03fe90a51e6b9175b2300": { + "source": { + "path": "TestBucketDeploymentContent.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a2502ee64d52a7e96ba5c899754aa37ed7c1254348a03fe90a51e6b9175b2300.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-data.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-data.integ.snapshot/tree.json index 07ed41491d85f..e6dd6e531dbbd 100644 --- a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-data.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment-data.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "TestBucketDeploymentContent": { @@ -281,8 +281,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { @@ -315,8 +315,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "d09271be89b6cb0398f793b40c1531fd9b076aa92ba80b5e436914b1808fe18d": { @@ -349,8 +349,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "0f14dedeaf4386031c978375cbda0f65d7b52b29452cabb8873eb8f0d0fa936b": { @@ -383,8 +383,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "0d7be86c2a7d62be64fcbe2cbaa36c912a72d445022cc17c37af4f99f1b97a5a": { @@ -417,14 +417,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Custom::CDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C": { diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/manifest.json index 0bffbc6deaeb3..6ee81885a425c 100644 --- a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/manifest.json @@ -350,7 +350,10 @@ "/test-bucket-deployments-2/BucketDeploymentEFS-VPC-c8e45d2d82aec23f89c7172e7e6f994ff3d9c444fa/Resource": [ { "type": "aws:cdk:logicalId", - "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faDE9EC34B" + "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faDE9EC34B", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/test-bucket-deployments-2/BucketDeploymentEFS-VPC-c8e45d2d82aec23f89c7172e7e6f994ff3d9c444fa/EfsSecurityGroup/Resource": [ @@ -368,19 +371,28 @@ "/test-bucket-deployments-2/BucketDeploymentEFS-VPC-c8e45d2d82aec23f89c7172e7e6f994ff3d9c444fa/EfsMountTarget1": [ { "type": "aws:cdk:logicalId", - "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faEfsMountTarget140913EA1" + "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faEfsMountTarget140913EA1", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/test-bucket-deployments-2/BucketDeploymentEFS-VPC-c8e45d2d82aec23f89c7172e7e6f994ff3d9c444fa/EfsMountTarget2": [ { "type": "aws:cdk:logicalId", - "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faEfsMountTarget215F1A11A" + "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faEfsMountTarget215F1A11A", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/test-bucket-deployments-2/BucketDeploymentEFS-VPC-c8e45d2d82aec23f89c7172e7e6f994ff3d9c444fa/AccessPoint/Resource": [ { "type": "aws:cdk:logicalId", - "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faAccessPoint657AFA25" + "data": "BucketDeploymentEFSVPCc8e45d2d82aec23f89c7172e7e6f994ff3d9c444faAccessPoint657AFA25", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/test-bucket-deployments-2/Custom::CDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756Cc8e45d2d82aec23f89c7172e7e6f994ff3d9c444fa/ServiceRole/Resource": [ diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/test-bucket-deployments-2.assets.json b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/test-bucket-deployments-2.assets.json new file mode 100644 index 0000000000000..de4d05914f4cb --- /dev/null +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/test-bucket-deployments-2.assets.json @@ -0,0 +1,71 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { + "source": { + "path": "asset.f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e": { + "source": { + "path": "asset.fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f6506bf1bfd1e40d9a60935c1dbe4a74a017e7e403997c180c2e21e64216b781": { + "source": { + "path": "test-bucket-deployments-2.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f6506bf1bfd1e40d9a60935c1dbe4a74a017e7e403997c180c2e21e64216b781.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/tree.json index 5059cdfc81e2a..596e9c91ff960 100644 --- a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-bucket-deployments-2": { @@ -219,8 +219,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { @@ -253,8 +253,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "f98b78092dcdd31f5e6d47489beb5f804d4835ef86a8085d0a2053cb9ae711da": { @@ -287,8 +287,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "fc4481abf279255619ff7418faa5d24456fef3432ea0da59c95542578ff0222e": { @@ -321,14 +321,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DeployMe": { diff --git a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.test.ts b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.test.ts index fb4078ab452e4..c2b3873dd35e7 100644 --- a/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.test.ts +++ b/packages/@aws-cdk/aws-s3-deployment/test/bucket-deployment.test.ts @@ -1,4 +1,4 @@ -import { readFileSync } from 'fs'; +import { readdirSync, readFileSync, existsSync } from 'fs'; import * as path from 'path'; import { Match, Template } from '@aws-cdk/assertions'; import * as cloudfront from '@aws-cdk/aws-cloudfront'; @@ -17,7 +17,8 @@ const s3GrantWriteCtx = { [cxapi.S3_GRANT_WRITE_WITHOUT_ACL]: true }; test('deploy from local directory asset', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const bucket = new s3.Bucket(stack, 'Dest'); // WHEN @@ -94,7 +95,8 @@ test('deploy with configured log retention', () => { test('deploy from local directory assets', () => { // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const bucket = new s3.Bucket(stack, 'Dest'); // WHEN @@ -303,7 +305,8 @@ testDeprecated('honors passed asset options', () => { // When the deprecated property is removed from source, this block can be dropped. // GIVEN - const stack = new cdk.Stack(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new cdk.Stack(app); const bucket = new s3.Bucket(stack, 'Dest'); // WHEN @@ -1234,7 +1237,7 @@ test('Source.data() can be used to create a file with string contents', () => { }); const result = app.synth(); - const content = readDataFile(result, 'c5b1c01fc092abf1da35f6772e7c507e566aaa69404025c080ba074c69741755', 'my/path.txt'); + const content = readDataFile(result, 'my/path.txt'); expect(content).toStrictEqual('hello, world'); }); @@ -1256,7 +1259,7 @@ test('Source.jsonData() can be used to create a file with a JSON object', () => }); const result = app.synth(); - const obj = JSON.parse(readDataFile(result, '6a9e1763f42401799363d87d16b238c89bf75a56f2a3f67498a3224573062b0c', 'app-config.json')); + const obj = JSON.parse(readDataFile(result, 'app-config.json')); expect(obj).toStrictEqual({ foo: 'bar', sub: { @@ -1273,8 +1276,14 @@ test('Source.jsonData() can be used to create a file with a JSON object', () => }); -function readDataFile(casm: cxapi.CloudAssembly, assetId: string, filePath: string): string { - const asset = casm.stacks[0].assets.find(a => a.id === assetId); - if (!asset) { throw new Error('Asset not found'); } - return readFileSync(path.join(casm.directory, asset.path, filePath), 'utf-8'); +function readDataFile(casm: cxapi.CloudAssembly, relativePath: string): string { + const assetDirs = readdirSync(casm.directory).filter(f => f.startsWith('asset.')); + for (const dir of assetDirs) { + const candidate = path.join(casm.directory, dir, relativePath); + if (existsSync(candidate)) { + return readFileSync(candidate, 'utf8'); + } + } + + throw new Error(`File ${relativePath} not found in any of the assets of the assembly`); } diff --git a/packages/@aws-cdk/aws-s3-notifications/lib/lambda.ts b/packages/@aws-cdk/aws-s3-notifications/lib/lambda.ts index 183512a996e26..d74b48483d0ed 100644 --- a/packages/@aws-cdk/aws-s3-notifications/lib/lambda.ts +++ b/packages/@aws-cdk/aws-s3-notifications/lib/lambda.ts @@ -5,7 +5,7 @@ import { CfnResource, Names, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use a Lambda function as a bucket notification destination @@ -17,7 +17,7 @@ export class LambdaDestination implements s3.IBucketNotificationDestination { public bind(_scope: Construct, bucket: s3.IBucket): s3.BucketNotificationDestinationConfig { const permissionId = `AllowBucketNotificationsTo${Names.nodeUniqueId(this.fn.permissionsNode)}`; - if (!Construct.isConstruct(bucket)) { + if (!(bucket instanceof Construct)) { throw new Error(`LambdaDestination for function ${Names.nodeUniqueId(this.fn.permissionsNode)} can only be configured on a bucket construct (Bucket ${bucket.bucketName})`); } diff --git a/packages/@aws-cdk/aws-s3-notifications/lib/sns.ts b/packages/@aws-cdk/aws-s3-notifications/lib/sns.ts index 955d3c4eb2c54..38a83e6e2f445 100644 --- a/packages/@aws-cdk/aws-s3-notifications/lib/sns.ts +++ b/packages/@aws-cdk/aws-s3-notifications/lib/sns.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as s3 from '@aws-cdk/aws-s3'; import * as sns from '@aws-cdk/aws-sns'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use an SNS topic as a bucket notification destination diff --git a/packages/@aws-cdk/aws-s3-notifications/lib/sqs.ts b/packages/@aws-cdk/aws-s3-notifications/lib/sqs.ts index 5562a07c5182a..442c1f6c1331d 100644 --- a/packages/@aws-cdk/aws-s3-notifications/lib/sqs.ts +++ b/packages/@aws-cdk/aws-s3-notifications/lib/sqs.ts @@ -2,10 +2,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as s3 from '@aws-cdk/aws-s3'; import * as sqs from '@aws-cdk/aws-sqs'; import { Annotations } from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Use an SQS queue as a bucket notification destination diff --git a/packages/@aws-cdk/aws-s3-notifications/package.json b/packages/@aws-cdk/aws-s3-notifications/package.json index bab72d7bb01ca..a3dadef8c861c 100644 --- a/packages/@aws-cdk/aws-s3-notifications/package.json +++ b/packages/@aws-cdk/aws-s3-notifications/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-s3-notifications", "version": "0.0.0", + "private": true, "description": "Bucket Notifications API for AWS S3", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_s3_notifications", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -86,7 +87,7 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -97,10 +98,10 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-s3-notifications/test/notifications.integ.snapshot/test-3.assets.json b/packages/@aws-cdk/aws-s3-notifications/test/notifications.integ.snapshot/test-3.assets.json new file mode 100644 index 0000000000000..e9c27c583ea9e --- /dev/null +++ b/packages/@aws-cdk/aws-s3-notifications/test/notifications.integ.snapshot/test-3.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "2075b1d4bcd32a3c8f4a05568e1e22b2230b7ae552e163be54916917e0a0f97a": { + "source": { + "path": "test-3.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2075b1d4bcd32a3c8f4a05568e1e22b2230b7ae552e163be54916917e0a0f97a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-notifications/test/notifications.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-notifications/test/notifications.integ.snapshot/tree.json index 43697b3564b78..766c9f4601374 100644 --- a/packages/@aws-cdk/aws-s3-notifications/test/notifications.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-notifications/test/notifications.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "test-3": { @@ -46,8 +46,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -364,8 +364,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Bucket2": { @@ -398,8 +398,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -448,8 +448,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-s3-notifications/test/sqs/bucket-notifications.integ.snapshot/sqs-bucket-notifications.assets.json b/packages/@aws-cdk/aws-s3-notifications/test/sqs/bucket-notifications.integ.snapshot/sqs-bucket-notifications.assets.json new file mode 100644 index 0000000000000..dc50602d8b08f --- /dev/null +++ b/packages/@aws-cdk/aws-s3-notifications/test/sqs/bucket-notifications.integ.snapshot/sqs-bucket-notifications.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "71e1fb20c0d3dc8f969e2ee5085e3b82785cef0b0b8c58d9d787726b6e4c0c42": { + "source": { + "path": "sqs-bucket-notifications.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "71e1fb20c0d3dc8f969e2ee5085e3b82785cef0b0b8c58d9d787726b6e4c0c42.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3-notifications/test/sqs/bucket-notifications.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3-notifications/test/sqs/bucket-notifications.integ.snapshot/tree.json index 528c8cf9c9015..75540f7d2ec9c 100644 --- a/packages/@aws-cdk/aws-s3-notifications/test/sqs/bucket-notifications.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3-notifications/test/sqs/bucket-notifications.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "sqs-bucket-notifications": { @@ -46,8 +46,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -267,8 +267,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Bucket2": { @@ -301,8 +301,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-s3/lib/bucket.ts b/packages/@aws-cdk/aws-s3/lib/bucket.ts index d2be56356ae7f..0e03a9731294c 100644 --- a/packages/@aws-cdk/aws-s3/lib/bucket.ts +++ b/packages/@aws-cdk/aws-s3/lib/bucket.ts @@ -497,6 +497,8 @@ export abstract class BucketBase extends Resource implements IBucket { constructor(scope: Construct, id: string, props: ResourceProps = {}) { super(scope, id, props); + + this.node.addValidation({ validate: () => this.policy?.document.validateForResourcePolicy() ?? [] }); } /** @@ -613,12 +615,6 @@ export abstract class BucketBase extends Resource implements IBucket { return { statementAdded: false }; } - protected validate(): string[] { - const errors = super.validate(); - errors.push(...this.policy?.document.validateForResourcePolicy() || []); - return errors; - } - /** * The https URL of an S3 object. Specify `regional: false` at the options * for non-regional URLs. For example: diff --git a/packages/@aws-cdk/aws-s3/lib/destination.ts b/packages/@aws-cdk/aws-s3/lib/destination.ts index 021aa80a803c4..e515d742880e5 100644 --- a/packages/@aws-cdk/aws-s3/lib/destination.ts +++ b/packages/@aws-cdk/aws-s3/lib/destination.ts @@ -1,10 +1,6 @@ -import * as cdk from '@aws-cdk/core'; +import { Construct, IDependable } from 'constructs'; import { IBucket } from './bucket'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Implemented by constructs that can be used as bucket notification destinations. */ @@ -37,7 +33,7 @@ export interface BucketNotificationDestinationConfig { * Any additional dependencies that should be resolved before the bucket notification * can be configured (for example, the SNS Topic Policy resource). */ - readonly dependencies?: cdk.IDependable[] + readonly dependencies?: IDependable[] } /** diff --git a/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource-handler.ts b/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource-handler.ts index a6ea51209bc83..cb213d51e247e 100644 --- a/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource-handler.ts +++ b/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource-handler.ts @@ -2,10 +2,7 @@ import * as fs from 'fs'; import * as path from 'path'; import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export class NotificationsResourceHandlerProps { role?: iam.IRole; diff --git a/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource.ts b/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource.ts index 6b1b240b776a0..3bfc5ed516503 100644 --- a/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource.ts +++ b/packages/@aws-cdk/aws-s3/lib/notifications-resource/notifications-resource.ts @@ -1,13 +1,10 @@ import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; -import { IBucket, EventType, NotificationKeyFilter, Bucket } from '../bucket'; +import { Construct } from 'constructs'; +import { Bucket, IBucket, EventType, NotificationKeyFilter } from '../bucket'; import { BucketNotificationDestinationType, IBucketNotificationDestination } from '../destination'; import { NotificationsResourceHandler } from './notifications-resource-handler'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - interface NotificationsProps { /** * The bucket to manage notifications for. diff --git a/packages/@aws-cdk/aws-s3/package.json b/packages/@aws-cdk/aws-s3/package.json index 0c00ff4887586..3730906af1061 100644 --- a/packages/@aws-cdk/aws-s3/package.json +++ b/packages/@aws-cdk/aws-s3/package.json @@ -4,6 +4,7 @@ "description": "The CDK Construct Library for AWS::S3", "main": "lib/index.js", "types": "lib/index.d.ts", + "private": true, "jsii": { "outdir": "dist", "targets": { @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_s3", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -94,7 +95,7 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -103,10 +104,10 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-s3/test/bucket-auto-delete-objects.integ.snapshot/cdk-s3-bucket-auto-delete-objects.assets.json b/packages/@aws-cdk/aws-s3/test/bucket-auto-delete-objects.integ.snapshot/cdk-s3-bucket-auto-delete-objects.assets.json new file mode 100644 index 0000000000000..ae01d1327275c --- /dev/null +++ b/packages/@aws-cdk/aws-s3/test/bucket-auto-delete-objects.integ.snapshot/cdk-s3-bucket-auto-delete-objects.assets.json @@ -0,0 +1,45 @@ +{ + "version": "17.0.0", + "files": { + "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824": { + "source": { + "path": "asset.be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "be270bbdebe0851c887569796e3997437cca54ce86893ed94788500448e92824.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "31552cb1c5c4cdb0d9502dc59c3cd63cb519dcb7e320e60965c75940297ae3b6": { + "source": { + "path": "asset.31552cb1c5c4cdb0d9502dc59c3cd63cb519dcb7e320e60965c75940297ae3b6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "31552cb1c5c4cdb0d9502dc59c3cd63cb519dcb7e320e60965c75940297ae3b6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "ea3fb1bcf95dd44314512bb4a483729ff5cbc711c20f5225b6227523b9aaf281": { + "source": { + "path": "cdk-s3-bucket-auto-delete-objects.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ea3fb1bcf95dd44314512bb4a483729ff5cbc711c20f5225b6227523b9aaf281.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3/test/bucket-auto-delete-objects.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3/test/bucket-auto-delete-objects.integ.snapshot/tree.json index ecd639b6f2377..78cf2060ab1f7 100644 --- a/packages/@aws-cdk/aws-s3/test/bucket-auto-delete-objects.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3/test/bucket-auto-delete-objects.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-s3-bucket-auto-delete-objects": { @@ -200,8 +200,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "31552cb1c5c4cdb0d9502dc59c3cd63cb519dcb7e320e60965c75940297ae3b6": { @@ -234,14 +234,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Custom::S3PutObjectsCustomResourceProvider": { diff --git a/packages/@aws-cdk/aws-s3/test/bucket-grantdelete-kms.integ.snapshot/aws-cdk-s3.assets.json b/packages/@aws-cdk/aws-s3/test/bucket-grantdelete-kms.integ.snapshot/aws-cdk-s3.assets.json new file mode 100644 index 0000000000000..2917ca2075ab0 --- /dev/null +++ b/packages/@aws-cdk/aws-s3/test/bucket-grantdelete-kms.integ.snapshot/aws-cdk-s3.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d58564e550578b842d263813989612c57f0be57bbe638c5d041fa759b57db7c1": { + "source": { + "path": "aws-cdk-s3.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d58564e550578b842d263813989612c57f0be57bbe638c5d041fa759b57db7c1.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3/test/bucket-grantdelete-kms.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3/test/bucket-grantdelete-kms.integ.snapshot/tree.json index 6276cc0d189c4..70e47e961cabe 100644 --- a/packages/@aws-cdk/aws-s3/test/bucket-grantdelete-kms.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3/test/bucket-grantdelete-kms.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-s3": { diff --git a/packages/@aws-cdk/aws-s3/test/bucket-sharing.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3/test/bucket-sharing.lit.integ.snapshot/tree.json index 64fe6baaf708e..a7ee9710bdd05 100644 --- a/packages/@aws-cdk/aws-s3/test/bucket-sharing.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3/test/bucket-sharing.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "ProducerStack": { @@ -52,8 +52,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-s3/test/bucket.integ.snapshot/aws-cdk-s3.assets.json b/packages/@aws-cdk/aws-s3/test/bucket.integ.snapshot/aws-cdk-s3.assets.json new file mode 100644 index 0000000000000..da40f7002c7db --- /dev/null +++ b/packages/@aws-cdk/aws-s3/test/bucket.integ.snapshot/aws-cdk-s3.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "44d214990ef89f24fe7d009f2344d99a3f63dc725d06c4af4aa27ff763b8fd3e": { + "source": { + "path": "aws-cdk-s3.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "44d214990ef89f24fe7d009f2344d99a3f63dc725d06c4af4aa27ff763b8fd3e.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-s3/test/bucket.integ.snapshot/tree.json b/packages/@aws-cdk/aws-s3/test/bucket.integ.snapshot/tree.json index da5925ddd4314..c7c31c6d419c7 100644 --- a/packages/@aws-cdk/aws-s3/test/bucket.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-s3/test/bucket.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-s3": { diff --git a/packages/@aws-cdk/aws-s3objectlambda/package.json b/packages/@aws-cdk/aws-s3objectlambda/package.json index 3167878496efd..cf33e83c158ce 100644 --- a/packages/@aws-cdk/aws-s3objectlambda/package.json +++ b/packages/@aws-cdk/aws-s3objectlambda/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-s3objectlambda", "module": "aws_cdk.aws_s3objectlambda" @@ -96,17 +96,17 @@ "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -114,11 +114,12 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" }, "awslint": { "exclude": [ "attribute-tag:@aws-cdk/aws-s3objectlambda.AccessPoint.accessPointName" ] - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-s3outposts/package.json b/packages/@aws-cdk/aws-s3outposts/package.json index f47ead3e05106..335552eec2f53 100644 --- a/packages/@aws-cdk/aws-s3outposts/package.json +++ b/packages/@aws-cdk/aws-s3outposts/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-s3outposts", "module": "aws_cdk.aws_s3outposts" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-sagemaker/package.json b/packages/@aws-cdk/aws-sagemaker/package.json index f04a46bb8cfe4..f3155e48a79a8 100644 --- a/packages/@aws-cdk/aws-sagemaker/package.json +++ b/packages/@aws-cdk/aws-sagemaker/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-sagemaker", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SageMaker", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_sagemaker", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-sam/package.json b/packages/@aws-cdk/aws-sam/package.json index 71a995bcf248f..5f24d2e580098 100644 --- a/packages/@aws-cdk/aws-sam/package.json +++ b/packages/@aws-cdk/aws-sam/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-sam", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for the AWS Serverless Application Model (SAM) resources", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_sam", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -90,14 +91,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-sdb/package.json b/packages/@aws-cdk/aws-sdb/package.json index b7022aa0ecde5..3b939d1735857 100644 --- a/packages/@aws-cdk/aws-sdb/package.json +++ b/packages/@aws-cdk/aws-sdb/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-sdb", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SDB", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_sdb", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-secretsmanager/lib/secret-rotation.ts b/packages/@aws-cdk/aws-secretsmanager/lib/secret-rotation.ts index 370641de3c548..5c421cf04c5c8 100644 --- a/packages/@aws-cdk/aws-secretsmanager/lib/secret-rotation.ts +++ b/packages/@aws-cdk/aws-secretsmanager/lib/secret-rotation.ts @@ -5,10 +5,6 @@ import { Duration, Names, Stack, Token, CfnMapping, Aws } from '@aws-cdk/core'; import { Construct } from 'constructs'; import { ISecret } from './secret'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Options for a SecretRotationApplication */ @@ -266,7 +262,7 @@ export interface SecretRotationProps { /** * Secret rotation for a service or database */ -export class SecretRotation extends CoreConstruct { +export class SecretRotation extends Construct { constructor(scope: Construct, id: string, props: SecretRotationProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-secretsmanager/lib/secret.ts b/packages/@aws-cdk/aws-secretsmanager/lib/secret.ts index 121a9e466f91a..7a153b08fd724 100644 --- a/packages/@aws-cdk/aws-secretsmanager/lib/secret.ts +++ b/packages/@aws-cdk/aws-secretsmanager/lib/secret.ts @@ -1,6 +1,6 @@ import * as iam from '@aws-cdk/aws-iam'; import * as kms from '@aws-cdk/aws-kms'; -import { ArnFormat, FeatureFlags, Fn, IResource, Lazy, RemovalPolicy, Resource, SecretValue, Stack, Token, TokenComparison } from '@aws-cdk/core'; +import { ArnFormat, FeatureFlags, Fn, IResource, Lazy, RemovalPolicy, Resource, ResourceProps, SecretValue, Stack, Token, TokenComparison } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { IConstruct, Construct } from 'constructs'; import { ResourcePolicy } from './policy'; @@ -310,6 +310,12 @@ abstract class SecretBase extends Resource implements ISecret { private policy?: ResourcePolicy; + constructor(scope: Construct, id: string, props: ResourceProps = {}) { + super(scope, id, props); + + this.node.addValidation({ validate: () => this.policy?.document.validateForResourcePolicy() ?? [] }); + } + public get secretFullArn(): string | undefined { return this.secretArn; } public grantRead(grantee: iam.IGrantable, versionStages?: string[]): iam.Grant { @@ -397,12 +403,6 @@ abstract class SecretBase extends Resource implements ISecret { return { statementAdded: false }; } - protected validate(): string[] { - const errors = super.validate(); - errors.push(...this.policy?.document.validateForResourcePolicy() || []); - return errors; - } - public denyAccountRootDelete() { this.addToResourcePolicy(new iam.PolicyStatement({ actions: ['secretsmanager:DeleteSecret'], @@ -659,6 +659,11 @@ export interface ISecretAttachmentTarget { * The type of service or database that's being associated with the secret. */ export enum AttachmentTargetType { + /** + * AWS::RDS::DBInstance + */ + RDS_DB_INSTANCE = 'AWS::RDS::DBInstance', + /** * A database instance * @@ -666,6 +671,11 @@ export enum AttachmentTargetType { */ INSTANCE = 'AWS::RDS::DBInstance', + /** + * AWS::RDS::DBCluster + */ + RDS_DB_CLUSTER = 'AWS::RDS::DBCluster', + /** * A database cluster * @@ -673,16 +683,6 @@ export enum AttachmentTargetType { */ CLUSTER = 'AWS::RDS::DBCluster', - /** - * AWS::RDS::DBInstance - */ - RDS_DB_INSTANCE = 'AWS::RDS::DBInstance', - - /** - * AWS::RDS::DBCluster - */ - RDS_DB_CLUSTER = 'AWS::RDS::DBCluster', - /** * AWS::RDS::DBProxy */ diff --git a/packages/@aws-cdk/aws-secretsmanager/package.json b/packages/@aws-cdk/aws-secretsmanager/package.json index 43a297e4c1bf3..aa139b0ce1abc 100644 --- a/packages/@aws-cdk/aws-secretsmanager/package.json +++ b/packages/@aws-cdk/aws-secretsmanager/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-secretsmanager", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SecretsManager", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_secretsmanager", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,7 @@ "@aws-cdk/aws-sam": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-ec2": "0.0.0", @@ -105,10 +106,10 @@ "@aws-cdk/aws-sam": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-secretsmanager/test/integ.secret-name-parsed.ts b/packages/@aws-cdk/aws-secretsmanager/test/integ.secret-name-parsed.ts index e1cb05390d5a5..69894e994fc5f 100644 --- a/packages/@aws-cdk/aws-secretsmanager/test/integ.secret-name-parsed.ts +++ b/packages/@aws-cdk/aws-secretsmanager/test/integ.secret-name-parsed.ts @@ -2,8 +2,6 @@ import * as path from 'path'; import * as cdk from '@aws-cdk/core'; import * as secretsmanager from '../lib'; -/// !cdk-integ Integ-SecretsManager-ParsedSecretName pragma:set-context:@aws-cdk/aws-secretsmanager:parseOwnedSecretName=true - /** * Creates several secrets, with varying names and IDs, with the parseOwnedSecretName feature flag set, * to verify the secretName returned by `Secret.secretName` matches the `Name` returned by `DescribeSecrets`. @@ -40,10 +38,6 @@ class SecretsManagerStack extends cdk.Stack { } } -const app = new cdk.App({ - context: { - '@aws-cdk/aws-secretsmanager:parseOwnedSecretName': true, - }, -}); +const app = new cdk.App(); new SecretsManagerStack(app, 'Integ-SecretsManager-ParsedSecretName'); app.synth(); diff --git a/packages/@aws-cdk/aws-secretsmanager/test/lambda-rotation.integ.snapshot/cdk-integ-secret-lambda-rotation.assets.json b/packages/@aws-cdk/aws-secretsmanager/test/lambda-rotation.integ.snapshot/cdk-integ-secret-lambda-rotation.assets.json new file mode 100644 index 0000000000000..3ebc168be9c09 --- /dev/null +++ b/packages/@aws-cdk/aws-secretsmanager/test/lambda-rotation.integ.snapshot/cdk-integ-secret-lambda-rotation.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "db755baab8b299b5b2e6a1fbf8200cac928e224c5fde284b75696ed17e29c618": { + "source": { + "path": "cdk-integ-secret-lambda-rotation.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "db755baab8b299b5b2e6a1fbf8200cac928e224c5fde284b75696ed17e29c618.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-secretsmanager/test/lambda-rotation.integ.snapshot/tree.json b/packages/@aws-cdk/aws-secretsmanager/test/lambda-rotation.integ.snapshot/tree.json index ef1855cbd73a1..bf6862740fc50 100644 --- a/packages/@aws-cdk/aws-secretsmanager/test/lambda-rotation.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-secretsmanager/test/lambda-rotation.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "cdk-integ-secret-lambda-rotation": { diff --git a/packages/@aws-cdk/aws-secretsmanager/test/secret-name-parsed.integ.snapshot/integ.json b/packages/@aws-cdk/aws-secretsmanager/test/secret-name-parsed.integ.snapshot/integ.json index f5798b0f06071..30de97bc01f6b 100644 --- a/packages/@aws-cdk/aws-secretsmanager/test/secret-name-parsed.integ.snapshot/integ.json +++ b/packages/@aws-cdk/aws-secretsmanager/test/secret-name-parsed.integ.snapshot/integ.json @@ -9,8 +9,6 @@ "stackUpdateWorkflow": true } }, - "synthContext": { - "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": "true" - }, + "synthContext": {}, "enableLookups": false } \ No newline at end of file diff --git a/packages/@aws-cdk/aws-secretsmanager/test/secret.lit.integ.snapshot/Integ-SecretsManager-Secret.assets.json b/packages/@aws-cdk/aws-secretsmanager/test/secret.lit.integ.snapshot/Integ-SecretsManager-Secret.assets.json new file mode 100644 index 0000000000000..af60091dfed5f --- /dev/null +++ b/packages/@aws-cdk/aws-secretsmanager/test/secret.lit.integ.snapshot/Integ-SecretsManager-Secret.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "693c390ede695f635dd57c39306695df3b3030b9d0a594a87198632d063d477f": { + "source": { + "path": "Integ-SecretsManager-Secret.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "693c390ede695f635dd57c39306695df3b3030b9d0a594a87198632d063d477f.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-secretsmanager/test/secret.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-secretsmanager/test/secret.lit.integ.snapshot/tree.json index 215e6368655b8..7cd60f1c275c6 100644 --- a/packages/@aws-cdk/aws-secretsmanager/test/secret.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-secretsmanager/test/secret.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Integ-SecretsManager-Secret": { diff --git a/packages/@aws-cdk/aws-securityhub/package.json b/packages/@aws-cdk/aws-securityhub/package.json index bae295ac46f80..90500cc4a7a19 100644 --- a/packages/@aws-cdk/aws-securityhub/package.json +++ b/packages/@aws-cdk/aws-securityhub/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-securityhub", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SecurityHub", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_securityhub", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-servicecatalog/README.md b/packages/@aws-cdk/aws-servicecatalog/README.md index 1d37e5deb615c..73bc9764ec296 100644 --- a/packages/@aws-cdk/aws-servicecatalog/README.md +++ b/packages/@aws-cdk/aws-servicecatalog/README.md @@ -166,7 +166,7 @@ import * as s3 from '@aws-cdk/aws-s3'; import * as cdk from '@aws-cdk/core'; class S3BucketProduct extends servicecatalog.ProductStack { - constructor(scope: cdk.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); new s3.Bucket(this, 'BucketProduct'); diff --git a/packages/@aws-cdk/aws-servicecatalog/lib/cloudformation-template.ts b/packages/@aws-cdk/aws-servicecatalog/lib/cloudformation-template.ts index b9d3830807ff5..3054bc109280e 100644 --- a/packages/@aws-cdk/aws-servicecatalog/lib/cloudformation-template.ts +++ b/packages/@aws-cdk/aws-servicecatalog/lib/cloudformation-template.ts @@ -4,7 +4,7 @@ import { ProductStack } from './product-stack'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Represents the Product Provisioning Artifact Template. diff --git a/packages/@aws-cdk/aws-servicecatalog/lib/product-stack-history.ts b/packages/@aws-cdk/aws-servicecatalog/lib/product-stack-history.ts index 3fea4fea668d0..35902b088c12a 100644 --- a/packages/@aws-cdk/aws-servicecatalog/lib/product-stack-history.ts +++ b/packages/@aws-cdk/aws-servicecatalog/lib/product-stack-history.ts @@ -1,7 +1,6 @@ import * as fs from 'fs'; import * as path from 'path'; import { Names } from '@aws-cdk/core'; -import { Construct } from 'constructs'; import { CloudFormationTemplate } from './cloudformation-template'; import { DEFAULT_PRODUCT_STACK_SNAPSHOT_DIRECTORY } from './common'; import { CloudFormationProductVersion } from './product'; @@ -9,7 +8,7 @@ import { ProductStack } from './product-stack'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for a ProductStackHistory. @@ -53,7 +52,7 @@ export interface ProductStackHistoryProps { /** * A Construct that contains a Service Catalog product stack with its previous deployments maintained. */ -export class ProductStackHistory extends CoreConstruct { +export class ProductStackHistory extends Construct { private readonly props: ProductStackHistoryProps constructor(scope: Construct, id: string, props: ProductStackHistoryProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-servicecatalog/package.json b/packages/@aws-cdk/aws-servicecatalog/package.json index 4470f23fbb69a..fcfba65458175 100644 --- a/packages/@aws-cdk/aws-servicecatalog/package.json +++ b/packages/@aws-cdk/aws-servicecatalog/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-servicecatalog", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ServiceCatalog", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -15,7 +16,7 @@ } }, "dotnet": { - "namespace": "Amazon.CDK.AWS.ServiceCatalog", + "namespace": "Amazon.CDK.AWS.Servicecatalog", "packageId": "Amazon.CDK.AWS.ServiceCatalog", "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png" }, @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_servicecatalog", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -91,7 +92,7 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -99,10 +100,10 @@ "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-servicecatalog/rosetta/basic-portfolio.ts-fixture b/packages/@aws-cdk/aws-servicecatalog/rosetta/basic-portfolio.ts-fixture new file mode 100644 index 0000000000000..f63c01cff86a4 --- /dev/null +++ b/packages/@aws-cdk/aws-servicecatalog/rosetta/basic-portfolio.ts-fixture @@ -0,0 +1,17 @@ +// Fixture with packages imported, but nothing else +import * as cdk from '@aws-cdk/core'; +import * as servicecatalog from '@aws-cdk/aws-servicecatalog'; +import { Construct } from 'constructs'; + +class Fixture extends cdk.Stack { + constructor(scope: Construct, id: string) { + super(scope, id); + + const portfolio = new servicecatalog.Portfolio(this, "MyFirstPortfolio", { + displayName: "MyFirstPortfolio", + providerName: "MyTeam", + }); + + /// here + } +} diff --git a/packages/@aws-cdk/aws-servicecatalog/test/product-stack.test.ts b/packages/@aws-cdk/aws-servicecatalog/test/product-stack.test.ts index e024421d724dc..c2c008b4a63e9 100644 --- a/packages/@aws-cdk/aws-servicecatalog/test/product-stack.test.ts +++ b/packages/@aws-cdk/aws-servicecatalog/test/product-stack.test.ts @@ -3,6 +3,7 @@ import * as path from 'path'; import * as s3_assets from '@aws-cdk/aws-s3-assets'; import * as sns from '@aws-cdk/aws-sns'; import * as cdk from '@aws-cdk/core'; +import { Construct } from 'constructs'; import * as servicecatalog from '../lib'; /* eslint-disable quote-props */ @@ -34,7 +35,7 @@ describe('ProductStack', () => { test('fails if defined without a parent stack', () => { // GIVEN const app = new cdk.App(); - const group = new cdk.Construct(app, 'group'); + const group = new Construct(app, 'group'); // THEN expect(() => { @@ -62,7 +63,7 @@ describe('ProductStack', () => { const assembly = app.synth(); // THEN - expect(assembly.artifacts.length).toEqual(2); + expect(assembly.artifacts.length).toEqual(3); }); test('the template of the product stack is synthesized into the cloud assembly', () => { diff --git a/packages/@aws-cdk/aws-servicecatalog/test/product.test.ts b/packages/@aws-cdk/aws-servicecatalog/test/product.test.ts index 20cf4ef1f8fb9..32a022f9bac51 100644 --- a/packages/@aws-cdk/aws-servicecatalog/test/product.test.ts +++ b/packages/@aws-cdk/aws-servicecatalog/test/product.test.ts @@ -14,7 +14,9 @@ describe('Product', () => { beforeEach(() => { app = new cdk.App(); - stack = new cdk.Stack(app); + stack = new cdk.Stack(app, 'Stack', { + synthesizer: new cdk.LegacyStackSynthesizer(), + }); }); test('default product test', () => { @@ -124,7 +126,7 @@ describe('Product', () => { const assembly = app.synth(); expect(assembly.artifacts.length).toEqual(2); expect(assembly.stacks[0].assets.length).toBe(1); - expect(assembly.stacks[0].assets[0].path).toEqual('ProductStack.product.template.json'); + expect(assembly.stacks[0].assets[0].path).toEqual('StackProductStack190B56DE.product.template.json'); }), test('multiple product versions from product stack', () => { @@ -155,8 +157,8 @@ describe('Product', () => { const assembly = app.synth(); expect(assembly.stacks[0].assets.length).toBe(2); - expect(assembly.stacks[0].assets[0].path).toEqual('ProductStackV1.product.template.json'); - expect(assembly.stacks[0].assets[1].path).toEqual('ProductStackV2.product.template.json'); + expect(assembly.stacks[0].assets[0].path).toEqual('StackProductStackV111F65963.product.template.json'); + expect(assembly.stacks[0].assets[1].path).toEqual('StackProductStackV24832700A.product.template.json'); }), test('identical product versions from product stack creates one asset', () => { @@ -214,9 +216,9 @@ describe('Product', () => { const assembly = app.synth(); expect(assembly.artifacts.length).toEqual(2); expect(assembly.stacks[0].assets.length).toBe(1); - expect(assembly.stacks[0].assets[0].path).toEqual('ProductStack.product.template.json'); + expect(assembly.stacks[0].assets[0].path).toEqual('StackProductStack190B56DE.product.template.json'); - const expectedTemplateFileKey = 'MyProductStackHistory.ProductStack.v1.product.template.json'; + const expectedTemplateFileKey = 'StackMyProductStackHistory8F05371C.StackProductStack190B56DE.v1.product.template.json'; const snapshotExists = fs.existsSync(path.join(DEFAULT_PRODUCT_STACK_SNAPSHOT_DIRECTORY, expectedTemplateFileKey)); expect(snapshotExists).toBe(true); }), @@ -266,9 +268,9 @@ describe('Product', () => { const assembly = app.synth(); expect(assembly.artifacts.length).toEqual(2); expect(assembly.stacks[0].assets.length).toBe(1); - expect(assembly.stacks[0].assets[0].path).toEqual('ProductStack.product.template.json'); + expect(assembly.stacks[0].assets[0].path).toEqual('StackProductStack190B56DE.product.template.json'); - const expectedTemplateFileKey = 'MyProductStackHistory.ProductStack.v1.product.template.json'; + const expectedTemplateFileKey = 'StackMyProductStackHistory8F05371C.StackProductStack190B56DE.v1.product.template.json'; const snapshotExists = fs.existsSync(path.join(DEFAULT_PRODUCT_STACK_SNAPSHOT_DIRECTORY, expectedTemplateFileKey)); expect(snapshotExists).toBe(true); }), @@ -313,7 +315,7 @@ describe('Product', () => { productStackHistory.versionFromSnapshot('v3'), ], }); - }).toThrowError('Template MyProductStackHistory.ProductStack.v3.product.template.json cannot be found in product-stack-snapshots'); + }).toThrowError('Template StackMyProductStackHistory8F05371C.StackProductStack190B56DE.v3.product.template.json cannot be found in product-stack-snapshots'); }), test('product test from multiple sources', () => { @@ -373,7 +375,7 @@ describe('Product', () => { ], supportEmail: 'invalid email', }); - }).toThrowError(/Invalid support email for resource Default\/MyProduct/); + }).toThrowError(/Invalid support email for resource Stack\/MyProduct/); }), test('fails product creation with invalid url', () => { @@ -387,7 +389,7 @@ describe('Product', () => { }, ], }); - }).toThrowError(/Invalid provisioning template url for resource Default\/MyProduct/); + }).toThrowError(/Invalid provisioning template url for resource Stack\/MyProduct/); }), test('fails product creation with empty productVersions', () => { @@ -397,8 +399,8 @@ describe('Product', () => { owner: 'testOwner', productVersions: [], }); - }).toThrowError(/Invalid product versions for resource Default\/MyProduct/); - }); + }).toThrowError(/Invalid product versions for resource Stack\/MyProduct/); + }), describe('adding and associating TagOptions to a product', () => { let product: servicecatalog.IProduct; diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry/package.json b/packages/@aws-cdk/aws-servicecatalogappregistry/package.json index 053cf541e191b..875dfddd85e89 100644 --- a/packages/@aws-cdk/aws-servicecatalogappregistry/package.json +++ b/packages/@aws-cdk/aws-servicecatalogappregistry/package.json @@ -16,7 +16,7 @@ }, "targets": { "dotnet": { - "namespace": "Amazon.CDK.AWS.ServiceCatalogAppRegistry", + "namespace": "Amazon.CDK.AWS.Servicecatalogappregistry", "packageId": "Amazon.CDK.AWS.ServiceCatalogAppRegistry", "signAssembly": true, "assemblyOriginatorKeyFile": "../../key.snk", @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-servicecatalogappregistry", "module": "aws_cdk.aws_servicecatalogappregistry" @@ -92,14 +92,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", @@ -108,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.integ.snapshot/integ-servicecatalogappregistry-application.assets.json b/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.integ.snapshot/integ-servicecatalogappregistry-application.assets.json new file mode 100644 index 0000000000000..17507827bfe90 --- /dev/null +++ b/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.integ.snapshot/integ-servicecatalogappregistry-application.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d561cf6d9aa2d98689712d70accb1c3f56f2a54d6cbb1268d35bd72e05675791": { + "source": { + "path": "integ-servicecatalogappregistry-application.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d561cf6d9aa2d98689712d70accb1c3f56f2a54d6cbb1268d35bd72e05675791.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.integ.snapshot/tree.json b/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.integ.snapshot/tree.json index 9d9a35764e691..1f5ec26e247d0 100644 --- a/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-servicecatalogappregistry-application": { diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.test.ts b/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.test.ts index 18b7b55884522..f2d88f4c5abe6 100644 --- a/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.test.ts +++ b/packages/@aws-cdk/aws-servicecatalogappregistry/test/application.test.ts @@ -202,7 +202,7 @@ describe('Application', () => { Template.fromStack(stack).hasResourceProperties('AWS::ServiceCatalogAppRegistry::ResourceAssociation', { Application: { 'Fn::GetAtt': ['MyApplication5C63EC1D', 'Id'] }, - Resource: { 'Fn::ImportValue': 'MyStack:MyStackExportsOutputRefAWSStackId23D778D8' }, + Resource: { 'Fn::ImportValue': 'MyStack:ExportsOutputRefAWSStackIdB2DD5BAA' }, }); }), diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry/test/attribute-group.integ.snapshot/integ-servicecatalogappregistry-attribute-group.assets.json b/packages/@aws-cdk/aws-servicecatalogappregistry/test/attribute-group.integ.snapshot/integ-servicecatalogappregistry-attribute-group.assets.json new file mode 100644 index 0000000000000..ad1dbecb5777a --- /dev/null +++ b/packages/@aws-cdk/aws-servicecatalogappregistry/test/attribute-group.integ.snapshot/integ-servicecatalogappregistry-attribute-group.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "c059ea8a1cd78cc14e1411059f2226cf0422fadb9bd8a4853596607856ab81d3": { + "source": { + "path": "integ-servicecatalogappregistry-attribute-group.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c059ea8a1cd78cc14e1411059f2226cf0422fadb9bd8a4853596607856ab81d3.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry/test/attribute-group.integ.snapshot/tree.json b/packages/@aws-cdk/aws-servicecatalogappregistry/test/attribute-group.integ.snapshot/tree.json index 4ab3afe11d2f0..a4bd5b4ae312b 100644 --- a/packages/@aws-cdk/aws-servicecatalogappregistry/test/attribute-group.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-servicecatalogappregistry/test/attribute-group.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-servicecatalogappregistry-attribute-group": { diff --git a/packages/@aws-cdk/aws-servicediscovery/package.json b/packages/@aws-cdk/aws-servicediscovery/package.json index ed6c74c547a36..a6e01d86fabb6 100644 --- a/packages/@aws-cdk/aws-servicediscovery/package.json +++ b/packages/@aws-cdk/aws-servicediscovery/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-servicediscovery", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::ServiceDiscovery", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_servicediscovery", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,7 @@ "@aws-cdk/aws-elasticloadbalancingv2": "0.0.0", "@aws-cdk/aws-route53": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -103,10 +104,10 @@ "@aws-cdk/aws-elasticloadbalancingv2": "0.0.0", "@aws-cdk/aws-route53": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-ses-actions/package.json b/packages/@aws-cdk/aws-ses-actions/package.json index cd25369fc0395..641e7ce61cde9 100644 --- a/packages/@aws-cdk/aws-ses-actions/package.json +++ b/packages/@aws-cdk/aws-ses-actions/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ses-actions", "version": "0.0.0", + "private": true, "description": "Receipt rule actions for AWS SES", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ses_actions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -88,7 +89,7 @@ "@aws-cdk/aws-ses": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -99,10 +100,10 @@ "@aws-cdk/aws-ses": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-ses-actions/test/actions.integ.snapshot/aws-cdk-ses-receipt.assets.json b/packages/@aws-cdk/aws-ses-actions/test/actions.integ.snapshot/aws-cdk-ses-receipt.assets.json new file mode 100644 index 0000000000000..97f1e2a794e37 --- /dev/null +++ b/packages/@aws-cdk/aws-ses-actions/test/actions.integ.snapshot/aws-cdk-ses-receipt.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "96d0b6be9a64ae309bf89a86f5515453f0fa1d07b4f6b37198051cc98e251f34": { + "source": { + "path": "asset.96d0b6be9a64ae309bf89a86f5515453f0fa1d07b4f6b37198051cc98e251f34", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "96d0b6be9a64ae309bf89a86f5515453f0fa1d07b4f6b37198051cc98e251f34.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f4ce46d69cf665a5f2800b451226c093d4e4cc00a427ec0d19d143b27e957ac4": { + "source": { + "path": "aws-cdk-ses-receipt.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f4ce46d69cf665a5f2800b451226c093d4e4cc00a427ec0d19d143b27e957ac4.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ses-actions/test/actions.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ses-actions/test/actions.integ.snapshot/tree.json index 306783b35a6ee..f821f74020270 100644 --- a/packages/@aws-cdk/aws-ses-actions/test/actions.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ses-actions/test/actions.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-ses-receipt": { @@ -722,14 +722,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-ses/lib/receipt-filter.ts b/packages/@aws-cdk/aws-ses/lib/receipt-filter.ts index 9c703207fdf4f..9c7de1ee3b807 100644 --- a/packages/@aws-cdk/aws-ses/lib/receipt-filter.ts +++ b/packages/@aws-cdk/aws-ses/lib/receipt-filter.ts @@ -2,10 +2,6 @@ import { Resource } from '@aws-cdk/core'; import { Construct } from 'constructs'; import { CfnReceiptFilter } from './ses.generated'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core' - /** * The policy for the receipt filter. */ @@ -82,7 +78,7 @@ export interface AllowListReceiptFilterProps { /** * An allow list receipt filter. */ -export class AllowListReceiptFilter extends CoreConstruct { +export class AllowListReceiptFilter extends Construct { constructor(scope: Construct, id: string, props: AllowListReceiptFilterProps) { super(scope, id); diff --git a/packages/@aws-cdk/aws-ses/lib/receipt-rule.ts b/packages/@aws-cdk/aws-ses/lib/receipt-rule.ts index 7d6a4bad92bb0..d0fc8129a5e8f 100644 --- a/packages/@aws-cdk/aws-ses/lib/receipt-rule.ts +++ b/packages/@aws-cdk/aws-ses/lib/receipt-rule.ts @@ -7,10 +7,6 @@ import { IReceiptRuleAction } from './receipt-rule-action'; import { IReceiptRuleSet } from './receipt-rule-set'; import { CfnReceiptRule } from './ses.generated'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * A receipt rule. */ @@ -169,7 +165,7 @@ export interface DropSpamReceiptRuleProps extends ReceiptRuleProps { * * @see https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda-example-functions.html */ -export class DropSpamReceiptRule extends CoreConstruct { +export class DropSpamReceiptRule extends Construct { public readonly rule: ReceiptRule; constructor(scope: Construct, id: string, props: DropSpamReceiptRuleProps) { diff --git a/packages/@aws-cdk/aws-ses/package.json b/packages/@aws-cdk/aws-ses/package.json index 3100b2729a8cb..0c3c1cf6d04cb 100644 --- a/packages/@aws-cdk/aws-ses/package.json +++ b/packages/@aws-cdk/aws-ses/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ses", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SES", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ses", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,17 +93,17 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-signer/package.json b/packages/@aws-cdk/aws-signer/package.json index 57a05eb9cc8e5..76233ca7e4421 100644 --- a/packages/@aws-cdk/aws-signer/package.json +++ b/packages/@aws-cdk/aws-signer/package.json @@ -30,7 +30,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-signer", "module": "aws_cdk.aws_signer" @@ -89,14 +89,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -105,5 +105,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-sns-subscriptions/lib/lambda.ts b/packages/@aws-cdk/aws-sns-subscriptions/lib/lambda.ts index a74e73f00fdb4..b4d44235c5cec 100644 --- a/packages/@aws-cdk/aws-sns-subscriptions/lib/lambda.ts +++ b/packages/@aws-cdk/aws-sns-subscriptions/lib/lambda.ts @@ -6,7 +6,7 @@ import { SubscriptionProps } from './subscription'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for a Lambda subscription @@ -27,7 +27,7 @@ export class LambdaSubscription implements sns.ITopicSubscription { public bind(topic: sns.ITopic): sns.TopicSubscriptionConfig { // Create subscription under *consuming* construct to make sure it ends up // in the correct stack in cases of cross-stack subscriptions. - if (!Construct.isConstruct(this.fn)) { + if (!(this.fn instanceof Construct)) { throw new Error('The supplied lambda Function object must be an instance of Construct'); } diff --git a/packages/@aws-cdk/aws-sns-subscriptions/lib/sqs.ts b/packages/@aws-cdk/aws-sns-subscriptions/lib/sqs.ts index 6d79b78c8a12b..db93c987a00a6 100644 --- a/packages/@aws-cdk/aws-sns-subscriptions/lib/sqs.ts +++ b/packages/@aws-cdk/aws-sns-subscriptions/lib/sqs.ts @@ -6,7 +6,7 @@ import { SubscriptionProps } from './subscription'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for an SQS subscription @@ -35,7 +35,7 @@ export class SqsSubscription implements sns.ITopicSubscription { public bind(topic: sns.ITopic): sns.TopicSubscriptionConfig { // Create subscription under *consuming* construct to make sure it ends up // in the correct stack in cases of cross-stack subscriptions. - if (!Construct.isConstruct(this.queue)) { + if (!(this.queue instanceof Construct)) { throw new Error('The supplied Queue object must be an instance of Construct'); } const snsServicePrincipal = new iam.ServicePrincipal('sns.amazonaws.com'); diff --git a/packages/@aws-cdk/aws-sns-subscriptions/package.json b/packages/@aws-cdk/aws-sns-subscriptions/package.json index e70ef25638802..02fa2acacbf3f 100644 --- a/packages/@aws-cdk/aws-sns-subscriptions/package.json +++ b/packages/@aws-cdk/aws-sns-subscriptions/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-sns-subscriptions", "version": "0.0.0", + "private": true, "description": "CDK Subscription Constructs for AWS SNS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_sns_subscriptions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -86,7 +87,7 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -96,10 +97,10 @@ "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/aws-sns-subscriptions/test/subs.test.ts b/packages/@aws-cdk/aws-sns-subscriptions/test/subs.test.ts index d13361eb2ba9f..45b5eceb01a28 100644 --- a/packages/@aws-cdk/aws-sns-subscriptions/test/subs.test.ts +++ b/packages/@aws-cdk/aws-sns-subscriptions/test/subs.test.ts @@ -935,23 +935,7 @@ test('encrypted queue subscription', () => { 'KeyPolicy': { 'Statement': [ { - 'Action': [ - 'kms:Create*', - 'kms:Describe*', - 'kms:Enable*', - 'kms:List*', - 'kms:Put*', - 'kms:Update*', - 'kms:Revoke*', - 'kms:Disable*', - 'kms:Get*', - 'kms:Delete*', - 'kms:ScheduleKeyDeletion', - 'kms:CancelKeyDeletion', - 'kms:GenerateDataKey', - 'kms:TagResource', - 'kms:UntagResource', - ], + 'Action': 'kms:*', 'Effect': 'Allow', 'Principal': { 'AWS': { diff --git a/packages/@aws-cdk/aws-sns/lib/subscriber.ts b/packages/@aws-cdk/aws-sns/lib/subscriber.ts index d63667dde46e5..8cac6b4f5d223 100644 --- a/packages/@aws-cdk/aws-sns/lib/subscriber.ts +++ b/packages/@aws-cdk/aws-sns/lib/subscriber.ts @@ -1,10 +1,9 @@ - import { SubscriptionOptions } from './subscription'; import { ITopic } from './topic-base'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Subscription configuration diff --git a/packages/@aws-cdk/aws-sns/lib/topic-base.ts b/packages/@aws-cdk/aws-sns/lib/topic-base.ts index 70dff8b8572df..c6ce471980b75 100644 --- a/packages/@aws-cdk/aws-sns/lib/topic-base.ts +++ b/packages/@aws-cdk/aws-sns/lib/topic-base.ts @@ -1,6 +1,6 @@ import * as notifications from '@aws-cdk/aws-codestarnotifications'; import * as iam from '@aws-cdk/aws-iam'; -import { IResource, Resource, Token } from '@aws-cdk/core'; +import { IResource, Resource, ResourceProps, Token } from '@aws-cdk/core'; import * as constructs from 'constructs'; import { TopicPolicy } from './policy'; import { ITopicSubscription } from './subscriber'; @@ -8,7 +8,7 @@ import { Subscription } from './subscription'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Represents an SNS topic @@ -74,6 +74,12 @@ export abstract class TopicBase extends Resource implements ITopic { private policy?: TopicPolicy; + constructor(scope: Construct, id: string, props: ResourceProps = {}) { + super(scope, id, props); + + this.node.addValidation({ validate: () => this.policy?.document.validateForResourcePolicy() ?? [] }); + } + /** * Subscribe some endpoint to this topic */ @@ -117,12 +123,6 @@ export abstract class TopicBase extends Resource implements ITopic { return { statementAdded: false }; } - protected validate(): string[] { - const errors = super.validate(); - errors.push(...this.policy?.document.validateForResourcePolicy() || []); - return errors; - } - /** * Grant topic publishing permissions to the given identity */ diff --git a/packages/@aws-cdk/aws-sns/package.json b/packages/@aws-cdk/aws-sns/package.json index 005c3b1a536ec..86a99ff58f25a 100644 --- a/packages/@aws-cdk/aws-sns/package.json +++ b/packages/@aws-cdk/aws-sns/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-sns", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SNS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_sns", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -99,7 +100,7 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -110,10 +111,10 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/aws-sqs": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-sns/test/sns.integ.snapshot/SNSInteg.assets.json b/packages/@aws-cdk/aws-sns/test/sns.integ.snapshot/SNSInteg.assets.json new file mode 100644 index 0000000000000..801d52a8549fd --- /dev/null +++ b/packages/@aws-cdk/aws-sns/test/sns.integ.snapshot/SNSInteg.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "abc29d4f06b918fce7d7beea18c92c833e7e6266f0863b256fd6927b69eb595f": { + "source": { + "path": "SNSInteg.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "abc29d4f06b918fce7d7beea18c92c833e7e6266f0863b256fd6927b69eb595f.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-sns/test/sns.integ.snapshot/tree.json b/packages/@aws-cdk/aws-sns/test/sns.integ.snapshot/tree.json index b284d39f5f85d..0360fc904dfbd 100644 --- a/packages/@aws-cdk/aws-sns/test/sns.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-sns/test/sns.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SNSInteg": { diff --git a/packages/@aws-cdk/aws-sqs/lib/queue-base.ts b/packages/@aws-cdk/aws-sqs/lib/queue-base.ts index 23cf09218cc58..3a4f9db51291d 100644 --- a/packages/@aws-cdk/aws-sqs/lib/queue-base.ts +++ b/packages/@aws-cdk/aws-sqs/lib/queue-base.ts @@ -1,6 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as kms from '@aws-cdk/aws-kms'; -import { IResource, Resource } from '@aws-cdk/core'; +import { IResource, Resource, ResourceProps } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import { QueuePolicy } from './policy'; /** @@ -134,6 +135,12 @@ export abstract class QueueBase extends Resource implements IQueue { private policy?: QueuePolicy; + constructor(scope: Construct, id: string, props: ResourceProps = {}) { + super(scope, id, props); + + this.node.addValidation({ validate: () => this.policy?.document.validateForResourcePolicy() ?? [] }); + } + /** * Adds a statement to the IAM resource policy associated with this queue. * @@ -154,12 +161,6 @@ export abstract class QueueBase extends Resource implements IQueue { return { statementAdded: false }; } - protected validate(): string[] { - const errors = super.validate(); - errors.push(...this.policy?.document.validateForResourcePolicy() || []); - return errors; - } - /** * Grant permissions to consume messages from a queue * diff --git a/packages/@aws-cdk/aws-sqs/package.json b/packages/@aws-cdk/aws-sqs/package.json index a12801b3fb4da..d863aaa19d5b6 100644 --- a/packages/@aws-cdk/aws-sqs/package.json +++ b/packages/@aws-cdk/aws-sqs/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-sqs", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SQS", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_sqs", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -94,7 +95,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -102,10 +103,10 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-sqs/test/sqs.integ.snapshot/aws-cdk-sqs.assets.json b/packages/@aws-cdk/aws-sqs/test/sqs.integ.snapshot/aws-cdk-sqs.assets.json new file mode 100644 index 0000000000000..6dc1c7cb44c3d --- /dev/null +++ b/packages/@aws-cdk/aws-sqs/test/sqs.integ.snapshot/aws-cdk-sqs.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "112ea7d69204f0f9d4eadb1f89052eff81811f069f3e6683a3f905d246d48e81": { + "source": { + "path": "aws-cdk-sqs.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "112ea7d69204f0f9d4eadb1f89052eff81811f069f3e6683a3f905d246d48e81.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-sqs/test/sqs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-sqs/test/sqs.integ.snapshot/tree.json index 939d003d5d9dd..7daa0523579f8 100644 --- a/packages/@aws-cdk/aws-sqs/test/sqs.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-sqs/test/sqs.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-cdk-sqs": { diff --git a/packages/@aws-cdk/aws-ssm/lib/parameter.ts b/packages/@aws-cdk/aws-ssm/lib/parameter.ts index 2344f070b78b4..cc66f65098300 100644 --- a/packages/@aws-cdk/aws-ssm/lib/parameter.ts +++ b/packages/@aws-cdk/aws-ssm/lib/parameter.ts @@ -3,7 +3,7 @@ import * as kms from '@aws-cdk/aws-kms'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import { CfnDynamicReference, CfnDynamicReferenceService, CfnParameter, - Construct as CompatConstruct, ContextProvider, Fn, IResource, Resource, Stack, Token, + ContextProvider, Fn, IResource, Resource, Stack, Token, Tokenization, } from '@aws-cdk/core'; import { Construct } from 'constructs'; @@ -351,7 +351,7 @@ export class StringParameter extends ParameterBase implements IStringParameter { const stringValue = attrs.version ? new CfnDynamicReference(CfnDynamicReferenceService.SSM, `${attrs.parameterName}:${Tokenization.stringifyNumber(attrs.version)}`).toString() - : new CfnParameter(scope as CompatConstruct, `${id}.Parameter`, { type: `AWS::SSM::Parameter::Value<${type}>`, default: attrs.parameterName }).valueAsString; + : new CfnParameter(scope, `${id}.Parameter`, { type: `AWS::SSM::Parameter::Value<${type}>`, default: attrs.parameterName }).valueAsString; class Import extends ParameterBase { public readonly parameterName = attrs.parameterName; @@ -388,7 +388,7 @@ export class StringParameter extends ParameterBase implements IStringParameter { * Requires that the stack this scope is defined in will have explicit * account/region information. Otherwise, it will fail during synthesis. */ - public static valueFromLookup(scope: CompatConstruct, parameterName: string): string { + public static valueFromLookup(scope: Construct, parameterName: string): string { const value = ContextProvider.getValue(scope, { provider: cxschema.ContextProvider.SSM_PARAMETER_PROVIDER, props: { parameterName }, diff --git a/packages/@aws-cdk/aws-ssm/package.json b/packages/@aws-cdk/aws-ssm/package.json index 82f46acc710a7..d53f2502d4c4d 100644 --- a/packages/@aws-cdk/aws-ssm/package.json +++ b/packages/@aws-cdk/aws-ssm/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-ssm", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SSM", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_ssm", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -92,7 +93,8 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -100,10 +102,11 @@ "@aws-cdk/aws-kms": "0.0.0", "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { @@ -111,6 +114,6 @@ }, "maturity": "stable", "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-ssm/test/parameter.lit.integ.snapshot/SSM-Parameter.assets.json b/packages/@aws-cdk/aws-ssm/test/parameter.lit.integ.snapshot/SSM-Parameter.assets.json new file mode 100644 index 0000000000000..943705b5c6c46 --- /dev/null +++ b/packages/@aws-cdk/aws-ssm/test/parameter.lit.integ.snapshot/SSM-Parameter.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "f17bdffaacbd3b417df6d11e7687462d0cca85fed4632d15bebdb42c055ef36c": { + "source": { + "path": "SSM-Parameter.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f17bdffaacbd3b417df6d11e7687462d0cca85fed4632d15bebdb42c055ef36c.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ssm/test/parameter.lit.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ssm/test/parameter.lit.integ.snapshot/tree.json index b2a18511556b1..828bd5a8d1841 100644 --- a/packages/@aws-cdk/aws-ssm/test/parameter.lit.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-ssm/test/parameter.lit.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SSM-Parameter": { diff --git a/packages/@aws-cdk/aws-ssm/test/parameter.test.ts b/packages/@aws-cdk/aws-ssm/test/parameter.test.ts index 48594d1e3ee41..7953006b3cfa6 100644 --- a/packages/@aws-cdk/aws-ssm/test/parameter.test.ts +++ b/packages/@aws-cdk/aws-ssm/test/parameter.test.ts @@ -4,6 +4,7 @@ import { Template } from '@aws-cdk/assertions'; import * as iam from '@aws-cdk/aws-iam'; import * as kms from '@aws-cdk/aws-kms'; import * as cdk from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as ssm from '../lib'; test('creating a String SSM Parameter', () => { @@ -628,7 +629,7 @@ test('StringListParameter.fromName', () => { test('fromLookup will use the SSM context provider to read value during synthesis', () => { // GIVEN - const app = new cdk.App(); + const app = new cdk.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new cdk.Stack(app, 'my-staq', { env: { region: 'us-east-1', account: '12344' } }); // WHEN diff --git a/packages/@aws-cdk/aws-ssmcontacts/package.json b/packages/@aws-cdk/aws-ssmcontacts/package.json index 67aced4b98dc0..07dcb2eb7923b 100644 --- a/packages/@aws-cdk/aws-ssmcontacts/package.json +++ b/packages/@aws-cdk/aws-ssmcontacts/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-ssmcontacts", "module": "aws_cdk.aws_ssmcontacts" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-ssmincidents/package.json b/packages/@aws-cdk/aws-ssmincidents/package.json index 2e462858b4d42..190ca4bf6efe7 100644 --- a/packages/@aws-cdk/aws-ssmincidents/package.json +++ b/packages/@aws-cdk/aws-ssmincidents/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-ssmincidents", "module": "aws_cdk.aws_ssmincidents" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-sso/package.json b/packages/@aws-cdk/aws-sso/package.json index 4dca1a350eee1..d42415b1f6835 100644 --- a/packages/@aws-cdk/aws-sso/package.json +++ b/packages/@aws-cdk/aws-sso/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-sso", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::SSO", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -32,7 +33,7 @@ "module": "aws_cdk.aws_sso", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } } @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/package.json b/packages/@aws-cdk/aws-stepfunctions-tasks/package.json index bfec871b0b138..abbce0c0e1d45 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/package.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-stepfunctions-tasks", "version": "0.0.0", + "private": true, "description": "Task integrations for AWS StepFunctions", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_stepfunctions_tasks", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -116,7 +117,7 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", "@aws-cdk/lambda-layer-awscli": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -141,10 +142,10 @@ "@aws-cdk/core": "0.0.0", "@aws-cdk/custom-resources": "0.0.0", "@aws-cdk/lambda-layer-awscli": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-get-query-execution-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-get-query-execution-integ.assets.json new file mode 100644 index 0000000000000..0b85f04bb5aaf --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-get-query-execution-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "c9b1727c24fb46a111d7483cb632dc4d6267c96cb40c42b3a16b063ebf3abb65": { + "source": { + "path": "aws-stepfunctions-tasks-athena-get-query-execution-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c9b1727c24fb46a111d7483cb632dc4d6267c96cb40c42b3a16b063ebf3abb65.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-execution.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-execution.integ.snapshot/tree.json index 6c479289bc006..6a599d4f0cc17 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-execution.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-execution.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-athena-get-query-execution-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-results.integ.snapshot/aws-stepfunctions-tasks-athena-get-query-results-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-results.integ.snapshot/aws-stepfunctions-tasks-athena-get-query-results-integ.assets.json new file mode 100644 index 0000000000000..fc67b392b0f55 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-results.integ.snapshot/aws-stepfunctions-tasks-athena-get-query-results-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "7ef3ede4cfafbc3daa9324a61c0d83ba5d4c8de82e6bcc9ce10ac9c8af8e9f04": { + "source": { + "path": "aws-stepfunctions-tasks-athena-get-query-results-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7ef3ede4cfafbc3daa9324a61c0d83ba5d4c8de82e6bcc9ce10ac9c8af8e9f04.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-results.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-results.integ.snapshot/tree.json index bb37de61a2e4c..a9f29f471b996 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-results.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/get-query-results.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-athena-get-query-results-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/start-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-start-query-execution-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/start-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-start-query-execution-integ.assets.json new file mode 100644 index 0000000000000..746e93e10b871 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/start-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-start-query-execution-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "e17d4c377d8b2b95bec341032a05a1b4d9c37a7d19724a1f08d10606f056d8c1": { + "source": { + "path": "aws-stepfunctions-tasks-athena-start-query-execution-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "e17d4c377d8b2b95bec341032a05a1b4d9c37a7d19724a1f08d10606f056d8c1.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/start-query-execution.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/start-query-execution.integ.snapshot/tree.json index f9be617fa556f..7b27ea5420847 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/start-query-execution.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/start-query-execution.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-athena-start-query-execution-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/stop-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-stop-query-execution-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/stop-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-stop-query-execution-integ.assets.json new file mode 100644 index 0000000000000..85ff4331289fe --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/stop-query-execution.integ.snapshot/aws-stepfunctions-tasks-athena-stop-query-execution-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "5261c78a4940c1b24d7fe5992295bc028e04359d70e93b4d3b95713068997b0d": { + "source": { + "path": "aws-stepfunctions-tasks-athena-stop-query-execution-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "5261c78a4940c1b24d7fe5992295bc028e04359d70e93b4d3b95713068997b0d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/stop-query-execution.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/stop-query-execution.integ.snapshot/tree.json index b9d0b15e78e56..0518eb332a263 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/stop-query-execution.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/athena/stop-query-execution.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-athena-stop-query-execution-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.integ.snapshot/aws-stepfunctions-aws-sdk-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.integ.snapshot/aws-stepfunctions-aws-sdk-integ.assets.json new file mode 100644 index 0000000000000..2b2522ed7e646 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.integ.snapshot/aws-stepfunctions-aws-sdk-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "b038c0d5ca4dde9cf48a176049abf05add22231672ed0aa2f79676d0118530e2": { + "source": { + "path": "aws-stepfunctions-aws-sdk-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b038c0d5ca4dde9cf48a176049abf05add22231672ed0aa2f79676d0118530e2.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.integ.snapshot/tree.json index 80ce67a8f86a4..ea8dc1c76b17e 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-aws-sdk-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/index.py deleted file mode 100644 index 337ed86e5f2ec..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from Batch!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..994ee193b2fc5 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "66edc47915d0cc45b87006321dee167c74c12916123ab1d182b8538d5cad65b4": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "66edc47915d0cc45b87006321dee167c74c12916123ab1d182b8538d5cad65b4.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "8b518243ecbfcfd08b4734069e7e74ff97b7889dfde0a60d16e7bdc96e6c593b": { + "source": { + "directory": "asset.8b518243ecbfcfd08b4734069e7e74ff97b7889dfde0a60d16e7bdc96e6c593b" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "8b518243ecbfcfd08b4734069e7e74ff97b7889dfde0a60d16e7bdc96e6c593b", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/tree.json index 0533b389fb79c..8f4e25656ffd8 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/index.py deleted file mode 100644 index 337ed86e5f2ec..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/asset.83bbeb367bcc1fa09f3c00f59110f8148dd3bbd860ba8fdca12399a9a284c2e0/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from Batch!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..a5031039bb361 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "f8de7132a9fb75eb1f342dc4dff2ec7de734f7d98caea351f9bba34a5c6c2cb2": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f8de7132a9fb75eb1f342dc4dff2ec7de734f7d98caea351f9bba34a5c6c2cb2.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "8b518243ecbfcfd08b4734069e7e74ff97b7889dfde0a60d16e7bdc96e6c593b": { + "source": { + "directory": "asset.8b518243ecbfcfd08b4734069e7e74ff97b7889dfde0a60d16e7bdc96e6c593b" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "8b518243ecbfcfd08b4734069e7e74ff97b7889dfde0a60d16e7bdc96e6c593b", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/tree.json index c2fa448e1a0b9..bfad38b4b7b86 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/submit-job.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/codebuild/start-build.integ.snapshot/aws-stepfunctions-tasks-codebuild-start-build-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/codebuild/start-build.integ.snapshot/aws-stepfunctions-tasks-codebuild-start-build-integ.assets.json new file mode 100644 index 0000000000000..8c2b5b998d268 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/codebuild/start-build.integ.snapshot/aws-stepfunctions-tasks-codebuild-start-build-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "945f5b73f70ca152f49df93230799431ca32a347abd9b1dbc8777ed051348497": { + "source": { + "path": "aws-stepfunctions-tasks-codebuild-start-build-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "945f5b73f70ca152f49df93230799431ca32a347abd9b1dbc8777ed051348497.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/codebuild/start-build.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/codebuild/start-build.integ.snapshot/tree.json index 22b65c5bf494a..6ffd558f9f960 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/codebuild/start-build.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/codebuild/start-build.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-codebuild-start-build-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/databrew/start-job-run.integ.snapshot/aws-stepfunctions-tasks-databrew-start-job-run-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/databrew/start-job-run.integ.snapshot/aws-stepfunctions-tasks-databrew-start-job-run-integ.assets.json new file mode 100644 index 0000000000000..097eef9279621 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/databrew/start-job-run.integ.snapshot/aws-stepfunctions-tasks-databrew-start-job-run-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "728a3f2fdefe0434aa5358214f6ea0047035540d3e152c983e485850b1fbe003": { + "source": { + "path": "aws-stepfunctions-tasks-databrew-start-job-run-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "728a3f2fdefe0434aa5358214f6ea0047035540d3e152c983e485850b1fbe003.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/databrew/start-job-run.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/databrew/start-job-run.integ.snapshot/tree.json index 73812df7ab134..b110e3ce24e36 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/databrew/start-job-run.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/databrew/start-job-run.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-databrew-start-job-run-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.integ.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.integ.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..4360b0ac28aa1 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.integ.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "27b6ce5fdeb3d54b103053effb1737da4aeff290d60090567be507db4c4a1508": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "27b6ce5fdeb3d54b103053effb1737da4aeff290d60090567be507db4c4a1508.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.integ.snapshot/tree.json index 0f816be552288..0b16ffb350503 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py deleted file mode 100644 index c4cab119afc2d..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from ECS!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/aws-sfn-tasks-ecs-ec2-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/aws-sfn-tasks-ecs-ec2-integ.assets.json new file mode 100644 index 0000000000000..dd5612929a202 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/aws-sfn-tasks-ecs-ec2-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "6f5cca7a24f1cb419762042b7008d4f5c9497b69121ba2684c0177f4c32d3a13": { + "source": { + "path": "aws-sfn-tasks-ecs-ec2-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "6f5cca7a24f1cb419762042b7008d4f5c9497b69121ba2684c0177f4c32d3a13.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2": { + "source": { + "directory": "asset.7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/manifest.json index b67fb16103587..dac4e171e54c3 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/manifest.json @@ -277,7 +277,10 @@ "/aws-sfn-tasks-ecs-ec2-integ/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TaskDef54694570" + "data": "TaskDef54694570", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-sfn-tasks-ecs-ec2-integ/TaskDef/TheContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/tree.json index 15195f43995c5..d5e4a9a710d3e 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-run-task.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-sfn-tasks-ecs-ec2-integ": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py deleted file mode 100644 index c4cab119afc2d..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from ECS!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/aws-ecs-integ2.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/aws-ecs-integ2.assets.json new file mode 100644 index 0000000000000..b13d0daf0e472 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/aws-ecs-integ2.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "67c01f432ec7bec6f1f2e5fec37bfbfe37abce1b9b19322f2f416ddcd11857b3": { + "source": { + "path": "aws-ecs-integ2.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "67c01f432ec7bec6f1f2e5fec37bfbfe37abce1b9b19322f2f416ddcd11857b3.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2": { + "source": { + "directory": "asset.7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/manifest.json index 9e7f3a99be899..d8a4c889d91a3 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/manifest.json @@ -277,7 +277,10 @@ "/aws-ecs-integ2/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TaskDef54694570" + "data": "TaskDef54694570", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-integ2/TaskDef/TheContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/tree.json index ef3962301f201..0096edba28a17 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ec2-task.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ2": { @@ -1210,8 +1210,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "LifecycleHookDrainHook": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py deleted file mode 100644 index c4cab119afc2d..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from ECS!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/aws-sfn-tasks-ecs-fargate-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/aws-sfn-tasks-ecs-fargate-integ.assets.json new file mode 100644 index 0000000000000..59c364fef240f --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/aws-sfn-tasks-ecs-fargate-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "ad533cac6314e6a87148c16b6b83db73f639e7a7b7f6fba2097733ae449a1424": { + "source": { + "path": "aws-sfn-tasks-ecs-fargate-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "ad533cac6314e6a87148c16b6b83db73f639e7a7b7f6fba2097733ae449a1424.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2": { + "source": { + "directory": "asset.7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/manifest.json index f9f19be5dfaab..85b6467377553 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/manifest.json @@ -181,7 +181,10 @@ "/aws-sfn-tasks-ecs-fargate-integ/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TaskDef54694570" + "data": "TaskDef54694570", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-sfn-tasks-ecs-fargate-integ/TaskDef/TheContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/tree.json index 49b47a9f9068e..52c9dd54dcd4c 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-run-task.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-sfn-tasks-ecs-fargate-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile deleted file mode 100644 index 235b30e9661ed..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/lambda/python:3.6 -EXPOSE 8000 -WORKDIR /src -ADD . /src -CMD python3 index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py deleted file mode 100644 index c4cab119afc2d..0000000000000 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/asset.4d89079ab189da6e7e125fec1718add5cd8dadcf7f13797441a2f5d21aecfd9d/index.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import os -import pprint - -print('Hello from ECS!') -pprint.pprint(dict(os.environ)) diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/aws-ecs-integ2.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/aws-ecs-integ2.assets.json new file mode 100644 index 0000000000000..3c450b84f0156 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/aws-ecs-integ2.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "0a88eecb68144cdf7f1227c7051491f1c32205f79670fae1f4ac1994642c8ff5": { + "source": { + "path": "aws-ecs-integ2.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0a88eecb68144cdf7f1227c7051491f1c32205f79670fae1f4ac1994642c8ff5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": { + "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2": { + "source": { + "directory": "asset.7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2" + }, + "destinations": { + "current_account-current_region": { + "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", + "imageTag": "7a4895bc694ae074467753dddb9a798e58f2f5eda62bcce5833d7d356b8a1da2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/manifest.json index fdf4d04957ee9..246a5dabfaf47 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/manifest.json @@ -181,7 +181,10 @@ "/aws-ecs-integ2/TaskDef/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TaskDef54694570" + "data": "TaskDef54694570", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-ecs-integ2/TaskDef/TheContainer/LogGroup/Resource": [ diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/tree.json index 9ad0b38929c14..ae1c62a1c5a91 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/fargate-task.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-ecs-integ2": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eks/call.integ.snapshot/aws-stepfunctions-tasks-eks-call-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eks/call.integ.snapshot/aws-stepfunctions-tasks-eks-call-integ.assets.json new file mode 100644 index 0000000000000..3db79097da8fb --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eks/call.integ.snapshot/aws-stepfunctions-tasks-eks-call-integ.assets.json @@ -0,0 +1,123 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "16bd3c6bf0b9406ac4ffe88a512a88c4be79069864b571cb52ca575d124e04e5": { + "source": { + "path": "awsstepfunctionstasksekscallintegawscdkawseksClusterResourceProviderBB3CC8D7.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "16bd3c6bf0b9406ac4ffe88a512a88c4be79069864b571cb52ca575d124e04e5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "eab73ebe314b3807950030efe5a1d725bb7f94c0773b2569e277c2df3d74b80a": { + "source": { + "path": "awsstepfunctionstasksekscallintegawscdkawseksKubectlProvider54CED50F.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "eab73ebe314b3807950030efe5a1d725bb7f94c0773b2569e277c2df3d74b80a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "df9879aa123b05097da7d834679f8b0485c13be19fc5a2da8d390b031f97f253": { + "source": { + "path": "aws-stepfunctions-tasks-eks-call-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "df9879aa123b05097da7d834679f8b0485c13be19fc5a2da8d390b031f97f253.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eks/call.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eks/call.integ.snapshot/tree.json index 59f2048ab1027..8203c8f801a9b 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eks/call.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eks/call.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-eks-call-integ": { @@ -1011,8 +1011,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2627,8 +2627,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2806,8 +2806,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2844,8 +2844,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { @@ -2878,8 +2878,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2912,8 +2912,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2946,8 +2946,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { @@ -2980,8 +2980,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -3014,8 +3014,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "97339ad18d3c0bd1b322737b9e36ba41a2ba52511228d82388fbc76ccee5fe20": { @@ -3048,8 +3048,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "199adc4b7f412895dd7c34968ef1a856e419314ece07064a82c763ee904213c2": { @@ -3082,14 +3082,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -4000,8 +4000,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Role": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/job-submission-workflow.integ.snapshot/aws-stepfunctions-tasks-emr-containers-all-services-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/job-submission-workflow.integ.snapshot/aws-stepfunctions-tasks-emr-containers-all-services-integ.assets.json new file mode 100644 index 0000000000000..0e57f51578aea --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/job-submission-workflow.integ.snapshot/aws-stepfunctions-tasks-emr-containers-all-services-integ.assets.json @@ -0,0 +1,123 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "2a2969edcae8a8a3bdf69b6d0b8b6d2ce4f9d22469bc14e32bd8d4b64f00fd75": { + "source": { + "path": "awsstepfunctionstasksemrcontainersallservicesintegawscdkawseksClusterResourceProviderA10A0351.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "2a2969edcae8a8a3bdf69b6d0b8b6d2ce4f9d22469bc14e32bd8d4b64f00fd75.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f54a443f843ffafdff226e775f694616c211bea44fb2bf2574942bcd7969e243": { + "source": { + "path": "awsstepfunctionstasksemrcontainersallservicesintegawscdkawseksKubectlProvider97EB2B07.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f54a443f843ffafdff226e775f694616c211bea44fb2bf2574942bcd7969e243.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "a5282df494e1bc01933ed6d47e499bc6c32a4a102334049110e02eae865bfa67": { + "source": { + "path": "aws-stepfunctions-tasks-emr-containers-all-services-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a5282df494e1bc01933ed6d47e499bc6c32a4a102334049110e02eae865bfa67.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/job-submission-workflow.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/job-submission-workflow.integ.snapshot/tree.json index 3d0a0f85f069c..bfd17127fd79f 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/job-submission-workflow.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/job-submission-workflow.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-emr-containers-all-services-integ": { @@ -951,8 +951,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2577,8 +2577,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2756,8 +2756,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2794,8 +2794,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { @@ -2828,8 +2828,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2862,8 +2862,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2896,8 +2896,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -2930,8 +2930,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -2964,8 +2964,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "eec87f9ea401013c27f6b15dc873d1ae0704a2d1881762417ecaba99f29ae559": { @@ -2998,8 +2998,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4ef590e97d7a8eb96926f7580424cfda027fa610b80a71194c0a04277f711247": { @@ -3032,14 +3032,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -3950,8 +3950,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "JobExecutionRole": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.integ.snapshot/aws-stepfunctions-tasks-emr-containers-start-job-run-integ-test.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.integ.snapshot/aws-stepfunctions-tasks-emr-containers-start-job-run-integ-test.assets.json new file mode 100644 index 0000000000000..51052972740e8 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.integ.snapshot/aws-stepfunctions-tasks-emr-containers-start-job-run-integ-test.assets.json @@ -0,0 +1,149 @@ +{ + "version": "17.0.0", + "files": { + "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee": { + "source": { + "path": "asset.4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4288ebb3652acdf2d828b7db7ca44a7162a401ace50ebb4026e84b18a02a06ee.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { + "source": { + "path": "asset.4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "source": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { + "source": { + "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476": { + "source": { + "path": "asset.01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "01e9cf93416a1f67b17dad851459445bdaaafcc2f3ab4390c03984fd57b2f476.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { + "source": { + "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { + "source": { + "path": "asset.9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "b866fb0fd5a9b4215d1e23188632d74c01f3195f6f9d706134b197b400afb680": { + "source": { + "path": "asset.b866fb0fd5a9b4215d1e23188632d74c01f3195f6f9d706134b197b400afb680", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b866fb0fd5a9b4215d1e23188632d74c01f3195f6f9d706134b197b400afb680.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "a3fd9c49d7620b9fa114d21a5bacbf97d41d4dbfb56c6f6a7e256530affbdaf4": { + "source": { + "path": "awsstepfunctionstasksemrcontainersstartjobrunintegtestawscdkawseksClusterResourceProviderB5D967DC.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "a3fd9c49d7620b9fa114d21a5bacbf97d41d4dbfb56c6f6a7e256530affbdaf4.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "477ec9976689cfee8c4d47c32657e1ecf77c7aca547bf932e78cae3941b196a2": { + "source": { + "path": "awsstepfunctionstasksemrcontainersstartjobrunintegtestawscdkawseksKubectlProviderC26A0FC7.nested.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "477ec9976689cfee8c4d47c32657e1ecf77c7aca547bf932e78cae3941b196a2.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "c528852199ea7c125987f31c4991de0c0fbad28e5ff2871c683ba94c3c70ca56": { + "source": { + "path": "aws-stepfunctions-tasks-emr-containers-start-job-run-integ-test.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "c528852199ea7c125987f31c4991de0c0fbad28e5ff2871c683ba94c3c70ca56.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.integ.snapshot/tree.json index 346bd079afd9b..94e8b79a7abf6 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-emr-containers-start-job-run-integ-test": { @@ -951,8 +951,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "KubectlReadyBarrier": { @@ -2633,8 +2633,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2812,8 +2812,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -2850,8 +2850,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4b85e8c141d9b886acbf891007402913e39574073ba1f533288a75c9f56082c6": { @@ -2884,8 +2884,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -2918,8 +2918,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": { @@ -2952,8 +2952,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "50336bec1c378b6b89cb429265ea84d9df45193d8a0a501e3c7b6794aec3ae17": { @@ -2986,8 +2986,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": { @@ -3020,8 +3020,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "9d784cf317cead201dfe56ed0404d6d23eba6d499ca7354138230c2267f2fe90": { @@ -3054,8 +3054,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "b866fb0fd5a9b4215d1e23188632d74c01f3195f6f9d706134b197b400afb680": { @@ -3088,8 +3088,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "45dc984c2b0a575179e146a99a8fa2730df1b83b8414dd75aa27295ec6d1e8d3": { @@ -3122,8 +3122,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "a31e0f4c672d3f7489f707ae0ed36a85ec720c6f242f44aeb61431d7d3ffbb2d": { @@ -3156,14 +3156,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -4074,8 +4074,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Virtual Cluster": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts index 63dbfdc6eee48..89fe3d835917f 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts @@ -224,7 +224,11 @@ describe('Invoke EMR Containers Start Job Run with ', () => { 's3:GetBucket*', 's3:List*', 's3:DeleteObject*', - 's3:PutObject*', + 's3:PutObject', + 's3:PutObjectLegalHold', + 's3:PutObjectRetention', + 's3:PutObjectTagging', + 's3:PutObjectVersionTagging', 's3:Abort*', ], Effect: 'Allow', @@ -346,7 +350,11 @@ describe('Invoke EMR Containers Start Job Run with ', () => { 's3:GetBucket*', 's3:List*', 's3:DeleteObject*', - 's3:PutObject*', + 's3:PutObject', + 's3:PutObjectLegalHold', + 's3:PutObjectRetention', + 's3:PutObjectTagging', + 's3:PutObjectVersionTagging', 's3:Abort*', ], Effect: 'Allow', @@ -995,4 +1003,4 @@ test('Task throws if WAIT_FOR_TASK_TOKEN is supplied as service integration patt integrationPattern: sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN, }); }).toThrow(/Unsupported service integration pattern. Supported Patterns: REQUEST_RESPONSE,RUN_JOB. Received: WAIT_FOR_TASK_TOKEN/); -}); \ No newline at end of file +}); diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventbridge/put-events.integ.snapshot/aws-stepfunctions-tasks-eventbridge-put-events-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventbridge/put-events.integ.snapshot/aws-stepfunctions-tasks-eventbridge-put-events-integ.assets.json new file mode 100644 index 0000000000000..a7a358faab1ca --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventbridge/put-events.integ.snapshot/aws-stepfunctions-tasks-eventbridge-put-events-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "3f2f2e669dfa3a93efdf3faf7257d875b287206a5bab9484c4899b1d56322e68": { + "source": { + "path": "aws-stepfunctions-tasks-eventbridge-put-events-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3f2f2e669dfa3a93efdf3faf7257d875b287206a5bab9484c4899b1d56322e68.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventbridge/put-events.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventbridge/put-events.integ.snapshot/tree.json index da0158eadc152..e9b0d39ed47a6 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventbridge/put-events.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventbridge/put-events.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-eventbridge-put-events-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/glue-task.integ.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/glue-task.integ.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..9f91ebd43d71f --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/glue-task.integ.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "d030bb7913ca422df69f29b2ea678ab4e5085bb3cbb17029e4b101d2dc4e3e0d": { + "source": { + "path": "asset.d030bb7913ca422df69f29b2ea678ab4e5085bb3cbb17029e4b101d2dc4e3e0d.py", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d030bb7913ca422df69f29b2ea678ab4e5085bb3cbb17029e4b101d2dc4e3e0d.py", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "abe820e100cd0a14042ef0698a3edde994497a771041e3a48431dbce2a434db8": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "abe820e100cd0a14042ef0698a3edde994497a771041e3a48431dbce2a434db8.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/glue-task.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/glue-task.integ.snapshot/tree.json index 8e6dcaea9d669..db7d419d779be 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/glue-task.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/glue-task.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Glue Job Role": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/start-job-run.integ.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/start-job-run.integ.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..c1a9cb74d26bb --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/start-job-run.integ.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "d030bb7913ca422df69f29b2ea678ab4e5085bb3cbb17029e4b101d2dc4e3e0d": { + "source": { + "path": "asset.d030bb7913ca422df69f29b2ea678ab4e5085bb3cbb17029e4b101d2dc4e3e0d.py", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d030bb7913ca422df69f29b2ea678ab4e5085bb3cbb17029e4b101d2dc4e3e0d.py", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f777b01e9d44e766fc7d2eeaf6cabad4e0cdf215cecdb2ab3476f4ed10b19418": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f777b01e9d44e766fc7d2eeaf6cabad4e0cdf215cecdb2ab3476f4ed10b19418.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/start-job-run.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/start-job-run.integ.snapshot/tree.json index 83e60d3037bc7..ec606b412fbb7 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/start-job-run.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/start-job-run.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ": { @@ -76,14 +76,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Glue Job Role": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.integ.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.integ.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..a19631a60f9f1 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.integ.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "9678c34eca93259d11f2d714177347afd66c50116e1e08996eff893d3ca81232": { + "source": { + "path": "asset.9678c34eca93259d11f2d714177347afd66c50116e1e08996eff893d3ca81232", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9678c34eca93259d11f2d714177347afd66c50116e1e08996eff893d3ca81232.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "b46fc277c604b60ff10bfc55df2a3dd32cf7f22c9ac6f8b58e7228cd2cc873fc": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "b46fc277c604b60ff10bfc55df2a3dd32cf7f22c9ac6f8b58e7228cd2cc873fc.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.integ.snapshot/tree.json index b392af90a6cf4..4d2dfc2f705cc 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ": { @@ -194,14 +194,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Invoke Handler": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.integ.snapshot/aws-stepfunctions-tasks-lambda-invoke-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.integ.snapshot/aws-stepfunctions-tasks-lambda-invoke-integ.assets.json new file mode 100644 index 0000000000000..88e1e090da8a8 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.integ.snapshot/aws-stepfunctions-tasks-lambda-invoke-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "86bf3c1c73c608f225febe994ed3db3818c47232e0cc03530f51b94a64b0a005": { + "source": { + "path": "aws-stepfunctions-tasks-lambda-invoke-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "86bf3c1c73c608f225febe994ed3db3818c47232e0cc03530f51b94a64b0a005.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.integ.snapshot/tree.json index 0897c7194ff3d..ed4c772f177cd 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-lambda-invoke-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.payload.only.integ.snapshot/aws-stepfunctions-tasks-lambda-invoke-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.payload.only.integ.snapshot/aws-stepfunctions-tasks-lambda-invoke-integ.assets.json new file mode 100644 index 0000000000000..7f15a35c3fa28 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.payload.only.integ.snapshot/aws-stepfunctions-tasks-lambda-invoke-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "d60d9c17478807c9809e118c6a5467446b7fcab19eb945e53324598a6fe77f9b": { + "source": { + "path": "aws-stepfunctions-tasks-lambda-invoke-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "d60d9c17478807c9809e118c6a5467446b7fcab19eb945e53324598a6fe77f9b.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.payload.only.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.payload.only.integ.snapshot/tree.json index cd4e05d80a4dc..da77ca52ff663 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.payload.only.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke.payload.only.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-lambda-invoke-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda.integ.snapshot/aws-stepfunctions-tasks-run-lambda-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda.integ.snapshot/aws-stepfunctions-tasks-run-lambda-integ.assets.json new file mode 100644 index 0000000000000..48d00b70a7072 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda.integ.snapshot/aws-stepfunctions-tasks-run-lambda-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9b5ec5a7b043dcc8daa8f06b35c3cc6448cbabaa36fa7ed6da51f453a4173dec": { + "source": { + "path": "aws-stepfunctions-tasks-run-lambda-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9b5ec5a7b043dcc8daa8f06b35c3cc6448cbabaa36fa7ed6da51f453a4173dec.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda.integ.snapshot/tree.json index 6dcb19d8f7218..621981ec5318e 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-tasks-run-lambda-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/call-sagemaker.integ.snapshot/aws-stepfunctions-integ-sagemaker.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/call-sagemaker.integ.snapshot/aws-stepfunctions-integ-sagemaker.assets.json new file mode 100644 index 0000000000000..6a4066af1fcad --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/call-sagemaker.integ.snapshot/aws-stepfunctions-integ-sagemaker.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "88654490398fae9563fff47103450603214f9a87bc9bfcafe090adf655e7442a": { + "source": { + "path": "aws-stepfunctions-integ-sagemaker.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "88654490398fae9563fff47103450603214f9a87bc9bfcafe090adf655e7442a.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/call-sagemaker.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/call-sagemaker.integ.snapshot/tree.json index 4fe6901616e9b..8c27080ae20d7 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/call-sagemaker.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/call-sagemaker.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ-sagemaker": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/create-training-job.integ.snapshot/integ-stepfunctions-sagemaker.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/create-training-job.integ.snapshot/integ-stepfunctions-sagemaker.assets.json new file mode 100644 index 0000000000000..a1b6594cfb942 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/create-training-job.integ.snapshot/integ-stepfunctions-sagemaker.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "9f4f57451306215f4846d6b03f9d02054d013dbc3a5606bfb4b7feb416bf9cb6": { + "source": { + "path": "integ-stepfunctions-sagemaker.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "9f4f57451306215f4846d6b03f9d02054d013dbc3a5606bfb4b7feb416bf9cb6.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/create-training-job.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/create-training-job.integ.snapshot/tree.json index 4179881ba835e..eb83a4b5e4bce 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/create-training-job.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/create-training-job.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-stepfunctions-sagemaker": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/start-execution.integ.snapshot/integ-sfn-start-execution.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/start-execution.integ.snapshot/integ-sfn-start-execution.assets.json new file mode 100644 index 0000000000000..218b790ca6816 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/start-execution.integ.snapshot/integ-sfn-start-execution.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "64e31cf4bcac77e85b88ba9d761a53f56e10fb652265829a05f03316b5234177": { + "source": { + "path": "integ-sfn-start-execution.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "64e31cf4bcac77e85b88ba9d761a53f56e10fb652265829a05f03316b5234177.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/start-execution.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/start-execution.integ.snapshot/tree.json index b1272f900f398..41038504f2f4a 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/start-execution.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/start-execution.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-sfn-start-execution": { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/stepfunctions/start-execution.integ.snapshot/integ-sfn-start-execution.assets.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/stepfunctions/start-execution.integ.snapshot/integ-sfn-start-execution.assets.json new file mode 100644 index 0000000000000..e03b9c86b2cd2 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/stepfunctions/start-execution.integ.snapshot/integ-sfn-start-execution.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "0d3ee6ced913def12447e2ab90f6e60e60a5bdd1f4d8983636399e9a2aae9c3d": { + "source": { + "path": "integ-sfn-start-execution.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0d3ee6ced913def12447e2ab90f6e60e60a5bdd1f4d8983636399e9a2aae9c3d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/stepfunctions/start-execution.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/stepfunctions/start-execution.integ.snapshot/tree.json index 1036ecfa0b8af..f9439b4b60b6e 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/stepfunctions/start-execution.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/stepfunctions/start-execution.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-sfn-start-execution": { diff --git a/packages/@aws-cdk/aws-stepfunctions/lib/state-machine-fragment.ts b/packages/@aws-cdk/aws-stepfunctions/lib/state-machine-fragment.ts index 0103ceb735499..91515ec034ec8 100644 --- a/packages/@aws-cdk/aws-stepfunctions/lib/state-machine-fragment.ts +++ b/packages/@aws-cdk/aws-stepfunctions/lib/state-machine-fragment.ts @@ -1,12 +1,9 @@ +import { Construct } from 'constructs'; import { Chain } from './chain'; import { Parallel, ParallelProps } from './states/parallel'; import { State } from './states/state'; import { IChainable, INextable } from './types'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; - /** * Base class for reusable state machine fragments */ diff --git a/packages/@aws-cdk/aws-stepfunctions/lib/states/map.ts b/packages/@aws-cdk/aws-stepfunctions/lib/states/map.ts index 64dbaec2d8462..f1111e9e1974d 100644 --- a/packages/@aws-cdk/aws-stepfunctions/lib/states/map.ts +++ b/packages/@aws-cdk/aws-stepfunctions/lib/states/map.ts @@ -184,7 +184,7 @@ export class Map extends State implements INextable { /** * Validate this state */ - protected validate(): string[] { + protected validateState(): string[] { const errors: string[] = []; if (this.iteration === undefined) { diff --git a/packages/@aws-cdk/aws-stepfunctions/lib/states/parallel.ts b/packages/@aws-cdk/aws-stepfunctions/lib/states/parallel.ts index e565549b7a38d..9bcc50733e258 100644 --- a/packages/@aws-cdk/aws-stepfunctions/lib/states/parallel.ts +++ b/packages/@aws-cdk/aws-stepfunctions/lib/states/parallel.ts @@ -151,7 +151,7 @@ export class Parallel extends State implements INextable { /** * Validate this state */ - protected validate(): string[] { + protected validateState(): string[] { if (this.branches.length === 0) { return ['Parallel must have at least one branch']; } diff --git a/packages/@aws-cdk/aws-stepfunctions/lib/states/state.ts b/packages/@aws-cdk/aws-stepfunctions/lib/states/state.ts index 5dee29cf978ac..5fd6a7f0b2ce8 100644 --- a/packages/@aws-cdk/aws-stepfunctions/lib/states/state.ts +++ b/packages/@aws-cdk/aws-stepfunctions/lib/states/state.ts @@ -4,10 +4,6 @@ import { FieldUtils, JsonPath } from '../fields'; import { StateGraph } from '../state-graph'; import { CatchProps, Errors, IChainable, INextable, RetryProps } from '../types'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties shared by all states */ @@ -77,7 +73,7 @@ export interface StateProps { /** * Base class for all other state classes */ -export abstract class State extends CoreConstruct implements IChainable { +export abstract class State extends Construct implements IChainable { /** * Add a prefix to the stateId of all States found in a construct tree */ @@ -203,6 +199,15 @@ export abstract class State extends CoreConstruct implements IChainable { this.outputPath = props.outputPath; this.resultPath = props.resultPath; this.resultSelector = props.resultSelector; + + this.node.addValidation({ validate: () => this.validateState() }); + } + + /** + * Allows the state to validate itself. + */ + protected validateState(): string[] { + return []; } public get id() { diff --git a/packages/@aws-cdk/aws-stepfunctions/package.json b/packages/@aws-cdk/aws-stepfunctions/package.json index 8b6dfc61a3aee..4de896e412a9f 100644 --- a/packages/@aws-cdk/aws-stepfunctions/package.json +++ b/packages/@aws-cdk/aws-stepfunctions/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-stepfunctions", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::StepFunctions", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_stepfunctions", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -93,7 +94,7 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -103,10 +104,10 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/aws-stepfunctions/test/state-machine.integ.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk/aws-stepfunctions/test/state-machine.integ.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..90e6156aee839 --- /dev/null +++ b/packages/@aws-cdk/aws-stepfunctions/test/state-machine.integ.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "17.0.0", + "files": { + "3ed4eac30381fd24395654108d80ae1d1f7fba804ae719cdbde6915326d83e37": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "3ed4eac30381fd24395654108d80ae1d1f7fba804ae719cdbde6915326d83e37.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-stepfunctions/test/state-machine.integ.snapshot/tree.json b/packages/@aws-cdk/aws-stepfunctions/test/state-machine.integ.snapshot/tree.json index 90e6a0a0421c8..6d6927762d150 100644 --- a/packages/@aws-cdk/aws-stepfunctions/test/state-machine.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-stepfunctions/test/state-machine.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "aws-stepfunctions-integ": { diff --git a/packages/@aws-cdk/aws-stepfunctions/test/states-language.test.ts b/packages/@aws-cdk/aws-stepfunctions/test/states-language.test.ts index 2e034bfb099a0..c4fb88f67b6af 100644 --- a/packages/@aws-cdk/aws-stepfunctions/test/states-language.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions/test/states-language.test.ts @@ -1,6 +1,5 @@ import * as iam from '@aws-cdk/aws-iam'; import * as cdk from '@aws-cdk/core'; -import * as constructs from 'constructs'; import { Construct } from 'constructs'; import * as stepfunctions from '../lib'; @@ -580,7 +579,7 @@ describe('States Language', () => { test('No duplicate state IDs', () => { // GIVEN const stack = new cdk.Stack(); - const intermediateParent = new cdk.Construct(stack, 'Parent'); + const intermediateParent = new Construct(stack, 'Parent'); const state1 = new stepfunctions.Pass(stack, 'State'); const state2 = new stepfunctions.Pass(intermediateParent, 'State'); @@ -594,7 +593,7 @@ describe('States Language', () => { test('No duplicate state IDs even across Parallel branches', () => { // GIVEN const stack = new cdk.Stack(); - const intermediateParent = new cdk.Construct(stack, 'Parent'); + const intermediateParent = new Construct(stack, 'Parent'); const state1 = new stepfunctions.Pass(stack, 'State'); const state2 = new stepfunctions.Pass(intermediateParent, 'State'); @@ -697,7 +696,7 @@ describe('States Language', () => { class ReusableStateMachine extends stepfunctions.StateMachineFragment { public readonly startState: stepfunctions.State; public readonly endStates: stepfunctions.INextable[]; - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); const choice = new stepfunctions.Choice(this, 'Choice') @@ -714,7 +713,7 @@ class SimpleChain extends stepfunctions.StateMachineFragment { public readonly endStates: stepfunctions.INextable[]; private readonly task2: stepfunctions.TaskStateBase; - constructor(scope: constructs.Construct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); const task1 = new FakeTask(this, 'Task1'); diff --git a/packages/@aws-cdk/aws-synthetics/package.json b/packages/@aws-cdk/aws-synthetics/package.json index 0038aa6c779d1..28c84855ad4c5 100644 --- a/packages/@aws-cdk/aws-synthetics/package.json +++ b/packages/@aws-cdk/aws-synthetics/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-synthetics", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Synthetics", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_synthetics", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -95,7 +96,8 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/aws-cloudwatch": "0.0.0", @@ -104,10 +106,11 @@ "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/aws-s3-assets": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "developer-preview", @@ -115,6 +118,6 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" } } diff --git a/packages/@aws-cdk/aws-synthetics/test/canary.integ.snapshot/tree.json b/packages/@aws-cdk/aws-synthetics/test/canary.integ.snapshot/tree.json index 8dd7982bbc3c7..0b51711dbc0b4 100644 --- a/packages/@aws-cdk/aws-synthetics/test/canary.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-synthetics/test/canary.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "canary-one": { @@ -565,8 +565,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "b1b777dcb79a2fa2790059927207d10bf5f4747d6dd1516e2780726d9d6fa820": { @@ -599,14 +599,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyCanaryTwo": { diff --git a/packages/@aws-cdk/aws-synthetics/test/code.test.ts b/packages/@aws-cdk/aws-synthetics/test/code.test.ts index 84bb7ec61ded1..6b93ad9b6cebd 100644 --- a/packages/@aws-cdk/aws-synthetics/test/code.test.ts +++ b/packages/@aws-cdk/aws-synthetics/test/code.test.ts @@ -1,6 +1,7 @@ import * as path from 'path'; import { Template } from '@aws-cdk/assertions'; import * as s3 from '@aws-cdk/aws-s3'; +import * as cxapi from '@aws-cdk/cx-api'; import { App, Stack } from '@aws-cdk/core'; import * as synthetics from '../lib'; import { RuntimeFamily } from '../lib'; @@ -89,7 +90,11 @@ describe(synthetics.Code.fromAsset, () => { test('only one Asset object gets created even if multiple canaries use the same AssetCode', () => { // GIVEN - const app = new App(); + const app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); const stack = new Stack(app, 'canaries'); // WHEN diff --git a/packages/@aws-cdk/aws-synthetics/test/vpc.integ.snapshot/tree.json b/packages/@aws-cdk/aws-synthetics/test/vpc.integ.snapshot/tree.json index 5d03446d2f3ce..ed2d1e4888366 100644 --- a/packages/@aws-cdk/aws-synthetics/test/vpc.integ.snapshot/tree.json +++ b/packages/@aws-cdk/aws-synthetics/test/vpc.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "canary-vpc": { @@ -1087,14 +1087,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/aws-timestream/package.json b/packages/@aws-cdk/aws-timestream/package.json index fce04f5e7728b..fa2e1b34da167 100644 --- a/packages/@aws-cdk/aws-timestream/package.json +++ b/packages/@aws-cdk/aws-timestream/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-timestream", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Timestream", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -30,7 +31,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-timestream", "module": "aws_cdk.aws_timestream" @@ -88,13 +89,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-transfer/package.json b/packages/@aws-cdk/aws-transfer/package.json index 008cd3115789b..7393242b8abef 100644 --- a/packages/@aws-cdk/aws-transfer/package.json +++ b/packages/@aws-cdk/aws-transfer/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-transfer", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::Transfer", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_transfer", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-voiceid/package.json b/packages/@aws-cdk/aws-voiceid/package.json index 61ee38ad09f8d..bb7d76782a2f9 100644 --- a/packages/@aws-cdk/aws-voiceid/package.json +++ b/packages/@aws-cdk/aws-voiceid/package.json @@ -25,7 +25,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-voiceid", "module": "aws_cdk.aws_voiceid" @@ -91,13 +91,15 @@ "@types/jest": "^27.4.1" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -106,5 +108,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/aws-waf/package.json b/packages/@aws-cdk/aws-waf/package.json index afaf843da04bc..b763468099324 100644 --- a/packages/@aws-cdk/aws-waf/package.json +++ b/packages/@aws-cdk/aws-waf/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-waf", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::WAF", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_waf", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-wafregional/package.json b/packages/@aws-cdk/aws-wafregional/package.json index f5ea978f27b59..f3bf498982391 100644 --- a/packages/@aws-cdk/aws-wafregional/package.json +++ b/packages/@aws-cdk/aws-wafregional/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-wafregional", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::WAFRegional", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_wafregional", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-wafv2/package.json b/packages/@aws-cdk/aws-wafv2/package.json index 9a258bd21b6dd..9febb88612be6 100644 --- a/packages/@aws-cdk/aws-wafv2/package.json +++ b/packages/@aws-cdk/aws-wafv2/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-wafv2", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::WAFv2", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_wafv2", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,14 +90,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-wisdom/package.json b/packages/@aws-cdk/aws-wisdom/package.json index 33566f0960f58..130fbbcb00932 100644 --- a/packages/@aws-cdk/aws-wisdom/package.json +++ b/packages/@aws-cdk/aws-wisdom/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-wisdom", "module": "aws_cdk.aws_wisdom" @@ -92,14 +92,14 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -107,6 +107,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/aws-workspaces/package.json b/packages/@aws-cdk/aws-workspaces/package.json index b618b6e7ea475..ab86377a51aeb 100644 --- a/packages/@aws-cdk/aws-workspaces/package.json +++ b/packages/@aws-cdk/aws-workspaces/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/aws-workspaces", "version": "0.0.0", + "private": true, "description": "The CDK Construct Library for AWS::WorkSpaces", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.aws_workspaces", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,15 +88,15 @@ }, "dependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", diff --git a/packages/@aws-cdk/aws-xray/package.json b/packages/@aws-cdk/aws-xray/package.json index 232171d7b58df..07ecc8ee0d4ea 100644 --- a/packages/@aws-cdk/aws-xray/package.json +++ b/packages/@aws-cdk/aws-xray/package.json @@ -32,7 +32,7 @@ "python": { "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.aws-xray", "module": "aws_cdk.aws_xray" @@ -90,13 +90,15 @@ "@types/jest": "^27.5.0" }, "dependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "peerDependencies": { - "@aws-cdk/core": "0.0.0" + "@aws-cdk/core": "0.0.0", + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "cfn-only", @@ -104,6 +106,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/cdk-assets-schema/package.json b/packages/@aws-cdk/cdk-assets-schema/package.json index c7df2582f317c..cc1d376d7e37b 100644 --- a/packages/@aws-cdk/cdk-assets-schema/package.json +++ b/packages/@aws-cdk/cdk-assets-schema/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/cdk-assets-schema", "version": "0.0.0", + "private": true, "description": "Schema definition for the Asset Manifest", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.cdk_assets_schema", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -75,7 +76,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "deprecated", "awscdkio": { diff --git a/packages/@aws-cdk/cloud-assembly-schema/package.json b/packages/@aws-cdk/cloud-assembly-schema/package.json index 0b97fca8a6fa4..9b19a382c4cea 100644 --- a/packages/@aws-cdk/cloud-assembly-schema/package.json +++ b/packages/@aws-cdk/cloud-assembly-schema/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.cloud_assembly_schema", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -84,7 +84,7 @@ "semver" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { @@ -99,6 +99,6 @@ }, "maturity": "stable", "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/@aws-cdk/cloudformation-diff/package.json b/packages/@aws-cdk/cloudformation-diff/package.json index 2f6f7667dbad7..7ed9c5b3261c7 100644 --- a/packages/@aws-cdk/cloudformation-diff/package.json +++ b/packages/@aws-cdk/cloudformation-diff/package.json @@ -51,11 +51,11 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/@aws-cdk/cloudformation-include/lib/cfn-include.ts b/packages/@aws-cdk/cloudformation-include/lib/cfn-include.ts index 2577910e6a035..2dcc4ee6b32e3 100644 --- a/packages/@aws-cdk/cloudformation-include/lib/cfn-include.ts +++ b/packages/@aws-cdk/cloudformation-include/lib/cfn-include.ts @@ -4,10 +4,6 @@ import { Construct } from 'constructs'; import * as cfn_type_to_l1_mapping from './cfn-type-to-l1-mapping'; import * as futils from './file-utils'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Construction properties of {@link CfnInclude}. */ @@ -118,7 +114,7 @@ export class CfnInclude extends core.CfnElement { } // instantiate the Mappings - this.mappingsScope = new CoreConstruct(this, '$Mappings'); + this.mappingsScope = new Construct(this, '$Mappings'); for (const mappingName of Object.keys(this.template.Mappings || {})) { this.createMapping(mappingName); } @@ -129,13 +125,13 @@ export class CfnInclude extends core.CfnElement { } // instantiate the conditions - this.conditionsScope = new CoreConstruct(this, '$Conditions'); + this.conditionsScope = new Construct(this, '$Conditions'); for (const conditionName of Object.keys(this.template.Conditions || {})) { this.getOrCreateCondition(conditionName); } // instantiate the rules - this.rulesScope = new CoreConstruct(this, '$Rules'); + this.rulesScope = new Construct(this, '$Rules'); for (const ruleName of Object.keys(this.template.Rules || {})) { this.createRule(ruleName); } @@ -153,12 +149,12 @@ export class CfnInclude extends core.CfnElement { } // instantiate the Hooks - this.hooksScope = new CoreConstruct(this, '$Hooks'); + this.hooksScope = new Construct(this, '$Hooks'); for (const hookName of Object.keys(this.template.Hooks || {})) { this.createHook(hookName); } - const outputScope = new CoreConstruct(this, '$Ouputs'); + const outputScope = new Construct(this, '$Ouputs'); for (const logicalId of Object.keys(this.template.Outputs || {})) { this.createOutput(logicalId, outputScope); } diff --git a/packages/@aws-cdk/cloudformation-include/package.json b/packages/@aws-cdk/cloudformation-include/package.json index d4955a1821f85..9f8ac66d85658 100644 --- a/packages/@aws-cdk/cloudformation-include/package.json +++ b/packages/@aws-cdk/cloudformation-include/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/cloudformation-include", "version": "0.0.0", + "private": true, "description": "A package that facilitates working with existing CloudFormation templates in the CDK", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.cloudformation_include", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -263,7 +264,8 @@ "@aws-cdk/aws-workspaces": "0.0.0", "@aws-cdk/aws-xray": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69", + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0", "yaml": "1.10.2" }, "peerDependencies": { @@ -457,7 +459,8 @@ "@aws-cdk/aws-workspaces": "0.0.0", "@aws-cdk/aws-xray": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "@aws-cdk/cx-api": "0.0.0", + "constructs": "^10.0.0" }, "devDependencies": { "@aws-cdk/assertions": "0.0.0", @@ -484,7 +487,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "awslint": { "exclude": [ diff --git a/packages/@aws-cdk/cloudformation-include/test/invalid-templates.test.ts b/packages/@aws-cdk/cloudformation-include/test/invalid-templates.test.ts index a3f55427dbbc9..eeaf03c77dcd2 100644 --- a/packages/@aws-cdk/cloudformation-include/test/invalid-templates.test.ts +++ b/packages/@aws-cdk/cloudformation-include/test/invalid-templates.test.ts @@ -1,5 +1,6 @@ import * as path from 'path'; import * as core from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as constructs from 'constructs'; import * as inc from '../lib'; @@ -8,7 +9,7 @@ describe('CDK Include', () => { let stack: core.Stack; beforeEach(() => { - app = new core.App(); + app = new core.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); stack = new core.Stack(app); }); diff --git a/packages/@aws-cdk/cloudformation-include/test/nested-stacks.test.ts b/packages/@aws-cdk/cloudformation-include/test/nested-stacks.test.ts index 4e73005db1e54..32342680016b7 100644 --- a/packages/@aws-cdk/cloudformation-include/test/nested-stacks.test.ts +++ b/packages/@aws-cdk/cloudformation-include/test/nested-stacks.test.ts @@ -2,6 +2,7 @@ import * as path from 'path'; import { Match, Template } from '@aws-cdk/assertions'; import * as s3 from '@aws-cdk/aws-s3'; import * as core from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as inc from '../lib'; import * as futils from '../lib/file-utils'; @@ -12,7 +13,8 @@ describe('CDK Include for nested stacks', () => { let stack: core.Stack; beforeEach(() => { - stack = new core.Stack(); + const app = new core.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + stack = new core.Stack(app); }); test('can ingest a template with one child', () => { @@ -504,7 +506,8 @@ describe('CDK Include for nested stacks', () => { let childKeyParam: string; beforeAll(() => { - assetStack = new core.Stack(); + const app = new core.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + assetStack = new core.Stack(app); parentTemplate = new inc.CfnInclude(assetStack, 'ParentStack', { templateFile: testTemplateFilePath('parent-one-child.json'), loadNestedStacks: { diff --git a/packages/@aws-cdk/cloudformation-include/test/serverless-transform.test.ts b/packages/@aws-cdk/cloudformation-include/test/serverless-transform.test.ts index 706afb615ec72..f1aaf93ecaacb 100644 --- a/packages/@aws-cdk/cloudformation-include/test/serverless-transform.test.ts +++ b/packages/@aws-cdk/cloudformation-include/test/serverless-transform.test.ts @@ -1,6 +1,7 @@ import * as path from 'path'; import { Template } from '@aws-cdk/assertions'; import * as core from '@aws-cdk/core'; +import * as cxapi from '@aws-cdk/cx-api'; import * as constructs from 'constructs'; import * as inc from '../lib'; import * as futils from '../lib/file-utils'; @@ -12,7 +13,8 @@ describe('CDK Include for templates with SAM transform', () => { let stack: core.Stack; beforeEach(() => { - stack = new core.Stack(); + const app = new core.App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + stack = new core.Stack(app); }); test('can ingest a template with only a minimal SAM function using S3Location for CodeUri, and output it unchanged', () => { diff --git a/packages/@aws-cdk/core/README.md b/packages/@aws-cdk/core/README.md index d1a96ce01b8c4..7d720090a420e 100644 --- a/packages/@aws-cdk/core/README.md +++ b/packages/@aws-cdk/core/README.md @@ -626,6 +626,23 @@ const roleArn = provider.roleArn; This role ARN can then be used in resource-based IAM policies. +To add IAM policy statements to this role, use `addToRolePolicy()`: + +```ts +const provider = CustomResourceProvider.getOrCreateProvider(this, 'Custom::MyCustomResourceType', { + codeDirectory: `${__dirname}/my-handler`, + runtime: CustomResourceProviderRuntime.NODEJS_12_X, +}); +provider.addToRolePolicy({ + Effect: 'Allow', + Action: 's3:GetObject', + Resource: '*', +}) +``` + +Note that `addToRolePolicy()` uses direct IAM JSON policy blobs, *not* a +`iam.PolicyStatement` object like you will see in the rest of the CDK. + #### The Custom Resource Provider Framework The [`@aws-cdk/custom-resources`] module includes an advanced framework for diff --git a/packages/@aws-cdk/core/lib/annotations.ts b/packages/@aws-cdk/core/lib/annotations.ts index 03fb7a99bd80a..1a6f900f4799a 100644 --- a/packages/@aws-cdk/core/lib/annotations.ts +++ b/packages/@aws-cdk/core/lib/annotations.ts @@ -1,4 +1,5 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; +import * as cxapi from '@aws-cdk/cx-api'; import { IConstruct, Node } from 'constructs'; const DEPRECATIONS_SYMBOL = Symbol.for('@aws-cdk/core.deprecations'); @@ -15,8 +16,14 @@ export class Annotations { return new Annotations(scope); } + private readonly stackTraces: boolean; + private constructor(private readonly scope: IConstruct) { + const disableTrace = + scope.node.tryGetContext(cxapi.DISABLE_METADATA_STACK_TRACE) || + process.env.CDK_DISABLE_STACK_TRACE; + this.stackTraces = !disableTrace; } /** @@ -89,7 +96,7 @@ export class Annotations { * @param message The message itself */ private addMessage(level: string, message: string) { - Node.of(this.scope).addMetadata(level, message); + Node.of(this.scope).addMetadata(level, message, { stackTrace: this.stackTraces }); } /** diff --git a/packages/@aws-cdk/core/lib/aspect.ts b/packages/@aws-cdk/core/lib/aspect.ts index 98a8cd977aaeb..21610fcb99669 100644 --- a/packages/@aws-cdk/core/lib/aspect.ts +++ b/packages/@aws-cdk/core/lib/aspect.ts @@ -1,4 +1,4 @@ -import { IConstruct } from './construct-compat'; +import { IConstruct } from 'constructs'; const ASPECTS_SYMBOL = Symbol.for('cdk-aspects'); @@ -17,7 +17,6 @@ export interface IAspect { * synthesis. */ export class Aspects { - /** * Returns the `Aspects` object associated with a construct scope. * @param scope The scope for which these aspects will apply. @@ -25,7 +24,7 @@ export class Aspects { public static of(scope: IConstruct): Aspects { let aspects = (scope as any)[ASPECTS_SYMBOL]; if (!aspects) { - aspects = new Aspects(scope); + aspects = new Aspects(); Object.defineProperty(scope, ASPECTS_SYMBOL, { value: aspects, @@ -36,23 +35,24 @@ export class Aspects { return aspects; } - // TODO(2.0): private readonly _aspects = new Array(); - private constructor(private readonly scope: IConstruct) { } + private readonly _aspects: IAspect[]; + + private constructor() { + this._aspects = []; + } /** * Adds an aspect to apply this scope before synthesis. * @param aspect The aspect to add. */ public add(aspect: IAspect) { - // TODO(2.0): this._aspects.push(aspect); - this.scope.node._actualNode.applyAspect(aspect); + this._aspects.push(aspect); } /** * The list of aspects which were directly applied on this scope. */ - public get aspects(): IAspect[] { - // TODO(2.0): return [ ...this._aspects ]; - return [...(this.scope.node._actualNode as any)._aspects]; // clone + public get all(): IAspect[] { + return [...this._aspects]; } } \ No newline at end of file diff --git a/packages/@aws-cdk/core/lib/asset-staging.ts b/packages/@aws-cdk/core/lib/asset-staging.ts index ee1f2bafc6a04..b6a84d9af0961 100644 --- a/packages/@aws-cdk/core/lib/asset-staging.ts +++ b/packages/@aws-cdk/core/lib/asset-staging.ts @@ -12,10 +12,6 @@ import { Cache } from './private/cache'; import { Stack } from './stack'; import { Stage } from './stage'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from './construct-compat'; - const ARCHIVE_EXTENSIONS = ['.zip', '.jar']; /** @@ -71,7 +67,7 @@ export interface AssetStagingProps extends FingerprintOptions, AssetOptions { * The file/directory are staged based on their content hash (fingerprint). This * means that only if content was changed, copy will happen. */ -export class AssetStaging extends CoreConstruct { +export class AssetStaging extends Construct { /** * The directory inside the bundling container into which the asset sources will be mounted. */ diff --git a/packages/@aws-cdk/core/lib/cfn-element.ts b/packages/@aws-cdk/core/lib/cfn-element.ts index feac7bd320dac..f233288c02aa8 100644 --- a/packages/@aws-cdk/core/lib/cfn-element.ts +++ b/packages/@aws-cdk/core/lib/cfn-element.ts @@ -1,10 +1,6 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct, Node } from 'constructs'; - -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from './construct-compat'; import { Lazy } from './lazy'; const CFN_ELEMENT_SYMBOL = Symbol.for('@aws-cdk/core.CfnElement'); @@ -12,7 +8,7 @@ const CFN_ELEMENT_SYMBOL = Symbol.for('@aws-cdk/core.CfnElement'); /** * An element of a CloudFormation stack. */ -export abstract class CfnElement extends CoreConstruct { +export abstract class CfnElement extends Construct { /** * Returns `true` if a construct is a stack element (i.e. part of the * synthesized cloudformation template). @@ -74,7 +70,9 @@ export abstract class CfnElement extends CoreConstruct { }); if (!this.node.tryGetContext(cxapi.DISABLE_LOGICAL_ID_METADATA)) { - Node.of(this).addMetadata(cxschema.ArtifactMetadataEntryType.LOGICAL_ID, this.logicalId, this.constructor); + Node.of(this).addMetadata(cxschema.ArtifactMetadataEntryType.LOGICAL_ID, this.logicalId, { + traceFromFunction: this.constructor, + }); } } diff --git a/packages/@aws-cdk/core/lib/cfn-json.ts b/packages/@aws-cdk/core/lib/cfn-json.ts index df6bc40ef9f9e..c4ef8f67a1b1b 100644 --- a/packages/@aws-cdk/core/lib/cfn-json.ts +++ b/packages/@aws-cdk/core/lib/cfn-json.ts @@ -7,10 +7,6 @@ import { IResolvable, IResolveContext } from './resolvable'; import { Stack } from './stack'; import { captureStackTrace } from './stack-trace'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from './construct-compat'; - export interface CfnJsonProps { /** * The value to resolve. Can be any JavaScript object, including tokens and @@ -33,7 +29,7 @@ export interface CfnJsonProps { * * This construct is backed by a custom resource. */ -export class CfnJson extends CoreConstruct implements IResolvable { +export class CfnJson extends Construct implements IResolvable { public readonly creationStack: string[] = []; /** diff --git a/packages/@aws-cdk/core/lib/cfn-output.ts b/packages/@aws-cdk/core/lib/cfn-output.ts index 0dfab3d63f16e..a9d935829fb6f 100644 --- a/packages/@aws-cdk/core/lib/cfn-output.ts +++ b/packages/@aws-cdk/core/lib/cfn-output.ts @@ -57,6 +57,8 @@ export class CfnOutput extends CfnElement { this._value = props.value; this._condition = props.condition; this._exportName = props.exportName; + + this.node.addValidation({ validate: () => this.validateOutput() }); } /** @@ -164,7 +166,7 @@ export class CfnOutput extends CfnElement { }; } - protected validate(): string[] { + private validateOutput(): string[] { if (this._exportName && !Token.isUnresolved(this._exportName) && this._exportName.length > 255) { return [`Export name cannot exceed 255 characters (got ${this._exportName.length} characters)`]; } @@ -172,6 +174,7 @@ export class CfnOutput extends CfnElement { } } +/* eslint-disable import/order */ import { CfnCondition } from './cfn-condition'; import { Fn } from './cfn-fn'; import { Lazy } from './lazy'; diff --git a/packages/@aws-cdk/core/lib/cfn-pseudo.ts b/packages/@aws-cdk/core/lib/cfn-pseudo.ts index 7144b7edc2af1..98b59e193e98a 100644 --- a/packages/@aws-cdk/core/lib/cfn-pseudo.ts +++ b/packages/@aws-cdk/core/lib/cfn-pseudo.ts @@ -1,4 +1,4 @@ -import { Construct } from './construct-compat'; +import { Construct } from 'constructs'; import { CfnReference } from './private/cfn-reference'; import { Token } from './token'; diff --git a/packages/@aws-cdk/core/lib/construct-compat.ts b/packages/@aws-cdk/core/lib/construct-compat.ts deleted file mode 100644 index 0e55678c2ef71..0000000000000 --- a/packages/@aws-cdk/core/lib/construct-compat.ts +++ /dev/null @@ -1,577 +0,0 @@ -/** - * Constructs compatibility layer. - * - * This file includes types that shadow types in the "constructs" module in - * order to allow backwards-compatiblity in the AWS CDK v1.0 release line. - * - * There are pretty ugly hacks here, which mostly involve downcasting types to - * adhere to legacy AWS CDK APIs. - * - * This file, in its entirety, is expected to be removed in v2.0. - */ - -import * as cxapi from '@aws-cdk/cx-api'; -import * as constructs from 'constructs'; -import { Annotations } from './annotations'; -import { IAspect, Aspects } from './aspect'; -import { IDependable } from './dependency'; -import { Token } from './token'; - -const ORIGINAL_CONSTRUCT_NODE_SYMBOL = Symbol.for('@aws-cdk/core.ConstructNode'); -const CONSTRUCT_SYMBOL = Symbol.for('@aws-cdk/core.Construct'); - -/** - * Represents a construct. - */ -export interface IConstruct extends constructs.IConstruct, IDependable { - /** - * The construct tree node for this construct. - */ - readonly node: ConstructNode; -} - -/** - * Represents a single session of synthesis. Passed into `Construct.synthesize()` methods. - */ -export interface ISynthesisSession { - /** - * The output directory for this synthesis session. - */ - outdir: string; - - /** - * Cloud assembly builder. - */ - assembly: cxapi.CloudAssemblyBuilder; - - /** - * Whether the stack should be validated after synthesis to check for error metadata - * - * @default - false - */ - validateOnSynth?: boolean; -} - -/** - * Represents the building block of the construct graph. - * - * All constructs besides the root construct must be created within the scope of - * another construct. - */ -export class Construct extends constructs.Construct implements IConstruct { - /** - * Return whether the given object is a Construct - */ - public static isConstruct(x: any): x is Construct { - return typeof x === 'object' && x !== null && CONSTRUCT_SYMBOL in x; - } - - /** - * The construct tree node associated with this construct. - */ - public readonly node: ConstructNode; - - constructor(scope: constructs.Construct, id: string) { - super(scope, id, { - nodeFactory: { - createNode: (h: constructs.Construct, s: constructs.IConstruct, i: string) => - new ConstructNode(h as Construct, s as IConstruct, i)._actualNode, - }, - }); - - if (Token.isUnresolved(id)) { - throw new Error(`Cannot use tokens in construct ID: ${id}`); - } - - Object.defineProperty(this, CONSTRUCT_SYMBOL, { value: true }); - this.node = ConstructNode._unwrap(constructs.Node.of(this)); - - const disableTrace = - this.node.tryGetContext(cxapi.DISABLE_METADATA_STACK_TRACE) || - this.node.tryGetContext(constructs.ConstructMetadata.DISABLE_STACK_TRACE_IN_METADATA) || - process.env.CDK_DISABLE_STACK_TRACE; - - if (disableTrace) { - this.node.setContext(cxapi.DISABLE_METADATA_STACK_TRACE, true); - this.node.setContext(constructs.ConstructMetadata.DISABLE_STACK_TRACE_IN_METADATA, true); - process.env.CDK_DISABLE_STACK_TRACE = '1'; - } - } - - /** - * Validate the current construct. - * - * This method can be implemented by derived constructs in order to perform - * validation logic. It is called on all constructs before synthesis. - * - * @returns An array of validation error messages, or an empty array if the construct is valid. - */ - protected onValidate(): string[] { - return this.validate(); - } - - /** - * Perform final modifications before synthesis - * - * This method can be implemented by derived constructs in order to perform - * final changes before synthesis. prepare() will be called after child - * constructs have been prepared. - * - * This is an advanced framework feature. Only use this if you - * understand the implications. - */ - protected onPrepare(): void { - this.prepare(); - } - - /** - * Allows this construct to emit artifacts into the cloud assembly during synthesis. - * - * This method is usually implemented by framework-level constructs such as `Stack` and `Asset` - * as they participate in synthesizing the cloud assembly. - * - * @param session The synthesis session. - */ - protected onSynthesize(session: constructs.ISynthesisSession): void { - this.synthesize({ - outdir: session.outdir, - assembly: session.assembly!, - }); - } - - /** - * Validate the current construct. - * - * This method can be implemented by derived constructs in order to perform - * validation logic. It is called on all constructs before synthesis. - * - * @returns An array of validation error messages, or an empty array if the construct is valid. - */ - protected validate(): string[] { - return []; - } - - /** - * Perform final modifications before synthesis - * - * This method can be implemented by derived constructs in order to perform - * final changes before synthesis. prepare() will be called after child - * constructs have been prepared. - * - * This is an advanced framework feature. Only use this if you - * understand the implications. - */ - protected prepare(): void { - return; - } - - /** - * Allows this construct to emit artifacts into the cloud assembly during synthesis. - * - * This method is usually implemented by framework-level constructs such as `Stack` and `Asset` - * as they participate in synthesizing the cloud assembly. - * - * @param session The synthesis session. - */ - protected synthesize(session: ISynthesisSession): void { - ignore(session); - } -} - -/** - * In what order to return constructs - */ -export enum ConstructOrder { - /** - * Depth-first, pre-order - */ - PREORDER, - - /** - * Depth-first, post-order (leaf nodes first) - */ - POSTORDER -} - -/** - * Options for synthesis. - * - * @deprecated use `app.synth()` or `stage.synth()` instead - */ -export interface SynthesisOptions extends cxapi.AssemblyBuildOptions { - /** - * The output directory into which to synthesize the cloud assembly. - * @default - creates a temporary directory - */ - readonly outdir?: string; - - /** - * Whether synthesis should skip the validation phase. - * @default false - */ - readonly skipValidation?: boolean; - - /** - * Whether the stack should be validated after synthesis to check for error metadata - * - * @default - false - */ - readonly validateOnSynthesis?: boolean; -} - -/** - * Represents the construct node in the scope tree. - */ -export class ConstructNode { - /** - * Separator used to delimit construct path components. - */ - public static readonly PATH_SEP = '/'; - - /** - * Returns the wrapping `@aws-cdk/core.ConstructNode` instance from a `constructs.ConstructNode`. - * - * @internal - */ - public static _unwrap(c: constructs.Node): ConstructNode { - const x = (c as any)[ORIGINAL_CONSTRUCT_NODE_SYMBOL]; - if (!x) { - throw new Error('invalid ConstructNode type'); - } - - return x; - } - - /** - * Synthesizes a CloudAssembly from a construct tree. - * @param node The root of the construct tree. - * @param options Synthesis options. - * @deprecated Use `app.synth()` or `stage.synth()` instead - */ - public static synth(node: ConstructNode, options: SynthesisOptions = { }): cxapi.CloudAssembly { - // eslint-disable-next-line @typescript-eslint/no-require-imports - const a: typeof import('././private/synthesis') = require('./private/synthesis'); - return a.synthesize(node.root, options); - } - - /** - * Invokes "prepare" on all constructs (depth-first, post-order) in the tree under `node`. - * @param node The root node - * @deprecated Use `app.synth()` instead - */ - public static prepare(node: ConstructNode) { - // eslint-disable-next-line @typescript-eslint/no-require-imports - const p: typeof import('./private/prepare-app') = require('./private/prepare-app'); - p.prepareApp(node.root); // resolve cross refs and nested stack assets. - return node._actualNode.prepare(); - } - - /** - * Invokes "validate" on all constructs in the tree (depth-first, pre-order) and returns - * the list of all errors. An empty list indicates that there are no errors. - * - * @param node The root node - */ - public static validate(node: ConstructNode): ValidationError[] { - return node._actualNode.validate().map(e => ({ source: e.source as Construct, message: e.message })); - } - - /** - * @internal - */ - public readonly _actualNode: constructs.Node; - - /** - * The Construct class that hosts this API. - */ - private readonly host: Construct; - - constructor(host: Construct, scope: IConstruct, id: string) { - this.host = host; - this._actualNode = new constructs.Node(host, scope, id); - - // store a back reference on _actualNode so we can our ConstructNode from it - Object.defineProperty(this._actualNode, ORIGINAL_CONSTRUCT_NODE_SYMBOL, { - value: this, - configurable: false, - enumerable: false, - }); - } - - /** - * Returns the scope in which this construct is defined. - * - * The value is `undefined` at the root of the construct scope tree. - */ - public get scope(): IConstruct | undefined { - return this._actualNode.scope as IConstruct; - } - - /** - * The id of this construct within the current scope. - * - * This is a a scope-unique id. To obtain an app-unique id for this construct, use `uniqueId`. - */ - public get id() { return this._actualNode.id; } - - /** - * The full, absolute path of this construct in the tree. - * - * Components are separated by '/'. - */ - public get path(): string { return this._actualNode.path; } - - /** - * A tree-global unique alphanumeric identifier for this construct. Includes - * all components of the tree. - * - * @deprecated use `node.addr` to obtain a consistent 42 character address for - * this node (see https://github.com/aws/constructs/pull/314). - * Alternatively, to get a CloudFormation-compatible unique identifier, use - * `Names.uniqueId()`. - */ - public get uniqueId(): string { return this._actualNode.uniqueId; } - - /** - * Returns an opaque tree-unique address for this construct. - * - * Addresses are 42 characters hexadecimal strings. They begin with "c8" - * followed by 40 lowercase hexadecimal characters (0-9a-f). - * - * Addresses are calculated using a SHA-1 of the components of the construct - * path. - * - * To enable refactorings of construct trees, constructs with the ID `Default` - * will be excluded from the calculation. In those cases constructs in the - * same tree may have the same addreess. - * - * Example value: `c83a2846e506bcc5f10682b564084bca2d275709ee` - */ - public get addr(): string { return this._actualNode.addr; } - - /** - * Return a direct child by id, or undefined - * - * @param id Identifier of direct child - * @returns the child if found, or undefined - */ - public tryFindChild(id: string): IConstruct | undefined { return this._actualNode.tryFindChild(id) as IConstruct; } - - /** - * Return a direct child by id - * - * Throws an error if the child is not found. - * - * @param id Identifier of direct child - * @returns Child with the given id. - */ - public findChild(id: string): IConstruct { return this._actualNode.findChild(id) as IConstruct; } - - /** - * Returns the child construct that has the id `Default` or `Resource"`. - * This is usually the construct that provides the bulk of the underlying functionality. - * Useful for modifications of the underlying construct that are not available at the higher levels. - * - * @throws if there is more than one child - * @returns a construct or undefined if there is no default child - */ - public get defaultChild(): IConstruct | undefined { return this._actualNode.defaultChild as IConstruct; } - - /** - * Override the defaultChild property. - * - * This should only be used in the cases where the correct - * default child is not named 'Resource' or 'Default' as it - * should be. - * - * If you set this to undefined, the default behavior of finding - * the child named 'Resource' or 'Default' will be used. - */ - public set defaultChild(value: IConstruct | undefined) { this._actualNode.defaultChild = value; } - - /** - * All direct children of this construct. - */ - public get children(): IConstruct[] { return this._actualNode.children as IConstruct[]; } - - /** - * Return this construct and all of its children in the given order - */ - public findAll(order: ConstructOrder = ConstructOrder.PREORDER): IConstruct[] { return this._actualNode.findAll(order) as IConstruct[]; } - - /** - * This can be used to set contextual values. - * Context must be set before any children are added, since children may consult context info during construction. - * If the key already exists, it will be overridden. - * @param key The context key - * @param value The context value - */ - public setContext(key: string, value: any) { - if (Token.isUnresolved(key)) { - throw new Error('Invalid context key: context keys can\'t include tokens'); - } - this._actualNode.setContext(key, value); - } - - /** - * Retrieves a value from tree context. - * - * Context is usually initialized at the root, but can be overridden at any point in the tree. - * - * @param key The context key - * @returns The context value or `undefined` if there is no context value for the key. - */ - public tryGetContext(key: string): any { - if (Token.isUnresolved(key)) { - throw new Error('Invalid context key: context keys can\'t include tokens'); - } - return this._actualNode.tryGetContext(key); - } - - /** - * DEPRECATED - * @deprecated use `metadataEntry` - */ - public get metadata() { return this._actualNode.metadata as cxapi.MetadataEntry[]; } - - /** - * An immutable array of metadata objects associated with this construct. - * This can be used, for example, to implement support for deprecation notices, source mapping, etc. - */ - public get metadataEntry() { return this._actualNode.metadata; } - - /** - * Adds a metadata entry to this construct. - * Entries are arbitrary values and will also include a stack trace to allow tracing back to - * the code location for when the entry was added. It can be used, for example, to include source - * mapping in CloudFormation templates to improve diagnostics. - * - * @param type a string denoting the type of metadata - * @param data the value of the metadata (can be a Token). If null/undefined, metadata will not be added. - * @param fromFunction a function under which to restrict the metadata entry's stack trace (defaults to this.addMetadata) - */ - public addMetadata(type: string, data: any, fromFunction?: any): void { this._actualNode.addMetadata(type, data, fromFunction); } - - /** - * DEPRECATED: Adds a { "info": } metadata entry to this construct. - * The toolkit will display the info message when apps are synthesized. - * @param message The info message. - * @deprecated use `Annotations.of(construct).addInfo()` - */ - public addInfo(message: string): void { - Annotations.of(this.host).addInfo(message); - } - - /** - * DEPRECATED: Adds a { "warning": } metadata entry to this construct. - * The toolkit will display the warning when an app is synthesized, or fail - * if run in --strict mode. - * @param message The warning message. - * @deprecated use `Annotations.of(construct).addWarning()` - */ - public addWarning(message: string): void { - Annotations.of(this.host).addWarning(message); - } - - /** - * DEPRECATED: Adds an { "error": } metadata entry to this construct. - * The toolkit will fail synthesis when errors are reported. - * @param message The error message. - * @deprecated use `Annotations.of(construct).addError()` - */ - public addError(message: string) { - Annotations.of(this.host).addError(message); - } - - /** - * DEPRECATED: Applies the aspect to this Constructs node - * - * @deprecated This API is going to be removed in the next major version of - * the AWS CDK. Please use `Aspects.of(scope).add()` instead. - */ - public applyAspect(aspect: IAspect): void { - Annotations.of(this.host).addDeprecation('@aws-cdk/core.ConstructNode.applyAspect', 'Use "Aspects.of(construct).add(aspect)" instead'); - Aspects.of(this.host).add(aspect); - } - - /** - * Add a validator to this construct Node - */ - public addValidation(validation: constructs.IValidation) { - this._actualNode.addValidation(validation); - } - - /** - * All parent scopes of this construct. - * - * @returns a list of parent scopes. The last element in the list will always - * be the current construct and the first element will be the root of the - * tree. - */ - public get scopes(): IConstruct[] { return this._actualNode.scopes as IConstruct[]; } - - /** - * @returns The root of the construct tree. - */ - public get root(): IConstruct { return this._actualNode.root as IConstruct; } - - /** - * Returns true if this construct or the scopes in which it is defined are - * locked. - */ - public get locked() { return this._actualNode.locked; } - - /** - * Add an ordering dependency on another Construct. - * - * All constructs in the dependency's scope will be deployed before any - * construct in this construct's scope. - */ - public addDependency(...dependencies: IDependable[]) { this._actualNode.addDependency(...dependencies); } - - /** - * Return all dependencies registered on this node or any of its children - */ - public get dependencies(): Dependency[] { return this._actualNode.dependencies as Dependency[]; } - - /** - * Remove the child with the given name, if present. - * - * @returns Whether a child with the given name was deleted. - */ - public tryRemoveChild(childName: string): boolean { return this._actualNode.tryRemoveChild(childName); } -} - -/** - * An error returned during the validation phase. - */ -export interface ValidationError { - /** - * The construct which emitted the error. - */ - readonly source: Construct; - - /** - * The error message. - */ - readonly message: string; -} - -/** - * A single dependency - */ -export interface Dependency { - /** - * Source the dependency - */ - readonly source: IConstruct; - - /** - * Target of the dependency - */ - readonly target: IConstruct; -} - -function ignore(_x: any) { - return; -} diff --git a/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts b/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts index c4423051ac6ca..706db3a07261b 100644 --- a/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts +++ b/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts @@ -6,6 +6,7 @@ import { AssetStaging } from '../asset-staging'; import { FileAssetPackaging } from '../assets'; import { CfnResource } from '../cfn-resource'; import { Duration } from '../duration'; +import { Lazy } from '../lazy'; import { Size } from '../size'; import { Stack } from '../stack'; import { Token } from '../token'; @@ -13,10 +14,6 @@ import { Token } from '../token'; const ENTRYPOINT_FILENAME = '__entrypoint__'; const ENTRYPOINT_NODEJS_SOURCE = path.join(__dirname, 'nodejs-entrypoint.js'); -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '../construct-compat'; - /** * Initialization properties for `CustomResourceProvider`. * @@ -94,15 +91,15 @@ export interface CustomResourceProviderProps { export enum CustomResourceProviderRuntime { /** * Node.js 12.x - * - * @deprecated Use {@link NODEJS_12_X} */ - NODEJS_12 = 'nodejs12.x', + NODEJS_12_X = 'nodejs12.x', /** * Node.js 12.x + * + * @deprecated Use {@link NODEJS_12_X} */ - NODEJS_12_X = 'nodejs12.x', + NODEJS_12 = 'nodejs12.x', /** * Node.js 14.x @@ -132,7 +129,7 @@ export enum CustomResourceProviderRuntime { * in that module a read, regardless of whether you end up using the Provider * class in there or this one. */ -export class CustomResourceProvider extends CoreConstruct { +export class CustomResourceProvider extends Construct { /** * Returns a stack-level singleton ARN (service token) for the custom resource * provider. @@ -191,6 +188,8 @@ export class CustomResourceProvider extends CoreConstruct { */ public readonly roleArn: string; + private policyStatements?: any[]; + protected constructor(scope: Construct, id: string, props: CustomResourceProviderProps) { super(scope, id); @@ -216,15 +215,11 @@ export class CustomResourceProvider extends CoreConstruct { packaging: FileAssetPackaging.ZIP_DIRECTORY, }); - const policies = !props.policyStatements ? undefined : [ - { - PolicyName: 'Inline', - PolicyDocument: { - Version: '2012-10-17', - Statement: props.policyStatements, - }, - }, - ]; + if (props.policyStatements) { + for (const statement of props.policyStatements) { + this.addToRolePolicy(statement); + } + } const role = new CfnResource(this, 'Role', { type: 'AWS::IAM::Role', @@ -236,7 +231,7 @@ export class CustomResourceProvider extends CoreConstruct { ManagedPolicyArns: [ { 'Fn::Sub': 'arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole' }, ], - Policies: policies, + Policies: Lazy.any({ produce: () => this.renderPolicies() }), }, }); this.roleArn = Token.asString(role.getAtt('Arn')); @@ -271,6 +266,46 @@ export class CustomResourceProvider extends CoreConstruct { this.serviceToken = Token.asString(handler.getAtt('Arn')); } + /** + * Add an IAM policy statement to the inline policy of the + * provider's lambda function's role. + * + * **Please note**: this is a direct IAM JSON policy blob, *not* a `iam.PolicyStatement` + * object like you will see in the rest of the CDK. + * + * + * @example + * declare const myProvider: CustomResourceProvider; + * + * myProvider.addToRolePolicy({ + * Effect: 'Allow', + * Action: 's3:GetObject', + * Resources: '*', + * }); + */ + public addToRolePolicy(statement: any): void { + if (!this.policyStatements) { + this.policyStatements = []; + } + this.policyStatements.push(statement); + } + + private renderPolicies() { + if (!this.policyStatements) { + return undefined; + } + + const policies = [{ + PolicyName: 'Inline', + PolicyDocument: { + Version: '2012-10-17', + Statement: this.policyStatements, + }, + }]; + + return policies; + } + private renderEnvironmentVariables(env?: { [key: string]: string }) { if (!env || Object.keys(env).length === 0) { return undefined; diff --git a/packages/@aws-cdk/core/lib/dependency.ts b/packages/@aws-cdk/core/lib/dependency.ts deleted file mode 100644 index 781a1ef281bed..0000000000000 --- a/packages/@aws-cdk/core/lib/dependency.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { IConstruct } from './construct-compat'; - -/** - * Trait marker for classes that can be depended upon - * - * The presence of this interface indicates that an object has - * an `IDependableTrait` implementation. - * - * This interface can be used to take an (ordering) dependency on a set of - * constructs. An ordering dependency implies that the resources represented by - * those constructs are deployed before the resources depending ON them are - * deployed. - */ -export interface IDependable { - // Empty, this interface is a trait marker -} - -/** - * A set of constructs to be used as a dependable - * - * This class can be used when a set of constructs which are disjoint in the - * construct tree needs to be combined to be used as a single dependable. - * - */ -export class ConcreteDependable implements IDependable { - private readonly _dependencyRoots = new Array(); - - constructor() { - const self = this; - DependableTrait.implement(this, { - get dependencyRoots() { return self._dependencyRoots; }, - }); - } - - /** - * Add a construct to the dependency roots - */ - public add(construct: IConstruct) { - this._dependencyRoots.push(construct); - } -} - -const DEPENDABLE_SYMBOL = Symbol.for('@aws-cdk/core.DependableTrait'); - -/** - * Trait for IDependable - * - * Traits are interfaces that are privately implemented by objects. Instead of - * showing up in the public interface of a class, they need to be queried - * explicitly. This is used to implement certain framework features that are - * not intended to be used by Construct consumers, and so should be hidden - * from accidental use. - * - * @example - * - * // Usage - * const roots = DependableTrait.get(construct).dependencyRoots; - * - * // Definition - * class TraitImplementation implements DependableTrait { - * public readonly dependencyRoots: IConstruct[]; - * constructor() { - * this.dependencyRoots = [constructA, constructB, constructC]; - * } - * } - * DependableTrait.implement(construct, new TraitImplementation()); - * - */ -export abstract class DependableTrait { - /** - * Register `instance` to have the given DependableTrait - * - * Should be called in the class constructor. - */ - public static implement(instance: IDependable, trait: DependableTrait) { - // I would also like to reference classes (to cut down on the list of objects - // we need to manage), but we can't do that either since jsii doesn't have the - // concept of a class reference. - (instance as any)[DEPENDABLE_SYMBOL] = trait; - } - - /** - * Return the matching DependableTrait for the given class instance. - */ - public static get(instance: IDependable): DependableTrait { - const ret = (instance as any)[DEPENDABLE_SYMBOL]; - if (!ret) { - throw new Error(`${instance} does not implement DependableTrait`); - } - return ret; - } - - /** - * The set of constructs that form the root of this dependable - * - * All resources under all returned constructs are included in the ordering - * dependency. - */ - public abstract readonly dependencyRoots: IConstruct[]; -} diff --git a/packages/@aws-cdk/core/lib/index.ts b/packages/@aws-cdk/core/lib/index.ts index 4aa0cda188201..c080ef1440851 100644 --- a/packages/@aws-cdk/core/lib/index.ts +++ b/packages/@aws-cdk/core/lib/index.ts @@ -1,12 +1,10 @@ export * from './aspect'; export * from './tag-aspect'; -export * from './construct-compat'; export * from './token'; export * from './resolvable'; export * from './lazy'; export * from './tag-manager'; -export * from './dependency'; export * from './string-fragments'; export * from './stack-synthesizers'; diff --git a/packages/@aws-cdk/core/lib/names.ts b/packages/@aws-cdk/core/lib/names.ts index 2d204c298d9fe..e68b43b137bf0 100644 --- a/packages/@aws-cdk/core/lib/names.ts +++ b/packages/@aws-cdk/core/lib/names.ts @@ -1,5 +1,4 @@ import { Construct, Node } from 'constructs'; -import { ConstructNode } from './construct-compat'; import { makeUniqueId } from './private/uniqueid'; /** @@ -31,8 +30,8 @@ export class Names { * @param node The construct node * @returns a unique id based on the construct path */ - public static nodeUniqueId(node: ConstructNode): string { - const components = node.scopes.slice(1).map(c => c.node.id); + public static nodeUniqueId(node: Node): string { + const components = node.scopes.slice(1).map(c => Node.of(c).id); return components.length > 0 ? makeUniqueId(components) : ''; } diff --git a/packages/@aws-cdk/core/lib/nested-stack.ts b/packages/@aws-cdk/core/lib/nested-stack.ts index 4859ae0894489..ea24698ac2b28 100644 --- a/packages/@aws-cdk/core/lib/nested-stack.ts +++ b/packages/@aws-cdk/core/lib/nested-stack.ts @@ -15,10 +15,6 @@ import { Stack } from './stack'; import { NestedStackSynthesizer } from './stack-synthesizers'; import { Token } from './token'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from './construct-compat'; - const NESTED_STACK_SYMBOL = Symbol.for('@aws-cdk/core.NestedStack'); /** @@ -120,8 +116,7 @@ export class NestedStack extends Stack { this._parentStack = parentStack; - // @deprecate: remove this in v2.0 (redundent) - const parentScope = new CoreConstruct(scope, id + '.NestedStack'); + const parentScope = new Construct(scope, id + '.NestedStack'); Object.defineProperty(this, NESTED_STACK_SYMBOL, { value: true }); diff --git a/packages/@aws-cdk/core/lib/private/asset-parameters.ts b/packages/@aws-cdk/core/lib/private/asset-parameters.ts index e72eee27462b0..90153a2cfce1e 100644 --- a/packages/@aws-cdk/core/lib/private/asset-parameters.ts +++ b/packages/@aws-cdk/core/lib/private/asset-parameters.ts @@ -1,5 +1,5 @@ +import { Construct } from 'constructs'; import { CfnParameter } from '../cfn-parameter'; -import { Construct } from '../construct-compat'; export class FileAssetParameters extends Construct { public readonly bucketNameParameter: CfnParameter; diff --git a/packages/@aws-cdk/core/lib/private/cfn-reference.ts b/packages/@aws-cdk/core/lib/private/cfn-reference.ts index 34c3da0138ae8..ba4da752e1b9d 100644 --- a/packages/@aws-cdk/core/lib/private/cfn-reference.ts +++ b/packages/@aws-cdk/core/lib/private/cfn-reference.ts @@ -1,3 +1,4 @@ +/* eslint-disable import/order */ import { Reference } from '../reference'; const CFN_REFERENCE_SYMBOL = Symbol.for('@aws-cdk/core.CfnReference'); @@ -174,8 +175,8 @@ export class CfnReference extends Reference { } } +import { Construct, IConstruct } from 'constructs'; import { CfnElement } from '../cfn-element'; -import { Construct, IConstruct } from '../construct-compat'; import { IResolvable, IResolveContext } from '../resolvable'; import { Stack } from '../stack'; import { Token } from '../token'; diff --git a/packages/@aws-cdk/core/lib/private/cfn-utils-provider.ts b/packages/@aws-cdk/core/lib/private/cfn-utils-provider.ts index 04a68394fe2f3..b710d9ca217ec 100644 --- a/packages/@aws-cdk/core/lib/private/cfn-utils-provider.ts +++ b/packages/@aws-cdk/core/lib/private/cfn-utils-provider.ts @@ -1,4 +1,4 @@ -import { Construct } from '../construct-compat'; +import { Construct } from 'constructs'; import { CustomResource } from '../custom-resource'; import { CustomResourceProvider, CustomResourceProviderRuntime } from '../custom-resource-provider'; import { CfnUtilsResourceType } from './cfn-utils-provider/consts'; @@ -44,4 +44,4 @@ export abstract class CfnUtils { return resource.getAttString('Value'); } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/core/lib/private/metadata-resource.ts b/packages/@aws-cdk/core/lib/private/metadata-resource.ts index b74fe41e17a2e..6a8e07d7acb2a 100644 --- a/packages/@aws-cdk/core/lib/private/metadata-resource.ts +++ b/packages/@aws-cdk/core/lib/private/metadata-resource.ts @@ -1,10 +1,10 @@ import * as zlib from 'zlib'; import { RegionInfo } from '@aws-cdk/region-info'; +import { Construct } from 'constructs'; import { CfnCondition } from '../cfn-condition'; import { Fn } from '../cfn-fn'; import { Aws } from '../cfn-pseudo'; import { CfnResource } from '../cfn-resource'; -import { Construct } from '../construct-compat'; import { Lazy } from '../lazy'; import { Stack } from '../stack'; import { Token } from '../token'; diff --git a/packages/@aws-cdk/core/lib/private/prepare-app.ts b/packages/@aws-cdk/core/lib/private/prepare-app.ts index e90a40ff211f8..7e1959b4a4293 100644 --- a/packages/@aws-cdk/core/lib/private/prepare-app.ts +++ b/packages/@aws-cdk/core/lib/private/prepare-app.ts @@ -1,6 +1,5 @@ -import { ConstructOrder } from 'constructs'; +import { ConstructOrder, Dependable, IConstruct } from 'constructs'; import { CfnResource } from '../cfn-resource'; -import { IConstruct } from '../construct-compat'; import { Stack } from '../stack'; import { Stage } from '../stage'; import { resolveReferences } from './refs'; @@ -17,7 +16,7 @@ import { resolveReferences } from './refs'; */ export function prepareApp(root: IConstruct) { // apply dependencies between resources in depending subtrees - for (const dependency of root.node.dependencies) { + for (const dependency of findTransitiveDeps(root)) { const targetCfnResources = findCfnResources(dependency.target); const sourceCfnResources = findCfnResources(dependency.source); @@ -103,3 +102,33 @@ function findCfnResources(root: IConstruct): CfnResource[] { interface INestedStackPrivateApi { _prepareTemplateAsset(): boolean; } + +/** + * Return all dependencies registered on this node or any of its children + */ +function findTransitiveDeps(root: IConstruct): Dependency[] { + const found = new Map>(); // Deduplication map + const ret = new Array(); + + for (const source of root.node.findAll()) { + for (const dependable of source.node.dependencies) { + for (const target of Dependable.of(dependable).dependencyRoots) { + let foundTargets = found.get(source); + if (!foundTargets) { found.set(source, foundTargets = new Set()); } + + if (!foundTargets.has(target)) { + ret.push({ source, target }); + foundTargets.add(target); + } + } + } + } + + return ret; +} + + +interface Dependency { + readonly source: IConstruct; + readonly target: IConstruct; +} diff --git a/packages/@aws-cdk/core/lib/private/refs.ts b/packages/@aws-cdk/core/lib/private/refs.ts index 8bd8b33d097d9..550af6c39127d 100644 --- a/packages/@aws-cdk/core/lib/private/refs.ts +++ b/packages/@aws-cdk/core/lib/private/refs.ts @@ -2,10 +2,10 @@ // CROSS REFERENCES // ---------------------------------------------------- +import { IConstruct } from 'constructs'; import { CfnElement } from '../cfn-element'; import { CfnOutput } from '../cfn-output'; import { CfnParameter } from '../cfn-parameter'; -import { IConstruct } from '../construct-compat'; import { Names } from '../names'; import { Reference } from '../reference'; import { IResolvable } from '../resolvable'; @@ -264,4 +264,4 @@ function isNested(nested: Stack, parent: Stack): boolean { function generateUniqueId(stack: Stack, ref: Reference, prefix = '') { // we call "resolve()" to ensure that tokens do not creep in (for example, if the reference display name includes tokens) return stack.resolve(`${prefix}${Names.nodeUniqueId(ref.target.node)}${ref.displayName}`); -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/core/lib/private/resolve.ts b/packages/@aws-cdk/core/lib/private/resolve.ts index e809763b72e64..08c2e48fea811 100644 --- a/packages/@aws-cdk/core/lib/private/resolve.ts +++ b/packages/@aws-cdk/core/lib/private/resolve.ts @@ -4,10 +4,6 @@ import { TokenizedStringFragments } from '../string-fragments'; import { containsListTokenElement, TokenString, unresolved } from './encoding'; import { TokenMap } from './token-map'; -// v2 - leave this as a separate section so it reduces merge conflicts when compat is removed -// eslint-disable-next-line import/order -import { IConstruct as ICoreConstruct } from '../construct-compat'; - // This file should not be exported to consumers, resolving should happen through Construct.resolve() const tokenMap = TokenMap.instance(); @@ -114,7 +110,7 @@ export function resolve(obj: any, options: IResolveOptions): any { const context: IResolveContext = { preparing: options.preparing, - scope: options.scope as ICoreConstruct, + scope: options.scope as IConstruct, documentPath: newPrefix ?? [], registerPostProcessor(pp) { postProcessor = pp; }, resolve(x: any, changeOptions?: ResolveChangeContextOptions) { return resolve(x, { ...options, ...changeOptions, prefix: newPrefix }); }, diff --git a/packages/@aws-cdk/core/lib/private/runtime-info.ts b/packages/@aws-cdk/core/lib/private/runtime-info.ts index e92bbc1c986c9..be2b814d658b2 100644 --- a/packages/@aws-cdk/core/lib/private/runtime-info.ts +++ b/packages/@aws-cdk/core/lib/private/runtime-info.ts @@ -1,4 +1,4 @@ -import { IConstruct } from '../construct-compat'; +import { IConstruct } from 'constructs'; import { Stack } from '../stack'; import { Stage } from '../stage'; diff --git a/packages/@aws-cdk/core/lib/private/synthesis.ts b/packages/@aws-cdk/core/lib/private/synthesis.ts index 52738c1cf9cca..0af08ba2bb621 100644 --- a/packages/@aws-cdk/core/lib/private/synthesis.ts +++ b/packages/@aws-cdk/core/lib/private/synthesis.ts @@ -1,14 +1,25 @@ import * as cxapi from '@aws-cdk/cx-api'; -import * as constructs from 'constructs'; +import { IConstruct } from 'constructs'; import { Annotations } from '../annotations'; import { Aspects, IAspect } from '../aspect'; -import { Construct, IConstruct, ISynthesisSession, SynthesisOptions, ValidationError } from '../construct-compat'; import { Stack } from '../stack'; +import { ISynthesisSession } from '../stack-synthesizers/types'; import { Stage, StageSynthesisOptions } from '../stage'; import { MetadataResource } from './metadata-resource'; import { prepareApp } from './prepare-app'; import { TreeMetadata } from './tree-metadata'; +/** + * Options for `synthesize()` + */ +export interface SynthesisOptions extends StageSynthesisOptions { + /** + * The output directory into which to synthesize the cloud assembly. + * @default - creates a temporary directory + */ + readonly outdir?: string; +} + export function synthesize(root: IConstruct, options: SynthesisOptions = { }): cxapi.CloudAssembly { // we start by calling "synth" on all nested assemblies (which will take care of all their children) synthNestedAssemblies(root, options); @@ -17,9 +28,6 @@ export function synthesize(root: IConstruct, options: SynthesisOptions = { }): c injectMetadataResources(root); - // This is mostly here for legacy purposes as the framework itself does not use prepare anymore. - prepareTree(root); - // resolve references prepareApp(root); @@ -56,14 +64,14 @@ export interface ICustomSynthesis { onSynthesize(session: ISynthesisSession): void; } -export function addCustomSynthesis(construct: constructs.IConstruct, synthesis: ICustomSynthesis): void { +export function addCustomSynthesis(construct: IConstruct, synthesis: ICustomSynthesis): void { Object.defineProperty(construct, CUSTOM_SYNTHESIS_SYM, { value: synthesis, enumerable: false, }); } -function getCustomSynthesis(construct: constructs.IConstruct): ICustomSynthesis | undefined { +function getCustomSynthesis(construct: IConstruct): ICustomSynthesis | undefined { return (construct as any)[CUSTOM_SYNTHESIS_SYM]; } @@ -94,11 +102,11 @@ function invokeAspects(root: IConstruct) { let nestedAspectWarning = false; recurse(root, []); - function recurse(construct: IConstruct, inheritedAspects: constructs.IAspect[]) { + function recurse(construct: IConstruct, inheritedAspects: IAspect[]) { const node = construct.node; const aspects = Aspects.of(construct); - const allAspectsHere = [...inheritedAspects ?? [], ...aspects.aspects]; - const nodeAspectsCount = aspects.aspects.length; + const allAspectsHere = [...inheritedAspects ?? [], ...aspects.all]; + const nodeAspectsCount = aspects.all.length; for (const aspect of allAspectsHere) { let invoked = invokedByPath[node.path]; if (!invoked) { @@ -111,7 +119,7 @@ function invokeAspects(root: IConstruct) { // if an aspect was added to the node while invoking another aspect it will not be invoked, emit a warning // the `nestedAspectWarning` flag is used to prevent the warning from being emitted for every child - if (!nestedAspectWarning && nodeAspectsCount !== aspects.aspects.length) { + if (!nestedAspectWarning && nodeAspectsCount !== aspects.all.length) { Annotations.of(construct).addWarning('We detected an Aspect was added via another Aspect, and will not be applied'); nestedAspectWarning = true; } @@ -128,15 +136,6 @@ function invokeAspects(root: IConstruct) { } } -/** - * Prepare all constructs in the given construct tree in post-order. - * - * Stop at Assembly boundaries. - */ -function prepareTree(root: IConstruct) { - visit(root, 'post', construct => construct.onPrepare()); -} - /** * Find all stacks and add Metadata Resources to all of them * @@ -188,25 +187,25 @@ function synthesizeTree(root: IConstruct, builder: cxapi.CloudAssemblyBuilder, v const custom = getCustomSynthesis(construct); custom?.onSynthesize(session); } - - // this will soon be deprecated and removed in 2.x - // see https://github.com/aws/aws-cdk-rfcs/issues/192 - construct.onSynthesize(session); }); } +interface ValidationError { + readonly message: string; + readonly source: IConstruct; +} + /** * Validate all constructs in the given construct tree */ function validateTree(root: IConstruct) { const errors = new Array(); - // Validations added through `node.addValidation()` - // This automatically also includes Ye Olde Method of validating, using - // the `protected validate()` methods. - errors.push(...constructs.Node.of(root).validate().map(e => ({ - message: e.message, source: e.source as unknown as Construct, - }))); + visit(root, 'pre', construct => { + for (const message of construct.node.validate()) { + errors.push({ message, source: construct }); + } + }); if (errors.length > 0) { const errorList = errors.map(e => `[${e.source.node.path}] ${e.message}`).join('\n '); @@ -217,9 +216,9 @@ function validateTree(root: IConstruct) { /** * Visit the given construct tree in either pre or post order, stopping at Assemblies */ -function visit(root: IConstruct, order: 'pre' | 'post', cb: (x: IProtectedConstructMethods) => void) { +function visit(root: IConstruct, order: 'pre' | 'post', cb: (x: IConstruct) => void) { if (order === 'pre') { - cb(root as IProtectedConstructMethods); + cb(root); } for (const child of root.node.children) { @@ -228,27 +227,6 @@ function visit(root: IConstruct, order: 'pre' | 'post', cb: (x: IProtectedConstr } if (order === 'post') { - cb(root as IProtectedConstructMethods); + cb(root); } } - -/** - * Interface which provides access to special methods of Construct - * - */ -interface IProtectedConstructMethods extends IConstruct { - /** - * Method that gets called when a construct should synthesize itself to an assembly - */ - onSynthesize(session: constructs.ISynthesisSession): void; - - /** - * Method that gets called to validate a construct - */ - onValidate(): string[]; - - /** - * Method that gets called to prepare a construct - */ - onPrepare(): void; -} diff --git a/packages/@aws-cdk/core/lib/private/tree-metadata.ts b/packages/@aws-cdk/core/lib/private/tree-metadata.ts index 8421fd3933aea..3580309d0a2ba 100644 --- a/packages/@aws-cdk/core/lib/private/tree-metadata.ts +++ b/packages/@aws-cdk/core/lib/private/tree-metadata.ts @@ -2,9 +2,10 @@ import * as fs from 'fs'; import * as path from 'path'; import { ArtifactType } from '@aws-cdk/cloud-assembly-schema'; +import { Construct, IConstruct } from 'constructs'; import { Annotations } from '../annotations'; -import { Construct, IConstruct, ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; +import { ISynthesisSession } from '../stack-synthesizers'; import { IInspectable, TreeInspector } from '../tree'; import { ConstructInfo, constructInfoFromConstruct } from './runtime-info'; diff --git a/packages/@aws-cdk/core/lib/reference.ts b/packages/@aws-cdk/core/lib/reference.ts index affb5588fd797..ae72c3fed9d82 100644 --- a/packages/@aws-cdk/core/lib/reference.ts +++ b/packages/@aws-cdk/core/lib/reference.ts @@ -1,3 +1,4 @@ +import { IConstruct } from 'constructs'; import { Intrinsic } from './private/intrinsic'; const REFERENCE_SYMBOL = Symbol.for('@aws-cdk/core.Reference'); @@ -26,4 +27,3 @@ export abstract class Reference extends Intrinsic { } } -import { IConstruct } from './construct-compat'; diff --git a/packages/@aws-cdk/core/lib/resolvable.ts b/packages/@aws-cdk/core/lib/resolvable.ts index 81e7c08a774ea..466683a3169df 100644 --- a/packages/@aws-cdk/core/lib/resolvable.ts +++ b/packages/@aws-cdk/core/lib/resolvable.ts @@ -1,4 +1,4 @@ -import { IConstruct } from './construct-compat'; +import { IConstruct } from 'constructs'; import { TokenString } from './private/encoding'; import { TokenMap } from './private/token-map'; import { TokenizedStringFragments } from './string-fragments'; diff --git a/packages/@aws-cdk/core/lib/resource.ts b/packages/@aws-cdk/core/lib/resource.ts index d3f57e3250c3f..390205ed0e02f 100644 --- a/packages/@aws-cdk/core/lib/resource.ts +++ b/packages/@aws-cdk/core/lib/resource.ts @@ -1,6 +1,5 @@ import { ArnComponents, ArnFormat } from './arn'; import { CfnResource } from './cfn-resource'; -import { IConstruct, Construct as CoreConstruct } from './construct-compat'; import { IStringProducer, Lazy } from './lazy'; import { generatePhysicalName, isGeneratedWhenNeededMarker } from './private/physical-name-generator'; import { Reference } from './reference'; @@ -11,7 +10,7 @@ import { Token, Tokenization } from './token'; // v2 - leave this as a separate section so it reduces merge conflicts when compat is removed // eslint-disable-next-line import/order -import { Construct } from 'constructs'; +import { Construct, IConstruct } from 'constructs'; const RESOURCE_SYMBOL = Symbol.for('@aws-cdk/core.Resource'); @@ -120,7 +119,7 @@ export interface ResourceProps { /** * A construct which represents an AWS resource. */ -export abstract class Resource extends CoreConstruct implements IResource { +export abstract class Resource extends Construct implements IResource { /** * Check whether the given construct is a Resource */ diff --git a/packages/@aws-cdk/core/lib/runtime.ts b/packages/@aws-cdk/core/lib/runtime.ts index 84edb8f6e5728..222fa1f8d3f03 100644 --- a/packages/@aws-cdk/core/lib/runtime.ts +++ b/packages/@aws-cdk/core/lib/runtime.ts @@ -1,4 +1,4 @@ -import { Construct } from './construct-compat'; +import { Construct } from 'constructs'; // ---------------------------------------------------------------------- // PROPERTY MAPPERS diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/_asset-manifest-builder.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/_asset-manifest-builder.ts index 3d0d833245b8d..c65be83fe7bcd 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/_asset-manifest-builder.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/_asset-manifest-builder.ts @@ -4,9 +4,9 @@ import * as path from 'path'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import { FileAssetSource, FileAssetLocation, FileAssetPackaging, DockerImageAssetSource, DockerImageAssetLocation } from '../assets'; import { Fn } from '../cfn-fn'; -import { ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; import { resolvedOr } from './_shared'; +import { ISynthesisSession } from './types'; /** * Build an manifest from assets added to a stack synthesizer diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts index f0cc2d548fd81..cae4195035c25 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/_shared.ts @@ -3,10 +3,11 @@ import * as fs from 'fs'; import * as path from 'path'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import * as cxapi from '@aws-cdk/cx-api'; +import { Node, IConstruct } from 'constructs'; import { FileAssetSource, FileAssetPackaging } from '../assets'; -import { ConstructNode, IConstruct, ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; import { Token } from '../token'; +import { ISynthesisSession } from './types'; /** * Shared logic of writing stack artifact to the Cloud Assembly @@ -84,9 +85,9 @@ function collectStackMetadata(stack: Stack) { return; } - if (node.node.metadataEntry.length > 0) { + if (node.node.metadata.length > 0) { // Make the path absolute - output[ConstructNode.PATH_SEP + node.node.path] = node.node.metadataEntry.map(md => stack.resolve(md) as cxschema.MetadataEntry); + output[Node.PATH_SEP + node.node.path] = node.node.metadata.map(md => stack.resolve(md) as cxschema.MetadataEntry); } for (const child of node.node.children) { diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/bootstrapless-synthesizer.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/bootstrapless-synthesizer.ts index d1526edb79891..f98c9925cdff0 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/bootstrapless-synthesizer.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/bootstrapless-synthesizer.ts @@ -1,7 +1,7 @@ import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets'; -import { ISynthesisSession } from '../construct-compat'; import { assertBound } from './_shared'; import { DefaultStackSynthesizer } from './default-synthesizer'; +import { ISynthesisSession } from './types'; /** * Construction properties of {@link BootstraplessSynthesizer}. diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/cli-credentials-synthesizer.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/cli-credentials-synthesizer.ts index 0f268297999b3..20ba571e45f77 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/cli-credentials-synthesizer.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/cli-credentials-synthesizer.ts @@ -1,12 +1,12 @@ import * as cxapi from '@aws-cdk/cx-api'; import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets'; -import { ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; import { Token } from '../token'; import { AssetManifestBuilder } from './_asset-manifest-builder'; import { assertBound, StringSpecializer, stackTemplateFileAsset } from './_shared'; import { BOOTSTRAP_QUALIFIER_CONTEXT, DefaultStackSynthesizer } from './default-synthesizer'; import { StackSynthesizer } from './stack-synthesizer'; +import { ISynthesisSession } from './types'; /** * Properties for the CliCredentialsStackSynthesizer diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.ts index 8f8e79ac467b9..374033bcbd447 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.ts @@ -3,12 +3,12 @@ import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, Fi import { Fn } from '../cfn-fn'; import { CfnParameter } from '../cfn-parameter'; import { CfnRule } from '../cfn-rule'; -import { ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; import { Token } from '../token'; import { AssetManifestBuilder } from './_asset-manifest-builder'; import { assertBound, StringSpecializer, stackTemplateFileAsset } from './_shared'; import { StackSynthesizer } from './stack-synthesizer'; +import { ISynthesisSession } from './types'; export const BOOTSTRAP_QUALIFIER_CONTEXT = '@aws-cdk/core:bootstrapQualifier'; @@ -487,4 +487,3 @@ function range(startIncl: number, endExcl: number) { } return ret; } - diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/legacy.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/legacy.ts index 587181de3ce33..c1652e462df41 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/legacy.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/legacy.ts @@ -1,12 +1,13 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import * as cxapi from '@aws-cdk/cx-api'; +import { Construct } from 'constructs'; import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets'; import { Fn } from '../cfn-fn'; -import { Construct, ISynthesisSession } from '../construct-compat'; import { FileAssetParameters } from '../private/asset-parameters'; import { Stack } from '../stack'; import { assertBound } from './_shared'; import { StackSynthesizer } from './stack-synthesizer'; +import { ISynthesisSession } from './types'; /** * The well-known name for the docker image asset ECR repository. All docker diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/nested.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/nested.ts index ff5f1def0652f..d9c86fc782745 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/nested.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/nested.ts @@ -1,9 +1,8 @@ import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets'; -import { ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; import { assertBound } from './_shared'; import { StackSynthesizer } from './stack-synthesizer'; -import { IStackSynthesizer } from './types'; +import { IStackSynthesizer, ISynthesisSession } from './types'; /** * Synthesizer for a nested stack diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/stack-synthesizer.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/stack-synthesizer.ts index 75e4b46bf015f..6253df8caf0d8 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/stack-synthesizer.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/stack-synthesizer.ts @@ -1,9 +1,8 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets'; -import { ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; import { addStackArtifactToAssembly } from './_shared'; -import { IStackSynthesizer } from './types'; +import { IStackSynthesizer, ISynthesisSession } from './types'; /** * Base class for implementing an IStackSynthesizer diff --git a/packages/@aws-cdk/core/lib/stack-synthesizers/types.ts b/packages/@aws-cdk/core/lib/stack-synthesizers/types.ts index 425aee7b7af5a..d3554c9a8bbc2 100644 --- a/packages/@aws-cdk/core/lib/stack-synthesizers/types.ts +++ b/packages/@aws-cdk/core/lib/stack-synthesizers/types.ts @@ -1,5 +1,5 @@ +import { CloudAssemblyBuilder } from '@aws-cdk/cx-api'; import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets'; -import { ISynthesisSession } from '../construct-compat'; import { Stack } from '../stack'; /** @@ -32,3 +32,25 @@ export interface IStackSynthesizer { */ synthesize(session: ISynthesisSession): void; } + +/** + * Represents a single session of synthesis. Passed into `Construct.synthesize()` methods. + */ +export interface ISynthesisSession { + /** + * The output directory for this synthesis session. + */ + outdir: string; + + /** + * Cloud assembly builder. + */ + assembly: CloudAssemblyBuilder; + + /** + * Whether the stack should be validated after synthesis to check for error metadata + * + * @default - false + */ + validateOnSynth?: boolean; +} diff --git a/packages/@aws-cdk/core/lib/stack.ts b/packages/@aws-cdk/core/lib/stack.ts index 6a9274b4bc1f0..65298001d5876 100644 --- a/packages/@aws-cdk/core/lib/stack.ts +++ b/packages/@aws-cdk/core/lib/stack.ts @@ -12,7 +12,6 @@ import { CfnElement } from './cfn-element'; import { Fn } from './cfn-fn'; import { Aws, ScopedAws } from './cfn-pseudo'; import { CfnResource, TagType } from './cfn-resource'; -import { ISynthesisSession } from './construct-compat'; import { ContextProvider } from './context-provider'; import { Environment } from './environment'; import { FeatureFlags } from './feature-flags'; @@ -21,10 +20,6 @@ import { LogicalIDs } from './private/logical-id'; import { resolve } from './private/resolve'; import { makeUniqueId } from './private/uniqueid'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from './construct-compat'; - const STACK_SYMBOL = Symbol.for('@aws-cdk/core.Stack'); const MY_STACK_CACHE = Symbol.for('@aws-cdk/core.Stack.myStack'); @@ -149,7 +144,7 @@ export interface StackProps { /** * A root construct which represents a single CloudFormation stack. */ -export class Stack extends CoreConstruct implements ITaggable { +export class Stack extends Construct implements ITaggable { /** * Return whether the given object is a Stack. * @@ -1325,15 +1320,15 @@ function makeStackName(components: string[]) { function getCreateExportsScope(stack: Stack) { const exportsName = 'Exports'; - let stackExports = stack.node.tryFindChild(exportsName) as CoreConstruct; + let stackExports = stack.node.tryFindChild(exportsName) as Construct; if (stackExports === undefined) { - stackExports = new CoreConstruct(stack, exportsName); + stackExports = new Construct(stack, exportsName); } return stackExports; } -function generateExportName(stackExports: CoreConstruct, id: string) { +function generateExportName(stackExports: Construct, id: string) { const stackRelativeExports = FeatureFlags.of(stackExports).isEnabled(cxapi.STACK_RELATIVE_EXPORTS_CONTEXT); const stack = Stack.of(stackExports); @@ -1354,6 +1349,7 @@ interface StackDependency { reasons: string[]; } + /** * Options for the `stack.exportValue()` method */ @@ -1385,7 +1381,7 @@ import { FileSystem } from './fs'; import { Names } from './names'; import { Reference } from './reference'; import { IResolvable } from './resolvable'; -import { DefaultStackSynthesizer, IStackSynthesizer, LegacyStackSynthesizer } from './stack-synthesizers'; +import { DefaultStackSynthesizer, IStackSynthesizer, ISynthesisSession, LegacyStackSynthesizer } from './stack-synthesizers'; import { Stage } from './stage'; import { ITaggable, TagManager } from './tag-manager'; import { Token, Tokenization } from './token'; diff --git a/packages/@aws-cdk/core/lib/stage.ts b/packages/@aws-cdk/core/lib/stage.ts index 737f376848c69..57aa97482b0a6 100644 --- a/packages/@aws-cdk/core/lib/stage.ts +++ b/packages/@aws-cdk/core/lib/stage.ts @@ -3,10 +3,6 @@ import { IConstruct, Construct, Node } from 'constructs'; import { Environment } from './environment'; import { synthesize } from './private/synthesis'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from './construct-compat'; - const STAGE_SYMBOL = Symbol.for('@aws-cdk/core.Stage'); /** @@ -70,7 +66,7 @@ export interface StageProps { * copies of your application which should be be deployed to different * environments. */ -export class Stage extends CoreConstruct { +export class Stage extends Construct { /** * Return the stage this construct is contained with, if available. If called * on a nested stage, returns its parent. diff --git a/packages/@aws-cdk/core/lib/tag-aspect.ts b/packages/@aws-cdk/core/lib/tag-aspect.ts index 09d79c7ea9799..9ea6644377d05 100644 --- a/packages/@aws-cdk/core/lib/tag-aspect.ts +++ b/packages/@aws-cdk/core/lib/tag-aspect.ts @@ -1,7 +1,6 @@ -// import * as cxapi from '@aws-cdk/cx-api'; +import { Construct, IConstruct } from 'constructs'; import { Annotations } from './annotations'; import { IAspect, Aspects } from './aspect'; -import { Construct, IConstruct } from './construct-compat'; import { ITaggable, TagManager } from './tag-manager'; /** diff --git a/packages/@aws-cdk/core/package.json b/packages/@aws-cdk/core/package.json index f972dc8cc3c84..f1d691010c70c 100644 --- a/packages/@aws-cdk/core/package.json +++ b/packages/@aws-cdk/core/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/core", "version": "0.0.0", + "private": true, "description": "AWS Cloud Development Kit Core Library", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.core", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -201,7 +202,7 @@ "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", "@balena/dockerignore": "^1.0.2", - "constructs": "^3.3.69", + "constructs": "^10.0.0", "fs-extra": "^9.1.0", "ignore": "^5.2.0", "minimatch": "^3.1.2" @@ -217,10 +218,10 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awscdkio": { diff --git a/packages/@aws-cdk/core/rosetta/default.ts-fixture b/packages/@aws-cdk/core/rosetta/default.ts-fixture index e0da717734235..c1c9106b2fed7 100644 --- a/packages/@aws-cdk/core/rosetta/default.ts-fixture +++ b/packages/@aws-cdk/core/rosetta/default.ts-fixture @@ -24,7 +24,6 @@ import { CustomResourceProvider, CustomResourceProviderRuntime, DefaultStackSynthesizer, - DependableTrait, Duration, Fn, IConstruct, diff --git a/packages/@aws-cdk/core/test/annotations.test.ts b/packages/@aws-cdk/core/test/annotations.test.ts index 46e91cf78761a..0770f0ac3f07e 100644 --- a/packages/@aws-cdk/core/test/annotations.test.ts +++ b/packages/@aws-cdk/core/test/annotations.test.ts @@ -1,5 +1,6 @@ import { CloudAssembly } from '@aws-cdk/cx-api'; -import { Construct, App, Stack } from '../lib'; +import { Construct } from 'constructs'; +import { App, Stack } from '../lib'; import { Annotations } from '../lib/annotations'; const restore = process.env.CDK_BLOCK_DEPRECATIONS; @@ -18,13 +19,13 @@ describe('annotations', () => { // WHEN delete process.env.CDK_BLOCK_DEPRECATIONS; - Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-cdk.Construct.construct instead'); + Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-Construct.construct instead'); // THEN expect(getWarnings(app.synth())).toEqual([ { path: '/MyStack/Hello', - message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-cdk.Construct.construct instead. This API will be removed in the next major release', + message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-Construct.construct instead. This API will be removed in the next major release', }, ]); @@ -41,26 +42,26 @@ describe('annotations', () => { // WHEN delete process.env.CDK_BLOCK_DEPRECATIONS; - Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-cdk.Construct.construct instead'); - Annotations.of(c2).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-cdk.Construct.construct instead'); - Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-cdk.Construct.construct instead'); - Annotations.of(c3).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-cdk.Construct.construct instead'); - Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-cdk.Construct.construct instead'); - Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-cdk.Construct.construct instead'); + Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-Construct.construct instead'); + Annotations.of(c2).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-Construct.construct instead'); + Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-Construct.construct instead'); + Annotations.of(c3).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-Construct.construct instead'); + Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-Construct.construct instead'); + Annotations.of(c1).addDeprecation('@aws-cdk/core.Construct.node', 'use @aws-Construct.construct instead'); // THEN expect(getWarnings(app.synth())).toEqual([ { path: '/MyStack1/Hello', - message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-cdk.Construct.construct instead. This API will be removed in the next major release', + message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-Construct.construct instead. This API will be removed in the next major release', }, { path: '/MyStack1/World', - message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-cdk.Construct.construct instead. This API will be removed in the next major release', + message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-Construct.construct instead. This API will be removed in the next major release', }, { path: '/MyStack2/FooBar', - message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-cdk.Construct.construct instead. This API will be removed in the next major release', + message: 'The API @aws-cdk/core.Construct.node is deprecated: use @aws-Construct.construct instead. This API will be removed in the next major release', }, ]); diff --git a/packages/@aws-cdk/core/test/app.test.ts b/packages/@aws-cdk/core/test/app.test.ts index d805d0d0f41fe..c7c6593eb0974 100644 --- a/packages/@aws-cdk/core/test/app.test.ts +++ b/packages/@aws-cdk/core/test/app.test.ts @@ -1,6 +1,7 @@ import { ContextProvider } from '@aws-cdk/cloud-assembly-schema'; import * as cxapi from '@aws-cdk/cx-api'; -import { CfnResource, Construct, DefaultStackSynthesizer, Stack, StackProps } from '../lib'; +import { Construct } from 'constructs'; +import { CfnResource, DefaultStackSynthesizer, Stack, StackProps } from '../lib'; import { Annotations } from '../lib/annotations'; import { App, AppProps } from '../lib/app'; @@ -8,6 +9,10 @@ function withApp(props: AppProps, block: (app: App) => void): cxapi.CloudAssembl const app = new App({ stackTraces: false, ...props, + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + ...props.context, + }, }); block(app); @@ -170,8 +175,10 @@ describe('app', () => { test('app.synth() performs validation first and if there are errors, it returns the errors', () => { class Child extends Construct { - protected validate() { - return [`Error from ${this.node.id}`]; + constructor(scope: Construct, id: string) { + super(scope, id); + + this.node.addValidation({ validate: () => [`Error from ${this.node.id}`] }); } } diff --git a/packages/@aws-cdk/core/test/aspect.test.ts b/packages/@aws-cdk/core/test/aspect.test.ts index 076dbbc2e7c3c..d8f79126df035 100644 --- a/packages/@aws-cdk/core/test/aspect.test.ts +++ b/packages/@aws-cdk/core/test/aspect.test.ts @@ -1,7 +1,7 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; +import { Construct, IConstruct } from 'constructs'; import { App } from '../lib'; import { IAspect, Aspects } from '../lib/aspect'; -import { Construct, IConstruct } from '../lib/construct-compat'; class MyConstruct extends Construct { public static IsMyConstruct(x: any): x is MyConstruct { @@ -50,10 +50,10 @@ describe('aspect', () => { }, }); app.synth(); - expect(root.node.metadataEntry[0].type).toEqual(cxschema.ArtifactMetadataEntryType.WARN); - expect(root.node.metadataEntry[0].data).toEqual('We detected an Aspect was added via another Aspect, and will not be applied'); + expect(root.node.metadata[0].type).toEqual(cxschema.ArtifactMetadataEntryType.WARN); + expect(root.node.metadata[0].data).toEqual('We detected an Aspect was added via another Aspect, and will not be applied'); // warning is not added to child construct - expect(child.node.metadataEntry.length).toEqual(0); + expect(child.node.metadata.length).toEqual(0); }); @@ -63,13 +63,13 @@ describe('aspect', () => { const child = new MyConstruct(root, 'ChildConstruct'); Aspects.of(root).add(new MyAspect()); app.synth(); - expect(root.node.metadataEntry[0].type).toEqual('foo'); - expect(root.node.metadataEntry[0].data).toEqual('bar'); - expect(child.node.metadataEntry[0].type).toEqual('foo'); - expect(child.node.metadataEntry[0].data).toEqual('bar'); + expect(root.node.metadata[0].type).toEqual('foo'); + expect(root.node.metadata[0].data).toEqual('bar'); + expect(child.node.metadata[0].type).toEqual('foo'); + expect(child.node.metadata[0].data).toEqual('bar'); // no warning is added - expect(root.node.metadataEntry.length).toEqual(1); - expect(child.node.metadataEntry.length).toEqual(1); + expect(root.node.metadata.length).toEqual(1); + expect(child.node.metadata.length).toEqual(1); }); diff --git a/packages/@aws-cdk/core/test/assets.test.ts b/packages/@aws-cdk/core/test/assets.test.ts index 936688145073e..737f5f0aabdad 100644 --- a/packages/@aws-cdk/core/test/assets.test.ts +++ b/packages/@aws-cdk/core/test/assets.test.ts @@ -1,12 +1,18 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; -import { FileAssetPackaging, Stack } from '../lib'; +import * as cxapi from '@aws-cdk/cx-api'; +import { App, FileAssetPackaging, Stack } from '../lib'; import { toCloudFormation } from './util'; describe('assets', () => { - test('addFileAsset correctly sets metadata and creates S3 parameters', () => { - // GIVEN - const stack = new Stack(); + let app: App; + let stack: Stack; + + beforeEach(() => { + app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + stack = new Stack(app); + }); + test('addFileAsset correctly sets metadata and creates S3 parameters', () => { // WHEN stack.synthesizer.addFileAsset({ fileName: 'file-name', @@ -15,7 +21,7 @@ describe('assets', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && assetMetadata.data).toBeDefined(); @@ -48,9 +54,6 @@ describe('assets', () => { }); test('addFileAsset correctly sets object urls', () => { - // GIVEN - const stack = new Stack(); - // WHEN const assetLocation = stack.synthesizer.addFileAsset({ fileName: 'file-name', @@ -71,9 +74,6 @@ describe('assets', () => { }); test('addDockerImageAsset correctly sets metadata', () => { - // GIVEN - const stack = new Stack(); - // WHEN stack.synthesizer.addDockerImageAsset({ sourceHash: 'source-hash', @@ -81,7 +81,7 @@ describe('assets', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && assetMetadata.data).toBeDefined(); @@ -98,9 +98,6 @@ describe('assets', () => { }); test('addDockerImageAsset uses the default repository name', () => { - // GIVEN - const stack = new Stack(); - // WHEN stack.synthesizer.addDockerImageAsset({ sourceHash: 'source-hash', @@ -108,7 +105,7 @@ describe('assets', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && assetMetadata.data).toBeDefined(); @@ -125,8 +122,6 @@ describe('assets', () => { }); test('addDockerImageAsset supports overriding repository name through a context key as a workaround until we have API for that', () => { - // GIVEN - const stack = new Stack(); stack.node.setContext('assets-ecr-repository-name', 'my-custom-repo-name'); // WHEN @@ -136,7 +131,7 @@ describe('assets', () => { }); // THEN - const assetMetadata = stack.node.metadataEntry.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); + const assetMetadata = stack.node.metadata.find(({ type }) => type === cxschema.ArtifactMetadataEntryType.ASSET); expect(assetMetadata && assetMetadata.data).toBeDefined(); diff --git a/packages/@aws-cdk/core/test/cfn-resource.test.ts b/packages/@aws-cdk/core/test/cfn-resource.test.ts index 83f9f634edb48..7fae8197bcf65 100644 --- a/packages/@aws-cdk/core/test/cfn-resource.test.ts +++ b/packages/@aws-cdk/core/test/cfn-resource.test.ts @@ -1,3 +1,4 @@ +import { Construct } from 'constructs'; import * as core from '../lib'; describe('cfn resource', () => { @@ -13,11 +14,9 @@ describe('cfn resource', () => { expect(val).not.toBeNull(); }; - expect(app.synth().getStackByName(stack.stackName).template).toEqual({ - Resources: { - DefaultResource: { - Type: 'Test::Resource::Fake', - }, + expect(app.synth().getStackByName(stack.stackName).template?.Resources).toEqual({ + DefaultResource: { + Type: 'Test::Resource::Fake', }, }); expect(called).toEqual(true); @@ -35,13 +34,11 @@ describe('cfn resource', () => { }, }); - expect(app.synth().getStackByName(stack.stackName).template).toEqual({ - Resources: { - Resource: { - Type: 'Test::Resource::Fake', - Properties: { - FakeProperty: false, - }, + expect(app.synth().getStackByName(stack.stackName).template?.Resources).toEqual({ + Resource: { + Type: 'Test::Resource::Fake', + Properties: { + FakeProperty: false, }, }, }); @@ -60,13 +57,11 @@ describe('cfn resource', () => { resource.applyRemovalPolicy(core.RemovalPolicy.RETAIN); // THEN - expect(app.synth().getStackByName(stack.stackName).template).toEqual({ - Resources: { - DefaultResource: { - Type: 'Test::Resource::Fake', - DeletionPolicy: 'Retain', - UpdateReplacePolicy: 'Retain', - }, + expect(app.synth().getStackByName(stack.stackName).template?.Resources).toEqual({ + DefaultResource: { + Type: 'Test::Resource::Fake', + DeletionPolicy: 'Retain', + UpdateReplacePolicy: 'Retain', }, }); @@ -85,12 +80,10 @@ describe('cfn resource', () => { }); // THEN - expect(app.synth().getStackByName(stack.stackName).template).toEqual({ - Resources: { - DefaultResource: { - Type: 'Test::Resource::Fake', - DeletionPolicy: 'Retain', - }, + expect(app.synth().getStackByName(stack.stackName).template?.Resources).toEqual({ + DefaultResource: { + Type: 'Test::Resource::Fake', + DeletionPolicy: 'Retain', }, }); @@ -107,13 +100,11 @@ describe('cfn resource', () => { resource.addMetadata('Beep', 'Boop'); // THEN - expect(app.synth().getStackByName(stack.stackName).template).toEqual({ - Resources: { - DefaultResource: { - Type: 'Test::Resource::Fake', - Metadata: { - Beep: 'Boop', - }, + expect(app.synth().getStackByName(stack.stackName).template?.Resources).toEqual({ + DefaultResource: { + Type: 'Test::Resource::Fake', + Metadata: { + Beep: 'Boop', }, }, }); @@ -144,7 +135,7 @@ describe('cfn resource', () => { const app = new core.App(); const stack = new core.Stack(app, 'TestStack'); - const subtree = new core.Construct(stack, 'subtree'); + const subtree = new Construct(stack, 'subtree'); // WHEN new HiddenCfnResource(subtree, 'R1', { type: 'Foo::R1' }); @@ -154,10 +145,11 @@ describe('cfn resource', () => { r2.node.addDependency(subtree); // THEN - only R2 is synthesized - expect(app.synth().getStackByName(stack.stackName).template).toEqual({ - Resources: { R2: { Type: 'Foo::R2' } }, - - // No DependsOn! + expect(app.synth().getStackByName(stack.stackName).template?.Resources).toEqual({ + R2: { + Type: 'Foo::R2', + // No DependsOn! + }, }); diff --git a/packages/@aws-cdk/core/test/cloudformation-json.test.ts b/packages/@aws-cdk/core/test/cloudformation-json.test.ts index 204019f128a68..938f12349afcb 100644 --- a/packages/@aws-cdk/core/test/cloudformation-json.test.ts +++ b/packages/@aws-cdk/core/test/cloudformation-json.test.ts @@ -322,18 +322,16 @@ describe('tokens returning CloudFormation intrinsics', () => { // THEN const asm = app.synth(); - expect(asm.getStackByName('Stack2').template).toEqual({ - Outputs: { - Stack1Id: { - Value: { - 'Fn::Join': ['', [ - '{"Stack1Id":"', - { 'Fn::ImportValue': 'Stack1:ExportsOutputRefAWSStackIdB2DD5BAA' }, - '","Stack2Id":"', - { Ref: 'AWS::StackId' }, - '"}', - ]], - }, + expect(asm.getStackByName('Stack2').template?.Outputs).toEqual({ + Stack1Id: { + Value: { + 'Fn::Join': ['', [ + '{"Stack1Id":"', + { 'Fn::ImportValue': 'Stack1:ExportsOutputRefAWSStackIdB2DD5BAA' }, + '","Stack2Id":"', + { Ref: 'AWS::StackId' }, + '"}', + ]], }, }, }); @@ -434,4 +432,4 @@ class DummyPostProcessor implements IResolvable, IPostProcessor { public postProcess(o: any, _context: IResolveContext): any { return o; } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/core/test/construct.test.ts b/packages/@aws-cdk/core/test/construct.test.ts index b61d29d4763e1..37cd35850bfa6 100644 --- a/packages/@aws-cdk/core/test/construct.test.ts +++ b/packages/@aws-cdk/core/test/construct.test.ts @@ -1,6 +1,7 @@ import { testDeprecated } from '@aws-cdk/cdk-build-tools'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; -import { App as Root, Aws, Construct, ConstructNode, ConstructOrder, IConstruct, Lazy, ValidationError } from '../lib'; +import { Construct, ConstructOrder, IConstruct } from 'constructs'; +import { Names } from '../lib'; import { Annotations } from '../lib/annotations'; import { reEnableStackTraceCollection, restoreStackTraceColection } from './util'; @@ -11,7 +12,7 @@ describe('construct', () => { const root = new Root(); expect(root.node.id).toEqual(''); expect(root.node.scope).toBeUndefined(); - expect(root.node.children.length).toEqual(1); + expect(root.node.children.length).toEqual(0); }); @@ -64,16 +65,6 @@ describe('construct', () => { }); - test('dont allow unresolved tokens to be used in construct IDs', () => { - // GIVEN - const root = new Root(); - const token = Lazy.string({ produce: () => 'lazy' }); - - // WHEN + THEN - expect(() => new Construct(root, `MyID: ${token}`)).toThrow(/Cannot use tokens in construct ID: MyID: \${Token/); - - }); - testDeprecated('construct.uniqueId returns a tree-unique alphanumeric id of this construct', () => { const root = new Root(); @@ -84,15 +75,15 @@ describe('construct', () => { expect(c1.node.path).toEqual('This is the first child/Second level/My construct'); expect(c2.node.path).toEqual('This is the first child/My construct'); - expect(c1.node.uniqueId).toEqual('ThisisthefirstchildSecondlevelMyconstruct202131E0'); - expect(c2.node.uniqueId).toEqual('ThisisthefirstchildMyconstruct8C288DF9'); + expect(Names.uniqueId(c1)).toEqual('ThisisthefirstchildSecondlevelMyconstruct202131E0'); + expect(Names.uniqueId(c2)).toEqual('ThisisthefirstchildMyconstruct8C288DF9'); }); testDeprecated('cannot calculate uniqueId if the construct path is ["Default"]', () => { const root = new Root(); const c = new Construct(root, 'Default'); - expect(() => c.node.uniqueId).toThrow(/Unable to calculate a unique id for an empty set of components/); + expect(() => Names.uniqueId(c)).toThrow(/Unable to calculate a unique id for an empty set of components/); }); @@ -101,7 +92,7 @@ describe('construct', () => { const child = new Construct(root, 'Child1'); new Construct(root, 'Child2'); expect(child.node.children.length).toEqual(0); - expect(root.node.children.length).toEqual(3); + expect(root.node.children.length).toEqual(2); }); @@ -143,7 +134,7 @@ describe('construct', () => { expect(t.root.toString()).toEqual(''); expect(t.child1_1_1.toString()).toEqual('HighChild/Child1/Child11/Child111'); expect(t.child2.toString()).toEqual('HighChild/Child2'); - expect(toTreeString(t.root)).toEqual('App\n TreeMetadata [Tree]\n Construct [HighChild]\n Construct [Child1]\n Construct [Child11]\n Construct [Child111]\n Construct [Child12]\n Construct [Child2]\n Construct [Child21]\n'); + expect(toTreeString(t.root)).toEqual('Root\n Construct [HighChild]\n Construct [Child1]\n Construct [Child11]\n Construct [Child111]\n Construct [Child12]\n Construct [Child2]\n Construct [Child21]\n'); }); @@ -202,13 +193,6 @@ describe('construct', () => { }); - test('fails if context key contains unresolved tokens', () => { - const root = new Root(); - expect(() => root.node.setContext(`my-${Aws.REGION}`, 'foo')).toThrow(/Invalid context key/); - expect(() => root.node.tryGetContext(Aws.REGION)).toThrow(/Invalid context key/); - - }); - test('construct.pathParts returns an array of strings of all names from root to node', () => { const tree = createTree(); expect(tree.root.node.path).toEqual(''); @@ -233,7 +217,7 @@ describe('construct', () => { // THEN: They have different paths expect(() => { new Construct(root, 'SameName'); - }).toThrow(/There is already a Construct with name 'SameName' in App/); + }).toThrow(/There is already a Construct with name 'SameName' in Root/); // WHEN const c0 = new Construct(root, 'c0'); @@ -251,18 +235,18 @@ describe('construct', () => { const previousValue = reEnableStackTraceCollection(); const root = new Root(); const con = new Construct(root, 'MyConstruct'); - expect(con.node.metadataEntry).toEqual([]); + expect(con.node.metadata).toEqual([]); - con.node.addMetadata('key', 'value'); + con.node.addMetadata('key', 'value', { stackTrace: true }); con.node.addMetadata('number', 103); con.node.addMetadata('array', [123, 456]); restoreStackTraceColection(previousValue); - expect(con.node.metadataEntry[0].type).toEqual('key'); - expect(con.node.metadataEntry[0].data).toEqual('value'); - expect(con.node.metadataEntry[1].data).toEqual(103); - expect(con.node.metadataEntry[2].data).toEqual([123, 456]); - expect(con.node.metadataEntry[0].trace && con.node.metadataEntry[0].trace[1].indexOf('FIND_ME')).toEqual(-1); + expect(con.node.metadata[0].type).toEqual('key'); + expect(con.node.metadata[0].data).toEqual('value'); + expect(con.node.metadata[1].data).toEqual(103); + expect(con.node.metadata[2].data).toEqual([123, 456]); + expect(con.node.metadata[0].trace && con.node.metadata[0].trace[1].indexOf('FIND_ME')).toEqual(-1); }); @@ -275,7 +259,7 @@ describe('construct', () => { con.node.addMetadata('False', false); con.node.addMetadata('Empty', ''); - const exists = (key: string) => con.node.metadataEntry.find(x => x.type === key); + const exists = (key: string) => con.node.metadata.find(x => x.type === key); expect(exists('Null')).toBeUndefined(); expect(exists('Undefined')).toBeUndefined(); @@ -292,9 +276,9 @@ describe('construct', () => { Annotations.of(con).addWarning('This construct is deprecated, use the other one instead'); restoreStackTraceColection(previousValue); - expect(con.node.metadataEntry[0].type).toEqual(cxschema.ArtifactMetadataEntryType.WARN); - expect(con.node.metadataEntry[0].data).toEqual('This construct is deprecated, use the other one instead'); - expect(con.node.metadataEntry[0].trace && con.node.metadataEntry[0].trace.length > 0).toEqual(true); + expect(con.node.metadata[0].type).toEqual(cxschema.ArtifactMetadataEntryType.WARN); + expect(con.node.metadata[0].data).toEqual('This construct is deprecated, use the other one instead'); + expect(con.node.metadata[0].trace && con.node.metadata[0].trace.length > 0).toEqual(true); }); @@ -305,9 +289,9 @@ describe('construct', () => { Annotations.of(con).addError('Stop!'); restoreStackTraceColection(previousValue); - expect(con.node.metadataEntry[0].type).toEqual(cxschema.ArtifactMetadataEntryType.ERROR); - expect(con.node.metadataEntry[0].data).toEqual('Stop!'); - expect(con.node.metadataEntry[0].trace && con.node.metadataEntry[0].trace.length > 0).toEqual(true); + expect(con.node.metadata[0].type).toEqual(cxschema.ArtifactMetadataEntryType.ERROR); + expect(con.node.metadata[0].data).toEqual('Stop!'); + expect(con.node.metadata[0].trace && con.node.metadata[0].trace.length > 0).toEqual(true); }); @@ -318,9 +302,9 @@ describe('construct', () => { Annotations.of(con).addInfo('Hey there, how do you do?'); restoreStackTraceColection(previousValue); - expect(con.node.metadataEntry[0].type).toEqual(cxschema.ArtifactMetadataEntryType.INFO); - expect(con.node.metadataEntry[0].data).toEqual('Hey there, how do you do?'); - expect(con.node.metadataEntry[0].trace && con.node.metadataEntry[0].trace.length > 0).toEqual(true); + expect(con.node.metadata[0].type).toEqual(cxschema.ArtifactMetadataEntryType.INFO); + expect(con.node.metadata[0].data).toEqual('Hey there, how do you do?'); + expect(con.node.metadata[0].trace && con.node.metadata[0].trace.length > 0).toEqual(true); }); @@ -338,14 +322,16 @@ describe('construct', () => { test('construct.validate() can be implemented to perform validation, ConstructNode.validate(construct.node) will return all errors from the subtree (DFS)', () => { class MyConstruct extends Construct { - protected validate() { - return ['my-error1', 'my-error2']; + constructor(scope: Construct, id: string) { + super(scope, id); + this.node.addValidation({ validate: () => ['my-error1', 'my-error2'] }); } } class YourConstruct extends Construct { - protected validate() { - return ['your-error1']; + constructor(scope: Construct, id: string) { + super(scope, id); + this.node.addValidation({ validate: () => ['your-error1'] }); } } @@ -354,10 +340,7 @@ describe('construct', () => { super(scope, id); new YourConstruct(this, 'YourConstruct'); - } - - protected validate() { - return ['their-error']; + this.node.addValidation({ validate: () => ['their-error'] }); } } @@ -367,24 +350,30 @@ describe('construct', () => { new MyConstruct(this, 'MyConstruct'); new TheirConstruct(this, 'TheirConstruct'); - } - protected validate() { - return ['stack-error']; + this.node.addValidation({ validate: () => ['stack-error'] }); } } const stack = new TestStack(); - const errors = ConstructNode.validate(stack.node).map((v: ValidationError) => ({ path: v.source.node.path, message: v.message })); + const errors = new Array<{ path: string, message: string }>(); + for (const child of stack.node.findAll()) { + for (const message of child.node.validate()) { + errors.push({ + path: child.node.path, + message, + }); + } + } // validate DFS expect(errors).toEqual([ + { path: '', message: 'stack-error' }, { path: 'MyConstruct', message: 'my-error1' }, { path: 'MyConstruct', message: 'my-error2' }, - { path: 'TheirConstruct/YourConstruct', message: 'your-error1' }, { path: 'TheirConstruct', message: 'their-error' }, - { path: '', message: 'stack-error' }, + { path: 'TheirConstruct/YourConstruct', message: 'your-error1' }, ]); @@ -394,11 +383,7 @@ describe('construct', () => { class LockableConstruct extends Construct { public lockMe() { - (this.node._actualNode as any)._lock(); - } - - public unlockMe() { - (this.node._actualNode as any)._unlock(); + this.node.lock(); } } @@ -418,13 +403,6 @@ describe('construct', () => { expect(() => new Construct(c1a, 'fail2')).toThrow(/Cannot add children to "c0a\/c1a" during synthesis/); expect(() => new Construct(c1b, 'fail3')).toThrow(/Cannot add children to "c0a\/c1b" during synthesis/); - c0a.unlockMe(); - - new Construct(c0a, 'c0aZ'); - new Construct(c1a, 'c1aZ'); - new Construct(c1b, 'c1bZ'); - - }); test('findAll returns a list of all children in either DFS or BFS', () => { @@ -547,3 +525,9 @@ function toTreeString(node: IConstruct, depth = 0) { } return out; } + +class Root extends Construct { + constructor() { + super(undefined as any, undefined as any); + } +} diff --git a/packages/@aws-cdk/core/test/context.test.ts b/packages/@aws-cdk/core/test/context.test.ts index 7df1ce97cebac..f04a658d3e1b7 100644 --- a/packages/@aws-cdk/core/test/context.test.ts +++ b/packages/@aws-cdk/core/test/context.test.ts @@ -1,4 +1,6 @@ -import { Construct, Stack } from '../lib'; +import * as cxapi from '@aws-cdk/cx-api'; +import { Construct } from 'constructs'; +import { App, Stack } from '../lib'; import { ContextProvider } from '../lib/context-provider'; import { synthesize } from '../lib/private/synthesis'; @@ -12,7 +14,8 @@ describe('context', () => { }); test('AvailabilityZoneProvider will return context list if available', () => { - const stack = new Stack(undefined, 'TestStack', { env: { account: '12345', region: 'us-east-1' } }); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new Stack(app, 'TestStack', { env: { account: '12345', region: 'us-east-1' } }); const before = stack.availabilityZones; expect(before).toEqual(['dummy1a', 'dummy1b', 'dummy1c']); const key = expectedContextKey(stack); @@ -26,7 +29,8 @@ describe('context', () => { }); test('AvailabilityZoneProvider will complain if not given a list', () => { - const stack = new Stack(undefined, 'TestStack', { env: { account: '12345', region: 'us-east-1' } }); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new Stack(app, 'TestStack', { env: { account: '12345', region: 'us-east-1' } }); const before = stack.availabilityZones; expect(before).toEqual(['dummy1a', 'dummy1b', 'dummy1c']); const key = expectedContextKey(stack); @@ -161,7 +165,7 @@ describe('context', () => { }); // THEN - const error = construct.node.metadataEntry.find(m => m.type === 'aws:cdk:error'); + const error = construct.node.metadata.find(m => m.type === 'aws:cdk:error'); expect(error && error.data).toEqual('I had a boo-boo'); diff --git a/packages/@aws-cdk/core/test/cross-environment-token.test.ts b/packages/@aws-cdk/core/test/cross-environment-token.test.ts index e44d4d8af2c0d..09ac68ff864d0 100644 --- a/packages/@aws-cdk/core/test/cross-environment-token.test.ts +++ b/packages/@aws-cdk/core/test/cross-environment-token.test.ts @@ -1,4 +1,5 @@ -import { App, CfnOutput, CfnResource, Construct, PhysicalName, Resource, Stack } from '../lib'; +import { Construct } from 'constructs'; +import { App, CfnOutput, CfnResource, PhysicalName, Resource, Stack } from '../lib'; import { toCloudFormation } from './util'; /* eslint-disable quote-props */ @@ -217,24 +218,20 @@ describe('cross environment', () => { const assembly = app.synth(); - expect(assembly.getStackByName(parentStack.stackName).template).toEqual({ - Resources: { - ParentResource: { - Type: 'Parent::Resource', - Properties: { - RefToChildResource: 'parentstackchildstack83c5ackchildresource852877eeb919bda2008e', - }, + expect(assembly.getStackByName(parentStack.stackName).template?.Resources).toEqual({ + ParentResource: { + Type: 'Parent::Resource', + Properties: { + RefToChildResource: 'parentstackchildstack83c5ackchildresource852877eeb919bda2008e', }, }, }); - expect(assembly.getStackByName(childStack.stackName).template).toEqual({ - Resources: { - ChildResource8C37244D: { - Type: 'My::Resource', - Properties: { - resourceName: 'parentstackchildstack83c5ackchildresource852877eeb919bda2008e', - }, + expect(assembly.getStackByName(childStack.stackName).template?.Resources).toEqual({ + ChildResource8C37244D: { + Type: 'My::Resource', + Properties: { + resourceName: 'parentstackchildstack83c5ackchildresource852877eeb919bda2008e', }, }, }); diff --git a/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts b/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts index ecda2d2741c5d..e8cb70d3bcafa 100644 --- a/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts +++ b/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts @@ -9,7 +9,8 @@ const TEST_HANDLER = `${__dirname}/mock-provider`; describe('custom resource provider', () => { test('minimal configuration', () => { // GIVEN - const stack = new Stack(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack = new Stack(app); // WHEN CustomResourceProvider.getOrCreate(stack, 'Custom:MyResourceType', { @@ -209,6 +210,33 @@ describe('custom resource provider', () => { }); + test('addToRolePolicy() can be used to add statements to the inline policy', () => { + // GIVEN + const stack = new Stack(); + + // WHEN + const provider = CustomResourceProvider.getOrCreateProvider(stack, 'Custom:MyResourceType', { + codeDirectory: TEST_HANDLER, + runtime: CustomResourceProviderRuntime.NODEJS_12_X, + policyStatements: [ + { statement1: 123 }, + { statement2: { foo: 111 } }, + ], + }); + provider.addToRolePolicy({ statement3: 456 }); + + // THEN + const template = toCloudFormation(stack); + const role = template.Resources.CustomMyResourceTypeCustomResourceProviderRoleBD5E655F; + expect(role.Properties.Policies).toEqual([{ + PolicyName: 'Inline', + PolicyDocument: { + Version: '2012-10-17', + Statement: [{ statement1: 123 }, { statement2: { foo: 111 } }, { statement3: 456 }], + }, + }]); + }); + test('memorySize, timeout and description', () => { // GIVEN const stack = new Stack(); diff --git a/packages/@aws-cdk/core/test/fn.test.ts b/packages/@aws-cdk/core/test/fn.test.ts index 343c3e0ea0422..7ebdcc6578f75 100644 --- a/packages/@aws-cdk/core/test/fn.test.ts +++ b/packages/@aws-cdk/core/test/fn.test.ts @@ -188,15 +188,13 @@ describe('fn', () => { // THEN const template = app.synth().getStackByName('Stack2').template; - expect(template).toEqual({ - Outputs: { - Stack1Id: { - Value: { - 'Fn::Join': [' = ', [ - 'Stack1Id', - { 'Fn::ImportValue': 'Stack1:ExportsOutputRefAWSStackIdB2DD5BAA' }, - ]], - }, + expect(template?.Outputs).toEqual({ + Stack1Id: { + Value: { + 'Fn::Join': [' = ', [ + 'Stack1Id', + { 'Fn::ImportValue': 'Stack1:ExportsOutputRefAWSStackIdB2DD5BAA' }, + ]], }, }, }); diff --git a/packages/@aws-cdk/core/test/logical-id.test.ts b/packages/@aws-cdk/core/test/logical-id.test.ts index bfd2381dc3461..5288e814cb304 100644 --- a/packages/@aws-cdk/core/test/logical-id.test.ts +++ b/packages/@aws-cdk/core/test/logical-id.test.ts @@ -1,5 +1,7 @@ -import { CfnElement, CfnResource, Construct, Stack } from '../lib'; +import { Construct } from 'constructs'; +import { App, CfnElement, CfnResource, Stack } from '../lib'; import { toCloudFormation } from './util'; +import * as cxapi from '@aws-cdk/cx-api'; /** * These tests are executed once (for specific ID schemes) @@ -234,7 +236,12 @@ describe('logical id', () => { } } - const stack = new MyStack(); + const app = new App({ + context: { + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const stack = new MyStack(app); new CfnResource(stack, 'A', { type: 'Type::Of::A' }); const group = new Construct(stack, 'Group'); new CfnResource(group, 'B', { type: 'Type::Of::B' }); diff --git a/packages/@aws-cdk/core/test/metadata-resource.test.ts b/packages/@aws-cdk/core/test/metadata-resource.test.ts index a1fed889d9894..1f5f676b5cdbf 100644 --- a/packages/@aws-cdk/core/test/metadata-resource.test.ts +++ b/packages/@aws-cdk/core/test/metadata-resource.test.ts @@ -1,11 +1,9 @@ import * as zlib from 'zlib'; +import { Construct } from 'constructs'; import { App, Stack } from '../lib'; import { formatAnalytics } from '../lib/private/metadata-resource'; import { ConstructInfo } from '../lib/private/runtime-info'; -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '../lib'; - describe('MetadataResource', () => { let app: App; let stack: Stack; diff --git a/packages/@aws-cdk/core/test/output.test.ts b/packages/@aws-cdk/core/test/output.test.ts index 5cc22d474cb2f..4ad27198bf27e 100644 --- a/packages/@aws-cdk/core/test/output.test.ts +++ b/packages/@aws-cdk/core/test/output.test.ts @@ -1,4 +1,4 @@ -import { App, CfnOutput, CfnResource, ConstructNode, Stack, ValidationError } from '../lib'; +import { App, CfnOutput, CfnResource, Stack } from '../lib'; import { toCloudFormation } from './util'; let app: App; @@ -114,9 +114,8 @@ describe('output', () => { }); test('Verify maximum length of export name', () => { - new CfnOutput(stack, 'SomeOutput', { value: 'x', exportName: 'x'.repeat(260) }); - - const errors = ConstructNode.validate(stack.node).map((v: ValidationError) => v.message); + const output = new CfnOutput(stack, 'SomeOutput', { value: 'x', exportName: 'x'.repeat(260) }); + const errors = output.node.validate(); expect(errors).toEqual([ expect.stringContaining('Export name cannot exceed 255 characters'), diff --git a/packages/@aws-cdk/core/test/parameter.test.ts b/packages/@aws-cdk/core/test/parameter.test.ts index ff5015717713b..14f1bb12fa19e 100644 --- a/packages/@aws-cdk/core/test/parameter.test.ts +++ b/packages/@aws-cdk/core/test/parameter.test.ts @@ -1,4 +1,5 @@ -import { CfnParameter, CfnResource, Construct, Stack } from '../lib'; +import { Construct } from 'constructs'; +import { CfnParameter, CfnResource, Stack } from '../lib'; import { toCloudFormation } from './util'; describe('parameter', () => { diff --git a/packages/@aws-cdk/core/test/private/tree-metadata.test.ts b/packages/@aws-cdk/core/test/private/tree-metadata.test.ts index 1e6f7d9739133..62f3c62fa141e 100644 --- a/packages/@aws-cdk/core/test/private/tree-metadata.test.ts +++ b/packages/@aws-cdk/core/test/private/tree-metadata.test.ts @@ -1,10 +1,11 @@ import * as fs from 'fs'; import * as path from 'path'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; -import { App, CfnParameter, CfnResource, Construct as CfnConstruct, Lazy, Stack, TreeInspector } from '../../lib/index'; +import { Construct } from 'constructs'; +import { App, CfnParameter, CfnResource, Lazy, Stack, TreeInspector } from '../../lib/index'; abstract class AbstractCfnResource extends CfnResource { - constructor(scope: CfnConstruct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id, { type: 'CDK::UnitTest::MyCfnResource', }); @@ -23,7 +24,7 @@ describe('tree metadata', () => { const app = new App(); const stack = new Stack(app, 'mystack'); - new CfnConstruct(stack, 'myconstruct'); + new Construct(stack, 'myconstruct'); const assembly = app.synth(); const treeArtifact = assembly.tree(); @@ -232,7 +233,7 @@ describe('tree metadata', () => { class MyFirstResource extends AbstractCfnResource { public readonly lazykey: string; - constructor(scope: CfnConstruct, id: string) { + constructor(scope: Construct, id: string) { super(scope, id); this.lazykey = Lazy.string({ produce: () => 'LazyResolved!' }); } @@ -247,7 +248,7 @@ describe('tree metadata', () => { class MySecondResource extends AbstractCfnResource { public readonly myprop: string; - constructor(scope: CfnConstruct, id: string, myprop: string) { + constructor(scope: Construct, id: string, myprop: string) { super(scope, id); this.myprop = myprop; } @@ -337,7 +338,7 @@ describe('tree metadata', () => { const treenode = app.node.findChild('Tree'); - const warn = treenode.node.metadataEntry.find((md) => { + const warn = treenode.node.metadata.find((md) => { return md.type === cxschema.ArtifactMetadataEntryType.WARN && /Forcing an inspect error/.test(md.data as string) && /mycfnresource/.test(md.data as string); diff --git a/packages/@aws-cdk/core/test/resource.test.ts b/packages/@aws-cdk/core/test/resource.test.ts index 8ae0c7a1c0270..bc5a0d1433125 100644 --- a/packages/@aws-cdk/core/test/resource.test.ts +++ b/packages/@aws-cdk/core/test/resource.test.ts @@ -1,7 +1,8 @@ import * as cxapi from '@aws-cdk/cx-api'; +import { Construct } from 'constructs'; import { App, App as Root, CfnCondition, - CfnDeletionPolicy, CfnResource, Construct, + CfnDeletionPolicy, CfnResource, Fn, IResource, RemovalPolicy, Resource, Stack, } from '../lib'; import { synthesize } from '../lib/private/synthesis'; @@ -839,13 +840,9 @@ describe('resource', () => { const assembly = app.synth(); const templateB = assembly.getStackByName(stackB.stackName).template; - expect(templateB).toEqual({ - Resources: { - Resource: { - Type: 'R', - // Notice absence of 'DependsOn' - }, - }, + expect(templateB?.Resources?.Resource).toEqual({ + Type: 'R', + // Notice absence of 'DependsOn' }); expect(stackB.dependencies.map(s => s.node.id)).toEqual(['StackA']); diff --git a/packages/@aws-cdk/core/test/runtime-info.test.ts b/packages/@aws-cdk/core/test/runtime-info.test.ts index b637bb2ba9b50..5fc8989448f5b 100644 --- a/packages/@aws-cdk/core/test/runtime-info.test.ts +++ b/packages/@aws-cdk/core/test/runtime-info.test.ts @@ -1,10 +1,8 @@ import * as path from 'path'; +import { Construct } from 'constructs'; import { App, NestedStack, Stack, Stage } from '../lib'; import { constructInfoFromConstruct, constructInfoFromStack } from '../lib/private/runtime-info'; -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '../lib'; - const JSII_RUNTIME_SYMBOL = Symbol.for('jsii.rtti'); let app: App; diff --git a/packages/@aws-cdk/core/test/stack.test.ts b/packages/@aws-cdk/core/test/stack.test.ts index f0f1637ed54ad..dd83e954ed17b 100644 --- a/packages/@aws-cdk/core/test/stack.test.ts +++ b/packages/@aws-cdk/core/test/stack.test.ts @@ -1,11 +1,11 @@ import { testDeprecated, testFutureBehavior, testLegacyBehavior } from '@aws-cdk/cdk-build-tools'; import * as cxapi from '@aws-cdk/cx-api'; import { Fact } from '@aws-cdk/region-info'; -import { Node } from 'constructs'; +import { Construct, Node } from 'constructs'; import { App, CfnCondition, CfnInclude, CfnOutput, CfnParameter, - CfnResource, Construct, Lazy, ScopedAws, Stack, validateString, - ISynthesisSession, Tags, LegacyStackSynthesizer, DefaultStackSynthesizer, + CfnResource, Lazy, ScopedAws, Stack, validateString, + Tags, LegacyStackSynthesizer, DefaultStackSynthesizer, NestedStack, Aws, } from '../lib'; @@ -274,7 +274,7 @@ describe('stack', () => { test('Pseudo values attached to one stack can be referenced in another stack', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const account1 = new ScopedAws(stack1).accountId; const stack2 = new Stack(app, 'Stack2'); @@ -327,17 +327,14 @@ describe('stack', () => { const assembly = app.synth(); const template2 = assembly.getStackByName(stack2.stackName).template; - expect(template2).toEqual({ - Resources: { - SomeResource: { - Type: 'AWS::Some::Resource', - Properties: { - someProperty: { 'Fn::ImportValue': 'Stack1:ExportsOutputRefResource1D5D905A' }, - }, + expect(template2?.Resources).toEqual({ + SomeResource: { + Type: 'AWS::Some::Resource', + Properties: { + someProperty: { 'Fn::ImportValue': 'Stack1:ExportsOutputRefResource1D5D905A' }, }, }, }); - }); test('Cross-stack export names account for stack name lengths', () => { @@ -400,22 +397,19 @@ describe('stack', () => { const assembly = app.synth(); const template2 = assembly.getStackByName(stack2.stackName).template; - expect(template2).toEqual({ - Resources: { - SomeResource: { - Type: 'AWS::Some::Resource', - Properties: { - someProperty: { 'Fn::ImportValue': 'Stack1:ExportsOutputRefResource1D5D905A' }, - }, + expect(template2?.Resources).toEqual({ + SomeResource: { + Type: 'AWS::Some::Resource', + Properties: { + someProperty: { 'Fn::ImportValue': 'Stack1:ExportsOutputRefResource1D5D905A' }, }, }, }); - }); test('cross-stack references in lazy tokens work', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const account1 = new ScopedAws(stack1).accountId; const stack2 = new Stack(app, 'Stack2'); @@ -463,23 +457,19 @@ describe('stack', () => { const assembly = app.synth(); const template2 = assembly.getStackByName(stack2.stackName).template; - expect(template2).toEqual({ - Outputs: { - DemOutput: { - Value: { Ref: 'AWS::Region' }, - }, - DemAccount: { - Value: { Ref: 'AWS::AccountId' }, - }, + expect(template2?.Outputs).toEqual({ + DemOutput: { + Value: { Ref: 'AWS::Region' }, + }, + DemAccount: { + Value: { Ref: 'AWS::AccountId' }, }, }); - - }); test('cross-stack references in strings work', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack1 = new Stack(app, 'Stack1'); const account1 = new ScopedAws(stack1).accountId; const stack2 = new Stack(app, 'Stack2'); @@ -499,13 +489,16 @@ describe('stack', () => { }, }, }); - - }); test('cross stack references and dependencies work within child stacks (non-nested)', () => { // GIVEN - const app = new App({ context: { '@aws-cdk/core:stackRelativeExports': true } }); + const app = new App({ + context: { + '@aws-cdk/core:stackRelativeExports': true, + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); const parent = new Stack(app, 'Parent'); const child1 = new Stack(parent, 'Child1'); const child2 = new Stack(parent, 'Child2'); @@ -600,7 +593,7 @@ describe('stack', () => { producerM.exportValue(resourceM.getAtt('Att')); const template = appM.synth().getStackByName(producerM.stackName).template; - expect(template).toEqual({ + expect(template).toMatchObject({ Outputs: { ExportsOutputFnGetAttOVERRIDELOGICALIDAtt2DD28019: { Export: { @@ -700,8 +693,8 @@ describe('stack', () => { // THEN const assembly = app.synth(); - expect(assembly.getStackByName(parentStack.stackName).template).toEqual({ Resources: { MyParentResource: { Type: 'Resource::Parent' } } }); - expect(assembly.getStackByName(childStack.stackName).template).toEqual({ Resources: { MyChildResource: { Type: 'Resource::Child' } } }); + expect(assembly.getStackByName(parentStack.stackName).template?.Resources).toEqual({ MyParentResource: { Type: 'Resource::Parent' } }); + expect(assembly.getStackByName(childStack.stackName).template?.Resources).toEqual({ MyChildResource: { Type: 'Resource::Child' } }); }); test('Nested Stacks are synthesized with DESTROY policy', () => { @@ -748,7 +741,7 @@ describe('stack', () => { test('cross-stack reference (substack references parent stack)', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const parentStack = new Stack(app, 'parent'); const childStack = new Stack(parentStack, 'child'); @@ -789,7 +782,13 @@ describe('stack', () => { test('cross-stack reference (parent stack references substack)', () => { // GIVEN - const app = new App({ context: { '@aws-cdk/core:stackRelativeExports': true } }); + const app = new App({ + context: { + '@aws-cdk/core:stackRelativeExports': true, + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + }, + }); + const parentStack = new Stack(app, 'parent'); const childStack = new Stack(parentStack, 'child'); @@ -824,7 +823,6 @@ describe('stack', () => { }, }, }); - }); test('cannot create cyclic reference between stacks', () => { @@ -1138,7 +1136,8 @@ describe('stack', () => { test('stack tags are reflected in the stack cloud assembly artifact metadata', () => { // GIVEN - const app = new App({ stackTraces: false }); + const app = new App({ stackTraces: false, context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); + const stack1 = new Stack(app, 'stack1'); const stack2 = new Stack(stack1, 'stack2'); @@ -1190,25 +1189,6 @@ describe('stack', () => { }); - test('users can (still) override "synthesize()" in stack', () => { - let called = false; - - class MyStack extends Stack { - synthesize(session: ISynthesisSession) { - called = true; - expect(session.outdir).toBeDefined(); - expect(session.assembly.outdir).toEqual(session.outdir); - } - } - - const app = new App(); - new MyStack(app, 'my-stack'); - - app.synth(); - expect(called).toEqual(true); - - }); - test('context can be set on a stack using a LegacySynthesizer', () => { // WHEN const stack = new Stack(undefined, undefined, { diff --git a/packages/@aws-cdk/core/test/stage.test.ts b/packages/@aws-cdk/core/test/stage.test.ts index 6c7f27c8cfec4..cf3d1906e7bc2 100644 --- a/packages/@aws-cdk/core/test/stage.test.ts +++ b/packages/@aws-cdk/core/test/stage.test.ts @@ -1,6 +1,7 @@ import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import * as cxapi from '@aws-cdk/cx-api'; -import { App, CfnResource, Construct, IAspect, IConstruct, Stack, Stage, Aspects } from '../lib'; +import { Construct, IConstruct } from 'constructs'; +import { App, CfnResource, IAspect, Stack, Stage, Aspects } from '../lib'; describe('stage', () => { test('Stack inherits unspecified part of the env from Stage', () => { @@ -115,29 +116,6 @@ describe('stage', () => { stack2.addDependency(stack1); }).toThrow(/dependency cannot cross stage boundaries/); - - }); - - test('When we synth() a stage, prepare must be called on constructs in the stage', () => { - // GIVEN - const app = new App(); - let prepared = false; - const stage = new Stage(app, 'MyStage'); - const stack = new BogusStack(stage, 'Stack'); - class HazPrepare extends Construct { - protected prepare() { - prepared = true; - } - } - new HazPrepare(stack, 'Preparable'); - - // WHEN - stage.synth(); - - // THEN - expect(prepared).toEqual(true); - - }); test('When we synth() a stage, aspects inside it must have been applied', () => { @@ -181,7 +159,7 @@ describe('stage', () => { test('Automatic dependencies inside a stage are available immediately after synth', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stage = new Stage(app, 'MyStage'); const stack1 = new Stack(stage, 'Stack1'); const stack2 = new Stack(stage, 'Stack2'); @@ -339,6 +317,7 @@ test('missing context in Stages is propagated up to root assembly', () => { provider: cxschema.ContextProvider.AVAILABILITY_ZONE_PROVIDER, props: { account: 'account', + lookupRoleArn: 'arn:${AWS::Partition}:iam::account:role/cdk-hnb659fds-lookup-role-account-region', region: 'region', }, }, diff --git a/packages/@aws-cdk/core/test/staging.test.ts b/packages/@aws-cdk/core/test/staging.test.ts index 6b2bd8e76e9e4..299c1964c1e85 100644 --- a/packages/@aws-cdk/core/test/staging.test.ts +++ b/packages/@aws-cdk/core/test/staging.test.ts @@ -170,7 +170,7 @@ describe('staging', () => { test('files are copied to the output directory during synth', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); // WHEN @@ -234,7 +234,7 @@ describe('staging', () => { test('with bundling', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); const processStdErrWriteSpy = sinon.spy(process.stderr, 'write'); @@ -270,7 +270,7 @@ describe('staging', () => { test('bundled resources have absolute path when staging is disabled', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); stack.node.setContext(cxapi.DISABLE_ASSET_STAGING_CONTEXT, true); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); @@ -308,7 +308,7 @@ describe('staging', () => { test('bundler reuses its output when it can', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); @@ -351,7 +351,7 @@ describe('staging', () => { test('uses asset hash cache with AssetHashType.OUTPUT', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); const fingerPrintSpy = sinon.spy(FileSystem, 'fingerprint'); @@ -401,7 +401,7 @@ describe('staging', () => { test('bundler considers its options when reusing bundle output', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); @@ -450,7 +450,7 @@ describe('staging', () => { test('bundler outputs to intermediate dir and renames to asset', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); const ensureDirSync = sinon.spy(fs, 'ensureDirSync'); @@ -516,7 +516,7 @@ describe('staging', () => { fs.removeSync(TEST_OUTDIR); } - const app = new App({ outdir: TEST_OUTDIR }); + const app = new App({ outdir: TEST_OUTDIR, context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); @@ -534,7 +534,7 @@ describe('staging', () => { AssetStaging.clearAssetHashCache(); // GIVEN - const app2 = new App({ outdir: TEST_OUTDIR }); + const app2 = new App({ outdir: TEST_OUTDIR, context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack2 = new Stack(app2, 'stack'); // WHEN @@ -951,7 +951,7 @@ describe('staging', () => { test('bundling that produces a single archive file is autodiscovered', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); @@ -1033,7 +1033,7 @@ describe('staging', () => { test('bundling that produces a single archive file with NOT_ARCHIVED', () => { // GIVEN - const app = new App(); + const app = new App({ context: { [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false } }); const stack = new Stack(app, 'stack'); const directory = path.join(__dirname, 'fs', 'fixtures', 'test1'); diff --git a/packages/@aws-cdk/core/test/synthesis.test.ts b/packages/@aws-cdk/core/test/synthesis.test.ts index bb0a87afa0ea4..70bfc05042a82 100644 --- a/packages/@aws-cdk/core/test/synthesis.test.ts +++ b/packages/@aws-cdk/core/test/synthesis.test.ts @@ -4,7 +4,9 @@ import * as path from 'path'; import { testDeprecated } from '@aws-cdk/cdk-build-tools'; import * as cxschema from '@aws-cdk/cloud-assembly-schema'; import * as cxapi from '@aws-cdk/cx-api'; +import { Construct } from 'constructs'; import * as cdk from '../lib'; +import { synthesize } from '../lib/private/synthesis'; function createModernApp() { return new cdk.App(); @@ -110,14 +112,20 @@ describe('synthesis', () => { const app = createModernApp(); const stack = new cdk.Stack(app, 'one-stack'); - class MyConstruct extends cdk.Construct { - protected synthesize(s: cdk.ISynthesisSession) { - writeJson(s.assembly.outdir, 'foo.json', { bar: 123 }); - s.assembly.addArtifact('my-random-construct', { - type: cxschema.ArtifactType.AWS_CLOUDFORMATION_STACK, - environment: 'aws://12345/bar', - properties: { - templateFile: 'foo.json', + class MyConstruct extends Construct { + constructor(scope: Construct, id: string) { + super(scope, id); + + cdk.attachCustomSynthesis(this, { + onSynthesize(s: cdk.ISynthesisSession) { + writeJson(s.assembly.outdir, 'foo.json', { bar: 123 }); + s.assembly.addArtifact('my-random-construct', { + type: cxschema.ArtifactType.AWS_CLOUDFORMATION_STACK, + environment: 'aws://12345/bar', + properties: { + templateFile: 'foo.json', + }, + }); }, }); } @@ -135,7 +143,7 @@ describe('synthesis', () => { expect(readJson(session.directory, 'foo.json')).toEqual({ bar: 123 }); expect(session.manifest).toEqual({ version: cxschema.Manifest.version(), - artifacts: { + artifacts: expect.objectContaining({ 'Tree': { type: 'cdk:tree', properties: { file: 'tree.json' }, @@ -145,16 +153,16 @@ describe('synthesis', () => { environment: 'aws://12345/bar', properties: { templateFile: 'foo.json' }, }, - 'one-stack': { + 'one-stack': expect.objectContaining({ type: 'aws:cloudformation:stack', environment: 'aws://unknown-account/unknown-region', - properties: { + properties: expect.objectContaining({ templateFile: 'one-stack.template.json', validateOnSynth: false, - }, + }), displayName: 'one-stack', - }, - }, + }), + }), }); }); @@ -163,8 +171,8 @@ describe('synthesis', () => { const app = createModernApp(); const stack = new cdk.Stack(app, 'one-stack'); - class MyConstruct extends cdk.Construct { - constructor(scope: cdk.Construct, id: string) { + class MyConstruct extends Construct { + constructor(scope: Construct, id: string) { super(scope, id); cdk.attachCustomSynthesis(this, { @@ -194,7 +202,7 @@ describe('synthesis', () => { expect(readJson(session.directory, 'foo.json')).toEqual({ bar: 123 }); expect(session.manifest).toEqual({ version: cxschema.Manifest.version(), - artifacts: { + artifacts: expect.objectContaining({ 'Tree': { type: 'cdk:tree', properties: { file: 'tree.json' }, @@ -204,28 +212,36 @@ describe('synthesis', () => { environment: 'aws://12345/bar', properties: { templateFile: 'foo.json' }, }, - 'one-stack': { + 'one-stack': expect.objectContaining({ type: 'aws:cloudformation:stack', environment: 'aws://unknown-account/unknown-region', - properties: { + properties: expect.objectContaining({ templateFile: 'one-stack.template.json', validateOnSynth: false, - }, + }), displayName: 'one-stack', - }, - }, + }), + }), }); }); testDeprecated('it should be possible to synthesize without an app', () => { const calls = new Array(); - class SynthesizeMe extends cdk.Construct { + class SynthesizeMe extends cdk.Stack { constructor() { - super(undefined as any, 'id'); + super(undefined as any, 'id', { + synthesizer: new cdk.LegacyStackSynthesizer(), + }); + this.node.addValidation({ + validate: () => { + calls.push('validate'); + return []; + }, + }); } - protected synthesize(session: cdk.ISynthesisSession) { + public _synthesizeTemplate(session: cdk.ISynthesisSession) { calls.push('synthesize'); session.assembly.addArtifact('art', { @@ -242,21 +258,12 @@ describe('synthesis', () => { writeJson(session.assembly.outdir, 'hey.json', { hello: 123 }); } - - protected validate(): string[] { - calls.push('validate'); - return []; - } - - protected prepare(): void { - calls.push('prepare'); - } } const root = new SynthesizeMe(); - const assembly = cdk.ConstructNode.synth(root.node, { outdir: fs.mkdtempSync(path.join(os.tmpdir(), 'outdir')) }); + const assembly = synthesize(root, { outdir: fs.mkdtempSync(path.join(os.tmpdir(), 'outdir')) }); - expect(calls).toEqual(['prepare', 'validate', 'synthesize']); + expect(calls).toEqual(['validate', 'synthesize']); const stack = assembly.getStackByName('art'); expect(stack.template).toEqual({ hello: 123 }); expect(stack.templateFile).toEqual('hey.json'); diff --git a/packages/@aws-cdk/core/test/tag-aspect.test.ts b/packages/@aws-cdk/core/test/tag-aspect.test.ts index 3667484d8f44d..001c07061ba22 100644 --- a/packages/@aws-cdk/core/test/tag-aspect.test.ts +++ b/packages/@aws-cdk/core/test/tag-aspect.test.ts @@ -1,4 +1,5 @@ -import { CfnResource, CfnResourceProps, Construct, RemoveTag, Stack, Tag, TagManager, TagType, Aspects, Tags } from '../lib'; +import { Construct } from 'constructs'; +import { CfnResource, CfnResourceProps, RemoveTag, Stack, Tag, TagManager, TagType, Aspects, Tags } from '../lib'; import { synthesize } from '../lib/private/synthesis'; class TaggableResource extends CfnResource { diff --git a/packages/@aws-cdk/core/test/util.test.ts b/packages/@aws-cdk/core/test/util.test.ts index e2074056dfa4f..f9a0de0eb6b36 100644 --- a/packages/@aws-cdk/core/test/util.test.ts +++ b/packages/@aws-cdk/core/test/util.test.ts @@ -1,4 +1,5 @@ -import { CfnResource, Construct, Stack } from '../lib'; +import { Construct } from 'constructs'; +import { CfnResource, Stack } from '../lib'; import { capitalizePropertyNames, filterUndefined, findLastCommonElement, ignoreEmpty, pathToTopLevelStack } from '../lib/util'; describe('util', () => { diff --git a/packages/@aws-cdk/core/test/util.ts b/packages/@aws-cdk/core/test/util.ts index bff30b8d80d8c..59b68b722c416 100644 --- a/packages/@aws-cdk/core/test/util.ts +++ b/packages/@aws-cdk/core/test/util.ts @@ -3,7 +3,20 @@ import { CDK_DEBUG } from '../lib/debug'; import { synthesize } from '../lib/private/synthesis'; export function toCloudFormation(stack: Stack): any { - return synthesize(stack, { skipValidation: true }).getStackByName(stack.stackName).template; + const synthesizedTemplate = synthesize(stack, { skipValidation: true }).getStackByName(stack.stackName).template; + + // if new-style synthesis is not explicitly set, remove the extra generated Rule and Parameter from the synthesized template, + // to avoid changing many tests that rely on the template being exactly what it is + delete synthesizedTemplate?.Rules?.CheckBootstrapVersion; + if (Object.keys(synthesizedTemplate?.Rules ?? {}).length === 0) { + delete synthesizedTemplate?.Rules; + } + delete synthesizedTemplate?.Parameters?.BootstrapVersion; + if (Object.keys(synthesizedTemplate?.Parameters ?? {}).length === 0) { + delete synthesizedTemplate?.Parameters; + } + + return synthesizedTemplate; } export function reEnableStackTraceCollection(): string | undefined { diff --git a/packages/@aws-cdk/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts b/packages/@aws-cdk/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts index 52447e117e532..2744eb2cf2a6b 100644 --- a/packages/@aws-cdk/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts +++ b/packages/@aws-cdk/custom-resources/lib/aws-custom-resource/aws-custom-resource.ts @@ -7,10 +7,6 @@ import * as cdk from '@aws-cdk/core'; import { Construct } from 'constructs'; import { PHYSICAL_RESOURCE_ID_REFERENCE } from './runtime'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Reference to the physical resource id that can be passed to the AWS operation as a parameter. */ @@ -322,7 +318,7 @@ export interface AwsCustomResourceProps { * You can specify exactly which calls are invoked for the 'CREATE', 'UPDATE' and 'DELETE' life cycle events. * */ -export class AwsCustomResource extends CoreConstruct implements iam.IGrantable { +export class AwsCustomResource extends Construct implements iam.IGrantable { private static breakIgnoreErrorsCircuit(sdkCalls: Array, caller: string) { diff --git a/packages/@aws-cdk/custom-resources/lib/provider-framework/provider.ts b/packages/@aws-cdk/custom-resources/lib/provider-framework/provider.ts index d8f4e97293a2a..49656ae7f7f99 100644 --- a/packages/@aws-cdk/custom-resources/lib/provider-framework/provider.ts +++ b/packages/@aws-cdk/custom-resources/lib/provider-framework/provider.ts @@ -12,9 +12,6 @@ import { WaiterStateMachine } from './waiter-state-machine'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order import { CustomResourceProviderConfig, ICustomResourceProvider } from '@aws-cdk/aws-cloudformation'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main", -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; const RUNTIME_HANDLER_PATH = path.join(__dirname, 'runtime'); const FRAMEWORK_HANDLER_TIMEOUT = Duration.minutes(15); // keep it simple for now @@ -129,7 +126,7 @@ export interface ProviderProps { /** * Defines an AWS CloudFormation custom resource provider. */ -export class Provider extends CoreConstruct implements ICustomResourceProvider { +export class Provider extends Construct implements ICustomResourceProvider { /** * The user-defined AWS Lambda function which is invoked for all resource @@ -201,7 +198,7 @@ export class Provider extends CoreConstruct implements ICustomResourceProvider { * Called by `CustomResource` which uses this provider. * @deprecated use `provider.serviceToken` instead */ - public bind(_scope: CoreConstruct): CustomResourceProviderConfig { + public bind(_scope: Construct): CustomResourceProviderConfig { return { serviceToken: this.entrypoint.functionArn, }; diff --git a/packages/@aws-cdk/custom-resources/lib/provider-framework/waiter-state-machine.ts b/packages/@aws-cdk/custom-resources/lib/provider-framework/waiter-state-machine.ts index b6bc6116c328c..6654a3925be63 100644 --- a/packages/@aws-cdk/custom-resources/lib/provider-framework/waiter-state-machine.ts +++ b/packages/@aws-cdk/custom-resources/lib/provider-framework/waiter-state-machine.ts @@ -4,7 +4,7 @@ import { CfnResource, Duration, Stack } from '@aws-cdk/core'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; export interface WaiterStateMachineProps { /** @@ -97,4 +97,4 @@ export class WaiterStateMachine extends Construct { resourceArns: [this.stateMachineArn], }); } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/custom-resources/package.json b/packages/@aws-cdk/custom-resources/package.json index 3e251716a5392..2a3efd37281cc 100644 --- a/packages/@aws-cdk/custom-resources/package.json +++ b/packages/@aws-cdk/custom-resources/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/custom-resources", "version": "0.0.0", + "private": true, "description": "Constructs for implementing CDK custom resources", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -24,7 +25,7 @@ "module": "aws_cdk.custom_resources", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -105,7 +106,7 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -116,10 +117,10 @@ "@aws-cdk/aws-logs": "0.0.0", "@aws-cdk/aws-sns": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "awslint": { diff --git a/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-assert.ts b/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-assert.ts index 369369945632f..e20403d0cccac 100644 --- a/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-assert.ts +++ b/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-assert.ts @@ -6,10 +6,6 @@ import { CustomResource, Duration, Stack } from '@aws-cdk/core'; import { Construct, Node } from 'constructs'; import * as cr from '../../../lib'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - export interface S3AssertProps { /** * The s3 bucket to query. @@ -34,7 +30,7 @@ export interface S3AssertProps { * * Code is written in Python because why not. */ -export class S3Assert extends CoreConstruct { +export class S3Assert extends Construct { constructor(scope: Construct, id: string, props: S3AssertProps) { super(scope, id); @@ -51,7 +47,7 @@ export class S3Assert extends CoreConstruct { } } -class S3AssertProvider extends CoreConstruct { +class S3AssertProvider extends Construct { /** * Returns the singleton provider. diff --git a/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-file.ts b/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-file.ts index 7b37e16fee6b1..8fa3fd6dfe55b 100644 --- a/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-file.ts +++ b/packages/@aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-file.ts @@ -7,10 +7,6 @@ import { Construct, Node } from 'constructs'; import * as cr from '../../../lib'; import * as api from './s3-file-handler/api'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - interface S3FileProps { /** * The bucket in which the file will be created. @@ -37,7 +33,7 @@ interface S3FileProps { readonly public?: boolean; } -export class S3File extends CoreConstruct { +export class S3File extends Construct { public readonly objectKey: string; public readonly url: string; public readonly etag: string; @@ -62,7 +58,7 @@ export class S3File extends CoreConstruct { } } -class S3FileProvider extends CoreConstruct { +class S3FileProvider extends Construct { /** * Returns the singleton provider. diff --git a/packages/@aws-cdk/custom-resources/test/provider-framework/provider.integ.snapshot/tree.json b/packages/@aws-cdk/custom-resources/test/provider-framework/provider.integ.snapshot/tree.json index 59e97e6980c9a..35e7cb71a428e 100644 --- a/packages/@aws-cdk/custom-resources/test/provider-framework/provider.integ.snapshot/tree.json +++ b/packages/@aws-cdk/custom-resources/test/provider-framework/provider.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "integ-provider-framework": { @@ -62,8 +62,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "com.amazonaws.cdk.custom-resources.s3file-provider": { @@ -488,8 +488,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "AssetParameters": { @@ -526,8 +526,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { @@ -560,8 +560,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "4bafad8d010ba693e235b77d2c6decfc2ac79a8208d4477cbb36d31caf7189e8": { @@ -594,14 +594,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "file2": { @@ -628,8 +628,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "assert-file": { @@ -656,8 +656,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "com.amazonaws.cdk.custom-resources.s3assert-provider": { @@ -1872,8 +1872,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -1884,8 +1884,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "file1-url": { diff --git a/packages/@aws-cdk/cx-api/lib/features.ts b/packages/@aws-cdk/cx-api/lib/features.ts index d1dd205efc06f..6316758cb5ac0 100644 --- a/packages/@aws-cdk/cx-api/lib/features.ts +++ b/packages/@aws-cdk/cx-api/lib/features.ts @@ -277,6 +277,14 @@ export const NEW_PROJECT_DEFAULT_CONTEXT: { [key: string]: any} = { * and block usages of old feature flags in the new major version of CDK. */ export const FUTURE_FLAGS_EXPIRED: string[] = [ + DOCKER_IGNORE_SUPPORT, + ECS_REMOVE_DEFAULT_DESIRED_COUNT, + EFS_DEFAULT_ENCRYPTION_AT_REST, + ENABLE_DIFF_NO_FAIL_CONTEXT, + ENABLE_STACK_NAME_DUPLICATES_CONTEXT, + KMS_DEFAULT_KEY_POLICIES, + S3_GRANT_WRITE_WITHOUT_ACL, + SECRETS_MANAGER_PARSE_OWNED_SECRET_NAME, ]; /** @@ -289,6 +297,24 @@ export const FUTURE_FLAGS_EXPIRED: string[] = [ * major version! */ const FUTURE_FLAGS_DEFAULTS: { [key: string]: boolean } = { + [APIGATEWAY_USAGEPLANKEY_ORDERINSENSITIVE_ID]: true, + [ENABLE_STACK_NAME_DUPLICATES_CONTEXT]: true, + [ENABLE_DIFF_NO_FAIL_CONTEXT]: true, + [STACK_RELATIVE_EXPORTS_CONTEXT]: true, + [NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: true, + [DOCKER_IGNORE_SUPPORT]: true, + [SECRETS_MANAGER_PARSE_OWNED_SECRET_NAME]: true, + [KMS_DEFAULT_KEY_POLICIES]: true, + [S3_GRANT_WRITE_WITHOUT_ACL]: true, + [ECS_REMOVE_DEFAULT_DESIRED_COUNT]: true, + [RDS_LOWERCASE_DB_IDENTIFIER]: true, + [EFS_DEFAULT_ENCRYPTION_AT_REST]: true, + [LAMBDA_RECOGNIZE_VERSION_PROPS]: true, + [CLOUDFRONT_DEFAULT_SECURITY_POLICY_TLS_V1_2_2021]: true, + // Every feature flag below this should have its default behavior set to "not + // activated", as it was introduced AFTER v2 was released. + [ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER]: false, + [EC2_UNIQUE_IMDSV2_LAUNCH_TEMPLATE_NAME]: false, }; export function futureFlagDefault(flag: string): boolean { diff --git a/packages/@aws-cdk/cx-api/package.json b/packages/@aws-cdk/cx-api/package.json index 2ed9682b19e0a..229d665fea555 100644 --- a/packages/@aws-cdk/cx-api/package.json +++ b/packages/@aws-cdk/cx-api/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.cx_api", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,7 +89,7 @@ "semver" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -158,6 +158,6 @@ "announce": false }, "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/@aws-cdk/example-construct-library/package.json b/packages/@aws-cdk/example-construct-library/package.json index 6e2aa450445e8..9516ed4fdef3d 100644 --- a/packages/@aws-cdk/example-construct-library/package.json +++ b/packages/@aws-cdk/example-construct-library/package.json @@ -25,7 +25,7 @@ "module": "aws_cdk.example_construct_library", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,7 +87,7 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { @@ -97,10 +97,11 @@ "@aws-cdk/aws-iam": "0.0.0", "@aws-cdk/aws-s3": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, + "separate-module": false, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "experimental", "maturity": "experimental", diff --git a/packages/@aws-cdk/integ-runner/package.json b/packages/@aws-cdk/integ-runner/package.json index fdf44c3311b9a..81adf1e1c0790 100644 --- a/packages/@aws-cdk/integ-runner/package.json +++ b/packages/@aws-cdk/integ-runner/package.json @@ -2,7 +2,6 @@ "name": "@aws-cdk/integ-runner", "description": "CDK Integration Testing Tool", "version": "0.0.0", - "private": false, "main": "lib/index.js", "types": "lib/index.d.ts", "bin": { @@ -86,7 +85,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nozem": { "ostools": [ @@ -99,5 +98,6 @@ "maturity": "experimental", "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/integ-tests/lib/assertions/assertions.ts b/packages/@aws-cdk/integ-tests/lib/assertions/assertions.ts index c7f20e005e526..4d467c7e2992c 100644 --- a/packages/@aws-cdk/integ-tests/lib/assertions/assertions.ts +++ b/packages/@aws-cdk/integ-tests/lib/assertions/assertions.ts @@ -1,11 +1,10 @@ import { CustomResource, CfnOutput } from '@aws-cdk/core'; -import { Construct } from 'constructs'; import { ExpectedResult, ActualResult } from './common'; import { AssertionRequest, AssertionsProvider, ASSERT_RESOURCE_TYPE } from './providers'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** @@ -38,7 +37,7 @@ export interface EqualsAssertionProps { * Construct that creates a CustomResource to assert that two * values are equal */ -export class EqualsAssertion extends CoreConstruct { +export class EqualsAssertion extends Construct { /** * The result of the assertion */ diff --git a/packages/@aws-cdk/integ-tests/lib/assertions/private/deploy-assert.ts b/packages/@aws-cdk/integ-tests/lib/assertions/private/deploy-assert.ts index 1ff091978e7c5..068350c459aab 100644 --- a/packages/@aws-cdk/integ-tests/lib/assertions/private/deploy-assert.ts +++ b/packages/@aws-cdk/integ-tests/lib/assertions/private/deploy-assert.ts @@ -9,11 +9,6 @@ import { IDeployAssert } from '../types'; const DEPLOY_ASSERT_SYMBOL = Symbol.for('@aws-cdk/integ-tests.DeployAssert'); - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Options for DeployAssert */ @@ -23,7 +18,7 @@ export interface DeployAssertProps { } * Construct that allows for registering a list of assertions * that should be performed on a construct */ -export class DeployAssert extends CoreConstruct implements IDeployAssert { +export class DeployAssert extends Construct implements IDeployAssert { /** * Returns whether the construct is a DeployAssert construct diff --git a/packages/@aws-cdk/integ-tests/lib/assertions/providers/provider.ts b/packages/@aws-cdk/integ-tests/lib/assertions/providers/provider.ts index 0b416158cc717..870b91877091d 100644 --- a/packages/@aws-cdk/integ-tests/lib/assertions/providers/provider.ts +++ b/packages/@aws-cdk/integ-tests/lib/assertions/providers/provider.ts @@ -1,10 +1,10 @@ import * as path from 'path'; import { Duration, CfnResource, AssetStaging, Stack, FileAssetPackaging, Token, Lazy, Reference } from '@aws-cdk/core'; -import { Construct } from 'constructs'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; + let SDK_METADATA: any = undefined; @@ -13,7 +13,7 @@ let SDK_METADATA: any = undefined; * this construct creates a lambda function provider using * only CfnResource */ -class LambdaFunctionProvider extends CoreConstruct { +class LambdaFunctionProvider extends Construct { /** * The ARN of the lambda function which can be used * as a serviceToken to a CustomResource @@ -106,7 +106,7 @@ interface SingletonFunctionProps { /** * Mimic the singletonfunction construct in '@aws-cdk/aws-lambda' */ -class SingletonFunction extends CoreConstruct { +class SingletonFunction extends Construct { public readonly serviceToken: string; public readonly lambdaFunction: LambdaFunctionProvider; @@ -115,13 +115,16 @@ class SingletonFunction extends CoreConstruct { super(scope, id); this.lambdaFunction = this.ensureFunction(props); this.serviceToken = this.lambdaFunction.serviceToken; - } - /** - * The policies can be added by different constructs - */ - onPrepare(): void { - this.lambdaFunction.addPolicies(this.policies); + /** + * The policies can be added by different constructs + */ + this.node.addValidation({ + validate: () => { + this.lambdaFunction.addPolicies(this.policies); + return []; + }, + }); } private ensureFunction(props: SingletonFunctionProps): LambdaFunctionProvider { @@ -160,7 +163,7 @@ class SingletonFunction extends CoreConstruct { * that serves as the custom resource provider for the various * assertion providers */ -export class AssertionsProvider extends CoreConstruct { +export class AssertionsProvider extends Construct { /** * The ARN of the lambda function which can be used * as a serviceToken to a CustomResource diff --git a/packages/@aws-cdk/integ-tests/lib/assertions/sdk.ts b/packages/@aws-cdk/integ-tests/lib/assertions/sdk.ts index 443554b5c38f7..35b8e76da58d9 100644 --- a/packages/@aws-cdk/integ-tests/lib/assertions/sdk.ts +++ b/packages/@aws-cdk/integ-tests/lib/assertions/sdk.ts @@ -1,16 +1,11 @@ import { CustomResource, Reference, Lazy, CfnResource, Stack, ArnFormat } from '@aws-cdk/core'; -import { Construct } from 'constructs'; import { EqualsAssertion } from './assertions'; import { ExpectedResult, ActualResult } from './common'; import { AssertionsProvider, SDK_RESOURCE_TYPE_PREFIX } from './providers'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { IConstruct } from '@aws-cdk/core'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct, IConstruct } from 'constructs'; /** * Interface for creating a custom resource that will perform @@ -113,7 +108,7 @@ export interface AwsApiCallProps extends AwsApiCallOptions {} * Construct that creates a custom resource that will perform * a query using the AWS SDK */ -export class AwsApiCall extends CoreConstruct implements IAwsApiCall { +export class AwsApiCall extends Construct implements IAwsApiCall { private readonly sdkCallResource: CustomResource; private flattenResponse: string = 'false'; private readonly name: string; diff --git a/packages/@aws-cdk/integ-tests/lib/test-case.ts b/packages/@aws-cdk/integ-tests/lib/test-case.ts index a2b7436481a89..49b7d2770aff5 100644 --- a/packages/@aws-cdk/integ-tests/lib/test-case.ts +++ b/packages/@aws-cdk/integ-tests/lib/test-case.ts @@ -1,6 +1,5 @@ import { IntegManifest, Manifest, TestCase, TestOptions } from '@aws-cdk/cloud-assembly-schema'; import { attachCustomSynthesis, Stack, ISynthesisSession, StackProps } from '@aws-cdk/core'; -import { Construct } from 'constructs'; import { IDeployAssert } from './assertions'; import { DeployAssert } from './assertions/private/deploy-assert'; import { IntegManifestSynthesizer } from './manifest-synthesizer'; @@ -9,7 +8,7 @@ const TEST_CASE_STACK_SYMBOL = Symbol.for('@aws-cdk/integ-tests.IntegTestCaseSta // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties of an integration test case @@ -28,7 +27,7 @@ export interface IntegTestCaseProps extends TestOptions { * It is recommended that you use the IntegTest construct since that will create * a default IntegTestCase */ -export class IntegTestCase extends CoreConstruct { +export class IntegTestCase extends Construct { /** * Make assertions on resources in this test case */ @@ -124,7 +123,7 @@ export interface IntegTestProps extends TestOptions { * A collection of test cases. Each test case file should contain exactly one * instance of this class. */ -export class IntegTest extends CoreConstruct { +export class IntegTest extends Construct { /** * Make assertions on resources in this test case */ @@ -150,14 +149,16 @@ export class IntegTest extends CoreConstruct { .filter(stack => IntegTestCaseStack.isIntegTestCaseStack(stack)) .map(stack => (stack as IntegTestCaseStack)._testCase), ]; - } - - protected onPrepare(): void { - attachCustomSynthesis(this, { - onSynthesize: (session: ISynthesisSession) => { - const synthesizer = new IntegManifestSynthesizer(this.testCases); - synthesizer.synthesize(session); + this.node.addValidation({ + validate: () => { + attachCustomSynthesis(this, { + onSynthesize: (session: ISynthesisSession) => { + const synthesizer = new IntegManifestSynthesizer(this.testCases); + synthesizer.synthesize(session); + }, + }); + return []; }, }); } diff --git a/packages/@aws-cdk/integ-tests/package.json b/packages/@aws-cdk/integ-tests/package.json index 61d5db28e95b1..d517a984c5d10 100644 --- a/packages/@aws-cdk/integ-tests/package.json +++ b/packages/@aws-cdk/integ-tests/package.json @@ -2,7 +2,7 @@ "name": "@aws-cdk/integ-tests", "description": "CDK Integration Testing Constructs", "version": "0.0.0", - "private": false, + "private": true, "main": "lib/index.js", "types": "lib/index.d.ts", "jsii": { @@ -25,7 +25,7 @@ "module": "aws_cdk.integ_tests", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -77,12 +77,12 @@ "dependencies": { "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "peerDependencies": { "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "repository": { "url": "https://github.com/aws/aws-cdk.git", @@ -95,7 +95,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "cdk-build": { "pre": [ diff --git a/packages/@aws-cdk/integ-tests/rosetta/default.ts-fixture b/packages/@aws-cdk/integ-tests/rosetta/default.ts-fixture index e85bf5884afdc..847ddd48128e2 100644 --- a/packages/@aws-cdk/integ-tests/rosetta/default.ts-fixture +++ b/packages/@aws-cdk/integ-tests/rosetta/default.ts-fixture @@ -12,9 +12,9 @@ import { LambdaInvokeFunction, Match, } from '@aws-cdk/integ-tests'; +import { Construct } from 'constructs'; import { App, - Construct, Stack, StackProps, CustomResource, diff --git a/packages/@aws-cdk/lambda-layer-awscli/layer/requirements.txt b/packages/@aws-cdk/lambda-layer-awscli/layer/requirements.txt index 9b84c7758b66b..9d138469fccdf 100644 --- a/packages/@aws-cdk/lambda-layer-awscli/layer/requirements.txt +++ b/packages/@aws-cdk/lambda-layer-awscli/layer/requirements.txt @@ -1 +1 @@ -awscli==1.24.10 +awscli==1.25.1 diff --git a/packages/@aws-cdk/lambda-layer-awscli/package.json b/packages/@aws-cdk/lambda-layer-awscli/package.json index 566a105a19d42..459d10e4a2d99 100644 --- a/packages/@aws-cdk/lambda-layer-awscli/package.json +++ b/packages/@aws-cdk/lambda-layer-awscli/package.json @@ -1,6 +1,5 @@ { "name": "@aws-cdk/lambda-layer-awscli", - "private": false, "version": "0.0.0", "description": "An AWS Lambda layer that contains the AWS CLI", "main": "lib/index.js", @@ -25,7 +24,7 @@ "module": "aws_cdk.lambda_layer_awscli", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -84,16 +83,16 @@ "dependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -119,5 +118,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/lambda-layer-kubectl/package.json b/packages/@aws-cdk/lambda-layer-kubectl/package.json index 02dd1772b39a1..b442c42c64ffc 100644 --- a/packages/@aws-cdk/lambda-layer-kubectl/package.json +++ b/packages/@aws-cdk/lambda-layer-kubectl/package.json @@ -1,6 +1,5 @@ { "name": "@aws-cdk/lambda-layer-kubectl", - "private": false, "version": "0.0.0", "description": "An AWS Lambda layer that contains the `kubectl` and `helm`", "main": "lib/index.js", @@ -25,7 +24,7 @@ "module": "aws_cdk.lambda_layer_kubectl", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -89,16 +88,16 @@ "dependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -124,5 +123,6 @@ }, "publishConfig": { "tag": "latest" - } + }, + "private": true } diff --git a/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json b/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json index 2ed0cc4a23e66..cb8bc14113888 100644 --- a/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json +++ b/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json @@ -1,6 +1,5 @@ { "name": "@aws-cdk/lambda-layer-node-proxy-agent", - "private": false, "version": "0.0.0", "description": "An AWS Lambda layer that contains the `proxy-agent` NPM dependency", "main": "lib/index.js", @@ -83,16 +82,16 @@ "dependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -117,6 +116,7 @@ "exclude": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline-source.ts b/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline-source.ts index 0fe05412d297a..d92adc8225782 100644 --- a/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline-source.ts +++ b/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline-source.ts @@ -291,6 +291,14 @@ export interface S3SourceOptions { * @default - The bucket name */ readonly actionName?: string; + + /** + * The role that will be assumed by the pipeline prior to executing + * the `S3Source` action. + * + * @default - a new role will be generated + */ + readonly role?: iam.IRole; } class S3Source extends CodePipelineSource { @@ -309,6 +317,7 @@ class S3Source extends CodePipelineSource { bucketKey: this.objectKey, trigger: this.props.trigger, bucket: this.bucket, + role: this.props.role, variablesNamespace, }); } diff --git a/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline.ts b/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline.ts index 84562b07aec8b..8081c5356d7c5 100644 --- a/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline.ts +++ b/packages/@aws-cdk/pipelines/lib/codepipeline/codepipeline.ts @@ -6,7 +6,7 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; import { Aws, CfnCapabilities, Duration, Fn, Lazy, PhysicalName, Stack } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; -import { Construct, Node } from 'constructs'; +import { Construct } from 'constructs'; import { AssetType, FileSet, IFileSetProducer, ManualApprovalStep, ShellStep, StackAsset, StackDeployment, Step } from '../blueprint'; import { DockerCredential, dockerCredentialsInstallCommands, DockerCredentialUsage } from '../docker-credentials'; import { GraphNodeCollection, isGraph, AGraphNode, PipelineGraph } from '../helpers-internal'; @@ -775,10 +775,10 @@ export class CodePipeline extends PipelineBase { const id = arn; // https://github.com/aws/aws-cdk/issues/7255 - let existingRole = Node.of(scope).tryFindChild(`ImmutableRole${id}`) as iam.IRole; + let existingRole = scope.node.tryFindChild(`ImmutableRole${id}`) as iam.IRole; if (existingRole) { return existingRole; } // For when #7255 is fixed. - existingRole = Node.of(scope).tryFindChild(id) as iam.IRole; + existingRole = scope.node.tryFindChild(id) as iam.IRole; if (existingRole) { return existingRole; } const arnToImport = cxapi.EnvironmentPlaceholders.replace(arn, { diff --git a/packages/@aws-cdk/pipelines/lib/codepipeline/private/codebuild-factory.ts b/packages/@aws-cdk/pipelines/lib/codepipeline/private/codebuild-factory.ts index 64183a8d21f91..da442d882bd33 100644 --- a/packages/@aws-cdk/pipelines/lib/codepipeline/private/codebuild-factory.ts +++ b/packages/@aws-cdk/pipelines/lib/codepipeline/private/codebuild-factory.ts @@ -5,8 +5,8 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as codepipeline_actions from '@aws-cdk/aws-codepipeline-actions'; import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; -import { IDependable, Stack, Token } from '@aws-cdk/core'; -import { Construct, Node } from 'constructs'; +import { Stack, Token } from '@aws-cdk/core'; +import { Construct, IDependable, Node } from 'constructs'; import { FileSetLocation, ShellStep, StackOutputReference } from '../../blueprint'; import { PipelineQueries } from '../../helpers-internal/pipeline-queries'; import { StepOutput } from '../../helpers-internal/step-output'; diff --git a/packages/@aws-cdk/pipelines/lib/legacy/actions/deploy-cdk-stack-action.ts b/packages/@aws-cdk/pipelines/lib/legacy/actions/deploy-cdk-stack-action.ts index 1fc92da472ea1..da0b21a99bd1f 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/actions/deploy-cdk-stack-action.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/actions/deploy-cdk-stack-action.ts @@ -10,10 +10,6 @@ import { Construct, Node } from 'constructs'; import { appOf, assemblyBuilderOf } from '../../private/construct-internals'; import { toPosixPath } from '../../private/fs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Customization options for a DeployCdkStackAction * @@ -175,7 +171,7 @@ export class DeployCdkStackAction implements codepipeline.IAction { // We need the path of the template relative to the root Cloud Assembly // It should be easier to get this, but for now it is what it is. - const appAsmRoot = assemblyBuilderOf(appOf(scope as CoreConstruct)).outdir; + const appAsmRoot = assemblyBuilderOf(appOf(scope)).outdir; const fullTemplatePath = path.join(artifact.assembly.directory, artifact.templateFile); let fullConfigPath; @@ -274,7 +270,7 @@ export class DeployCdkStackAction implements codepipeline.IAction { /** * Exists to implement IAction */ - public bind(scope: CoreConstruct, stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): + public bind(scope: Construct, stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { stage.addAction(this.prepareChangeSetAction); diff --git a/packages/@aws-cdk/pipelines/lib/legacy/actions/publish-assets-action.ts b/packages/@aws-cdk/pipelines/lib/legacy/actions/publish-assets-action.ts index 055744cb971c2..92eb839f44bfa 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/actions/publish-assets-action.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/actions/publish-assets-action.ts @@ -6,15 +6,11 @@ import * as codepipeline_actions from '@aws-cdk/aws-codepipeline-actions'; import * as ec2 from '@aws-cdk/aws-ec2'; import * as events from '@aws-cdk/aws-events'; import * as iam from '@aws-cdk/aws-iam'; -import { IDependable, ISynthesisSession, Lazy, Stack, attachCustomSynthesis } from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { ISynthesisSession, Lazy, Stack, attachCustomSynthesis } from '@aws-cdk/core'; +import { IDependable, Construct } from 'constructs'; import { AssetType } from '../../blueprint/asset-type'; import { toPosixPath } from '../../private/fs'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Props for a PublishAssetsAction * @@ -116,7 +112,7 @@ export interface PublishAssetsActionProps { * * @deprecated This class is part of the old API. Use the API based on the `CodePipeline` class instead */ -export class PublishAssetsAction extends CoreConstruct implements codepipeline.IAction { +export class PublishAssetsAction extends Construct implements codepipeline.IAction { private readonly action: codepipeline.IAction; private readonly commands = new Array(); @@ -200,7 +196,8 @@ export class PublishAssetsAction extends CoreConstruct implements codepipeline.I /** * Exists to implement IAction */ - public bind(scope: CoreConstruct, stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { + public bind(scope: Construct, stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): + codepipeline.ActionConfig { return this.action.bind(scope, stage, options); } diff --git a/packages/@aws-cdk/pipelines/lib/legacy/actions/update-pipeline-action.ts b/packages/@aws-cdk/pipelines/lib/legacy/actions/update-pipeline-action.ts index da4278dd6faf2..c98b7d2299544 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/actions/update-pipeline-action.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/actions/update-pipeline-action.ts @@ -8,10 +8,6 @@ import { Construct } from 'constructs'; import { dockerCredentialsInstallCommands, DockerCredential, DockerCredentialUsage } from '../../docker-credentials'; import { embeddedAsmPath } from '../../private/construct-internals'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Props for the UpdatePipelineAction * @@ -84,7 +80,7 @@ export interface UpdatePipelineActionProps { * * @deprecated This class is part of the old API. Use the API based on the `CodePipeline` class instead */ -export class UpdatePipelineAction extends CoreConstruct implements codepipeline.IAction { +export class UpdatePipelineAction extends Construct implements codepipeline.IAction { private readonly action: codepipeline.IAction; constructor(scope: Construct, id: string, props: UpdatePipelineActionProps) { @@ -154,7 +150,7 @@ export class UpdatePipelineAction extends CoreConstruct implements codepipeline. /** * Exists to implement IAction */ - public bind(scope: CoreConstruct, stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { + public bind(scope: Construct, stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig { return this.action.bind(scope, stage, options); } diff --git a/packages/@aws-cdk/pipelines/lib/legacy/pipeline.ts b/packages/@aws-cdk/pipelines/lib/legacy/pipeline.ts index e7490778420b5..974c8ce16ef1a 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/pipeline.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/pipeline.ts @@ -15,10 +15,6 @@ import { DeployCdkStackAction, PublishAssetsAction, UpdatePipelineAction } from import { AddStageOptions, AssetPublishingCommand, BaseStageOptions, CdkStage, StackOutput } from './stage'; import { SimpleSynthAction } from './synths'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - const CODE_BUILD_LENGTH_LIMIT = 100; /** * Properties for a CdkPipeline @@ -212,7 +208,7 @@ export interface CdkPipelineProps { * * @deprecated This class is part of the old API. Use the API based on the `CodePipeline` class instead */ -export class CdkPipeline extends CoreConstruct { +export class CdkPipeline extends Construct { private readonly _pipeline: codepipeline.Pipeline; private readonly _assets: AssetPublishing; private readonly _stages: CdkStage[] = []; @@ -311,6 +307,8 @@ export class CdkPipeline extends CoreConstruct { buildSpec: props.assetBuildSpec, dockerCredentials: this._dockerCredentials, }); + + this.node.addValidation({ validate: () => this.validatePipeline() }); } /** @@ -416,7 +414,7 @@ export class CdkPipeline extends CoreConstruct { * Our own convenience methods will never generate a pipeline that does that (although * this is a nice verification), but a user can also add the stacks by hand. */ - protected validate(): string[] { + private validatePipeline(): string[] { const ret = new Array(); ret.push(...this.validateDeployOrder()); @@ -485,7 +483,7 @@ interface AssetPublishingProps { /** * Add appropriate publishing actions to the asset publishing stage */ -class AssetPublishing extends CoreConstruct { +class AssetPublishing extends Construct { // CodePipelines has a hard limit of 50 actions per stage. See https://github.com/aws/aws-cdk/issues/9353 private readonly MAX_PUBLISHERS_PER_STAGE = 50; diff --git a/packages/@aws-cdk/pipelines/lib/legacy/stage.ts b/packages/@aws-cdk/pipelines/lib/legacy/stage.ts index c74f792f48e71..7fcab18e803e9 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/stage.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/stage.ts @@ -14,10 +14,6 @@ import { topologicalSort } from '../private/toposort'; import { DeployCdkStackAction } from './actions'; import { CdkPipeline } from './pipeline'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Construction properties for a CdkStage * @@ -75,7 +71,7 @@ export interface CdkStageProps { * * @deprecated This class is part of the old API. Use the API based on the `CodePipeline` class instead */ -export class CdkStage extends CoreConstruct { +export class CdkStage extends Construct { private _nextSequentialRunOrder = 1; // Must start at 1 eh private _manualApprovalCounter = 1; private readonly pipelineStage: codepipeline.IStage; diff --git a/packages/@aws-cdk/pipelines/lib/legacy/synths/simple-synth-action.ts b/packages/@aws-cdk/pipelines/lib/legacy/synths/simple-synth-action.ts index 226a75d2ed23c..ad6b5b2383059 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/synths/simple-synth-action.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/synths/simple-synth-action.ts @@ -15,7 +15,7 @@ const DEFAULT_OUTPUT_DIR = 'cdk.out'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Configuration options for a SimpleSynth diff --git a/packages/@aws-cdk/pipelines/lib/legacy/validation/_files.ts b/packages/@aws-cdk/pipelines/lib/legacy/validation/_files.ts index 2f2bbf7be35ea..fc54c1f69930b 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/validation/_files.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/validation/_files.ts @@ -1,7 +1,7 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import { IGrantable } from '@aws-cdk/aws-iam'; import * as s3assets from '@aws-cdk/aws-s3-assets'; -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Additional files to use in a shell script diff --git a/packages/@aws-cdk/pipelines/lib/legacy/validation/shell-script-action.ts b/packages/@aws-cdk/pipelines/lib/legacy/validation/shell-script-action.ts index 78f223919cafd..bf3b3fae8d216 100644 --- a/packages/@aws-cdk/pipelines/lib/legacy/validation/shell-script-action.ts +++ b/packages/@aws-cdk/pipelines/lib/legacy/validation/shell-script-action.ts @@ -4,12 +4,11 @@ import * as codepipeline_actions from '@aws-cdk/aws-codepipeline-actions'; import * as ec2 from '@aws-cdk/aws-ec2'; import * as events from '@aws-cdk/aws-events'; import * as iam from '@aws-cdk/aws-iam'; - import { StackOutput } from '../stage'; // keep this import separate from other imports to reduce chance for merge conflicts with v2-main // eslint-disable-next-line no-duplicate-imports, import/order -import { Construct } from '@aws-cdk/core'; +import { Construct } from 'constructs'; /** * Properties for ShellScriptAction diff --git a/packages/@aws-cdk/pipelines/lib/main/pipeline-base.ts b/packages/@aws-cdk/pipelines/lib/main/pipeline-base.ts index 2f90df9de6f1a..34402b0b5cffa 100644 --- a/packages/@aws-cdk/pipelines/lib/main/pipeline-base.ts +++ b/packages/@aws-cdk/pipelines/lib/main/pipeline-base.ts @@ -2,10 +2,6 @@ import { Aspects, Stage } from '@aws-cdk/core'; import { Construct } from 'constructs'; import { AddStageOpts as StageOptions, WaveOptions, Wave, IFileSetProducer, ShellStep, FileSet } from '../blueprint'; -// v2 - keep this import as a separate section to reduce merge conflict when forward merging with the v2 branch. -// eslint-disable-next-line -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for a `Pipeline` */ @@ -35,7 +31,7 @@ export interface PipelineBaseProps { * when `buildPipeline()` is called, or when `app.synth()` is called (whichever * happens first). */ -export abstract class PipelineBase extends CoreConstruct { +export abstract class PipelineBase extends Construct { /** * The build step that produces the CDK Cloud Assembly */ diff --git a/packages/@aws-cdk/pipelines/lib/private/application-security-check.ts b/packages/@aws-cdk/pipelines/lib/private/application-security-check.ts index ad4ddbd76fdde..7d0a47ce46255 100644 --- a/packages/@aws-cdk/pipelines/lib/private/application-security-check.ts +++ b/packages/@aws-cdk/pipelines/lib/private/application-security-check.ts @@ -6,10 +6,6 @@ import * as lambda from '@aws-cdk/aws-lambda'; import { Duration, Tags } from '@aws-cdk/core'; import { Construct } from 'constructs'; -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - /** * Properties for an ApplicationSecurityCheck */ @@ -32,7 +28,7 @@ export interface ApplicationSecurityCheckProps { * The CodeBuild Project runs a security diff on the application stage, * and exports the link to the console of the project. */ -export class ApplicationSecurityCheck extends CoreConstruct { +export class ApplicationSecurityCheck extends Construct { /** * A lambda function that approves a Manual Approval Action, given * the following payload: diff --git a/packages/@aws-cdk/pipelines/lib/private/asset-singleton-role.ts b/packages/@aws-cdk/pipelines/lib/private/asset-singleton-role.ts index 454ab1b0b44ed..3015387ab1a5f 100644 --- a/packages/@aws-cdk/pipelines/lib/private/asset-singleton-role.ts +++ b/packages/@aws-cdk/pipelines/lib/private/asset-singleton-role.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import { PolicyStatement } from '@aws-cdk/aws-iam'; -import { ArnFormat, ConcreteDependable, Stack } from '@aws-cdk/core'; -import { Construct } from 'constructs'; +import { ArnFormat, Stack } from '@aws-cdk/core'; +import { Construct, IDependable } from 'constructs'; /** * Role which will be reused across asset jobs @@ -68,7 +68,7 @@ export class AssetSingletonRole extends iam.Role { if (this._rejectDuplicates && alreadyAdded.includes(acts)) { // Pretend we did it - return { statementAdded: true, policyDependable: new ConcreteDependable() }; + return { statementAdded: true, policyDependable: new class implements IDependable { } }; } // These are added in duplicate (specifically these come from @@ -77,9 +77,9 @@ export class AssetSingletonRole extends iam.Role { // unnecessary diffs, recognize and drop them there as well. if (acts === '["kms:Decrypt","kms:Encrypt","kms:ReEncrypt*","kms:GenerateDataKey*"]') { // Pretend we did it - return { statementAdded: true, policyDependable: new ConcreteDependable() }; + return { statementAdded: true, policyDependable: new class implements IDependable { } }; } return super.addToPrincipalPolicy(statement); } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/lib/private/construct-internals.ts b/packages/@aws-cdk/pipelines/lib/private/construct-internals.ts index 34d12b84e1d8c..9d89feadb2d35 100644 --- a/packages/@aws-cdk/pipelines/lib/private/construct-internals.ts +++ b/packages/@aws-cdk/pipelines/lib/private/construct-internals.ts @@ -6,9 +6,6 @@ import { App, Stage } from '@aws-cdk/core'; import * as cxapi from '@aws-cdk/cx-api'; import { Construct, IConstruct, Node } from 'constructs'; -// eslint-disable-next-line no-duplicate-imports,import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; - export function appOf(construct: IConstruct): App { const root = Node.of(construct).root; @@ -49,5 +46,5 @@ export function obtainScope(parent: Construct, id: string): Construct { if (existing) { return existing as Construct; } - return new CoreConstruct(parent, id); + return new Construct(parent, id); } \ No newline at end of file diff --git a/packages/@aws-cdk/pipelines/package.json b/packages/@aws-cdk/pipelines/package.json index 74e93c8dea1ce..e640a515fe273 100644 --- a/packages/@aws-cdk/pipelines/package.json +++ b/packages/@aws-cdk/pipelines/package.json @@ -1,6 +1,7 @@ { "name": "@aws-cdk/pipelines", "version": "0.0.0", + "private": true, "description": "Continuous Delivery of CDK applications", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -68,7 +69,7 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "dependencies": { "@aws-cdk/aws-codebuild": "0.0.0", @@ -87,7 +88,7 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "keywords": [ "aws", @@ -99,7 +100,7 @@ "delivery" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "license": "Apache-2.0", "stability": "stable", @@ -129,7 +130,7 @@ "module": "aws_cdk.pipelines", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, diff --git a/packages/@aws-cdk/pipelines/test/codepipeline/codepipeline-sources.test.ts b/packages/@aws-cdk/pipelines/test/codepipeline/codepipeline-sources.test.ts index 6b419bd417c3f..9295f104a25bf 100644 --- a/packages/@aws-cdk/pipelines/test/codepipeline/codepipeline-sources.test.ts +++ b/packages/@aws-cdk/pipelines/test/codepipeline/codepipeline-sources.test.ts @@ -255,3 +255,36 @@ test('can use source attributes in pipeline', () => { ], }); }); + +test('pass role to s3 codepipeline source', () => { + const bucket = new s3.Bucket(pipelineStack, 'Bucket'); + const role = new Role(pipelineStack, 'TestRole', { + assumedBy: new AnyPrincipal(), + }); + new ModernTestGitHubNpmPipeline(pipelineStack, 'Pipeline', { + input: cdkp.CodePipelineSource.s3(bucket, 'thefile.zip', { + role, + }), + }); + + Template.fromStack(pipelineStack).hasResourceProperties('AWS::CodePipeline::Pipeline', { + Stages: Match.arrayWith([{ + Name: 'Source', + Actions: [ + Match.objectLike({ + Configuration: Match.objectLike({ + S3Bucket: { Ref: Match.anyValue() }, + S3ObjectKey: 'thefile.zip', + }), + Name: { Ref: Match.anyValue() }, + RoleArn: { + 'Fn::GetAtt': [ + Match.stringLikeRegexp('TestRole.*'), + 'Arn', + ], + }, + }), + ], + }]), + }); +}); diff --git a/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.ts b/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.ts index f5bc697b6bad1..10b53d47fee71 100644 --- a/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.ts +++ b/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.ts @@ -17,7 +17,7 @@ class PipelineStack extends Stack { const pipeline = new pipelines.CodePipeline(this, 'Pipeline', { codeBuildDefaults: { vpc }, synth: new pipelines.ShellStep('Synth', { - input: pipelines.CodePipelineSource.gitHub('rix0rrr/cdk-pipelines-demo', 'main'), + input: pipelines.CodePipelineSource.gitHub('aws/aws-cdk', 'v2-main'), commands: [ 'npm ci', 'npm run build', diff --git a/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.ts b/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.ts index 0ca088bd43635..30813fe00a2af 100644 --- a/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.ts +++ b/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.ts @@ -4,7 +4,7 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as codepipeline_actions from '@aws-cdk/aws-codepipeline-actions'; import * as s3 from '@aws-cdk/aws-s3'; import * as s3_assets from '@aws-cdk/aws-s3-assets'; -import { App, CfnResource, RemovalPolicy, Stack, StackProps, Stage, StageProps } from '@aws-cdk/core'; +import { App, CfnResource, RemovalPolicy, DefaultStackSynthesizer, Stack, StackProps, Stage, StageProps } from '@aws-cdk/core'; import { Construct } from 'constructs'; import * as cdkp from '../lib'; @@ -12,7 +12,10 @@ class MyStage extends Stage { constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack = new Stack(this, 'Stack', props); + const stack = new Stack(this, 'Stack', { + ...props, + synthesizer: new DefaultStackSynthesizer(), + }); new s3_assets.Asset(stack, 'Asset', { path: path.join(__dirname, 'testhelpers/assets/test-file-asset.txt'), @@ -89,5 +92,7 @@ const app = new App({ '@aws-cdk/core:newStyleStackSynthesis': 'true', }, }); -new CdkpipelinesDemoPipelineStack(app, 'PipelineStack'); +new CdkpipelinesDemoPipelineStack(app, 'PipelineStack', { + synthesizer: new DefaultStackSynthesizer(), +}); app.synth(); diff --git a/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.ts b/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.ts index 1ee0185355b4d..c251224a24d88 100644 --- a/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.ts +++ b/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.ts @@ -4,7 +4,7 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as codepipeline_actions from '@aws-cdk/aws-codepipeline-actions'; import * as s3 from '@aws-cdk/aws-s3'; import * as s3_assets from '@aws-cdk/aws-s3-assets'; -import { App, CfnResource, RemovalPolicy, Stack, StackProps, Stage, StageProps } from '@aws-cdk/core'; +import { App, CfnResource, DefaultStackSynthesizer, RemovalPolicy, Stack, StackProps, Stage, StageProps } from '@aws-cdk/core'; import { Construct } from 'constructs'; import * as cdkp from '../lib'; @@ -12,7 +12,10 @@ class MyStage extends Stage { constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack = new Stack(this, 'Stack', props); + const stack = new Stack(this, 'Stack', { + ...props, + synthesizer: new DefaultStackSynthesizer(), + }); new s3_assets.Asset(stack, 'Asset', { path: path.join(__dirname, 'testhelpers/assets/test-file-asset.txt'), @@ -88,5 +91,7 @@ const app = new App({ '@aws-cdk/core:newStyleStackSynthesis': 'true', }, }); -new CdkpipelinesDemoPipelineStack(app, 'PipelineStack'); +new CdkpipelinesDemoPipelineStack(app, 'PipelineStack', { + synthesizer: new DefaultStackSynthesizer(), +}); app.synth(); diff --git a/packages/@aws-cdk/pipelines/test/integ.pipeline.ts b/packages/@aws-cdk/pipelines/test/integ.pipeline.ts index ba14a3b41829d..bf10ee0c6dcf3 100644 --- a/packages/@aws-cdk/pipelines/test/integ.pipeline.ts +++ b/packages/@aws-cdk/pipelines/test/integ.pipeline.ts @@ -2,7 +2,7 @@ import * as codepipeline from '@aws-cdk/aws-codepipeline'; import * as codepipeline_actions from '@aws-cdk/aws-codepipeline-actions'; import * as s3 from '@aws-cdk/aws-s3'; -import { App, CfnResource, RemovalPolicy, Stack, StackProps, Stage, StageProps } from '@aws-cdk/core'; +import { App, CfnResource, DefaultStackSynthesizer, RemovalPolicy, Stack, StackProps, Stage, StageProps } from '@aws-cdk/core'; import { Construct } from 'constructs'; import * as cdkp from '../lib'; @@ -10,7 +10,10 @@ class MyStage extends Stage { constructor(scope: Construct, id: string, props?: StageProps) { super(scope, id, props); - const stack = new Stack(this, 'Stack', props); + const stack = new Stack(this, 'Stack', { + ...props, + synthesizer: new DefaultStackSynthesizer(), + }); new CfnResource(stack, 'Resource', { type: 'AWS::Test::SomeResource', }); @@ -78,5 +81,7 @@ const app = new App({ '@aws-cdk/core:newStyleStackSynthesis': 'true', }, }); -new CdkpipelinesDemoPipelineStack(app, 'PipelineStack'); +new CdkpipelinesDemoPipelineStack(app, 'PipelineStack', { + synthesizer: new DefaultStackSynthesizer(), +}); app.synth(); diff --git a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.assets.json b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.assets.json index 5c93a89c9b234..175f8e3e38b13 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.assets.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.assets.json @@ -1,7 +1,7 @@ { "version": "19.0.0", "files": { - "09ed6a107711fc77b4417fe759eedb1920ea48ea07d68490b9973255f017840d": { + "17358a396fa473b83a6568c912fd4da170b65d5488d6f03c662bf82400f9da46": { "source": { "path": "PipelineStack.template.json", "packaging": "file" @@ -9,7 +9,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "09ed6a107711fc77b4417fe759eedb1920ea48ea07d68490b9973255f017840d.json", + "objectKey": "17358a396fa473b83a6568c912fd4da170b65d5488d6f03c662bf82400f9da46.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.template.json b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.template.json index 844dfd130bc23..ec7e400e7754f 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.template.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/PipelineStack.template.json @@ -632,16 +632,16 @@ "Version": "1" }, "Configuration": { - "Owner": "rix0rrr", - "Repo": "cdk-pipelines-demo", - "Branch": "main", + "Owner": "aws", + "Repo": "aws-cdk", + "Branch": "v2-main", "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", "PollForSourceChanges": false }, - "Name": "rix0rrr_cdk-pipelines-demo", + "Name": "aws_aws-cdk", "OutputArtifacts": [ { - "Name": "rix0rrr_cdk_pipelines_demo_Source" + "Name": "aws_aws_cdk_Source" } ], "RunOrder": 1 @@ -666,7 +666,7 @@ }, "InputArtifacts": [ { - "Name": "rix0rrr_cdk_pipelines_demo_Source" + "Name": "aws_aws_cdk_Source" } ], "Name": "Synth", @@ -900,7 +900,7 @@ "PipelineRoleB27FAA37" ] }, - "PipelineSourcerix0rrrcdkpipelinesdemoWebhookResourceDB0C1BCA": { + "PipelineSourceawsawscdkWebhookResource46EC529B": { "Type": "AWS::CodePipeline::Webhook", "Properties": { "Authentication": "GITHUB_HMAC", @@ -913,7 +913,7 @@ "MatchEquals": "refs/heads/{Branch}" } ], - "TargetAction": "rix0rrr_cdk-pipelines-demo", + "TargetAction": "aws_aws-cdk", "TargetPipeline": { "Ref": "Pipeline9850B417" }, diff --git a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/assembly-PipelineStack-Beta/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/assembly-PipelineStack-Beta/manifest.json index cd5690f829819..9288377fefc26 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/assembly-PipelineStack-Beta/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/assembly-PipelineStack-Beta/manifest.json @@ -37,75 +37,19 @@ "/PipelineStack/Beta/Stack1/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.js:39:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.js:26:27)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.js:47:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Beta/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "CodePipeline.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/main/pipeline-base.js:69:46)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.js:26:18)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.js:47:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Beta/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "CodePipeline.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/main/pipeline-base.js:69:46)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.js:26:18)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline-with-vpc.js:47:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, diff --git a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/manifest.json index 40e28442a635e..0730900fc2fb1 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/manifest.json @@ -30,7 +30,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/09ed6a107711fc77b4417fe759eedb1920ea48ea07d68490b9973255f017840d.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/17358a396fa473b83a6568c912fd4da170b65d5488d6f03c662bf82400f9da46.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -214,10 +214,10 @@ "data": "Pipeline9850B417" } ], - "/PipelineStack/Pipeline/Pipeline/Source/rix0rrr_cdk-pipelines-demo/WebhookResource": [ + "/PipelineStack/Pipeline/Pipeline/Source/aws_aws-cdk/WebhookResource": [ { "type": "aws:cdk:logicalId", - "data": "PipelineSourcerix0rrrcdkpipelinesdemoWebhookResourceDB0C1BCA" + "data": "PipelineSourceawsawscdkWebhookResource46EC529B" } ], "/PipelineStack/Pipeline/Pipeline/Build/Synth/CdkBuildProject/Role/Resource": [ @@ -345,6 +345,60 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } + ], + "PipelineBetaPrepareCodePipelineActionRoleB746DA86": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBetaPrepareCodePipelineActionRoleB746DA86", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "PipelineBetaPrepareCodePipelineActionRoleDefaultPolicy30879019": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBetaPrepareCodePipelineActionRoleDefaultPolicy30879019", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "PipelineBetaPrepareRoleD66446CC": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBetaPrepareRoleD66446CC", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "PipelineBetaPrepareRoleDefaultPolicy74006BE8": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBetaPrepareRoleDefaultPolicy74006BE8", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "PipelineBetaDeployCodePipelineActionRole2B286DC9": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBetaDeployCodePipelineActionRole2B286DC9", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "PipelineBetaDeployCodePipelineActionRoleDefaultPolicy540F1C35": [ + { + "type": "aws:cdk:logicalId", + "data": "PipelineBetaDeployCodePipelineActionRoleDefaultPolicy540F1C35", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "PipelineStack" diff --git a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/tree.json b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/tree.json index 1c22126109f8a..dadac7aa8b5be 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/tree.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline-with-vpc.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PipelineStack": { @@ -983,10 +983,10 @@ "name": "Source", "actions": [ { - "name": "rix0rrr_cdk-pipelines-demo", + "name": "aws_aws-cdk", "outputArtifacts": [ { - "name": "rix0rrr_cdk_pipelines_demo_Source" + "name": "aws_aws_cdk_Source" } ], "actionTypeId": { @@ -996,9 +996,9 @@ "provider": "GitHub" }, "configuration": { - "Owner": "rix0rrr", - "Repo": "cdk-pipelines-demo", - "Branch": "main", + "Owner": "aws", + "Repo": "aws-cdk", + "Branch": "v2-main", "OAuthToken": "{{resolve:secretsmanager:github-token:SecretString:::}}", "PollForSourceChanges": false }, @@ -1013,7 +1013,7 @@ "name": "Synth", "inputArtifacts": [ { - "name": "rix0rrr_cdk_pipelines_demo_Source" + "name": "aws_aws_cdk_Source" } ], "outputArtifacts": [ @@ -1262,13 +1262,13 @@ "id": "Source", "path": "PipelineStack/Pipeline/Pipeline/Source", "children": { - "rix0rrr_cdk-pipelines-demo": { - "id": "rix0rrr_cdk-pipelines-demo", - "path": "PipelineStack/Pipeline/Pipeline/Source/rix0rrr_cdk-pipelines-demo", + "aws_aws-cdk": { + "id": "aws_aws-cdk", + "path": "PipelineStack/Pipeline/Pipeline/Source/aws_aws-cdk", "children": { "WebhookResource": { "id": "WebhookResource", - "path": "PipelineStack/Pipeline/Pipeline/Source/rix0rrr_cdk-pipelines-demo/WebhookResource", + "path": "PipelineStack/Pipeline/Pipeline/Source/aws_aws-cdk/WebhookResource", "attributes": { "aws:cdk:cloudformation:type": "AWS::CodePipeline::Webhook", "aws:cdk:cloudformation:props": { @@ -1282,7 +1282,7 @@ "matchEquals": "refs/heads/{Branch}" } ], - "targetAction": "rix0rrr_cdk-pipelines-demo", + "targetAction": "aws_aws-cdk", "targetPipeline": { "Ref": "Pipeline9850B417" }, @@ -1297,14 +1297,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -1741,14 +1741,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "UpdatePipeline": { @@ -1759,14 +1759,14 @@ "id": "SelfMutate", "path": "PipelineStack/Pipeline/Pipeline/UpdatePipeline/SelfMutate", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Assets": { @@ -1777,22 +1777,22 @@ "id": "FileAsset1", "path": "PipelineStack/Pipeline/Pipeline/Assets/FileAsset1", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "FileAsset2": { "id": "FileAsset2", "path": "PipelineStack/Pipeline/Pipeline/Assets/FileAsset2", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Beta": { @@ -1803,22 +1803,22 @@ "id": "Prepare", "path": "PipelineStack/Pipeline/Pipeline/Beta/Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Deploy": { "id": "Deploy", "path": "PipelineStack/Pipeline/Pipeline/Beta/Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}": { @@ -1837,8 +1837,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineStack/Pipeline/Pipeline/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2448,8 +2448,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Assets": { @@ -2977,8 +2977,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Beta/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Beta/manifest.json index c9e17075c6fb1..b09e03d1b2311 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Beta/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Beta/manifest.json @@ -37,102 +37,25 @@ "/PipelineStack/Beta/Stack1/Queue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Queue4A7E3555", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:36:24)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:21:27)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Queue4A7E3555" } ], "/PipelineStack/Beta/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ { "type": "aws:cdk:logicalId", - "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E", - "trace": [ - "Stack.exportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack.js:726:13)", - "createImportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:138:39)", - "resolveValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:84:12)", - "Object.resolveReferences (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:25:30)", - "Object.prepareApp (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/prepare-app.js:30:12)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:21:19)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "CodePipeline.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/main/pipeline-base.js:69:46)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:21:18)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" } ], "/PipelineStack/Beta/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "CodePipeline.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/main/pipeline-base.js:69:46)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:21:18)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Beta/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "CodePipeline.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/main/pipeline-base.js:69:46)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:21:18)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, @@ -175,79 +98,23 @@ "/PipelineStack/Beta/Stack2/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:38:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:21:27)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Beta/Stack2/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "CodePipeline.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/main/pipeline-base.js:69:46)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:21:18)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Beta/Stack2/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "CodePipeline.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/main/pipeline-base.js:69:46)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:21:18)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/Beta/Stack2" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod1/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod1/manifest.json index 7c1fc393900ca..575be2f743b33 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod1/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod1/manifest.json @@ -37,99 +37,25 @@ "/PipelineStack/Prod1/Stack1/Queue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Queue4A7E3555", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:36:24)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:23:24)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Queue4A7E3555" } ], "/PipelineStack/Prod1/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ { "type": "aws:cdk:logicalId", - "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E", - "trace": [ - "Stack.exportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack.js:726:13)", - "createImportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:138:39)", - "resolveValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:84:12)", - "Object.resolveReferences (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:25:30)", - "Object.prepareApp (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/prepare-app.js:30:12)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:21:19)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:23:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" } ], "/PipelineStack/Prod1/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:23:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod1/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:23:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, @@ -172,77 +98,23 @@ "/PipelineStack/Prod1/Stack2/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:38:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:23:24)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Prod1/Stack2/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:23:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod1/Stack2/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:23:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/Prod1/Stack2" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod2/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod2/manifest.json index a13285b8e1236..6471758de0720 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod2/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod2/manifest.json @@ -37,99 +37,25 @@ "/PipelineStack/Prod2/Stack1/Queue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Queue4A7E3555", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:36:24)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:24:24)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Queue4A7E3555" } ], "/PipelineStack/Prod2/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ { "type": "aws:cdk:logicalId", - "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E", - "trace": [ - "Stack.exportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack.js:726:13)", - "createImportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:138:39)", - "resolveValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:84:12)", - "Object.resolveReferences (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:25:30)", - "Object.prepareApp (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/prepare-app.js:30:12)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:21:19)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:24:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" } ], "/PipelineStack/Prod2/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:24:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod2/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:24:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, @@ -172,77 +98,23 @@ "/PipelineStack/Prod2/Stack2/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:38:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:24:24)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Prod2/Stack2/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:24:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod2/Stack2/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:24:15)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/Prod2/Stack2" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod3/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod3/manifest.json index 20628acd0bcb3..916dd59f6b3d0 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod3/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod3/manifest.json @@ -37,99 +37,25 @@ "/PipelineStack/Prod3/Stack1/Queue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Queue4A7E3555", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:36:24)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:26:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Queue4A7E3555" } ], "/PipelineStack/Prod3/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ { "type": "aws:cdk:logicalId", - "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E", - "trace": [ - "Stack.exportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack.js:726:13)", - "createImportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:138:39)", - "resolveValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:84:12)", - "Object.resolveReferences (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:25:30)", - "Object.prepareApp (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/prepare-app.js:30:12)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:21:19)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:26:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" } ], "/PipelineStack/Prod3/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:26:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod3/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:26:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, @@ -172,77 +98,23 @@ "/PipelineStack/Prod3/Stack2/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:38:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:26:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Prod3/Stack2/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:26:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod3/Stack2/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:26:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/Prod3/Stack2" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod4/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod4/manifest.json index 37db8d7faaccf..9b5d4711834a5 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod4/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod4/manifest.json @@ -37,99 +37,25 @@ "/PipelineStack/Prod4/Stack1/Queue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Queue4A7E3555", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:36:24)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:27:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Queue4A7E3555" } ], "/PipelineStack/Prod4/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ { "type": "aws:cdk:logicalId", - "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E", - "trace": [ - "Stack.exportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack.js:726:13)", - "createImportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:138:39)", - "resolveValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:84:12)", - "Object.resolveReferences (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:25:30)", - "Object.prepareApp (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/prepare-app.js:30:12)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:21:19)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:27:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" } ], "/PipelineStack/Prod4/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:27:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod4/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:27:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, @@ -172,77 +98,23 @@ "/PipelineStack/Prod4/Stack2/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:38:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:27:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Prod4/Stack2/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:27:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod4/Stack2/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:27:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/Prod4/Stack2" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod5/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod5/manifest.json index 8299d33516446..fdf8549a11c92 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod5/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod5/manifest.json @@ -37,99 +37,25 @@ "/PipelineStack/Prod5/Stack1/Queue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Queue4A7E3555", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:36:24)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:28:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Queue4A7E3555" } ], "/PipelineStack/Prod5/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ { "type": "aws:cdk:logicalId", - "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E", - "trace": [ - "Stack.exportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack.js:726:13)", - "createImportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:138:39)", - "resolveValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:84:12)", - "Object.resolveReferences (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:25:30)", - "Object.prepareApp (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/prepare-app.js:30:12)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:21:19)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:28:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" } ], "/PipelineStack/Prod5/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:28:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod5/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:28:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, @@ -172,77 +98,23 @@ "/PipelineStack/Prod5/Stack2/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:38:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:28:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Prod5/Stack2/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:28:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod5/Stack2/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:28:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/Prod5/Stack2" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod6/manifest.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod6/manifest.json index a7f9d7495d923..7edd90b68c831 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod6/manifest.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/assembly-PipelineStack-Prod6/manifest.json @@ -37,99 +37,25 @@ "/PipelineStack/Prod6/Stack1/Queue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Queue4A7E3555", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:36:24)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:29:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Queue4A7E3555" } ], "/PipelineStack/Prod6/Stack1/Exports/Output{\"Fn::GetAtt\":[\"Queue4A7E3555\",\"Arn\"]}": [ { "type": "aws:cdk:logicalId", - "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E", - "trace": [ - "Stack.exportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack.js:726:13)", - "createImportValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:138:39)", - "resolveValue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:84:12)", - "Object.resolveReferences (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/refs.js:25:30)", - "Object.prepareApp (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/prepare-app.js:30:12)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:21:19)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:29:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "ExportsOutputFnGetAttQueue4A7E3555Arn15A7202E" } ], "/PipelineStack/Prod6/Stack1/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:29:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod6/Stack1/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:29:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, @@ -172,77 +98,23 @@ "/PipelineStack/Prod6/Stack2/OtherQueue/Resource": [ { "type": "aws:cdk:logicalId", - "data": "OtherQueue60B686DC", - "trace": [ - "new Queue (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sqs/lib/queue.js:89:23)", - "new AppStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:38:9)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:29:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "OtherQueue60B686DC" } ], "/PipelineStack/Prod6/Stack2/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:29:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/Prod6/Stack2/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "AppStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "Function.fromStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/stage-deployment.js:44:48)", - "Wave.addStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/blueprint/wave.js:49:56)", - "new PipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:29:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.newpipeline.js:51:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/Prod6/Stack2" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/tree.json b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/tree.json index fee3e39d6014d..a9a42965907f0 100644 --- a/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/tree.json +++ b/packages/@aws-cdk/pipelines/test/newpipeline.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PipelineStack": { @@ -1985,14 +1985,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -2250,14 +2250,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "UpdatePipeline": { @@ -2268,14 +2268,14 @@ "id": "SelfMutate", "path": "PipelineStack/Pipeline/Pipeline/UpdatePipeline/SelfMutate", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Beta": { @@ -2286,38 +2286,38 @@ "id": "Stack1.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack1.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack1.Deploy": { "id": "Stack1.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack1.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack2.Prepare": { "id": "Stack2.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack2.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack2.Deploy": { "id": "Stack2.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Beta/Stack2.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}": { @@ -2336,8 +2336,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineStack/Pipeline/Pipeline/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2370,70 +2370,70 @@ "id": "Prod1.Stack1.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack1.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod2.Stack1.Prepare": { "id": "Prod2.Stack1.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack1.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod1.Stack1.Deploy": { "id": "Prod1.Stack1.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack1.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod2.Stack1.Deploy": { "id": "Prod2.Stack1.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack1.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod1.Stack2.Prepare": { "id": "Prod1.Stack2.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack2.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod2.Stack2.Prepare": { "id": "Prod2.Stack2.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack2.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod1.Stack2.Deploy": { "id": "Prod1.Stack2.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod1.Stack2.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod2.Stack2.Deploy": { "id": "Prod2.Stack2.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave1/Prod2.Stack2.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Wave2": { @@ -2444,134 +2444,134 @@ "id": "Prod3.Stack1.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack1.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod4.Stack1.Prepare": { "id": "Prod4.Stack1.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack1.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod5.Stack1.Prepare": { "id": "Prod5.Stack1.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack1.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod6.Stack1.Prepare": { "id": "Prod6.Stack1.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack1.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod3.Stack1.Deploy": { "id": "Prod3.Stack1.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack1.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod4.Stack1.Deploy": { "id": "Prod4.Stack1.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack1.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod5.Stack1.Deploy": { "id": "Prod5.Stack1.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack1.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod6.Stack1.Deploy": { "id": "Prod6.Stack1.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack1.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod3.Stack2.Prepare": { "id": "Prod3.Stack2.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack2.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod4.Stack2.Prepare": { "id": "Prod4.Stack2.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack2.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod5.Stack2.Prepare": { "id": "Prod5.Stack2.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack2.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod6.Stack2.Prepare": { "id": "Prod6.Stack2.Prepare", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack2.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod3.Stack2.Deploy": { "id": "Prod3.Stack2.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod3.Stack2.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod4.Stack2.Deploy": { "id": "Prod4.Stack2.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod4.Stack2.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod5.Stack2.Deploy": { "id": "Prod5.Stack2.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod5.Stack2.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Prod6.Stack2.Deploy": { "id": "Prod6.Stack2.Deploy", "path": "PipelineStack/Pipeline/Pipeline/Wave2/Prod6.Stack2.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2968,8 +2968,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -3022,8 +3022,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BootstrapVersion": { @@ -3153,8 +3153,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BootstrapVersion": { @@ -3284,8 +3284,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BootstrapVersion": { @@ -3415,8 +3415,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BootstrapVersion": { @@ -3546,8 +3546,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BootstrapVersion": { @@ -3677,8 +3677,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BootstrapVersion": { @@ -3808,8 +3808,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "BootstrapVersion": { diff --git a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-DisableSecurityCheck/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-DisableSecurityCheck/manifest.json index 5b4adf9b96740..1dbc87f57d4e8 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-DisableSecurityCheck/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-DisableSecurityCheck/manifest.json @@ -37,75 +37,23 @@ "/PipelineSecurityStack/DisableSecurityCheck/MySafeStack/MySafeTopic/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MySafeTopicCC243D11", - "trace": [ - "new Topic (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic.js:43:26)", - "new MySafeStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:25:9)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:71:31)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "MySafeTopicCC243D11" } ], "/PipelineSecurityStack/DisableSecurityCheck/MySafeStack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MySafeStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:71:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineSecurityStack/DisableSecurityCheck/MySafeStack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MySafeStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:71:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineSecurityStack/DisableSecurityCheck/MySafeStack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-EnableSecurityCheck/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-EnableSecurityCheck/manifest.json index 539bf035cc83e..6e012f9e06df3 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-EnableSecurityCheck/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-EnableSecurityCheck/manifest.json @@ -37,96 +37,29 @@ "/PipelineSecurityStack/EnableSecurityCheck/MyStack/Topic/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicBFC7AF6E", - "trace": [ - "new Topic (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic.js:43:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:17:23)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:73:31)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicBFC7AF6E" } ], "/PipelineSecurityStack/EnableSecurityCheck/MyStack/Topic/Policy/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicPolicyA1747468", - "trace": [ - "new TopicPolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/policy.js:48:9)", - "Topic.addToResourcePolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:53:27)", - "Function.addToPrincipalOrResource (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-iam/lib/grant.js:76:49)", - "Topic.grantPublish (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:71:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:18:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:73:31)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicPolicyA1747468" } ], "/PipelineSecurityStack/EnableSecurityCheck/MyStack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:73:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineSecurityStack/EnableSecurityCheck/MyStack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:73:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineSecurityStack/EnableSecurityCheck/MyStack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-NoSecurityCheck/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-NoSecurityCheck/manifest.json index b02eaab104292..c1fbd342cd6ab 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-NoSecurityCheck/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-NoSecurityCheck/manifest.json @@ -37,98 +37,29 @@ "/PipelineSecurityStack/NoSecurityCheck/MyStack/Topic/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicBFC7AF6E", - "trace": [ - "new Topic (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic.js:43:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:17:23)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:72:53)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicBFC7AF6E" } ], "/PipelineSecurityStack/NoSecurityCheck/MyStack/Topic/Policy/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicPolicyA1747468", - "trace": [ - "new TopicPolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/policy.js:48:9)", - "Topic.addToResourcePolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:53:27)", - "Function.addToPrincipalOrResource (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-iam/lib/grant.js:76:49)", - "Topic.grantPublish (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:71:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:18:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:72:53)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicPolicyA1747468" } ], "/PipelineSecurityStack/NoSecurityCheck/MyStack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:72:33)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineSecurityStack/NoSecurityCheck/MyStack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:72:33)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineSecurityStack/NoSecurityCheck/MyStack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-PreProduction/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-PreProduction/manifest.json index 6cec2e71bb555..9291f1f023eea 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-PreProduction/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-PreProduction/manifest.json @@ -37,98 +37,29 @@ "/PipelineSecurityStack/PreProduction/MyStack/Topic/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicBFC7AF6E", - "trace": [ - "new Topic (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic.js:43:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:17:23)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:69:53)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicBFC7AF6E" } ], "/PipelineSecurityStack/PreProduction/MyStack/Topic/Policy/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicPolicyA1747468", - "trace": [ - "new TopicPolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/policy.js:48:9)", - "Topic.addToResourcePolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:53:27)", - "Function.addToPrincipalOrResource (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-iam/lib/grant.js:76:49)", - "Topic.grantPublish (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:71:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:18:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:69:53)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicPolicyA1747468" } ], "/PipelineSecurityStack/PreProduction/MyStack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:69:33)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineSecurityStack/PreProduction/MyStack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:69:33)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineSecurityStack/PreProduction/MyStack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SafeProduction/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SafeProduction/manifest.json index e75336c3c55c1..435278adecef4 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SafeProduction/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SafeProduction/manifest.json @@ -37,75 +37,23 @@ "/PipelineSecurityStack/SafeProduction/MySafeStack/MySafeTopic/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MySafeTopicCC243D11", - "trace": [ - "new Topic (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic.js:43:26)", - "new MySafeStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:25:9)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:70:31)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "MySafeTopicCC243D11" } ], "/PipelineSecurityStack/SafeProduction/MySafeStack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MySafeStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:70:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineSecurityStack/SafeProduction/MySafeStack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MySafeStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:70:16)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineSecurityStack/SafeProduction/MySafeStack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SingleStage/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SingleStage/manifest.json index 55a190cf6131e..5e805556ea098 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SingleStage/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/assembly-PipelineSecurityStack-SingleStage/manifest.json @@ -37,96 +37,29 @@ "/PipelineSecurityStack/SingleStage/MyStack/Topic/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicBFC7AF6E", - "trace": [ - "new Topic (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic.js:43:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:17:23)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:68:40)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicBFC7AF6E" } ], "/PipelineSecurityStack/SingleStage/MyStack/Topic/Policy/Resource": [ { "type": "aws:cdk:logicalId", - "data": "TopicPolicyA1747468", - "trace": [ - "new TopicPolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/policy.js:48:9)", - "Topic.addToResourcePolicy (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:53:27)", - "Function.addToPrincipalOrResource (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-iam/lib/grant.js:76:49)", - "Topic.grantPublish (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/aws-sns/lib/topic-base.js:71:26)", - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:18:15)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:68:40)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "TopicPolicyA1747468" } ], "/PipelineSecurityStack/SingleStage/MyStack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:68:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineSecurityStack/SingleStage/MyStack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "new TestCdkStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:68:25)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-security.js:82:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineSecurityStack/SingleStage/MyStack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/tree.json b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/tree.json index 8f1127f052856..af8857f99ede8 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/tree.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-security.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PipelineSecurityStack": { @@ -1825,14 +1825,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -2215,14 +2215,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "UnattachedStage": { @@ -2333,8 +2333,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SingleStageManualApproval": { @@ -2393,30 +2393,30 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SingleStage-MyStack.Deploy": { "id": "SingleStage-MyStack.Deploy", "path": "PipelineSecurityStack/TestPipeline/Pipeline/UnattachedStage/SingleStage-MyStack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SingleStage-MyStack.Prepare": { "id": "SingleStage-MyStack.Prepare", "path": "PipelineSecurityStack/TestPipeline/Pipeline/UnattachedStage/SingleStage-MyStack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProduction": { @@ -2527,8 +2527,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProductionManualApproval": { @@ -2587,8 +2587,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SafeProductionSecurityCheck": { @@ -2695,8 +2695,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SafeProductionManualApproval": { @@ -2755,62 +2755,62 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyStack.Deploy": { "id": "MyStack.Deploy", "path": "PipelineSecurityStack/TestPipeline/Pipeline/PreProduction/MyStack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyStack.Prepare": { "id": "MyStack.Prepare", "path": "PipelineSecurityStack/TestPipeline/Pipeline/PreProduction/MyStack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SafeProduction-MySafeStack.Deploy": { "id": "SafeProduction-MySafeStack.Deploy", "path": "PipelineSecurityStack/TestPipeline/Pipeline/PreProduction/SafeProduction-MySafeStack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "SafeProduction-MySafeStack.Prepare": { "id": "SafeProduction-MySafeStack.Prepare", "path": "PipelineSecurityStack/TestPipeline/Pipeline/PreProduction/SafeProduction-MySafeStack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DisableSecurityCheck-MySafeStack.Deploy": { "id": "DisableSecurityCheck-MySafeStack.Deploy", "path": "PipelineSecurityStack/TestPipeline/Pipeline/PreProduction/DisableSecurityCheck-MySafeStack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "DisableSecurityCheck-MySafeStack.Prepare": { "id": "DisableSecurityCheck-MySafeStack.Prepare", "path": "PipelineSecurityStack/TestPipeline/Pipeline/PreProduction/DisableSecurityCheck-MySafeStack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "NoSecurityCheck": { @@ -2921,8 +2921,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EnableSecurityCheckManualApproval": { @@ -2981,46 +2981,46 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyStack.Deploy": { "id": "MyStack.Deploy", "path": "PipelineSecurityStack/TestPipeline/Pipeline/NoSecurityCheck/MyStack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyStack.Prepare": { "id": "MyStack.Prepare", "path": "PipelineSecurityStack/TestPipeline/Pipeline/NoSecurityCheck/MyStack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EnableSecurityCheck-MyStack.Deploy": { "id": "EnableSecurityCheck-MyStack.Deploy", "path": "PipelineSecurityStack/TestPipeline/Pipeline/NoSecurityCheck/EnableSecurityCheck-MyStack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "EnableSecurityCheck-MyStack.Prepare": { "id": "EnableSecurityCheck-MyStack.Prepare", "path": "PipelineSecurityStack/TestPipeline/Pipeline/NoSecurityCheck/EnableSecurityCheck-MyStack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -3033,8 +3033,8 @@ "id": "Assets", "path": "PipelineSecurityStack/TestPipeline/Assets", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProduction": { @@ -3057,8 +3057,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineSecurityStack/TestPipeline/PreProduction/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -3569,8 +3569,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "NoSecurityCheck": { @@ -3593,8 +3593,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineSecurityStack/TestPipeline/NoSecurityCheck/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -4115,8 +4115,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "arn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}": { @@ -4135,8 +4135,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineSecurityStack/UnattachedStage/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json index fecba78eaef25..48bd1466ea05a 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json @@ -37,76 +37,23 @@ "/PipelineStack/PreProd/Stack/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Resource", - "trace": [ - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.js:21:9)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.js:64:52)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.js:80:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Resource" } ], "/PipelineStack/PreProd/Stack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.js:64:32)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.js:80:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/PreProd/Stack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.js:64:32)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets-single-upload.js:80:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/PreProd/Stack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/tree.json b/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/tree.json index 3f0e86e765b5e..3385586d33bca 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/tree.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-with-assets-single-upload.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PipelineStack": { @@ -1116,14 +1116,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -1507,14 +1507,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "UpdatePipeline": { @@ -1625,14 +1625,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProd": { @@ -2001,30 +2001,30 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack.Deploy": { "id": "Stack.Deploy", "path": "PipelineStack/Pipeline/Pipeline/PreProd/Stack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack.Prepare": { "id": "Stack.Prepare", "path": "PipelineStack/Pipeline/Pipeline/PreProd/Stack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Assets": { @@ -2035,14 +2035,14 @@ "id": "FileAsset", "path": "PipelineStack/Pipeline/Pipeline/Assets/FileAsset", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2622,8 +2622,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProd": { @@ -2646,8 +2646,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineStack/Pipeline/PreProd/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json index 6b87f4da77400..48bd1466ea05a 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json @@ -37,76 +37,23 @@ "/PipelineStack/PreProd/Stack/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Resource", - "trace": [ - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.js:21:9)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.js:63:52)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.js:79:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Resource" } ], "/PipelineStack/PreProd/Stack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.js:63:32)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.js:79:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/PreProd/Stack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.js:63:32)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline-with-assets.js:79:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/PreProd/Stack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/tree.json b/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/tree.json index 891bda6acd40d..c7d12e0012926 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/tree.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-with-assets.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PipelineStack": { @@ -1143,14 +1143,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -1534,14 +1534,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "UpdatePipeline": { @@ -1652,14 +1652,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProd": { @@ -2028,30 +2028,30 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack.Deploy": { "id": "Stack.Deploy", "path": "PipelineStack/Pipeline/Pipeline/PreProd/Stack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack.Prepare": { "id": "Stack.Prepare", "path": "PipelineStack/Pipeline/Pipeline/PreProd/Stack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Assets": { @@ -2062,22 +2062,22 @@ "id": "FileAsset1", "path": "PipelineStack/Pipeline/Pipeline/Assets/FileAsset1", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "FileAsset2": { "id": "FileAsset2", "path": "PipelineStack/Pipeline/Pipeline/Assets/FileAsset2", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2719,8 +2719,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProd": { @@ -2743,8 +2743,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineStack/Pipeline/PreProd/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/pipelines/test/pipeline-with-variables.integ.snapshot/tree.json b/packages/@aws-cdk/pipelines/test/pipeline-with-variables.integ.snapshot/tree.json index cd41094d2491b..738422e3a774e 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline-with-variables.integ.snapshot/tree.json +++ b/packages/@aws-cdk/pipelines/test/pipeline-with-variables.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "VariablePipelineStack": { @@ -716,14 +716,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -981,14 +981,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyWave": { @@ -1239,8 +1239,8 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Consume": { @@ -1604,14 +1604,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json b/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json index 8352c587716e4..48bd1466ea05a 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json +++ b/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/assembly-PipelineStack-PreProd/manifest.json @@ -37,76 +37,23 @@ "/PipelineStack/PreProd/Stack/Resource": [ { "type": "aws:cdk:logicalId", - "data": "Resource", - "trace": [ - "new MyStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline.js:13:9)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline.js:55:52)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline.js:71:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "Resource" } ], "/PipelineStack/PreProd/Stack/BootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "BootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:285:19)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline.js:55:32)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline.js:71:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "BootstrapVersion" } ], "/PipelineStack/PreProd/Stack/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", - "data": "CheckBootstrapVersion", - "trace": [ - "addBootstrapVersionRule (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:293:5)", - "DefaultStackSynthesizer.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stack-synthesizers/default-synthesizer.js:175:13)", - "/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:155:35", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:200:9)", - "visit (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:197:9)", - "synthesizeTree (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:148:5)", - "Object.synthesize (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/private/synthesis.js:33:5)", - "MyStage.synth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/core/lib/stage.js:105:41)", - "Object.pipelineSynth (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/private/construct-internals.js:25:18)", - "CdkStage.addApplication (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/stage.js:82:43)", - "CdkPipeline.addApplicationStage (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/lib/legacy/pipeline.js:206:15)", - "new CdkpipelinesDemoPipelineStack (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline.js:55:32)", - "Object. (/Users/huijbers/Workspaces/PublicCDK/aws-cdk4/packages/@aws-cdk/pipelines/test/integ.pipeline.js:71:1)", - "Module._compile (node:internal/modules/cjs/loader:1105:14)", - "Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", - "Module.load (node:internal/modules/cjs/loader:981:32)", - "Module._load (node:internal/modules/cjs/loader:827:12)", - "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)", - "node:internal/main/run_main_module:17:47" - ] + "data": "CheckBootstrapVersion" } ] }, "displayName": "PipelineStack/PreProd/Stack" } } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/tree.json b/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/tree.json index 3770b63a05aa5..4b4f5abafc728 100644 --- a/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/tree.json +++ b/packages/@aws-cdk/pipelines/test/pipeline.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PipelineStack": { @@ -1078,14 +1078,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Build": { @@ -1469,14 +1469,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "UpdatePipeline": { @@ -1587,14 +1587,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProd": { @@ -1963,30 +1963,30 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack.Deploy": { "id": "Stack.Deploy", "path": "PipelineStack/Pipeline/Pipeline/PreProd/Stack.Deploy", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "Stack.Prepare": { "id": "Stack.Prepare", "path": "PipelineStack/Pipeline/Pipeline/PreProd/Stack.Prepare", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, @@ -2300,8 +2300,8 @@ "id": "Assets", "path": "PipelineStack/Pipeline/Assets", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "PreProd": { @@ -2324,8 +2324,8 @@ "id": "8389e75f-0810-4838-bf64-d6f85a95cf83", "path": "PipelineStack/Pipeline/PreProd/ImmutableRolearn:${AWS::Partition}:iam::${AWS::AccountId}:role--cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}/8389e75f-0810-4838-bf64-d6f85a95cf83", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/region-info/package.json b/packages/@aws-cdk/region-info/package.json index 393ca421cb92e..8762e5da32272 100644 --- a/packages/@aws-cdk/region-info/package.json +++ b/packages/@aws-cdk/region-info/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.region_info", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -77,7 +77,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -97,6 +97,6 @@ "announce": false }, "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/@aws-cdk/triggers/lib/trigger.ts b/packages/@aws-cdk/triggers/lib/trigger.ts index 88299f2373294..385d08f62377a 100644 --- a/packages/@aws-cdk/triggers/lib/trigger.ts +++ b/packages/@aws-cdk/triggers/lib/trigger.ts @@ -1,12 +1,7 @@ import { join } from 'path'; import * as lambda from '@aws-cdk/aws-lambda'; -import { CustomResource, CustomResourceProvider, CustomResourceProviderRuntime, IConstruct } from '@aws-cdk/core'; - -import { Construct, Node } from 'constructs'; - -// keep this import separate from other imports to reduce chance for merge conflicts with v2-main -// eslint-disable-next-line no-duplicate-imports, import/order -import { Construct as CoreConstruct } from '@aws-cdk/core'; +import { CustomResource, CustomResourceProvider, CustomResourceProviderRuntime } from '@aws-cdk/core'; +import { Construct, IConstruct, Node } from 'constructs'; /** * Interface for triggers. @@ -79,7 +74,7 @@ export interface TriggerProps extends TriggerOptions { /** * Triggers an AWS Lambda function during deployment. */ -export class Trigger extends CoreConstruct implements ITrigger { +export class Trigger extends Construct implements ITrigger { constructor(scope: Construct, id: string, props: TriggerProps) { super(scope, id); diff --git a/packages/@aws-cdk/triggers/package.json b/packages/@aws-cdk/triggers/package.json index a6644918aaa9c..6263449a8d199 100644 --- a/packages/@aws-cdk/triggers/package.json +++ b/packages/@aws-cdk/triggers/package.json @@ -24,7 +24,7 @@ "module": "aws_cdk.triggers", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -85,16 +85,16 @@ "dependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "peerDependencies": { "@aws-cdk/aws-lambda": "0.0.0", "@aws-cdk/core": "0.0.0", - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "stable", "maturity": "stable", @@ -113,5 +113,6 @@ "exclude": [ "ref-via-interface:@aws-cdk/triggers.TriggerProps.handler" ] - } + }, + "private": true } diff --git a/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/MyStack.assets.json b/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/MyStack.assets.json new file mode 100644 index 0000000000000..6ee51de0ffd4a --- /dev/null +++ b/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/MyStack.assets.json @@ -0,0 +1,32 @@ +{ + "version": "17.0.0", + "files": { + "6b78a08a66c707ed36509dde1cebf8e7d5244a3b039122c2c00a5137efb845e2": { + "source": { + "path": "asset.6b78a08a66c707ed36509dde1cebf8e7d5244a3b039122c2c00a5137efb845e2", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "6b78a08a66c707ed36509dde1cebf8e7d5244a3b039122c2c00a5137efb845e2.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7aecf43c488e12685574a0c6bd18f925b97cccfac6629375c9531f95f25917d1": { + "source": { + "path": "MyStack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7aecf43c488e12685574a0c6bd18f925b97cccfac6629375c9531f95f25917d1.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/manifest.json b/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/manifest.json index a71ae08f02057..4abe027d40912 100644 --- a/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/manifest.json +++ b/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/manifest.json @@ -95,10 +95,10 @@ "data": "AssetParameters6b78a08a66c707ed36509dde1cebf8e7d5244a3b039122c2c00a5137efb845e2ArtifactHash29DBC1FA" } ], - "MyFunctionCurrentVersion197490AF776ea8de2edf446759649703b18110a4": [ + "MyFunctionCurrentVersion197490AFd134f68e4774c24a4ca6cc78849e3dfd": [ { "type": "aws:cdk:logicalId", - "data": "MyFunctionCurrentVersion197490AF776ea8de2edf446759649703b18110a4", + "data": "MyFunctionCurrentVersion197490AFd134f68e4774c24a4ca6cc78849e3dfd", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/tree.json b/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/tree.json index c031b4eb3067c..2bb99f4f14d0f 100644 --- a/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/tree.json +++ b/packages/@aws-cdk/triggers/test/triggers.integ.snapshot/tree.json @@ -8,8 +8,8 @@ "id": "Tree", "path": "Tree", "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } }, "MyStack": { @@ -265,14 +265,14 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Construct", - "version": "0.0.0" + "fqn": "constructs.Construct", + "version": "10.0.9" } } }, diff --git a/packages/@aws-cdk/triggers/test/triggers.test.ts b/packages/@aws-cdk/triggers/test/triggers.test.ts index dd89046c6475a..bfa7340360ceb 100644 --- a/packages/@aws-cdk/triggers/test/triggers.test.ts +++ b/packages/@aws-cdk/triggers/test/triggers.test.ts @@ -19,7 +19,7 @@ test('minimal', () => { const template = Template.fromStack(stack); template.hasResourceProperties('AWS::Lambda::Function', {}); template.hasResourceProperties('Custom::Trigger', { - HandlerArn: { Ref: 'MyTriggerCurrentVersion8802742B707afb4f5c680fa04113c095ec4e8b5d' }, + HandlerArn: { Ref: 'MyTriggerCurrentVersion8802742B3563e98f84a1f8050c5006ebef4a4163' }, }); }); diff --git a/packages/@aws-cdk/yaml-cfn/package.json b/packages/@aws-cdk/yaml-cfn/package.json index 8c7ce58f38314..56356f47af080 100644 --- a/packages/@aws-cdk/yaml-cfn/package.json +++ b/packages/@aws-cdk/yaml-cfn/package.json @@ -44,7 +44,7 @@ "module": "aws_cdk.yaml_cfn", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -87,7 +87,7 @@ "yaml" ], "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "stability": "deprecated", "maturity": "deprecated", @@ -95,6 +95,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/@monocdk-experiment/assert/package.json b/packages/@monocdk-experiment/assert/package.json index f3d0e0afc0393..4777da34a5c80 100644 --- a/packages/@monocdk-experiment/assert/package.json +++ b/packages/@monocdk-experiment/assert/package.json @@ -1,6 +1,7 @@ { "name": "@monocdk-experiment/assert", "version": "0.0.0", + "private": true, "description": "An assertion library for use with CDK Apps", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -26,6 +27,9 @@ "disable": true } }, + "pkglint": { + "ignore": true + }, "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com", @@ -37,8 +41,8 @@ "@types/jest": "^27.5.0", "@types/node": "^10.17.60", "@aws-cdk/cdk-build-tools": "0.0.0", - "constructs": "^3.3.69", "jest": "^27.5.1", + "constructs": "^10.0.0", "monocdk": "0.0.0", "@aws-cdk/pkglint": "0.0.0", "ts-jest": "^27.1.4" @@ -47,8 +51,8 @@ "@aws-cdk/cloudformation-diff": "0.0.0" }, "peerDependencies": { - "constructs": "^3.3.69", "jest": "^27.5.1", + "constructs": "^10.0.0", "monocdk": "^0.0.0" }, "repository": { diff --git a/packages/@monocdk-experiment/rewrite-imports/package.json b/packages/@monocdk-experiment/rewrite-imports/package.json index c9de5595c88bf..531a0c2669371 100644 --- a/packages/@monocdk-experiment/rewrite-imports/package.json +++ b/packages/@monocdk-experiment/rewrite-imports/package.json @@ -1,6 +1,7 @@ { "name": "@monocdk-experiment/rewrite-imports", "version": "0.0.0", + "private": true, "description": "Rewrites typescript 'import' statements from @aws-cdk/xxx to monocdk", "bin": { "rewrite-imports": "bin/rewrite-imports" @@ -50,7 +51,7 @@ "stability": "experimental", "maturity": "developer-preview", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "publishConfig": { "tag": "latest" diff --git a/packages/aws-cdk-lib/.gitignore b/packages/aws-cdk-lib/.gitignore index ed517ea0feabb..efd95a4895576 100644 --- a/packages/aws-cdk-lib/.gitignore +++ b/packages/aws-cdk-lib/.gitignore @@ -10,4 +10,6 @@ .LAST_BUILD *.snk junit.xml -!.eslintrc.js \ No newline at end of file +!.eslintrc.js +dist +.LAST_PACKAGE \ No newline at end of file diff --git a/packages/aws-cdk-lib/.npmignore b/packages/aws-cdk-lib/.npmignore index e718645d81b63..28949ac23c154 100644 --- a/packages/aws-cdk-lib/.npmignore +++ b/packages/aws-cdk-lib/.npmignore @@ -26,4 +26,7 @@ tsconfig.json **/cdk.out junit.xml -!*.lit.ts \ No newline at end of file +!*.lit.ts + +# exclude source maps as they only work locally +*.map diff --git a/packages/aws-cdk-lib/README.md b/packages/aws-cdk-lib/README.md index ce963c125c7f9..5d618025dc8d2 100644 --- a/packages/aws-cdk-lib/README.md +++ b/packages/aws-cdk-lib/README.md @@ -657,6 +657,23 @@ const roleArn = provider.roleArn; This role ARN can then be used in resource-based IAM policies. +To add IAM policy statements to this role, use `addToRolePolicy()`: + +```ts +const provider = CustomResourceProvider.getOrCreateProvider(this, 'Custom::MyCustomResourceType', { + codeDirectory: `${__dirname}/my-handler`, + runtime: CustomResourceProviderRuntime.NODEJS_12_X, +}); +provider.addToRolePolicy({ + Effect: 'Allow', + Action: 's3:GetObject', + Resource: '*', +}) +``` + +Note that `addToRolePolicy()` uses direct IAM JSON policy blobs, *not* a +`iam.PolicyStatement` object like you will see in the rest of the CDK. + #### The Custom Resource Provider Framework The [`@aws-cdk/custom-resources`] module includes an advanced framework for diff --git a/packages/aws-cdk-lib/package.json b/packages/aws-cdk-lib/package.json index 7bfb5f121c69e..8379252c5e4f2 100644 --- a/packages/aws-cdk-lib/package.json +++ b/packages/aws-cdk-lib/package.json @@ -1,6 +1,5 @@ { "name": "aws-cdk-lib", - "private": "true", "version": "0.0.0", "description": "Version 2 of the AWS Cloud Development Kit library", "main": "index.js", @@ -10,8 +9,8 @@ "url": "https://github.com/aws/aws-cdk.git", "directory": "packages/aws-cdk-lib" }, - "stability": "experimental", - "maturity": "developer-preview", + "stability": "stable", + "maturity": "stable", "scripts": { "gen": "ubergen", "build": "cdk-build", @@ -359,18 +358,18 @@ "@aws-cdk/ubergen": "0.0.0", "@types/fs-extra": "^8.1.2", "@types/node": "^10.17.60", - "constructs": "^3.3.69", "esbuild": "^0.14.38", + "constructs": "^10.0.0", "fs-extra": "^9.1.0", "ts-node": "^9.1.1", "typescript": "~3.8.3" }, "peerDependencies": { - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "keywords": [ "aws", @@ -620,5 +619,8 @@ "./region-info": "./region-info/index.js", "./triggers": "./triggers/index.js" }, - "preferredCdkCliVersion": "2" + "preferredCdkCliVersion": "2", + "publishConfig": { + "tag": "latest" + } } diff --git a/packages/aws-cdk-lib/scripts/minify-sources.sh b/packages/aws-cdk-lib/scripts/minify-sources.sh index cee0e38df0c89..a728bc11430f5 100644 --- a/packages/aws-cdk-lib/scripts/minify-sources.sh +++ b/packages/aws-cdk-lib/scripts/minify-sources.sh @@ -16,4 +16,12 @@ scriptdir=$(cd $(dirname $0) && pwd) cd ${scriptdir}/.. -find . -name '*.js' ! -name '.eslintrc.js' ! -path '*node_modules*' | xargs npx esbuild --sourcemap --platform=node --format=cjs --minify-whitespace --minify-syntax --tsconfig=tsconfig.json --allow-overwrite --outdir=. +find . -name '*.js' ! -name '.eslintrc.js' ! -path '*node_modules*' | xargs npx esbuild \ + --sourcemap \ + --platform=node \ + --format=cjs \ + --minify-whitespace \ + --minify-syntax \ + --tsconfig=tsconfig.json \ + --allow-overwrite \ + --outdir=. diff --git a/packages/aws-cdk-migration/package.json b/packages/aws-cdk-migration/package.json index 6577a8f466f98..6a2dd8e92927e 100644 --- a/packages/aws-cdk-migration/package.json +++ b/packages/aws-cdk-migration/package.json @@ -55,6 +55,7 @@ "node": ">= 10.13.0 <13 || >=13.7.0" }, "publishConfig": { - "tag": "latest" - } + "tag": "next" + }, + "private": true } diff --git a/packages/aws-cdk/lib/init.ts b/packages/aws-cdk/lib/init.ts index a1e6ea815c0c3..98c7e2d9cf80a 100644 --- a/packages/aws-cdk/lib/init.ts +++ b/packages/aws-cdk/lib/init.ts @@ -6,6 +6,7 @@ import * as fs from 'fs-extra'; import * as semver from 'semver'; import { error, print, warning } from './logging'; import { cdkHomeDir, rootDir } from './util/directories'; +import { rangeFromSemver } from './util/version-range'; import { versionNumber } from './version'; @@ -123,7 +124,7 @@ export class InitTemplate { for (const fileName of fileNames) { const fullPath = path.join(targetDirectory, fileName); const template = await fs.readFile(fullPath, { encoding: 'utf-8' }); - await fs.writeFile(fullPath, this.expand(template, projectInfo)); + await fs.writeFile(fullPath, this.expand(template, language, projectInfo)); } }, }; @@ -131,25 +132,25 @@ export class InitTemplate { const sourceDirectory = path.join(this.basePath, language); const hookTempDirectory = path.join(targetDirectory, 'tmp'); await fs.mkdir(hookTempDirectory); - await this.installFiles(sourceDirectory, targetDirectory, projectInfo); + await this.installFiles(sourceDirectory, targetDirectory, language, projectInfo); await this.applyFutureFlags(targetDirectory); await this.invokeHooks(hookTempDirectory, targetDirectory, hookContext); await fs.remove(hookTempDirectory); } - private async installFiles(sourceDirectory: string, targetDirectory: string, project: ProjectInfo) { + private async installFiles(sourceDirectory: string, targetDirectory: string, language:string, project: ProjectInfo) { for (const file of await fs.readdir(sourceDirectory)) { const fromFile = path.join(sourceDirectory, file); - const toFile = path.join(targetDirectory, this.expand(file, project)); + const toFile = path.join(targetDirectory, this.expand(file, language, project)); if ((await fs.stat(fromFile)).isDirectory()) { await fs.mkdir(toFile); - await this.installFiles(fromFile, toFile, project); + await this.installFiles(fromFile, toFile, language, project); continue; } else if (file.match(/^.*\.template\.[^.]+$/)) { - await this.installProcessed(fromFile, toFile.replace(/\.template(\.[^.]+)$/, '$1'), project); + await this.installProcessed(fromFile, toFile.replace(/\.template(\.[^.]+)$/, '$1'), language, project); continue; } else if (file.match(/^.*\.hook\.(d.)?[^.]+$/)) { - await this.installProcessed(fromFile, path.join(targetDirectory, 'tmp', file), project); + await this.installProcessed(fromFile, path.join(targetDirectory, 'tmp', file), language, project); continue; } else { await fs.copy(fromFile, toFile); @@ -178,17 +179,27 @@ export class InitTemplate { } } - private async installProcessed(templatePath: string, toFile: string, project: ProjectInfo) { + private async installProcessed(templatePath: string, toFile: string, language: string, project: ProjectInfo) { const template = await fs.readFile(templatePath, { encoding: 'utf-8' }); - await fs.writeFile(toFile, this.expand(template, project)); + await fs.writeFile(toFile, this.expand(template, language, project)); } - private expand(template: string, project: ProjectInfo) { + private expand(template: string, language: string, project: ProjectInfo) { // eslint-disable-next-line @typescript-eslint/no-require-imports const manifest = require(path.join(rootDir(), 'package.json')); const MATCH_VER_BUILD = /\+[a-f0-9]+$/; // Matches "+BUILD" in "x.y.z-beta+BUILD" const cdkVersion = manifest.version.replace(MATCH_VER_BUILD, ''); - const constructsVersion = manifest.devDependencies.constructs.replace(MATCH_VER_BUILD, ''); + let constructsVersion = manifest.devDependencies.constructs.replace(MATCH_VER_BUILD, ''); + switch (language) { + case 'java': + case 'csharp': + case 'fsharp': + constructsVersion = rangeFromSemver(constructsVersion, 'bracket'); + break; + case 'python': + constructsVersion = rangeFromSemver(constructsVersion, 'pep'); + break; + } return template.replace(/%name%/g, project.name) .replace(/%name\.camelCased%/g, camelCase(project.name)) .replace(/%name\.PascalCased%/g, camelCase(project.name, { pascalCase: true })) diff --git a/packages/aws-cdk/lib/util/version-range.ts b/packages/aws-cdk/lib/util/version-range.ts new file mode 100644 index 0000000000000..0b1448a23f674 --- /dev/null +++ b/packages/aws-cdk/lib/util/version-range.ts @@ -0,0 +1,38 @@ +import * as semver from 'semver'; + +// bracket - https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN401 +// pep - https://www.python.org/dev/peps/pep-0440/#version-specifiers +export type RangeType = 'bracket' | 'pep' + +export function rangeFromSemver(ver: string, targetType: RangeType) { + const re = ver.match(/^([^\d]*)([\d.]*)$/); + if (!re || !semver.valid(re[2])) { + throw new Error('not a semver or unsupported range syntax'); + } + const prefixPart = re[1]; + const verPart = re[2]; + + switch (targetType) { + case 'bracket': + switch (prefixPart) { + case '': + // if there's no prefix and the remaining is a valid semver, there's no range specified + return ver; + case '^': + return `[${verPart},${semver.major(verPart)+1}.0.0)`; + default: + throw new Error(`unsupported range syntax - ${prefixPart}`); + } + case 'pep': + switch (prefixPart) { + case '': + // if there's no prefix and the remaining is a valid semver, there's no range specified + return `==${ver}`; + case '^': + return `>=${verPart},<${semver.major(verPart)+1}.0.0`; + default: + throw new Error(`unsupported range syntax - ${prefixPart}`); + } + } + +} \ No newline at end of file diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 8efd1c3ff5f2b..5010edb1a87e5 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -2,8 +2,6 @@ "name": "aws-cdk", "description": "CDK Toolkit, the command line tool for CDK apps", "version": "0.0.0", - "main": "lib/index.js", - "types": "lib/index.d.ts", "bin": { "cdk": "bin/cdk" }, @@ -47,7 +45,10 @@ "0BSD" ], "dontAttribute": "^@aws-cdk/|^cdk-assets$|^cdk-cli-wrapper$", - "test": "bin/cdk --version" + "test": "bin/cdk --version", + "entryPoints": [ + "lib/index.js" + ] } }, "author": { @@ -75,9 +76,9 @@ "@types/yargs": "^15.0.14", "aws-sdk-mock": "5.6.0", "@aws-cdk/cdk-build-tools": "0.0.0", - "constructs": "^3.3.69", "jest": "^27.5.1", "madge": "^5.0.1", + "constructs": "^10.0.0", "make-runnable": "^1.3.10", "mockery": "^2.1.0", "nock": "^13.2.4", @@ -127,7 +128,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nozem": { "ostools": [ @@ -145,6 +146,6 @@ "stability": "stable", "maturity": "stable", "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/aws-cdk/test/init.test.ts b/packages/aws-cdk/test/init.test.ts index bf06892e83b6a..6341d708259b0 100644 --- a/packages/aws-cdk/test/init.test.ts +++ b/packages/aws-cdk/test/init.test.ts @@ -99,6 +99,56 @@ describe.each(['1', '2'])('v%s tests', (majorVersion) => { 30_000); }); +describe('constructs version', () => { + beforeEach(() => { + mockMajorVersion = '2.0.0'; + jest.resetAllMocks(); + }); + + cliTest('java', async (workDir) => { + await cliInit('app', 'java', false, true, workDir); + + expect(await fs.pathExists(path.join(workDir, 'pom.xml'))).toBeTruthy(); + + const pom = (await fs.readFile(path.join(workDir, 'pom.xml'), 'utf8')).split(/\r?\n/); + const matches = pom.map(line => line.match(/\(.*)\<\/constructs\.version\>/)) + .filter(l => l); + + expect(matches.length).toEqual(1); + matches.forEach(m => { + const version = m && m[1]; + expect(version).toMatch(/\[10\.[\d]+\.[\d]+,11\.0\.0\)/); + }); + }); + + cliTest('.NET', async (workDir) => { + await cliInit('app', 'csharp', false, true, workDir); + + const csprojFile = (await recursiveListFiles(workDir)).filter(f => f.endsWith('.csproj'))[0]; + expect(csprojFile).toBeDefined(); + + const csproj = (await fs.readFile(csprojFile, 'utf8')).split(/\r?\n/); + + expect(csproj).toContainEqual(expect.stringMatching(/\ { + await cliInit('app', 'python', false, true, workDir); + + expect(await fs.pathExists(path.join(workDir, 'requirements.txt'))).toBeTruthy(); + const setupPy = (await fs.readFile(path.join(workDir, 'requirements.txt'), 'utf8')).split(/\r?\n/); + // return RegExpMatchArray (result of line.match()) for every lines that match re. + const matches = setupPy.map(line => line.match(/^constructs(.*)/)) + .filter(l => l); + + expect(matches.length).toEqual(1); + matches.forEach(m => { + const version = m && m[1]; + expect(version).toMatch(/>=10\.\d+\.\d,<11\.0\.0/); + }); + }); +}); + test('when no version number is present (e.g., local development), the v1 templates are chosen by default', async () => { mockMajorVersion = '0.0.0'; jest.resetAllMocks(); @@ -118,3 +168,23 @@ async function withTempDir(cb: (dir: string) => void | Promise) { await fs.remove(tmpDir); } } + +/** + * List all files underneath dir + */ +async function recursiveListFiles(rdir: string): Promise { + const ret = new Array(); + await recurse(rdir); + return ret; + + async function recurse(dir: string) { + for (const name of await fs.readdir(dir)) { + const fullPath = path.join(dir, name); + if ((await fs.stat(fullPath)).isDirectory()) { + await recurse(fullPath); + } else { + ret.push(fullPath); + } + } + } +} diff --git a/packages/aws-cdk/test/integ/github-helpers.ts b/packages/aws-cdk/test/integ/github-helpers.ts index 10cff22158a8f..d5a9b6cb41df7 100644 --- a/packages/aws-cdk/test/integ/github-helpers.ts +++ b/packages/aws-cdk/test/integ/github-helpers.ts @@ -13,18 +13,26 @@ module.exports.fetchPreviousVersion = async function(base: string) { repo: 'aws-cdk', }); - // this returns a list in decsending order, newest releases first + // this returns a list in descending order, newest releases first + // opts for same major version where possible, falling back otherwise + // to previous major versions. + let previousMVRelease = undefined; for (const release of releases.data) { const version = release.name?.replace('v', ''); if (version && semver.lt(version, base)) { - return version; + if (semver.major(version) === semver.major(base)) { + return version; + } else if (!previousMVRelease) { + previousMVRelease = version; + } } } - throw new Error(`Unable to find previous version of ${base}`); + if (previousMVRelease) { return previousMVRelease; } + throw new Error(`Unable to find previous version of ${base}`); }; // eslint-disable-next-line @typescript-eslint/no-require-imports require('make-runnable/custom')({ printOutputFrame: false, -}); \ No newline at end of file +}); diff --git a/packages/aws-cdk/test/integ/run-wrappers/dist/pip_ b/packages/aws-cdk/test/integ/run-wrappers/dist/pip_ index ecf2e8d583fbb..ce580ea30a5f7 100755 --- a/packages/aws-cdk/test/integ/run-wrappers/dist/pip_ +++ b/packages/aws-cdk/test/integ/run-wrappers/dist/pip_ @@ -1,10 +1,15 @@ #!/bin/bash set -eu if [[ "${1:-}" == "install" ]]; then - # Just install all wheels from the source repository. - # It's too hard to figure out what was actually requested, and - # this is pretty quick anyway. - exec pip install $PYTHON_WHEELS/*.whl + # We will receive `pip install -r requirements.txt` and need to + # install the packages from the local dist. We previously just + # installed everything under $PYTHON_WHEELS ($PYTHON_WHEELS/*.whl). + # However, there is a bug that arises on v2 when we install everything, + # including both `aws-cdk-lib` and `cx-api`, because the latter is also + # packaged in the former and causes conflicts. This can lead to errors like: + # "Unknown type: aws-cdk-lib.cx_api.CloudAssembly" + # Since we only need aws-cdk-lib anyway (for now), just install it alone. + exec pip install ${PYTHON_WHEELS}/aws_cdk_lib*.whl fi exec pip "$@" diff --git a/packages/aws-cdk/test/util/version-range.test.ts b/packages/aws-cdk/test/util/version-range.test.ts new file mode 100644 index 0000000000000..9057edbcc2699 --- /dev/null +++ b/packages/aws-cdk/test/util/version-range.test.ts @@ -0,0 +1,25 @@ +import { rangeFromSemver } from '../../lib/util/version-range'; + +describe('rangeFromSemver', () => { + describe('bracket', () => { + test('valid', () => { + expect(rangeFromSemver('1.2.3', 'bracket')).toEqual('1.2.3'); + expect(rangeFromSemver('^1.2.3', 'bracket')).toEqual('[1.2.3,2.0.0)'); + }); + }); + + describe('pep', () => { + test('valid', () => { + expect(rangeFromSemver('1.2.3', 'pep')).toEqual('==1.2.3'); + expect(rangeFromSemver('^1.2.3', 'pep')).toEqual('>=1.2.3,<2.0.0'); + }); + }); + + test('invalid', () => { + expect(() => rangeFromSemver('1.2', 'bracket')).toThrow(); + expect(() => rangeFromSemver('~1.2.3', 'bracket')).toThrow(); + expect(() => rangeFromSemver('1.2.3-1.4.5', 'bracket')).toThrow(); + expect(() => rangeFromSemver('>2.4.5', 'bracket')).toThrow(); + expect(() => rangeFromSemver('2.*', 'bracket')).toThrow(); + }); +}); \ No newline at end of file diff --git a/packages/awslint/lib/rules/construct.ts b/packages/awslint/lib/rules/construct.ts index 8e591e1f27d8f..2bc85b974a92a 100644 --- a/packages/awslint/lib/rules/construct.ts +++ b/packages/awslint/lib/rules/construct.ts @@ -27,7 +27,7 @@ export class ConstructReflection { /** * @deprecated - use `CoreTypes.constructClass()` or `CoreTypes.baseConstructClass()` as appropriate */ - public readonly ROOT_CLASS: reflect.ClassType; // cdk.Construct + public readonly ROOT_CLASS: reflect.ClassType; // constructs.Construct public readonly fqn: string; public readonly interfaceFqn: string; diff --git a/packages/awslint/lib/rules/core-types.ts b/packages/awslint/lib/rules/core-types.ts index 9e14eb5bb9d51..3cabe9c69399b 100644 --- a/packages/awslint/lib/rules/core-types.ts +++ b/packages/awslint/lib/rules/core-types.ts @@ -9,13 +9,8 @@ enum CoreTypesFqn { ResolvableInterface = '@aws-cdk/core.IResolvable', PhysicalName = '@aws-cdk/core.PhysicalName', - BaseConstruct = 'constructs.Construct', - BaseConstructInterface = 'constructs.Construct', - - /** @deprecated - use BaseConstruct */ - Construct = '@aws-cdk/core.Construct', - /** @deprecated - use BaseConstructInterface */ - ConstructInterface = '@aws-cdk/core.IConstruct', + Construct = 'constructs.Construct', + ConstructInterface = 'constructs.IConstruct', } export class CoreTypes { @@ -102,7 +97,7 @@ export class CoreTypes { * @returns `classType` for the core type Construct */ public get baseConstructClass() { - return this.sys.findClass(CoreTypesFqn.BaseConstruct); + return this.sys.findClass(CoreTypesFqn.Construct); } /** @@ -117,7 +112,7 @@ export class CoreTypes { * @returns `interfacetype` for the core type Construct */ public get baseConstructInterface() { - return this.sys.findInterface(CoreTypesFqn.BaseConstructInterface); + return this.sys.findInterface(CoreTypesFqn.ConstructInterface); } /** diff --git a/packages/awslint/package.json b/packages/awslint/package.json index 31c5a0214de42..c09e651030e57 100644 --- a/packages/awslint/package.json +++ b/packages/awslint/package.json @@ -60,7 +60,7 @@ "maturity": "developer-preview", "stability": "experimental", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nozem": { "ostools": [ @@ -69,6 +69,6 @@ ] }, "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json index 00398fba35559..e713ec557d02f 100644 --- a/packages/cdk-assets/package.json +++ b/packages/cdk-assets/package.json @@ -63,7 +63,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "cdk-package": { "shrinkWrap": true @@ -78,6 +78,6 @@ "stability": "experimental", "maturity": "experimental", "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/cdk-cli-wrapper/package.json b/packages/cdk-cli-wrapper/package.json index df1bc20490455..0cc9039febd8f 100644 --- a/packages/cdk-cli-wrapper/package.json +++ b/packages/cdk-cli-wrapper/package.json @@ -41,7 +41,7 @@ "module": "aws_cdk.cdk_cli_wrapper", "classifiers": [ "Framework :: AWS CDK", - "Framework :: AWS CDK :: 1" + "Framework :: AWS CDK :: 2" ] } }, @@ -78,7 +78,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "cdk-package": { "shrinkWrap": true diff --git a/packages/cdk-dasm/README.md b/packages/cdk-dasm/README.md index 83f2f774100ee..db806ea07bbc8 100644 --- a/packages/cdk-dasm/README.md +++ b/packages/cdk-dasm/README.md @@ -112,15 +112,16 @@ The output will be: ```ts // generated by cdk-dasm at 2019-08-07T02:52:01.561Z -import { Stack, StackProps, Construct, Fn } from '@aws-cdk/core'; +import { Stack, StackProps, Fn } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import * as sns from '@aws-cdk/aws-sns'; export class MyStack extends Stack { - constructor(scope: Construct, id: string, props: StackProps = {}) { - super(scope, id, props); - new sns.CfnTopic(this, 'MyTopic', { - displayName: "YoTopic", - }); - } + constructor(scope: Construct, id: string, props: StackProps = {}) { + super(scope, id, props); + new sns.CfnTopic(this, 'MyTopic', { + displayName: "YoTopic", + }); + } } ``` \ No newline at end of file diff --git a/packages/cdk-dasm/lib/dasm.ts b/packages/cdk-dasm/lib/dasm.ts index 6a9296cb3381d..a34d8fd57cf75 100644 --- a/packages/cdk-dasm/lib/dasm.ts +++ b/packages/cdk-dasm/lib/dasm.ts @@ -53,7 +53,8 @@ export async function dasmTypeScript(template: Template, options: DisassemblerOp // imports // - code.line(`import { Stack, StackProps, Construct, Fn } from '@aws-cdk/core';`); + code.line(`import { Stack, StackProps, Fn } from '@aws-cdk/core';`); + code.line(`import { Construct } from 'constructs';`); for (const ns of getUniqueNamespaces(definitions)) { const importName = `@aws-cdk/aws-${ns}`; diff --git a/packages/cdk-dasm/package.json b/packages/cdk-dasm/package.json index 41e5c1565a02a..cb31890fb5582 100644 --- a/packages/cdk-dasm/package.json +++ b/packages/cdk-dasm/package.json @@ -1,6 +1,7 @@ { "name": "cdk-dasm", "version": "0.0.0", + "private": true, "description": "AWS CDK disassembler: convert CloudFormation to code", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/cdk-dasm/test/__snapshots__/dasm.test.js.snap b/packages/cdk-dasm/test/__snapshots__/dasm.test.js.snap index f60789d33eb01..46e4e6a312ce2 100644 --- a/packages/cdk-dasm/test/__snapshots__/dasm.test.js.snap +++ b/packages/cdk-dasm/test/__snapshots__/dasm.test.js.snap @@ -3,7 +3,8 @@ exports[`basic test 1`] = ` "// generated by cdk-dasm -import { Stack, StackProps, Construct, Fn } from '@aws-cdk/core'; +import { Stack, StackProps, Fn } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import sns = require('@aws-cdk/aws-sns'); export class MyStack extends Stack { @@ -20,7 +21,8 @@ export class MyStack extends Stack { exports[`bucket-and-key 1`] = ` "// generated by cdk-dasm -import { Stack, StackProps, Construct, Fn } from '@aws-cdk/core'; +import { Stack, StackProps, Fn } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import kms = require('@aws-cdk/aws-kms'); import s3 = require('@aws-cdk/aws-s3'); import cdk = require('@aws-cdk/aws-cdk'); @@ -100,7 +102,8 @@ export class MyStack extends Stack { exports[`multiple of same type 1`] = ` "// generated by cdk-dasm -import { Stack, StackProps, Construct, Fn } from '@aws-cdk/core'; +import { Stack, StackProps, Fn } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import sns = require('@aws-cdk/aws-sns'); export class MyStack extends Stack { @@ -120,7 +123,8 @@ export class MyStack extends Stack { exports[`no props 1`] = ` "// generated by cdk-dasm -import { Stack, StackProps, Construct, Fn } from '@aws-cdk/core'; +import { Stack, StackProps, Fn } from '@aws-cdk/core'; +import { Construct } from 'constructs'; import s3 = require('@aws-cdk/aws-s3'); export class MyStack extends Stack { diff --git a/packages/cdk/package.json b/packages/cdk/package.json index ef25d8587edc3..f4df3c05fd5c8 100644 --- a/packages/cdk/package.json +++ b/packages/cdk/package.json @@ -41,6 +41,6 @@ "node": ">= 8.10.0" }, "publishConfig": { - "tag": "latest-1" + "tag": "latest" } } diff --git a/packages/monocdk/package.json b/packages/monocdk/package.json index 991270ada859b..16e07ea7fe5ce 100644 --- a/packages/monocdk/package.json +++ b/packages/monocdk/package.json @@ -1,6 +1,7 @@ { "name": "monocdk", "version": "0.0.0", + "private": true, "description": "An experiment to bundle the entire CDK into a single module", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -357,17 +358,17 @@ "@aws-cdk/yaml-cfn": "0.0.0", "@types/fs-extra": "^8.1.2", "@types/node": "^10.17.60", - "constructs": "^3.3.69", + "constructs": "^10.0.0", "fs-extra": "^9.1.0", "ts-node": "^9.1.1", "typescript": "~3.8.3" }, "peerDependencies": { - "constructs": "^3.3.69" + "constructs": "^10.0.0" }, "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "keywords": [ "aws", @@ -378,7 +379,7 @@ "announce": false }, "publishConfig": { - "tag": "latest" + "tag": "next" }, "preferredCdkCliVersion": "1" } diff --git a/patches/README.md b/patches/README.md index 64be828bc94d0..d057d2db5e740 100644 --- a/patches/README.md +++ b/patches/README.md @@ -28,16 +28,3 @@ lerna success exec Executed command in 219 packages: "pwd" 1.11 real 0.99 user 0.82 sys ``` -## jsii-rosetta+1.28.0.patch - -jsii-rosetta uses multiple worker threads by default to speed up sample extraction. -It defaults to spawning workers equal to half the number of cores. On extremely -powerful build machines (e.g., CodeBuild X2_LARGE compute with 72 vCPUs), -the high number of workers (36) results in thrash and high memory usage due to -duplicate loads of source files. This was causing the v2 builds to fail with: -"FATAL ERROR: NewSpace::Rebalance Allocation failed - JavaScript heap out of memory" - -The patch simply limits the top number of worker threads to an arbitrarily-chosen -maximum limit of 16. We could simply disable the worker threads, but this takes much -longer to process. With single-threading, rosetta takes ~35 minutes to extract samples -from the CDK; with 16 workers, it takes ~3.5 minutes. diff --git a/release.json b/release.json index 318d5d9a12072..a54dd134e274e 100644 --- a/release.json +++ b/release.json @@ -1,4 +1,4 @@ { - "majorVersion": 1, + "majorVersion": 2, "releaseType": "stable" } diff --git a/scripts/bump.js b/scripts/bump.js index 943edd6da5d8b..fac3173806718 100755 --- a/scripts/bump.js +++ b/scripts/bump.js @@ -25,7 +25,7 @@ async function main() { infile: ver.changelogFile, prerelease: ver.prerelease, scripts: { - postchangelog: `${path.join(__dirname, 'changelog-experimental-fix.sh')} ${changelogPath}` + postchangelog: `node ${path.join(__dirname, 'changelog-experimental-fix.js')} ${changelogPath}` } }; diff --git a/scripts/changelog-experimental-fix.js b/scripts/changelog-experimental-fix.js new file mode 100644 index 0000000000000..0c540c84fc500 --- /dev/null +++ b/scripts/changelog-experimental-fix.js @@ -0,0 +1,78 @@ +/** + * For the developer preview release of CDKv2, we are stripping experimental modules from the packaged release. + * However, the entries from the CHANGELOG are still included, as `standard-release` has no knowledge of this process. + * This script -- run as part of the 'bump' process -- attempts to identify and remove CHANGELOG lines that are + * associated with experimental modules. + */ + +const fs = require('fs-extra'); +const path = require('path'); +const { Project } = require("@lerna/project"); + +function rewriteChangelog(changelogPath) { + const changelog = fs.readFileSync(changelogPath, { encoding: 'utf-8' }).split('\n'); + + // Find the new section of the CHANGELOG, represented by everything up to the 2nd version header. + // (The first version header is the new one.) + // This is the section we will operate on, and leave the rest untouched. + let searchIndex = -1; + const findNextVersionHeader = (str, index) => str.startsWith('## ') && index > searchIndex; + searchIndex = changelog.findIndex(findNextVersionHeader); + const secondVersionHeaderIndex = changelog.findIndex(findNextVersionHeader); + let newChangelogSection = changelog.splice(0, secondVersionHeaderIndex); + + // Rewrite the newly-generated section of the changelog. + newChangelogSection = stripExperimentalPackageChangelogs(newChangelogSection); + newChangelogSection = stripEmptySectionHeaders(newChangelogSection); + newChangelogSection = stripDuplicateEmptyLines(newChangelogSection); + newChangelogSection = replaceBreakingChangesLine(newChangelogSection); + const rewrittenChangelog = [...newChangelogSection, ...changelog].join('\n'); + + fs.writeFileSync(changelogPath, rewrittenChangelog, { encoding: 'utf-8' }); +} + +function stripExperimentalPackageChangelogs(changelog) { + const packageNames = experimentalPackageNames(); + const packageNamesWithDupes = [...packageNames, ...packageNames.map(pkg => pkg.replace('aws-', ''))]; + const isExperimentalChangelogLine = (str) => packageNamesWithDupes.some(pkg => str.startsWith(`* **${pkg}:** `)); + + return changelog.filter(line => !isExperimentalChangelogLine(line)); +} + +// Approximates the behavior of ubergen's stripExperimental detection logic... roughly. +// Returns the short package names (e.g., 'aws-s3') for any experimental service packages. +function experimentalPackageNames() { + const packages = new Project(repoRoot()).getPackagesSync(); + return packages.filter(isExperimentalServicePackage).map(p => p.name.substr('@aws-cdk/'.length)); + + function isExperimentalServicePackage(package) { + const pkgJson = fs.readJsonSync(package.manifestLocation); + return pkgJson.name.startsWith('@aws-cdk/') + && pkgJson.stability === 'experimental'; + } +} + +function stripEmptySectionHeaders(changelog) { + const isSectionHeader = (str) => str.startsWith('### '); + function sectionIsEmpty(index) { + const nextNonEmptyLine = changelog.slice(index + 1).find(line => line.length > 0); + return !nextNonEmptyLine || nextNonEmptyLine.startsWith('#'); // No lines, or found another section header first + } + + return changelog.filter((line, index) => !isSectionHeader(line) || !sectionIsEmpty(index)); +} + +function stripDuplicateEmptyLines(changelog) { + return changelog.filter((line, index) => index == 0 || line.length || changelog[index - 1].length); +} + +function replaceBreakingChangesLine(changelog) { + return changelog.map(line => line.replace(/BREAKING CHANGES$/, 'BREAKING CHANGES TO EXPERIMENTAL FEATURES')); +} + +function repoRoot() { + return path.join(__dirname, '..'); +} + +const defaultChangelogPath = path.join(repoRoot(), 'CHANGELOG.v2.md'); +rewriteChangelog(process.argv[2] || defaultChangelogPath); diff --git a/scripts/changelog-experimental-fix.sh b/scripts/changelog-experimental-fix.sh deleted file mode 100755 index 15284ac0c69bc..0000000000000 --- a/scripts/changelog-experimental-fix.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -set -euo pipefail -changelog="${1:-}" - -if [ -z "${changelog}" ]; then - echo "Usage: $0 CHANGELOG.md" - exit 1 -fi - -sed -i.tmp -e 's/BREAKING CHANGES$/BREAKING CHANGES TO EXPERIMENTAL FEATURES/' ${changelog} -rm ${changelog}.tmp diff --git a/scripts/list-deprecated-apis.js b/scripts/list-deprecated-apis.js index 874a42c4e36ee..bfc483741bf77 100755 --- a/scripts/list-deprecated-apis.js +++ b/scripts/list-deprecated-apis.js @@ -54,17 +54,18 @@ async function main(printer) { printer.printHeader(); for (const assembly of typesystem.assemblies) { - for (const type of assembly.types) { - printer.printIfDeprecated(assembly.fqn, type.name, type); + for (const type of [assembly, ...assembly.allSubmodules].flatMap(x => x.types)) { + const typeName = type.namespace ? `${type.namespace}.${type.name}` : type.name; + printer.printIfDeprecated(assembly.fqn, typeName, type); if (type.isEnumType()) { - type.members.forEach(e => printer.printIfDeprecated(assembly.fqn, `${type.name}#${e.name}`, e)); + type.members.forEach(e => printer.printIfDeprecated(assembly.fqn, `${typeName}#${e.name}`, e)); } if (type.isInterfaceType() || type.isClassType() || type.isDataType()) { - type.ownProperties.forEach(p => printer.printIfDeprecated(assembly.fqn, `${type.name}#${p.name}`, p)); + type.ownProperties.forEach(p => printer.printIfDeprecated(assembly.fqn, `${typeName}#${p.name}`, p)); type.ownMethods.forEach(method => { - printer.printIfDeprecated(assembly.fqn, `${type.name}#${method.name}()`, method); - method.parameters.forEach(p => printer.printIfDeprecated(assembly.fqn, `${type.name}#${method.name}(): ${p.name}`, p)); + printer.printIfDeprecated(assembly.fqn, `${typeName}#${method.name}()`, method); + method.parameters.forEach(p => printer.printIfDeprecated(assembly.fqn, `${typeName}#${method.name}(): ${p.name}`, p)); }); } } diff --git a/tools/@aws-cdk/cdk-build-tools/package.json b/tools/@aws-cdk/cdk-build-tools/package.json index 184a95f49722d..cc013749e0bb8 100644 --- a/tools/@aws-cdk/cdk-build-tools/package.json +++ b/tools/@aws-cdk/cdk-build-tools/package.json @@ -73,7 +73,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nozem": { "ostools": [ diff --git a/tools/@aws-cdk/cdk-integ-tools/lib/integ-helpers.ts b/tools/@aws-cdk/cdk-integ-tools/lib/integ-helpers.ts index cc7aa78f2ad81..7cccd2578022d 100644 --- a/tools/@aws-cdk/cdk-integ-tools/lib/integ-helpers.ts +++ b/tools/@aws-cdk/cdk-integ-tools/lib/integ-helpers.ts @@ -2,7 +2,8 @@ import * as assert from 'assert'; import { spawnSync } from 'child_process'; import * as path from 'path'; -import { AVAILABILITY_ZONE_FALLBACK_CONTEXT_KEY, FUTURE_FLAGS, TARGET_PARTITIONS } from '@aws-cdk/cx-api'; +import { TARGET_PARTITIONS } from '@aws-cdk/cx-api'; +import * as cxapi from '@aws-cdk/cx-api'; import * as fs from 'fs-extra'; const CDK_OUTDIR = 'cdk-integ.out'; @@ -329,11 +330,18 @@ export class IntegrationTest { } } +const futureFlags: {[key: string]: any} = {}; +Object.entries(cxapi.FUTURE_FLAGS) + .filter(([k, _]) => !cxapi.FUTURE_FLAGS_EXPIRED.includes(k)) + .forEach(([k, v]) => futureFlags[k] = v); + // Default context we run all integ tests with, so they don't depend on the // account of the exercising user. export const DEFAULT_SYNTH_OPTIONS = { context: { - [AVAILABILITY_ZONE_FALLBACK_CONTEXT_KEY]: ['test-region-1a', 'test-region-1b', 'test-region-1c'], + // use old-style synthesis in snapshot tests + [cxapi.NEW_STYLE_STACK_SYNTHESIS_CONTEXT]: false, + [cxapi.AVAILABILITY_ZONE_FALLBACK_CONTEXT_KEY]: ['test-region-1a', 'test-region-1b', 'test-region-1c'], 'availability-zones:account=12345678:region=test-region': ['test-region-1a', 'test-region-1b', 'test-region-1c'], 'ssm:account=12345678:parameterName=/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2:region=test-region': 'ami-1234', 'ssm:account=12345678:parameterName=/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2:region=test-region': 'ami-1234', @@ -366,14 +374,12 @@ export const DEFAULT_SYNTH_OPTIONS = { }, ], }, - // Enable feature flags for all integ tests - ...FUTURE_FLAGS, - // Restricting to these target partitions makes most service principals synthesize to // `service.${URL_SUFFIX}`, which is technically *incorrect* (it's only `amazonaws.com` // or `amazonaws.com.cn`, never UrlSuffix for any of the restricted regions) but it's what // most existing integ tests contain, and we want to disturb as few as possible. [TARGET_PARTITIONS]: ['aws', 'aws-cn'], + ...futureFlags, }, env: { CDK_INTEG_ACCOUNT: '12345678', diff --git a/tools/@aws-cdk/cdk-integ-tools/package.json b/tools/@aws-cdk/cdk-integ-tools/package.json index de5ad2cfed9fd..63683c233f7c1 100644 --- a/tools/@aws-cdk/cdk-integ-tools/package.json +++ b/tools/@aws-cdk/cdk-integ-tools/package.json @@ -49,7 +49,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "ubergen": { "exclude": true diff --git a/tools/@aws-cdk/cdk-release/package.json b/tools/@aws-cdk/cdk-release/package.json index d4c18f647a86a..7d8381e4cab6d 100644 --- a/tools/@aws-cdk/cdk-release/package.json +++ b/tools/@aws-cdk/cdk-release/package.json @@ -61,7 +61,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "ubergen": { "exclude": true diff --git a/tools/@aws-cdk/cfn2ts/lib/codegen.ts b/tools/@aws-cdk/cfn2ts/lib/codegen.ts index 07904d8fbccf1..893d923c282d7 100644 --- a/tools/@aws-cdk/cfn2ts/lib/codegen.ts +++ b/tools/@aws-cdk/cfn2ts/lib/codegen.ts @@ -4,10 +4,11 @@ import * as genspec from './genspec'; import { itemTypeNames, PropertyAttributeName, scalarTypeNames, SpecName } from './spec-utils'; import { upcaseFirst } from './util'; +const CONSTRUCTS = genspec.CONSTRUCTS_NAMESPACE; const CORE = genspec.CORE_NAMESPACE; const CFN_PARSE = genspec.CFN_PARSE_NAMESPACE; const RESOURCE_BASE_CLASS = `${CORE}.CfnResource`; // base class for all resources -const CONSTRUCT_CLASS = `${CORE}.Construct`; +const CONSTRUCT_CLASS = `${CONSTRUCTS}.Construct`; const TAG_TYPE = `${CORE}.TagType`; const TAG_MANAGER = `${CORE}.TagManager`; @@ -57,6 +58,7 @@ export default class CodeGenerator { this.code.line(); this.code.line('/* eslint-disable max-len */ // This is generated code - line lengths are difficult to control'); this.code.line(); + this.code.line(`import * as ${CONSTRUCTS} from 'constructs';`); this.code.line(`import * as ${CORE} from '${coreImport}';`); // import cfn-parse from an embedded folder inside @core, since it is not part of the public API of the module this.code.line(`import * as ${CFN_PARSE} from '${coreImport}/${coreImport === '.' ? '' : 'lib/'}helpers-internal';`); diff --git a/tools/@aws-cdk/cfn2ts/lib/genspec.ts b/tools/@aws-cdk/cfn2ts/lib/genspec.ts index 7f63778097d59..ed0da0655e7b2 100644 --- a/tools/@aws-cdk/cfn2ts/lib/genspec.ts +++ b/tools/@aws-cdk/cfn2ts/lib/genspec.ts @@ -9,6 +9,7 @@ import * as util from './util'; const RESOURCE_CLASS_PREFIX = 'Cfn'; +export const CONSTRUCTS_NAMESPACE = 'constructs'; export const CORE_NAMESPACE = 'cdk'; export const CFN_PARSE_NAMESPACE = 'cfn_parse'; diff --git a/tools/@aws-cdk/cfn2ts/package.json b/tools/@aws-cdk/cfn2ts/package.json index e71969df1d710..673ea38dd23ad 100644 --- a/tools/@aws-cdk/cfn2ts/package.json +++ b/tools/@aws-cdk/cfn2ts/package.json @@ -51,7 +51,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "ubergen": { "exclude": true diff --git a/tools/@aws-cdk/individual-pkg-gen/package.json b/tools/@aws-cdk/individual-pkg-gen/package.json index 73bf94371500c..8677a42135d37 100644 --- a/tools/@aws-cdk/individual-pkg-gen/package.json +++ b/tools/@aws-cdk/individual-pkg-gen/package.json @@ -42,7 +42,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "ubergen": { "exclude": true diff --git a/tools/@aws-cdk/pkglint/lib/rules.ts b/tools/@aws-cdk/pkglint/lib/rules.ts index 96e6260a568c5..c9403a48fd72c 100644 --- a/tools/@aws-cdk/pkglint/lib/rules.ts +++ b/tools/@aws-cdk/pkglint/lib/rules.ts @@ -1,6 +1,5 @@ import * as fs from 'fs'; import * as path from 'path'; -import { Bundle } from '@aws-cdk/node-bundle'; import * as caseUtils from 'case'; import * as glob from 'glob'; import * as semver from 'semver'; @@ -169,81 +168,6 @@ export class LicenseFile extends ValidationRule { } } -export class BundledCLI extends ValidationRule { - - private static readonly ALLOWED_LICENSES = [ - 'Apache-2.0', - 'MIT', - 'BSD-3-Clause', - 'ISC', - 'BSD-2-Clause', - '0BSD', - ]; - - private static readonly DONT_ATTRIBUTE = '^@aws-cdk\/|^cdk-assets$|^cdk-cli-wrapper$'; - - public readonly name = 'bundle'; - - public validate(pkg: PackageJson): void { - const bundleProps = pkg.json['cdk-package']?.bundle; - - if (!bundleProps) { - return; - } - - const validConfig = this.validateConfig(pkg, bundleProps); - if (validConfig) { - this.validateBundle(pkg, bundleProps); - } - } - - /** - * Validate package.json contains the necessary information for properly bundling the package. - * This will ensure that configuration can be safely used during packaging. - */ - private validateConfig(pkg: PackageJson, bundleProps: any): boolean { - let valid = true; - - if (bundleProps.allowedLicenses.join(',') !== BundledCLI.ALLOWED_LICENSES.join(',')) { - pkg.report({ - message: `'cdk-package.bundle.licenses' must be set to "${BundledCLI.ALLOWED_LICENSES}"`, - ruleName: `${this.name}/configuration`, - fix: () => pkg.json['cdk-package'].bundle.licenses = BundledCLI.ALLOWED_LICENSES, - }); - valid = false; - } - - if (bundleProps.dontAttribute !== BundledCLI.DONT_ATTRIBUTE) { - pkg.report({ - message: `'cdk-package.bundle.dontAttribute' must be set to "${BundledCLI.DONT_ATTRIBUTE}"`, - ruleName: `${this.name}/configuration`, - fix: () => pkg.json['cdk-package'].bundle.dontAttribute = BundledCLI.DONT_ATTRIBUTE, - }); - valid = false; - } - - return valid; - - } - - /** - * Validate the package is ready for bundling. - */ - private validateBundle(pkg: PackageJson, bundleProps: any) { - const bundle = new Bundle({ packageDir: pkg.packageRoot, ...bundleProps }); - const report = bundle.validate(); - - for (const violation of report.violations) { - pkg.report({ - message: violation.message, - ruleName: `${this.name}/${violation.type}`, - fix: violation.fix, - }); - } - - } -} - /** * There must be a NOTICE file. */ @@ -745,7 +669,7 @@ export class NoPeerDependenciesMonocdk extends ValidationRule { */ export class ConstructsVersion extends ValidationRule { public static readonly VERSION = cdkMajorVersion() === 2 - ? '10.0.0-pre.5' + ? '^10.0.0' : '^3.3.69'; public readonly name = 'deps/constructs'; @@ -1533,7 +1457,9 @@ export class ConstructsDependency extends ValidationRule { public validate(pkg: PackageJson) { const REQUIRED_VERSION = ConstructsVersion.VERSION;; - if (pkg.devDependencies?.constructs && pkg.devDependencies?.constructs !== REQUIRED_VERSION) { + // require a "constructs" dependency if there's a @aws-cdk/core dependency + const requiredDev = pkg.getDevDependency('@aws-cdk/core') && !pkg.getDevDependency('constructs'); + if (requiredDev || (pkg.devDependencies?.constructs && pkg.devDependencies?.constructs !== REQUIRED_VERSION)) { pkg.report({ ruleName: this.name, message: `"constructs" must have a version requirement ${REQUIRED_VERSION}`, @@ -1543,7 +1469,8 @@ export class ConstructsDependency extends ValidationRule { }); } - if (pkg.dependencies.constructs && pkg.dependencies.constructs !== REQUIRED_VERSION) { + const requiredDep = pkg.dependencies?.['@aws-cdk/core'] && !pkg.dependencies?.constructs; + if (requiredDep || (pkg.dependencies.constructs && pkg.dependencies.constructs !== REQUIRED_VERSION)) { pkg.report({ ruleName: this.name, message: `"constructs" must have a version requirement ${REQUIRED_VERSION}`, @@ -1701,7 +1628,8 @@ export class UbergenPackageVisibility extends ValidationRule { // The ONLY (non-alpha) packages that should be published for v2. // These include dependencies of the CDK CLI (aws-cdk). - private readonly publicPackages = [ + private readonly v2PublicPackages = [ + '@aws-cdk/assert', '@aws-cdk/cfnspec', '@aws-cdk/cloud-assembly-schema', '@aws-cdk/cloudformation-diff', @@ -1717,7 +1645,7 @@ export class UbergenPackageVisibility extends ValidationRule { public validate(pkg: PackageJson): void { if (cdkMajorVersion() === 2) { // Only alpha packages and packages in the publicPackages list should be "public". Everything else should be private. - if (this.publicPackages.includes(pkg.json.name) && pkg.json.private === true) { + if (this.v2PublicPackages.includes(pkg.json.name) && pkg.json.private === true) { pkg.report({ ruleName: this.name, message: 'Package must be public', @@ -1725,7 +1653,7 @@ export class UbergenPackageVisibility extends ValidationRule { delete pkg.json.private; }, }); - } else if (!this.publicPackages.includes(pkg.json.name) && pkg.json.private !== true && !pkg.packageName.endsWith('-alpha')) { + } else if (!this.v2PublicPackages.includes(pkg.json.name) && pkg.json.private !== true && !pkg.packageName.endsWith('-alpha')) { pkg.report({ ruleName: this.name, message: 'Package must not be public', diff --git a/tools/@aws-cdk/pkgtools/package.json b/tools/@aws-cdk/pkgtools/package.json index 5f17015287346..e2263a8db2467 100644 --- a/tools/@aws-cdk/pkgtools/package.json +++ b/tools/@aws-cdk/pkgtools/package.json @@ -46,7 +46,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "ubergen": { "exclude": true diff --git a/tools/@aws-cdk/ubergen/package.json b/tools/@aws-cdk/ubergen/package.json index 711943a779be9..ba97f42942f31 100644 --- a/tools/@aws-cdk/ubergen/package.json +++ b/tools/@aws-cdk/ubergen/package.json @@ -47,7 +47,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "ubergen": { "exclude": true diff --git a/tools/@aws-cdk/yarn-cling/package.json b/tools/@aws-cdk/yarn-cling/package.json index e75dfc6eb37f1..826e1a78ff538 100644 --- a/tools/@aws-cdk/yarn-cling/package.json +++ b/tools/@aws-cdk/yarn-cling/package.json @@ -55,7 +55,7 @@ ], "homepage": "https://github.com/aws/aws-cdk", "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" + "node": ">= 14.15.0" }, "nozem": { "ostools": [ diff --git a/version.v2.json b/version.v2.json new file mode 100644 index 0000000000000..83287cd0b7630 --- /dev/null +++ b/version.v2.json @@ -0,0 +1,4 @@ +{ + "version": "2.26.0", + "alphaVersion": "2.26.0-alpha.0" +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index f61d5a721188f..01cc113aae6a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3359,10 +3359,10 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control- resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -constructs@^3.3.69: - version "3.4.6" - resolved "https://registry.npmjs.org/constructs/-/constructs-3.4.6.tgz#a03f02f5a8a14a819e2a847e80c686d8472447d7" - integrity sha512-IiI20sw2W+9kofb1rrI46sAUpFKndhZjoD9XZV7BUDmZG3Di0GioleP2Q0hpCSuwtfTij3G5RrWPhS/3A3kb1w== +constructs@^10.0.0: + version "10.0.9" + resolved "https://registry.npmjs.org/constructs/-/constructs-10.0.9.tgz#fe724185e4288001850914e95cce2b32d848355f" + integrity sha512-C9la/fcnCKe3XIjKPbWuD49mnOYqSWdiMI6TNJmF0ao3pJw6Hap03Q4nsmCxpWMXuMzM546Kw/WnW7ElB3g4OA== conventional-changelog-angular@^5.0.12: version "5.0.13"