@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/cli-version.json CHANGED
@@ -1 +1 @@
1
- {"version":"2.1125.0"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1yZXBvcnQtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGlvbi1yZXBvcnQtc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSlNPTiBzY2hlbWEgZm9yIHZhbGlkYXRpb24tcmVwb3J0Lmpzb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgd3JpdHRlbiB0byB0aGUgY2xvdWQgYXNzZW1ibHkgZGlyZWN0b3J5IGJ5IGF3cy1jZGstbGliXG4gKiBkdXJpbmcgc3ludGhlc2lzIGFuZCBjb25zdW1lZCBieSB0aGUgQ0RLIENMSSdzIHZhbGlkYXRlIGNvbW1hbmQuXG4gKi9cblxuLyoqXG4gKiBUaGUgdG9wLWxldmVsIHN0cnVjdHVyZSBvZiB0aGUgcG9saWN5IHZhbGlkYXRpb24gcmVwb3J0IGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9saWN5VmFsaWRhdGlvblJlcG9ydEpzb24ge1xuICAvKipcbiAgICogUHJvdG9jb2wgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXBvcnQgdGl0bGUsIGlmIHByZXNlbnQuXG4gICAqL1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogUmVwb3J0cyBmcm9tIGFsbCB2YWxpZGF0aW9uIHBsdWdpbnMgdGhhdCByYW4gZHVyaW5nIHN5bnRoZXNpcy5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpblJlcG9ydHM6IFBsdWdpblJlcG9ydEpzb25bXTtcbn1cblxuLyoqXG4gKiBBIHJlcG9ydCBmcm9tIGEgc2luZ2xlIHZhbGlkYXRpb24gcGx1Z2luLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblJlcG9ydEpzb24ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBsdWdpbiB0aGF0IHByb2R1Y2VkIHRoaXMgcmVwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBwbHVnaW4gdGhhdCBwcm9kdWNlZCB0aGlzIHJlcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5WZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwbHVnaW4ncyB2YWxpZGF0aW9uIHBhc3NlZCBvciBmYWlsZWQuXG4gICAqL1xuICByZWFkb25seSBjb25jbHVzaW9uOiBQb2xpY3lWYWxpZGF0aW9uUmVwb3J0Q29uY2x1c2lvbjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBwbHVnaW4tc3BlY2lmaWMgbWV0YWRhdGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWV0YWRhdGFcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVmlvbGF0aW9ucyBmb3VuZCBieSB0aGlzIHBsdWdpbi5cbiAgICovXG4gIHJlYWRvbmx5IHZpb2xhdGlvbnM6IFBvbGljeVZpb2xhdGlvbkpzb25bXTtcbn1cblxuLyoqXG4gKiBUaGUgZmluYWwgY29uY2x1c2lvbiBvZiBhIHZhbGlkYXRpb24gcmVwb3J0LlxuICovXG5leHBvcnQgdHlwZSBQb2xpY3lWYWxpZGF0aW9uUmVwb3J0Q29uY2x1c2lvbiA9ICdzdWNjZXNzJyB8ICdmYWlsdXJlJztcblxuLyoqXG4gKiBBIHNpbmdsZSBwb2xpY3kgdmlvbGF0aW9uIGZvdW5kIGJ5IGEgdmFsaWRhdGlvbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9saWN5VmlvbGF0aW9uSnNvbiB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcnVsZSB0aGF0IHdhcyB2aW9sYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHZpb2xhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvdyB0byBmaXggdGhlIHZpb2xhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBmaXggcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IHN1Z2dlc3RlZEZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSB2aW9sYXRpb24uXG4gICAqL1xuICByZWFkb25seSBzZXZlcml0eTogUG9saWN5VmlvbGF0aW9uU2V2ZXJpdHk7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBwbHVnaW4gd2FudHMgdG8gcmVwb3J0IHVzaW5nIGEgbm9uLXN0YW5kYXJkIHNldmVyaXR5LCBwdXQgaXQgaGVyZVxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tU2V2ZXJpdHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgcnVsZS1zcGVjaWZpYyBtZXRhZGF0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZU1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGF0IHZpb2xhdGVkIHRoZSBydWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmlvbGF0aW5nQ29uc3RydWN0czogVmlvbGF0aW5nQ29uc3RydWN0SnNvbltdO1xufVxuXG4vKipcbiAqIFRoZSBzZXZlcml0eSBvZiBhIHBvbGljeSB2aW9sYXRpb24uXG4gKlxuICogSWYgeW91IG5lZWQgdG8gdXNlIGEgc2V2ZXJpdHkgbGV2ZWwgdGhhdCBkb2Vzbid0IGV4aXN0IGFzIGEgc3RhdGljIG1lbWJlcixcbiAqIHVzZSBgY3VzdG9tYC5cbiAqL1xuZXhwb3J0IHR5cGUgUG9saWN5VmlvbGF0aW9uU2V2ZXJpdHkgPSAnZmF0YWwnIHwgJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICdjdXN0b20nO1xuXG4vKipcbiAqIEEgY29uc3RydWN0IHRoYXQgdmlvbGF0ZWQgYSBwb2xpY3kgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWaW9sYXRpbmdDb25zdHJ1Y3RKc29uIHtcbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3QgcGF0aCBhcyBkZWZpbmVkIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb25zdHJ1Y3QgcGF0aFxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGNvbnN0cnVjdCBjbGFzcyAoaW5jbHVkZXMgdGhlIGxpYnJhcnkgbmFtZSlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb25zdHJ1Y3QgaW5mb1xuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0RnFuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSB0aGF0IGNvbnRhaW5zIHRoaXMgY29uc3RydWN0LlxuICAgKlxuICAgKiBUaGUgbGlicmFyeSBuYW1lIGlzIHRoZSBmaXJzdCBjb21wb25lbnQgb2YgdGhlIGNvbnN0cnVjdCBGUU4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdmVyc2lvbiBpbmZvXG4gICAqL1xuICByZWFkb25seSBsaWJyYXJ5VmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdGhpcyBjb25zdHJ1Y3QgdmlvbGF0aW9uIHJlZ2FyZHMgYSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSwgYSByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGRldGFpbHNcbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRm9ybWF0aW9uUmVzb3VyY2U/OiBDbG91ZEZvcm1hdGlvblJlc291cmNlSnNvbjtcblxuICAvKipcbiAgICogU3RhY2sgdHJhY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHZpb2xhdGlvblxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSBhbGwgdGhlIHN0YWNrIHRyYWNlcyB3aGVyZSBhIHZpb2xhdGluZyBwcm9wZXJ0eSBnb3QgaXRzIHZhbHVlLFxuICAgKiBvciBqdXN0IHRoZSBjb25zdHJ1Y3QgY3JlYXRpb24gc3RhY2sgdHJhY2UuXG4gICAqXG4gICAqIEV2ZXJ5IGVsZW1lbnQgb2YgdGhlIGFycmF5IGlzIGEgc3RhY2sgdHJhY2UsIHdoZXJlIGVhY2ggc3RhY2sgdHJhY2UgaXMgYSBgXFxuYC1kZWxpbWl0ZWQgc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHN0YWNrIHRyYWNlc1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUcmFjZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBIG5vZGUgaW4gdGhlIGNvbnN0cnVjdCBjcmVhdGlvbiBzdGFjayB0cmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZvcm1hdGlvblJlc291cmNlSnNvbiB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgY29udGFpbmluZyB0aGlzIHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcGxhdGVQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2dpY2FsIElEIG9mIHRoZSByZXNvdXJjZSBpbiB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2dpY2FsSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvcGVydGllcyB3aXRoaW4gdGhlIGNvbnN0cnVjdCB3aGVyZSB0aGUgdmlvbGF0aW9uIHdhcyBkZXRlY3RlZC5cbiAgICpcbiAgICogRWl0aGVyIGEgc2luZ2xlIGNvbXBvbmVudCwgaW4gd2hpY2ggY2FzZSBpdCByZWdhcmRzIGEgdG9wLWxldmVsIHByb3BlcnR5XG4gICAqIG5hbWUsIG9yIGEgSlNPTiBwYXRoIChzdGFydGluZyB3aXRoIGAkLmApIHRvIGluZGljYXRlIGEgZGVlcGVyIHByb3BlcnR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGxvY2F0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydHlQYXRocz86IHN0cmluZ1tdO1xufVxuIl19
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/OiBDZGtDb21tYW5kcztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb21tYW5kcyB0byBydW4gYXQgcHJlZGVmaW5lZCBwb2ludHMgaW4gdGhlIHRlc3Qgd29ya2Zsb3dcbiAgICpcbiAgICogZS5nLiB7IHBvc3REZXBsb3k6IFsneWFybicsICd0ZXN0J10gfVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGhvb2tzXG4gICAqL1xuICByZWFkb25seSBob29rcz86IEhvb2tzO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGFzc2V0IGhhc2hlcyBpbiB0aGUgZGlmZlxuICAgKiBBc3NldCBoYXNoZXMgY2FuIGludHJvZHVjZXMgYSBsb3Qgb2YgdW5uZWNjZXNzYXJ5IG5vaXNlIGludG8gdGVzdHMsXG4gICAqIGJ1dCB0aGVyZSBhcmUgc29tZSBjYXNlcyB3aGVyZSBhc3NldCBoYXNoZXMgX3Nob3VsZF8gYmUgaW5jbHVkZWQuIEZvciBleGFtcGxlXG4gICAqIGFueSB0ZXN0cyBpbnZvbHZpbmcgY3VzdG9tIHJlc291cmNlcyBvciBidW5kbGluZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlmZkFzc2V0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZXMgaW4gdGhpcyBzdGFjayB0aGF0IGNhblxuICAgKiBiZSBkZXN0cm95ZWQgYXMgcGFydCBvZiBhbiB1cGRhdGUgd2l0aG91dCBmYWlsaW5nIHRoZSB0ZXN0LlxuICAgKlxuICAgKiBUaGlzIGxpc3Qgc2hvdWxkIG9ubHkgaW5jbHVkZSByZXNvdXJjZXMgdGhhdCBmb3IgdGhpcyBzcGVjaWZpY1xuICAgKiBpbnRlZ3JhdGlvbiB0ZXN0IHdlIGFyZSBzdXJlIHdpbGwgbm90IGNhdXNlIGVycm9ycyBvciBhbiBvdXRhZ2UgaWZcbiAgICogZGVzdHJveWVkLiBGb3IgZXhhbXBsZSwgbWF5YmUgd2Uga25vdyB0aGF0IGEgbmV3IHJlc291cmNlIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBmaXJzdCBiZWZvcmUgdGhlIG9sZCByZXNvdXJjZSBpcyBkZXN0cm95ZWQgd2hpY2ggcHJldmVudHMgYW55IG91dGFnZS5cbiAgICpcbiAgICogZS5nLiBbJ0FXUzo6SUFNOjpSb2xlJ11cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkbyBub3QgYWxsb3cgZGVzdHJ1Y3Rpb24gb2YgYW55IHJlc291cmNlcyBvbiB1cGRhdGVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93RGVzdHJveT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaW1pdCBkZXBsb3ltZW50IHRvIHRoZXNlIHJlZ2lvbnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBjYW4gcnVuIGluIGFueSByZWdpb25cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGludGVncmF0aW9uIHRlc3QgY2FzZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RDYXNlIGV4dGVuZHMgVGVzdE9wdGlvbnMge1xuICAvKipcbiAgICogU3RhY2tzIHRoYXQgc2hvdWxkIGJlIHRlc3RlZCBhcyBwYXJ0IG9mIHRoaXMgdGVzdCBjYXNlXG4gICAqIFRoZSBzdGFja05hbWVzIHdpbGwgYmUgcGFzc2VkIGFzIGFyZ3MgdG8gdGhlIGNkayBjb21tYW5kc1xuICAgKiBzbyBkZXBlbmRlbnQgc3RhY2tzIHdpbGwgYmUgYXV0b21hdGljYWxseSBkZXBsb3llZCB1bmxlc3NcbiAgICogYGV4Y2x1c2l2ZWx5YCBpcyBwYXNzZWRcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBub2RlIGlkIG9mIHRoZSBzdGFjayB0aGF0IGNvbnRhaW5zIGFzc2VydGlvbnMuXG4gICAqIFRoaXMgaXMgdGhlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGVwbG95IHRoZSBzdGFjayB3aXRoIHRoZSBDREsgQ0xJXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYXNzZXJ0aW9uIHN0YWNrXG4gICAqL1xuICByZWFkb25seSBhc3NlcnRpb25TdGFjaz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0YWNrIHRoYXQgY29udGFpbnMgYXNzZXJ0aW9uc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFzc2VydGlvbiBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXJ0aW9uU3RhY2tOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1hbmRzIHRvIHJ1biBhdCBwcmVkZWZpbmVkIHBvaW50cyBkdXJpbmcgdGhlXG4gKiBpbnRlZ3JhdGlvbiB0ZXN0IHdvcmtmbG93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG9va3Mge1xuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIHByaW9yIHRvIGRlcGxveWluZyB0aGUgY2RrIHN0YWNrc1xuICAgKiBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1hbmRzXG4gICAqL1xuICByZWFkb25seSBwcmVEZXBsb3k/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIHByaW9yIGFmdGVyIGRlcGxveWluZyB0aGUgY2RrIHN0YWNrc1xuICAgKiBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1hbmRzXG4gICAqL1xuICByZWFkb25seSBwb3N0RGVwbG95Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENvbW1hbmRzIHRvIHJ1biBwcmlvciB0byBkZXN0cm95aW5nIHRoZSBjZGsgc3RhY2tzXG4gICAqIGluIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbWFuZHNcbiAgICovXG4gIHJlYWRvbmx5IHByZURlc3Ryb3k/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIGFmdGVyIGRlc3Ryb3lpbmcgdGhlIGNkayBzdGFja3NcbiAgICogaW4gdGhlIGludGVncmF0aW9uIHRlc3RcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb21tYW5kc1xuICAgKi9cbiAgcmVhZG9ubHkgcG9zdERlc3Ryb3k/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2RrIGNvbW1hbmRcbiAqIGkuZS4gYHN5bnRoYCwgYGRlcGxveWAsICYgYGRlc3Ryb3lgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ29tbWFuZCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBydW4gdGhpcyBjb21tYW5kIGFzIHBhcnQgb2YgdGhlIHdvcmtmbG93XG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaWYgeW91IG9ubHkgd2FudCB0byB0ZXN0IHNvbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqIGZvciBleGFtcGxlIGVuYWJsZSBgc3ludGhgIGFuZCBkaXNhYmxlIGBkZXBsb3lgICYgYGRlc3Ryb3lgIGluIG9yZGVyXG4gICAqIHRvIGxpbWl0IHRoZSB0ZXN0IHRvIHN5bnRoZXNpc1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdGhlIHJ1bm5lciBzaG91bGQgZXhwZWN0IHRoaXMgY29tbWFuZCB0byBmYWlsXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBleHBlY3RFcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBgZXhwZWN0ZWRFcnJvcmBcbiAgICogdG8gdmFsaWRhdGUgdGhhdCBhIHNwZWNpZmljIG1lc3NhZ2UgaXMgcmV0dXJuZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IHZhbGlkYXRlIG1lc3NhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGV4cGVjdGVkTWVzc2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2RrIGRlcGxveSBjb21tYW5kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95Q29tbWFuZCBleHRlbmRzIENka0NvbW1hbmQge1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY29tbWFuZFxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHRlc3Qgc3BlY2lmaWMgQ0xJIGZ1bmN0aW9uYWxpdHlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBvbmx5IGRlZmF1bHQgYXJncyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IERlcGxveU9wdGlvbnM7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNkayBkZXN0cm95IGNvbW1hbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXN0cm95Q29tbWFuZCBleHRlbmRzIENka0NvbW1hbmQge1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY29tbWFuZFxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHRlc3Qgc3BlY2lmaWMgQ0xJIGZ1bmN0aW9uYWxpdHlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBvbmx5IGRlZmF1bHQgYXJncyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IERlc3Ryb3lPcHRpb25zO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHNwZWNpZmljIGNkayBjb21tYW5kcyB0aGF0IGFyZSBydW5cbiAqIGFzIHBhcnQgb2YgdGhlIGludGVncmF0aW9uIHRlc3Qgd29ya2Zsb3dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtDb21tYW5kcyB7XG4gIC8qKlxuICAgKiBPcHRpb25zIHRvIGZvciB0aGUgY2RrIGRlcGxveSBjb21tYW5kXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBkZXBsb3kgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95PzogRGVwbG95Q29tbWFuZDtcblxuICAvKipcbiAgICogT3B0aW9ucyB0byBmb3IgdGhlIGNkayBkZXN0cm95IGNvbW1hbmRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGRlc3Ryb3kgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzdHJveT86IERlc3Ryb3lDb21tYW5kO1xufVxuIl19
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: "53.28.0" };
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
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semver",
3
- "version": "7.8.0",
3
+ "version": "7.8.1",
4
4
  "description": "The semantic version parser used by npm.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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 === '>=' && !satisfies(gt.semver, String(c), options)) {
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 === '<=' && !satisfies(lt.semver, String(c), options)) {
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.6",
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.131.0",
62
- "jsii-pacmak": "^1.131.0",
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.2",
67
+ "nx": "^22.7.5",
67
68
  "prettier": "^2.8",
68
- "projen": "^0.99.63",
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.0"
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": "53.28.0",
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
  }
@@ -0,0 +1,6 @@
1
+ import { Construct } from "constructs";
2
+ class MyConstruct extends Construct {
3
+ constructor(scope: Construct, id: string) {
4
+ super(scope, id);
5
+ /// here
6
+ } }
@@ -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",
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaHash": "cf2452236640f556f1b81778515335af1c6bbdb54c7ef12dad43f8cf6a56ddee",
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": 53
4
+ "revision": 54
5
5
  }