Skip to content

Commit c63c35f

Browse files
authored
2 parents 3434840 + 38c6d52 commit c63c35f

File tree

117 files changed

+1524
-5516
lines changed

Some content is hidden

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

117 files changed

+1524
-5516
lines changed

CHANGELOG.md

+12-3
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,29 @@
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.151.0](https://github.com/aws/aws-cdk/compare/v1.150.0...v1.151.0) (2022-03-30)
5+
## [1.151.0](https://github.com/aws/aws-cdk/compare/v1.150.0...v1.151.0) (2022-03-31)
66

77

88
### Features
99

10-
* add new integration test runner ([#19529](https://github.com/aws/aws-cdk/issues/19529)) ([e7f43d1](https://github.com/aws/aws-cdk/commit/e7f43d1a3bb52bbf589d7472c9a9b89e3c1cc8c1))
1110
* **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))
1211
* **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)
12+
* **core:** add size.isUnresolved ([#19569](https://github.com/aws/aws-cdk/issues/19569)) ([ed26731](https://github.com/aws/aws-cdk/commit/ed26731a0a6263482d76441fc06e9607963ac838))
13+
* **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))
14+
* **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)
15+
* **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))
16+
* **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)
1317

1418

1519
### Bug Fixes
1620

17-
* **aws-cdk:** include nested stacks when building changesets ([#19494](https://github.com/aws/aws-cdk/issues/19494)) ([97cc8e2](https://github.com/aws/aws-cdk/commit/97cc8e29e155b222d553b1fe955a0302036feed5)), closes [#5722](https://github.com/aws/aws-cdk/issues/5722) [#17396](https://github.com/aws/aws-cdk/issues/17396) [#19224](https://github.com/aws/aws-cdk/issues/19224)
21+
* **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)
22+
* **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)
23+
* **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)
1824
* **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)
25+
* **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))
26+
* **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)
27+
* **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)
1928

2029
## [1.150.0](https://github.com/aws/aws-cdk/compare/v1.149.0...v1.150.0) (2022-03-26)
2130

allowed-breaking-changes.txt

+9-5
Original file line numberDiff line numberDiff line change
@@ -75,20 +75,20 @@ strengthened:@aws-cdk/aws-stepfunctions-tasks.BatchSubmitJobProps
7575
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.cluster
7676
strengthened:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps
7777

78-
# Remove IO2 from autoscaling EbsDeviceVolumeType. This value is not supported
78+
# Remove IO2 from autoscaling EbsDeviceVolumeType. This value is not supported
7979
# at the moment and was not supported in the past.
8080
removed:@aws-cdk/aws-autoscaling.EbsDeviceVolumeType.IO2
8181

8282
# Remove autoTerminationPolicy from stepfunctions-tasks EmrCreateClusterProps. This value is not supported by stepfunctions at the moment and was not supported in the past.
8383
removed:@aws-cdk/aws-stepfunctions-tasks.EmrCreateCluster.AutoTerminationPolicyProperty
8484
removed:@aws-cdk/aws-stepfunctions-tasks.EmrCreateClusterProps.autoTerminationPolicy
8585

86-
# Changed property securityGroupId to optional because either securityGroupId or
86+
# Changed property securityGroupId to optional because either securityGroupId or
8787
# securityGroupName is required. Therefore securityGroupId is no longer mandatory.
8888
weakened:@aws-cdk/cloud-assembly-schema.SecurityGroupContextQuery
8989

9090
# refactor autoscaling lifecycle hook target bind() methods to make role optional by
91-
# having bind() methods create the role if it isn't passed to them
91+
# having bind() methods create the role if it isn't passed to them
9292
incompatible-argument:@aws-cdk/aws-autoscaling-hooktargets.FunctionHook.bind
9393
incompatible-argument:@aws-cdk/aws-autoscaling-hooktargets.QueueHook.bind
9494
incompatible-argument:@aws-cdk/aws-autoscaling-hooktargets.TopicHook.bind
@@ -106,7 +106,7 @@ removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.maxRecord
106106
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.parallelizationFactor
107107
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.reportBatchItemFailures
108108
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.retryAttempts
109-
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.tumblingWindow
109+
removed:@aws-cdk/aws-lambda-event-sources.ManagedKafkaEventSourceProps.tumblingWindow
110110
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.bisectBatchOnError
111111
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.maxRecordAge
112112
removed:@aws-cdk/aws-lambda-event-sources.SelfManagedKafkaEventSourceProps.parallelizationFactor
@@ -125,4 +125,8 @@ changed-type:@aws-cdk/aws-elasticloadbalancingv2.NetworkLoadBalancer.vpc
125125
# removed methods and properties related to event bridge notifications for S3 buckets as they are not yet supported (19 Jan 2022)
126126
removed:@aws-cdk/aws-s3.Bucket.enableEventBridgeNotification
127127
removed:@aws-cdk/aws-s3.BucketBase.enableEventBridgeNotification
128-
removed:@aws-cdk/aws-s3.BucketProps.eventBridgeEnabled
128+
removed:@aws-cdk/aws-s3.BucketProps.eventBridgeEnabled
129+
130+
# changed the type of RDS's SnapshotCredentials.secret from Secret to ISecret,
131+
# shouldn't matter
132+
changed-type:@aws-cdk/aws-rds.SnapshotCredentials.secret

packages/@aws-cdk/aws-apigateway/lib/restapi.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -322,8 +322,11 @@ export abstract class RestApiBase extends Resource implements IRestApi {
322322
protected cloudWatchAccount?: CfnAccount;
323323

324324
constructor(scope: Construct, id: string, props: RestApiBaseProps = { }) {
325-
super(scope, id);
326-
this.restApiName = props.restApiName ?? id;
325+
const restApiName = props.restApiName ?? id;
326+
super(scope, id, {
327+
physicalName: restApiName,
328+
});
329+
this.restApiName = restApiName;
327330

328331
Object.defineProperty(this, RESTAPI_SYMBOL, { value: true });
329332
}
@@ -736,7 +739,7 @@ export class RestApi extends RestApiBase {
736739
super(scope, id, props);
737740

738741
const resource = new CfnRestApi(this, 'Resource', {
739-
name: this.restApiName,
742+
name: this.physicalName,
740743
description: props.description,
741744
policy: props.policy,
742745
failOnWarnings: props.failOnWarnings,

packages/@aws-cdk/aws-apigateway/lib/util.ts

-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ export class JsonSchemaMapper {
101101
private static readonly SchemaPropsWithPrefix: { [key: string]: string } = {
102102
schema: '$schema',
103103
ref: '$ref',
104-
id: '$id',
105104
};
106105
// The value indicates whether direct children should be key-mapped.
107106
private static readonly SchemaPropsWithUserDefinedChildren: { [key: string]: boolean } = {

packages/@aws-cdk/aws-apigateway/test/lambda-api.test.ts

+20
Original file line numberDiff line numberDiff line change
@@ -242,4 +242,24 @@ describe('lambda api', () => {
242242
],
243243
});
244244
});
245+
246+
test('LambdaRestApi allows passing GENERATE_IF_NEEDED as the physical name', () => {
247+
// GIVEN
248+
const stack = new cdk.Stack();
249+
250+
// WHEN
251+
new apigw.LambdaRestApi(stack, 'lambda-rest-api', {
252+
handler: new lambda.Function(stack, 'handler', {
253+
handler: 'index.handler',
254+
code: lambda.Code.fromInline('boom'),
255+
runtime: lambda.Runtime.NODEJS_10_X,
256+
}),
257+
restApiName: cdk.PhysicalName.GENERATE_IF_NEEDED,
258+
});
259+
260+
// THEN
261+
Template.fromStack(stack).hasResourceProperties('AWS::ApiGateway::RestApi', {
262+
Name: Match.absent(),
263+
});
264+
});
245265
});

packages/@aws-cdk/aws-apigateway/test/util.test.ts

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { JsonSchema, JsonSchemaType } from '../lib';
1+
import { JsonSchema, JsonSchemaType, JsonSchemaVersion } from '../lib';
22
import { JsonSchemaMapper, parseAwsApiCall, parseMethodOptionsPath } from '../lib/util';
33

44
describe('util', () => {
@@ -136,5 +136,18 @@ describe('util', () => {
136136
default: 'blue',
137137
});
138138
});
139+
140+
test('"id" maps to "id" when using DRAFT-04', () => {
141+
const schema: JsonSchema = {
142+
schema: JsonSchemaVersion.DRAFT4,
143+
id: 'http://json-schema.org/draft-04/schema#',
144+
};
145+
146+
const actual = JsonSchemaMapper.toCfnJsonSchema(schema);
147+
expect(actual).toEqual({
148+
$schema: 'http://json-schema.org/draft-04/schema#',
149+
id: 'http://json-schema.org/draft-04/schema#',
150+
});
151+
});
139152
});
140153
});

packages/@aws-cdk/aws-cognito/lib/user-pool.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -936,7 +936,7 @@ export class UserPool extends UserPoolBase {
936936
const capitalize = name.charAt(0).toUpperCase() + name.slice(1);
937937
fn.addPermission(`${capitalize}Cognito`, {
938938
principal: new ServicePrincipal('cognito-idp.amazonaws.com'),
939-
sourceArn: this.userPoolArn,
939+
sourceArn: Lazy.string({ produce: () => this.userPoolArn }),
940940
});
941941
}
942942

packages/@aws-cdk/aws-cognito/test/integ.user-pool-custom-sender.expected.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,13 @@
6060
"Arn"
6161
]
6262
},
63-
"Principal": "cognito-idp.amazonaws.com"
63+
"Principal": "cognito-idp.amazonaws.com",
64+
"SourceArn": {
65+
"Fn::GetAtt": [
66+
"pool056F3F7E",
67+
"Arn"
68+
]
69+
}
6470
}
6571
},
6672
"keyFEDD6EC0": {

packages/@aws-cdk/aws-cognito/test/integ.user-pool-explicit-props.expected.json

+70-10
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,13 @@
6161
"Arn"
6262
]
6363
},
64-
"Principal": "cognito-idp.amazonaws.com"
64+
"Principal": "cognito-idp.amazonaws.com",
65+
"SourceArn": {
66+
"Fn::GetAtt": [
67+
"myuserpool01998219",
68+
"Arn"
69+
]
70+
}
6571
}
6672
},
6773
"customMessageServiceRoleB4AE7F17": {
@@ -125,7 +131,13 @@
125131
"Arn"
126132
]
127133
},
128-
"Principal": "cognito-idp.amazonaws.com"
134+
"Principal": "cognito-idp.amazonaws.com",
135+
"SourceArn": {
136+
"Fn::GetAtt": [
137+
"myuserpool01998219",
138+
"Arn"
139+
]
140+
}
129141
}
130142
},
131143
"defineAuthChallengeServiceRole9E2D15DF": {
@@ -189,7 +201,13 @@
189201
"Arn"
190202
]
191203
},
192-
"Principal": "cognito-idp.amazonaws.com"
204+
"Principal": "cognito-idp.amazonaws.com",
205+
"SourceArn": {
206+
"Fn::GetAtt": [
207+
"myuserpool01998219",
208+
"Arn"
209+
]
210+
}
193211
}
194212
},
195213
"postAuthenticationServiceRole5B3B242A": {
@@ -253,7 +271,13 @@
253271
"Arn"
254272
]
255273
},
256-
"Principal": "cognito-idp.amazonaws.com"
274+
"Principal": "cognito-idp.amazonaws.com",
275+
"SourceArn": {
276+
"Fn::GetAtt": [
277+
"myuserpool01998219",
278+
"Arn"
279+
]
280+
}
257281
}
258282
},
259283
"postConfirmationServiceRole864BE5F9": {
@@ -317,7 +341,13 @@
317341
"Arn"
318342
]
319343
},
320-
"Principal": "cognito-idp.amazonaws.com"
344+
"Principal": "cognito-idp.amazonaws.com",
345+
"SourceArn": {
346+
"Fn::GetAtt": [
347+
"myuserpool01998219",
348+
"Arn"
349+
]
350+
}
321351
}
322352
},
323353
"preAuthenticationServiceRole9712F4D8": {
@@ -381,7 +411,13 @@
381411
"Arn"
382412
]
383413
},
384-
"Principal": "cognito-idp.amazonaws.com"
414+
"Principal": "cognito-idp.amazonaws.com",
415+
"SourceArn": {
416+
"Fn::GetAtt": [
417+
"myuserpool01998219",
418+
"Arn"
419+
]
420+
}
385421
}
386422
},
387423
"preSignUpServiceRole0A7E91EB": {
@@ -445,7 +481,13 @@
445481
"Arn"
446482
]
447483
},
448-
"Principal": "cognito-idp.amazonaws.com"
484+
"Principal": "cognito-idp.amazonaws.com",
485+
"SourceArn": {
486+
"Fn::GetAtt": [
487+
"myuserpool01998219",
488+
"Arn"
489+
]
490+
}
449491
}
450492
},
451493
"preTokenGenerationServiceRole430C3D14": {
@@ -509,7 +551,13 @@
509551
"Arn"
510552
]
511553
},
512-
"Principal": "cognito-idp.amazonaws.com"
554+
"Principal": "cognito-idp.amazonaws.com",
555+
"SourceArn": {
556+
"Fn::GetAtt": [
557+
"myuserpool01998219",
558+
"Arn"
559+
]
560+
}
513561
}
514562
},
515563
"userMigrationServiceRole091766B0": {
@@ -573,7 +621,13 @@
573621
"Arn"
574622
]
575623
},
576-
"Principal": "cognito-idp.amazonaws.com"
624+
"Principal": "cognito-idp.amazonaws.com",
625+
"SourceArn": {
626+
"Fn::GetAtt": [
627+
"myuserpool01998219",
628+
"Arn"
629+
]
630+
}
577631
}
578632
},
579633
"verifyAuthChallengeResponseServiceRole7077884C": {
@@ -637,7 +691,13 @@
637691
"Arn"
638692
]
639693
},
640-
"Principal": "cognito-idp.amazonaws.com"
694+
"Principal": "cognito-idp.amazonaws.com",
695+
"SourceArn": {
696+
"Fn::GetAtt": [
697+
"myuserpool01998219",
698+
"Arn"
699+
]
700+
}
641701
}
642702
},
643703
"myuserpoolsmsRole0E16FDD9": {

packages/@aws-cdk/aws-cognito/test/user-pool.test.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ describe('User Pool', () => {
335335
const fn = fooFunction(stack, 'preSignUp');
336336

337337
// WHEN
338-
new UserPool(stack, 'Pool', {
338+
const pool = new UserPool(stack, 'Pool', {
339339
lambdaTriggers: {
340340
preSignUp: fn,
341341
},
@@ -351,6 +351,7 @@ describe('User Pool', () => {
351351
Action: 'lambda:InvokeFunction',
352352
FunctionName: stack.resolve(fn.functionArn),
353353
Principal: 'cognito-idp.amazonaws.com',
354+
SourceArn: stack.resolve(pool.userPoolArn),
354355
});
355356
});
356357

@@ -362,7 +363,7 @@ describe('User Pool', () => {
362363
const smsFn = fooFunction(stack, 'customSmsSender');
363364

364365
// WHEN
365-
new UserPool(stack, 'Pool', {
366+
const pool = new UserPool(stack, 'Pool', {
366367
customSenderKmsKey: kmsKey,
367368
lambdaTriggers: {
368369
customEmailSender: emailFn,
@@ -387,11 +388,13 @@ describe('User Pool', () => {
387388
Action: 'lambda:InvokeFunction',
388389
FunctionName: stack.resolve(emailFn.functionArn),
389390
Principal: 'cognito-idp.amazonaws.com',
391+
SourceArn: stack.resolve(pool.userPoolArn),
390392
});
391393
Template.fromStack(stack).hasResourceProperties('AWS::Lambda::Permission', {
392394
Action: 'lambda:InvokeFunction',
393395
FunctionName: stack.resolve(smsFn.functionArn),
394396
Principal: 'cognito-idp.amazonaws.com',
397+
SourceArn: stack.resolve(pool.userPoolArn),
395398
});
396399
});
397400

@@ -479,6 +482,7 @@ describe('User Pool', () => {
479482
Action: 'lambda:InvokeFunction',
480483
FunctionName: stack.resolve(fn.functionArn),
481484
Principal: 'cognito-idp.amazonaws.com',
485+
SourceArn: stack.resolve(pool.userPoolArn),
482486
});
483487
});
484488
});
@@ -1760,4 +1764,4 @@ function fooFunction(scope: Construct, name: string): lambda.IFunction {
17601764

17611765
function fooKey(scope: Construct, name: string): kms.Key {
17621766
return new kms.Key(scope, name);
1763-
}
1767+
}

0 commit comments

Comments
 (0)