Skip to content

Commit e86602f

Browse files
chore(release): 1.74.0 (#11508)
See CHANGELOG
1 parent eb6f3a9 commit e86602f

File tree

153 files changed

+7241
-1440
lines changed

Some content is hidden

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

153 files changed

+7241
-1440
lines changed

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

+4
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ jobs:
2424
{"keywords":["[@aws-cdk/aws-amplify]","[aws-amplify]","[amplify]"],"labels":["@aws-cdk/aws-amplify"],"assignees":["MrArnoldPalmer"]},
2525
{"keywords":["[@aws-cdk/aws-apigateway]","[aws-apigateway]","[apigateway]","[api gateway]","[api-gateway]"],"labels":["@aws-cdk/aws-apigateway"],"assignees":["nija-at"]},
2626
{"keywords":["[@aws-cdk/aws-apigatewayv2]","[aws-apigatewayv2]","[apigatewayv2]","[apigateway v2]","[api-gateway-v2]"],"labels":["@aws-cdk/aws-apigatewayv2"],"assignees":["nija-at"]},
27+
{"keywords":["[@aws-cdk/aws-apigatewayv2-integrations]","[aws-apigatewayv2-integrations]","[apigatewayv2-integrations]","[apigateway v2 integrations]","[api-gateway-v2-integrations]"],"labels":["@aws-cdk/aws-apigatewayv2-integrations"],"assignees":["nija-at"]},
2728
{"keywords":["[@aws-cdk/aws-appconfig]","[aws-appconfig]","[appconfig]","[app config]","[app-config]"],"labels":["@aws-cdk/aws-appconfig"],"assignees":["MrArnoldPalmer"]},
2829
{"keywords":["[@aws-cdk/aws-appflow]","[aws-appflow]","[appflow]","[app flow]","[app-flow]"],"labels":["@aws-cdk/aws-appflow"],"assignees":["skinny85"]},
2930
{"keywords":["[@aws-cdk/aws-applicationautoscaling]","[aws-applicationautoscaling]","[applicationautoscaling]","[application autoscaling]","[application-autoscaling]"],"labels":["@aws-cdk/aws-applicationautoscaling"],"assignees":["NetaNir"]},
@@ -102,7 +103,9 @@ jobs:
102103
{"keywords":["[@aws-cdk/aws-iot1click]","[aws-iot1click]","[iot1click]","[iot 1click]"],"labels":["@aws-cdk/aws-iot1click"],"assignees":["shivlaks"]},
103104
{"keywords":["[@aws-cdk/aws-iotanalytics]","[aws-iotanalytics]","[iotanalytics]","[iot analytics]","[iot-analytics]"],"labels":["@aws-cdk/aws-iotanalytics"],"assignees":["shivlaks"]},
104105
{"keywords":["[@aws-cdk/aws-iotevents]","[aws-iotevents]","[iotevents]","[iot events]","[iot-events]"],"labels":["@aws-cdk/aws-iotevents"],"assignees":["shivlaks"]},
106+
{"keywords":["[@aws-cdk/aws-iotsitewise]","[aws-iotsitewise]","[iotsitewise]","[iot sitewise]","[iot-sitewise]","[iot-site-wise]","[iot site wise]"],"labels":["@aws-cdk/aws-iotsitewise"],"assignees":["shivlaks"]},
105107
{"keywords":["[@aws-cdk/aws-iotthingsgraph]","[aws-iotthingsgraph]","[iotthingsgraph]","[iot things graph]","[iot-things-graph]"],"labels":["@aws-cdk/aws-iotthingsgraph"],"assignees":["shivlaks"]},
108+
{"keywords":["[@aws-cdk/aws-ivs]","[aws-ivs]","[Interactive Video Service]","[ivs]"],"labels":["@aws-cdk/aws-ivs"],"assignees":["shivlaks"]},
106109
{"keywords":["[@aws-cdk/aws-kendra]","[aws-kendra]","[kendra]"],"labels":["@aws-cdk/aws-kendra"],"assignees":["shivlaks"]},
107110
{"keywords":["[@aws-cdk/aws-kinesis]","[aws-kinesis]","[kinesis]"],"labels":["@aws-cdk/aws-kinesis"],"assignees":["iliapolo"]},
108111
{"keywords":["[@aws-cdk/aws-kinesisanalytics]","[aws-kinesisanalytics]","[kinesisanalytics]","[kinesis analytics]","[kinesis-analytics]"],"labels":["@aws-cdk/aws-kinesisanalytics"],"assignees":["iliapolo"]},
@@ -120,6 +123,7 @@ jobs:
120123
{"keywords":["[@aws-cdk/aws-mediaconvert]","[aws-mediaconvert]","[mediaconvert]","[media convert]","[media-convert]"],"labels":["@aws-cdk/aws-mediaconvert"],"assignees":["shivlaks"]},
121124
{"keywords":["[@aws-cdk/aws-medialive]","[aws-medialive]","[medialive]","[media live]","[media-live]"],"labels":["@aws-cdk/aws-medialive"],"assignees":["shivlaks"]},
122125
{"keywords":["[@aws-cdk/aws-mediastore]","[aws-mediastore]","[mediastore]","[media store]","[media-store]"],"labels":["@aws-cdk/aws-mediastore"],"assignees":["shivlaks"]},
126+
{"keywords":["[@aws-cdk/aws-mediapackage]","[aws-mediapackage]","[mediapackage]","[media package]","[media-package]"],"labels":["@aws-cdk/aws-mediapackage"],"assignees":["shivlaks"]},
123127
{"keywords":["[@aws-cdk/aws-msk]","[aws-msk]","[msk]"],"labels":["@aws-cdk/aws-msk"],"assignees":["iliapolo"]},
124128
{"keywords":["[@aws-cdk/aws-neptune]","[aws-neptune]","[neptune]"],"labels":["@aws-cdk/aws-neptune"],"assignees":["njlynch"]},
125129
{"keywords":["[@aws-cdk/aws-networkmanager]","[aws-networkmanager]","[networkmanager]","[network manager]","[network-manager]"],"labels":["@aws-cdk/aws-networkmanager"],"assignees":["shivlaks"]},

CHANGELOG.md

+36-1
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,48 @@
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.74.0](https://github.com/aws/aws-cdk/compare/v1.73.0...v1.74.0) (2020-11-17)
6+
7+
8+
### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES
9+
10+
* **appmesh:** `IVirtualNode` no longer has the `addBackends()` method. A backend can be added to `VirtualNode` using the `addBackend()` method which accepts a single `IVirtualService`
11+
* **appmesh**: `IVirtualNode` no longer has the `addListeners()` method. A listener can be added to `VirtualNode` using the `addListener()` method which accepts a single `VirtualNodeListener`
12+
* **appmesh**: `VirtualNode` no longer has a default listener. It is valid to have a `VirtualNode` without any listeners
13+
* **appmesh**: the construction property `listener` of `VirtualNode` has been renamed to `listeners`, and its type changed to an array of listeners
14+
* **appmesh**: the struct `VirtualNodeListener` has been removed. To create Virtual Node listeners, use the static factory methods of the `VirtualNodeListener` class
15+
16+
### Features
17+
18+
* **applicationautoscaling:** Add KAFKA to ServiceNamespace ([#11394](https://github.com/aws/aws-cdk/issues/11394)) ([b5c3f84](https://github.com/aws/aws-cdk/commit/b5c3f84c8be855107d3ea6738bbf8511f2ecdb8e))
19+
* **appmesh:** add listener timeout to Virtual Nodes ([#10793](https://github.com/aws/aws-cdk/issues/10793)) ([62baa7b](https://github.com/aws/aws-cdk/commit/62baa7b51b49c1a669c7144e5883375fe9ab5d35))
20+
* **cfnspec:** cloudformation spec v20.0.0 ([#11319](https://github.com/aws/aws-cdk/issues/11319)) ([8c17a35](https://github.com/aws/aws-cdk/commit/8c17a35746271d38289f6e200aea35b201b8a93d))
21+
* **cfnspec:** cloudformation spec v20.2.0 ([#11429](https://github.com/aws/aws-cdk/issues/11429)) ([025992b](https://github.com/aws/aws-cdk/commit/025992b0014aca493a669be518f4f423d3f39a57))
22+
* **codepipeline-actions:** Add deployment timeout to EcsDeployAction ([#11407](https://github.com/aws/aws-cdk/issues/11407)) ([7d9d575](https://github.com/aws/aws-cdk/commit/7d9d5757db2acedb507da8bb84c65cc06d018b91))
23+
* **core:** add easy importValue to CfnOutput ([#11368](https://github.com/aws/aws-cdk/issues/11368)) ([c71a4e9](https://github.com/aws/aws-cdk/commit/c71a4e9644fdd64fa00a6d804c921b32bd1816d1)), closes [#11360](https://github.com/aws/aws-cdk/issues/11360)
24+
* **ecs:** secret JSON field for Fargate tasks ([#11348](https://github.com/aws/aws-cdk/issues/11348)) ([03e7cd5](https://github.com/aws/aws-cdk/commit/03e7cd5ebaf07be22f8fff8edacbc384989ebf7c)), closes [/github.com/aws/containers-roadmap/issues/385#issuecomment-722696672](https://github.com/aws//github.com/aws/containers-roadmap/issues/385/issues/issuecomment-722696672) [#11341](https://github.com/aws/aws-cdk/issues/11341)
25+
* **efs:** import access point - `fromAccessPointAttributes()` ([#10712](https://github.com/aws/aws-cdk/issues/10712)) ([ec72c85](https://github.com/aws/aws-cdk/commit/ec72c859c31a069406994433fe430f56ff0e5ff3))
26+
* **iam:** specify initial PolicyDocument for inline Policy ([#11430](https://github.com/aws/aws-cdk/issues/11430)) ([a8c4f17](https://github.com/aws/aws-cdk/commit/a8c4f178e08cef4f306f54976076c21de2252a55)), closes [#11236](https://github.com/aws/aws-cdk/issues/11236)
27+
* **logs:** Add KMS key support to LogGroup ([#11363](https://github.com/aws/aws-cdk/issues/11363)) ([21ccfce](https://github.com/aws/aws-cdk/commit/21ccfce514e10cfcdde36148b45f085d3494c540)), closes [#11211](https://github.com/aws/aws-cdk/issues/11211)
28+
* **stepfunctions-tasks:** support overriding all properties of CodeBuild StartBuild integration ([#10356](https://github.com/aws/aws-cdk/issues/10356)) ([58efbad](https://github.com/aws/aws-cdk/commit/58efbad743464439ce8eb97a6c6c3e07b531d93c)), closes [#10302](https://github.com/aws/aws-cdk/issues/10302)
29+
30+
31+
### Bug Fixes
32+
33+
* **autoscaling:** `targetRequestsPerSecond` is actually requests per minute ([#11457](https://github.com/aws/aws-cdk/issues/11457)) ([39e277f](https://github.com/aws/aws-cdk/commit/39e277f65666e96fe1ad662254327967f666dbad)), closes [#11446](https://github.com/aws/aws-cdk/issues/11446)
34+
* **core:** missing context in Stages is not filled by CLI ([#11461](https://github.com/aws/aws-cdk/issues/11461)) ([a4a555a](https://github.com/aws/aws-cdk/commit/a4a555a9f5e8844a377d8de5041219346d0eb65c)), closes [#9226](https://github.com/aws/aws-cdk/issues/9226)
35+
* **lambda:** failed to add permission to an imported lambda from another account ([#11369](https://github.com/aws/aws-cdk/issues/11369)) ([715a030](https://github.com/aws/aws-cdk/commit/715a0300ea44c7cfcb6ae9973bd4ca16585c8fa5)), closes [#11278](https://github.com/aws/aws-cdk/issues/11278) [#11141](https://github.com/aws/aws-cdk/issues/11141) [#11141](https://github.com/aws/aws-cdk/issues/11141)
36+
* **pipelines:** synthesizes incorrect paths on Windows ([#11464](https://github.com/aws/aws-cdk/issues/11464)) ([2ca31a8](https://github.com/aws/aws-cdk/commit/2ca31a87a8cbf0c5267b3d3b39c8dc75b142488e)), closes [#11359](https://github.com/aws/aws-cdk/issues/11359) [#11405](https://github.com/aws/aws-cdk/issues/11405) [#11424](https://github.com/aws/aws-cdk/issues/11424)
37+
* **stepfunctions-tasks:** encryption is required for AthenaStartQueryExecution ([#11355](https://github.com/aws/aws-cdk/issues/11355)) ([f26a592](https://github.com/aws/aws-cdk/commit/f26a592e609674d528990aad14fb8884112ad64d))
38+
* **stepfunctions-tasks:** incorrect policy for Athena prevents database deletions ([#11427](https://github.com/aws/aws-cdk/issues/11427)) ([58e6576](https://github.com/aws/aws-cdk/commit/58e6576a90f722929495b7cd9f1d67f93bf9c31e)), closes [#11357](https://github.com/aws/aws-cdk/issues/11357)
39+
540
## [1.73.0](https://github.com/aws/aws-cdk/compare/v1.72.0...v1.73.0) (2020-11-11)
641

742

843
### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES
944

1045
* **apigatewayv2:** `LambdaProxyIntegration` and `HttpProxyIntegration`
11-
classes have moved to the `@aws-cdk/aws-apigatewayv2-integration` module.
46+
classes have moved to the `@aws-cdk/aws-apigatewayv2-integrations` module.
1247
* **appmesh:** VirtualRouter's Listeners are no longer a struct; use the static factory methods of the `VirtualNodeListener` class to obtain instances of them
1348
* **appmesh:** VirtualRouter accepts a list of listeners instead of a single listener
1449
* **appmesh:** all `fromResourceName()` methods in the AppMesh module have been replaced with `fromResourceAttributes()`

packages/@aws-cdk-containers/ecs-service-extensions/README.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
<!--BEGIN STABILITY BANNER-->
33
---
44

5-
![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)
6-
7-
> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.
5+
![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge)
86

97
---
108
<!--END STABILITY BANNER-->

packages/@aws-cdk-containers/ecs-service-extensions/lib/extensions/appmesh.ts

+18-7
Original file line numberDiff line numberDiff line change
@@ -259,17 +259,28 @@ export class AppMeshExtension extends ServiceExtension {
259259
throw new Error('You must add a CloudMap namespace to the ECS cluster in order to use the AppMesh extension');
260260
}
261261

262+
function addListener(protocol: appmesh.Protocol, port: number): appmesh.VirtualNodeListener {
263+
switch (protocol) {
264+
case appmesh.Protocol.HTTP :
265+
return appmesh.VirtualNodeListener.http({ port });
266+
267+
case appmesh.Protocol.HTTP2 :
268+
return appmesh.VirtualNodeListener.http2({ port });
269+
270+
case appmesh.Protocol.GRPC :
271+
return appmesh.VirtualNodeListener.grpc({ port });
272+
273+
case appmesh.Protocol.TCP :
274+
return appmesh.VirtualNodeListener.tcp({ port });
275+
}
276+
}
277+
262278
// Create a virtual node for the name service
263279
this.virtualNode = new appmesh.VirtualNode(this.scope, `${this.parentService.id}-virtual-node`, {
264280
mesh: this.mesh,
265281
virtualNodeName: this.parentService.id,
266282
cloudMapService: service.cloudMapService,
267-
listener: {
268-
portMapping: {
269-
port: containerextension.trafficPort,
270-
protocol: this.protocol,
271-
},
272-
},
283+
listeners: [addListener(this.protocol, containerextension.trafficPort)],
273284
});
274285

275286
// Create a virtual router for this service. This allows for retries
@@ -326,7 +337,7 @@ export class AppMeshExtension extends ServiceExtension {
326337
// Next update the app mesh config so that the local Envoy
327338
// proxy on this service knows how to route traffic to
328339
// nodes from the other service.
329-
this.virtualNode.addBackends(otherAppMesh.virtualService);
340+
this.virtualNode.addBackend(otherAppMesh.virtualService);
330341
}
331342

332343
private virtualRouterListener(port: number): appmesh.VirtualRouterListener {

packages/@aws-cdk-containers/ecs-service-extensions/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,6 @@
9999
"awscdkio": {
100100
"announce": false
101101
},
102-
"maturity": "experimental",
103-
"stability": "experimental"
104-
}
102+
"maturity": "stable",
103+
"stability": "stable"
104+
}

packages/@aws-cdk/app-delivery/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
"@types/nodeunit": "^0.0.31",
6464
"cdk-build-tools": "0.0.0",
6565
"cdk-integ-tools": "0.0.0",
66-
"fast-check": "^2.6.1",
66+
"fast-check": "^2.7.0",
6767
"nodeunit": "^0.11.3",
6868
"pkglint": "0.0.0"
6969
},

packages/@aws-cdk/aws-applicationautoscaling/lib/scalable-target.ts

+5
Original file line numberDiff line numberDiff line change
@@ -274,4 +274,9 @@ export enum ServiceNamespace {
274274
* Comprehend
275275
*/
276276
COMPREHEND = 'comprehend',
277+
278+
/**
279+
* Kafka
280+
*/
281+
KAFKA = 'kafka',
277282
}

packages/@aws-cdk/aws-applicationautoscaling/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
"@types/nodeunit": "^0.0.31",
7676
"cdk-build-tools": "0.0.0",
7777
"cfn2ts": "0.0.0",
78-
"fast-check": "^2.6.1",
78+
"fast-check": "^2.7.0",
7979
"nodeunit": "^0.11.3",
8080
"pkglint": "0.0.0"
8181
},

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

+11-14
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,8 @@ const service = namespace.createService('Svc');
139139

140140
const node = mesh.addVirtualNode('virtual-node', {
141141
cloudMapService: service,
142-
listener: {
143-
portMapping: {
144-
port: 8081,
145-
protocol: Protocol.HTTP,
146-
},
142+
listeners: [appmesh.VirtualNodeListener.httpNodeListener({
143+
port: 8081,
147144
healthCheck: {
148145
healthyThreshold: 3,
149146
interval: Duration.seconds(5), // minimum
@@ -153,9 +150,9 @@ const node = mesh.addVirtualNode('virtual-node', {
153150
timeout: Duration.seconds(2), // minimum
154151
unhealthyThreshold: 2,
155152
},
156-
},
153+
})],
157154
accessLog: appmesh.AccessLog.fromFilePath('/dev/stdout'),
158-
})
155+
});
159156
```
160157

161158
Create a `VirtualNode` with the the constructor and add tags.
@@ -164,11 +161,8 @@ Create a `VirtualNode` with the the constructor and add tags.
164161
const node = new VirtualNode(this, 'node', {
165162
mesh,
166163
cloudMapService: service,
167-
listener: {
168-
portMapping: {
169-
port: 8080,
170-
protocol: Protocol.HTTP,
171-
},
164+
listeners: [appmesh.VirtualNodeListener.httpNodeListener({
165+
port: 8080,
172166
healthCheck: {
173167
healthyThreshold: 3,
174168
interval: Duration.seconds(5), // min
@@ -177,15 +171,18 @@ const node = new VirtualNode(this, 'node', {
177171
protocol: Protocol.HTTP,
178172
timeout: Duration.seconds(2), // min
179173
unhealthyThreshold: 2,
174+
},
175+
timeout: {
176+
idle: cdk.Duration.seconds(5),
180177
},
181-
},
178+
})],
182179
accessLog: appmesh.AccessLog.fromFilePath('/dev/stdout'),
183180
});
184181

185182
cdk.Tag.add(node, 'Environment', 'Dev');
186183
```
187184

188-
The listeners property can be left blank and added later with the `node.addListeners()` method. The `healthcheck` property is optional but if specifying a listener, the `portMappings` must contain at least one property.
185+
The `listeners` property can be left blank and added later with the `node.addListener()` method. The `healthcheck` and `timeout` properties are optional but if specifying a listener, the `port` must be added.
189186

190187
## Adding a Route
191188

packages/@aws-cdk/aws-appmesh/lib/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export * from './virtual-node';
77
export * from './virtual-router';
88
export * from './virtual-router-listener';
99
export * from './virtual-service';
10+
export * from './virtual-node-listener';
1011
export * from './virtual-gateway';
1112
export * from './virtual-gateway-listener';
1213
export * from './gateway-route';

packages/@aws-cdk/aws-appmesh/lib/shared-interfaces.ts

-38
Original file line numberDiff line numberDiff line change
@@ -68,44 +68,6 @@ export interface HealthCheck {
6868
readonly unhealthyThreshold?: number;
6969
}
7070

71-
/**
72-
* Port mappings for resources that require these attributes, such as VirtualNodes and Routes
73-
*/
74-
export interface PortMapping {
75-
/**
76-
* Port mapped to the VirtualNode / Route
77-
*
78-
* @default 8080
79-
*/
80-
readonly port: number;
81-
82-
/**
83-
* Protocol for the VirtualNode / Route, only GRPC, HTTP, HTTP2, or TCP is supported
84-
*
85-
* @default HTTP
86-
*/
87-
readonly protocol: Protocol;
88-
}
89-
90-
/**
91-
* Represents the properties needed to define healthy and active listeners for nodes
92-
*/
93-
export interface VirtualNodeListener {
94-
/**
95-
* Array of PortMappingProps for the listener
96-
*
97-
* @default - HTTP port 8080
98-
*/
99-
readonly portMapping?: PortMapping;
100-
101-
/**
102-
* Health checking strategy upstream nodes should use when communicating with the listener
103-
*
104-
* @default - no healthcheck
105-
*/
106-
readonly healthCheck?: HealthCheck;
107-
}
108-
10971
/**
11072
* All Properties for Envoy Access logs for mesh endpoints
11173
*/

0 commit comments

Comments
 (0)