@cdklabs/cdk-ecs-codedeploy 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +14 -14
- package/API.md +14 -12
- package/README.md +1 -1
- package/lib/ecs-appspec/index.d.ts +3 -3
- package/lib/ecs-appspec/index.js +3 -3
- package/lib/ecs-deployment/index.d.ts +9 -7
- package/lib/ecs-deployment/index.js +9 -7
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -3132,7 +3132,7 @@
|
|
|
3132
3132
|
},
|
|
3133
3133
|
"name": "@cdklabs/cdk-ecs-codedeploy",
|
|
3134
3134
|
"readme": {
|
|
3135
|
-
"markdown": "# CDK ECS CodeDeploy\n\n[](https://badge.fury.io/js/@cdklabs%2Fcdk-ecs-codedeploy)\n[](https://maven-badges.herokuapp.com/maven-central/io.github.cdklabs/cdk-ecs-codedeploy)\n[](https://badge.fury.io/py/cdklabs.ecs-codedeploy)\n[](https://badge.fury.io/nu/Cdklabs.CdkEcsCodeDeploy)\n[](https://gitpod.io/#https://github.com/cdklabs/cdk-ecs-codedeploy)\n[](https://badge.fury.io/js/@cdklabs%2Fcdk-ecs-codedeploy)\n[](https://maven-badges.herokuapp.com/maven-central/io.github.cdklabs/cdk-ecs-codedeploy)\n[](https://badge.fury.io/py/cdklabs.ecs-codedeploy)\n[](https://badge.fury.io/nu/Cdklabs.CdkEcsCodeDeploy)\n[](https://gitpod.io/#https://github.com/cdklabs/cdk-ecs-codedeploy)\n[](https://mergify.io)\n\nThis project contains CDK constructs to create CodeDeploy ECS deployments.\n\n## Installation\n\n<details><summary><strong>TypeScript</strong></summary>\n\n```bash\nyarn add @cdklabs/cdk-ecs-codedeploy\n```\n\n</details>\n\n<details><summary><strong>Java</strong></summary>\n\nSee https://mvnrepository.com/artifact/io.github.cdklabs/cdk-ecs-codedeploy\n</details>\n\n<details><summary><strong>Python</strong></summary>\n\nSee https://pypi.org/project/cdklabs.ecs-codedeploy/\n</details>\n\n<details><summary><strong>C#</strong></summary>\n\nSee https://www.nuget.org/packages/Cdklabs.CdkEcsCodeDeploy/\n</details>\n\n## Getting Started\n\nYou can browse the documentation at https://constructs.dev/packages/cdk-ecs-codedeploy/\n\nCodeDeploy for ECS can manage the deployment of new task definitions to ECS services. Only 1 deployment construct can be defined for a given EcsDeploymentGroup.\n\n```ts\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n appspec: new codedeploy.EcsAppSpec({\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n }),\n});\n```\n\nThe deployment will use the AutoRollbackConfig for the EcsDeploymentGroup unless it is overridden in the deployment:\n\n```ts\nnew EcsDeployment({\n deploymentGroup,\n appspec: new codedeploy.EcsAppSpec({\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n }),\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});\n```\n\nBy default, the deployment will timeout after 30 minutes. The timeout value can be overridden:\n\n```ts\nnew EcsDeployment({\n deploymentGroup,\n appspec: new codedeploy.EcsAppSpec({\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n }),\n timeout: Duration.minutes(60),\n});\n```\n\n## Local Development\n\n```bash\nyarn install\nyarn build\nyarn test\n```\n\nTo run an integration test and update the snapshot, run:\n\n```bash\nyarn integ:deployment:deploy\n```\n\nTo recreate snapshots for integration tests, run:\n\n```bash\nyarn integ:snapshot-all\n```\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n"
|
|
3136
3136
|
},
|
|
3137
3137
|
"repository": {
|
|
3138
3138
|
"type": "git",
|
|
@@ -3253,7 +3253,7 @@
|
|
|
3253
3253
|
"@cdklabs/cdk-ecs-codedeploy.EcsAppSpec": {
|
|
3254
3254
|
"assembly": "@cdklabs/cdk-ecs-codedeploy",
|
|
3255
3255
|
"docs": {
|
|
3256
|
-
"remarks": "
|
|
3256
|
+
"remarks": "see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-resources.html#reference-appspec-file-structure-resources-ecs",
|
|
3257
3257
|
"stability": "experimental",
|
|
3258
3258
|
"summary": "Represents an AppSpec to be used for ECS services."
|
|
3259
3259
|
},
|
|
@@ -3306,6 +3306,7 @@
|
|
|
3306
3306
|
"assembly": "@cdklabs/cdk-ecs-codedeploy",
|
|
3307
3307
|
"base": "constructs.Construct",
|
|
3308
3308
|
"docs": {
|
|
3309
|
+
"remarks": "An `EcsDeploymentGroup`\nmust only have 1 EcsDeployment. This limit is enforced by making the constructor protected\nand requiring the use of a static method such as `forDeploymentGroup` to initialize.\nThe `scope` will always be set to the `EcsDeploymentGroup` and the `id` will always\nbe set to the string 'Deployment' to force an error if mulitiple EcsDeployment constructs\nare created for a single EcsDeploymentGroup.",
|
|
3309
3310
|
"stability": "experimental",
|
|
3310
3311
|
"summary": "A CodeDeploy Deployment for a Amazon ECS service DeploymentGroup."
|
|
3311
3312
|
},
|
|
@@ -3316,7 +3317,7 @@
|
|
|
3316
3317
|
},
|
|
3317
3318
|
"locationInModule": {
|
|
3318
3319
|
"filename": "src/ecs-deployment/index.ts",
|
|
3319
|
-
"line":
|
|
3320
|
+
"line": 67
|
|
3320
3321
|
},
|
|
3321
3322
|
"parameters": [
|
|
3322
3323
|
{
|
|
@@ -3343,18 +3344,17 @@
|
|
|
3343
3344
|
"kind": "class",
|
|
3344
3345
|
"locationInModule": {
|
|
3345
3346
|
"filename": "src/ecs-deployment/index.ts",
|
|
3346
|
-
"line":
|
|
3347
|
+
"line": 54
|
|
3347
3348
|
},
|
|
3348
3349
|
"methods": [
|
|
3349
3350
|
{
|
|
3350
3351
|
"docs": {
|
|
3351
|
-
"remarks": "This limit is enforced by not allowing\nthe `scope` or `id` to be passed to the constructor. The `scope` will always be set to the\n`deploymentGroup` from `props` and the `id` will always be set to the string 'Deployment'\nto force an error if mulitiple EcsDeployment constructs are created for a single EcsDeploymentGrouop.",
|
|
3352
3352
|
"stability": "experimental",
|
|
3353
|
-
"summary": "
|
|
3353
|
+
"summary": "Create a new deployment for a given `EcsDeploymentGroup`."
|
|
3354
3354
|
},
|
|
3355
3355
|
"locationInModule": {
|
|
3356
3356
|
"filename": "src/ecs-deployment/index.ts",
|
|
3357
|
-
"line":
|
|
3357
|
+
"line": 58
|
|
3358
3358
|
},
|
|
3359
3359
|
"name": "forDeploymentGroup",
|
|
3360
3360
|
"parameters": [
|
|
@@ -3382,7 +3382,7 @@
|
|
|
3382
3382
|
},
|
|
3383
3383
|
"locationInModule": {
|
|
3384
3384
|
"filename": "src/ecs-deployment/index.ts",
|
|
3385
|
-
"line":
|
|
3385
|
+
"line": 65
|
|
3386
3386
|
},
|
|
3387
3387
|
"name": "deploymentId",
|
|
3388
3388
|
"type": {
|
|
@@ -3397,7 +3397,7 @@
|
|
|
3397
3397
|
"datatype": true,
|
|
3398
3398
|
"docs": {
|
|
3399
3399
|
"stability": "experimental",
|
|
3400
|
-
"summary": "Construction properties of
|
|
3400
|
+
"summary": "Construction properties of EcsDeployment."
|
|
3401
3401
|
},
|
|
3402
3402
|
"fqn": "@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps",
|
|
3403
3403
|
"kind": "interface",
|
|
@@ -3410,7 +3410,7 @@
|
|
|
3410
3410
|
{
|
|
3411
3411
|
"abstract": true,
|
|
3412
3412
|
"docs": {
|
|
3413
|
-
"remarks": "
|
|
3413
|
+
"remarks": "see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-resources.html#reference-appspec-file-structure-resources-ecs",
|
|
3414
3414
|
"stability": "experimental",
|
|
3415
3415
|
"summary": "The AppSpec to use for the deployment."
|
|
3416
3416
|
},
|
|
@@ -3503,7 +3503,7 @@
|
|
|
3503
3503
|
"datatype": true,
|
|
3504
3504
|
"docs": {
|
|
3505
3505
|
"stability": "experimental",
|
|
3506
|
-
"summary": "Describe the target for CodeDeploy to use when creating a deployment for
|
|
3506
|
+
"summary": "Describe the target for CodeDeploy to use when creating a deployment for an ecs.EcsDeploymentGroup."
|
|
3507
3507
|
},
|
|
3508
3508
|
"fqn": "@cdklabs/cdk-ecs-codedeploy.TargetService",
|
|
3509
3509
|
"kind": "interface",
|
|
@@ -3607,7 +3607,7 @@
|
|
|
3607
3607
|
"abstract": true,
|
|
3608
3608
|
"docs": {
|
|
3609
3609
|
"default": "LATEST",
|
|
3610
|
-
"remarks": "
|
|
3610
|
+
"remarks": "see: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html",
|
|
3611
3611
|
"stability": "experimental",
|
|
3612
3612
|
"summary": "The platform version of the Fargate tasks in the deployed Amazon ECS service."
|
|
3613
3613
|
},
|
|
@@ -3626,6 +3626,6 @@
|
|
|
3626
3626
|
"symbolId": "src/ecs-appspec/index:TargetService"
|
|
3627
3627
|
}
|
|
3628
3628
|
},
|
|
3629
|
-
"version": "0.0.
|
|
3630
|
-
"fingerprint": "
|
|
3629
|
+
"version": "0.0.4",
|
|
3630
|
+
"fingerprint": "HdstDCnMIGGSLa0MBU/c65m3XWwRoIzWkhWQtgv8iaI="
|
|
3631
3631
|
}
|
package/API.md
CHANGED
|
@@ -6,6 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
A CodeDeploy Deployment for a Amazon ECS service DeploymentGroup.
|
|
8
8
|
|
|
9
|
+
An `EcsDeploymentGroup`
|
|
10
|
+
must only have 1 EcsDeployment. This limit is enforced by making the constructor protected
|
|
11
|
+
and requiring the use of a static method such as `forDeploymentGroup` to initialize.
|
|
12
|
+
The `scope` will always be set to the `EcsDeploymentGroup` and the `id` will always
|
|
13
|
+
be set to the string 'Deployment' to force an error if mulitiple EcsDeployment constructs
|
|
14
|
+
are created for a single EcsDeploymentGroup.
|
|
15
|
+
|
|
9
16
|
#### Initializers <a name="Initializers" id="@cdklabs/cdk-ecs-codedeploy.EcsDeployment.Initializer"></a>
|
|
10
17
|
|
|
11
18
|
```typescript
|
|
@@ -61,7 +68,7 @@ Returns a string representation of this construct.
|
|
|
61
68
|
| **Name** | **Description** |
|
|
62
69
|
| --- | --- |
|
|
63
70
|
| <code><a href="#@cdklabs/cdk-ecs-codedeploy.EcsDeployment.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
64
|
-
| <code><a href="#@cdklabs/cdk-ecs-codedeploy.EcsDeployment.forDeploymentGroup">forDeploymentGroup</a></code> |
|
|
71
|
+
| <code><a href="#@cdklabs/cdk-ecs-codedeploy.EcsDeployment.forDeploymentGroup">forDeploymentGroup</a></code> | Create a new deployment for a given `EcsDeploymentGroup`. |
|
|
65
72
|
|
|
66
73
|
---
|
|
67
74
|
|
|
@@ -91,12 +98,7 @@ import { EcsDeployment } from '@cdklabs/cdk-ecs-codedeploy'
|
|
|
91
98
|
EcsDeployment.forDeploymentGroup(props: EcsDeploymentProps)
|
|
92
99
|
```
|
|
93
100
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
This limit is enforced by not allowing
|
|
97
|
-
the `scope` or `id` to be passed to the constructor. The `scope` will always be set to the
|
|
98
|
-
`deploymentGroup` from `props` and the `id` will always be set to the string 'Deployment'
|
|
99
|
-
to force an error if mulitiple EcsDeployment constructs are created for a single EcsDeploymentGrouop.
|
|
101
|
+
Create a new deployment for a given `EcsDeploymentGroup`.
|
|
100
102
|
|
|
101
103
|
###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ecs-codedeploy.EcsDeployment.forDeploymentGroup.parameter.props"></a>
|
|
102
104
|
|
|
@@ -213,7 +215,7 @@ The Subnets to use for the task.
|
|
|
213
215
|
|
|
214
216
|
### EcsDeploymentProps <a name="EcsDeploymentProps" id="@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps"></a>
|
|
215
217
|
|
|
216
|
-
Construction properties of
|
|
218
|
+
Construction properties of EcsDeployment.
|
|
217
219
|
|
|
218
220
|
#### Initializer <a name="Initializer" id="@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps.Initializer"></a>
|
|
219
221
|
|
|
@@ -245,7 +247,7 @@ public readonly appspec: EcsAppSpec;
|
|
|
245
247
|
|
|
246
248
|
The AppSpec to use for the deployment.
|
|
247
249
|
|
|
248
|
-
|
|
250
|
+
see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-resources.html#reference-appspec-file-structure-resources-ecs
|
|
249
251
|
|
|
250
252
|
---
|
|
251
253
|
|
|
@@ -304,7 +306,7 @@ If the timeout is reached, it will trigger a rollback of the stack.
|
|
|
304
306
|
|
|
305
307
|
### TargetService <a name="TargetService" id="@cdklabs/cdk-ecs-codedeploy.TargetService"></a>
|
|
306
308
|
|
|
307
|
-
Describe the target for CodeDeploy to use when creating a deployment for
|
|
309
|
+
Describe the target for CodeDeploy to use when creating a deployment for an ecs.EcsDeploymentGroup.
|
|
308
310
|
|
|
309
311
|
#### Initializer <a name="Initializer" id="@cdklabs/cdk-ecs-codedeploy.TargetService.Initializer"></a>
|
|
310
312
|
|
|
@@ -402,7 +404,7 @@ public readonly platformVersion: FargatePlatformVersion;
|
|
|
402
404
|
|
|
403
405
|
The platform version of the Fargate tasks in the deployed Amazon ECS service.
|
|
404
406
|
|
|
405
|
-
|
|
407
|
+
see: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
|
|
406
408
|
|
|
407
409
|
---
|
|
408
410
|
|
|
@@ -412,7 +414,7 @@ The platform version of the Fargate tasks in the deployed Amazon ECS service.
|
|
|
412
414
|
|
|
413
415
|
Represents an AppSpec to be used for ECS services.
|
|
414
416
|
|
|
415
|
-
|
|
417
|
+
see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-resources.html#reference-appspec-file-structure-resources-ecs
|
|
416
418
|
|
|
417
419
|
#### Initializers <a name="Initializers" id="@cdklabs/cdk-ecs-codedeploy.EcsAppSpec.Initializer"></a>
|
|
418
420
|
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://badge.fury.io/py/cdklabs.ecs-codedeploy)
|
|
6
6
|
[](https://badge.fury.io/nu/Cdklabs.CdkEcsCodeDeploy)
|
|
7
7
|
[](https://gitpod.io/#https://github.com/cdklabs/cdk-ecs-codedeploy)
|
|
8
|
-
[](https://mergify.io)
|
|
9
9
|
|
|
10
10
|
This project contains CDK constructs to create CodeDeploy ECS deployments.
|
|
11
11
|
|
|
@@ -3,7 +3,7 @@ import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
|
3
3
|
/**
|
|
4
4
|
* Represents an AppSpec to be used for ECS services.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-resources.html#reference-appspec-file-structure-resources-ecs
|
|
7
7
|
*/
|
|
8
8
|
export declare class EcsAppSpec {
|
|
9
9
|
/**
|
|
@@ -20,7 +20,7 @@ export declare class EcsAppSpec {
|
|
|
20
20
|
private configureAwsVpcNetworkingWithSecurityGroups;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* Describe the target for CodeDeploy to use when creating a deployment for
|
|
23
|
+
* Describe the target for CodeDeploy to use when creating a deployment for an ecs.EcsDeploymentGroup.
|
|
24
24
|
*/
|
|
25
25
|
export interface TargetService {
|
|
26
26
|
/**
|
|
@@ -37,7 +37,7 @@ export interface TargetService {
|
|
|
37
37
|
readonly containerPort: number;
|
|
38
38
|
/**
|
|
39
39
|
* The platform version of the Fargate tasks in the deployed Amazon ECS service.
|
|
40
|
-
*
|
|
40
|
+
* see: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
|
|
41
41
|
*
|
|
42
42
|
* @default LATEST
|
|
43
43
|
*/
|
package/lib/ecs-appspec/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
/**
|
|
7
7
|
* Represents an AppSpec to be used for ECS services.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-resources.html#reference-appspec-file-structure-resources-ecs
|
|
10
10
|
*/
|
|
11
11
|
class EcsAppSpec {
|
|
12
12
|
constructor(targetService) {
|
|
@@ -59,5 +59,5 @@ class EcsAppSpec {
|
|
|
59
59
|
}
|
|
60
60
|
exports.EcsAppSpec = EcsAppSpec;
|
|
61
61
|
_a = JSII_RTTI_SYMBOL_1;
|
|
62
|
-
EcsAppSpec[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsAppSpec", version: "0.0.
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
EcsAppSpec[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsAppSpec", version: "0.0.4" };
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLWFwcHNwZWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQTs7OztHQUlHO0FBQ0gsTUFBYSxVQUFVO0lBTXJCLFlBQVksYUFBNEI7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsS0FBSztZQUNkLFNBQVMsRUFBRSxDQUFDO29CQUNWLGFBQWEsRUFBRTt3QkFDYixJQUFJLEVBQUUsbUJBQW1CO3dCQUN6QixVQUFVLEVBQUU7NEJBQ1YsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLGlCQUFpQjs0QkFDbkUsZ0JBQWdCLEVBQUU7Z0NBQ2hCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7Z0NBQy9DLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7NkJBQ2hEOzRCQUNELGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7NEJBQ25ELG9CQUFvQixFQUFFLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzRCQUM5Ryx3QkFBd0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFO2dDQUNwRyxPQUFPO29DQUNMLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxJQUFJO29DQUNuQyxnQkFBZ0IsRUFBRSx3QkFBd0IsQ0FBQyxnQkFBZ0I7b0NBQzNELE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxNQUFNO2lDQUN4QyxDQUFDOzRCQUNKLENBQUMsQ0FBQzt5QkFDSDtxQkFDRjtpQkFDRixDQUFDO1NBQ0gsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sMkNBQTJDLENBQUMsbUJBQXlDO1FBQzNGLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN4QixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU87WUFDTCxtQkFBbUIsRUFBRTtnQkFDbkIsY0FBYyxFQUFFLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVO2dCQUMzRSxPQUFPLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTO2dCQUN4RixjQUFjLEVBQUUsbUJBQW1CLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUNwRjtTQUNGLENBQUM7SUFDSixDQUFDOztBQXRESCxnQ0F1REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBBcHBTcGVjIHRvIGJlIHVzZWQgZm9yIEVDUyBzZXJ2aWNlcy5cbiAqXG4gKiBzZWU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlZGVwbG95L2xhdGVzdC91c2VyZ3VpZGUvcmVmZXJlbmNlLWFwcHNwZWMtZmlsZS1zdHJ1Y3R1cmUtcmVzb3VyY2VzLmh0bWwjcmVmZXJlbmNlLWFwcHNwZWMtZmlsZS1zdHJ1Y3R1cmUtcmVzb3VyY2VzLWVjc1xuICovXG5leHBvcnQgY2xhc3MgRWNzQXBwU3BlYyB7XG4gIC8qKlxuICAgKiBTZXJ2aWNlIHRvIHRhcmdldCBmb3IgdGhlIGRlcGxveW1lbnRcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0U2VydmljZTogVGFyZ2V0U2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcih0YXJnZXRTZXJ2aWNlOiBUYXJnZXRTZXJ2aWNlKSB7XG4gICAgdGhpcy50YXJnZXRTZXJ2aWNlID0gdGFyZ2V0U2VydmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgSlNPTiBzdHJpbmcgZm9yIHRoaXMgQXBwU3BlYyB0byBiZSB1c2VkXG4gICAqXG4gICAqIEByZXR1cm5zIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEFwcFNwZWNcbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYXBwU3BlYyA9IHtcbiAgICAgIHZlcnNpb246ICcwLjAnLFxuICAgICAgUmVzb3VyY2VzOiBbe1xuICAgICAgICBUYXJnZXRTZXJ2aWNlOiB7XG4gICAgICAgICAgVHlwZTogJ0FXUzo6RUNTOjpTZXJ2aWNlJyxcbiAgICAgICAgICBQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBUYXNrRGVmaW5pdGlvbjogdGhpcy50YXJnZXRTZXJ2aWNlLnRhc2tEZWZpbml0aW9uLnRhc2tEZWZpbml0aW9uQXJuLFxuICAgICAgICAgICAgTG9hZEJhbGFuY2VySW5mbzoge1xuICAgICAgICAgICAgICBDb250YWluZXJOYW1lOiB0aGlzLnRhcmdldFNlcnZpY2UuY29udGFpbmVyTmFtZSxcbiAgICAgICAgICAgICAgQ29udGFpbmVyUG9ydDogdGhpcy50YXJnZXRTZXJ2aWNlLmNvbnRhaW5lclBvcnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgUGxhdGZvcm1WZXJzaW9uOiB0aGlzLnRhcmdldFNlcnZpY2UucGxhdGZvcm1WZXJzaW9uLFxuICAgICAgICAgICAgTmV0d29ya0NvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJlQXdzVnBjTmV0d29ya2luZ1dpdGhTZWN1cml0eUdyb3Vwcyh0aGlzLnRhcmdldFNlcnZpY2UuYXdzdnBjQ29uZmlndXJhdGlvbiksXG4gICAgICAgICAgICBDYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3k6IHRoaXMudGFyZ2V0U2VydmljZS5jYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3k/Lm1hcChjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3kgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIEJhc2U6IGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVneS5iYXNlLFxuICAgICAgICAgICAgICAgIENhcGFjaXR5UHJvdmlkZXI6IGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVneS5jYXBhY2l0eVByb3ZpZGVyLFxuICAgICAgICAgICAgICAgIFdlaWdodDogY2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5LndlaWdodCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9XSxcbiAgICB9O1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhcHBTcGVjKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlndXJlQXdzVnBjTmV0d29ya2luZ1dpdGhTZWN1cml0eUdyb3Vwcyhhd3N2cGNDb25maWd1cmF0aW9uPzogQXdzdnBjQ29uZmlndXJhdGlvbikge1xuICAgIGlmICghYXdzdnBjQ29uZmlndXJhdGlvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGF3c3ZwY0NvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgYXNzaWduUHVibGljSXA6IGF3c3ZwY0NvbmZpZ3VyYXRpb24uYXNzaWduUHVibGljSXAgPyAnRU5BQkxFRCcgOiAnRElTQUJMRUQnLFxuICAgICAgICBzdWJuZXRzOiBhd3N2cGNDb25maWd1cmF0aW9uLnZwYy5zZWxlY3RTdWJuZXRzKGF3c3ZwY0NvbmZpZ3VyYXRpb24udnBjU3VibmV0cykuc3VibmV0SWRzLFxuICAgICAgICBzZWN1cml0eUdyb3VwczogYXdzdnBjQ29uZmlndXJhdGlvbi5zZWN1cml0eUdyb3Vwcz8ubWFwKChzZykgPT4gc2cuc2VjdXJpdHlHcm91cElkKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIERlc2NyaWJlIHRoZSB0YXJnZXQgZm9yIENvZGVEZXBsb3kgdG8gdXNlIHdoZW4gY3JlYXRpbmcgYSBkZXBsb3ltZW50IGZvciBhbiBlY3MuRWNzRGVwbG95bWVudEdyb3VwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldFNlcnZpY2Uge1xuICAvKipcbiAgICogVGhlIFRhc2tEZWZpbnRpb24gdG8gZGVwbG95IHRvIHRoZSB0YXJnZXQgc2VydmljZXMuXG4gICAqL1xuICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogZWNzLklUYXNrRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFtYXpvbiBFQ1MgY29udGFpbmVyIHRoYXQgY29udGFpbnMgeW91ciBBbWF6b24gRUNTIGFwcGxpY2F0aW9uLiBJdCBtdXN0IGJlIGEgY29udGFpbmVyIHNwZWNpZmllZCBpbiB5b3VyIEFtYXpvbiBFQ1MgdGFzayBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9ydCBvbiB0aGUgY29udGFpbmVyIHdoZXJlIHRyYWZmaWMgd2lsbCBiZSByb3V0ZWQgdG8uXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJQb3J0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwbGF0Zm9ybSB2ZXJzaW9uIG9mIHRoZSBGYXJnYXRlIHRhc2tzIGluIHRoZSBkZXBsb3llZCBBbWF6b24gRUNTIHNlcnZpY2UuXG4gICAqIHNlZTogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcGxhdGZvcm1fdmVyc2lvbnMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBMQVRFU1RcbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtVmVyc2lvbj86IGVjcy5GYXJnYXRlUGxhdGZvcm1WZXJzaW9uO1xuXG4gIC8qKlxuICAgKiBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIEVDUyBzZXJ2aWNlcyB0aGF0IGhhdmUgYSBuZXR3b3JrIHR5cGUgb2YgYGF3c3ZwY2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IHJldXNlIGN1cnJlbnQgbmV0d29yayBzZXR0aW5ncyBmb3IgRUNTIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBhd3N2cGNDb25maWd1cmF0aW9uPzogQXdzdnBjQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIEFtYXpvbiBFQ1MgY2FwYWNpdHkgcHJvdmlkZXJzIHRvIHVzZSBmb3IgdGhlIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHJldXNlIGN1cnJlbnQgY2FwY2l0eSBwcm92aWRlciBzdHJhdGVneSBmb3IgRUNTIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3k/OiBlY3MuQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W107XG5cbn1cblxuLyoqXG4gKiBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIEVDUyBzZXJ2aWNlcyB0aGF0IGhhdmUgYSBuZXR3b3JrIHR5cGUgb2YgYGF3c3ZwY2AuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzdnBjQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgVlBDIHRvIHVzZSBmb3IgdGhlIHRhc2suXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgU3VibmV0cyB0byB1c2UgZm9yIHRoZSB0YXNrLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0czogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIFNlY3VyaXR5IEdyb3VwcyB0byB1c2UgZm9yIHRoZSB0YXNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM6IGVjMi5JU2VjdXJpdHlHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBBc3NpZ24gYSBwdWJsaWMgSVAgYWRkcmVzcyB0byB0aGUgdGFzay5cbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnblB1YmxpY0lwOiBib29sZWFuO1xufSJdfQ==
|
|
@@ -3,7 +3,7 @@ import * as codedeploy from 'aws-cdk-lib/aws-codedeploy';
|
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
4
|
import { EcsAppSpec } from '../ecs-appspec';
|
|
5
5
|
/**
|
|
6
|
-
* Construction properties of
|
|
6
|
+
* Construction properties of EcsDeployment.
|
|
7
7
|
*/
|
|
8
8
|
export interface EcsDeploymentProps {
|
|
9
9
|
/**
|
|
@@ -13,7 +13,7 @@ export interface EcsDeploymentProps {
|
|
|
13
13
|
/**
|
|
14
14
|
* The AppSpec to use for the deployment.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
16
|
+
* see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-resources.html#reference-appspec-file-structure-resources-ecs
|
|
17
17
|
*/
|
|
18
18
|
readonly appspec: EcsAppSpec;
|
|
19
19
|
/**
|
|
@@ -36,14 +36,16 @@ export interface EcsDeploymentProps {
|
|
|
36
36
|
readonly timeout?: cdk.Duration;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* A CodeDeploy Deployment for a Amazon ECS service DeploymentGroup.
|
|
39
|
+
* A CodeDeploy Deployment for a Amazon ECS service DeploymentGroup. An `EcsDeploymentGroup`
|
|
40
|
+
* must only have 1 EcsDeployment. This limit is enforced by making the constructor protected
|
|
41
|
+
* and requiring the use of a static method such as `forDeploymentGroup` to initialize.
|
|
42
|
+
* The `scope` will always be set to the `EcsDeploymentGroup` and the `id` will always
|
|
43
|
+
* be set to the string 'Deployment' to force an error if mulitiple EcsDeployment constructs
|
|
44
|
+
* are created for a single EcsDeploymentGroup.
|
|
40
45
|
*/
|
|
41
46
|
export declare class EcsDeployment extends Construct {
|
|
42
47
|
/**
|
|
43
|
-
*
|
|
44
|
-
* the `scope` or `id` to be passed to the constructor. The `scope` will always be set to the
|
|
45
|
-
* `deploymentGroup` from `props` and the `id` will always be set to the string 'Deployment'
|
|
46
|
-
* to force an error if mulitiple EcsDeployment constructs are created for a single EcsDeploymentGrouop.
|
|
48
|
+
* Create a new deployment for a given `EcsDeploymentGroup`.
|
|
47
49
|
*/
|
|
48
50
|
static forDeploymentGroup(props: EcsDeploymentProps): EcsDeployment;
|
|
49
51
|
/**
|
|
@@ -7,7 +7,12 @@ const cdk = require("aws-cdk-lib");
|
|
|
7
7
|
const constructs_1 = require("constructs");
|
|
8
8
|
const ecs_deployment_provider_1 = require("../ecs-deployment-provider");
|
|
9
9
|
/**
|
|
10
|
-
* A CodeDeploy Deployment for a Amazon ECS service DeploymentGroup.
|
|
10
|
+
* A CodeDeploy Deployment for a Amazon ECS service DeploymentGroup. An `EcsDeploymentGroup`
|
|
11
|
+
* must only have 1 EcsDeployment. This limit is enforced by making the constructor protected
|
|
12
|
+
* and requiring the use of a static method such as `forDeploymentGroup` to initialize.
|
|
13
|
+
* The `scope` will always be set to the `EcsDeploymentGroup` and the `id` will always
|
|
14
|
+
* be set to the string 'Deployment' to force an error if mulitiple EcsDeployment constructs
|
|
15
|
+
* are created for a single EcsDeploymentGroup.
|
|
11
16
|
*/
|
|
12
17
|
class EcsDeployment extends constructs_1.Construct {
|
|
13
18
|
constructor(scope, id, props) {
|
|
@@ -42,10 +47,7 @@ class EcsDeployment extends constructs_1.Construct {
|
|
|
42
47
|
this.deploymentId = deployment.getAttString('deploymentId');
|
|
43
48
|
}
|
|
44
49
|
/**
|
|
45
|
-
*
|
|
46
|
-
* the `scope` or `id` to be passed to the constructor. The `scope` will always be set to the
|
|
47
|
-
* `deploymentGroup` from `props` and the `id` will always be set to the string 'Deployment'
|
|
48
|
-
* to force an error if mulitiple EcsDeployment constructs are created for a single EcsDeploymentGrouop.
|
|
50
|
+
* Create a new deployment for a given `EcsDeploymentGroup`.
|
|
49
51
|
*/
|
|
50
52
|
static forDeploymentGroup(props) {
|
|
51
53
|
return new EcsDeployment(props.deploymentGroup, 'Deployment', props);
|
|
@@ -53,5 +55,5 @@ class EcsDeployment extends constructs_1.Construct {
|
|
|
53
55
|
}
|
|
54
56
|
exports.EcsDeployment = EcsDeployment;
|
|
55
57
|
_a = JSII_RTTI_SYMBOL_1;
|
|
56
|
-
EcsDeployment[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsDeployment", version: "0.0.
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
EcsDeployment[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsDeployment", version: "0.0.4" };
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLWRlcGxveW1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQXVDO0FBRXZDLHdFQUFtRTtBQXlDbkU7Ozs7Ozs7R0FPRztBQUNILE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBYTFDLFlBQXNCLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQzNFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtDQUFxQixDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUNsRixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ25ELENBQUMsQ0FBQztRQUVILElBQUksK0JBQStCLEdBQWMsRUFBRSxDQUFDO1FBQ3BELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRTtZQUN6QywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUNsRTtRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRTtZQUN4QywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRTtZQUN6QywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUNwRTtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDcEUsWUFBWSxFQUFFLHFCQUFxQixDQUFDLFlBQVk7WUFDaEQsWUFBWSxFQUFFLHVCQUF1QjtZQUNyQyxVQUFVLEVBQUU7Z0JBQ1YsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLGVBQWU7Z0JBQ2xFLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CO2dCQUNqRixtQkFBbUIsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLG1CQUFtQjtnQkFDOUQsZ0NBQWdDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUN6RiwrQkFBK0IsRUFBRSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUMxRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2FBQ2pEO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUE3Q0Q7O09BRUc7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBeUI7UUFDeEQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDOztBQU5ILHNDQWdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjb2RlZGVwbG95IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlZGVwbG95JztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRWNzQXBwU3BlYyB9IGZyb20gJy4uL2Vjcy1hcHBzcGVjJztcbmltcG9ydCB7IEVjc0RlcGxveW1lbnRQcm92aWRlciB9IGZyb20gJy4uL2Vjcy1kZXBsb3ltZW50LXByb3ZpZGVyJztcblxuLyoqXG4gKiBDb25zdHJ1Y3Rpb24gcHJvcGVydGllcyBvZiBFY3NEZXBsb3ltZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVjc0RlcGxveW1lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVwbG95bWVudCBncm91cCB0byB0YXJnZXQgZm9yIHRoaXMgZGVwbG95bWVudC5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRHcm91cDogY29kZWRlcGxveS5JRWNzRGVwbG95bWVudEdyb3VwO1xuXG4gIC8qKlxuICAgKiBUaGUgQXBwU3BlYyB0byB1c2UgZm9yIHRoZSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBzZWU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlZGVwbG95L2xhdGVzdC91c2VyZ3VpZGUvcmVmZXJlbmNlLWFwcHNwZWMtZmlsZS1zdHJ1Y3R1cmUtcmVzb3VyY2VzLmh0bWwjcmVmZXJlbmNlLWFwcHNwZWMtZmlsZS1zdHJ1Y3R1cmUtcmVzb3VyY2VzLWVjc1xuICAgKi9cbiAgcmVhZG9ubHkgYXBwc3BlYzogRWNzQXBwU3BlYztcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHJvbGxiYWNrIGluIHRoZSBldmVudCB0aGF0IGEgZGVwbG95bWVudCBmYWlscy5cbiAgICpcbiAgICogQGRlZmF1bHQ6IG5vIGF1dG9tYXRpYyByb2xsYmFjayB0cmlnZ2VyZWRcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9Sb2xsYmFjaz86IGNvZGVkZXBsb3kuQXV0b1JvbGxiYWNrQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lb3V0IGZvciB0aGUgZGVwbG95bWVudC4gSWYgdGhlIHRpbWVvdXQgaXMgcmVhY2hlZCwgaXQgd2lsbCB0cmlnZ2VyIGEgcm9sbGJhY2sgb2YgdGhlIHN0YWNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAzMCBtaW51dGVzXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogY2RrLkR1cmF0aW9uO1xuXG59XG5cbi8qKlxuICogQSBDb2RlRGVwbG95IERlcGxveW1lbnQgZm9yIGEgQW1hem9uIEVDUyBzZXJ2aWNlIERlcGxveW1lbnRHcm91cC4gQW4gYEVjc0RlcGxveW1lbnRHcm91cGBcbiAqIG11c3Qgb25seSBoYXZlIDEgRWNzRGVwbG95bWVudC4gVGhpcyBsaW1pdCBpcyBlbmZvcmNlZCBieSBtYWtpbmcgdGhlIGNvbnN0cnVjdG9yIHByb3RlY3RlZFxuICogYW5kIHJlcXVpcmluZyB0aGUgdXNlIG9mIGEgc3RhdGljIG1ldGhvZCBzdWNoIGFzIGBmb3JEZXBsb3ltZW50R3JvdXBgIHRvIGluaXRpYWxpemUuXG4gKiBUaGUgYHNjb3BlYCB3aWxsIGFsd2F5cyBiZSBzZXQgdG8gdGhlIGBFY3NEZXBsb3ltZW50R3JvdXBgIGFuZCB0aGUgYGlkYCB3aWxsIGFsd2F5c1xuICogYmUgc2V0IHRvIHRoZSBzdHJpbmcgJ0RlcGxveW1lbnQnIHRvIGZvcmNlIGFuIGVycm9yIGlmIG11bGl0aXBsZSBFY3NEZXBsb3ltZW50IGNvbnN0cnVjdHNcbiAqIGFyZSBjcmVhdGVkIGZvciBhIHNpbmdsZSBFY3NEZXBsb3ltZW50R3JvdXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBFY3NEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBkZXBsb3ltZW50IGZvciBhIGdpdmVuIGBFY3NEZXBsb3ltZW50R3JvdXBgLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JEZXBsb3ltZW50R3JvdXAocHJvcHM6IEVjc0RlcGxveW1lbnRQcm9wcykge1xuICAgIHJldHVybiBuZXcgRWNzRGVwbG95bWVudChwcm9wcy5kZXBsb3ltZW50R3JvdXAsICdEZXBsb3ltZW50JywgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgZGVwbG95bWVudCB0aGF0IHdhcyBjcmVhdGVkLlxuICAgKi9cbiAgZGVwbG95bWVudElkOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NEZXBsb3ltZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZWNzRGVwbG95bWVudFByb3ZpZGVyID0gbmV3IEVjc0RlcGxveW1lbnRQcm92aWRlcih0aGlzLCAnRGVwbG95bWVudFByb3ZpZGVyJywge1xuICAgICAgZGVwbG95bWVudEdyb3VwOiBwcm9wcy5kZXBsb3ltZW50R3JvdXAsXG4gICAgICB0aW1lb3V0OiBwcm9wcy50aW1lb3V0IHx8IGNkay5EdXJhdGlvbi5taW51dGVzKDMwKSxcbiAgICB9KTtcblxuICAgIGxldCBhdXRvUm9sbGJhY2tDb25maWd1cmF0aW9uRXZlbnRzIDogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAocHJvcHMuYXV0b1JvbGxiYWNrPy5kZXBsb3ltZW50SW5BbGFybSkge1xuICAgICAgYXV0b1JvbGxiYWNrQ29uZmlndXJhdGlvbkV2ZW50cy5wdXNoKCdERVBMT1lNRU5UX1NUT1BfT05fQUxBUk0nKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmF1dG9Sb2xsYmFjaz8uZmFpbGVkRGVwbG95bWVudCkge1xuICAgICAgYXV0b1JvbGxiYWNrQ29uZmlndXJhdGlvbkV2ZW50cy5wdXNoKCdERVBMT1lNRU5UX0ZBSUxVUkUnKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmF1dG9Sb2xsYmFjaz8uc3RvcHBlZERlcGxveW1lbnQpIHtcbiAgICAgIGF1dG9Sb2xsYmFja0NvbmZpZ3VyYXRpb25FdmVudHMucHVzaCgnREVQTE9ZTUVOVF9TVE9QX09OX1JFUVVFU1QnKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3ltZW50ID0gbmV3IGNkay5DdXN0b21SZXNvdXJjZSh0aGlzLCAnRGVwbG95bWVudFJlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiBlY3NEZXBsb3ltZW50UHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpFY3NEZXBsb3ltZW50JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYXBwbGljYXRpb25OYW1lOiBwcm9wcy5kZXBsb3ltZW50R3JvdXAuYXBwbGljYXRpb24uYXBwbGljYXRpb25OYW1lLFxuICAgICAgICBkZXBsb3ltZW50Q29uZmlnTmFtZTogcHJvcHMuZGVwbG95bWVudEdyb3VwLmRlcGxveW1lbnRDb25maWcuZGVwbG95bWVudENvbmZpZ05hbWUsXG4gICAgICAgIGRlcGxveW1lbnRHcm91cE5hbWU6IHByb3BzLmRlcGxveW1lbnRHcm91cC5kZXBsb3ltZW50R3JvdXBOYW1lLFxuICAgICAgICBhdXRvUm9sbGJhY2tDb25maWd1cmF0aW9uRW5hYmxlZDogKGF1dG9Sb2xsYmFja0NvbmZpZ3VyYXRpb25FdmVudHMubGVuZ3RoID4gMCkudG9TdHJpbmcoKSxcbiAgICAgICAgYXV0b1JvbGxiYWNrQ29uZmlndXJhdGlvbkV2ZW50czogYXV0b1JvbGxiYWNrQ29uZmlndXJhdGlvbkV2ZW50cy5qb2luKCcsJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgcmV2aXNpb25BcHBTcGVjQ29udGVudDogcHJvcHMuYXBwc3BlYy50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmRlcGxveW1lbnRJZCA9IGRlcGxveW1lbnQuZ2V0QXR0U3RyaW5nKCdkZXBsb3ltZW50SWQnKTtcbiAgfVxuXG59XG4iXX0=
|