Skip to content

Commit 7ca8212

Browse files
authored
2 parents 2bb9d2f + d792ff3 commit 7ca8212

File tree

657 files changed

+17483
-11108
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

657 files changed

+17483
-11108
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
11

22
----
33

4+
### All Submissions:
5+
6+
* [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md)
7+
8+
### Adding new Unconventional Dependencies:
9+
10+
* [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md/#adding-new-unconventional-dependencies)
11+
12+
### New Features
13+
14+
* [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/master/INTEGRATION_TESTS.md)?
15+
* [ ] Did you use `cdk-integ` to deploy the infrastructure and generate the snapshot (i.e. `cdk-integ` without `--dry-run`)?
16+
417
*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*

.github/workflows/issue-label-assign.yml

Lines changed: 100 additions & 91 deletions
Large diffs are not rendered by default.

.github/workflows/pr-labeler.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
name: pr-labeler
44
on:
5-
pull_request:
6-
types: [ opened ]
5+
pull_request_target:
6+
types:
7+
- opened
8+
- edited
9+
- reopened
710

811
jobs:
912
auto-approve:
@@ -13,6 +16,16 @@ jobs:
1316
pull-requests: write
1417
issues: write
1518
steps:
16-
- run: gh pr edit ${{ github.event.pull_request.number }} --add-label "auto-approve" -R ${{ github.repository }}
17-
env:
18-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
- run: gh pr edit ${{ github.event.pull_request.number }} --add-label "auto-approve" -R ${{ github.repository }}
20+
env:
21+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22+
copy-labels:
23+
runs-on: ubuntu-latest
24+
permissions:
25+
pull-requests: write
26+
steps:
27+
- uses: kaizen3031593/pr-triage-manager@main
28+
with:
29+
github-token: ${{ secrets.GITHUB_TOKEN }}
30+
31+

.github/workflows/yarn-upgrade.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,19 @@ jobs:
2727
run: echo "::set-output name=dir::$(yarn cache dir)"
2828

2929
- name: Restore Yarn cache
30-
uses: actions/cache@v2.1.7
30+
uses: actions/cache@v3
3131
with:
3232
path: ${{ steps.yarn-cache.outputs.dir }}
3333
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
3434
restore-keys: |-
3535
${{ runner.os }}-yarn-
36+
- name: Yarn Install
37+
run: yarn install --frozen-lockfile
3638
- name: Install Tools
3739
run: |-
3840
npm -g install lerna npm-check-updates@^9.0.0
41+
- name: Build CLI
42+
run: cd packages/aws-cdk && ../../scripts/buildup
3943
- name: List Mono-Repo Packages
4044
id: list-packages
4145
# These need to be ignored from the `ncu` runs!
@@ -59,12 +63,16 @@ jobs:
5963
lerna exec --parallel ncu -- --upgrade --filter=@types/node,@types/fs-extra --target=minor
6064
lerna exec --parallel ncu -- --upgrade --filter=typescript --target=patch
6165
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
66+
6267
# This will ensure the current lockfile is up-to-date with the dependency specifications (necessary for "yarn update" to run)
6368
- name: Run "yarn install"
6469
run: yarn install
6570

6671
- name: Run "yarn upgrade"
6772
run: yarn upgrade
73+
74+
- name: Regenerate CLI attributions
75+
run: cd packages/aws-cdk && yarn pkglint
6876

6977
# Next, create and upload the changes as a patch file. This will later be downloaded to create a pull request
7078
# Creating a pull request requires write permissions and it's best to keep write privileges isolated.

.mergify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pull_request_rules:
1010
label:
1111
add: [ contribution/core ]
1212
conditions:
13-
- author~=^(eladb|RomainMuller|garnaat|nija-at|skinny85|rix0rrr|NGL321|Jerry-AWS|MrArnoldPalmer|NetaNir|iliapolo|njlynch|ericzbeard|ccfife|fulghum|pkandasamy91|SoManyHs|uttarasridhar|otaviomacedo|BenChaimberg|madeline-k|BryanPan342|kaizen3031593|comcalvi|Chriscbr|corymhall|peterwoodworth|ryparker|TheRealAmazonKendra)$
13+
- author~=^(eladb|RomainMuller|garnaat|nija-at|skinny85|rix0rrr|NGL321|Jerry-AWS|MrArnoldPalmer|NetaNir|iliapolo|njlynch|ericzbeard|ccfife|fulghum|pkandasamy91|SoManyHs|uttarasridhar|otaviomacedo|BenChaimberg|madeline-k|BryanPan342|kaizen3031593|comcalvi|Chriscbr|corymhall|peterwoodworth|ryparker|TheRealAmazonKendra|yuth)$
1414
- -label~="contribution/core"
1515
- name: automatic merge
1616
actions:

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,33 @@
22

33
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.
44

5+
## [1.150.0](https://github.com/aws/aws-cdk/compare/v1.149.0...v1.150.0) (2022-03-26)
6+
7+
8+
### Features
9+
10+
* cloudformation spec v62.0.0 ([#19553](https://github.com/aws/aws-cdk/issues/19553)) ([0352dee](https://github.com/aws/aws-cdk/commit/0352deedb445f070ed0cd27406a75872fb71ea53))
11+
* **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)
12+
* **autoscaling:** support warm pools ([#19214](https://github.com/aws/aws-cdk/issues/19214)) ([737e611](https://github.com/aws/aws-cdk/commit/737e611577c97b6ad01eaeb05fc544258a9de5ad))
13+
* **cfnspec:** cloudformation spec v61.0.0 ([#19457](https://github.com/aws/aws-cdk/issues/19457)) ([16d7552](https://github.com/aws/aws-cdk/commit/16d7552683ea05ea1a24b214b925836dcb72871d))
14+
* **cli:** support SSO ([#19454](https://github.com/aws/aws-cdk/issues/19454)) ([eba6052](https://github.com/aws/aws-cdk/commit/eba6052e1c8011d7163c782e669e86f5d2fd44d0))
15+
* **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)
16+
* **ec2:** add support for x2iezn instances ([#19517](https://github.com/aws/aws-cdk/issues/19517)) ([8f6e20e](https://github.com/aws/aws-cdk/commit/8f6e20e5a070fc3ac2c234013b915315a0e7dcfb))
17+
* **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)
18+
19+
20+
### Bug Fixes
21+
22+
* **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))
23+
* **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)
24+
* **cli:** templates don't include `.gitignore` ([#19482](https://github.com/aws/aws-cdk/issues/19482)) ([5ce0983](https://github.com/aws/aws-cdk/commit/5ce0983955628c5119340d659abf0201da58bcb6))
25+
* **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)
26+
* **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)
27+
* **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)
28+
* **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)
29+
* **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)
30+
* **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)
31+
532
## [1.149.0](https://github.com/aws/aws-cdk/compare/v1.148.0...v1.149.0) (2022-03-17)
633

734

CONTRIBUTING.md

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,17 @@ Integration tests perform a few functions in the CDK code base -
234234
3. (Optionally) Acts as a way to validate that constructs set up the CloudFormation resources as expected. A successful
235235
CloudFormation deployment does not mean that the resources are set up correctly.
236236

237-
If you are working on a new feature that is using previously unused CloudFormation resource types, or involves
238-
configuring resource types across services, you need to write integration tests that use these resource types or
239-
features.
237+
**When are integration tests required?**
238+
239+
The following list contains common scenarios where we _know_ that integration tests are required.
240+
This is not an exhaustive list and we will, by default, require integration tests for all
241+
new features unless there is a good reason why one is not needed.
242+
243+
1. Adding a new feature that is using previously unused CloudFormation resource types
244+
2. Adding a new feature that is using previously unused (or untested) CloudFormation properties
245+
3. Involves configuring resource types across services (i.e. integrations)
246+
4. Adding a new supported version (e.g. a new [AuroraMysqlEngineVersion](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.AuroraMysqlEngineVersion.html))
247+
5. Adding any functionality via a [Custom Resource](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.custom_resources-readme.html)
240248

241249
To the extent possible, include a section (like below) in the integration test file that specifies how the successfully
242250
deployed stack can be verified for correctness. Correctness here implies that the resources have been set up correctly.
@@ -254,6 +262,16 @@ Examples:
254262
* [integ.destinations.ts](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-lambda-destinations/test/integ.destinations.ts#L7)
255263
* [integ.token-authorizer.lit.ts](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-apigateway/test/authorizers/integ.token-authorizer.lit.ts#L7-L12)
256264

265+
**What do do if you cannot run integration tests**
266+
267+
If you are working on a PR that requires an update to an integration test and you are unable
268+
to run the `cdk-integ` tool to perform a real deployment, please call this out on the pull request
269+
so a maintainer can run the tests for you. Please **do not** run the `cdk-integ` tool with `--dry-run`
270+
or manually update the snapshot.
271+
272+
See the [integration test guide](./INTEGRATION_TESTS.md) for a more complete guide on running
273+
CDK integration tests.
274+
257275
#### yarn watch (Optional)
258276

259277
We've added a watch feature to the CDK that builds your code as you type it. Start this by running `yarn watch` for
@@ -292,6 +310,8 @@ $ yarn watch & # runs in the background
292310

293311
* Shout out to collaborators.
294312

313+
* Call out any new [unconventional dependencies](#adding-new-unconventional-dependencies) that are created as part of your PR.
314+
295315
* If not obvious (i.e. from unit tests), describe how you verified that your change works.
296316

297317
* If this PR includes breaking changes, they must be listed at the end in the following format
@@ -312,6 +332,30 @@ $ yarn watch & # runs in the background
312332
* Make sure to update the PR title/description if things change. The PR title/description are going to be used as the
313333
commit title/message and will appear in the CHANGELOG, so maintain them all the way throughout the process.
314334

335+
#### Adding new unconventional dependencies
336+
337+
**For the aws-cdk an unconventional dependency is defined as any dependency that is not managed via the module's
338+
`package.json` file.**
339+
340+
Sometimes constructs introduce new unconventional dependencies. Any new unconventional dependency that is introduced needs to have
341+
an auto upgrade process in place. The recommended way to update dependencies is through [dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates).
342+
You can find the dependabot config file [here](./.github/dependabot.yml).
343+
344+
An example of this is the [@aws-cdk/lambda-layer-awscli](packages/@aws-cdk/lambda-layer-awscli) module.
345+
This module creates a lambda layer that bundles the AWS CLI. This is considered an unconventional
346+
dependency because the AWS CLI is bundled into the CDK as part of the build, and the version
347+
of the AWS CLI that is bundled is not managed by the `package.json` file.
348+
349+
In order to automatically update the version of the AWS CLI, a custom build process was
350+
created that takes upgrades into consideration. You can take a look at the files in
351+
[packages/@aws-cdk/lambda-layer-awscli/layer](packages/@aws-cdk/lambda-layer-awscli/layer)
352+
to see how the build works, but at a high level a [requirements.txt](packages/@aws-cdk/lambda-layer-awscli/layer/requirements.txt)
353+
file was created to manage the version. This file was then added to [dependabot.yml](https://github.com/aws/aws-cdk/blob/ab57eb6d1ed69b40ed6ec774853c275785acace8/.github/dependabot.yml#L14-L20)
354+
so that dependabot will automatically upgrade the version as new versions are released.
355+
356+
**If you think your PR introduces a new unconventional dependency, make sure to call it
357+
out in the description so that we can discuss the best way to manage that dependency.**
358+
315359
### Step 5: Merge
316360

317361
* Make sure your PR builds successfully (we have CodeBuild setup to automatically build all PRs).
@@ -343,6 +387,7 @@ Breaking changes come in two flavors:
343387
* API surface changes
344388
* Behavior changes
345389

390+
346391
### API surface changes
347392

348393
This encompasses any changes that affect the shape of the API. Changes that

0 commit comments

Comments
 (0)