@aws-cdk-testing/cli-integ 3.29.1 → 3.30.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/.yarnrc.yml +3 -0
- package/README.md +1 -1
- package/lib/regions.d.ts +4 -0
- package/lib/regions.js +11 -2
- package/lib/shell.d.ts +5 -0
- package/lib/shell.js +20 -7
- package/npm-shrinkwrap.json +1730 -2463
- package/package.json +55 -45
- package/resources/cdk-apps/app/app.js +57 -0
- package/resources/cdk-apps/import-existing-resources-app/app.js +26 -0
- package/resources/cdk-apps/import-existing-resources-app/cdk.json +3 -0
- package/resources/cdk-apps/nested-stack-with-fn-join-export/app.js +0 -2
- package/tests/cli-integ-tests/deploy/cdk-deploy-skips-unnecessary-updates-for-nested-stacks.integtest.js +10 -8
- package/tests/cli-integ-tests/deploy/cdk-deploy-with-any-change-approval-shows-diff.integtest.js +1 -2
- package/tests/cli-integ-tests/deploy/cdk-deploy-with-change-set-approval-diff.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/deploy/cdk-deploy-with-change-set-approval-diff.integtest.js +44 -0
- package/tests/cli-integ-tests/deploy/cdk-import-existing-resources-error-message-includes-construct-paths.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/deploy/cdk-import-existing-resources-error-message-includes-construct-paths.integtest.js +43 -0
- package/tests/cli-integ-tests/hotswap/cdk-hotswap-deployment-supports-cloudcontrol-based-resources.integtest.d.ts +1 -0
- package/tests/cli-integ-tests/hotswap/cdk-hotswap-deployment-supports-cloudcontrol-based-resources.integtest.js +41 -0
- package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-detect-changes.integtest.js +3 -2
- package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-filter-by-patterns.integtest.js +3 -2
- package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-no-changes.integtest.js +3 -2
- package/tests/cli-integ-tests/refactor/cdk-refactor-large-template.integtest.js +3 -2
- package/tests/cli-integ-tests/refactor/cdk-refactor-move-same-to-different-stacks.integtest.js +3 -2
- package/tests/cli-integ-tests/refactor/cdk-refactor-no-ambiguities-execution.integtest.js +3 -2
- package/tests/cli-integ-tests/refactor/cdk-refactor-with-ambiguities-execution.integtest.js +3 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const lib_1 = require("../../../lib");
|
|
4
|
+
const regions_1 = require("../../../lib/regions");
|
|
4
5
|
(0, lib_1.integTest)('cdk refactor - handles large templates by uploading to S3', (0, lib_1.withSpecificFixture)('refactoring-large-template', async (fixture) => {
|
|
5
6
|
await fixture.cdkDeploy('large-stack', {
|
|
6
7
|
modEnv: {
|
|
@@ -20,5 +21,5 @@ const lib_1 = require("../../../lib");
|
|
|
20
21
|
// CloudFormation may complete the refactoring, while the stack is still in the "UPDATE_IN_PROGRESS" state.
|
|
21
22
|
// Give it a couple of seconds to finish the update.
|
|
22
23
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
23
|
-
}));
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
}, { aws: { regions: regions_1.STACK_REFACTORING_REGIONS } }));
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLWxhcmdlLXRlbXBsYXRlLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1yZWZhY3Rvci1sYXJnZS10ZW1wbGF0ZS5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBOEQ7QUFDOUQsa0RBQWlFO0FBRWpFLElBQUEsZUFBUyxFQUNQLDJEQUEyRCxFQUMzRCxJQUFBLHlCQUFtQixFQUFDLDRCQUE0QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNsRSxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO1FBQ3JDLE1BQU0sRUFBRTtZQUNOLGdCQUFnQixFQUFFLFVBQVU7U0FDN0I7S0FDRixDQUFDLENBQUM7SUFFSCx3REFBd0Q7SUFDeEQsMEVBQTBFO0lBQzFFLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLENBQUM7UUFDM0MsWUFBWSxFQUFFLElBQUk7UUFDbEIsTUFBTSxFQUFFO1lBQ04sZ0JBQWdCLEVBQUUsVUFBVTtTQUM3QjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUVsRCwyR0FBMkc7SUFDM0csb0RBQW9EO0lBQ3BELE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUNBQXlCLEVBQUUsRUFBRSxDQUFDLENBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhTcGVjaWZpY0ZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHsgU1RBQ0tfUkVGQUNUT1JJTkdfUkVHSU9OUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9yZWdpb25zJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHJlZmFjdG9yIC0gaGFuZGxlcyBsYXJnZSB0ZW1wbGF0ZXMgYnkgdXBsb2FkaW5nIHRvIFMzJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgncmVmYWN0b3JpbmctbGFyZ2UtdGVtcGxhdGUnLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdsYXJnZS1zdGFjaycsIHtcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBRVUVVRV9MT0dJQ0FMX0lEOiAnT2xkUXVldWUnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIFBlcmZvcm0gYSByZWZhY3RvciBieSByZW5hbWluZyB0aGUgcXVldWUncyBsb2dpY2FsIElEXG4gICAgLy8gVGhpcyB2ZXJpZmllcyB0aGF0IGxhcmdlIHRlbXBsYXRlcyAoPjUwS0IpIGFyZSBjb3JyZWN0bHkgdXBsb2FkZWQgdG8gUzNcbiAgICBjb25zdCBzdGRFcnIgPSBhd2FpdCBmaXh0dXJlLmNka1JlZmFjdG9yKHtcbiAgICAgIG9wdGlvbnM6IFsnLS11bnN0YWJsZT1yZWZhY3RvcicsICctLWZvcmNlJ10sXG4gICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgUVVFVUVfTE9HSUNBTF9JRDogJ05ld1F1ZXVlJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RkRXJyKS50b01hdGNoKCdTdGFjayByZWZhY3RvciBjb21wbGV0ZScpO1xuXG4gICAgLy8gQ2xvdWRGb3JtYXRpb24gbWF5IGNvbXBsZXRlIHRoZSByZWZhY3RvcmluZywgd2hpbGUgdGhlIHN0YWNrIGlzIHN0aWxsIGluIHRoZSBcIlVQREFURV9JTl9QUk9HUkVTU1wiIHN0YXRlLlxuICAgIC8vIEdpdmUgaXQgYSBjb3VwbGUgb2Ygc2Vjb25kcyB0byBmaW5pc2ggdGhlIHVwZGF0ZS5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDAwKSk7XG4gIH0sIHsgYXdzOiB7IHJlZ2lvbnM6IFNUQUNLX1JFRkFDVE9SSU5HX1JFR0lPTlMgfSB9KSxcbik7XG4iXX0=
|
package/tests/cli-integ-tests/refactor/cdk-refactor-move-same-to-different-stacks.integtest.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getStackInfoFromArn = getStackInfoFromArn;
|
|
4
4
|
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
5
5
|
const lib_1 = require("../../../lib");
|
|
6
|
+
const regions_1 = require("../../../lib/regions");
|
|
6
7
|
(0, lib_1.integTest)('cdk refactor - moves a referenced resource to a different stack', (0, lib_1.withSpecificFixture)('refactoring', async (fixture) => {
|
|
7
8
|
// First, deploy the stacks
|
|
8
9
|
await fixture.cdkDeploy('bucket-stack');
|
|
@@ -31,7 +32,7 @@ const lib_1 = require("../../../lib");
|
|
|
31
32
|
// CloudFormation may complete the refactoring, while the stack is still in the "UPDATE_IN_PROGRESS" state.
|
|
32
33
|
// Give it a couple of seconds to finish the update.
|
|
33
34
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
34
|
-
}));
|
|
35
|
+
}, { aws: { regions: regions_1.STACK_REFACTORING_REGIONS } }));
|
|
35
36
|
function getStackInfoFromArn(stackArn) {
|
|
36
37
|
// Example ARN: arn:aws:cloudformation:region:account-id:stack/stack-name/guid
|
|
37
38
|
const arnParts = stackArn.split(':');
|
|
@@ -44,4 +45,4 @@ function getStackInfoFromArn(stackArn) {
|
|
|
44
45
|
name: resourceParts[1],
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLW1vdmUtc2FtZS10by1kaWZmZXJlbnQtc3RhY2tzLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1yZWZhY3Rvci1tb3ZlLXNhbWUtdG8tZGlmZmVyZW50LXN0YWNrcy5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEwREEsa0RBV0M7QUFyRUQsMEVBQXNIO0FBQ3RILHNDQUE4RDtBQUM5RCxrREFBaUU7QUFFakUsSUFBQSxlQUFTLEVBQ1AsaUVBQWlFLEVBQ2pFLElBQUEseUJBQW1CLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuRCwyQkFBMkI7SUFDM0IsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRSxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVsRSxzREFBc0Q7SUFDdEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQztRQUMzQyxZQUFZLEVBQUUsSUFBSTtRQUNsQixxREFBcUQ7UUFDckQsOENBQThDO1FBQzlDLE1BQU0sRUFBRTtZQUNOLHdCQUF3QixFQUFFLE1BQU07U0FDakM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFFbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSx5Q0FBaUIsRUFBRSxDQUFDLENBQUM7SUFFOUUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLFdBQVcsZUFBZSxDQUFDLENBQUM7SUFFN0csTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRWxDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVELElBQUkscURBQTZCLENBQUM7UUFDaEMsU0FBUyxFQUFFLFdBQVksQ0FBQyxTQUFTO0tBQ2xDLENBQUMsQ0FDSCxDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDbEMsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUN6QyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWtCLEVBQUUsUUFBUSxDQUE0QixDQUNqRixDQUNGLENBQUM7SUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRS9DLDJHQUEyRztJQUMzRyxvREFBb0Q7SUFDcEQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxtQ0FBeUIsRUFBRSxFQUFFLENBQUMsQ0FDcEQsQ0FBQztBQVFGLFNBQWdCLG1CQUFtQixDQUFDLFFBQWdCO0lBQ2xELDhFQUE4RTtJQUM5RSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUN4RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLHFFQUFxRTtJQUNyRSxPQUFPO1FBQ0wsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDdkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmliZVN0YWNrUmVzb3VyY2VzQ29tbWFuZCwgTGlzdFN0YWNrc0NvbW1hbmQsIHR5cGUgU3RhY2tSZXNvdXJjZSB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhTcGVjaWZpY0ZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHsgU1RBQ0tfUkVGQUNUT1JJTkdfUkVHSU9OUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9yZWdpb25zJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHJlZmFjdG9yIC0gbW92ZXMgYSByZWZlcmVuY2VkIHJlc291cmNlIHRvIGEgZGlmZmVyZW50IHN0YWNrJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgncmVmYWN0b3JpbmcnLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIC8vIEZpcnN0LCBkZXBsb3kgdGhlIHN0YWNrc1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdidWNrZXQtc3RhY2snKTtcbiAgICBjb25zdCBvcmlnaW5hbFN0YWNrQXJuID0gYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ2Jhc2ljJyk7XG4gICAgY29uc3Qgb3JpZ2luYWxTdGFja0luZm8gPSBnZXRTdGFja0luZm9Gcm9tQXJuKG9yaWdpbmFsU3RhY2tBcm4pO1xuICAgIGNvbnN0IHN0YWNrUHJlZml4ID0gb3JpZ2luYWxTdGFja0luZm8ubmFtZS5yZXBsYWNlKC8tYmFzaWMkLywgJycpO1xuXG4gICAgLy8gVGhlbiBzZWUgaWYgdGhlIHJlZmFjdG9yaW5nIHRvb2wgZGV0ZWN0cyB0aGUgY2hhbmdlXG4gICAgY29uc3Qgc3RkRXJyID0gYXdhaXQgZml4dHVyZS5jZGtSZWZhY3Rvcih7XG4gICAgICBvcHRpb25zOiBbJy0tdW5zdGFibGU9cmVmYWN0b3InLCAnLS1mb3JjZSddLFxuICAgICAgYWxsb3dFcnJFeGl0OiB0cnVlLFxuICAgICAgLy8gTWFraW5nIHN1cmUgdGhlIHN5bnRoZXNpemVkIHN0YWNrIGhhcyBhIHF1ZXVlIHdpdGhcbiAgICAgIC8vIHRoZSBuZXcgbmFtZSBzbyB0aGF0IGEgcmVmYWN0b3IgaXMgZGV0ZWN0ZWRcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBCVUNLRVRfSU5fU0VQQVJBVEVfU1RBQ0s6ICd0cnVlJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RkRXJyKS50b01hdGNoKCdTdGFjayByZWZhY3RvciBjb21wbGV0ZScpO1xuXG4gICAgY29uc3Qgc3RhY2tzID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChuZXcgTGlzdFN0YWNrc0NvbW1hbmQoKSk7XG5cbiAgICBjb25zdCBidWNrZXRTdGFjayA9IChzdGFja3MuU3RhY2tTdW1tYXJpZXMgPz8gW10pLmZpbmQoKHMpID0+IHMuU3RhY2tOYW1lID09PSBgJHtzdGFja1ByZWZpeH0tYnVja2V0LXN0YWNrYCk7XG5cbiAgICBleHBlY3QoYnVja2V0U3RhY2spLnRvQmVEZWZpbmVkKCk7XG5cbiAgICBjb25zdCBzdGFja0Rlc2NyaXB0aW9uID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrUmVzb3VyY2VzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogYnVja2V0U3RhY2shLlN0YWNrTmFtZSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAoc3RhY2tEZXNjcmlwdGlvbi5TdGFja1Jlc291cmNlcyA/PyBbXSkubWFwKFxuICAgICAgICAocmVzb3VyY2UpID0+IFtyZXNvdXJjZS5Mb2dpY2FsUmVzb3VyY2VJZCEsIHJlc291cmNlXSBhcyBbc3RyaW5nLCBTdGFja1Jlc291cmNlXSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIGV4cGVjdChyZXNvdXJjZXMuQnVja2V0ODM5MDhFNzcpLnRvQmVEZWZpbmVkKCk7XG5cbiAgICAvLyBDbG91ZEZvcm1hdGlvbiBtYXkgY29tcGxldGUgdGhlIHJlZmFjdG9yaW5nLCB3aGlsZSB0aGUgc3RhY2sgaXMgc3RpbGwgaW4gdGhlIFwiVVBEQVRFX0lOX1BST0dSRVNTXCIgc3RhdGUuXG4gICAgLy8gR2l2ZSBpdCBhIGNvdXBsZSBvZiBzZWNvbmRzIHRvIGZpbmlzaCB0aGUgdXBkYXRlLlxuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDIwMDApKTtcbiAgfSwgeyBhd3M6IHsgcmVnaW9uczogU1RBQ0tfUkVGQUNUT1JJTkdfUkVHSU9OUyB9IH0pLFxuKTtcblxuaW50ZXJmYWNlIFN0YWNrSW5mbyB7XG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YWNrSW5mb0Zyb21Bcm4oc3RhY2tBcm46IHN0cmluZyk6IFN0YWNrSW5mbyB7XG4gIC8vIEV4YW1wbGUgQVJOOiBhcm46YXdzOmNsb3VkZm9ybWF0aW9uOnJlZ2lvbjphY2NvdW50LWlkOnN0YWNrL3N0YWNrLW5hbWUvZ3VpZFxuICBjb25zdCBhcm5QYXJ0cyA9IHN0YWNrQXJuLnNwbGl0KCc6Jyk7XG4gIGNvbnN0IHJlc291cmNlID0gYXJuUGFydHNbNV07IC8vIFwic3RhY2svc3RhY2stbmFtZS9ndWlkXCJcbiAgY29uc3QgcmVzb3VyY2VQYXJ0cyA9IHJlc291cmNlLnNwbGl0KCcvJyk7XG4gIC8vIFRoZSBzdGFjayBuYW1lIGlzIHRoZSBzZWNvbmQgcGFydDogW1wic3RhY2tcIiwgXCJzdGFjay1uYW1lXCIsIFwiZ3VpZFwiXVxuICByZXR1cm4ge1xuICAgIHJlZ2lvbjogYXJuUGFydHNbM10sXG4gICAgYWNjb3VudDogYXJuUGFydHNbNF0sXG4gICAgbmFtZTogcmVzb3VyY2VQYXJ0c1sxXSxcbiAgfTtcbn1cblxuIl19
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getStackNameFromArn = getStackNameFromArn;
|
|
4
4
|
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
5
5
|
const lib_1 = require("../../../lib");
|
|
6
|
+
const regions_1 = require("../../../lib/regions");
|
|
6
7
|
(0, lib_1.integTest)('cdk refactor - detects refactoring changes and executes the refactor', (0, lib_1.withSpecificFixture)('refactoring', async (fixture) => {
|
|
7
8
|
// First, deploy the stacks
|
|
8
9
|
await fixture.cdkDeploy('bucket-stack');
|
|
@@ -30,7 +31,7 @@ const lib_1 = require("../../../lib");
|
|
|
30
31
|
// CloudFormation may complete the refactoring, while the stack is still in the "UPDATE_IN_PROGRESS" state.
|
|
31
32
|
// Give it a couple of seconds to finish the update.
|
|
32
33
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
33
|
-
}));
|
|
34
|
+
}, { aws: { regions: regions_1.STACK_REFACTORING_REGIONS } }));
|
|
34
35
|
function getStackNameFromArn(stackArn) {
|
|
35
36
|
// Example ARN: arn:aws:cloudformation:region:account-id:stack/stack-name/guid
|
|
36
37
|
const arnParts = stackArn.split(':');
|
|
@@ -39,4 +40,4 @@ function getStackNameFromArn(stackArn) {
|
|
|
39
40
|
// The stack name is the second part: ["stack", "stack-name", "guid"]
|
|
40
41
|
return resourceParts[1];
|
|
41
42
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLW5vLWFtYmlndWl0aWVzLWV4ZWN1dGlvbi5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstcmVmYWN0b3Itbm8tYW1iaWd1aXRpZXMtZXhlY3V0aW9uLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdEQSxrREFPQztBQXZERCwwRUFBbUc7QUFDbkcsc0NBQThEO0FBQzlELGtEQUFpRTtBQUVqRSxJQUFBLGVBQVMsRUFDUCxzRUFBc0UsRUFDdEUsSUFBQSx5QkFBbUIsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25ELDJCQUEyQjtJQUMzQixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtRQUNoRCxNQUFNLEVBQUU7WUFDTixzQkFBc0IsRUFBRSxTQUFTO1NBQ2xDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsc0RBQXNEO0lBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLENBQUM7UUFDM0MsWUFBWSxFQUFFLElBQUk7UUFDbEIscURBQXFEO1FBQ3JELDhDQUE4QztRQUM5QyxNQUFNLEVBQUU7WUFDTixzQkFBc0IsRUFBRSxTQUFTO1NBQ2xDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRWxELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVELElBQUkscURBQTZCLENBQUM7UUFDaEMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztLQUN6QyxDQUFDLENBQ0gsQ0FBQztJQUVGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDekMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFrQixFQUFFLFFBQVEsQ0FBNEIsQ0FDakYsQ0FDRixDQUFDO0lBRUYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVoRCwyR0FBMkc7SUFDM0csb0RBQW9EO0lBQ3BELE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUNBQXlCLEVBQUUsRUFBRSxDQUFDLENBQ3BELENBQUM7QUFFRixTQUFnQixtQkFBbUIsQ0FBQyxRQUFnQjtJQUNsRCw4RUFBOEU7SUFDOUUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7SUFDeEQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxxRUFBcUU7SUFDckUsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kLCB0eXBlIFN0YWNrUmVzb3VyY2UgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcbmltcG9ydCB7IFNUQUNLX1JFRkFDVE9SSU5HX1JFR0lPTlMgfSBmcm9tICcuLi8uLi8uLi9saWIvcmVnaW9ucyc7XG5cbmludGVnVGVzdChcbiAgJ2NkayByZWZhY3RvciAtIGRldGVjdHMgcmVmYWN0b3JpbmcgY2hhbmdlcyBhbmQgZXhlY3V0ZXMgdGhlIHJlZmFjdG9yJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgncmVmYWN0b3JpbmcnLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIC8vIEZpcnN0LCBkZXBsb3kgdGhlIHN0YWNrc1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdidWNrZXQtc3RhY2snKTtcbiAgICBjb25zdCBzdGFja0FybiA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdiYXNpYycsIHtcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBCQVNJQ19RVUVVRV9MT0dJQ0FMX0lEOiAnT2xkTmFtZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVGhlbiBzZWUgaWYgdGhlIHJlZmFjdG9yaW5nIHRvb2wgZGV0ZWN0cyB0aGUgY2hhbmdlXG4gICAgY29uc3Qgc3RkRXJyID0gYXdhaXQgZml4dHVyZS5jZGtSZWZhY3Rvcih7XG4gICAgICBvcHRpb25zOiBbJy0tdW5zdGFibGU9cmVmYWN0b3InLCAnLS1mb3JjZSddLFxuICAgICAgYWxsb3dFcnJFeGl0OiB0cnVlLFxuICAgICAgLy8gTWFraW5nIHN1cmUgdGhlIHN5bnRoZXNpemVkIHN0YWNrIGhhcyBhIHF1ZXVlIHdpdGhcbiAgICAgIC8vIHRoZSBuZXcgbmFtZSBzbyB0aGF0IGEgcmVmYWN0b3IgaXMgZGV0ZWN0ZWRcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBCQVNJQ19RVUVVRV9MT0dJQ0FMX0lEOiAnTmV3TmFtZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN0ZEVycikudG9NYXRjaCgnU3RhY2sgcmVmYWN0b3IgY29tcGxldGUnKTtcblxuICAgIGNvbnN0IHN0YWNrRGVzY3JpcHRpb24gPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiBnZXRTdGFja05hbWVGcm9tQXJuKHN0YWNrQXJuKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAoc3RhY2tEZXNjcmlwdGlvbi5TdGFja1Jlc291cmNlcyA/PyBbXSkubWFwKFxuICAgICAgICAocmVzb3VyY2UpID0+IFtyZXNvdXJjZS5Mb2dpY2FsUmVzb3VyY2VJZCEsIHJlc291cmNlXSBhcyBbc3RyaW5nLCBTdGFja1Jlc291cmNlXSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIGV4cGVjdChyZXNvdXJjZXMuTmV3TmFtZTU3QjE3MUZFKS50b0JlRGVmaW5lZCgpO1xuXG4gICAgLy8gQ2xvdWRGb3JtYXRpb24gbWF5IGNvbXBsZXRlIHRoZSByZWZhY3RvcmluZywgd2hpbGUgdGhlIHN0YWNrIGlzIHN0aWxsIGluIHRoZSBcIlVQREFURV9JTl9QUk9HUkVTU1wiIHN0YXRlLlxuICAgIC8vIEdpdmUgaXQgYSBjb3VwbGUgb2Ygc2Vjb25kcyB0byBmaW5pc2ggdGhlIHVwZGF0ZS5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDAwKSk7XG4gIH0sIHsgYXdzOiB7IHJlZ2lvbnM6IFNUQUNLX1JFRkFDVE9SSU5HX1JFR0lPTlMgfSB9KSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFja05hbWVGcm9tQXJuKHN0YWNrQXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBFeGFtcGxlIEFSTjogYXJuOmF3czpjbG91ZGZvcm1hdGlvbjpyZWdpb246YWNjb3VudC1pZDpzdGFjay9zdGFjay1uYW1lL2d1aWRcbiAgY29uc3QgYXJuUGFydHMgPSBzdGFja0Fybi5zcGxpdCgnOicpO1xuICBjb25zdCByZXNvdXJjZSA9IGFyblBhcnRzWzVdOyAvLyBcInN0YWNrL3N0YWNrLW5hbWUvZ3VpZFwiXG4gIGNvbnN0IHJlc291cmNlUGFydHMgPSByZXNvdXJjZS5zcGxpdCgnLycpO1xuICAvLyBUaGUgc3RhY2sgbmFtZSBpcyB0aGUgc2Vjb25kIHBhcnQ6IFtcInN0YWNrXCIsIFwic3RhY2stbmFtZVwiLCBcImd1aWRcIl1cbiAgcmV0dXJuIHJlc291cmNlUGFydHNbMV07XG59XG4iXX0=
|
|
@@ -6,6 +6,7 @@ const os = require("node:os");
|
|
|
6
6
|
const path = require("node:path");
|
|
7
7
|
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
8
8
|
const lib_1 = require("../../../lib");
|
|
9
|
+
const regions_1 = require("../../../lib/regions");
|
|
9
10
|
(0, lib_1.integTest)('cdk refactor - detects refactoring changes and executes the refactor, overriding ambiguities', (0, lib_1.withSpecificFixture)('refactoring', async (fixture) => {
|
|
10
11
|
// First, deploy the stacks
|
|
11
12
|
await fixture.cdkDeploy('bucket-stack');
|
|
@@ -52,7 +53,7 @@ const lib_1 = require("../../../lib");
|
|
|
52
53
|
// CloudFormation may complete the refactoring, while the stack is still in the "UPDATE_IN_PROGRESS" state.
|
|
53
54
|
// Give it a couple of seconds to finish the update.
|
|
54
55
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
55
|
-
}));
|
|
56
|
+
}, { aws: { regions: regions_1.STACK_REFACTORING_REGIONS } }));
|
|
56
57
|
function getStackInfoFromArn(stackArn) {
|
|
57
58
|
// Example ARN: arn:aws:cloudformation:region:account-id:stack/stack-name/guid
|
|
58
59
|
const arnParts = stackArn.split(':');
|
|
@@ -65,4 +66,4 @@ function getStackInfoFromArn(stackArn) {
|
|
|
65
66
|
name: resourceParts[1],
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLXdpdGgtYW1iaWd1aXRpZXMtZXhlY3V0aW9uLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1yZWZhY3Rvci13aXRoLWFtYmlndWl0aWVzLWV4ZWN1dGlvbi5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnRkEsa0RBV0M7QUEzRkQsOEJBQThCO0FBQzlCLDhCQUE4QjtBQUM5QixrQ0FBa0M7QUFFbEMsMEVBQStFO0FBQy9FLHNDQUE4RDtBQUM5RCxrREFBaUU7QUFFakUsSUFBQSxlQUFTLEVBQ1AsOEZBQThGLEVBQzlGLElBQUEseUJBQW1CLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuRCwyQkFBMkI7SUFDM0IsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7UUFDaEQsTUFBTSxFQUFFO1lBQ04sc0JBQXNCLEVBQUUsU0FBUztZQUNqQywyQkFBMkIsRUFBRSxtQkFBbUI7U0FDakQ7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBRWpDLE1BQU0sU0FBUyxHQUFHO1FBQ2hCLFlBQVksRUFBRTtZQUNaO2dCQUNFLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztnQkFDMUIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsQ0FBQyxHQUFHLFNBQVMsbUJBQW1CLENBQUMsRUFBRSxHQUFHLFNBQVMsbUJBQW1CO29CQUNsRSxDQUFDLEdBQUcsU0FBUyw2QkFBNkIsQ0FBQyxFQUFFLEdBQUcsU0FBUyw2QkFBNkI7aUJBQ3ZGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0UsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRTNELHNEQUFzRDtJQUN0RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixhQUFhLEVBQUUsQ0FBQztRQUMvRSxZQUFZLEVBQUUsSUFBSTtRQUNsQixxREFBcUQ7UUFDckQsOENBQThDO1FBQzlDLE1BQU0sRUFBRTtZQUNOLHNCQUFzQixFQUFFLFNBQVM7WUFDakMsMkJBQTJCLEVBQUUsbUJBQW1CO1NBQ2pEO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRWxELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVELElBQUkscURBQTZCLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVM7S0FDckIsQ0FBQyxDQUNILENBQUM7SUFFRixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNsQyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ3pDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBa0IsRUFBRSxRQUFRLENBQTRCLENBQ2pGLENBQ0YsQ0FBQztJQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRCxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRWhELDJHQUEyRztJQUMzRyxvREFBb0Q7SUFDcEQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxtQ0FBeUIsRUFBRSxFQUFFLENBQUMsQ0FDcEQsQ0FBQztBQVFGLFNBQWdCLG1CQUFtQixDQUFDLFFBQWdCO0lBQ2xELDhFQUE4RTtJQUM5RSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUN4RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLHFFQUFxRTtJQUNyRSxPQUFPO1FBQ0wsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDdkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdub2RlOmZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ25vZGU6b3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Jlc291cmNlIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aFNwZWNpZmljRml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5pbXBvcnQgeyBTVEFDS19SRUZBQ1RPUklOR19SRUdJT05TIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lvbnMnO1xuXG5pbnRlZ1Rlc3QoXG4gICdjZGsgcmVmYWN0b3IgLSBkZXRlY3RzIHJlZmFjdG9yaW5nIGNoYW5nZXMgYW5kIGV4ZWN1dGVzIHRoZSByZWZhY3Rvciwgb3ZlcnJpZGluZyBhbWJpZ3VpdGllcycsXG4gIHdpdGhTcGVjaWZpY0ZpeHR1cmUoJ3JlZmFjdG9yaW5nJywgYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBGaXJzdCwgZGVwbG95IHRoZSBzdGFja3NcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnYnVja2V0LXN0YWNrJyk7XG4gICAgY29uc3Qgc3RhY2tBcm4gPSBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnYmFzaWMnLCB7XG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgQkFTSUNfUVVFVUVfTE9HSUNBTF9JRDogJ09sZE5hbWUnLFxuICAgICAgICBBRERJVElPTkFMX1FVRVVFX0xPR0lDQUxfSUQ6ICdBZGRpdGlvbmFsT2xkTmFtZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhY2tJbmZvID0gZ2V0U3RhY2tJbmZvRnJvbUFybihzdGFja0Fybik7XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gc3RhY2tJbmZvLm5hbWU7XG5cbiAgICBjb25zdCBvdmVycmlkZXMgPSB7XG4gICAgICBlbnZpcm9ubWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFjY291bnQ6IHN0YWNrSW5mby5hY2NvdW50LFxuICAgICAgICAgIHJlZ2lvbjogc3RhY2tJbmZvLnJlZ2lvbixcbiAgICAgICAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgICAgIFtgJHtzdGFja05hbWV9L09sZE5hbWUvUmVzb3VyY2VgXTogYCR7c3RhY2tOYW1lfS9OZXdOYW1lL1Jlc291cmNlYCxcbiAgICAgICAgICAgIFtgJHtzdGFja05hbWV9L0FkZGl0aW9uYWxPbGROYW1lL1Jlc291cmNlYF06IGAke3N0YWNrTmFtZX0vQWRkaXRpb25hbE5ld05hbWUvUmVzb3VyY2VgLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBvdmVycmlkZXNQYXRoID0gcGF0aC5qb2luKG9zLnRtcGRpcigpLCBgb3ZlcnJpZGVzLSR7RGF0ZS5ub3coKX0uanNvbmApO1xuICAgIGZzLndyaXRlRmlsZVN5bmMob3ZlcnJpZGVzUGF0aCwgSlNPTi5zdHJpbmdpZnkob3ZlcnJpZGVzKSk7XG5cbiAgICAvLyBUaGVuIHNlZSBpZiB0aGUgcmVmYWN0b3JpbmcgdG9vbCBkZXRlY3RzIHRoZSBjaGFuZ2VcbiAgICBjb25zdCBzdGRFcnIgPSBhd2FpdCBmaXh0dXJlLmNka1JlZmFjdG9yKHtcbiAgICAgIG9wdGlvbnM6IFsnLS11bnN0YWJsZT1yZWZhY3RvcicsICctLWZvcmNlJywgYC0tb3ZlcnJpZGUtZmlsZT0ke292ZXJyaWRlc1BhdGh9YF0sXG4gICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICAvLyBNYWtpbmcgc3VyZSB0aGUgc3ludGhlc2l6ZWQgc3RhY2sgaGFzIGEgcXVldWUgd2l0aFxuICAgICAgLy8gdGhlIG5ldyBuYW1lIHNvIHRoYXQgYSByZWZhY3RvciBpcyBkZXRlY3RlZFxuICAgICAgbW9kRW52OiB7XG4gICAgICAgIEJBU0lDX1FVRVVFX0xPR0lDQUxfSUQ6ICdOZXdOYW1lJyxcbiAgICAgICAgQURESVRJT05BTF9RVUVVRV9MT0dJQ0FMX0lEOiAnQWRkaXRpb25hbE5ld05hbWUnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChzdGRFcnIpLnRvTWF0Y2goJ1N0YWNrIHJlZmFjdG9yIGNvbXBsZXRlJyk7XG5cbiAgICBjb25zdCBzdGFja0Rlc2NyaXB0aW9uID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrUmVzb3VyY2VzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogc3RhY2tOYW1lLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc291cmNlcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIChzdGFja0Rlc2NyaXB0aW9uLlN0YWNrUmVzb3VyY2VzID8/IFtdKS5tYXAoXG4gICAgICAgIChyZXNvdXJjZSkgPT4gW3Jlc291cmNlLkxvZ2ljYWxSZXNvdXJjZUlkISwgcmVzb3VyY2VdIGFzIFtzdHJpbmcsIFN0YWNrUmVzb3VyY2VdLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgZXhwZWN0KHJlc291cmNlcy5BZGRpdGlvbmFsTmV3TmFtZUUyRkM1QTRDKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChyZXNvdXJjZXMuTmV3TmFtZTU3QjE3MUZFKS50b0JlRGVmaW5lZCgpO1xuXG4gICAgLy8gQ2xvdWRGb3JtYXRpb24gbWF5IGNvbXBsZXRlIHRoZSByZWZhY3RvcmluZywgd2hpbGUgdGhlIHN0YWNrIGlzIHN0aWxsIGluIHRoZSBcIlVQREFURV9JTl9QUk9HUkVTU1wiIHN0YXRlLlxuICAgIC8vIEdpdmUgaXQgYSBjb3VwbGUgb2Ygc2Vjb25kcyB0byBmaW5pc2ggdGhlIHVwZGF0ZS5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDAwKSk7XG4gIH0sIHsgYXdzOiB7IHJlZ2lvbnM6IFNUQUNLX1JFRkFDVE9SSU5HX1JFR0lPTlMgfSB9KSxcbik7XG5cbmludGVyZmFjZSBTdGFja0luZm8ge1xuICByZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFja0luZm9Gcm9tQXJuKHN0YWNrQXJuOiBzdHJpbmcpOiBTdGFja0luZm8ge1xuICAvLyBFeGFtcGxlIEFSTjogYXJuOmF3czpjbG91ZGZvcm1hdGlvbjpyZWdpb246YWNjb3VudC1pZDpzdGFjay9zdGFjay1uYW1lL2d1aWRcbiAgY29uc3QgYXJuUGFydHMgPSBzdGFja0Fybi5zcGxpdCgnOicpO1xuICBjb25zdCByZXNvdXJjZSA9IGFyblBhcnRzWzVdOyAvLyBcInN0YWNrL3N0YWNrLW5hbWUvZ3VpZFwiXG4gIGNvbnN0IHJlc291cmNlUGFydHMgPSByZXNvdXJjZS5zcGxpdCgnLycpO1xuICAvLyBUaGUgc3RhY2sgbmFtZSBpcyB0aGUgc2Vjb25kIHBhcnQ6IFtcInN0YWNrXCIsIFwic3RhY2stbmFtZVwiLCBcImd1aWRcIl1cbiAgcmV0dXJuIHtcbiAgICByZWdpb246IGFyblBhcnRzWzNdLFxuICAgIGFjY291bnQ6IGFyblBhcnRzWzRdLFxuICAgIG5hbWU6IHJlc291cmNlUGFydHNbMV0sXG4gIH07XG59XG4iXX0=
|