Skip to content

Commit 4c77925

Browse files
authored
2 parents 151055e + c2748da commit 4c77925

File tree

305 files changed

+4274
-752
lines changed

Some content is hidden

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

305 files changed

+4274
-752
lines changed

.github/workflows/cr-checklist.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
name: Creates a checklist for PRs that contain changes to custom resources
1010
steps:
1111
- name: Checkout repo
12-
uses: actions/checkout@v2
12+
uses: actions/checkout@v3
1313
- name: Dynamic checklist action
1414
uses: vishalsinha21/dynamic-checklist@v1
1515
with:

.github/workflows/pr-linter.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
steps:
2222

2323
- name: Checkout
24-
uses: actions/checkout@v2
24+
uses: actions/checkout@v3
2525

2626
- name: Install & Build prlint
2727
run: yarn install --frozen-lockfile && cd tools/@aws-cdk/prlint && yarn build+test

.github/workflows/v2-pull-request.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
runs-on: ubuntu-latest
2424
steps:
2525
- name: checkout
26-
uses: actions/checkout@v2
26+
uses: actions/checkout@v3
2727
with:
2828
branch: ${{ github.event.pull_request.head.ref }}
2929
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/yarn-upgrade.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
steps:
1616

1717
- name: Check Out
18-
uses: actions/checkout@v2
18+
uses: actions/checkout@v3
1919

2020
- name: Set up Node
2121
uses: actions/setup-node@v3
@@ -87,7 +87,7 @@ jobs:
8787
runs-on: ubuntu-latest
8888
steps:
8989
- name: Check Out
90-
uses: actions/checkout@v2
90+
uses: actions/checkout@v3
9191

9292
- name: Download patch
9393
uses: actions/download-artifact@v2

CHANGELOG.md

+29
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,35 @@
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.147.0](https://github.com/aws/aws-cdk/compare/v1.146.0...v1.147.0) (2022-03-01)
6+
7+
8+
### Features
9+
10+
* **cfnspec:** cloudformation spec v58.0.0 ([#19153](https://github.com/aws/aws-cdk/issues/19153)) ([a6b0a10](https://github.com/aws/aws-cdk/commit/a6b0a1018694a0696ed27635d4def5d1630b8f9a))
11+
* **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))
12+
* **ec2:** add c6a instances ([#19113](https://github.com/aws/aws-cdk/issues/19113)) ([427cdfd](https://github.com/aws/aws-cdk/commit/427cdfde5e8c48ed7c1f86b275ccb2516a901239))
13+
14+
15+
### Bug Fixes
16+
17+
* **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)
18+
* **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)
19+
* **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)
20+
* **cli:** cdk version displays notices ([#19181](https://github.com/aws/aws-cdk/issues/19181)) ([fa16f7a](https://github.com/aws/aws-cdk/commit/fa16f7a9c11981da75e44ffc83adcdc6edad94fc))
21+
* **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))
22+
* **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))
23+
* **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)
24+
* **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)
25+
* **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))
26+
* **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))
27+
* **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)
28+
* **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)
29+
* 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)
30+
* **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)
31+
* 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))
32+
* **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)
33+
534
## [1.146.0](https://github.com/aws/aws-cdk/compare/v1.145.0...v1.146.0) (2022-02-24)
635

736

CHANGELOG.v2.alpha.md

+17
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
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+
## [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)
6+
7+
8+
### Features
9+
10+
* **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)
11+
* **iotevents:** support actions ([#18869](https://github.com/aws/aws-cdk/issues/18869)) ([e01654e](https://github.com/aws/aws-cdk/commit/e01654e792708ee283d7a31e1370d0d1ae383171))
12+
* **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))
13+
* **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))
14+
15+
16+
### Bug Fixes
17+
18+
* **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))
19+
* **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)
20+
* **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)
21+
522
## [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)
623

724

CHANGELOG.v2.md

+27
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+
## [2.16.0](https://github.com/aws/aws-cdk/compare/v2.15.0...v2.16.0) (2022-03-11)
6+
7+
8+
### Features
9+
10+
* **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)
11+
* **cfnspec:** cloudformation spec v59.0.0 ([#19236](https://github.com/aws/aws-cdk/issues/19236)) ([f46a14d](https://github.com/aws/aws-cdk/commit/f46a14da9bec1aad7096b62666cb80ce42f04b53))
12+
* **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)
13+
* **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)
14+
* **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))
15+
* **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)
16+
* **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)
17+
18+
19+
### Bug Fixes
20+
21+
* **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)
22+
* **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))
23+
* **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)
24+
* **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)
25+
* **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))
26+
* **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)
27+
* **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)
28+
* **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)
29+
* **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)
30+
* **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)
31+
532
## [2.15.0](https://github.com/aws/aws-cdk/compare/v2.14.0...v2.15.0) (2022-03-01)
633

734

packages/@aws-cdk/aws-apigateway/README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Other metadata such as billing details, AWS account ID and resource ARNs are not
126126

127127
By default, a `prod` stage is provisioned.
128128

129-
In order to reduce the payload size sent to AWS Step Functions, `headers` are not forwarded to the Step Functions execution input. It is possible to choose whether `headers`, `requestContext`, `path` and `querystring` are included or not. By default, `headers` are excluded in all requests.
129+
In order to reduce the payload size sent to AWS Step Functions, `headers` are not forwarded to the Step Functions execution input. It is possible to choose whether `headers`, `requestContext`, `path`, `querystring`, and `authorizer` are included or not. By default, `headers` are excluded in all requests.
130130

131131
More details about AWS Step Functions payload limit can be found at https://docs.aws.amazon.com/step-functions/latest/dg/limits-overview.html#service-limits-task-executions.
132132

@@ -184,7 +184,7 @@ AWS Step Functions will receive the following execution input:
184184
}
185185
```
186186

187-
Additional information around the request such as the request context and headers can be included as part of the input
187+
Additional information around the request such as the request context, authorizer context, and headers can be included as part of the input
188188
forwarded to the state machine. The following example enables headers to be included in the input but not query string.
189189

190190
```ts fixture=stepfunctions
@@ -193,6 +193,7 @@ new apigateway.StepFunctionsRestApi(this, 'StepFunctionsRestApi', {
193193
headers: true,
194194
path: false,
195195
querystring: false,
196+
authorizer: false,
196197
requestContext: {
197198
caller: true,
198199
user: true,

packages/@aws-cdk/aws-apigateway/lib/integrations/stepfunctions.ts

+17-1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,20 @@ export interface StepFunctionsExecutionIntegrationOptions extends IntegrationOpt
6868
* @default false
6969
*/
7070
readonly headers?: boolean;
71+
72+
/**
73+
* If the whole authorizer object, including custom context values should be in the execution input. The execution input will include a new key `authorizer`:
74+
*
75+
* {
76+
* "body": {},
77+
* "authorizer": {
78+
* "key": "value"
79+
* }
80+
* }
81+
*
82+
* @default false
83+
*/
84+
readonly authorizer?: boolean;
7185
}
7286

7387
/**
@@ -189,7 +203,7 @@ function integrationResponse() {
189203
'#if($input.path(\'$.status\').toString().equals("FAILED"))',
190204
'#set($context.responseOverride.status = 500)',
191205
'{',
192-
'"error": "$input.path(\'$.error\')"',
206+
'"error": "$input.path(\'$.error\')",',
193207
'"cause": "$input.path(\'$.cause\')"',
194208
'}',
195209
'#else',
@@ -241,6 +255,7 @@ function templateString(
241255
const includeHeader = options.headers?? false;
242256
const includeQueryString = options.querystring?? true;
243257
const includePath = options.path?? true;
258+
const includeAuthorizer = options.authorizer ?? false;
244259

245260
if (options.requestContext && Object.keys(options.requestContext).length > 0) {
246261
requestContextStr = requestContext(options.requestContext);
@@ -251,6 +266,7 @@ function templateString(
251266
templateStr = templateStr.replace('%INCLUDE_HEADERS%', String(includeHeader));
252267
templateStr = templateStr.replace('%INCLUDE_QUERYSTRING%', String(includeQueryString));
253268
templateStr = templateStr.replace('%INCLUDE_PATH%', String(includePath));
269+
templateStr = templateStr.replace('%INCLUDE_AUTHORIZER%', String(includeAuthorizer));
254270
templateStr = templateStr.replace('%REQUESTCONTEXT%', requestContextStr);
255271

256272
return templateStr;

packages/@aws-cdk/aws-apigateway/lib/integrations/stepfunctions.vtl

+12
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#set($includeHeaders = %INCLUDE_HEADERS%)
1010
#set($includeQueryString = %INCLUDE_QUERYSTRING%)
1111
#set($includePath = %INCLUDE_PATH%)
12+
#set($includeAuthorizer = %INCLUDE_AUTHORIZER%)
1213
#set($allParams = $input.params())
1314
{
1415
"stateMachineArn": "%STATEMACHINE%",
@@ -49,6 +50,17 @@
4950
#set($inputString = "$inputString }")
5051
#end
5152

53+
#if ($includeAuthorizer)
54+
#set($inputString = "$inputString, @@authorizer@@:{")
55+
#foreach($paramName in $context.authorizer.keySet())
56+
#set($inputString = "$inputString @@$paramName@@: @@$util.escapeJavaScript($context.authorizer.get($paramName))@@")
57+
#if($foreach.hasNext)
58+
#set($inputString = "$inputString,")
59+
#end
60+
#end
61+
#set($inputString = "$inputString }")
62+
#end
63+
5264
#set($requestContext = "%REQUESTCONTEXT%")
5365
## Check if the request context should be included as part of the execution input
5466
#if($requestContext && !$requestContext.empty)

packages/@aws-cdk/aws-apigateway/lib/stepfunctions-api.ts

+21-6
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import { Model } from './model';
1111
*
1212
*/
1313
export interface StepFunctionsRestApiProps extends RestApiProps {
14-
/**
15-
* The default State Machine that handles all requests from this API.
16-
*
17-
* This stateMachine will be used as a the default integration for all methods in
18-
* this API, unless specified otherwise in `addMethod`.
19-
*/
14+
/**
15+
* The default State Machine that handles all requests from this API.
16+
*
17+
* This stateMachine will be used as a the default integration for all methods in
18+
* this API, unless specified otherwise in `addMethod`.
19+
*/
2020
readonly stateMachine: sfn.IStateMachine;
2121

2222
/**
@@ -75,6 +75,20 @@ export interface StepFunctionsRestApiProps extends RestApiProps {
7575
* @default false
7676
*/
7777
readonly headers?: boolean;
78+
79+
/**
80+
* If the whole authorizer object, including custom context values should be in the execution input. The execution input will include a new key `authorizer`:
81+
*
82+
* {
83+
* "body": {},
84+
* "authorizer": {
85+
* "key": "value"
86+
* }
87+
* }
88+
*
89+
* @default false
90+
*/
91+
readonly authorizer?: boolean;
7892
}
7993

8094
/**
@@ -96,6 +110,7 @@ export class StepFunctionsRestApi extends RestApi {
96110
path: props.path?? true,
97111
querystring: props.querystring?? true,
98112
headers: props.headers,
113+
authorizer: props.authorizer,
99114
});
100115

101116
super(scope, id, props);

0 commit comments

Comments
 (0)