@aws-cdk/cloud-assembly-schema 53.28.0 → 54.0.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/.jsii +459 -107
- package/.jsii.tabl.json +1 -1
- package/cli-version.json +1 -1
- package/lib/cloud-assembly/validation-report-schema.d.ts +84 -0
- package/lib/cloud-assembly/validation-report-schema.js +1 -1
- package/lib/integ-tests/test-case.d.ts +9 -0
- package/lib/integ-tests/test-case.js +1 -1
- package/lib/manifest.js +1 -1
- package/node_modules/semver/classes/range.js +7 -0
- package/node_modules/semver/package.json +1 -1
- package/node_modules/semver/ranges/subset.js +2 -2
- package/package.json +13 -7
- package/rosetta/_generated.ts-fixture +6 -0
- package/schema/integ.schema.json +5 -0
- package/schema/validation-report.schema.json +64 -0
- package/schema/version.json +2 -2
package/cli-version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"2.
|
|
1
|
+
{"version":"2.1126.0"}
|
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
8
|
* The top-level structure of the policy validation report file.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { PolicyValidationReportJson } from '@aws-cdk/cloud-assembly-schema';
|
|
12
|
+
*
|
|
13
|
+
* const report: PolicyValidationReportJson = {
|
|
14
|
+
* version: '1.0',
|
|
15
|
+
* pluginReports: [{
|
|
16
|
+
* pluginName: 'my-plugin',
|
|
17
|
+
* conclusion: 'success',
|
|
18
|
+
* violations: [],
|
|
19
|
+
* }],
|
|
20
|
+
* };
|
|
9
21
|
*/
|
|
10
22
|
export interface PolicyValidationReportJson {
|
|
11
23
|
/**
|
|
@@ -23,6 +35,15 @@ export interface PolicyValidationReportJson {
|
|
|
23
35
|
}
|
|
24
36
|
/**
|
|
25
37
|
* A report from a single validation plugin.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* import { PluginReportJson } from '@aws-cdk/cloud-assembly-schema';
|
|
41
|
+
*
|
|
42
|
+
* const report: PluginReportJson = {
|
|
43
|
+
* pluginName: 'my-plugin',
|
|
44
|
+
* conclusion: 'success',
|
|
45
|
+
* violations: [],
|
|
46
|
+
* };
|
|
26
47
|
*/
|
|
27
48
|
export interface PluginReportJson {
|
|
28
49
|
/**
|
|
@@ -51,6 +72,16 @@ export interface PluginReportJson {
|
|
|
51
72
|
* Violations found by this plugin.
|
|
52
73
|
*/
|
|
53
74
|
readonly violations: PolicyViolationJson[];
|
|
75
|
+
/**
|
|
76
|
+
* Violations that were suppressed via acknowledgement.
|
|
77
|
+
*
|
|
78
|
+
* These violations matched an acknowledged rule ID and were excluded
|
|
79
|
+
* from the active violations list. They are retained for audit
|
|
80
|
+
* trail and reporting purposes.
|
|
81
|
+
*
|
|
82
|
+
* @default - no suppressed violations
|
|
83
|
+
*/
|
|
84
|
+
readonly suppressedViolations?: SuppressedViolationJson[];
|
|
54
85
|
}
|
|
55
86
|
/**
|
|
56
87
|
* The final conclusion of a validation report.
|
|
@@ -58,6 +89,16 @@ export interface PluginReportJson {
|
|
|
58
89
|
export type PolicyValidationReportConclusion = 'success' | 'failure';
|
|
59
90
|
/**
|
|
60
91
|
* A single policy violation found by a validation plugin.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* import { PolicyViolationJson } from '@aws-cdk/cloud-assembly-schema';
|
|
95
|
+
*
|
|
96
|
+
* const violation: PolicyViolationJson = {
|
|
97
|
+
* ruleName: 'no-public-access',
|
|
98
|
+
* description: 'S3 bucket should not allow public access',
|
|
99
|
+
* severity: 'error',
|
|
100
|
+
* violatingConstructs: [{ constructPath: 'MyStack/MyBucket' }],
|
|
101
|
+
* };
|
|
61
102
|
*/
|
|
62
103
|
export interface PolicyViolationJson {
|
|
63
104
|
/**
|
|
@@ -142,6 +183,49 @@ export interface ViolatingConstructJson {
|
|
|
142
183
|
*/
|
|
143
184
|
readonly stackTraces?: string[];
|
|
144
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* A violation that was acknowledged/suppressed and excluded from the
|
|
188
|
+
* active violation set.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* import { SuppressedViolationJson } from '@aws-cdk/cloud-assembly-schema';
|
|
192
|
+
*
|
|
193
|
+
* const suppressed: SuppressedViolationJson = {
|
|
194
|
+
* ruleName: 'no-public-access',
|
|
195
|
+
* description: 'S3 bucket should not allow public access',
|
|
196
|
+
* severity: 'warning',
|
|
197
|
+
* violatingConstructs: [{ constructPath: 'MyStack/MyBucket' }],
|
|
198
|
+
* acknowledgedId: 'my-plugin::no-public-access',
|
|
199
|
+
* };
|
|
200
|
+
*/
|
|
201
|
+
export interface SuppressedViolationJson extends PolicyViolationJson {
|
|
202
|
+
/**
|
|
203
|
+
* The acknowledgement ID that caused this violation to be suppressed.
|
|
204
|
+
*
|
|
205
|
+
* Format: `<plugin-name>::<rule-name>` (spaces replaced with hyphens).
|
|
206
|
+
*/
|
|
207
|
+
readonly acknowledgedId: string;
|
|
208
|
+
/**
|
|
209
|
+
* The reason given for the acknowledgement, if provided.
|
|
210
|
+
*
|
|
211
|
+
* @default - no reason given
|
|
212
|
+
*/
|
|
213
|
+
readonly reason?: string;
|
|
214
|
+
/**
|
|
215
|
+
* The construct path where the acknowledgement was declared.
|
|
216
|
+
*
|
|
217
|
+
* @default - unknown
|
|
218
|
+
*/
|
|
219
|
+
readonly acknowledgedAt?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Stack trace showing where the acknowledgement was declared.
|
|
222
|
+
*
|
|
223
|
+
* A `\n`-delimited string of stack frames.
|
|
224
|
+
*
|
|
225
|
+
* @default - no stack trace
|
|
226
|
+
*/
|
|
227
|
+
readonly acknowledgedStackTrace?: string;
|
|
228
|
+
}
|
|
145
229
|
/**
|
|
146
230
|
* A node in the construct creation stack trace.
|
|
147
231
|
*/
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* during synthesis and consumed by the CDK CLI's validate command.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1yZXBvcnQtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGlvbi1yZXBvcnQtc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSlNPTiBzY2hlbWEgZm9yIHZhbGlkYXRpb24tcmVwb3J0Lmpzb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgd3JpdHRlbiB0byB0aGUgY2xvdWQgYXNzZW1ibHkgZGlyZWN0b3J5IGJ5IGF3cy1jZGstbGliXG4gKiBkdXJpbmcgc3ludGhlc2lzIGFuZCBjb25zdW1lZCBieSB0aGUgQ0RLIENMSSdzIHZhbGlkYXRlIGNvbW1hbmQuXG4gKi9cblxuLyoqXG4gKiBUaGUgdG9wLWxldmVsIHN0cnVjdHVyZSBvZiB0aGUgcG9saWN5IHZhbGlkYXRpb24gcmVwb3J0IGZpbGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IFBvbGljeVZhbGlkYXRpb25SZXBvcnRKc29uIH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbiAqXG4gKiBjb25zdCByZXBvcnQ6IFBvbGljeVZhbGlkYXRpb25SZXBvcnRKc29uID0ge1xuICogICB2ZXJzaW9uOiAnMS4wJyxcbiAqICAgcGx1Z2luUmVwb3J0czogW3tcbiAqICAgICBwbHVnaW5OYW1lOiAnbXktcGx1Z2luJyxcbiAqICAgICBjb25jbHVzaW9uOiAnc3VjY2VzcycsXG4gKiAgICAgdmlvbGF0aW9uczogW10sXG4gKiAgIH1dLFxuICogfTtcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb2xpY3lWYWxpZGF0aW9uUmVwb3J0SnNvbiB7XG4gIC8qKlxuICAgKiBQcm90b2NvbCB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcG9ydCB0aXRsZSwgaWYgcHJlc2VudC5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXBvcnRzIGZyb20gYWxsIHZhbGlkYXRpb24gcGx1Z2lucyB0aGF0IHJhbiBkdXJpbmcgc3ludGhlc2lzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luUmVwb3J0czogUGx1Z2luUmVwb3J0SnNvbltdO1xufVxuXG4vKipcbiAqIEEgcmVwb3J0IGZyb20gYSBzaW5nbGUgdmFsaWRhdGlvbiBwbHVnaW4uXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IFBsdWdpblJlcG9ydEpzb24gfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuICpcbiAqIGNvbnN0IHJlcG9ydDogUGx1Z2luUmVwb3J0SnNvbiA9IHtcbiAqICAgcGx1Z2luTmFtZTogJ215LXBsdWdpbicsXG4gKiAgIGNvbmNsdXNpb246ICdzdWNjZXNzJyxcbiAqICAgdmlvbGF0aW9uczogW10sXG4gKiB9O1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblJlcG9ydEpzb24ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBsdWdpbiB0aGF0IHByb2R1Y2VkIHRoaXMgcmVwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBwbHVnaW4gdGhhdCBwcm9kdWNlZCB0aGlzIHJlcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5WZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwbHVnaW4ncyB2YWxpZGF0aW9uIHBhc3NlZCBvciBmYWlsZWQuXG4gICAqL1xuICByZWFkb25seSBjb25jbHVzaW9uOiBQb2xpY3lWYWxpZGF0aW9uUmVwb3J0Q29uY2x1c2lvbjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBwbHVnaW4tc3BlY2lmaWMgbWV0YWRhdGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWV0YWRhdGFcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVmlvbGF0aW9ucyBmb3VuZCBieSB0aGlzIHBsdWdpbi5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGlvbnM6IFBvbGljeVZpb2xhdGlvbkpzb25bXTtcblxuICAvKipcbiAgICogVmlvbGF0aW9ucyB0aGF0IHdlcmUgc3VwcHJlc3NlZCB2aWEgYWNrbm93bGVkZ2VtZW50LlxuICAgKlxuICAgKiBUaGVzZSB2aW9sYXRpb25zIG1hdGNoZWQgYW4gYWNrbm93bGVkZ2VkIHJ1bGUgSUQgYW5kIHdlcmUgZXhjbHVkZWRcbiAgICogZnJvbSB0aGUgYWN0aXZlIHZpb2xhdGlvbnMgbGlzdC4gVGhleSBhcmUgcmV0YWluZWQgZm9yIGF1ZGl0XG4gICAqIHRyYWlsIGFuZCByZXBvcnRpbmcgcHVycG9zZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3VwcHJlc3NlZCB2aW9sYXRpb25zXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc2VkVmlvbGF0aW9ucz86IFN1cHByZXNzZWRWaW9sYXRpb25Kc29uW107XG59XG5cbi8qKlxuICogVGhlIGZpbmFsIGNvbmNsdXNpb24gb2YgYSB2YWxpZGF0aW9uIHJlcG9ydC5cbiAqL1xuZXhwb3J0IHR5cGUgUG9saWN5VmFsaWRhdGlvblJlcG9ydENvbmNsdXNpb24gPSAnc3VjY2VzcycgfCAnZmFpbHVyZSc7XG5cbi8qKlxuICogQSBzaW5nbGUgcG9saWN5IHZpb2xhdGlvbiBmb3VuZCBieSBhIHZhbGlkYXRpb24gcGx1Z2luLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBQb2xpY3lWaW9sYXRpb25Kc29uIH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbiAqXG4gKiBjb25zdCB2aW9sYXRpb246IFBvbGljeVZpb2xhdGlvbkpzb24gPSB7XG4gKiAgIHJ1bGVOYW1lOiAnbm8tcHVibGljLWFjY2VzcycsXG4gKiAgIGRlc2NyaXB0aW9uOiAnUzMgYnVja2V0IHNob3VsZCBub3QgYWxsb3cgcHVibGljIGFjY2VzcycsXG4gKiAgIHNldmVyaXR5OiAnZXJyb3InLFxuICogICB2aW9sYXRpbmdDb25zdHJ1Y3RzOiBbeyBjb25zdHJ1Y3RQYXRoOiAnTXlTdGFjay9NeUJ1Y2tldCcgfV0sXG4gKiB9O1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeVZpb2xhdGlvbkpzb24ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bGUgdGhhdCB3YXMgdmlvbGF0ZWQuXG4gICAqL1xuICByZWFkb25seSBydWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSB2aW9sYXRpb24uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgdG8gZml4IHRoZSB2aW9sYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZml4IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBzdWdnZXN0ZWRGaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgdmlvbGF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V2ZXJpdHk6IFBvbGljeVZpb2xhdGlvblNldmVyaXR5O1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgcGx1Z2luIHdhbnRzIHRvIHJlcG9ydCB1c2luZyBhIG5vbi1zdGFuZGFyZCBzZXZlcml0eSwgcHV0IGl0IGhlcmVcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVNldmVyaXR5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHJ1bGUtc3BlY2lmaWMgbWV0YWRhdGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWV0YWRhdGFcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVNZXRhZGF0YT86IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgdGhhdCB2aW9sYXRlZCB0aGUgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGluZ0NvbnN0cnVjdHM6IFZpb2xhdGluZ0NvbnN0cnVjdEpzb25bXTtcbn1cblxuLyoqXG4gKiBUaGUgc2V2ZXJpdHkgb2YgYSBwb2xpY3kgdmlvbGF0aW9uLlxuICpcbiAqIElmIHlvdSBuZWVkIHRvIHVzZSBhIHNldmVyaXR5IGxldmVsIHRoYXQgZG9lc24ndCBleGlzdCBhcyBhIHN0YXRpYyBtZW1iZXIsXG4gKiB1c2UgYGN1c3RvbWAuXG4gKi9cbmV4cG9ydCB0eXBlIFBvbGljeVZpb2xhdGlvblNldmVyaXR5ID0gJ2ZhdGFsJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbycgfCAnY3VzdG9tJztcblxuLyoqXG4gKiBBIGNvbnN0cnVjdCB0aGF0IHZpb2xhdGVkIGEgcG9saWN5IHJ1bGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmlvbGF0aW5nQ29uc3RydWN0SnNvbiB7XG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0IHBhdGggYXMgZGVmaW5lZCBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29uc3RydWN0IHBhdGhcbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSBjb25zdHJ1Y3QgY2xhc3MgKGluY2x1ZGVzIHRoZSBsaWJyYXJ5IG5hbWUpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29uc3RydWN0IGluZm9cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdEZxbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkgdGhhdCBjb250YWlucyB0aGlzIGNvbnN0cnVjdC5cbiAgICpcbiAgICogVGhlIGxpYnJhcnkgbmFtZSBpcyB0aGUgZmlyc3QgY29tcG9uZW50IG9mIHRoZSBjb25zdHJ1Y3QgRlFOLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHZlcnNpb24gaW5mb1xuICAgKi9cbiAgcmVhZG9ubHkgbGlicmFyeVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHRoaXMgY29uc3RydWN0IHZpb2xhdGlvbiByZWdhcmRzIGEgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UsIGEgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBkZXRhaWxzXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvcm1hdGlvblJlc291cmNlPzogQ2xvdWRGb3JtYXRpb25SZXNvdXJjZUpzb247XG5cbiAgLyoqXG4gICAqIFN0YWNrIHRyYWNlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyB2aW9sYXRpb25cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgYWxsIHRoZSBzdGFjayB0cmFjZXMgd2hlcmUgYSB2aW9sYXRpbmcgcHJvcGVydHkgZ290IGl0cyB2YWx1ZSxcbiAgICogb3IganVzdCB0aGUgY29uc3RydWN0IGNyZWF0aW9uIHN0YWNrIHRyYWNlLlxuICAgKlxuICAgKiBFdmVyeSBlbGVtZW50IG9mIHRoZSBhcnJheSBpcyBhIHN0YWNrIHRyYWNlLCB3aGVyZSBlYWNoIHN0YWNrIHRyYWNlIGlzIGEgYFxcbmAtZGVsaW1pdGVkIHN0cmluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBzdGFjayB0cmFjZXNcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVHJhY2VzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQSB2aW9sYXRpb24gdGhhdCB3YXMgYWNrbm93bGVkZ2VkL3N1cHByZXNzZWQgYW5kIGV4Y2x1ZGVkIGZyb20gdGhlXG4gKiBhY3RpdmUgdmlvbGF0aW9uIHNldC5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgU3VwcHJlc3NlZFZpb2xhdGlvbkpzb24gfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuICpcbiAqIGNvbnN0IHN1cHByZXNzZWQ6IFN1cHByZXNzZWRWaW9sYXRpb25Kc29uID0ge1xuICogICBydWxlTmFtZTogJ25vLXB1YmxpYy1hY2Nlc3MnLFxuICogICBkZXNjcmlwdGlvbjogJ1MzIGJ1Y2tldCBzaG91bGQgbm90IGFsbG93IHB1YmxpYyBhY2Nlc3MnLFxuICogICBzZXZlcml0eTogJ3dhcm5pbmcnLFxuICogICB2aW9sYXRpbmdDb25zdHJ1Y3RzOiBbeyBjb25zdHJ1Y3RQYXRoOiAnTXlTdGFjay9NeUJ1Y2tldCcgfV0sXG4gKiAgIGFja25vd2xlZGdlZElkOiAnbXktcGx1Z2luOjpuby1wdWJsaWMtYWNjZXNzJyxcbiAqIH07XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcHJlc3NlZFZpb2xhdGlvbkpzb24gZXh0ZW5kcyBQb2xpY3lWaW9sYXRpb25Kc29uIHtcbiAgLyoqXG4gICAqIFRoZSBhY2tub3dsZWRnZW1lbnQgSUQgdGhhdCBjYXVzZWQgdGhpcyB2aW9sYXRpb24gdG8gYmUgc3VwcHJlc3NlZC5cbiAgICpcbiAgICogRm9ybWF0OiBgPHBsdWdpbi1uYW1lPjo6PHJ1bGUtbmFtZT5gIChzcGFjZXMgcmVwbGFjZWQgd2l0aCBoeXBoZW5zKS5cbiAgICovXG4gIHJlYWRvbmx5IGFja25vd2xlZGdlZElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWFzb24gZ2l2ZW4gZm9yIHRoZSBhY2tub3dsZWRnZW1lbnQsIGlmIHByb3ZpZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlYXNvbiBnaXZlblxuICAgKi9cbiAgcmVhZG9ubHkgcmVhc29uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0IHBhdGggd2hlcmUgdGhlIGFja25vd2xlZGdlbWVudCB3YXMgZGVjbGFyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5rbm93blxuICAgKi9cbiAgcmVhZG9ubHkgYWNrbm93bGVkZ2VkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0YWNrIHRyYWNlIHNob3dpbmcgd2hlcmUgdGhlIGFja25vd2xlZGdlbWVudCB3YXMgZGVjbGFyZWQuXG4gICAqXG4gICAqIEEgYFxcbmAtZGVsaW1pdGVkIHN0cmluZyBvZiBzdGFjayBmcmFtZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3RhY2sgdHJhY2VcbiAgICovXG4gIHJlYWRvbmx5IGFja25vd2xlZGdlZFN0YWNrVHJhY2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBub2RlIGluIHRoZSBjb25zdHJ1Y3QgY3JlYXRpb24gc3RhY2sgdHJhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGb3JtYXRpb25SZXNvdXJjZUpzb24ge1xuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIGNvbnRhaW5pbmcgdGhpcyByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9naWNhbCBJRCBvZiB0aGUgcmVzb3VyY2UgaW4gdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9naWNhbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgd2l0aGluIHRoZSBjb25zdHJ1Y3Qgd2hlcmUgdGhlIHZpb2xhdGlvbiB3YXMgZGV0ZWN0ZWQuXG4gICAqXG4gICAqIEVpdGhlciBhIHNpbmdsZSBjb21wb25lbnQsIGluIHdoaWNoIGNhc2UgaXQgcmVnYXJkcyBhIHRvcC1sZXZlbCBwcm9wZXJ0eVxuICAgKiBuYW1lLCBvciBhIEpTT04gcGF0aCAoc3RhcnRpbmcgd2l0aCBgJC5gKSB0byBpbmRpY2F0ZSBhIGRlZXBlciBwcm9wZXJ0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBsb2NhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnR5UGF0aHM/OiBzdHJpbmdbXTtcbn1cbiJdfQ==
|
|
@@ -25,6 +25,15 @@ export interface TestOptions {
|
|
|
25
25
|
* @default - no hooks
|
|
26
26
|
*/
|
|
27
27
|
readonly hooks?: Hooks;
|
|
28
|
+
/**
|
|
29
|
+
* Whether to allow resources that fail to delete during a stack update.
|
|
30
|
+
*
|
|
31
|
+
* When false, the test will fail if CloudFormation skips deleting a resource
|
|
32
|
+
* during a stack update. When true, only a warning is printed.
|
|
33
|
+
*
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
readonly allowDeleteFailures?: boolean;
|
|
28
37
|
/**
|
|
29
38
|
* Whether or not to include asset hashes in the diff
|
|
30
39
|
* Asset hashes can introduces a lot of unneccessary noise into tests,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1jYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC1jYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERlcGxveU9wdGlvbnMsIERlc3Ryb3lPcHRpb25zIH0gZnJvbSAnLi9jb21tYW5kcyc7XG5cbi8qKlxuICogVGhlIHNldCBvZiBvcHRpb25zIHRvIGNvbnRyb2wgdGhlIHdvcmtmbG93IG9mIHRoZSB0ZXN0IHJ1bm5lclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJ1biB1cGRhdGUgd29ya2Zsb3cgb24gdGhpcyB0ZXN0IGNhc2VcbiAgICogVGhpcyBzaG91bGQgb25seSBiZSBzZXQgdG8gZmFsc2UgdG8gdGVzdCBzY2VuYXJpb3NcbiAgICogdGhhdCBhcmUgbm90IHBvc3NpYmxlIHRvIHRlc3QgYXMgcGFydCBvZiB0aGUgdXBkYXRlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVXBkYXRlV29ya2Zsb3c/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMgdG8gdXNlIGZvciBlYWNoIENESyBjb21tYW5kXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcnVubmVyIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgY2RrQ29tbWFuZE9wdGlvbnM/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1jYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC1jYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERlcGxveU9wdGlvbnMsIERlc3Ryb3lPcHRpb25zIH0gZnJvbSAnLi9jb21tYW5kcyc7XG5cbi8qKlxuICogVGhlIHNldCBvZiBvcHRpb25zIHRvIGNvbnRyb2wgdGhlIHdvcmtmbG93IG9mIHRoZSB0ZXN0IHJ1bm5lclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFJ1biB1cGRhdGUgd29ya2Zsb3cgb24gdGhpcyB0ZXN0IGNhc2VcbiAgICogVGhpcyBzaG91bGQgb25seSBiZSBzZXQgdG8gZmFsc2UgdG8gdGVzdCBzY2VuYXJpb3NcbiAgICogdGhhdCBhcmUgbm90IHBvc3NpYmxlIHRvIHRlc3QgYXMgcGFydCBvZiB0aGUgdXBkYXRlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVXBkYXRlV29ya2Zsb3c/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMgdG8gdXNlIGZvciBlYWNoIENESyBjb21tYW5kXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcnVubmVyIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgY2RrQ29tbWFuZE9wdGlvbnM/OiBDZGtDb21tYW5kcztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb21tYW5kcyB0byBydW4gYXQgcHJlZGVmaW5lZCBwb2ludHMgaW4gdGhlIHRlc3Qgd29ya2Zsb3dcbiAgICpcbiAgICogZS5nLiB7IHBvc3REZXBsb3k6IFsneWFybicsICd0ZXN0J10gfVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGhvb2tzXG4gICAqL1xuICByZWFkb25seSBob29rcz86IEhvb2tzO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHJlc291cmNlcyB0aGF0IGZhaWwgdG8gZGVsZXRlIGR1cmluZyBhIHN0YWNrIHVwZGF0ZS5cbiAgICpcbiAgICogV2hlbiBmYWxzZSwgdGhlIHRlc3Qgd2lsbCBmYWlsIGlmIENsb3VkRm9ybWF0aW9uIHNraXBzIGRlbGV0aW5nIGEgcmVzb3VyY2VcbiAgICogZHVyaW5nIGEgc3RhY2sgdXBkYXRlLiBXaGVuIHRydWUsIG9ubHkgYSB3YXJuaW5nIGlzIHByaW50ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0RlbGV0ZUZhaWx1cmVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhc3NldCBoYXNoZXMgaW4gdGhlIGRpZmZcbiAgICogQXNzZXQgaGFzaGVzIGNhbiBpbnRyb2R1Y2VzIGEgbG90IG9mIHVubmVjY2Vzc2FyeSBub2lzZSBpbnRvIHRlc3RzLFxuICAgKiBidXQgdGhlcmUgYXJlIHNvbWUgY2FzZXMgd2hlcmUgYXNzZXQgaGFzaGVzIF9zaG91bGRfIGJlIGluY2x1ZGVkLiBGb3IgZXhhbXBsZVxuICAgKiBhbnkgdGVzdHMgaW52b2x2aW5nIGN1c3RvbSByZXNvdXJjZXMgb3IgYnVuZGxpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpZmZBc3NldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGVzIGluIHRoaXMgc3RhY2sgdGhhdCBjYW5cbiAgICogYmUgZGVzdHJveWVkIGFzIHBhcnQgb2YgYW4gdXBkYXRlIHdpdGhvdXQgZmFpbGluZyB0aGUgdGVzdC5cbiAgICpcbiAgICogVGhpcyBsaXN0IHNob3VsZCBvbmx5IGluY2x1ZGUgcmVzb3VyY2VzIHRoYXQgZm9yIHRoaXMgc3BlY2lmaWNcbiAgICogaW50ZWdyYXRpb24gdGVzdCB3ZSBhcmUgc3VyZSB3aWxsIG5vdCBjYXVzZSBlcnJvcnMgb3IgYW4gb3V0YWdlIGlmXG4gICAqIGRlc3Ryb3llZC4gRm9yIGV4YW1wbGUsIG1heWJlIHdlIGtub3cgdGhhdCBhIG5ldyByZXNvdXJjZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICogZmlyc3QgYmVmb3JlIHRoZSBvbGQgcmVzb3VyY2UgaXMgZGVzdHJveWVkIHdoaWNoIHByZXZlbnRzIGFueSBvdXRhZ2UuXG4gICAqXG4gICAqIGUuZy4gWydBV1M6OklBTTo6Um9sZSddXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IGFsbG93IGRlc3RydWN0aW9uIG9mIGFueSByZXNvdXJjZXMgb24gdXBkYXRlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0Rlc3Ryb3k/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGltaXQgZGVwbG95bWVudCB0byB0aGVzZSByZWdpb25zXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY2FuIHJ1biBpbiBhbnkgcmVnaW9uXG4gICAqL1xuICByZWFkb25seSByZWdpb25zPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBpbnRlZ3JhdGlvbiB0ZXN0IGNhc2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXN0Q2FzZSBleHRlbmRzIFRlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFN0YWNrcyB0aGF0IHNob3VsZCBiZSB0ZXN0ZWQgYXMgcGFydCBvZiB0aGlzIHRlc3QgY2FzZVxuICAgKiBUaGUgc3RhY2tOYW1lcyB3aWxsIGJlIHBhc3NlZCBhcyBhcmdzIHRvIHRoZSBjZGsgY29tbWFuZHNcbiAgICogc28gZGVwZW5kZW50IHN0YWNrcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZGVwbG95ZWQgdW5sZXNzXG4gICAqIGBleGNsdXNpdmVseWAgaXMgcGFzc2VkXG4gICAqL1xuICByZWFkb25seSBzdGFja3M6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbm9kZSBpZCBvZiB0aGUgc3RhY2sgdGhhdCBjb250YWlucyBhc3NlcnRpb25zLlxuICAgKiBUaGlzIGlzIHRoZSB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlcGxveSB0aGUgc3RhY2sgd2l0aCB0aGUgQ0RLIENMSVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFzc2VydGlvbiBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXJ0aW9uU3RhY2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdGFjayB0aGF0IGNvbnRhaW5zIGFzc2VydGlvbnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhc3NlcnRpb24gc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IGFzc2VydGlvblN0YWNrTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tYW5kcyB0byBydW4gYXQgcHJlZGVmaW5lZCBwb2ludHMgZHVyaW5nIHRoZVxuICogaW50ZWdyYXRpb24gdGVzdCB3b3JrZmxvd1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEhvb2tzIHtcbiAgLyoqXG4gICAqIENvbW1hbmRzIHRvIHJ1biBwcmlvciB0byBkZXBsb3lpbmcgdGhlIGNkayBzdGFja3NcbiAgICogaW4gdGhlIGludGVncmF0aW9uIHRlc3RcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb21tYW5kc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlRGVwbG95Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENvbW1hbmRzIHRvIHJ1biBwcmlvciBhZnRlciBkZXBsb3lpbmcgdGhlIGNkayBzdGFja3NcbiAgICogaW4gdGhlIGludGVncmF0aW9uIHRlc3RcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb21tYW5kc1xuICAgKi9cbiAgcmVhZG9ubHkgcG9zdERlcGxveT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDb21tYW5kcyB0byBydW4gcHJpb3IgdG8gZGVzdHJveWluZyB0aGUgY2RrIHN0YWNrc1xuICAgKiBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1hbmRzXG4gICAqL1xuICByZWFkb25seSBwcmVEZXN0cm95Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENvbW1hbmRzIHRvIHJ1biBhZnRlciBkZXN0cm95aW5nIHRoZSBjZGsgc3RhY2tzXG4gICAqIGluIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbWFuZHNcbiAgICovXG4gIHJlYWRvbmx5IHBvc3REZXN0cm95Pzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNkayBjb21tYW5kXG4gKiBpLmUuIGBzeW50aGAsIGBkZXBsb3lgLCAmIGBkZXN0cm95YFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka0NvbW1hbmQge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gcnVuIHRoaXMgY29tbWFuZCBhcyBwYXJ0IG9mIHRoZSB3b3JrZmxvd1xuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGlmIHlvdSBvbmx5IHdhbnQgdG8gdGVzdCBzb21lIG9mIHRoZSB3b3JrZmxvd1xuICAgKiBmb3IgZXhhbXBsZSBlbmFibGUgYHN5bnRoYCBhbmQgZGlzYWJsZSBgZGVwbG95YCAmIGBkZXN0cm95YCBpbiBvcmRlclxuICAgKiB0byBsaW1pdCB0aGUgdGVzdCB0byBzeW50aGVzaXNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHRoZSBydW5uZXIgc2hvdWxkIGV4cGVjdCB0aGlzIGNvbW1hbmQgdG8gZmFpbFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhwZWN0RXJyb3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYGV4cGVjdGVkRXJyb3JgXG4gICAqIHRvIHZhbGlkYXRlIHRoYXQgYSBzcGVjaWZpYyBtZXNzYWdlIGlzIHJldHVybmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCB2YWxpZGF0ZSBtZXNzYWdlXG4gICAqL1xuICByZWFkb25seSBleHBlY3RlZE1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNkayBkZXBsb3kgY29tbWFuZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveUNvbW1hbmQgZXh0ZW5kcyBDZGtDb21tYW5kIHtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGNvbW1hbmRcbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byB0ZXN0IHNwZWNpZmljIENMSSBmdW5jdGlvbmFsaXR5XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gb25seSBkZWZhdWx0IGFyZ3MgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGFyZ3M/OiBEZXBsb3lPcHRpb25zO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjZGsgZGVzdHJveSBjb21tYW5kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzdHJveUNvbW1hbmQgZXh0ZW5kcyBDZGtDb21tYW5kIHtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGNvbW1hbmRcbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byB0ZXN0IHNwZWNpZmljIENMSSBmdW5jdGlvbmFsaXR5XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gb25seSBkZWZhdWx0IGFyZ3MgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGFyZ3M/OiBEZXN0cm95T3B0aW9ucztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzcGVjaWZpYyBjZGsgY29tbWFuZHMgdGhhdCBhcmUgcnVuXG4gKiBhcyBwYXJ0IG9mIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0IHdvcmtmbG93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ29tbWFuZHMge1xuICAvKipcbiAgICogT3B0aW9ucyB0byBmb3IgdGhlIGNkayBkZXBsb3kgY29tbWFuZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgZGVwbG95IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveT86IERlcGxveUNvbW1hbmQ7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgdG8gZm9yIHRoZSBjZGsgZGVzdHJveSBjb21tYW5kXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBkZXN0cm95IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGRlc3Ryb3k/OiBEZXN0cm95Q29tbWFuZDtcbn1cbiJdfQ==
|
package/lib/manifest.js
CHANGED
|
@@ -267,7 +267,7 @@ class Manifest {
|
|
|
267
267
|
}
|
|
268
268
|
exports.Manifest = Manifest;
|
|
269
269
|
_a = JSII_RTTI_SYMBOL_1;
|
|
270
|
-
Manifest[_a] = { fqn: "@aws-cdk/cloud-assembly-schema.Manifest", version: "
|
|
270
|
+
Manifest[_a] = { fqn: "@aws-cdk/cloud-assembly-schema.Manifest", version: "54.0.0" };
|
|
271
271
|
function stripEnumErrors(errors) {
|
|
272
272
|
return errors.filter((e) => typeof e.schema === 'string' || !('enum' in e.schema));
|
|
273
273
|
}
|
|
@@ -98,6 +98,9 @@ class Range {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
parseRange (range) {
|
|
101
|
+
// strip build metadata so it can't bleed into the version
|
|
102
|
+
range = range.replace(BUILDSTRIPRE, '')
|
|
103
|
+
|
|
101
104
|
// memoize range parsing for performance.
|
|
102
105
|
// this is a very hot path, and fully deterministic.
|
|
103
106
|
const memoOpts =
|
|
@@ -223,6 +226,7 @@ const debug = require('../internal/debug')
|
|
|
223
226
|
const SemVer = require('./semver')
|
|
224
227
|
const {
|
|
225
228
|
safeRe: re,
|
|
229
|
+
src,
|
|
226
230
|
t,
|
|
227
231
|
comparatorTrimReplace,
|
|
228
232
|
tildeTrimReplace,
|
|
@@ -230,6 +234,9 @@ const {
|
|
|
230
234
|
} = require('../internal/re')
|
|
231
235
|
const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')
|
|
232
236
|
|
|
237
|
+
// unbounded global build-metadata stripper used by parseRange
|
|
238
|
+
const BUILDSTRIPRE = new RegExp(src[t.BUILD], 'g')
|
|
239
|
+
|
|
233
240
|
const isNullSet = c => c.value === '<0.0.0-0'
|
|
234
241
|
const isAny = c => c.value === ''
|
|
235
242
|
|
|
@@ -174,7 +174,7 @@ const simpleSubset = (sub, dom, options) => {
|
|
|
174
174
|
if (higher === c && higher !== gt) {
|
|
175
175
|
return false
|
|
176
176
|
}
|
|
177
|
-
} else if (gt.operator === '>=' && !
|
|
177
|
+
} else if (gt.operator === '>=' && !c.test(gt.semver)) {
|
|
178
178
|
return false
|
|
179
179
|
}
|
|
180
180
|
}
|
|
@@ -192,7 +192,7 @@ const simpleSubset = (sub, dom, options) => {
|
|
|
192
192
|
if (lower === c && lower !== lt) {
|
|
193
193
|
return false
|
|
194
194
|
}
|
|
195
|
-
} else if (lt.operator === '<=' && !
|
|
195
|
+
} else if (lt.operator === '<=' && !c.test(lt.semver)) {
|
|
196
196
|
return false
|
|
197
197
|
}
|
|
198
198
|
}
|
package/package.json
CHANGED
|
@@ -39,13 +39,14 @@
|
|
|
39
39
|
"organization": true
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@cdklabs/eslint-plugin": "^2.0.
|
|
42
|
+
"@cdklabs/eslint-plugin": "^2.0.7",
|
|
43
43
|
"@stylistic/eslint-plugin": "^3",
|
|
44
44
|
"@types/jest": "^29.5.14",
|
|
45
45
|
"@types/node": "^20",
|
|
46
46
|
"@types/semver": "^7.7.1",
|
|
47
47
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
48
48
|
"@typescript-eslint/parser": "^8",
|
|
49
|
+
"cdk-generate-synthetic-examples": "^0.2.50",
|
|
49
50
|
"commit-and-tag-version": "^12",
|
|
50
51
|
"constructs": "^10.0.0",
|
|
51
52
|
"eslint": "^9",
|
|
@@ -58,14 +59,14 @@
|
|
|
58
59
|
"jest": "^29.7.0",
|
|
59
60
|
"jest-junit": "^16",
|
|
60
61
|
"jsii": "5.9",
|
|
61
|
-
"jsii-diff": "^1.
|
|
62
|
-
"jsii-pacmak": "^1.
|
|
62
|
+
"jsii-diff": "^1.132.0",
|
|
63
|
+
"jsii-pacmak": "^1.132.0",
|
|
63
64
|
"jsii-rosetta": "5.9",
|
|
64
65
|
"license-checker": "^25.0.1",
|
|
65
66
|
"mock-fs": "^5.5.0",
|
|
66
|
-
"nx": "^22.7.
|
|
67
|
+
"nx": "^22.7.5",
|
|
67
68
|
"prettier": "^2.8",
|
|
68
|
-
"projen": "^0.99.
|
|
69
|
+
"projen": "^0.99.70",
|
|
69
70
|
"ts-jest": "^29.4.11",
|
|
70
71
|
"tsx": "^4.22.3",
|
|
71
72
|
"typescript": "5.9",
|
|
@@ -73,7 +74,7 @@
|
|
|
73
74
|
},
|
|
74
75
|
"dependencies": {
|
|
75
76
|
"jsonschema": "^1.5.0",
|
|
76
|
-
"semver": "^7.8.
|
|
77
|
+
"semver": "^7.8.1"
|
|
77
78
|
},
|
|
78
79
|
"bundledDependencies": [
|
|
79
80
|
"jsonschema",
|
|
@@ -99,7 +100,7 @@
|
|
|
99
100
|
"publishConfig": {
|
|
100
101
|
"access": "public"
|
|
101
102
|
},
|
|
102
|
-
"version": "
|
|
103
|
+
"version": "54.0.0",
|
|
103
104
|
"packageManager": "yarn@4.13.0",
|
|
104
105
|
"types": "lib/index.d.ts",
|
|
105
106
|
"stability": "stable",
|
|
@@ -142,5 +143,10 @@
|
|
|
142
143
|
"installConfig": {
|
|
143
144
|
"hoistingLimits": "workspaces"
|
|
144
145
|
},
|
|
146
|
+
"jsiiRosetta": {
|
|
147
|
+
"exampleDependencies": {
|
|
148
|
+
"constructs": "^10.0.0"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
145
151
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"yarn projen\"."
|
|
146
152
|
}
|
package/schema/integ.schema.json
CHANGED
|
@@ -65,6 +65,11 @@
|
|
|
65
65
|
"description": "Additional commands to run at predefined points in the test workflow\n\ne.g. { postDeploy: ['yarn', 'test'] } (Default - no hooks)",
|
|
66
66
|
"$ref": "#/definitions/Hooks"
|
|
67
67
|
},
|
|
68
|
+
"allowDeleteFailures": {
|
|
69
|
+
"description": "Whether to allow resources that fail to delete during a stack update.\n\nWhen false, the test will fail if CloudFormation skips deleting a resource\nduring a stack update. When true, only a warning is printed.",
|
|
70
|
+
"default": false,
|
|
71
|
+
"type": "boolean"
|
|
72
|
+
},
|
|
68
73
|
"diffAssets": {
|
|
69
74
|
"description": "Whether or not to include asset hashes in the diff\nAsset hashes can introduces a lot of unneccessary noise into tests,\nbut there are some cases where asset hashes _should_ be included. For example\nany tests involving custom resources or bundling",
|
|
70
75
|
"default": false,
|
|
@@ -52,6 +52,13 @@
|
|
|
52
52
|
"items": {
|
|
53
53
|
"$ref": "#/definitions/PolicyViolationJson"
|
|
54
54
|
}
|
|
55
|
+
},
|
|
56
|
+
"suppressedViolations": {
|
|
57
|
+
"description": "Violations that were suppressed via acknowledgement.",
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": {
|
|
60
|
+
"$ref": "#/definitions/SuppressedViolationJson"
|
|
61
|
+
}
|
|
55
62
|
}
|
|
56
63
|
},
|
|
57
64
|
"required": ["pluginName", "conclusion", "violations"]
|
|
@@ -107,6 +114,63 @@
|
|
|
107
114
|
"type": "string",
|
|
108
115
|
"enum": ["fatal", "error", "warning", "info", "custom"]
|
|
109
116
|
},
|
|
117
|
+
"SuppressedViolationJson": {
|
|
118
|
+
"description": "A violation that was acknowledged/suppressed and excluded from the active violation set.",
|
|
119
|
+
"type": "object",
|
|
120
|
+
"properties": {
|
|
121
|
+
"ruleName": {
|
|
122
|
+
"description": "The name of the rule that was violated.",
|
|
123
|
+
"type": "string"
|
|
124
|
+
},
|
|
125
|
+
"description": {
|
|
126
|
+
"description": "A description of the violation.",
|
|
127
|
+
"type": "string"
|
|
128
|
+
},
|
|
129
|
+
"suggestedFix": {
|
|
130
|
+
"description": "How to fix the violation.",
|
|
131
|
+
"type": "string"
|
|
132
|
+
},
|
|
133
|
+
"severity": {
|
|
134
|
+
"description": "The severity of the violation.",
|
|
135
|
+
"$ref": "#/definitions/PolicyViolationSeverity"
|
|
136
|
+
},
|
|
137
|
+
"customSeverity": {
|
|
138
|
+
"description": "If the plugin wants to report using a non-standard severity, put it here.",
|
|
139
|
+
"type": "string"
|
|
140
|
+
},
|
|
141
|
+
"ruleMetadata": {
|
|
142
|
+
"description": "Additional rule-specific metadata.",
|
|
143
|
+
"type": "object",
|
|
144
|
+
"additionalProperties": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"violatingConstructs": {
|
|
149
|
+
"description": "Constructs that violated the rule.",
|
|
150
|
+
"type": "array",
|
|
151
|
+
"items": {
|
|
152
|
+
"$ref": "#/definitions/ViolatingConstructJson"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"acknowledgedId": {
|
|
156
|
+
"description": "The acknowledgement ID that caused this violation to be suppressed.",
|
|
157
|
+
"type": "string"
|
|
158
|
+
},
|
|
159
|
+
"reason": {
|
|
160
|
+
"description": "The reason given for the acknowledgement, if provided.",
|
|
161
|
+
"type": "string"
|
|
162
|
+
},
|
|
163
|
+
"acknowledgedAt": {
|
|
164
|
+
"description": "The construct path where the acknowledgement was declared.",
|
|
165
|
+
"type": "string"
|
|
166
|
+
},
|
|
167
|
+
"acknowledgedStackTrace": {
|
|
168
|
+
"description": "Stack trace showing where the acknowledgement was declared.",
|
|
169
|
+
"type": "string"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"required": ["ruleName", "description", "severity", "violatingConstructs", "acknowledgedId"]
|
|
173
|
+
},
|
|
110
174
|
"ViolatingConstructJson": {
|
|
111
175
|
"description": "A construct that violated a policy rule.",
|
|
112
176
|
"type": "object",
|
package/schema/version.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaHash": "
|
|
2
|
+
"schemaHash": "095859ad1d3d89d3bc4f9cbe9393d219798972dbd2389287bcc66b49f323cef1",
|
|
3
3
|
"$comment": "Do not hold back the version on additions: jsonschema validation of the manifest by the consumer will trigger errors on unexpected fields.",
|
|
4
|
-
"revision":
|
|
4
|
+
"revision": 54
|
|
5
5
|
}
|