@aws-cdk/toolkit-lib 1.25.0 → 1.25.1
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/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/api/deployments/deploy-stack.js +2 -1
- package/lib/api/diagnosing/{early-validation.d.ts → changeset-error-fetcher.d.ts} +10 -8
- package/lib/api/diagnosing/changeset-error-fetcher.js +83 -0
- package/lib/api/diagnosing/diagnosis-formatting.js +7 -6
- package/lib/api/diagnosing/stack-diagnoser.d.ts +7 -0
- package/lib/api/diagnosing/stack-diagnoser.js +51 -35
- package/lib/api/diagnosing/tree-builder.d.ts +2 -1
- package/lib/api/diagnosing/tree-builder.js +5 -5
- package/lib/api/diagnosing/tree.d.ts +10 -4
- package/lib/api/diagnosing/tree.js +23 -12
- package/lib/api/stack-events/stack-activity-monitor.js +2 -2
- package/lib/api/stack-events/stack-progress-monitor.d.ts +2 -2
- package/lib/api/stack-events/stack-progress-monitor.js +8 -2
- package/lib/index_bg.wasm +0 -0
- package/package.json +9 -9
- package/lib/api/diagnosing/early-validation.js +0 -81
|
@@ -69,12 +69,18 @@ class StackProgressMonitor {
|
|
|
69
69
|
/**
|
|
70
70
|
* Process as stack event and update the progress state.
|
|
71
71
|
*/
|
|
72
|
-
process(
|
|
72
|
+
process(resourceEvent) {
|
|
73
|
+
// Only resources in the root stack (nested stack events do not count towards progress)
|
|
74
|
+
if (resourceEvent.parentStackLogicalIds.length > 0) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const event = resourceEvent.event;
|
|
73
78
|
const status = event.ResourceStatus;
|
|
74
79
|
if (!status || !event.LogicalResourceId) {
|
|
75
80
|
return;
|
|
76
81
|
}
|
|
77
82
|
if (status.endsWith('_COMPLETE_CLEANUP_IN_PROGRESS')) {
|
|
83
|
+
// The stack
|
|
78
84
|
this.resourcesDone++;
|
|
79
85
|
}
|
|
80
86
|
if (status.endsWith('_COMPLETE')) {
|
|
@@ -95,4 +101,4 @@ class StackProgressMonitor {
|
|
|
95
101
|
}
|
|
96
102
|
}
|
|
97
103
|
exports.StackProgressMonitor = StackProgressMonitor;
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stcHJvZ3Jlc3MtbW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YWNrLXByb2dyZXNzLW1vbml0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRzdCLHFDQUFxQztBQUVyQzs7R0FFRztBQUNILE1BQWEsb0JBQW9CO0lBQy9COzs7Ozs7T0FNRztJQUNLLDBCQUEwQixHQUEyQixFQUFFLENBQUM7SUFFaEU7O09BRUc7SUFDSyxhQUFhLEdBQVcsQ0FBQyxDQUFDO0lBRWxDOztPQUVHO0lBQ2MsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUU1Qzs7T0FFRztJQUNjLGNBQWMsQ0FBVTtJQUV6QyxZQUFZLGNBQXVCO1FBQ2pDLGlGQUFpRjtRQUNqRiwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV0RSxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hDLCtEQUErRDtZQUMvRCxPQUFPLElBQUEsY0FBTyxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtRQUNoRixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixPQUFPLEVBQ1AsSUFBQSxjQUFPLEVBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQzNELElBQUEsY0FBTyxFQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLGFBQTRCO1FBQ3pDLHVGQUF1RjtRQUN2RixJQUFJLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkQsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQztZQUNyRCxZQUFZO1lBQ1osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sdUZBQXVGO2dCQUN2RixtQ0FBbUM7Z0JBQ25DLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE5R0Qsb0RBOEdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXRpbCBmcm9tICd1dGlsJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VFdmVudCB9IGZyb20gJy4vc3RhY2stZXZlbnQtcG9sbGVyJztcbmltcG9ydCB0eXBlIHsgU3RhY2tQcm9ncmVzcyB9IGZyb20gJy4uLy4uL3BheWxvYWRzL3Byb2dyZXNzJztcbmltcG9ydCB7IHBhZExlZnQgfSBmcm9tICcuLi8uLi91dGlsJztcblxuLyoqXG4gKiBNb25pdG9ycyBzdGFjayBwcm9ncmVzcy5zXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja1Byb2dyZXNzTW9uaXRvciB7XG4gIC8qKlxuICAgKiBQcmV2aW91cyBjb21wbGV0aW9uIHN0YXRlIG9ic2VydmVkIGJ5IGxvZ2ljYWwgSURcbiAgICpcbiAgICogV2UgdXNlIHRoaXMgdG8gZGV0ZWN0IHRoYXQgaWYgd2Ugc2VlIGEgREVMRVRFX0NPTVBMRVRFIGFmdGVyIGFcbiAgICogQ1JFQVRFX0NPTVBMRVRFLCBpdCdzIGFjdHVhbGx5IGEgcm9sbGJhY2sgYW5kIHdlIHNob3VsZCBERUNSRUFTRVxuICAgKiByZXNvdXJjZXNEb25lIGluc3RlYWQgb2YgaW5jcmVhc2UgaXRcbiAgICovXG4gIHByaXZhdGUgcmVzb3VyY2VzUHJldkNvbXBsZXRlU3RhdGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAvKipcbiAgICogQ291bnQgb2YgcmVzb3VyY2VzIHRoYXQgaGF2ZSByZXBvcnRlZCBhIF9DT01QTEVURSBzdGF0dXNcbiAgICovXG4gIHByaXZhdGUgcmVzb3VyY2VzRG9uZTogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogSG93IG1hbnkgZGlnaXRzIHdlIG5lZWQgdG8gcmVwcmVzZW50IHRoZSB0b3RhbCBjb3VudCAoZm9yIGxpbmluZyB1cCB0aGUgc3RhdHVzIHJlcG9ydGluZylcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VEaWdpdHM6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBleHBlY3RlZCByZXNvdXJjZXMgaW4gdGhlIG1vbml0b3IuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlc1RvdGFsPzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHJlc291cmNlc1RvdGFsPzogbnVtYmVyKSB7XG4gICAgLy8gKzEgYmVjYXVzZSB0aGUgc3RhY2sgYWxzbyBlbWl0cyBhIFwiQ09NUExFVEVcIiBldmVudCBhdCB0aGUgZW5kLCBhbmQgdGhhdCB3YXNuJ3RcbiAgICAvLyBjb3VudGVkIHlldC4gVGhpcyBtYWtlcyBpdCBsaW5lIHVwIHdpdGggdGhlIGFtb3VudCBvZiBldmVudHMgd2UgZXhwZWN0LlxuICAgIHRoaXMucmVzb3VyY2VzVG90YWwgPSByZXNvdXJjZXNUb3RhbCA/IHJlc291cmNlc1RvdGFsICsgMSA6IHVuZGVmaW5lZDtcblxuICAgIC8vIEhvdyBtYW55IGRpZ2l0cyBkb2VzIHRoaXMgbnVtYmVyIHRha2UgdG8gcmVwcmVzZW50P1xuICAgIHRoaXMucmVzb3VyY2VEaWdpdHMgPSB0aGlzLnJlc291cmNlc1RvdGFsID8gTWF0aC5jZWlsKE1hdGgubG9nMTAodGhpcy5yZXNvdXJjZXNUb3RhbCkpIDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBvcnQgdGhlIHN0YWNrIHByb2dyZXNzXG4gICAqL1xuICBwdWJsaWMgZ2V0IHByb2dyZXNzKCk6IFN0YWNrUHJvZ3Jlc3Mge1xuICAgIHJldHVybiB7XG4gICAgICB0b3RhbDogdGhpcy50b3RhbCxcbiAgICAgIGNvbXBsZXRlZDogdGhpcy5jb21wbGV0ZWQsXG4gICAgICBmb3JtYXR0ZWQ6IHRoaXMuZm9ybWF0dGVkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBwcm9ncmVzcyBtb25pdG9yZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIGdldCB0b3RhbCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1RvdGFsO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgY29tcGxldGVkIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29tcGxldGVkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzRG9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBvcnQgdGhlIGN1cnJlbnQgcHJvZ3Jlc3MgYXMgYSBbMzQvNDJdIHN0cmluZywgb3IganVzdCBbMzRdIGlmIHRoZSB0b3RhbCBpcyB1bmtub3duXG4gICAqL1xuICBwdWJsaWMgZ2V0IGZvcm1hdHRlZCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnJlc291cmNlc1RvdGFsID09IG51bGwpIHtcbiAgICAgIC8vIERvbid0IGhhdmUgdG90YWwsIHNob3cgc2ltcGxlIGNvdW50IGFuZCBob3BlIHRoZSBodW1hbiBrbm93c1xuICAgICAgcmV0dXJuIHBhZExlZnQoMywgdXRpbC5mb3JtYXQoJyVzJywgdGhpcy5yZXNvdXJjZXNEb25lKSk7IC8vIG1heCA1MDAgcmVzb3VyY2VzXG4gICAgfVxuXG4gICAgcmV0dXJuIHV0aWwuZm9ybWF0KFxuICAgICAgJyVzLyVzJyxcbiAgICAgIHBhZExlZnQodGhpcy5yZXNvdXJjZURpZ2l0cywgdGhpcy5yZXNvdXJjZXNEb25lLnRvU3RyaW5nKCkpLFxuICAgICAgcGFkTGVmdCh0aGlzLnJlc291cmNlRGlnaXRzLCB0aGlzLnJlc291cmNlc1RvdGFsLnRvU3RyaW5nKCkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VzcyBhcyBzdGFjayBldmVudCBhbmQgdXBkYXRlIHRoZSBwcm9ncmVzcyBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyBwcm9jZXNzKHJlc291cmNlRXZlbnQ6IFJlc291cmNlRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBPbmx5IHJlc291cmNlcyBpbiB0aGUgcm9vdCBzdGFjayAobmVzdGVkIHN0YWNrIGV2ZW50cyBkbyBub3QgY291bnQgdG93YXJkcyBwcm9ncmVzcylcbiAgICBpZiAocmVzb3VyY2VFdmVudC5wYXJlbnRTdGFja0xvZ2ljYWxJZHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50ID0gcmVzb3VyY2VFdmVudC5ldmVudDtcbiAgICBjb25zdCBzdGF0dXMgPSBldmVudC5SZXNvdXJjZVN0YXR1cztcbiAgICBpZiAoIXN0YXR1cyB8fCAhZXZlbnQuTG9naWNhbFJlc291cmNlSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzLmVuZHNXaXRoKCdfQ09NUExFVEVfQ0xFQU5VUF9JTl9QUk9HUkVTUycpKSB7XG4gICAgICAvLyBUaGUgc3RhY2tcbiAgICAgIHRoaXMucmVzb3VyY2VzRG9uZSsrO1xuICAgIH1cblxuICAgIGlmIChzdGF0dXMuZW5kc1dpdGgoJ19DT01QTEVURScpKSB7XG4gICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLnJlc291cmNlc1ByZXZDb21wbGV0ZVN0YXRlW2V2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkXTtcbiAgICAgIGlmICghcHJldlN0YXRlKSB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VzRG9uZSsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgd2UgY29tcGxldGVkIHRoaXMgYmVmb3JlIGFuZCB3ZSdyZSBjb21wbGV0aW5nIGl0IEFHQUlOLCBtZWFucyB3ZSdyZSByb2xsaW5nIGJhY2suXG4gICAgICAgIC8vIFByb3RlY3QgYWdhaW5zdCBzaWxseSB1bmRlcmZsb3cuXG4gICAgICAgIHRoaXMucmVzb3VyY2VzRG9uZS0tO1xuICAgICAgICBpZiAodGhpcy5yZXNvdXJjZXNEb25lIDwgMCkge1xuICAgICAgICAgIHRoaXMucmVzb3VyY2VzRG9uZSA9IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMucmVzb3VyY2VzUHJldkNvbXBsZXRlU3RhdGVbZXZlbnQuTG9naWNhbFJlc291cmNlSWRdID0gc3RhdHVzO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/index_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"organization": true
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@aws-cdk/aws-service-spec": "^0.1.
|
|
38
|
+
"@aws-cdk/aws-service-spec": "^0.1.177",
|
|
39
39
|
"@aws-cdk/cli-plugin-contract": "2.182.2",
|
|
40
|
-
"@cdklabs/eslint-plugin": "^2.0.
|
|
40
|
+
"@cdklabs/eslint-plugin": "^2.0.3",
|
|
41
41
|
"@jest/environment": "^29.7.0",
|
|
42
42
|
"@jest/globals": "^29.7.0",
|
|
43
43
|
"@jest/types": "^29.6.3",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@types/split2": "^4.2.3",
|
|
53
53
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
54
54
|
"@typescript-eslint/parser": "^8",
|
|
55
|
-
"aws-cdk-lib": "2.
|
|
55
|
+
"aws-cdk-lib": "2.252.0",
|
|
56
56
|
"aws-sdk-client-mock": "^4.1.0",
|
|
57
57
|
"aws-sdk-client-mock-jest": "^4.1.0",
|
|
58
58
|
"commit-and-tag-version": "^12",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"jest-when": "^3.7.0",
|
|
72
72
|
"license-checker": "^25.0.1",
|
|
73
73
|
"nock": "13",
|
|
74
|
-
"nx": "^22.
|
|
74
|
+
"nx": "^22.7.1",
|
|
75
75
|
"prettier": "^2.8",
|
|
76
76
|
"projen": "^0.99.52",
|
|
77
77
|
"ts-jest": "^29.4.9",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
},
|
|
84
84
|
"dependencies": {
|
|
85
85
|
"@aws-cdk/cdk-assets-lib": "^1",
|
|
86
|
-
"@aws-cdk/cloud-assembly-api": "2.2.
|
|
87
|
-
"@aws-cdk/cloud-assembly-schema": ">=53.
|
|
86
|
+
"@aws-cdk/cloud-assembly-api": "2.2.3",
|
|
87
|
+
"@aws-cdk/cloud-assembly-schema": ">=53.21.0",
|
|
88
88
|
"@aws-cdk/cloudformation-diff": "^2",
|
|
89
89
|
"@aws-cdk/cx-api": "^2",
|
|
90
90
|
"@aws-sdk/client-appsync": "^3",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"@smithy/util-retry": "^4",
|
|
116
116
|
"@smithy/util-waiter": "^4",
|
|
117
117
|
"archiver": "^7.0.1",
|
|
118
|
-
"cdk-from-cfn": "^0.
|
|
118
|
+
"cdk-from-cfn": "^0.298.0",
|
|
119
119
|
"chalk": "^4",
|
|
120
120
|
"chokidar": "^4",
|
|
121
121
|
"fast-deep-equal": "^3.1.3",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"picomatch": "^4",
|
|
126
126
|
"semver": "^7.7.4",
|
|
127
127
|
"split2": "^4.2.0",
|
|
128
|
-
"uuid": "^11.1.
|
|
128
|
+
"uuid": "^11.1.1",
|
|
129
129
|
"wrap-ansi": "^7",
|
|
130
130
|
"yaml": "^1"
|
|
131
131
|
},
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
"publishConfig": {
|
|
150
150
|
"access": "public"
|
|
151
151
|
},
|
|
152
|
-
"version": "1.25.
|
|
152
|
+
"version": "1.25.1",
|
|
153
153
|
"packageManager": "yarn@4.13.0",
|
|
154
154
|
"types": "lib/index.d.ts",
|
|
155
155
|
"exports": {
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EarlyValidationReporter = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* A ValidationReporter that checks for early validation errors right after
|
|
6
|
-
* creating the change set.
|
|
7
|
-
*/
|
|
8
|
-
class EarlyValidationReporter {
|
|
9
|
-
sdk;
|
|
10
|
-
envResources;
|
|
11
|
-
constructor(sdk, envResources) {
|
|
12
|
-
this.sdk = sdk;
|
|
13
|
-
this.envResources = envResources;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Fetch the details and return them as a string.
|
|
17
|
-
*
|
|
18
|
-
* If the details could not be fetched, log that as a warning using the IoHelper.
|
|
19
|
-
*/
|
|
20
|
-
async fetchDetailsString(changeSetName, stackName, ioHelper) {
|
|
21
|
-
const summary = `Early validation failed for stack '${stackName}' (ChangeSet '${changeSetName}')`;
|
|
22
|
-
const result = await this.fetchDetailsStructured(changeSetName, stackName);
|
|
23
|
-
switch (result.type) {
|
|
24
|
-
case 'could-not-check':
|
|
25
|
-
await ioHelper.defaults.warn(result.message);
|
|
26
|
-
return summary;
|
|
27
|
-
case 'resource-errors':
|
|
28
|
-
if (result.errors.length === 0) {
|
|
29
|
-
return summary;
|
|
30
|
-
}
|
|
31
|
-
return [
|
|
32
|
-
`${summary}:`,
|
|
33
|
-
...result.errors.map(e => ` - ${e.message} (at ${e.documentPath})`),
|
|
34
|
-
].join('\n');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Fetch the details and return them in structured form.
|
|
39
|
-
*/
|
|
40
|
-
async fetchDetailsStructured(changeSetName, stackName) {
|
|
41
|
-
let operationEvents = [];
|
|
42
|
-
try {
|
|
43
|
-
operationEvents = await this.getFailedEvents(stackName, changeSetName);
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
let currentVersion = undefined;
|
|
47
|
-
try {
|
|
48
|
-
currentVersion = (await this.envResources?.lookupToolkit())?.version;
|
|
49
|
-
}
|
|
50
|
-
catch (e) {
|
|
51
|
-
}
|
|
52
|
-
return {
|
|
53
|
-
type: 'could-not-check',
|
|
54
|
-
message: `Could not retrieve additional details about early validation errors (${error}). Make sure you have permissions to call the DescribeEvents API, or re-bootstrap your environment by running 'cdk bootstrap' to update the Bootstrap CDK Toolkit stack. Bootstrap toolkit stack version 30 or later is needed; current version: ${currentVersion ?? 'unknown'}.`,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
type: 'resource-errors',
|
|
59
|
-
errors: operationEvents.map((ev) => ({
|
|
60
|
-
eventType: ev.EventType ?? '',
|
|
61
|
-
logicalId: ev.LogicalResourceId ?? '',
|
|
62
|
-
message: ev.ValidationStatusReason ?? '',
|
|
63
|
-
physicalId: ev.PhysicalResourceId ? ev.PhysicalResourceId : undefined,
|
|
64
|
-
validationName: ev.ValidationName ?? '',
|
|
65
|
-
documentPath: ev.ValidationPath ?? '',
|
|
66
|
-
resourceType: ev.ResourceType,
|
|
67
|
-
})),
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
async getFailedEvents(stackName, changeSetName) {
|
|
71
|
-
return this.sdk.cloudFormation().paginatedDescribeEvents({
|
|
72
|
-
StackName: stackName,
|
|
73
|
-
ChangeSetName: changeSetName,
|
|
74
|
-
Filters: {
|
|
75
|
-
FailedEvents: true,
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
exports.EarlyValidationReporter = EarlyValidationReporter;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFybHktdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVhcmx5LXZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0E7OztHQUdHO0FBQ0gsTUFBYSx1QkFBdUI7SUFDTDtJQUEyQjtJQUF4RCxZQUE2QixHQUFRLEVBQW1CLFlBQW1DO1FBQTlELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBbUIsaUJBQVksR0FBWixZQUFZLENBQXVCO0lBQzNGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGtCQUFrQixDQUFDLGFBQXFCLEVBQUUsU0FBaUIsRUFBRSxRQUFrQjtRQUMxRixNQUFNLE9BQU8sR0FBRyxzQ0FBc0MsU0FBUyxpQkFBaUIsYUFBYSxJQUFJLENBQUM7UUFDbEcsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTNFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssaUJBQWlCO2dCQUNwQixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDN0MsT0FBTyxPQUFPLENBQUM7WUFFakIsS0FBSyxpQkFBaUI7Z0JBQ3BCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQy9CLE9BQU8sT0FBTyxDQUFDO2dCQUNqQixDQUFDO2dCQUNELE9BQU87b0JBQ0wsR0FBRyxPQUFPLEdBQUc7b0JBQ2IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUM7aUJBQ3JFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsYUFBcUIsRUFBRSxTQUFpQjtRQUMxRSxJQUFJLGVBQWUsR0FBcUIsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQztZQUNILGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxjQUFjLEdBQXVCLFNBQVMsQ0FBQztZQUNuRCxJQUFJLENBQUM7Z0JBQ0gsY0FBYyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDO1lBQ3ZFLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2IsQ0FBQztZQUVELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsT0FBTyxFQUFFLHdFQUF3RSxLQUFLLG9QQUFvUCxjQUFjLElBQUksU0FBUyxHQUFHO2FBQ3pXLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsTUFBTSxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQzdCLFNBQVMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLElBQUksRUFBRTtnQkFDckMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsSUFBSSxFQUFFO2dCQUN4QyxVQUFVLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ3JFLGNBQWMsRUFBRSxFQUFFLENBQUMsY0FBYyxJQUFJLEVBQUU7Z0JBQ3ZDLFlBQVksRUFBRSxFQUFFLENBQUMsY0FBYyxJQUFJLEVBQUU7Z0JBQ3JDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTthQUNFLENBQUEsQ0FBQztTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBaUIsRUFBRSxhQUFxQjtRQUNwRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDdkQsU0FBUyxFQUFFLFNBQVM7WUFDcEIsYUFBYSxFQUFFLGFBQWE7WUFDNUIsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRSxJQUFJO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBeEVELDBEQXdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT3BlcmF0aW9uRXZlbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBTREsgfSBmcm9tICcuLi9hd3MtYXV0aC9zZGsnO1xuaW1wb3J0IHR5cGUgeyBFbnZpcm9ubWVudFJlc291cmNlcyB9IGZyb20gJy4uL2Vudmlyb25tZW50JztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi9pby9wcml2YXRlL2lvLWhlbHBlcic7XG5cbi8qKlxuICogQSBWYWxpZGF0aW9uUmVwb3J0ZXIgdGhhdCBjaGVja3MgZm9yIGVhcmx5IHZhbGlkYXRpb24gZXJyb3JzIHJpZ2h0IGFmdGVyXG4gKiBjcmVhdGluZyB0aGUgY2hhbmdlIHNldC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVhcmx5VmFsaWRhdGlvblJlcG9ydGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZGs6IFNESywgcHJpdmF0ZSByZWFkb25seSBlbnZSZXNvdXJjZXM/OiBFbnZpcm9ubWVudFJlc291cmNlcykge1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHRoZSBkZXRhaWxzIGFuZCByZXR1cm4gdGhlbSBhcyBhIHN0cmluZy5cbiAgICpcbiAgICogSWYgdGhlIGRldGFpbHMgY291bGQgbm90IGJlIGZldGNoZWQsIGxvZyB0aGF0IGFzIGEgd2FybmluZyB1c2luZyB0aGUgSW9IZWxwZXIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZmV0Y2hEZXRhaWxzU3RyaW5nKGNoYW5nZVNldE5hbWU6IHN0cmluZywgc3RhY2tOYW1lOiBzdHJpbmcsIGlvSGVscGVyOiBJb0hlbHBlcik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IGBFYXJseSB2YWxpZGF0aW9uIGZhaWxlZCBmb3Igc3RhY2sgJyR7c3RhY2tOYW1lfScgKENoYW5nZVNldCAnJHtjaGFuZ2VTZXROYW1lfScpYDtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmZldGNoRGV0YWlsc1N0cnVjdHVyZWQoY2hhbmdlU2V0TmFtZSwgc3RhY2tOYW1lKTtcblxuICAgIHN3aXRjaCAocmVzdWx0LnR5cGUpIHtcbiAgICAgIGNhc2UgJ2NvdWxkLW5vdC1jaGVjayc6XG4gICAgICAgIGF3YWl0IGlvSGVscGVyLmRlZmF1bHRzLndhcm4ocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gc3VtbWFyeTtcblxuICAgICAgY2FzZSAncmVzb3VyY2UtZXJyb3JzJzpcbiAgICAgICAgaWYgKHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIHN1bW1hcnk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBgJHtzdW1tYXJ5fTpgLFxuICAgICAgICAgIC4uLnJlc3VsdC5lcnJvcnMubWFwKGUgPT4gYCAgLSAke2UubWVzc2FnZX0gKGF0ICR7ZS5kb2N1bWVudFBhdGh9KWApLFxuICAgICAgICBdLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgZGV0YWlscyBhbmQgcmV0dXJuIHRoZW0gaW4gc3RydWN0dXJlZCBmb3JtLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGZldGNoRGV0YWlsc1N0cnVjdHVyZWQoY2hhbmdlU2V0TmFtZTogc3RyaW5nLCBzdGFja05hbWU6IHN0cmluZyk6IFByb21pc2U8RWFybHlWYWxpZGF0aW9uQ2hlY2tSZXN1bHQ+IHtcbiAgICBsZXQgb3BlcmF0aW9uRXZlbnRzOiBPcGVyYXRpb25FdmVudFtdID0gW107XG4gICAgdHJ5IHtcbiAgICAgIG9wZXJhdGlvbkV2ZW50cyA9IGF3YWl0IHRoaXMuZ2V0RmFpbGVkRXZlbnRzKHN0YWNrTmFtZSwgY2hhbmdlU2V0TmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxldCBjdXJyZW50VmVyc2lvbjogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY3VycmVudFZlcnNpb24gPSAoYXdhaXQgdGhpcy5lbnZSZXNvdXJjZXM/Lmxvb2t1cFRvb2xraXQoKSk/LnZlcnNpb247XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdjb3VsZC1ub3QtY2hlY2snLFxuICAgICAgICBtZXNzYWdlOiBgQ291bGQgbm90IHJldHJpZXZlIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCBlYXJseSB2YWxpZGF0aW9uIGVycm9ycyAoJHtlcnJvcn0pLiBNYWtlIHN1cmUgeW91IGhhdmUgcGVybWlzc2lvbnMgdG8gY2FsbCB0aGUgRGVzY3JpYmVFdmVudHMgQVBJLCBvciByZS1ib290c3RyYXAgeW91ciBlbnZpcm9ubWVudCBieSBydW5uaW5nICdjZGsgYm9vdHN0cmFwJyB0byB1cGRhdGUgdGhlIEJvb3RzdHJhcCBDREsgVG9vbGtpdCBzdGFjay4gQm9vdHN0cmFwIHRvb2xraXQgc3RhY2sgdmVyc2lvbiAzMCBvciBsYXRlciBpcyBuZWVkZWQ7IGN1cnJlbnQgdmVyc2lvbjogJHtjdXJyZW50VmVyc2lvbiA/PyAndW5rbm93bid9LmAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAncmVzb3VyY2UtZXJyb3JzJyxcbiAgICAgIGVycm9yczogb3BlcmF0aW9uRXZlbnRzLm1hcCgoZXYpID0+ICh7XG4gICAgICAgIGV2ZW50VHlwZTogZXYuRXZlbnRUeXBlID8/ICcnLFxuICAgICAgICBsb2dpY2FsSWQ6IGV2LkxvZ2ljYWxSZXNvdXJjZUlkID8/ICcnLFxuICAgICAgICBtZXNzYWdlOiBldi5WYWxpZGF0aW9uU3RhdHVzUmVhc29uID8/ICcnLFxuICAgICAgICBwaHlzaWNhbElkOiBldi5QaHlzaWNhbFJlc291cmNlSWQgPyBldi5QaHlzaWNhbFJlc291cmNlSWQgOiB1bmRlZmluZWQsXG4gICAgICAgIHZhbGlkYXRpb25OYW1lOiBldi5WYWxpZGF0aW9uTmFtZSA/PyAnJyxcbiAgICAgICAgZG9jdW1lbnRQYXRoOiBldi5WYWxpZGF0aW9uUGF0aCA/PyAnJyxcbiAgICAgICAgcmVzb3VyY2VUeXBlOiBldi5SZXNvdXJjZVR5cGUsXG4gICAgICB9IHNhdGlzZmllcyBFYXJseVZhbGlkYXRpb25FcnJvcikpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEZhaWxlZEV2ZW50cyhzdGFja05hbWU6IHN0cmluZywgY2hhbmdlU2V0TmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc2RrLmNsb3VkRm9ybWF0aW9uKCkucGFnaW5hdGVkRGVzY3JpYmVFdmVudHMoe1xuICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsXG4gICAgICBDaGFuZ2VTZXROYW1lOiBjaGFuZ2VTZXROYW1lLFxuICAgICAgRmlsdGVyczoge1xuICAgICAgICBGYWlsZWRFdmVudHM6IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEVhcmx5VmFsaWRhdGlvbkNoZWNrUmVzdWx0ID1cbiAgfCB7IHR5cGU6ICdjb3VsZC1ub3QtY2hlY2snOyBtZXNzYWdlOiBzdHJpbmcgfVxuICB8IHsgdHlwZTogJ3Jlc291cmNlLWVycm9ycyc7IGVycm9yczogRWFybHlWYWxpZGF0aW9uRXJyb3JbXSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVhcmx5VmFsaWRhdGlvbkVycm9yIHtcbiAgcmVhZG9ubHkgbG9naWNhbElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBoeXNpY2FsSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICByZWFkb25seSByZXNvdXJjZVR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4YW1wbGU6IGBWQUxJREFUSU9OX0VSUk9SYFxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4YW1wbGU6IGBOQU1FX0NPTkZMSUNUX1ZBTElEQVRJT05gXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0aW9uTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeGFtcGxlOiBgL1Jlc291cmNlcy9Tb21lQnVja2V0RDVCNzA3MDRgXG4gICAqL1xuICByZWFkb25seSBkb2N1bWVudFBhdGg6IHN0cmluZztcbn1cbiJdfQ==
|