@liflig/cdk 2.21.1 → 2.21.3
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/README.md +18 -2
- package/lib/cdk-deploy/cdk-deploy.js +10 -11
- package/lib/cdk-deploy/start-deploy-handler.d.ts +1 -1
- package/lib/cdk-deploy/start-deploy-handler.js +19 -26
- package/lib/cdk-deploy/status-handler.d.ts +1 -1
- package/lib/cdk-deploy/status-handler.js +17 -20
- package/lib/cdk-pipelines/cloud-assembly-lookup-handler.d.ts +1 -1
- package/lib/cdk-pipelines/cloud-assembly-lookup-handler.js +46 -35
- package/lib/cdk-pipelines/liflig-cdk-pipeline.js +6 -6
- package/lib/ecs-update-image/ecs-update-image.js +10 -11
- package/lib/ecs-update-image/start-deploy-handler.d.ts +1 -1
- package/lib/ecs-update-image/start-deploy-handler.js +16 -25
- package/lib/ecs-update-image/status-handler.d.ts +1 -1
- package/lib/ecs-update-image/status-handler.js +10 -17
- package/lib/pipelines/pipeline.js +34 -29
- package/lib/ses/configurationsetsnsdestination/handler.d.ts +1 -1
- package/lib/ses/configurationsetsnsdestination/handler.js +15 -25
- package/lib/ses/configurationsetsnsdestination/index.js +7 -7
- package/lib/ses/sesdomain/handler.d.ts +1 -1
- package/lib/ses/sesdomain/handler.js +31 -31
- package/lib/ses/sesdomain/index.js +6 -6
- package/lib/ses/sesverifyemail/handler.d.ts +1 -1
- package/lib/ses/sesverifyemail/handler.js +12 -10
- package/lib/ses/sesverifyemail/index.js +6 -6
- package/package.json +19 -8
package/README.md
CHANGED
|
@@ -32,18 +32,34 @@ are not yet resolved. Some relevant information:
|
|
|
32
32
|
|
|
33
33
|
## Testing library changes before releasing
|
|
34
34
|
|
|
35
|
-
1
|
|
35
|
+
### Alternative 1: Install liflig-cdk from tarball
|
|
36
|
+
|
|
37
|
+
1. Assemble artifact, which emits a tarball
|
|
36
38
|
|
|
37
39
|
```bash
|
|
38
40
|
npm pack
|
|
39
41
|
```
|
|
40
42
|
|
|
41
|
-
|
|
43
|
+
2. Install the library in an application from a tarball
|
|
42
44
|
|
|
43
45
|
```bash
|
|
44
46
|
npm install /path/to/liflig-cdk/liflig-cdk-0.0.0-development.tgz
|
|
45
47
|
```
|
|
46
48
|
|
|
49
|
+
### Alternative 2: Install liflig-cdk from a Git branch
|
|
50
|
+
|
|
51
|
+
1. Navigate to the project where you want to test the changes
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
cd /path/to/other/project
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
2. Install the library in an application from a Git branch
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm install "https://github.com/capralifecycle/liflig-cdk.git#my-feature-branch"
|
|
61
|
+
```
|
|
62
|
+
|
|
47
63
|
Note: `npm link` cannot be used, since it will lead to multiple
|
|
48
64
|
declarations of the same classes from CDK, breaking the `instanceof`
|
|
49
65
|
operator.
|
|
@@ -8,8 +8,7 @@ const lambda = require("aws-cdk-lib/aws-lambda");
|
|
|
8
8
|
const s3 = require("aws-cdk-lib/aws-s3");
|
|
9
9
|
const cdk = require("aws-cdk-lib");
|
|
10
10
|
const secretsmanager = require("aws-cdk-lib/aws-secretsmanager");
|
|
11
|
-
const
|
|
12
|
-
const status_handler_1 = require("./status-handler");
|
|
11
|
+
const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
13
12
|
/**
|
|
14
13
|
* This construct is responsible for the privileges and logic of
|
|
15
14
|
* automatically deploying stack resources in an account.
|
|
@@ -121,11 +120,11 @@ class CdkDeploy extends constructs.Construct {
|
|
|
121
120
|
artifactsBucket.grantRead(codebuildProject);
|
|
122
121
|
cloudFormationRole.grantPassRole(codebuildProject.role);
|
|
123
122
|
codebuildBucket.grantReadWrite(codebuildProject);
|
|
124
|
-
const startDeployFn = new
|
|
125
|
-
|
|
126
|
-
runtime: lambda.Runtime.
|
|
127
|
-
handler: "index.handler",
|
|
123
|
+
const startDeployFn = new aws_lambda_nodejs_1.NodejsFunction(this, "StartDeployFunction", {
|
|
124
|
+
entry: require.resolve("./start-deploy-handler"),
|
|
125
|
+
runtime: lambda.Runtime.NODEJS_18_X,
|
|
128
126
|
functionName: props.startDeployFunctionName,
|
|
127
|
+
awsSdkConnectionReuse: false,
|
|
129
128
|
environment: {
|
|
130
129
|
PROJECT_NAME: codebuildProject.projectName,
|
|
131
130
|
BUCKET_NAME: codebuildBucket.bucketName,
|
|
@@ -139,11 +138,11 @@ class CdkDeploy extends constructs.Construct {
|
|
|
139
138
|
actions: ["codebuild:StartBuild", "codebuild:BatchGetBuilds"],
|
|
140
139
|
resources: [codebuildProject.projectArn],
|
|
141
140
|
}));
|
|
142
|
-
const statusFn = new
|
|
143
|
-
|
|
144
|
-
runtime: lambda.Runtime.
|
|
145
|
-
handler: "index.handler",
|
|
141
|
+
const statusFn = new aws_lambda_nodejs_1.NodejsFunction(this, "StatusFunction", {
|
|
142
|
+
entry: require.resolve("./status-handler"),
|
|
143
|
+
runtime: lambda.Runtime.NODEJS_18_X,
|
|
146
144
|
functionName: props.statusFunctionName,
|
|
145
|
+
awsSdkConnectionReuse: false,
|
|
147
146
|
environment: {
|
|
148
147
|
PROJECT_NAME: codebuildProject.projectName,
|
|
149
148
|
},
|
|
@@ -172,4 +171,4 @@ class CdkDeploy extends constructs.Construct {
|
|
|
172
171
|
}
|
|
173
172
|
}
|
|
174
173
|
exports.CdkDeploy = CdkDeploy;
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstZGVwbG95L2Nkay1kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLHVEQUFzRDtBQUN0RCwyQ0FBMEM7QUFDMUMsaURBQWdEO0FBQ2hELHlDQUF3QztBQUN4QyxtQ0FBa0M7QUFDbEMsaUVBQWdFO0FBQ2hFLGlFQUEyRDtBQUMzRCxxREFBZ0Q7QUF5Q2hEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFhLFNBQVUsU0FBUSxVQUFVLENBQUMsU0FBUztJQUNqRCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQVk7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFDMUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFBO1FBRXhDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUM5QyxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLEtBQUssQ0FBQyxtQkFBbUIsQ0FDMUIsQ0FBQTtRQUVELE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ2pELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7U0FDckQsQ0FBQyxDQUFBO1FBRUYsc0NBQXNDO1FBQ3RDLGdEQUFnRDtRQUNoRCxNQUFNLGVBQWUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ25FLFVBQVUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUMxQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxjQUFjLEVBQUU7Z0JBQ2Q7b0JBQ0UsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDakM7YUFDRjtTQUNGLENBQUMsQ0FBQTtRQUVGLCtDQUErQztRQUMvQyxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDbEUsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLDhCQUE4QixDQUFDO1lBQ25FLGVBQWUsRUFBRTtnQkFDZixzRUFBc0U7Z0JBQ3RFLHlFQUF5RTtnQkFDekUsR0FBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQzthQUNsRTtTQUNGLENBQUMsQ0FBQTtRQUVGLG1DQUFtQztRQUNuQywrRkFBK0Y7UUFDL0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3ZFLFdBQVcsRUFBRTtnQkFDWCxVQUFVLEVBQ1IsS0FBSyxDQUFDLDJCQUEyQixJQUFJLElBQUk7b0JBQ3ZDLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztvQkFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFO3dCQUN0RCx5QkFBeUIsRUFDdkIsY0FBYyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDcEMsSUFBSSxFQUNKLDZCQUE2QixFQUM3QixLQUFLLENBQUMsMkJBQTJCLENBQ2xDO3FCQUNKLENBQUM7YUFDVDtZQUNELFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsR0FBRyxFQUFFO29CQUNILFNBQVMsRUFBRTt3QkFDVCxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO3dCQUMvQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsbUJBQW1CO3FCQUNsRDtpQkFDRjtnQkFDRCxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRTs0QkFDUix3QkFBd0I7NEJBQ3hCLG9NQUFvTTt5QkFDck07cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBQ0YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUE7UUFFRixrQ0FBa0M7UUFDbEMsZ0JBQWdCLENBQUMsZUFBZSxDQUM5QixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLFlBQVk7Z0JBQ1osK0JBQStCO2dCQUMvQiw0QkFBNEI7Z0JBQzVCLGNBQWM7Z0JBQ2QsZ0NBQWdDO2dCQUNoQyw0QkFBNEI7Z0JBQzVCLGtDQUFrQztnQkFDbEMsaUNBQWlDO2dCQUNqQyxvQ0FBb0M7Z0JBQ3BDLGdDQUFnQzthQUNqQztZQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUNqQixDQUFDLENBQ0gsQ0FBQTtRQUVELDBDQUEwQztRQUMxQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQzlCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsZUFBZTtnQkFDZixlQUFlO2dCQUNmLFVBQVU7Z0JBQ1YsZUFBZTtnQkFDZixXQUFXO2dCQUNYLGtCQUFrQjthQUNuQjtZQUNELFNBQVMsRUFBRTtnQkFDVCxnQkFBZ0IsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxrQkFBa0I7YUFDMUU7U0FDRixDQUFDLENBQ0gsQ0FBQTtRQUVELGVBQWUsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUUzQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSyxDQUFDLENBQUE7UUFFeEQsZUFBZSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRWhELE1BQU0sYUFBYSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDckUsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLHlDQUFrQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3REO1lBQ0QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixZQUFZLEVBQUUsS0FBSyxDQUFDLHVCQUF1QjtZQUMzQyxXQUFXLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLGdCQUFnQixDQUFDLFdBQVc7Z0JBQzFDLFdBQVcsRUFBRSxlQUFlLENBQUMsVUFBVTtnQkFDdkMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzthQUM5QztZQUNELE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7U0FDbEMsQ0FBQyxDQUFBO1FBRUYsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUMxQyxlQUFlLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRTdDLGFBQWEsQ0FBQyxlQUFlLENBQzNCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwwQkFBMEIsQ0FBQztZQUM3RCxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7U0FDekMsQ0FBQyxDQUNILENBQUE7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzNELElBQUksRUFBRSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQ3pCLHFCQUFxQiw4QkFBYSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ2pEO1lBQ0QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixZQUFZLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUN0QyxXQUFXLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLGdCQUFnQixDQUFDLFdBQVc7YUFDM0M7WUFDRCxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ2xDLENBQUMsQ0FBQTtRQUVGLFFBQVEsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUE7UUFFckMsUUFBUSxDQUFDLGVBQWUsQ0FDdEIsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO1lBQ3JDLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztTQUN6QyxDQUFDLENBQ0gsQ0FBQTtRQUVELFFBQVEsQ0FBQyxlQUFlLENBQ3RCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QixTQUFTLEVBQUU7Z0JBQ1QsZ0JBQWdCLE1BQU0sSUFBSSxPQUFPLDZCQUE2QixnQkFBZ0IsQ0FBQyxXQUFXLGVBQWU7YUFDMUc7U0FDRixDQUFDLENBQ0gsQ0FBQTtRQUVELElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDNUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxPQUFPO1NBQy9CLENBQUMsQ0FBQTtRQUNGLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDM0MsS0FBSyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1NBQzVCLENBQUMsQ0FBQTtRQUNGLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDaEQsS0FBSyxFQUFFLGFBQWEsQ0FBQyxXQUFXO1NBQ2pDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQXhMRCw4QkF3TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNvZGVidWlsZCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCJcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBzZWNyZXRzbWFuYWdlciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCJcbmltcG9ydCB7IHN0YXJ0RGVwbG95SGFuZGxlciB9IGZyb20gXCIuL3N0YXJ0LWRlcGxveS1oYW5kbGVyXCJcbmltcG9ydCB7IHN0YXR1c0hhbmRsZXIgfSBmcm9tIFwiLi9zdGF0dXMtaGFuZGxlclwiXG5cbmludGVyZmFjZSBQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gYXNzdW1lIHRoZSBkZXBsb3lcbiAgICogcm9sZS4gVGhpcyByb2xlIG11c3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFzc3VtZSB0aGUgZGVwbG95IHJvbGUuXG4gICAqL1xuICBjYWxsZXJSb2xlQXJuOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGVwbG95IHJvbGUuIFRoaXMgaXMgdGhlIHJvbGVcbiAgICogdGhhdCB0aGUgY2FsbGVyIHdpbGwgYXNzdW1lIGluIG9yZGVyIHRvIGhhdmUgcGVybWlzc2lvbiB0byBpbnZva2VcbiAgICogdGhlIExhbWJkYSBGdW5jdGlvbnMuXG4gICAqL1xuICByb2xlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHVzZWQgZm9yIHN0b3JpbmcgYXJ0aWZhY3RzLiBUaGlzIGlzIHVzZWQgdG8gZ3JhbnRcbiAgICogcGVybWlzc2lvbiB0byB0aGUgcm9sZSB0byByZWFkIGFydGlmYWN0LiBJZiB0aGUgYnVja2V0IGlzIGluXG4gICAqIGFub3RoZXIgYWNjb3VudCwgaXQgbXVzdCBoYXZlIGEgcG9saWN5IHdoaWNoIGFsbG93cyB0aGUgdGFyZ2V0XG4gICAqIGFjY291bnQgdG8gdXNlIElBTSBwZXJtaXNzaW9ucyBmcm9tIHRhcmdldCBhY2NvdW50LlxuICAgKi9cbiAgYXJ0aWZhY3RzQnVja2V0TmFtZTogc3RyaW5nXG4gIHN0YXJ0RGVwbG95RnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgc3RhdHVzRnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIHN0YWNrIG5hbWUgdXNlZCB3aXRoIGBjZGsgYm9vdHN0cmFwYCBhbmQgY2FuIGVcbiAgICogZm91bmQgaW4gY2RrLmpzb24gYXMgXCJ0b29sa2l0U3RhY2tOYW1lXCIuXG4gICAqL1xuICBjZGtUb29sa2l0U3RhY2tOYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFdlIHBhc3MgdGhlIENESyBjb250ZXh0IHZhbHVlcyBhcyB0aGV5IGNvbnRhaW4gZmVhdHVyZSBmbGFnc1xuICAgKiB1c2VkIGJ5IHRoZSBDREsgQ0xJLlxuICAgKi9cbiAgY2RrQ29udGV4dDogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGNvbnRhaW5pbmcgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIChvciBhY2Nlc3MgdG9rZW4pXG4gICAqIGZvciBhIHZhbGlkIGRvY2tlciB1c2VyLiBUaGlzIGlzIHVzZWQgdG8gYWNjZXNzIHByaXZhdGVcbiAgICogcmVwb3NpdG9yaWVzIG9yIHRvIGhhbmRsZSBkb2NrZXIgaHViJ3MgcHVsbCByYXRlIGxpbWl0aW5nLlxuICAgKi9cbiAgZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lPzogc3RyaW5nXG59XG5cbi8qKlxuICogVGhpcyBjb25zdHJ1Y3QgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBwcml2aWxlZ2VzIGFuZCBsb2dpYyBvZlxuICogYXV0b21hdGljYWxseSBkZXBsb3lpbmcgc3RhY2sgcmVzb3VyY2VzIGluIGFuIGFjY291bnQuXG4gKiBJdHMgcmVzb3VyY2VzIGFyZSB1c2VkIGZyb20gYSBkZXBsb3ltZW50IHBpcGVsaW5lLlxuICpcbiAqIFRoZSBkZXBsb3ltZW50IGlzIHBlcmZvcm1lZCBieSBpbnZva2luZyB0aGUgXCJzdGFydCBkZXBsb3lcIlxuICogbGFtYmRhIHdpdGggZGV0YWlscyBvZiB3aGF0IHNob3VsZCBiZSBkZXBsb3llZC4gQXMgdGhpcyBpc1xuICogcmVzcG9uc2libGUgZm9yIGRlcGxveWluZyBpbmZyYXN0cnVjdHVyZSwgdGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogbWlnaHQgYmUgYWJsZSB0byBjYXVzZSBwcml2aWxlZ2UgZXNjYWxhdGlvbi4gVGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogc2hvdWxkIGJlIGFzc3VtZWQgdG8gaGF2ZSBmdWxsIGFkbWluaXN0cmF0b3IgYWNjZXNzLlxuICpcbiAqIFRoZSBwcm9jZXNzIGRlcGxveWluZyB0aGUgaW5mcmFzdHJ1Y3R1cmUgaXMgbG9ja2VkIGRvd24gc28gdGhpc1xuICogaXMgb25seSBwb3NzaWJseSBieSBkZXBsb3ltZW50IHRocm91Z2ggQ2xvdWRGb3JtYXRpb24sIGFuZCBhc1xuICogc3VjaCByZW1vdmVzIGEgbG90IG9mIHBvc3NpYmxlIGVzY2FsYXRpb24gcGF0aHMgKGUuZy4gbm8gcm9sZVxuICogY2FuIGJlIGNyZWF0ZWQgYnkgZGlyZWN0IEFQSSBjYWxsKS5cbiAqXG4gKiBUaGUgXCJzdGF0dXNcIiBsYW1iZGEgY2FuIGJlIHVzZWQgdG8gcG9sbCBmb3IgY29tcGxldGlvbiwgYW5kIHdpbGxcbiAqIGFsc28gcmV0dXJuIGxvZ3MgZnJvbSB0aGUgam9iIHVwb24gY29tcGxldGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RlcGxveSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBhY2NvdW50ID0gY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICBjb25zdCByZWdpb24gPSBjZGsuU3RhY2sub2YodGhpcykucmVnaW9uXG5cbiAgICBjb25zdCBhcnRpZmFjdHNCdWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJBcnRpZmFjdHNCdWNrZXRcIixcbiAgICAgIHByb3BzLmFydGlmYWN0c0J1Y2tldE5hbWUsXG4gICAgKVxuXG4gICAgY29uc3Qgcm9sZVRvQmVBc3N1bWVkID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiUm9sZVwiLCB7XG4gICAgICByb2xlTmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQXJuUHJpbmNpcGFsKHByb3BzLmNhbGxlclJvbGVBcm4pLFxuICAgIH0pXG5cbiAgICAvLyBCdWNrZWQgdXNlZCBmb3IgaW5wdXQgdG8gQ29kZUJ1aWxkLlxuICAgIC8vIFdlIGxldCBDbG91ZEZvcm1hdGlvbiBtYW5hZ2UgdGhlIGJ1Y2tldCBuYW1lLlxuICAgIGNvbnN0IGNvZGVidWlsZEJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgXCJDb2RlYnVpbGRTb3VyY2VCdWNrZXRcIiwge1xuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleHBpcmF0aW9uOiBjZGsuRHVyYXRpb24uZGF5cyg1KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFRoZSByb2xlIHVzZWQgZm9yIENsb3VkRm9ybWF0aW9uIGRlcGxveW1lbnQuXG4gICAgY29uc3QgY2xvdWRGb3JtYXRpb25Sb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiQ2xvdWRGb3JtYXRpb25Sb2xlXCIsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiY2xvdWRmb3JtYXRpb24uYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICAvLyBUT0RPOiBDYW4gd2UgcmVzdHJpY3QgdGhpcyBhIGJpdCBtb3JlPyBFLmcuIGxvb2sgaW50byBob3cgR3JpaWQgaGFzXG4gICAgICAgIC8vICBsaW1pdGVkIHdoYXQgdGhlIGluZGl2aWR1YWwgc3RhY2sgZGVwbG95bWVudHMgaGF2ZSBwZXJtaXNzaW9ucyB0byBkby5cbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQWRtaW5pc3RyYXRvckFjY2Vzc1wiKSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFJlcGxhY2UgQ29kZUJ1aWxkIHdpdGggRUNTIHRhc2s/XG4gICAgLy8gU2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vYmxvZ3MvZGV2b3BzL3VzaW5nLWF3cy1jb2RlYnVpbGQtdG8tZXhlY3V0ZS1hZG1pbmlzdHJhdGl2ZS10YXNrcy9cbiAgICBjb25zdCBjb2RlYnVpbGRQcm9qZWN0ID0gbmV3IGNvZGVidWlsZC5Qcm9qZWN0KHRoaXMsIFwiQ29kZWJ1aWxkUHJvamVjdFwiLCB7XG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBidWlsZEltYWdlOlxuICAgICAgICAgIHByb3BzLmRvY2tlckNyZWRlbnRpYWxzU2VjcmV0TmFtZSA9PSBudWxsXG4gICAgICAgICAgICA/IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KFwibm9kZToxNlwiKVxuICAgICAgICAgICAgOiBjb2RlYnVpbGQuTGludXhCdWlsZEltYWdlLmZyb21Eb2NrZXJSZWdpc3RyeShcIm5vZGU6MTZcIiwge1xuICAgICAgICAgICAgICAgIHNlY3JldHNNYW5hZ2VyQ3JlZGVudGlhbHM6XG4gICAgICAgICAgICAgICAgICBzZWNyZXRzbWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldE5hbWVWMihcbiAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgXCJkb2NrZXJDcmVkZW50aWFsc1NlY3JldE5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgYnVpbGRTcGVjOiBjb2RlYnVpbGQuQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICB2ZXJzaW9uOiBcIjAuMlwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfUk9MRV9BUk46IGNsb3VkRm9ybWF0aW9uUm9sZS5yb2xlQXJuLFxuICAgICAgICAgICAgQ0RLX1RPT0xLSVRfU1RBQ0tfTkFNRTogcHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAgICAgXCJucG0gaW5zdGFsbCAtZyBhd3MtY2RrXCIsXG4gICAgICAgICAgICAgICdjZGsgLS1hcHAgXCIkQ09ERUJVSUxEX1NSQ19ESVJfQ0xPVURBU1NFTUJMWVwiIC0tcm9sZS1hcm4gXCIkQ0RLX0RFUExPWV9ST0xFX0FSTlwiIC0tdG9vbGtpdC1zdGFjay1uYW1lIFwiJENES19UT09MS0lUX1NUQUNLX05BTUVcIiAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgZGVwbG95IC0tZXhjbHVzaXZlbHkgJChjYXQgc3RhY2stbmFtZXMudHh0KScsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5ob3Vycyg0KSxcbiAgICB9KVxuXG4gICAgLy8gR3JhbnQgYWNjZXNzIHRvIENsb3VkRm9ybWF0aW9uLlxuICAgIGNvZGVidWlsZFByb2plY3QuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgLy8gRm9yIGRpZmYuXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrc1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246R2V0VGVtcGxhdGVcIixcbiAgICAgICAgICAvLyBGb3IgZGVwbG95LlxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0XCIsXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZWxldGVTdGFja1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246RGVzY3JpYmVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkV4ZWN1dGVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tFdmVudHNcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldFwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICAvLyBHcmFudCBhY2Nlc3MgdG8gdGhlIENESyBUb29sa2l0IGJ1Y2tldC5cbiAgICBjb2RlYnVpbGRQcm9qZWN0LmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwiczM6R2V0T2JqZWN0KlwiLFxuICAgICAgICAgIFwiczM6R2V0QnVja2V0KlwiLFxuICAgICAgICAgIFwiczM6TGlzdCpcIixcbiAgICAgICAgICBcInMzOlB1dE9iamVjdCpcIixcbiAgICAgICAgICBcInMzOkFib3J0KlwiLFxuICAgICAgICAgIFwiczM6RGVsZXRlT2JqZWN0KlwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7cHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZS50b0xvd2VyQ2FzZSgpfS1zdGFnaW5nYnVja2V0LSpgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgYXJ0aWZhY3RzQnVja2V0LmdyYW50UmVhZChjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY2xvdWRGb3JtYXRpb25Sb2xlLmdyYW50UGFzc1JvbGUoY29kZWJ1aWxkUHJvamVjdC5yb2xlISlcblxuICAgIGNvZGVidWlsZEJ1Y2tldC5ncmFudFJlYWRXcml0ZShjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY29uc3Qgc3RhcnREZXBsb3lGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJTdGFydERlcGxveUZ1bmN0aW9uXCIsIHtcbiAgICAgIGNvZGU6IG5ldyBsYW1iZGEuSW5saW5lQ29kZShcbiAgICAgICAgYGV4cG9ydHMuaGFuZGxlciA9ICR7c3RhcnREZXBsb3lIYW5kbGVyLnRvU3RyaW5nKCl9O2AsXG4gICAgICApLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHMuc3RhcnREZXBsb3lGdW5jdGlvbk5hbWUsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBQUk9KRUNUX05BTUU6IGNvZGVidWlsZFByb2plY3QucHJvamVjdE5hbWUsXG4gICAgICAgIEJVQ0tFVF9OQU1FOiBjb2RlYnVpbGRCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgQ0RLX0NPTlRFWFQ6IEpTT04uc3RyaW5naWZ5KHByb3BzLmNka0NvbnRleHQpLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICB9KVxuXG4gICAgc3RhcnREZXBsb3lGbi5ncmFudEludm9rZShyb2xlVG9CZUFzc3VtZWQpXG4gICAgY29kZWJ1aWxkQnVja2V0LmdyYW50UmVhZFdyaXRlKHN0YXJ0RGVwbG95Rm4pXG5cbiAgICBzdGFydERlcGxveUZuLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wiY29kZWJ1aWxkOlN0YXJ0QnVpbGRcIiwgXCJjb2RlYnVpbGQ6QmF0Y2hHZXRCdWlsZHNcIl0sXG4gICAgICAgIHJlc291cmNlczogW2NvZGVidWlsZFByb2plY3QucHJvamVjdEFybl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBjb25zdCBzdGF0dXNGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJTdGF0dXNGdW5jdGlvblwiLCB7XG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke3N0YXR1c0hhbmRsZXIudG9TdHJpbmcoKX07YCxcbiAgICAgICksXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTZfWCxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgZnVuY3Rpb25OYW1lOiBwcm9wcy5zdGF0dXNGdW5jdGlvbk5hbWUsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBQUk9KRUNUX05BTUU6IGNvZGVidWlsZFByb2plY3QucHJvamVjdE5hbWUsXG4gICAgICB9LFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgIH0pXG5cbiAgICBzdGF0dXNGbi5ncmFudEludm9rZShyb2xlVG9CZUFzc3VtZWQpXG5cbiAgICBzdGF0dXNGbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcImNvZGVidWlsZDpCYXRjaEdldEJ1aWxkc1wiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbY29kZWJ1aWxkUHJvamVjdC5wcm9qZWN0QXJuXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIHN0YXR1c0ZuLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wibG9nczpHZXRMb2dFdmVudHNcIl0sXG4gICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgIGBhcm46YXdzOmxvZ3M6JHtyZWdpb259OiR7YWNjb3VudH06bG9nLWdyb3VwOi9hd3MvY29kZWJ1aWxkLyR7Y29kZWJ1aWxkUHJvamVjdC5wcm9qZWN0TmFtZX06bG9nLXN0cmVhbToqYCxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiUm9sZVRvQmVBc3N1bWVkQXJuXCIsIHtcbiAgICAgIHZhbHVlOiByb2xlVG9CZUFzc3VtZWQucm9sZUFybixcbiAgICB9KVxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiU3RhdHVzRnVuY3Rpb25Bcm5cIiwge1xuICAgICAgdmFsdWU6IHN0YXR1c0ZuLmZ1bmN0aW9uQXJuLFxuICAgIH0pXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJTdGFydERlcGxveUZ1bmN0aW9uQXJuXCIsIHtcbiAgICAgIHZhbHVlOiBzdGFydERlcGxveUZuLmZ1bmN0aW9uQXJuLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstZGVwbG95L2Nkay1kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLHVEQUFzRDtBQUN0RCwyQ0FBMEM7QUFDMUMsaURBQWdEO0FBQ2hELHlDQUF3QztBQUN4QyxtQ0FBa0M7QUFDbEMsaUVBQWdFO0FBQ2hFLHFFQUE4RDtBQXlDOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQWEsU0FBVSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ2pELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFeEMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQzlDLElBQUksRUFDSixpQkFBaUIsRUFDakIsS0FBSyxDQUFDLG1CQUFtQixDQUMxQixDQUFBO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDakQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztTQUNyRCxDQUFDLENBQUE7UUFFRixzQ0FBc0M7UUFDdEMsZ0RBQWdEO1FBQ2hELE1BQU0sZUFBZSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDbkUs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QUFFLEtBQUs7WUFDNUIsV0FBVyxFQUFFO2dCQUNYLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXO2FBQzNDO1lBQ0QsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztTQUNsQyxDQUFDLENBQUE7UUFFRixRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBRXJDLFFBQVEsQ0FBQyxlQUFlLENBQ3RCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztZQUNyQyxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7U0FDekMsQ0FBQyxDQUNILENBQUE7UUFFRCxRQUFRLENBQUMsZUFBZSxDQUN0QixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDOUIsU0FBUyxFQUFFO2dCQUNULGdCQUFnQixNQUFNLElBQUksT0FBTyw2QkFBNkIsZ0JBQWdCLENBQUMsV0FBVyxlQUFlO2FBQzFHO1NBQ0YsQ0FBQyxDQUNILENBQUE7UUFFRCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQzVDLEtBQUssRUFBRSxlQUFlLENBQUMsT0FBTztTQUMvQixDQUFDLENBQUE7UUFDRixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQzNDLEtBQUssRUFBRSxRQUFRLENBQUMsV0FBVztTQUM1QixDQUFDLENBQUE7UUFDRixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ2hELEtBQUssRUFBRSxhQUFhLENBQUMsV0FBVztTQUNqQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUFwTEQsOEJBb0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjb2RlYnVpbGQgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlYnVpbGRcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgc2VjcmV0c21hbmFnZXIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiXG5cbmludGVyZmFjZSBQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gYXNzdW1lIHRoZSBkZXBsb3lcbiAgICogcm9sZS4gVGhpcyByb2xlIG11c3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFzc3VtZSB0aGUgZGVwbG95IHJvbGUuXG4gICAqL1xuICBjYWxsZXJSb2xlQXJuOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGVwbG95IHJvbGUuIFRoaXMgaXMgdGhlIHJvbGVcbiAgICogdGhhdCB0aGUgY2FsbGVyIHdpbGwgYXNzdW1lIGluIG9yZGVyIHRvIGhhdmUgcGVybWlzc2lvbiB0byBpbnZva2VcbiAgICogdGhlIExhbWJkYSBGdW5jdGlvbnMuXG4gICAqL1xuICByb2xlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHVzZWQgZm9yIHN0b3JpbmcgYXJ0aWZhY3RzLiBUaGlzIGlzIHVzZWQgdG8gZ3JhbnRcbiAgICogcGVybWlzc2lvbiB0byB0aGUgcm9sZSB0byByZWFkIGFydGlmYWN0LiBJZiB0aGUgYnVja2V0IGlzIGluXG4gICAqIGFub3RoZXIgYWNjb3VudCwgaXQgbXVzdCBoYXZlIGEgcG9saWN5IHdoaWNoIGFsbG93cyB0aGUgdGFyZ2V0XG4gICAqIGFjY291bnQgdG8gdXNlIElBTSBwZXJtaXNzaW9ucyBmcm9tIHRhcmdldCBhY2NvdW50LlxuICAgKi9cbiAgYXJ0aWZhY3RzQnVja2V0TmFtZTogc3RyaW5nXG4gIHN0YXJ0RGVwbG95RnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgc3RhdHVzRnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIHN0YWNrIG5hbWUgdXNlZCB3aXRoIGBjZGsgYm9vdHN0cmFwYCBhbmQgY2FuIGVcbiAgICogZm91bmQgaW4gY2RrLmpzb24gYXMgXCJ0b29sa2l0U3RhY2tOYW1lXCIuXG4gICAqL1xuICBjZGtUb29sa2l0U3RhY2tOYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFdlIHBhc3MgdGhlIENESyBjb250ZXh0IHZhbHVlcyBhcyB0aGV5IGNvbnRhaW4gZmVhdHVyZSBmbGFnc1xuICAgKiB1c2VkIGJ5IHRoZSBDREsgQ0xJLlxuICAgKi9cbiAgY2RrQ29udGV4dDogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGNvbnRhaW5pbmcgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIChvciBhY2Nlc3MgdG9rZW4pXG4gICAqIGZvciBhIHZhbGlkIGRvY2tlciB1c2VyLiBUaGlzIGlzIHVzZWQgdG8gYWNjZXNzIHByaXZhdGVcbiAgICogcmVwb3NpdG9yaWVzIG9yIHRvIGhhbmRsZSBkb2NrZXIgaHViJ3MgcHVsbCByYXRlIGxpbWl0aW5nLlxuICAgKi9cbiAgZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lPzogc3RyaW5nXG59XG5cbi8qKlxuICogVGhpcyBjb25zdHJ1Y3QgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBwcml2aWxlZ2VzIGFuZCBsb2dpYyBvZlxuICogYXV0b21hdGljYWxseSBkZXBsb3lpbmcgc3RhY2sgcmVzb3VyY2VzIGluIGFuIGFjY291bnQuXG4gKiBJdHMgcmVzb3VyY2VzIGFyZSB1c2VkIGZyb20gYSBkZXBsb3ltZW50IHBpcGVsaW5lLlxuICpcbiAqIFRoZSBkZXBsb3ltZW50IGlzIHBlcmZvcm1lZCBieSBpbnZva2luZyB0aGUgXCJzdGFydCBkZXBsb3lcIlxuICogbGFtYmRhIHdpdGggZGV0YWlscyBvZiB3aGF0IHNob3VsZCBiZSBkZXBsb3llZC4gQXMgdGhpcyBpc1xuICogcmVzcG9uc2libGUgZm9yIGRlcGxveWluZyBpbmZyYXN0cnVjdHVyZSwgdGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogbWlnaHQgYmUgYWJsZSB0byBjYXVzZSBwcml2aWxlZ2UgZXNjYWxhdGlvbi4gVGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogc2hvdWxkIGJlIGFzc3VtZWQgdG8gaGF2ZSBmdWxsIGFkbWluaXN0cmF0b3IgYWNjZXNzLlxuICpcbiAqIFRoZSBwcm9jZXNzIGRlcGxveWluZyB0aGUgaW5mcmFzdHJ1Y3R1cmUgaXMgbG9ja2VkIGRvd24gc28gdGhpc1xuICogaXMgb25seSBwb3NzaWJseSBieSBkZXBsb3ltZW50IHRocm91Z2ggQ2xvdWRGb3JtYXRpb24sIGFuZCBhc1xuICogc3VjaCByZW1vdmVzIGEgbG90IG9mIHBvc3NpYmxlIGVzY2FsYXRpb24gcGF0aHMgKGUuZy4gbm8gcm9sZVxuICogY2FuIGJlIGNyZWF0ZWQgYnkgZGlyZWN0IEFQSSBjYWxsKS5cbiAqXG4gKiBUaGUgXCJzdGF0dXNcIiBsYW1iZGEgY2FuIGJlIHVzZWQgdG8gcG9sbCBmb3IgY29tcGxldGlvbiwgYW5kIHdpbGxcbiAqIGFsc28gcmV0dXJuIGxvZ3MgZnJvbSB0aGUgam9iIHVwb24gY29tcGxldGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RlcGxveSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBhY2NvdW50ID0gY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICBjb25zdCByZWdpb24gPSBjZGsuU3RhY2sub2YodGhpcykucmVnaW9uXG5cbiAgICBjb25zdCBhcnRpZmFjdHNCdWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJBcnRpZmFjdHNCdWNrZXRcIixcbiAgICAgIHByb3BzLmFydGlmYWN0c0J1Y2tldE5hbWUsXG4gICAgKVxuXG4gICAgY29uc3Qgcm9sZVRvQmVBc3N1bWVkID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiUm9sZVwiLCB7XG4gICAgICByb2xlTmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQXJuUHJpbmNpcGFsKHByb3BzLmNhbGxlclJvbGVBcm4pLFxuICAgIH0pXG5cbiAgICAvLyBCdWNrZWQgdXNlZCBmb3IgaW5wdXQgdG8gQ29kZUJ1aWxkLlxuICAgIC8vIFdlIGxldCBDbG91ZEZvcm1hdGlvbiBtYW5hZ2UgdGhlIGJ1Y2tldCBuYW1lLlxuICAgIGNvbnN0IGNvZGVidWlsZEJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgXCJDb2RlYnVpbGRTb3VyY2VCdWNrZXRcIiwge1xuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleHBpcmF0aW9uOiBjZGsuRHVyYXRpb24uZGF5cyg1KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFRoZSByb2xlIHVzZWQgZm9yIENsb3VkRm9ybWF0aW9uIGRlcGxveW1lbnQuXG4gICAgY29uc3QgY2xvdWRGb3JtYXRpb25Sb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiQ2xvdWRGb3JtYXRpb25Sb2xlXCIsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiY2xvdWRmb3JtYXRpb24uYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICAvLyBUT0RPOiBDYW4gd2UgcmVzdHJpY3QgdGhpcyBhIGJpdCBtb3JlPyBFLmcuIGxvb2sgaW50byBob3cgR3JpaWQgaGFzXG4gICAgICAgIC8vICBsaW1pdGVkIHdoYXQgdGhlIGluZGl2aWR1YWwgc3RhY2sgZGVwbG95bWVudHMgaGF2ZSBwZXJtaXNzaW9ucyB0byBkby5cbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQWRtaW5pc3RyYXRvckFjY2Vzc1wiKSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFJlcGxhY2UgQ29kZUJ1aWxkIHdpdGggRUNTIHRhc2s/XG4gICAgLy8gU2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vYmxvZ3MvZGV2b3BzL3VzaW5nLWF3cy1jb2RlYnVpbGQtdG8tZXhlY3V0ZS1hZG1pbmlzdHJhdGl2ZS10YXNrcy9cbiAgICBjb25zdCBjb2RlYnVpbGRQcm9qZWN0ID0gbmV3IGNvZGVidWlsZC5Qcm9qZWN0KHRoaXMsIFwiQ29kZWJ1aWxkUHJvamVjdFwiLCB7XG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBidWlsZEltYWdlOlxuICAgICAgICAgIHByb3BzLmRvY2tlckNyZWRlbnRpYWxzU2VjcmV0TmFtZSA9PSBudWxsXG4gICAgICAgICAgICA/IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KFwibm9kZToxNlwiKVxuICAgICAgICAgICAgOiBjb2RlYnVpbGQuTGludXhCdWlsZEltYWdlLmZyb21Eb2NrZXJSZWdpc3RyeShcIm5vZGU6MTZcIiwge1xuICAgICAgICAgICAgICAgIHNlY3JldHNNYW5hZ2VyQ3JlZGVudGlhbHM6XG4gICAgICAgICAgICAgICAgICBzZWNyZXRzbWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldE5hbWVWMihcbiAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgXCJkb2NrZXJDcmVkZW50aWFsc1NlY3JldE5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgYnVpbGRTcGVjOiBjb2RlYnVpbGQuQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICB2ZXJzaW9uOiBcIjAuMlwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfUk9MRV9BUk46IGNsb3VkRm9ybWF0aW9uUm9sZS5yb2xlQXJuLFxuICAgICAgICAgICAgQ0RLX1RPT0xLSVRfU1RBQ0tfTkFNRTogcHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAgICAgXCJucG0gaW5zdGFsbCAtZyBhd3MtY2RrXCIsXG4gICAgICAgICAgICAgICdjZGsgLS1hcHAgXCIkQ09ERUJVSUxEX1NSQ19ESVJfQ0xPVURBU1NFTUJMWVwiIC0tcm9sZS1hcm4gXCIkQ0RLX0RFUExPWV9ST0xFX0FSTlwiIC0tdG9vbGtpdC1zdGFjay1uYW1lIFwiJENES19UT09MS0lUX1NUQUNLX05BTUVcIiAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgZGVwbG95IC0tZXhjbHVzaXZlbHkgJChjYXQgc3RhY2stbmFtZXMudHh0KScsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5ob3Vycyg0KSxcbiAgICB9KVxuXG4gICAgLy8gR3JhbnQgYWNjZXNzIHRvIENsb3VkRm9ybWF0aW9uLlxuICAgIGNvZGVidWlsZFByb2plY3QuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgLy8gRm9yIGRpZmYuXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrc1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246R2V0VGVtcGxhdGVcIixcbiAgICAgICAgICAvLyBGb3IgZGVwbG95LlxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0XCIsXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZWxldGVTdGFja1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246RGVzY3JpYmVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkV4ZWN1dGVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tFdmVudHNcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldFwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICAvLyBHcmFudCBhY2Nlc3MgdG8gdGhlIENESyBUb29sa2l0IGJ1Y2tldC5cbiAgICBjb2RlYnVpbGRQcm9qZWN0LmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwiczM6R2V0T2JqZWN0KlwiLFxuICAgICAgICAgIFwiczM6R2V0QnVja2V0KlwiLFxuICAgICAgICAgIFwiczM6TGlzdCpcIixcbiAgICAgICAgICBcInMzOlB1dE9iamVjdCpcIixcbiAgICAgICAgICBcInMzOkFib3J0KlwiLFxuICAgICAgICAgIFwiczM6RGVsZXRlT2JqZWN0KlwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7cHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZS50b0xvd2VyQ2FzZSgpfS1zdGFnaW5nYnVja2V0LSpgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgYXJ0aWZhY3RzQnVja2V0LmdyYW50UmVhZChjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY2xvdWRGb3JtYXRpb25Sb2xlLmdyYW50UGFzc1JvbGUoY29kZWJ1aWxkUHJvamVjdC5yb2xlISlcblxuICAgIGNvZGVidWlsZEJ1Y2tldC5ncmFudFJlYWRXcml0ZShjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY29uc3Qgc3RhcnREZXBsb3lGbiA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCBcIlN0YXJ0RGVwbG95RnVuY3Rpb25cIiwge1xuICAgICAgZW50cnk6IHJlcXVpcmUucmVzb2x2ZShcIi4vc3RhcnQtZGVwbG95LWhhbmRsZXJcIiksXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHMuc3RhcnREZXBsb3lGdW5jdGlvbk5hbWUsXG4gICAgICBhd3NTZGtDb25uZWN0aW9uUmV1c2U6IGZhbHNlLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUFJPSkVDVF9OQU1FOiBjb2RlYnVpbGRQcm9qZWN0LnByb2plY3ROYW1lLFxuICAgICAgICBCVUNLRVRfTkFNRTogY29kZWJ1aWxkQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIENES19DT05URVhUOiBKU09OLnN0cmluZ2lmeShwcm9wcy5jZGtDb250ZXh0KSxcbiAgICAgIH0sXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgfSlcblxuICAgIHN0YXJ0RGVwbG95Rm4uZ3JhbnRJbnZva2Uocm9sZVRvQmVBc3N1bWVkKVxuICAgIGNvZGVidWlsZEJ1Y2tldC5ncmFudFJlYWRXcml0ZShzdGFydERlcGxveUZuKVxuXG4gICAgc3RhcnREZXBsb3lGbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcImNvZGVidWlsZDpTdGFydEJ1aWxkXCIsIFwiY29kZWJ1aWxkOkJhdGNoR2V0QnVpbGRzXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtjb2RlYnVpbGRQcm9qZWN0LnByb2plY3RBcm5dLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY29uc3Qgc3RhdHVzRm4gPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgXCJTdGF0dXNGdW5jdGlvblwiLCB7XG4gICAgICBlbnRyeTogcmVxdWlyZS5yZXNvbHZlKFwiLi9zdGF0dXMtaGFuZGxlclwiKSxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xOF9YLFxuICAgICAgZnVuY3Rpb25OYW1lOiBwcm9wcy5zdGF0dXNGdW5jdGlvbk5hbWUsXG4gICAgICBhd3NTZGtDb25uZWN0aW9uUmV1c2U6IGZhbHNlLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUFJPSkVDVF9OQU1FOiBjb2RlYnVpbGRQcm9qZWN0LnByb2plY3ROYW1lLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICB9KVxuXG4gICAgc3RhdHVzRm4uZ3JhbnRJbnZva2Uocm9sZVRvQmVBc3N1bWVkKVxuXG4gICAgc3RhdHVzRm4uYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJjb2RlYnVpbGQ6QmF0Y2hHZXRCdWlsZHNcIl0sXG4gICAgICAgIHJlc291cmNlczogW2NvZGVidWlsZFByb2plY3QucHJvamVjdEFybl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBzdGF0dXNGbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcImxvZ3M6R2V0TG9nRXZlbnRzXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpsb2dzOiR7cmVnaW9ufToke2FjY291bnR9OmxvZy1ncm91cDovYXdzL2NvZGVidWlsZC8ke2NvZGVidWlsZFByb2plY3QucHJvamVjdE5hbWV9OmxvZy1zdHJlYW06KmAsXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIlJvbGVUb0JlQXNzdW1lZEFyblwiLCB7XG4gICAgICB2YWx1ZTogcm9sZVRvQmVBc3N1bWVkLnJvbGVBcm4sXG4gICAgfSlcbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIlN0YXR1c0Z1bmN0aW9uQXJuXCIsIHtcbiAgICAgIHZhbHVlOiBzdGF0dXNGbi5mdW5jdGlvbkFybixcbiAgICB9KVxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiU3RhcnREZXBsb3lGdW5jdGlvbkFyblwiLCB7XG4gICAgICB2YWx1ZTogc3RhcnREZXBsb3lGbi5mdW5jdGlvbkFybixcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const s3 = new AWS.S3();
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
|
+
const client_codebuild_1 = require("@aws-sdk/client-codebuild");
|
|
6
|
+
// noinspection JSUnusedGlobalSymbols
|
|
7
|
+
const handler = async (event, context) => {
|
|
8
|
+
const codeBuildClient = new client_codebuild_1.CodeBuildClient();
|
|
9
|
+
const s3Client = new client_s3_1.S3Client();
|
|
11
10
|
function requireEnv(name) {
|
|
12
11
|
const value = process.env[name];
|
|
13
12
|
if (value === undefined) {
|
|
@@ -29,35 +28,29 @@ const startDeployHandler = async (event, context) => {
|
|
|
29
28
|
!event.stackNames.every((it) => typeof it === "string" && validStackName.test(it))) {
|
|
30
29
|
throw new Error("Input invalid: " + JSON.stringify(event, undefined, " "));
|
|
31
30
|
}
|
|
32
|
-
async function
|
|
33
|
-
await
|
|
34
|
-
.putObject({
|
|
31
|
+
async function putObject(name, data) {
|
|
32
|
+
await s3Client.send(new client_s3_1.PutObjectCommand({
|
|
35
33
|
Bucket: bucketName,
|
|
36
34
|
Key: `${s3KeyPrefix}${name}`,
|
|
37
35
|
Body: data,
|
|
38
|
-
})
|
|
39
|
-
.promise();
|
|
36
|
+
}));
|
|
40
37
|
}
|
|
41
|
-
await
|
|
38
|
+
await putObject("stack-names.txt", event.stackNames.join(" "));
|
|
42
39
|
// Ensure that we run the script using same feature flags.
|
|
43
|
-
await
|
|
44
|
-
|
|
45
|
-
}));
|
|
46
|
-
const build = await codebuild
|
|
47
|
-
.startBuild({
|
|
40
|
+
await putObject("cdk.json", JSON.stringify({ context: cdkContext }));
|
|
41
|
+
const { build } = await codeBuildClient.send(new client_codebuild_1.StartBuildCommand({
|
|
48
42
|
projectName,
|
|
49
|
-
sourceTypeOverride:
|
|
43
|
+
sourceTypeOverride: client_codebuild_1.SourceType.S3,
|
|
50
44
|
sourceLocationOverride: `${bucketName}/${s3KeyPrefix}`,
|
|
51
45
|
secondarySourcesOverride: [
|
|
52
46
|
{
|
|
53
|
-
type:
|
|
47
|
+
type: client_codebuild_1.SourceType.S3,
|
|
54
48
|
location: `${event.bucketName}/${event.bucketKey}`,
|
|
55
49
|
sourceIdentifier: "CLOUDASSEMBLY",
|
|
56
50
|
},
|
|
57
51
|
],
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
const buildId = (_a = build.build) === null || _a === void 0 ? void 0 : _a.id;
|
|
52
|
+
}));
|
|
53
|
+
const buildId = build === null || build === void 0 ? void 0 : build.id;
|
|
61
54
|
if (buildId == null) {
|
|
62
55
|
throw new Error("Unknown build ID");
|
|
63
56
|
}
|
|
@@ -68,5 +61,5 @@ const startDeployHandler = async (event, context) => {
|
|
|
68
61
|
jobId: buildId,
|
|
69
62
|
};
|
|
70
63
|
};
|
|
71
|
-
exports.
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
exports.handler = handler;
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZGVwbG95LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGFydC1kZXBsb3ktaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxrREFBK0Q7QUFDL0QsZ0VBSWtDO0FBUWxDLHFDQUFxQztBQUM5QixNQUFNLE9BQU8sR0FBK0MsS0FBSyxFQUN0RSxLQUFLLEVBQ0wsT0FBTyxFQUNQLEVBQUU7SUFDRixNQUFNLGVBQWUsR0FBRyxJQUFJLGtDQUFlLEVBQUUsQ0FBQTtJQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLEVBQUUsQ0FBQTtJQUUvQixTQUFTLFVBQVUsQ0FBQyxJQUFZO1FBQzlCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0IsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUE7UUFDcEMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUM5QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDNUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtJQUV4RCx5REFBeUQ7SUFDekQsdURBQXVEO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLDBCQUEwQixDQUFBO0lBQ2pELE1BQU0sV0FBVyxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFBO0lBRTlDLHNCQUFzQjtJQUN0QixJQUNFLE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRO1FBQ25DLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ2hDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3JCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDMUQsRUFDRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBRUQsS0FBSyxVQUFVLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUNqRCxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQ2pCLElBQUksNEJBQWdCLENBQUM7WUFDbkIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsR0FBRyxFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRTtZQUM1QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sU0FBUyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDOUQsMERBQTBEO0lBQzFELE1BQU0sU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUVwRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxlQUFlLENBQUMsSUFBSSxDQUMxQyxJQUFJLG9DQUFpQixDQUFDO1FBQ3BCLFdBQVc7UUFDWCxrQkFBa0IsRUFBRSw2QkFBVSxDQUFDLEVBQUU7UUFDakMsc0JBQXNCLEVBQUUsR0FBRyxVQUFVLElBQUksV0FBVyxFQUFFO1FBQ3RELHdCQUF3QixFQUFFO1lBQ3hCO2dCQUNFLElBQUksRUFBRSw2QkFBVSxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDbEQsZ0JBQWdCLEVBQUUsZUFBZTthQUNsQztTQUNGO0tBQ0YsQ0FBQyxDQUNILENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsRUFBRSxDQUFBO0lBRXpCLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsT0FBTztRQUNMLGlFQUFpRTtRQUNqRSxvRUFBb0U7UUFDcEUsb0NBQW9DO1FBQ3BDLEtBQUssRUFBRSxPQUFPO0tBQ2YsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQTVFWSxRQUFBLE9BQU8sV0E0RW5CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG5pbXBvcnQgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG5pbXBvcnQgeyBTM0NsaWVudCwgUHV0T2JqZWN0Q29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIlxuaW1wb3J0IHtcbiAgQ29kZUJ1aWxkQ2xpZW50LFxuICBTdGFydEJ1aWxkQ29tbWFuZCxcbiAgU291cmNlVHlwZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jb2RlYnVpbGRcIlxuXG5pbnRlcmZhY2UgU3RhcnREZXBsb3lFeHBlY3RlZElucHV0IHtcbiAgYnVja2V0TmFtZTogc3RyaW5nXG4gIGJ1Y2tldEtleTogc3RyaW5nXG4gIHN0YWNrTmFtZXM6IHN0cmluZ1tdXG59XG5cbi8vIG5vaW5zcGVjdGlvbiBKU1VudXNlZEdsb2JhbFN5bWJvbHNcbmV4cG9ydCBjb25zdCBoYW5kbGVyOiBIYW5kbGVyPFBhcnRpYWw8U3RhcnREZXBsb3lFeHBlY3RlZElucHV0Pj4gPSBhc3luYyAoXG4gIGV2ZW50LFxuICBjb250ZXh0LFxuKSA9PiB7XG4gIGNvbnN0IGNvZGVCdWlsZENsaWVudCA9IG5ldyBDb2RlQnVpbGRDbGllbnQoKVxuICBjb25zdCBzM0NsaWVudCA9IG5ldyBTM0NsaWVudCgpXG5cbiAgZnVuY3Rpb24gcmVxdWlyZUVudihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV1cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nICR7bmFtZX1gKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIGNvbnN0IHByb2plY3ROYW1lID0gcmVxdWlyZUVudihcIlBST0pFQ1RfTkFNRVwiKVxuICBjb25zdCBidWNrZXROYW1lID0gcmVxdWlyZUVudihcIkJVQ0tFVF9OQU1FXCIpXG4gIGNvbnN0IGNka0NvbnRleHQgPSBKU09OLnBhcnNlKHJlcXVpcmVFbnYoXCJDREtfQ09OVEVYVFwiKSlcblxuICAvLyBTaW5jZSB3ZSBwYXNzIHRoZSBzdGFjayBuYW1lcyBhcyBzdHJpbmdzIHRvIHRoZSBzaGVsbCxcbiAgLy8gYmUgYSBiaXQgcmVzdHJpY3RpdmUgb2YgdGhlIHZhbGlkIHZhbHVlcyB3ZSBjYW4gdXNlLlxuICBjb25zdCB2YWxpZFN0YWNrTmFtZSA9IC9eW2EtejAtOV9dW2EtejAtOVxcLV9dKiQvaVxuICBjb25zdCBzM0tleVByZWZpeCA9IGAke2NvbnRleHQuYXdzUmVxdWVzdElkfS9gXG5cbiAgLy8gVmFsaWRhdGUgdGhlIGlucHV0LlxuICBpZiAoXG4gICAgdHlwZW9mIGV2ZW50LmJ1Y2tldE5hbWUgIT09IFwic3RyaW5nXCIgfHxcbiAgICB0eXBlb2YgZXZlbnQuYnVja2V0S2V5ICE9PSBcInN0cmluZ1wiIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZXZlbnQuc3RhY2tOYW1lcykgfHxcbiAgICAhZXZlbnQuc3RhY2tOYW1lcy5ldmVyeShcbiAgICAgIChpdCkgPT4gdHlwZW9mIGl0ID09PSBcInN0cmluZ1wiICYmIHZhbGlkU3RhY2tOYW1lLnRlc3QoaXQpLFxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgaW52YWxpZDogXCIgKyBKU09OLnN0cmluZ2lmeShldmVudCwgdW5kZWZpbmVkLCBcIiAgXCIpKVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcHV0T2JqZWN0KG5hbWU6IHN0cmluZywgZGF0YTogc3RyaW5nKSB7XG4gICAgYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBQdXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgICBLZXk6IGAke3MzS2V5UHJlZml4fSR7bmFtZX1gLFxuICAgICAgICBCb2R5OiBkYXRhLFxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgYXdhaXQgcHV0T2JqZWN0KFwic3RhY2stbmFtZXMudHh0XCIsIGV2ZW50LnN0YWNrTmFtZXMuam9pbihcIiBcIikpXG4gIC8vIEVuc3VyZSB0aGF0IHdlIHJ1biB0aGUgc2NyaXB0IHVzaW5nIHNhbWUgZmVhdHVyZSBmbGFncy5cbiAgYXdhaXQgcHV0T2JqZWN0KFwiY2RrLmpzb25cIiwgSlNPTi5zdHJpbmdpZnkoeyBjb250ZXh0OiBjZGtDb250ZXh0IH0pKVxuXG4gIGNvbnN0IHsgYnVpbGQgfSA9IGF3YWl0IGNvZGVCdWlsZENsaWVudC5zZW5kKFxuICAgIG5ldyBTdGFydEJ1aWxkQ29tbWFuZCh7XG4gICAgICBwcm9qZWN0TmFtZSxcbiAgICAgIHNvdXJjZVR5cGVPdmVycmlkZTogU291cmNlVHlwZS5TMyxcbiAgICAgIHNvdXJjZUxvY2F0aW9uT3ZlcnJpZGU6IGAke2J1Y2tldE5hbWV9LyR7czNLZXlQcmVmaXh9YCxcbiAgICAgIHNlY29uZGFyeVNvdXJjZXNPdmVycmlkZTogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogU291cmNlVHlwZS5TMyxcbiAgICAgICAgICBsb2NhdGlvbjogYCR7ZXZlbnQuYnVja2V0TmFtZX0vJHtldmVudC5idWNrZXRLZXl9YCxcbiAgICAgICAgICBzb3VyY2VJZGVudGlmaWVyOiBcIkNMT1VEQVNTRU1CTFlcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gIClcbiAgY29uc3QgYnVpbGRJZCA9IGJ1aWxkPy5pZFxuXG4gIGlmIChidWlsZElkID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGJ1aWxkIElEXCIpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8vIFRoaXMgaXMgdGhlIHZhbHVlIHRoZSBjYWxsZXIgd2lsbCB1c2UgdG8gZmV0Y2ggdXBkYXRlZCBzdGF0dXMuXG4gICAgLy8gQXZvaWQgZXhwb3Npbmcgd2hhdCBraW5kIG9mIElEIHRoaXMgaXMsIGJlY2F1c2Ugd2Ugc2hvdWxkIGJlIGZyZWVcbiAgICAvLyB0byBjaGFuZ2UgaW1wbGVtZW50YXRpb24gZGV0YWlscy5cbiAgICBqb2JJZDogYnVpbGRJZCxcbiAgfVxufVxuIl19
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const client_codebuild_1 = require("@aws-sdk/client-codebuild");
|
|
5
|
+
const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
|
|
6
|
+
const handler = async (event) => {
|
|
7
|
+
const codeBuildClient = new client_codebuild_1.CodeBuildClient();
|
|
8
|
+
const cloudWatchLogsClient = new client_cloudwatch_logs_1.CloudWatchLogsClient();
|
|
8
9
|
function requireEnv(name) {
|
|
9
10
|
const value = process.env[name];
|
|
10
11
|
if (value === undefined) {
|
|
@@ -31,13 +32,12 @@ const statusHandler = async (event) => {
|
|
|
31
32
|
return false;
|
|
32
33
|
}
|
|
33
34
|
async function getBuild(buildId) {
|
|
34
|
-
var _a
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
throw new Error(`Expected 1 item, found ${(_c = (_b = result.builds) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : "unknown"}`);
|
|
35
|
+
var _a;
|
|
36
|
+
const { builds } = await codeBuildClient.send(new client_codebuild_1.BatchGetBuildsCommand({ ids: [buildId] }));
|
|
37
|
+
if ((builds === null || builds === void 0 ? void 0 : builds.length) !== 1) {
|
|
38
|
+
throw new Error(`Expected 1 item, found ${(_a = builds === null || builds === void 0 ? void 0 : builds.length) !== null && _a !== void 0 ? _a : "unknown"}`);
|
|
39
39
|
}
|
|
40
|
-
return
|
|
40
|
+
return builds[0];
|
|
41
41
|
}
|
|
42
42
|
async function getLogs(build) {
|
|
43
43
|
if (build.logs == null) {
|
|
@@ -49,19 +49,16 @@ const statusHandler = async (event) => {
|
|
|
49
49
|
if (build.logs.streamName == null) {
|
|
50
50
|
throw new Error("Missing log streamName");
|
|
51
51
|
}
|
|
52
|
-
const
|
|
53
|
-
const data = await cloudwatchlogs
|
|
54
|
-
.getLogEvents({
|
|
52
|
+
const { events } = await cloudWatchLogsClient.send(new client_cloudwatch_logs_1.GetLogEventsCommand({
|
|
55
53
|
logGroupName: build.logs.groupName,
|
|
56
54
|
logStreamName: build.logs.streamName,
|
|
57
55
|
startFromHead: true,
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
if (data.events == null) {
|
|
56
|
+
}));
|
|
57
|
+
if (events == null) {
|
|
61
58
|
throw new Error("Failed to fetch log events");
|
|
62
59
|
}
|
|
63
60
|
// The logs contain newlines, so no need to add more.
|
|
64
|
-
return
|
|
61
|
+
return events.map((it) => it.message).join("");
|
|
65
62
|
}
|
|
66
63
|
const projectName = requireEnv("PROJECT_NAME");
|
|
67
64
|
// Validate the input.
|
|
@@ -79,5 +76,5 @@ const statusHandler = async (event) => {
|
|
|
79
76
|
logs,
|
|
80
77
|
};
|
|
81
78
|
};
|
|
82
|
-
exports.
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
exports.handler = handler;
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGF0dXMtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxnRUFLa0M7QUFFbEMsNEVBR3dDO0FBTWpDLE1BQU0sT0FBTyxHQUEwQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDNUUsTUFBTSxlQUFlLEdBQUcsSUFBSSxrQ0FBZSxFQUFFLENBQUE7SUFDN0MsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDZDQUFvQixFQUFFLENBQUE7SUFFdkQsU0FBUyxVQUFVLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsVUFBVSxDQUFDLE1BQWtCO1FBQ3BDLElBQUksTUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELElBQUksTUFBTSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELEtBQUssVUFBVSxRQUFRLENBQUMsT0FBZTs7UUFDckMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sZUFBZSxDQUFDLElBQUksQ0FDM0MsSUFBSSx3Q0FBcUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FDOUMsQ0FBQTtRQUVELElBQUksQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxNQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sbUNBQUksU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMxRSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbEIsQ0FBQztJQUVELEtBQUssVUFBVSxPQUFPLENBQUMsS0FBWTtRQUNqQyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQ3BELENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDM0MsQ0FBQztRQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixDQUFDLElBQUksQ0FDaEQsSUFBSSw0Q0FBbUIsQ0FBQztZQUN0QixZQUFZLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2xDLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUNILENBQUE7UUFFRCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUVELHFEQUFxRDtRQUNyRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUU5QyxzQkFBc0I7SUFDdEIsSUFDRSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUTtRQUMvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsRUFDMUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV6QyxNQUFNLE9BQU8sR0FDWCxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRWxFLDBDQUEwQztJQUMxQyxNQUFNLElBQUksR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBRTFELE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsT0FBTztRQUNQLElBQUk7S0FDTCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBakdZLFFBQUEsT0FBTyxXQWlHbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG5pbXBvcnQge1xuICBDb2RlQnVpbGRDbGllbnQsXG4gIEJhdGNoR2V0QnVpbGRzQ29tbWFuZCxcbiAgU3RhdHVzVHlwZSxcbiAgQnVpbGQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY29kZWJ1aWxkXCJcblxuaW1wb3J0IHtcbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnQsXG4gIEdldExvZ0V2ZW50c0NvbW1hbmQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWR3YXRjaC1sb2dzXCJcblxuaW50ZXJmYWNlIFN0YXR1c0V4cGVjdGVkSW5wdXQge1xuICBqb2JJZDogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyOiBIYW5kbGVyPFBhcnRpYWw8U3RhdHVzRXhwZWN0ZWRJbnB1dD4+ID0gYXN5bmMgKGV2ZW50KSA9PiB7XG4gIGNvbnN0IGNvZGVCdWlsZENsaWVudCA9IG5ldyBDb2RlQnVpbGRDbGllbnQoKVxuICBjb25zdCBjbG91ZFdhdGNoTG9nc0NsaWVudCA9IG5ldyBDbG91ZFdhdGNoTG9nc0NsaWVudCgpXG5cbiAgZnVuY3Rpb24gcmVxdWlyZUVudihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV1cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nICR7bmFtZX1gKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc3VjY2VzcyBzdGF0dXMuXG4gICAqXG4gICAqIEEgdmFsdWUgb2YgdHJ1ZSBtZWFucyB0aGUgam9iIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCB3aGlsZVxuICAgKiBhIHZhbHVlIG9mIGZhbHNlIG1lYW5zIHRoZSBqb2IgZGlkIGNvbXBsZXRlIGJ1dCBub3Qgc3VjY2Vzc2Z1bGx5LlxuICAgKlxuICAgKiBBIG51bGwgdmFsdWUgbWVhbnMgdGhlIGpvYiBpcyBzdGlsbCBpbiBwcm9ncmVzcyBhbmQgdGhlXG4gICAqIGNvbXBsZXRpb24gc3RhdHVzIGlzIG5vdCB5ZXQga25vd24uXG4gICAqL1xuICBmdW5jdGlvbiBnZXRTdWNjZXNzKHN0YXR1czogU3RhdHVzVHlwZSk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICBpZiAoc3RhdHVzID09IFwiU1VDQ0VFREVEXCIpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHN0YXR1cyA9PSBcIklOX1BST0dSRVNTXCIpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRCdWlsZChidWlsZElkOiBzdHJpbmcpOiBQcm9taXNlPEJ1aWxkPiB7XG4gICAgY29uc3QgeyBidWlsZHMgfSA9IGF3YWl0IGNvZGVCdWlsZENsaWVudC5zZW5kKFxuICAgICAgbmV3IEJhdGNoR2V0QnVpbGRzQ29tbWFuZCh7IGlkczogW2J1aWxkSWRdIH0pLFxuICAgIClcblxuICAgIGlmIChidWlsZHM/Lmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAxIGl0ZW0sIGZvdW5kICR7YnVpbGRzPy5sZW5ndGggPz8gXCJ1bmtub3duXCJ9YClcbiAgICB9XG5cbiAgICByZXR1cm4gYnVpbGRzWzBdXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRMb2dzKGJ1aWxkOiBCdWlsZCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKGJ1aWxkLmxvZ3MgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBsb2dzIGF0dHJpYnV0ZSBvbiBidWlsZFwiKVxuICAgIH1cblxuICAgIGlmIChidWlsZC5sb2dzLmdyb3VwTmFtZSA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGxvZyBncm91cE5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoYnVpbGQubG9ncy5zdHJlYW1OYW1lID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgbG9nIHN0cmVhbU5hbWVcIilcbiAgICB9XG5cbiAgICBjb25zdCB7IGV2ZW50cyB9ID0gYXdhaXQgY2xvdWRXYXRjaExvZ3NDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRMb2dFdmVudHNDb21tYW5kKHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBidWlsZC5sb2dzLmdyb3VwTmFtZSxcbiAgICAgICAgbG9nU3RyZWFtTmFtZTogYnVpbGQubG9ncy5zdHJlYW1OYW1lLFxuICAgICAgICBzdGFydEZyb21IZWFkOiB0cnVlLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgaWYgKGV2ZW50cyA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gZmV0Y2ggbG9nIGV2ZW50c1wiKVxuICAgIH1cblxuICAgIC8vIFRoZSBsb2dzIGNvbnRhaW4gbmV3bGluZXMsIHNvIG5vIG5lZWQgdG8gYWRkIG1vcmUuXG4gICAgcmV0dXJuIGV2ZW50cy5tYXAoKGl0KSA9PiBpdC5tZXNzYWdlKS5qb2luKFwiXCIpXG4gIH1cblxuICBjb25zdCBwcm9qZWN0TmFtZSA9IHJlcXVpcmVFbnYoXCJQUk9KRUNUX05BTUVcIilcblxuICAvLyBWYWxpZGF0ZSB0aGUgaW5wdXQuXG4gIGlmIChcbiAgICB0eXBlb2YgZXZlbnQuam9iSWQgIT09IFwic3RyaW5nXCIgfHxcbiAgICAhZXZlbnQuam9iSWQuc3RhcnRzV2l0aChgJHtwcm9qZWN0TmFtZX06YClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgaW52YWxpZDogXCIgKyBKU09OLnN0cmluZ2lmeShldmVudCwgdW5kZWZpbmVkLCBcIiAgXCIpKVxuICB9XG5cbiAgY29uc3QgYnVpbGQgPSBhd2FpdCBnZXRCdWlsZChldmVudC5qb2JJZClcblxuICBjb25zdCBzdWNjZXNzID1cbiAgICBidWlsZC5idWlsZFN0YXR1cyA9PSBudWxsID8gbnVsbCA6IGdldFN1Y2Nlc3MoYnVpbGQuYnVpbGRTdGF0dXMpXG5cbiAgLy8gUmVhZCBsb2dzIGZyb20gQ2xvdWRXYXRjaCBpZiBjb21wbGV0ZWQuXG4gIGNvbnN0IGxvZ3MgPSBzdWNjZXNzICE9IG51bGwgPyBhd2FpdCBnZXRMb2dzKGJ1aWxkKSA6IG51bGxcblxuICByZXR1cm4ge1xuICAgIGpvYklkOiBldmVudC5qb2JJZCxcbiAgICBzdWNjZXNzLFxuICAgIGxvZ3MsXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,63 +1,74 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
3
|
+
exports.handler = void 0;
|
|
4
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
|
+
const client_codepipeline_1 = require("@aws-sdk/client-codepipeline");
|
|
6
|
+
const lib_storage_1 = require("@aws-sdk/lib-storage");
|
|
7
|
+
const handler = async (event, context) => {
|
|
8
|
+
const s3Client = new client_s3_1.S3Client();
|
|
9
|
+
const codepipelineClient = new client_codepipeline_1.CodePipelineClient();
|
|
9
10
|
const jobId = event["CodePipeline.job"].id;
|
|
10
11
|
try {
|
|
11
12
|
const userParametersRaw = event["CodePipeline.job"].data.actionConfiguration.configuration
|
|
12
13
|
.UserParameters;
|
|
13
14
|
console.log("User parameters", userParametersRaw);
|
|
15
|
+
console.log("Parsing user parameters");
|
|
14
16
|
const userParameters = JSON.parse(userParametersRaw);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
console.log("Fetching reference data from S3");
|
|
18
|
+
const getReferenceDataResp = await s3Client.send(new client_s3_1.GetObjectCommand({
|
|
17
19
|
Bucket: userParameters.bucketName,
|
|
18
20
|
Key: userParameters.objectKey,
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
}));
|
|
22
|
+
const referenceData = await getReferenceDataResp.Body.transformToString("utf-8");
|
|
23
|
+
console.log("Parsing reference data from S3");
|
|
22
24
|
const cloudAssemblyReference = JSON.parse(referenceData);
|
|
23
25
|
const outputArtifact = event["CodePipeline.job"].data.outputArtifacts[0];
|
|
24
26
|
const s3Loc = outputArtifact.location.s3Location;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
console.log("Fetching Cloud Assembly ZIP data from S3");
|
|
28
|
+
const cloudAssemblyZipData = await s3Client.send(new client_s3_1.GetObjectCommand({
|
|
27
29
|
Bucket: cloudAssemblyReference.cloudAssemblyBucketName,
|
|
28
30
|
Key: cloudAssemblyReference.cloudAssemblyBucketKey,
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
console.log("
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
}));
|
|
32
|
+
console.log("Content-Length of Cloud Assembly (bytes)", cloudAssemblyZipData.ContentLength);
|
|
33
|
+
console.log("Creating authenticated S3 client for artifact upload");
|
|
34
|
+
const artifactCreds = event["CodePipeline.job"].data.artifactCredentials;
|
|
35
|
+
if (artifactCreds === undefined) {
|
|
36
|
+
console.error("No artifact credentials found in job event");
|
|
37
|
+
}
|
|
38
|
+
const authedS3Client = new client_s3_1.S3Client({
|
|
39
|
+
credentials: artifactCreds,
|
|
40
|
+
});
|
|
41
|
+
console.log(`Uploading Cloud Assembly ZIP to s3://${s3Loc.bucketName}/${s3Loc.objectKey}`);
|
|
42
|
+
const upload = new lib_storage_1.Upload({
|
|
43
|
+
client: authedS3Client,
|
|
44
|
+
params: {
|
|
45
|
+
Bucket: s3Loc.bucketName,
|
|
46
|
+
Key: s3Loc.objectKey,
|
|
47
|
+
Body: cloudAssemblyZipData.Body,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
upload.on("httpUploadProgress", (progress) => {
|
|
51
|
+
console.log(progress);
|
|
52
|
+
});
|
|
53
|
+
await upload.done();
|
|
54
|
+
console.log("Sending success result to CodePipeline");
|
|
55
|
+
await codepipelineClient.send(new client_codepipeline_1.PutJobSuccessResultCommand({
|
|
43
56
|
jobId,
|
|
44
|
-
})
|
|
45
|
-
.promise();
|
|
57
|
+
}));
|
|
46
58
|
console.log("Success");
|
|
47
59
|
}
|
|
48
60
|
catch (e) {
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
console.log("Sending failure result to CodePipeline");
|
|
62
|
+
await codepipelineClient.send(new client_codepipeline_1.PutJobFailureResultCommand({
|
|
51
63
|
failureDetails: {
|
|
52
64
|
message: JSON.stringify(e),
|
|
53
65
|
type: "JobFailed",
|
|
54
66
|
externalExecutionId: context.awsRequestId,
|
|
55
67
|
},
|
|
56
68
|
jobId,
|
|
57
|
-
})
|
|
58
|
-
.promise();
|
|
69
|
+
}));
|
|
59
70
|
console.error("Failed", e);
|
|
60
71
|
}
|
|
61
72
|
};
|
|
62
|
-
exports.
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
exports.handler = handler;
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxrREFBK0Q7QUFDL0Qsc0VBSXFDO0FBQ3JDLHNEQUE2QztBQTBDdEMsTUFBTSxPQUFPLEdBQVksS0FBSyxFQUFFLEtBQXdCLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBUSxFQUFFLENBQUE7SUFDL0IsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHdDQUFrQixFQUFFLENBQUE7SUFFbkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQ3JCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO2FBQzdELGNBQWMsQ0FBQTtRQUVuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFFakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQy9CLGlCQUFpQixDQUNtQixDQUFBO1FBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtRQUM5QyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FDOUMsSUFBSSw0QkFBZ0IsQ0FBQztZQUNuQixNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVU7WUFDakMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxTQUFTO1NBQzlCLENBQUMsQ0FDSCxDQUFBO1FBQ0QsTUFBTSxhQUFhLEdBQ2pCLE1BQU0sb0JBQW9C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cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHR5cGUgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgR2V0T2JqZWN0Q29tbWFuZCwgUzNDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCJcbmltcG9ydCB7XG4gIENvZGVQaXBlbGluZUNsaWVudCxcbiAgUHV0Sm9iRmFpbHVyZVJlc3VsdENvbW1hbmQsXG4gIFB1dEpvYlN1Y2Nlc3NSZXN1bHRDb21tYW5kLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIlxuXG4vLyBSZWxldmFudCBmaWVsZHMgZnJvbVxuLy8gaHR0cHM6Ly9kb2NzLmFtYXpvbmF3cy5jbi9lbl91cy9sYW1iZGEvbGF0ZXN0L2RnL3NlcnZpY2VzLWNvZGVwaXBlbGluZS5odG1sXG5pbnRlcmZhY2UgQ29kZVBpcGVsaW5lRXZlbnQge1xuICBcIkNvZGVQaXBlbGluZS5qb2JcIjoge1xuICAgIGlkOiBzdHJpbmdcbiAgICBkYXRhOiB7XG4gICAgICBhY3Rpb25Db25maWd1cmF0aW9uOiB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAvLyBKU09OXG4gICAgICAgICAgVXNlclBhcmFtZXRlcnM6IHN0cmluZ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXRwdXRBcnRpZmFjdHM6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nXG4gICAgICAgIGxvY2F0aW9uOiB7XG4gICAgICAgICAgczNMb2NhdGlvbjoge1xuICAgICAgICAgICAgYnVja2V0TmFtZTogc3RyaW5nXG4gICAgICAgICAgICBvYmplY3RLZXk6IHN0cmluZ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVtdXG4gICAgICBhcnRpZmFjdENyZWRlbnRpYWxzOiB7XG4gICAgICAgIGFjY2Vzc0tleUlkOiBzdHJpbmdcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiBzdHJpbmdcbiAgICAgICAgc2Vzc2lvblRva2VuOiBzdHJpbmdcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIENsb3VkQXNzZW1ibHlSZWZlcmVuY2Uge1xuICBjbG91ZEFzc2VtYmx5QnVja2V0TmFtZTogc3RyaW5nXG4gIGNsb3VkQXNzZW1ibHlCdWNrZXRLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkQXNzZW1ibHlMb29rdXBVc2VyUGFyYW1ldGVycyB7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICBvYmplY3RLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlcjogSGFuZGxlciA9IGFzeW5jIChldmVudDogQ29kZVBpcGVsaW5lRXZlbnQsIGNvbnRleHQpID0+IHtcbiAgY29uc3QgczNDbGllbnQgPSBuZXcgUzNDbGllbnQoKVxuICBjb25zdCBjb2RlcGlwZWxpbmVDbGllbnQgPSBuZXcgQ29kZVBpcGVsaW5lQ2xpZW50KClcblxuICBjb25zdCBqb2JJZCA9IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5pZFxuXG4gIHRyeSB7XG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnNSYXcgPVxuICAgICAgZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEuYWN0aW9uQ29uZmlndXJhdGlvbi5jb25maWd1cmF0aW9uXG4gICAgICAgIC5Vc2VyUGFyYW1ldGVyc1xuXG4gICAgY29uc29sZS5sb2coXCJVc2VyIHBhcmFtZXRlcnNcIiwgdXNlclBhcmFtZXRlcnNSYXcpXG5cbiAgICBjb25zb2xlLmxvZyhcIlBhcnNpbmcgdXNlciBwYXJhbWV0ZXJzXCIpXG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnMgPSBKU09OLnBhcnNlKFxuICAgICAgdXNlclBhcmFtZXRlcnNSYXcsXG4gICAgKSBhcyBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnNcblxuICAgIGNvbnNvbGUubG9nKFwiRmV0Y2hpbmcgcmVmZXJlbmNlIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGdldFJlZmVyZW5jZURhdGFSZXNwID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiB1c2VyUGFyYW1ldGVycy5idWNrZXROYW1lLFxuICAgICAgICBLZXk6IHVzZXJQYXJhbWV0ZXJzLm9iamVjdEtleSxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zdCByZWZlcmVuY2VEYXRhID1cbiAgICAgIGF3YWl0IGdldFJlZmVyZW5jZURhdGFSZXNwLkJvZHkhLnRyYW5zZm9ybVRvU3RyaW5nKFwidXRmLThcIilcblxuICAgIGNvbnNvbGUubG9nKFwiUGFyc2luZyByZWZlcmVuY2UgZGF0YSBmcm9tIFMzXCIpXG4gICAgY29uc3QgY2xvdWRBc3NlbWJseVJlZmVyZW5jZSA9IEpTT04ucGFyc2UoXG4gICAgICByZWZlcmVuY2VEYXRhLFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseVJlZmVyZW5jZVxuXG4gICAgY29uc3Qgb3V0cHV0QXJ0aWZhY3QgPSBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uZGF0YS5vdXRwdXRBcnRpZmFjdHNbMF1cbiAgICBjb25zdCBzM0xvYyA9IG91dHB1dEFydGlmYWN0LmxvY2F0aW9uLnMzTG9jYXRpb25cblxuICAgIGNvbnNvbGUubG9nKFwiRmV0Y2hpbmcgQ2xvdWQgQXNzZW1ibHkgWklQIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlaaXBEYXRhID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXROYW1lLFxuICAgICAgICBLZXk6IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UuY2xvdWRBc3NlbWJseUJ1Y2tldEtleSxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIFwiQ29udGVudC1MZW5ndGggb2YgQ2xvdWQgQXNzZW1ibHkgKGJ5dGVzKVwiLFxuICAgICAgY2xvdWRBc3NlbWJseVppcERhdGEuQ29udGVudExlbmd0aCxcbiAgICApXG5cbiAgICBjb25zb2xlLmxvZyhcIkNyZWF0aW5nIGF1dGhlbnRpY2F0ZWQgUzMgY2xpZW50IGZvciBhcnRpZmFjdCB1cGxvYWRcIilcbiAgICBjb25zdCBhcnRpZmFjdENyZWRzID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEuYXJ0aWZhY3RDcmVkZW50aWFsc1xuICAgIGlmIChhcnRpZmFjdENyZWRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJObyBhcnRpZmFjdCBjcmVkZW50aWFscyBmb3VuZCBpbiBqb2IgZXZlbnRcIilcbiAgICB9XG4gICAgY29uc3QgYXV0aGVkUzNDbGllbnQgPSBuZXcgUzNDbGllbnQoe1xuICAgICAgY3JlZGVudGlhbHM6IGFydGlmYWN0Q3JlZHMsXG4gICAgfSlcblxuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYFVwbG9hZGluZyBDbG91ZCBBc3NlbWJseSBaSVAgdG8gczM6Ly8ke3MzTG9jLmJ1Y2tldE5hbWV9LyR7czNMb2Mub2JqZWN0S2V5fWAsXG4gICAgKVxuXG4gICAgY29uc3QgdXBsb2FkID0gbmV3IFVwbG9hZCh7XG4gICAgICBjbGllbnQ6IGF1dGhlZFMzQ2xpZW50LFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIEJ1Y2tldDogczNMb2MuYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBzM0xvYy5vYmplY3RLZXksXG4gICAgICAgIEJvZHk6IGNsb3VkQXNzZW1ibHlaaXBEYXRhLkJvZHksXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICB1cGxvYWQub24oXCJodHRwVXBsb2FkUHJvZ3Jlc3NcIiwgKHByb2dyZXNzKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhwcm9ncmVzcylcbiAgICB9KVxuXG4gICAgYXdhaXQgdXBsb2FkLmRvbmUoKVxuXG4gICAgY29uc29sZS5sb2coXCJTZW5kaW5nIHN1Y2Nlc3MgcmVzdWx0IHRvIENvZGVQaXBlbGluZVwiKVxuICAgIGF3YWl0IGNvZGVwaXBlbGluZUNsaWVudC5zZW5kKFxuICAgICAgbmV3IFB1dEpvYlN1Y2Nlc3NSZXN1bHRDb21tYW5kKHtcbiAgICAgICAgam9iSWQsXG4gICAgICB9KSxcbiAgICApXG4gICAgY29uc29sZS5sb2coXCJTdWNjZXNzXCIpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmxvZyhcIlNlbmRpbmcgZmFpbHVyZSByZXN1bHQgdG8gQ29kZVBpcGVsaW5lXCIpXG4gICAgYXdhaXQgY29kZXBpcGVsaW5lQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgUHV0Sm9iRmFpbHVyZVJlc3VsdENvbW1hbmQoe1xuICAgICAgICBmYWlsdXJlRGV0YWlsczoge1xuICAgICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIHR5cGU6IFwiSm9iRmFpbGVkXCIsXG4gICAgICAgICAgZXh0ZXJuYWxFeGVjdXRpb25JZDogY29udGV4dC5hd3NSZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICAgIGpvYklkLFxuICAgICAgfSksXG4gICAgKVxuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWRcIiwgZSlcbiAgfVxufVxuIl19
|