@aws-cdk-testing/cli-integ 3.22.2 → 3.23.0
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/lib/cli/run-suite.js +10 -1
- package/lib/cli/stage-distribution.js +6 -6
- package/npm-shrinkwrap.json +593 -670
- package/package.json +3 -3
- package/tests/cli-integ-tests/deploy/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.js +17 -22
- package/tests/cli-integ-tests/deploy/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.js +17 -22
- package/tests/cli-integ-tests/deploy/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.js +8 -13
- package/tests/cli-integ-tests/deploy/cdk-construct-with-builtin-lambda-function.integtest.js +1 -2
- package/tests/cli-integ-tests/deploy/cdk-stage-with-bundled-lambda-function.integtest.js +1 -2
- package/tests/cli-integ-tests/deploy/cdk-termination-protection.integtest.js +2 -2
- package/tests/cli-integ-tests/hotswap/cdk-hotswap-deployment-supports-ecs-service.integtest.js +5 -4
- package/tests/cli-integ-tests/hotswap/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +5 -4
- package/tests/cli-integ-tests/import/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.js +31 -37
- package/tests/cli-integ-tests/import/cdk-test-resource-import.integtest.js +26 -32
- package/tests/cli-integ-tests/lookup/cdk-vpc-lookup.integtest.js +1 -3
- package/tests/cli-integ-tests/migrate/cdk-migrate-generates-migrate.json.integtest.js +1 -2
- package/tests/cli-integ-tests/migrate/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +3 -9
- package/tests/cli-integ-tests/migrate/testcase.js +23 -29
- package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-detect-changes.integtest.js +28 -0
- package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-filter-by-patterns.integtest.js +30 -0
- package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-no-changes.integtest.js +19 -0
- package/tests/cli-integ-tests/rollback/cdk-test-cdk-rollback---force.integtest.js +22 -27
- package/tests/cli-integ-tests/rollback/cdk-test-cdk-rollback.integtest.js +15 -20
- package/tests/telemetry-integ-tests/cli-telemetry/cdk-cli-telemetry-adds-context-value.integtest.d.ts +1 -0
- package/tests/telemetry-integ-tests/cli-telemetry/cdk-cli-telemetry-reports-status.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run.integtest.js +0 -69
- /package/tests/cli-integ-tests/{cli-telemetry/cdk-cli-telemetry-adds-context-value.integtest.d.ts → refactor/cdk-refactor-dry-run-detect-changes.integtest.d.ts} +0 -0
- /package/tests/cli-integ-tests/{cli-telemetry/cdk-cli-telemetry-reports-status.integtest.d.ts → refactor/cdk-refactor-dry-run-filter-by-patterns.integtest.d.ts} +0 -0
- /package/tests/cli-integ-tests/refactor/{cdk-refactor-dry-run.integtest.d.ts → cdk-refactor-dry-run-no-changes.integtest.d.ts} +0 -0
- /package/tests/{cli-integ-tests → telemetry-integ-tests}/cli-telemetry/cdk-cli-telemetry-adds-context-value.integtest.js +0 -0
- /package/tests/{cli-integ-tests → telemetry-integ-tests}/cli-telemetry/cdk-cli-telemetry-reports-status.integtest.js +0 -0
package/package.json
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"organization": true
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@aws-cdk/toolkit-lib": "1.
|
|
42
|
+
"@aws-cdk/toolkit-lib": "1.16.0",
|
|
43
43
|
"@aws-cdk/yarn-cling": "0.0.0",
|
|
44
44
|
"@cdklabs/eslint-plugin": "^1.3.5",
|
|
45
45
|
"@stylistic/eslint-plugin": "^3",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"@smithy/util-retry": "^4.2.6",
|
|
87
87
|
"axios": "^1",
|
|
88
88
|
"chalk": "^4",
|
|
89
|
+
"fast-glob": "^3.3.3",
|
|
89
90
|
"fs-extra": "^9",
|
|
90
|
-
"glob": "^9",
|
|
91
91
|
"jest": "^29",
|
|
92
92
|
"jest-junit": "^15",
|
|
93
93
|
"make-runnable": "^1",
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"publishConfig": {
|
|
117
117
|
"access": "public"
|
|
118
118
|
},
|
|
119
|
-
"version": "3.
|
|
119
|
+
"version": "3.23.0",
|
|
120
120
|
"types": "lib/index.d.ts",
|
|
121
121
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
122
122
|
}
|
|
@@ -10,26 +10,21 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
10
10
|
modEnv: { PHASE: phase },
|
|
11
11
|
verbose: false,
|
|
12
12
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
finally {
|
|
32
|
-
await fixture.cdkDestroy('test-rollback');
|
|
33
|
-
}
|
|
13
|
+
phase = '2a';
|
|
14
|
+
// Should fail
|
|
15
|
+
const deployOutput = await fixture.cdkDeploy('test-rollback', {
|
|
16
|
+
options: ['--no-rollback'],
|
|
17
|
+
modEnv: { PHASE: phase },
|
|
18
|
+
verbose: false,
|
|
19
|
+
allowErrExit: true,
|
|
20
|
+
});
|
|
21
|
+
expect(deployOutput).toContain('UPDATE_FAILED');
|
|
22
|
+
// Do a deployment removing --no-rollback: this will roll back first and then deploy normally
|
|
23
|
+
phase = '1';
|
|
24
|
+
await fixture.cdkDeploy('test-rollback', {
|
|
25
|
+
options: ['--force'],
|
|
26
|
+
modEnv: { PHASE: phase },
|
|
27
|
+
verbose: false,
|
|
28
|
+
});
|
|
34
29
|
}));
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWF1dG9tYXRpYy1yb2xsYmFjay1pZi1wYXVzZWQtYW5kLS0tbm8tcm9sbGJhY2staXMtcmVtb3ZlZC1mcm9tLWZsYWdzLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1hdXRvbWF0aWMtcm9sbGJhY2staWYtcGF1c2VkLWFuZC0tLW5vLXJvbGxiYWNrLWlzLXJlbW92ZWQtZnJvbS1mbGFncy5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBOEQ7QUFFOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHNFQUFzRSxFQUN0RSxJQUFBLHlCQUFtQixFQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUN6RCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFFaEIsaUJBQWlCO0lBQ2pCLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7UUFDdkMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQzFCLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDeEIsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDLENBQUM7SUFFSCxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBRWIsY0FBYztJQUNkLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7UUFDNUQsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQzFCLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDeEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWhELDZGQUE2RjtJQUM3RixLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ1osTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRTtRQUN2QyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDcEIsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtRQUN4QixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhTcGVjaWZpY0ZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdhdXRvbWF0aWMgcm9sbGJhY2sgaWYgcGF1c2VkIGFuZCAtLW5vLXJvbGxiYWNrIGlzIHJlbW92ZWQgZnJvbSBmbGFncycsXG4gIHdpdGhTcGVjaWZpY0ZpeHR1cmUoJ3JvbGxiYWNrLXRlc3QtYXBwJywgYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBsZXQgcGhhc2UgPSAnMSc7XG5cbiAgICAvLyBTaG91bGQgc3VjY2VlZFxuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCd0ZXN0LXJvbGxiYWNrJywge1xuICAgICAgb3B0aW9uczogWyctLW5vLXJvbGxiYWNrJ10sXG4gICAgICBtb2RFbnY6IHsgUEhBU0U6IHBoYXNlIH0sXG4gICAgICB2ZXJib3NlOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHBoYXNlID0gJzJhJztcblxuICAgIC8vIFNob3VsZCBmYWlsXG4gICAgY29uc3QgZGVwbG95T3V0cHV0ID0gYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ3Rlc3Qtcm9sbGJhY2snLCB7XG4gICAgICBvcHRpb25zOiBbJy0tbm8tcm9sbGJhY2snXSxcbiAgICAgIG1vZEVudjogeyBQSEFTRTogcGhhc2UgfSxcbiAgICAgIHZlcmJvc2U6IGZhbHNlLFxuICAgICAgYWxsb3dFcnJFeGl0OiB0cnVlLFxuICAgIH0pO1xuICAgIGV4cGVjdChkZXBsb3lPdXRwdXQpLnRvQ29udGFpbignVVBEQVRFX0ZBSUxFRCcpO1xuXG4gICAgLy8gRG8gYSBkZXBsb3ltZW50IHJlbW92aW5nIC0tbm8tcm9sbGJhY2s6IHRoaXMgd2lsbCByb2xsIGJhY2sgZmlyc3QgYW5kIHRoZW4gZGVwbG95IG5vcm1hbGx5XG4gICAgcGhhc2UgPSAnMSc7XG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ3Rlc3Qtcm9sbGJhY2snLCB7XG4gICAgICBvcHRpb25zOiBbJy0tZm9yY2UnXSxcbiAgICAgIG1vZEVudjogeyBQSEFTRTogcGhhc2UgfSxcbiAgICAgIHZlcmJvc2U6IGZhbHNlLFxuICAgIH0pO1xuICB9KSxcbik7XG5cbiJdfQ==
|
|
@@ -10,26 +10,21 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
10
10
|
modEnv: { PHASE: phase },
|
|
11
11
|
verbose: false,
|
|
12
12
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
finally {
|
|
32
|
-
await fixture.cdkDestroy('test-rollback');
|
|
33
|
-
}
|
|
13
|
+
phase = '2a';
|
|
14
|
+
// Should fail
|
|
15
|
+
const deployOutput = await fixture.cdkDeploy('test-rollback', {
|
|
16
|
+
options: ['--no-rollback'],
|
|
17
|
+
modEnv: { PHASE: phase },
|
|
18
|
+
verbose: false,
|
|
19
|
+
allowErrExit: true,
|
|
20
|
+
});
|
|
21
|
+
expect(deployOutput).toContain('UPDATE_FAILED');
|
|
22
|
+
// Do a deployment with a replacement and --force: this will roll back first and then deploy normally
|
|
23
|
+
phase = '3';
|
|
24
|
+
await fixture.cdkDeploy('test-rollback', {
|
|
25
|
+
options: ['--no-rollback', '--force'],
|
|
26
|
+
modEnv: { PHASE: phase },
|
|
27
|
+
verbose: false,
|
|
28
|
+
});
|
|
34
29
|
}));
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWF1dG9tYXRpYy1yb2xsYmFjay1pZi1wYXVzZWQtYW5kLWNoYW5nZS1jb250YWlucy1hLXJlcGxhY2VtZW50LmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1hdXRvbWF0aWMtcm9sbGJhY2staWYtcGF1c2VkLWFuZC1jaGFuZ2UtY29udGFpbnMtYS1yZXBsYWNlbWVudC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBOEQ7QUFFOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLGdFQUFnRSxFQUNoRSxJQUFBLHlCQUFtQixFQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUN6RCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFFaEIsaUJBQWlCO0lBQ2pCLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7UUFDdkMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQzFCLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDeEIsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDLENBQUM7SUFFSCxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBRWIsY0FBYztJQUNkLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7UUFDNUQsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQzFCLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDeEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWhELHFHQUFxRztJQUNyRyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ1osTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRTtRQUN2QyxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDeEIsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAnYXV0b21hdGljIHJvbGxiYWNrIGlmIHBhdXNlZCBhbmQgY2hhbmdlIGNvbnRhaW5zIGEgcmVwbGFjZW1lbnQnLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCdyb2xsYmFjay10ZXN0LWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgbGV0IHBoYXNlID0gJzEnO1xuXG4gICAgLy8gU2hvdWxkIHN1Y2NlZWRcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgndGVzdC1yb2xsYmFjaycsIHtcbiAgICAgIG9wdGlvbnM6IFsnLS1uby1yb2xsYmFjayddLFxuICAgICAgbW9kRW52OiB7IFBIQVNFOiBwaGFzZSB9LFxuICAgICAgdmVyYm9zZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBwaGFzZSA9ICcyYSc7XG5cbiAgICAvLyBTaG91bGQgZmFpbFxuICAgIGNvbnN0IGRlcGxveU91dHB1dCA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCd0ZXN0LXJvbGxiYWNrJywge1xuICAgICAgb3B0aW9uczogWyctLW5vLXJvbGxiYWNrJ10sXG4gICAgICBtb2RFbnY6IHsgUEhBU0U6IHBoYXNlIH0sXG4gICAgICB2ZXJib3NlOiBmYWxzZSxcbiAgICAgIGFsbG93RXJyRXhpdDogdHJ1ZSxcbiAgICB9KTtcbiAgICBleHBlY3QoZGVwbG95T3V0cHV0KS50b0NvbnRhaW4oJ1VQREFURV9GQUlMRUQnKTtcblxuICAgIC8vIERvIGEgZGVwbG95bWVudCB3aXRoIGEgcmVwbGFjZW1lbnQgYW5kIC0tZm9yY2U6IHRoaXMgd2lsbCByb2xsIGJhY2sgZmlyc3QgYW5kIHRoZW4gZGVwbG95IG5vcm1hbGx5XG4gICAgcGhhc2UgPSAnMyc7XG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ3Rlc3Qtcm9sbGJhY2snLCB7XG4gICAgICBvcHRpb25zOiBbJy0tbm8tcm9sbGJhY2snLCAnLS1mb3JjZSddLFxuICAgICAgbW9kRW52OiB7IFBIQVNFOiBwaGFzZSB9LFxuICAgICAgdmVyYm9zZTogZmFsc2UsXG4gICAgfSk7XG4gIH0pLFxuKTtcblxuIl19
|
|
@@ -10,17 +10,12 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
10
10
|
modEnv: { PHASE: phase },
|
|
11
11
|
verbose: false,
|
|
12
12
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
finally {
|
|
23
|
-
await fixture.cdkDestroy('test-rollback');
|
|
24
|
-
}
|
|
13
|
+
// Do a deployment with a replacement and removing --no-rollback: this will do a regular rollback deploy
|
|
14
|
+
phase = '3';
|
|
15
|
+
await fixture.cdkDeploy('test-rollback', {
|
|
16
|
+
options: ['--force'],
|
|
17
|
+
modEnv: { PHASE: phase },
|
|
18
|
+
verbose: false,
|
|
19
|
+
});
|
|
25
20
|
}));
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWF1dG9tYXRpYy1yb2xsYmFjay1pZi1yZXBsYWNlbWVudC1hbmQtLS1uby1yb2xsYmFjay1pcy1yZW1vdmVkLWZyb20tZmxhZ3MuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWF1dG9tYXRpYy1yb2xsYmFjay1pZi1yZXBsYWNlbWVudC1hbmQtLS1uby1yb2xsYmFjay1pcy1yZW1vdmVkLWZyb20tZmxhZ3MuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCwyRUFBMkUsRUFDM0UsSUFBQSx5QkFBbUIsRUFBQyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDekQsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBRWhCLGlCQUFpQjtJQUNqQixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztRQUMxQixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1FBQ3hCLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDO0lBRUgsd0dBQXdHO0lBQ3hHLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDWixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUNwQixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1FBQ3hCLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludGVnVGVzdCwgd2l0aFNwZWNpZmljRml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ2F1dG9tYXRpYyByb2xsYmFjayBpZiByZXBsYWNlbWVudCBhbmQgLS1uby1yb2xsYmFjayBpcyByZW1vdmVkIGZyb20gZmxhZ3MnLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCdyb2xsYmFjay10ZXN0LWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgbGV0IHBoYXNlID0gJzEnO1xuXG4gICAgLy8gU2hvdWxkIHN1Y2NlZWRcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgndGVzdC1yb2xsYmFjaycsIHtcbiAgICAgIG9wdGlvbnM6IFsnLS1uby1yb2xsYmFjayddLFxuICAgICAgbW9kRW52OiB7IFBIQVNFOiBwaGFzZSB9LFxuICAgICAgdmVyYm9zZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICAvLyBEbyBhIGRlcGxveW1lbnQgd2l0aCBhIHJlcGxhY2VtZW50IGFuZCByZW1vdmluZyAtLW5vLXJvbGxiYWNrOiB0aGlzIHdpbGwgZG8gYSByZWd1bGFyIHJvbGxiYWNrIGRlcGxveVxuICAgIHBoYXNlID0gJzMnO1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCd0ZXN0LXJvbGxiYWNrJywge1xuICAgICAgb3B0aW9uczogWyctLWZvcmNlJ10sXG4gICAgICBtb2RFbnY6IHsgUEhBU0U6IHBoYXNlIH0sXG4gICAgICB2ZXJib3NlOiBmYWxzZSxcbiAgICB9KTtcbiAgfSksXG4pO1xuXG4iXX0=
|
package/tests/cli-integ-tests/deploy/cdk-construct-with-builtin-lambda-function.integtest.js
CHANGED
|
@@ -5,7 +5,6 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
5
5
|
(0, lib_1.integTest)('Construct with builtin Lambda function', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
6
6
|
await fixture.cdkDeploy('builtin-lambda-function');
|
|
7
7
|
fixture.log('Setup complete!');
|
|
8
|
-
await fixture.cdkDestroy('builtin-lambda-function');
|
|
9
8
|
}));
|
|
10
9
|
// this is to ensure that asset bundling for apps under a stage does not break
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdC13aXRoLWJ1aWx0aW4tbGFtYmRhLWZ1bmN0aW9uLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1jb25zdHJ1Y3Qtd2l0aC1idWlsdGluLWxhbWJkYS1mdW5jdGlvbi5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHdDQUF3QyxFQUN4QyxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUVGLDhFQUE4RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAnQ29uc3RydWN0IHdpdGggYnVpbHRpbiBMYW1iZGEgZnVuY3Rpb24nLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnYnVpbHRpbi1sYW1iZGEtZnVuY3Rpb24nKTtcbiAgICBmaXh0dXJlLmxvZygnU2V0dXAgY29tcGxldGUhJyk7XG4gIH0pLFxuKTtcblxuLy8gdGhpcyBpcyB0byBlbnN1cmUgdGhhdCBhc3NldCBidW5kbGluZyBmb3IgYXBwcyB1bmRlciBhIHN0YWdlIGRvZXMgbm90IGJyZWFrXG4iXX0=
|
|
@@ -5,6 +5,5 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
5
5
|
(0, lib_1.integTest)('Stage with bundled Lambda function', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
6
6
|
await fixture.cdkDeploy('bundling-stage/BundlingStack');
|
|
7
7
|
fixture.log('Setup complete!');
|
|
8
|
-
await fixture.cdkDestroy('bundling-stage/BundlingStack');
|
|
9
8
|
}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXN0YWdlLXdpdGgtYnVuZGxlZC1sYW1iZGEtZnVuY3Rpb24uaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXN0YWdlLXdpdGgtYnVuZGxlZC1sYW1iZGEtZnVuY3Rpb24uaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQTZEO0FBRTdELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCxvQ0FBb0MsRUFDcEMsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ1N0YWdlIHdpdGggYnVuZGxlZCBMYW1iZGEgZnVuY3Rpb24nLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnYnVuZGxpbmctc3RhZ2UvQnVuZGxpbmdTdGFjaycpO1xuICAgIGZpeHR1cmUubG9nKCdTZXR1cCBjb21wbGV0ZSEnKTtcbiAgfSksXG4pO1xuXG4iXX0=
|
|
@@ -9,6 +9,6 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
9
9
|
await expect(fixture.cdkDestroy(stackName)).rejects.toThrow('exited with error');
|
|
10
10
|
// Can update termination protection even though the change set doesn't contain changes
|
|
11
11
|
await fixture.cdkDeploy(stackName, { modEnv: { TERMINATION_PROTECTION: 'FALSE' } });
|
|
12
|
-
await fixture.cdkDestroy(stackName);
|
|
12
|
+
await fixture.cdkDestroy(stackName); // test this now works
|
|
13
13
|
}));
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRlcm1pbmF0aW9uLXByb3RlY3Rpb24uaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXRlcm1pbmF0aW9uLXByb3RlY3Rpb24uaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQTZEO0FBRTdELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCx3QkFBd0IsRUFDeEIsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUM7SUFDM0MsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRW5DLGlDQUFpQztJQUNqQyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRWpGLHVGQUF1RjtJQUN2RixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtBQUM3RCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdUZXJtaW5hdGlvbiBwcm90ZWN0aW9uJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gJ3Rlcm1pbmF0aW9uLXByb3RlY3Rpb24nO1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KHN0YWNrTmFtZSk7XG5cbiAgICAvLyBUcnkgYSBkZXN0cm95IHRoYXQgc2hvdWxkIGZhaWxcbiAgICBhd2FpdCBleHBlY3QoZml4dHVyZS5jZGtEZXN0cm95KHN0YWNrTmFtZSkpLnJlamVjdHMudG9UaHJvdygnZXhpdGVkIHdpdGggZXJyb3InKTtcblxuICAgIC8vIENhbiB1cGRhdGUgdGVybWluYXRpb24gcHJvdGVjdGlvbiBldmVuIHRob3VnaCB0aGUgY2hhbmdlIHNldCBkb2Vzbid0IGNvbnRhaW4gY2hhbmdlc1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KHN0YWNrTmFtZSwgeyBtb2RFbnY6IHsgVEVSTUlOQVRJT05fUFJPVEVDVElPTjogJ0ZBTFNFJyB9IH0pO1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVzdHJveShzdGFja05hbWUpOyAvLyB0ZXN0IHRoaXMgbm93IHdvcmtzXG4gIH0pLFxuKTtcblxuIl19
|
package/tests/cli-integ-tests/hotswap/cdk-hotswap-deployment-supports-ecs-service.integtest.js
CHANGED
|
@@ -5,11 +5,12 @@ const lib_1 = require("../../../lib");
|
|
|
5
5
|
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
6
6
|
(0, lib_1.integTest)('hotswap deployment supports ecs service', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
7
7
|
// GIVEN
|
|
8
|
-
const
|
|
8
|
+
const stackName = 'ecs-hotswap';
|
|
9
|
+
await fixture.cdkDeploy(stackName, {
|
|
9
10
|
captureStderr: false,
|
|
10
11
|
});
|
|
11
12
|
// WHEN
|
|
12
|
-
const deployOutput = await fixture.cdkDeploy(
|
|
13
|
+
const deployOutput = await fixture.cdkDeploy(stackName, {
|
|
13
14
|
options: ['--hotswap'],
|
|
14
15
|
captureStderr: true,
|
|
15
16
|
onlyStderr: true,
|
|
@@ -18,7 +19,7 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
18
19
|
},
|
|
19
20
|
});
|
|
20
21
|
const response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
21
|
-
StackName:
|
|
22
|
+
StackName: fixture.fullStackName(stackName),
|
|
22
23
|
}));
|
|
23
24
|
const serviceName = response.Stacks?.[0].Outputs?.find((output) => output.OutputKey == 'ServiceName')?.OutputValue;
|
|
24
25
|
// THEN
|
|
@@ -29,4 +30,4 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
29
30
|
expect(deployOutput).toMatch(/hotswapped!/);
|
|
30
31
|
expect(deployOutput).toContain(serviceName);
|
|
31
32
|
}));
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWhvdHN3YXAtZGVwbG95bWVudC1zdXBwb3J0cy1lY3Mtc2VydmljZS5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstaG90c3dhcC1kZXBsb3ltZW50LXN1cHBvcnRzLWVjcy1zZXJ2aWNlLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBFQUF1RTtBQUN2RSxzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHlDQUF5QyxFQUN6QyxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxRQUFRO0lBQ1IsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0lBQ2hDLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7UUFDakMsYUFBYSxFQUFFLEtBQUs7S0FDckIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7UUFDdEQsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQ3RCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLDBCQUEwQixFQUFFLFdBQVc7U0FDeEM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDcEQsSUFBSSw2Q0FBcUIsQ0FBQztRQUN4QixTQUFTLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7S0FDNUMsQ0FBQyxDQUNILENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxhQUFhLENBQUMsRUFBRSxXQUFXLENBQUM7SUFFbkgsT0FBTztJQUVQLDRGQUE0RjtJQUM1RixvQkFBb0I7SUFDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxvRkFBb0Y7SUFDcEYsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1QyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmliZVN0YWNrc0NvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdob3Rzd2FwIGRlcGxveW1lbnQgc3VwcG9ydHMgZWNzIHNlcnZpY2UnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrTmFtZSA9ICdlY3MtaG90c3dhcCc7XG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koc3RhY2tOYW1lLCB7XG4gICAgICBjYXB0dXJlU3RkZXJyOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIC8vIFdIRU5cbiAgICBjb25zdCBkZXBsb3lPdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNka0RlcGxveShzdGFja05hbWUsIHtcbiAgICAgIG9wdGlvbnM6IFsnLS1ob3Rzd2FwJ10sXG4gICAgICBjYXB0dXJlU3RkZXJyOiB0cnVlLFxuICAgICAgb25seVN0ZGVycjogdHJ1ZSxcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBEWU5BTUlDX0VDU19QUk9QRVJUWV9WQUxVRTogJ25ldyB2YWx1ZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogZml4dHVyZS5mdWxsU3RhY2tOYW1lKHN0YWNrTmFtZSksXG4gICAgICB9KSxcbiAgICApO1xuICAgIGNvbnN0IHNlcnZpY2VOYW1lID0gcmVzcG9uc2UuU3RhY2tzPy5bMF0uT3V0cHV0cz8uZmluZCgob3V0cHV0KSA9PiBvdXRwdXQuT3V0cHV0S2V5ID09ICdTZXJ2aWNlTmFtZScpPy5PdXRwdXRWYWx1ZTtcblxuICAgIC8vIFRIRU5cblxuICAgIC8vIFRoZSBkZXBsb3ltZW50IHNob3VsZCBub3QgdHJpZ2dlciBhIGZ1bGwgZGVwbG95bWVudCwgdGh1cyB0aGUgc3RhY2sncyBzdGF0dXMgbXVzdCByZW1haW5zXG4gICAgLy8gXCJDUkVBVEVfQ09NUExFVEVcIlxuICAgIGV4cGVjdChyZXNwb25zZS5TdGFja3M/LlswXS5TdGFja1N0YXR1cykudG9FcXVhbCgnQ1JFQVRFX0NPTVBMRVRFJyk7XG4gICAgLy8gVGhlIGVudGlyZSBzdHJpbmcgZmFpbHMgbG9jYWxseSBkdWUgdG8gZm9ybWF0dGluZy4gTWFraW5nIHRoaXMgdGVzdCBsZXNzIHNwZWNpZmljXG4gICAgZXhwZWN0KGRlcGxveU91dHB1dCkudG9NYXRjaCgvaG90c3dhcHBlZCEvKTtcbiAgICBleHBlY3QoZGVwbG95T3V0cHV0KS50b0NvbnRhaW4oc2VydmljZU5hbWUpO1xuICB9KSxcbik7XG5cbiJdfQ==
|
|
@@ -22,11 +22,12 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
22
22
|
};
|
|
23
23
|
await fs_1.promises.writeFile(path.join(fixture.integTestDir, 'cdk.json'), JSON.stringify(cdkJson));
|
|
24
24
|
// GIVEN
|
|
25
|
-
const
|
|
25
|
+
const stackName = 'ecs-hotswap';
|
|
26
|
+
await fixture.cdkDeploy(stackName, {
|
|
26
27
|
captureStderr: false,
|
|
27
28
|
});
|
|
28
29
|
// WHEN
|
|
29
|
-
await fixture.cdkDeploy(
|
|
30
|
+
await fixture.cdkDeploy(stackName, {
|
|
30
31
|
options: [
|
|
31
32
|
'--hotswap',
|
|
32
33
|
],
|
|
@@ -35,7 +36,7 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
35
36
|
},
|
|
36
37
|
});
|
|
37
38
|
const describeStacksResponse = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
|
|
38
|
-
StackName:
|
|
39
|
+
StackName: fixture.fullStackName(stackName),
|
|
39
40
|
}));
|
|
40
41
|
const clusterName = describeStacksResponse.Stacks?.[0].Outputs?.find(output => output.OutputKey == 'ClusterName')?.OutputValue;
|
|
41
42
|
const serviceName = describeStacksResponse.Stacks?.[0].Outputs?.find(output => output.OutputKey == 'ServiceName')?.OutputValue;
|
|
@@ -47,4 +48,4 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
47
48
|
expect(describeServicesResponse.services?.[0].deploymentConfiguration?.minimumHealthyPercent).toEqual(ecsMinimumHealthyPercent);
|
|
48
49
|
expect(describeServicesResponse.services?.[0].deploymentConfiguration?.maximumPercent).toEqual(ecsMaximumHealthyPercent);
|
|
49
50
|
}));
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWhvdHN3YXAtZWNzLWRlcGxveW1lbnQtcmVzcGVjdHMtcHJvcGVydGllcy1vdmVycmlkZS5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstaG90c3dhcC1lY3MtZGVwbG95bWVudC1yZXNwZWN0cy1wcm9wZXJ0aWVzLW92ZXJyaWRlLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJCQUFvQztBQUNwQyw2QkFBNkI7QUFDN0IsMEVBQXVFO0FBQ3ZFLG9EQUE4RDtBQUM5RCxzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUFDLHFEQUFxRCxFQUFFLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3BHLHFEQUFxRDtJQUNyRCxJQUFJLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztJQUNuQyxJQUFJLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztJQUNuQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRyxPQUFPLEdBQUc7UUFDUixHQUFHLE9BQU87UUFDVixPQUFPLEVBQUU7WUFDUCxHQUFHLEVBQUU7Z0JBQ0gscUJBQXFCLEVBQUUsd0JBQXdCO2dCQUMvQyxxQkFBcUIsRUFBRSx3QkFBd0I7YUFDaEQ7U0FDRjtLQUNGLENBQUM7SUFFRixNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUV6RixRQUFRO0lBQ1IsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0lBQ2hDLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7UUFDakMsYUFBYSxFQUFFLEtBQUs7S0FDckIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7UUFDakMsT0FBTyxFQUFFO1lBQ1AsV0FBVztTQUNaO1FBQ0QsTUFBTSxFQUFFO1lBQ04sMEJBQTBCLEVBQUUsV0FBVztTQUN4QztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ2xFLElBQUksNkNBQXFCLENBQUM7UUFDeEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0tBQzVDLENBQUMsQ0FDSCxDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDLEVBQUUsV0FBWSxDQUFDO0lBQ2hJLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLGFBQWEsQ0FBQyxFQUFFLFdBQVksQ0FBQztJQUVoSSxPQUFPO0lBQ1AsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDekQsSUFBSSxvQ0FBdUIsQ0FBQztRQUMxQixPQUFPLEVBQUUsV0FBVztRQUNwQixRQUFRLEVBQUUsQ0FBQyxXQUFXLENBQUM7S0FDeEIsQ0FBQyxDQUNILENBQUM7SUFDRixNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNoSSxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLEVBQUUsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDM0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBEZXNjcmliZVNlcnZpY2VzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lY3MnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoJ2hvdHN3YXAgRUNTIGRlcGxveW1lbnQgcmVzcGVjdHMgcHJvcGVydGllcyBvdmVycmlkZScsIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICAvLyBVcGRhdGUgdGhlIENESyBjb250ZXh0IHdpdGggdGhlIG5ldyBFQ1MgcHJvcGVydGllc1xuICBsZXQgZWNzTWluaW11bUhlYWx0aHlQZXJjZW50ID0gMTAwO1xuICBsZXQgZWNzTWF4aW11bUhlYWx0aHlQZXJjZW50ID0gMjAwO1xuICBsZXQgY2RrSnNvbiA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUocGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnY2RrLmpzb24nKSwgJ3V0ZjgnKSk7XG4gIGNka0pzb24gPSB7XG4gICAgLi4uY2RrSnNvbixcbiAgICBob3Rzd2FwOiB7XG4gICAgICBlY3M6IHtcbiAgICAgICAgbWluaW11bUhlYWx0aHlQZXJjZW50OiBlY3NNaW5pbXVtSGVhbHRoeVBlcmNlbnQsXG4gICAgICAgIG1heGltdW1IZWFsdGh5UGVyY2VudDogZWNzTWF4aW11bUhlYWx0aHlQZXJjZW50LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICdjZGsuanNvbicpLCBKU09OLnN0cmluZ2lmeShjZGtKc29uKSk7XG5cbiAgLy8gR0lWRU5cbiAgY29uc3Qgc3RhY2tOYW1lID0gJ2Vjcy1ob3Rzd2FwJztcbiAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koc3RhY2tOYW1lLCB7XG4gICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gIH0pO1xuXG4gIC8vIFdIRU5cbiAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koc3RhY2tOYW1lLCB7XG4gICAgb3B0aW9uczogW1xuICAgICAgJy0taG90c3dhcCcsXG4gICAgXSxcbiAgICBtb2RFbnY6IHtcbiAgICAgIERZTkFNSUNfRUNTX1BST1BFUlRZX1ZBTFVFOiAnbmV3IHZhbHVlJyxcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBkZXNjcmliZVN0YWNrc1Jlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICBuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHtcbiAgICAgIFN0YWNrTmFtZTogZml4dHVyZS5mdWxsU3RhY2tOYW1lKHN0YWNrTmFtZSksXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3QgY2x1c3Rlck5hbWUgPSBkZXNjcmliZVN0YWNrc1Jlc3BvbnNlLlN0YWNrcz8uWzBdLk91dHB1dHM/LmZpbmQob3V0cHV0ID0+IG91dHB1dC5PdXRwdXRLZXkgPT0gJ0NsdXN0ZXJOYW1lJyk/Lk91dHB1dFZhbHVlITtcbiAgY29uc3Qgc2VydmljZU5hbWUgPSBkZXNjcmliZVN0YWNrc1Jlc3BvbnNlLlN0YWNrcz8uWzBdLk91dHB1dHM/LmZpbmQob3V0cHV0ID0+IG91dHB1dC5PdXRwdXRLZXkgPT0gJ1NlcnZpY2VOYW1lJyk/Lk91dHB1dFZhbHVlITtcblxuICAvLyBUSEVOXG4gIGNvbnN0IGRlc2NyaWJlU2VydmljZXNSZXNwb25zZSA9IGF3YWl0IGZpeHR1cmUuYXdzLmVjcy5zZW5kKFxuICAgIG5ldyBEZXNjcmliZVNlcnZpY2VzQ29tbWFuZCh7XG4gICAgICBjbHVzdGVyOiBjbHVzdGVyTmFtZSxcbiAgICAgIHNlcnZpY2VzOiBbc2VydmljZU5hbWVdLFxuICAgIH0pLFxuICApO1xuICBleHBlY3QoZGVzY3JpYmVTZXJ2aWNlc1Jlc3BvbnNlLnNlcnZpY2VzPy5bMF0uZGVwbG95bWVudENvbmZpZ3VyYXRpb24/Lm1pbmltdW1IZWFsdGh5UGVyY2VudCkudG9FcXVhbChlY3NNaW5pbXVtSGVhbHRoeVBlcmNlbnQpO1xuICBleHBlY3QoZGVzY3JpYmVTZXJ2aWNlc1Jlc3BvbnNlLnNlcnZpY2VzPy5bMF0uZGVwbG95bWVudENvbmZpZ3VyYXRpb24/Lm1heGltdW1QZXJjZW50KS50b0VxdWFsKGVjc01heGltdW1IZWFsdGh5UGVyY2VudCk7XG59KSk7XG4iXX0=
|
|
@@ -14,46 +14,40 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
14
14
|
modEnv: { INCLUDE_NODEJS_FUNCTION_LAMBDA: '1', INCLUDE_SINGLE_BUCKET: '1', RETAIN_SINGLE_BUCKET: '1' },
|
|
15
15
|
options: ['--outputs-file', outputsFile],
|
|
16
16
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
expect(cfnTemplateAfterImport.TemplateBody).toContain(bucketLogicalId);
|
|
48
|
-
}
|
|
49
|
-
finally {
|
|
50
|
-
// Clean up the resources we created
|
|
51
|
-
await fixture.cdkDestroy('importable-stack');
|
|
52
|
-
}
|
|
17
|
+
// Second, now the bucket we will remove is in the stack and has a logicalId. We can now make the resource mapping file.
|
|
18
|
+
// This resource mapping file will be used to tell the import operation what bucket to bring into the stack.
|
|
19
|
+
const fullStackName = fixture.fullStackName('importable-stack');
|
|
20
|
+
const outputs = JSON.parse((await fs_1.promises.readFile(outputsFile, { encoding: 'utf-8' })).toString());
|
|
21
|
+
const bucketLogicalId = outputs[fullStackName].BucketLogicalId;
|
|
22
|
+
const bucketName = outputs[fullStackName].BucketName;
|
|
23
|
+
const bucketResourceMap = {
|
|
24
|
+
[bucketLogicalId]: {
|
|
25
|
+
BucketName: bucketName,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
const mappingFile = path.join(fixture.integTestDir, 'outputs', 'mapping.json');
|
|
29
|
+
await fs_1.promises.writeFile(mappingFile, JSON.stringify(bucketResourceMap), { encoding: 'utf-8' });
|
|
30
|
+
// Third, remove the bucket from the stack, but don't delete the bucket from AWS.
|
|
31
|
+
await fixture.cdkDeploy('importable-stack', {
|
|
32
|
+
modEnv: { INCLUDE_NODEJS_FUNCTION_LAMBDA: '1', INCLUDE_SINGLE_BUCKET: '0', RETAIN_SINGLE_BUCKET: '0' },
|
|
33
|
+
});
|
|
34
|
+
const cfnTemplateBeforeImport = await fixture.aws.cloudFormation.send(new client_cloudformation_1.GetTemplateCommand({ StackName: fullStackName }));
|
|
35
|
+
expect(cfnTemplateBeforeImport.TemplateBody).not.toContain(bucketLogicalId);
|
|
36
|
+
// WHEN
|
|
37
|
+
await fixture.cdk(['import', '--resource-mapping', mappingFile, fixture.fullStackName('importable-stack')], {
|
|
38
|
+
modEnv: { INCLUDE_NODEJS_FUNCTION_LAMBDA: '1', INCLUDE_SINGLE_BUCKET: '1', RETAIN_SINGLE_BUCKET: '0' },
|
|
39
|
+
});
|
|
40
|
+
// THEN
|
|
41
|
+
const describeStacksResponse = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({ StackName: fullStackName }));
|
|
42
|
+
const cfnTemplateAfterImport = await fixture.aws.cloudFormation.send(new client_cloudformation_1.GetTemplateCommand({ StackName: fullStackName }));
|
|
43
|
+
// If bundling is skipped during import for NodeJSFunction lambda, then the operation should fail and exit
|
|
44
|
+
expect(describeStacksResponse.Stacks[0].StackStatus).toEqual('IMPORT_COMPLETE');
|
|
45
|
+
// If the import operation is successful, the template should contain the imported bucket
|
|
46
|
+
expect(cfnTemplateAfterImport.TemplateBody).toContain(bucketLogicalId);
|
|
53
47
|
}));
|
|
54
48
|
/**
|
|
55
49
|
* Create a queue, orphan that queue, then import the queue.
|
|
56
50
|
*
|
|
57
51
|
* We want to test with a large template to make sure large templates can work with import.
|
|
58
52
|
*/
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRlc3QtcmVzb3VyY2UtaW1wb3J0LXdpdGgtY29uc3RydWN0LXRoYXQtcmVxdWlyZXMtYnVuZGxpbmcuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXRlc3QtcmVzb3VyY2UtaW1wb3J0LXdpdGgtY29uc3RydWN0LXRoYXQtcmVxdWlyZXMtYnVuZGxpbmcuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QiwwRUFBMkY7QUFDM0Ysc0NBQXFFO0FBRXJFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCw0REFBNEQsRUFDNUQsSUFBQSxnQ0FBMEIsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDM0MsUUFBUTtJQUNSLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0UsTUFBTSxhQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUvRCwySUFBMkk7SUFDM0ksTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFO1FBQzFDLE1BQU0sRUFBRSxFQUFFLDhCQUE4QixFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1FBQ3RHLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQztLQUN6QyxDQUFDLENBQUM7SUFFSCx3SEFBd0g7SUFDeEgsNEdBQTRHO0lBQzVHLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxhQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsZUFBZSxDQUFDO0lBQy9ELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDckQsTUFBTSxpQkFBaUIsR0FBRztRQUN4QixDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pCLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCO0tBQ0YsQ0FBQztJQUNGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0UsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUUxRixpRkFBaUY7SUFDakYsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFO1FBQzFDLE1BQU0sRUFBRSxFQUFFLDhCQUE4QixFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO0tBQ3ZHLENBQUMsQ0FBQztJQUNILE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ25FLElBQUksMENBQWtCLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FDckQsQ0FBQztJQUNGLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTVFLE9BQU87SUFDUCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFO1FBQzFHLE1BQU0sRUFBRSxFQUFFLDhCQUE4QixFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO0tBQ3ZHLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNsRSxJQUFJLDZDQUFxQixDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQ3hELENBQUM7SUFDRixNQUFNLHNCQUFzQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNsRSxJQUFJLDBDQUFrQixDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQ3JELENBQUM7SUFFRiwwR0FBMEc7SUFDMUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVqRix5RkFBeUY7SUFDekYsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBRUY7Ozs7R0FJRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IERlc2NyaWJlU3RhY2tzQ29tbWFuZCwgR2V0VGVtcGxhdGVDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aEV4dGVuZGVkVGltZW91dEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICd0ZXN0IHJlc291cmNlIGltcG9ydCB3aXRoIGNvbnN0cnVjdCB0aGF0IHJlcXVpcmVzIGJ1bmRsaW5nJyxcbiAgd2l0aEV4dGVuZGVkVGltZW91dEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IG91dHB1dHNGaWxlID0gcGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnb3V0cHV0cycsICdvdXRwdXRzLmpzb24nKTtcbiAgICBhd2FpdCBmcy5ta2RpcihwYXRoLmRpcm5hbWUob3V0cHV0c0ZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIC8vIEZpcnN0LCBjcmVhdGUgYSBzdGFjayB0aGF0IGluY2x1ZGVzIGEgTm9kZUpTRnVuY3Rpb24gbGFtYmRhIGFuZCBvbmUgYnVja2V0IHRoYXQgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIHN0YWNrIGJ1dCBOT1QgZGVsZXRlZCBmcm9tIEFXUy5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnaW1wb3J0YWJsZS1zdGFjaycsIHtcbiAgICAgIG1vZEVudjogeyBJTkNMVURFX05PREVKU19GVU5DVElPTl9MQU1CREE6ICcxJywgSU5DTFVERV9TSU5HTEVfQlVDS0VUOiAnMScsIFJFVEFJTl9TSU5HTEVfQlVDS0VUOiAnMScgfSxcbiAgICAgIG9wdGlvbnM6IFsnLS1vdXRwdXRzLWZpbGUnLCBvdXRwdXRzRmlsZV0sXG4gICAgfSk7XG5cbiAgICAvLyBTZWNvbmQsIG5vdyB0aGUgYnVja2V0IHdlIHdpbGwgcmVtb3ZlIGlzIGluIHRoZSBzdGFjayBhbmQgaGFzIGEgbG9naWNhbElkLiBXZSBjYW4gbm93IG1ha2UgdGhlIHJlc291cmNlIG1hcHBpbmcgZmlsZS5cbiAgICAvLyBUaGlzIHJlc291cmNlIG1hcHBpbmcgZmlsZSB3aWxsIGJlIHVzZWQgdG8gdGVsbCB0aGUgaW1wb3J0IG9wZXJhdGlvbiB3aGF0IGJ1Y2tldCB0byBicmluZyBpbnRvIHRoZSBzdGFjay5cbiAgICBjb25zdCBmdWxsU3RhY2tOYW1lID0gZml4dHVyZS5mdWxsU3RhY2tOYW1lKCdpbXBvcnRhYmxlLXN0YWNrJyk7XG4gICAgY29uc3Qgb3V0cHV0cyA9IEpTT04ucGFyc2UoKGF3YWl0IGZzLnJlYWRGaWxlKG91dHB1dHNGaWxlLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKS50b1N0cmluZygpKTtcbiAgICBjb25zdCBidWNrZXRMb2dpY2FsSWQgPSBvdXRwdXRzW2Z1bGxTdGFja05hbWVdLkJ1Y2tldExvZ2ljYWxJZDtcbiAgICBjb25zdCBidWNrZXROYW1lID0gb3V0cHV0c1tmdWxsU3RhY2tOYW1lXS5CdWNrZXROYW1lO1xuICAgIGNvbnN0IGJ1Y2tldFJlc291cmNlTWFwID0ge1xuICAgICAgW2J1Y2tldExvZ2ljYWxJZF06IHtcbiAgICAgICAgQnVja2V0TmFtZTogYnVja2V0TmFtZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBtYXBwaW5nRmlsZSA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ291dHB1dHMnLCAnbWFwcGluZy5qc29uJyk7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKG1hcHBpbmdGaWxlLCBKU09OLnN0cmluZ2lmeShidWNrZXRSZXNvdXJjZU1hcCksIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG5cbiAgICAvLyBUaGlyZCwgcmVtb3ZlIHRoZSBidWNrZXQgZnJvbSB0aGUgc3RhY2ssIGJ1dCBkb24ndCBkZWxldGUgdGhlIGJ1Y2tldCBmcm9tIEFXUy5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnaW1wb3J0YWJsZS1zdGFjaycsIHtcbiAgICAgIG1vZEVudjogeyBJTkNMVURFX05PREVKU19GVU5DVElPTl9MQU1CREE6ICcxJywgSU5DTFVERV9TSU5HTEVfQlVDS0VUOiAnMCcsIFJFVEFJTl9TSU5HTEVfQlVDS0VUOiAnMCcgfSxcbiAgICB9KTtcbiAgICBjb25zdCBjZm5UZW1wbGF0ZUJlZm9yZUltcG9ydCA9IGF3YWl0IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLnNlbmQoXG4gICAgICBuZXcgR2V0VGVtcGxhdGVDb21tYW5kKHsgU3RhY2tOYW1lOiBmdWxsU3RhY2tOYW1lIH0pLFxuICAgICk7XG4gICAgZXhwZWN0KGNmblRlbXBsYXRlQmVmb3JlSW1wb3J0LlRlbXBsYXRlQm9keSkubm90LnRvQ29udGFpbihidWNrZXRMb2dpY2FsSWQpO1xuXG4gICAgLy8gV0hFTlxuICAgIGF3YWl0IGZpeHR1cmUuY2RrKFsnaW1wb3J0JywgJy0tcmVzb3VyY2UtbWFwcGluZycsIG1hcHBpbmdGaWxlLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ2ltcG9ydGFibGUtc3RhY2snKV0sIHtcbiAgICAgIG1vZEVudjogeyBJTkNMVURFX05PREVKU19GVU5DVElPTl9MQU1CREE6ICcxJywgSU5DTFVERV9TSU5HTEVfQlVDS0VUOiAnMScsIFJFVEFJTl9TSU5HTEVfQlVDS0VUOiAnMCcgfSxcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBjb25zdCBkZXNjcmliZVN0YWNrc1Jlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IGZ1bGxTdGFja05hbWUgfSksXG4gICAgKTtcbiAgICBjb25zdCBjZm5UZW1wbGF0ZUFmdGVySW1wb3J0ID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBHZXRUZW1wbGF0ZUNvbW1hbmQoeyBTdGFja05hbWU6IGZ1bGxTdGFja05hbWUgfSksXG4gICAgKTtcblxuICAgIC8vIElmIGJ1bmRsaW5nIGlzIHNraXBwZWQgZHVyaW5nIGltcG9ydCBmb3IgTm9kZUpTRnVuY3Rpb24gbGFtYmRhLCB0aGVuIHRoZSBvcGVyYXRpb24gc2hvdWxkIGZhaWwgYW5kIGV4aXRcbiAgICBleHBlY3QoZGVzY3JpYmVTdGFja3NSZXNwb25zZS5TdGFja3MhWzBdLlN0YWNrU3RhdHVzKS50b0VxdWFsKCdJTVBPUlRfQ09NUExFVEUnKTtcblxuICAgIC8vIElmIHRoZSBpbXBvcnQgb3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0ZW1wbGF0ZSBzaG91bGQgY29udGFpbiB0aGUgaW1wb3J0ZWQgYnVja2V0XG4gICAgZXhwZWN0KGNmblRlbXBsYXRlQWZ0ZXJJbXBvcnQuVGVtcGxhdGVCb2R5KS50b0NvbnRhaW4oYnVja2V0TG9naWNhbElkKTtcbiAgfSksXG4pO1xuXG4vKipcbiAqIENyZWF0ZSBhIHF1ZXVlLCBvcnBoYW4gdGhhdCBxdWV1ZSwgdGhlbiBpbXBvcnQgdGhlIHF1ZXVlLlxuICpcbiAqIFdlIHdhbnQgdG8gdGVzdCB3aXRoIGEgbGFyZ2UgdGVtcGxhdGUgdG8gbWFrZSBzdXJlIGxhcmdlIHRlbXBsYXRlcyBjYW4gd29yayB3aXRoIGltcG9ydC5cbiAqL1xuIl19
|
|
@@ -16,36 +16,30 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
16
16
|
modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '1' },
|
|
17
17
|
options: ['--outputs-file', outputsFile],
|
|
18
18
|
});
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId);
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
// Clean up
|
|
48
|
-
await fixture.cdkDestroy('importable-stack');
|
|
49
|
-
}
|
|
19
|
+
// Second, now the queue we will remove is in the stack and has a logicalId. We can now make the resource mapping file.
|
|
20
|
+
// This resource mapping file will be used to tell the import operation what queue to bring into the stack.
|
|
21
|
+
const fullStackName = fixture.fullStackName('importable-stack');
|
|
22
|
+
const outputs = JSON.parse((await fs_1.promises.readFile(outputsFile, { encoding: 'utf-8' })).toString());
|
|
23
|
+
const queueLogicalId = outputs[fullStackName].QueueLogicalId;
|
|
24
|
+
const queueResourceMap = {
|
|
25
|
+
[queueLogicalId]: { QueueUrl: outputs[fullStackName].QueueUrl },
|
|
26
|
+
};
|
|
27
|
+
const mappingFile = path.join(fixture.integTestDir, 'outputs', `${randomPrefix}Mapping.json`);
|
|
28
|
+
await fs_1.promises.writeFile(mappingFile, JSON.stringify(queueResourceMap), { encoding: 'utf-8' });
|
|
29
|
+
// Third, remove the queue from the stack, but don't delete the queue from AWS.
|
|
30
|
+
await fixture.cdkDeploy('importable-stack', {
|
|
31
|
+
modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '0', RETAIN_SINGLE_QUEUE: '0' },
|
|
32
|
+
});
|
|
33
|
+
const cfnTemplateBeforeImport = await fixture.aws.cloudFormation.send(new client_cloudformation_1.GetTemplateCommand({ StackName: fullStackName }));
|
|
34
|
+
expect(cfnTemplateBeforeImport.TemplateBody).not.toContain(queueLogicalId);
|
|
35
|
+
// WHEN
|
|
36
|
+
await fixture.cdk(['import', '--resource-mapping', mappingFile, fixture.fullStackName('importable-stack')], {
|
|
37
|
+
modEnv: { LARGE_TEMPLATE: '1', INCLUDE_SINGLE_QUEUE: '1', RETAIN_SINGLE_QUEUE: '0' },
|
|
38
|
+
});
|
|
39
|
+
// THEN
|
|
40
|
+
const describeStacksResponse = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({ StackName: fullStackName }));
|
|
41
|
+
const cfnTemplateAfterImport = await fixture.aws.cloudFormation.send(new client_cloudformation_1.GetTemplateCommand({ StackName: fullStackName }));
|
|
42
|
+
expect(describeStacksResponse.Stacks[0].StackStatus).toEqual('IMPORT_COMPLETE');
|
|
43
|
+
expect(cfnTemplateAfterImport.TemplateBody).toContain(queueLogicalId);
|
|
50
44
|
}));
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRlc3QtcmVzb3VyY2UtaW1wb3J0LmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay10ZXN0LXJlc291cmNlLWltcG9ydC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQkFBb0M7QUFDcEMsNkJBQTZCO0FBQzdCLDBFQUEyRjtBQUMzRixzQ0FBMkU7QUFFM0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLHNCQUFzQixFQUN0QixJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxRQUFRO0lBQ1IsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQkFBWSxHQUFFLENBQUM7SUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLFlBQVksY0FBYyxDQUFDLENBQUMsZ0VBQWdFO0lBQzdILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUN0RixNQUFNLGFBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRS9ELCtIQUErSDtJQUMvSCxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUU7UUFDMUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ3BGLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQztLQUN6QyxDQUFDLENBQUM7SUFFSCx1SEFBdUg7SUFDdkgsMkdBQTJHO0lBQzNHLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxhQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQzdELE1BQU0sZ0JBQWdCLEdBQUc7UUFDdkIsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFO0tBQ2hFLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsWUFBWSxjQUFjLENBQUMsQ0FBQztJQUM5RixNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXpGLCtFQUErRTtJQUMvRSxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUU7UUFDMUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO0tBQ3JGLENBQUMsQ0FBQztJQUNILE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ25FLElBQUksMENBQWtCLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FDckQsQ0FBQztJQUNGLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNFLE9BQU87SUFDUCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFO1FBQzFHLE1BQU0sRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtLQUNyRixDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDbEUsSUFBSSw2Q0FBcUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUN4RCxDQUFDO0lBQ0YsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDbEUsSUFBSSwwQ0FBa0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUNyRCxDQUFDO0lBQ0YsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqRixNQUFNLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3hFLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBEZXNjcmliZVN0YWNrc0NvbW1hbmQsIEdldFRlbXBsYXRlQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSwgcmFuZG9tU3RyaW5nIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuamVzdC5zZXRUaW1lb3V0KDIgKiA2MCAqIDYwXzAwMCk7IC8vIEluY2x1ZGVzIHRoZSB0aW1lIHRvIGFjcXVpcmUgbG9ja3MsIHdvcnN0LWNhc2Ugc2luZ2xlLXRocmVhZGVkIHJ1bnRpbWVcblxuaW50ZWdUZXN0KFxuICAndGVzdCByZXNvdXJjZSBpbXBvcnQnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHJhbmRvbVByZWZpeCA9IHJhbmRvbVN0cmluZygpO1xuICAgIGNvbnN0IHVuaXF1ZU91dHB1dHNGaWxlTmFtZSA9IGAke3JhbmRvbVByZWZpeH1PdXRwdXRzLmpzb25gOyAvLyBvdGhlciB0ZXN0cyB1c2UgdGhlIG91dHB1dHMgZmlsZS4gTWFrZSBzdXJlIHdlIGRvbid0IGNvbGxpZGUuXG4gICAgY29uc3Qgb3V0cHV0c0ZpbGUgPSBwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICdvdXRwdXRzJywgdW5pcXVlT3V0cHV0c0ZpbGVOYW1lKTtcbiAgICBhd2FpdCBmcy5ta2RpcihwYXRoLmRpcm5hbWUob3V0cHV0c0ZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIC8vIEZpcnN0LCBjcmVhdGUgYSBzdGFjayB0aGF0IGluY2x1ZGVzIG1hbnkgcXVldWVzLCBhbmQgb25lIHF1ZXVlIHRoYXQgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIHN0YWNrIGJ1dCBOT1QgZGVsZXRlZCBmcm9tIEFXUy5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnaW1wb3J0YWJsZS1zdGFjaycsIHtcbiAgICAgIG1vZEVudjogeyBMQVJHRV9URU1QTEFURTogJzEnLCBJTkNMVURFX1NJTkdMRV9RVUVVRTogJzEnLCBSRVRBSU5fU0lOR0xFX1FVRVVFOiAnMScgfSxcbiAgICAgIG9wdGlvbnM6IFsnLS1vdXRwdXRzLWZpbGUnLCBvdXRwdXRzRmlsZV0sXG4gICAgfSk7XG5cbiAgICAvLyBTZWNvbmQsIG5vdyB0aGUgcXVldWUgd2Ugd2lsbCByZW1vdmUgaXMgaW4gdGhlIHN0YWNrIGFuZCBoYXMgYSBsb2dpY2FsSWQuIFdlIGNhbiBub3cgbWFrZSB0aGUgcmVzb3VyY2UgbWFwcGluZyBmaWxlLlxuICAgIC8vIFRoaXMgcmVzb3VyY2UgbWFwcGluZyBmaWxlIHdpbGwgYmUgdXNlZCB0byB0ZWxsIHRoZSBpbXBvcnQgb3BlcmF0aW9uIHdoYXQgcXVldWUgdG8gYnJpbmcgaW50byB0aGUgc3RhY2suXG4gICAgY29uc3QgZnVsbFN0YWNrTmFtZSA9IGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnaW1wb3J0YWJsZS1zdGFjaycpO1xuICAgIGNvbnN0IG91dHB1dHMgPSBKU09OLnBhcnNlKChhd2FpdCBmcy5yZWFkRmlsZShvdXRwdXRzRmlsZSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSkudG9TdHJpbmcoKSk7XG4gICAgY29uc3QgcXVldWVMb2dpY2FsSWQgPSBvdXRwdXRzW2Z1bGxTdGFja05hbWVdLlF1ZXVlTG9naWNhbElkO1xuICAgIGNvbnN0IHF1ZXVlUmVzb3VyY2VNYXAgPSB7XG4gICAgICBbcXVldWVMb2dpY2FsSWRdOiB7IFF1ZXVlVXJsOiBvdXRwdXRzW2Z1bGxTdGFja05hbWVdLlF1ZXVlVXJsIH0sXG4gICAgfTtcbiAgICBjb25zdCBtYXBwaW5nRmlsZSA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ291dHB1dHMnLCBgJHtyYW5kb21QcmVmaXh9TWFwcGluZy5qc29uYCk7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKG1hcHBpbmdGaWxlLCBKU09OLnN0cmluZ2lmeShxdWV1ZVJlc291cmNlTWFwKSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcblxuICAgIC8vIFRoaXJkLCByZW1vdmUgdGhlIHF1ZXVlIGZyb20gdGhlIHN0YWNrLCBidXQgZG9uJ3QgZGVsZXRlIHRoZSBxdWV1ZSBmcm9tIEFXUy5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnaW1wb3J0YWJsZS1zdGFjaycsIHtcbiAgICAgIG1vZEVudjogeyBMQVJHRV9URU1QTEFURTogJzEnLCBJTkNMVURFX1NJTkdMRV9RVUVVRTogJzAnLCBSRVRBSU5fU0lOR0xFX1FVRVVFOiAnMCcgfSxcbiAgICB9KTtcbiAgICBjb25zdCBjZm5UZW1wbGF0ZUJlZm9yZUltcG9ydCA9IGF3YWl0IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLnNlbmQoXG4gICAgICBuZXcgR2V0VGVtcGxhdGVDb21tYW5kKHsgU3RhY2tOYW1lOiBmdWxsU3RhY2tOYW1lIH0pLFxuICAgICk7XG4gICAgZXhwZWN0KGNmblRlbXBsYXRlQmVmb3JlSW1wb3J0LlRlbXBsYXRlQm9keSkubm90LnRvQ29udGFpbihxdWV1ZUxvZ2ljYWxJZCk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXdhaXQgZml4dHVyZS5jZGsoWydpbXBvcnQnLCAnLS1yZXNvdXJjZS1tYXBwaW5nJywgbWFwcGluZ0ZpbGUsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnaW1wb3J0YWJsZS1zdGFjaycpXSwge1xuICAgICAgbW9kRW52OiB7IExBUkdFX1RFTVBMQVRFOiAnMScsIElOQ0xVREVfU0lOR0xFX1FVRVVFOiAnMScsIFJFVEFJTl9TSU5HTEVfUVVFVUU6ICcwJyB9LFxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGNvbnN0IGRlc2NyaWJlU3RhY2tzUmVzcG9uc2UgPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IFN0YWNrTmFtZTogZnVsbFN0YWNrTmFtZSB9KSxcbiAgICApO1xuICAgIGNvbnN0IGNmblRlbXBsYXRlQWZ0ZXJJbXBvcnQgPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IEdldFRlbXBsYXRlQ29tbWFuZCh7IFN0YWNrTmFtZTogZnVsbFN0YWNrTmFtZSB9KSxcbiAgICApO1xuICAgIGV4cGVjdChkZXNjcmliZVN0YWNrc1Jlc3BvbnNlLlN0YWNrcyFbMF0uU3RhY2tTdGF0dXMpLnRvRXF1YWwoJ0lNUE9SVF9DT01QTEVURScpO1xuICAgIGV4cGVjdChjZm5UZW1wbGF0ZUFmdGVySW1wb3J0LlRlbXBsYXRlQm9keSkudG9Db250YWluKHF1ZXVlTG9naWNhbElkKTtcbiAgfSksXG4pO1xuXG4iXX0=
|
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const lib_1 = require("../../../lib");
|
|
4
4
|
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
|
|
5
5
|
(0, lib_1.integTest)('VPC Lookup', (0, lib_1.withDefaultFixture)(async (fixture) => {
|
|
6
|
-
fixture.log('Making sure we are clean before starting.');
|
|
7
|
-
await fixture.cdkDestroy('define-vpc', { modEnv: { ENABLE_VPC_TESTING: 'DEFINE' } });
|
|
8
6
|
fixture.log('Setting up: creating a VPC with known tags');
|
|
9
7
|
await fixture.cdkDeploy('define-vpc', { modEnv: { ENABLE_VPC_TESTING: 'DEFINE' } });
|
|
10
8
|
fixture.log('Setup complete!');
|
|
@@ -18,4 +16,4 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
18
16
|
// is bundled as part of the CDK package, we want to make sure we don't
|
|
19
17
|
// introduce changes to the compiled code that could prevent the Lambda from
|
|
20
18
|
// executing. If we do, this test will timeout and fail.
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZwYy1sb29rdXAuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZwYy1sb29rdXAuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQTZEO0FBRTdELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCxZQUFZLEVBQ1osSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQzFELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRS9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUNwRCxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3RGLENBQUMsQ0FBQyxDQUNILENBQUM7QUFFRiw2REFBNkQ7QUFDN0QsK0RBQStEO0FBQy9ELG9FQUFvRTtBQUNwRSwwRUFBMEU7QUFDMUUsdUVBQXVFO0FBQ3ZFLDRFQUE0RTtBQUM1RSx3REFBd0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ1ZQQyBMb29rdXAnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBmaXh0dXJlLmxvZygnU2V0dGluZyB1cDogY3JlYXRpbmcgYSBWUEMgd2l0aCBrbm93biB0YWdzJyk7XG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ2RlZmluZS12cGMnLCB7IG1vZEVudjogeyBFTkFCTEVfVlBDX1RFU1RJTkc6ICdERUZJTkUnIH0gfSk7XG4gICAgZml4dHVyZS5sb2coJ1NldHVwIGNvbXBsZXRlIScpO1xuXG4gICAgZml4dHVyZS5sb2coJ1ZlcmlmeWluZyB3ZSBjYW4gbm93IGltcG9ydCB0aGF0IFZQQycpO1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdpbXBvcnQtdnBjJywgeyBtb2RFbnY6IHsgRU5BQkxFX1ZQQ19URVNUSU5HOiAnSU1QT1JUJyB9IH0pO1xuICB9KSxcbik7XG5cbi8vIHRlc3RpbmcgYSBjb25zdHJ1Y3Qgd2l0aCBhIGJ1aWx0aW4gTm9kZWpzIExhbWJkYSBGdW5jdGlvbi5cbi8vIEluIHRoaXMgY2FzZSB3ZSBhcmUgdGVzdGluZyB0aGUgczMuQnVja2V0IGNvbnN0cnVjdCB3aXRoIHRoZVxuLy8gYXV0b0RlbGV0ZU9iamVjdHMgcHJvcCBzZXQgdG8gdHJ1ZSwgd2hpY2ggY3JlYXRlcyBhIExhbWJkYSBiYWNrZWRcbi8vIEN1c3RvbVJlc291cmNlLiBTaW5jZSB0aGUgY29tcGlsZWQgTGFtYmRhIGNvZGUgKGUuZy4gX19lbnRyeXBvaW50X18uanMpXG4vLyBpcyBidW5kbGVkIGFzIHBhcnQgb2YgdGhlIENESyBwYWNrYWdlLCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBkb24ndFxuLy8gaW50cm9kdWNlIGNoYW5nZXMgdG8gdGhlIGNvbXBpbGVkIGNvZGUgdGhhdCBjb3VsZCBwcmV2ZW50IHRoZSBMYW1iZGEgZnJvbVxuLy8gZXhlY3V0aW5nLiBJZiB3ZSBkbywgdGhpcyB0ZXN0IHdpbGwgdGltZW91dCBhbmQgZmFpbC5cbiJdfQ==
|
|
@@ -11,6 +11,5 @@ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-c
|
|
|
11
11
|
\"Source\": \"localfile\"
|
|
12
12
|
}`;
|
|
13
13
|
expect(JSON.parse(migrateFile)).toEqual(JSON.parse(expectedFile));
|
|
14
|
-
await fixture.cdkDestroy(fixture.stackNamePrefix);
|
|
15
14
|
}));
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLW1pZ3JhdGUtZ2VuZXJhdGVzLW1pZ3JhdGUuanNvbi5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstbWlncmF0ZS1nZW5lcmF0ZXMtbWlncmF0ZS5qc29uLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJCQUFvQztBQUNwQyw2QkFBNkI7QUFDN0Isc0NBQWdFO0FBRWhFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCxvQ0FBb0MsRUFDcEMsSUFBQSwyQkFBcUIsRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3BELE1BQU0sV0FBVyxHQUFHLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0YsTUFBTSxZQUFZLEdBQUc7OztJQUdyQixDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhDREtNaWdyYXRlRml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ2NkayBtaWdyYXRlIGdlbmVyYXRlcyBtaWdyYXRlLmpzb24nLFxuICB3aXRoQ0RLTWlncmF0ZUZpeHR1cmUoJ3R5cGVzY3JpcHQnLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGNvbnN0IG1pZ3JhdGVGaWxlID0gYXdhaXQgZnMucmVhZEZpbGUocGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnbWlncmF0ZS5qc29uJyksICd1dGY4Jyk7XG4gICAgY29uc3QgZXhwZWN0ZWRGaWxlID0gYHtcbiAgICBcXFwiLy9cXFwiOiBcXFwiVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBieSBjZGsgbWlncmF0ZS4gSXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQgYWZ0ZXIgdGhlIGZpcnN0IHN1Y2Nlc3NmdWwgZGVwbG95bWVudCBvZiB0aGlzIGFwcCB0byB0aGUgZW52aXJvbm1lbnQgb2YgdGhlIG9yaWdpbmFsIHJlc291cmNlcy5cXFwiLFxuICAgIFxcXCJTb3VyY2VcXFwiOiBcXFwibG9jYWxmaWxlXFxcIlxuICB9YDtcbiAgICBleHBlY3QoSlNPTi5wYXJzZShtaWdyYXRlRmlsZSkpLnRvRXF1YWwoSlNPTi5wYXJzZShleHBlY3RlZEZpbGUpKTtcbiAgfSksXG4pO1xuXG4iXX0=
|