cdktn 0.26.0-pre.20 → 0.26.0-pre.21
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 +1200 -1116
- package/eslint.config.mjs +18 -7
- package/jest.config.js +0 -1
- package/lib/_tokens.d.ts +7 -0
- package/lib/_tokens.js +8 -2
- package/lib/annotations.js +1 -1
- package/lib/app.js +8 -4
- package/lib/aspect.js +1 -1
- package/lib/asset-hash.js +1 -1
- package/lib/asset-staging.js +1 -1
- package/lib/assets.js +4 -4
- package/lib/backends/azurerm-backend.d.ts +6 -0
- package/lib/backends/azurerm-backend.js +9 -5
- package/lib/backends/cloud-backend.js +4 -4
- package/lib/backends/consul-backend.d.ts +6 -0
- package/lib/backends/consul-backend.js +9 -5
- package/lib/backends/cos-backend.d.ts +6 -0
- package/lib/backends/cos-backend.js +9 -5
- package/lib/backends/gcs-backend.d.ts +6 -0
- package/lib/backends/gcs-backend.js +9 -5
- package/lib/backends/http-backend.d.ts +6 -0
- package/lib/backends/http-backend.js +9 -5
- package/lib/backends/local-backend.d.ts +6 -0
- package/lib/backends/local-backend.js +9 -5
- package/lib/backends/oss-backend.d.ts +6 -0
- package/lib/backends/oss-backend.js +9 -5
- package/lib/backends/pg-backend.d.ts +6 -0
- package/lib/backends/pg-backend.js +9 -5
- package/lib/backends/remote-backend.d.ts +12 -0
- package/lib/backends/remote-backend.js +17 -9
- package/lib/backends/s3-backend.d.ts +6 -0
- package/lib/backends/s3-backend.js +9 -5
- package/lib/backends/swift-backend.js +2 -2
- package/lib/complex-computed-list.d.ts +85 -0
- package/lib/complex-computed-list.js +112 -54
- package/lib/functions/helpers.d.ts +72 -0
- package/lib/functions/helpers.js +73 -14
- package/lib/functions/provider-function.js +1 -1
- package/lib/functions/terraform-functions.generated.d.ts +3 -0
- package/lib/functions/terraform-functions.generated.js +5 -3
- package/lib/hcl/render.js +30 -6
- package/lib/ignore-strategy.js +1 -1
- package/lib/importable-resource.js +1 -1
- package/lib/manifest.d.ts +4 -0
- package/lib/manifest.js +6 -3
- package/lib/private/unique.js +11 -3
- package/lib/resource.js +1 -1
- package/lib/runtime.d.ts +6 -0
- package/lib/runtime.js +12 -3
- package/lib/synthesize/required-version.d.ts +32 -0
- package/lib/synthesize/required-version.js +205 -0
- package/lib/synthesize/synthesizer.d.ts +13 -0
- package/lib/synthesize/synthesizer.js +42 -8
- package/lib/terraform-asset.d.ts +4 -0
- package/lib/terraform-asset.js +6 -3
- package/lib/terraform-backend.d.ts +3 -0
- package/lib/terraform-backend.js +5 -3
- package/lib/terraform-conditions.js +1 -2
- package/lib/terraform-count.js +1 -1
- package/lib/terraform-data-resource.js +1 -1
- package/lib/terraform-data-source.d.ts +4 -0
- package/lib/terraform-data-source.js +8 -6
- package/lib/terraform-dependable.js +1 -1
- package/lib/terraform-dynamic-block.d.ts +4 -0
- package/lib/terraform-dynamic-block.js +5 -2
- package/lib/terraform-element.d.ts +4 -0
- package/lib/terraform-element.js +6 -3
- package/lib/terraform-ephemeral-resource.d.ts +4 -0
- package/lib/terraform-ephemeral-resource.js +8 -6
- package/lib/terraform-functions.d.ts +4 -0
- package/lib/terraform-functions.js +6 -3
- package/lib/terraform-hcl-module.d.ts +4 -0
- package/lib/terraform-hcl-module.js +6 -3
- package/lib/terraform-iterator.d.ts +19 -0
- package/lib/terraform-iterator.js +25 -11
- package/lib/terraform-local.d.ts +4 -0
- package/lib/terraform-local.js +6 -3
- package/lib/terraform-module.js +1 -1
- package/lib/terraform-operators.js +1 -1
- package/lib/terraform-output.d.ts +4 -0
- package/lib/terraform-output.js +6 -3
- package/lib/terraform-provider.d.ts +4 -0
- package/lib/terraform-provider.js +6 -3
- package/lib/terraform-provisioner.js +1 -1
- package/lib/terraform-remote-state.d.ts +3 -0
- package/lib/terraform-remote-state.js +5 -3
- package/lib/terraform-resource-targets.js +1 -1
- package/lib/terraform-resource.d.ts +5 -1
- package/lib/terraform-resource.js +16 -9
- package/lib/terraform-stack.d.ts +4 -0
- package/lib/terraform-stack.js +28 -9
- package/lib/terraform-variable.d.ts +7 -0
- package/lib/terraform-variable.js +16 -7
- package/lib/testing/adapters/jest.d.ts +3 -0
- package/lib/testing/adapters/jest.js +10 -1
- package/lib/testing/index.js +14 -4
- package/lib/testing/matchers.js +61 -19
- package/lib/tfExpression.d.ts +48 -0
- package/lib/tfExpression.js +53 -15
- package/lib/tokens/lazy.d.ts +4 -0
- package/lib/tokens/lazy.js +21 -8
- package/lib/tokens/private/dependency.js +2 -6
- package/lib/tokens/private/resolve.js +3 -3
- package/lib/tokens/private/stack-trace.d.ts +1 -1
- package/lib/tokens/private/stack-trace.js +1 -2
- package/lib/tokens/resolvable.js +2 -2
- package/lib/tokens/string-fragments.js +4 -4
- package/lib/tokens/token.js +2 -2
- package/lib/upgrade-id-aspect.js +1 -1
- package/lib/util.d.ts +0 -1
- package/lib/util.js +4 -4
- package/lib/validations/target-versions.d.ts +12 -0
- package/lib/validations/target-versions.js +40 -1
- package/package.json +112 -109
|
@@ -4,9 +4,12 @@ exports.TerraformHclModule = void 0;
|
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
const terraform_module_1 = require("./terraform-module");
|
|
6
6
|
const tokens_1 = require("./tokens");
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* A Terraform module (`module` block) used without generated bindings: input variables are set by name and outputs
|
|
9
|
+
* are read by name.
|
|
10
|
+
*/
|
|
8
11
|
class TerraformHclModule extends terraform_module_1.TerraformModule {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformHclModule", version: "0.26.0-pre.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformHclModule", version: "0.26.0-pre.21" };
|
|
10
13
|
_variables;
|
|
11
14
|
constructor(scope, id, options) {
|
|
12
15
|
super(scope, id, options);
|
|
@@ -52,4 +55,4 @@ class TerraformHclModule extends terraform_module_1.TerraformModule {
|
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
57
|
exports.TerraformHclModule = TerraformHclModule;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWhjbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWhjbC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLHlEQUE0RTtBQUM1RSxxQ0FBOEM7QUFNOUM7OztHQUdHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxrQ0FBZTs7SUFDN0MsVUFBVSxDQUEwQjtJQUU1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE9BQWlDO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRU0sR0FBRyxDQUFDLFFBQWdCLEVBQUUsS0FBVTtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRU0sR0FBRyxDQUFDLE1BQWM7UUFDdkIsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxTQUFTLENBQUMsTUFBYztRQUM3QixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxPQUFPLENBQUMsTUFBYztRQUMzQixPQUFPLGNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVTLHVCQUF1QjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDNUQsT0FBTztnQkFDTCxHQUFHO2dCQUNIO29CQUNFLEtBQUssRUFBRSxRQUFRO29CQUNmLElBQUksRUFBRSxLQUFLO2lCQUNaO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOztBQXhESCxnREF5REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybU1vZHVsZUNvbmZpZywgVGVycmFmb3JtTW9kdWxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLW1vZHVsZVwiO1xuaW1wb3J0IHsgVG9rZW4sIElSZXNvbHZhYmxlIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtSGNsTW9kdWxlQ29uZmlnIGV4dGVuZHMgVGVycmFmb3JtTW9kdWxlQ29uZmlnIHtcbiAgcmVhZG9ubHkgdmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cblxuLyoqXG4gKiBBIFRlcnJhZm9ybSBtb2R1bGUgKGBtb2R1bGVgIGJsb2NrKSB1c2VkIHdpdGhvdXQgZ2VuZXJhdGVkIGJpbmRpbmdzOiBpbnB1dCB2YXJpYWJsZXMgYXJlIHNldCBieSBuYW1lIGFuZCBvdXRwdXRzXG4gKiBhcmUgcmVhZCBieSBuYW1lLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtSGNsTW9kdWxlIGV4dGVuZHMgVGVycmFmb3JtTW9kdWxlIHtcbiAgcHJpdmF0ZSBfdmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBUZXJyYWZvcm1IY2xNb2R1bGVDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5fdmFyaWFibGVzID0gb3B0aW9ucy52YXJpYWJsZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhcmlhYmxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFyaWFibGVzO1xuICB9XG5cbiAgcHVibGljIHNldCh2YXJpYWJsZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLl92YXJpYWJsZXMpIHtcbiAgICAgIHRoaXMuX3ZhcmlhYmxlcyA9IHt9O1xuICAgIH1cbiAgICB0aGlzLl92YXJpYWJsZXNbdmFyaWFibGVdID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0KG91dHB1dDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkodGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCkpO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlcihvdXRwdXQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCb29sZWFuKG91dHB1dDogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiB0aGlzLmludGVycG9sYXRpb25Gb3JPdXRwdXQob3V0cHV0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0KG91dHB1dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBUb2tlbi5hc0xpc3QodGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4geyAuLi50aGlzLnZhcmlhYmxlcyB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBpZiAoIXRoaXMudmFyaWFibGVzKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMudmFyaWFibGVzIGFzIGFueSkubWFwKChba2V5LCB2YXJpYWJsZV0pID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBrZXksXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IHZhcmlhYmxlLFxuICAgICAgICAgICAgdHlwZTogXCJhbnlcIixcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -22,6 +22,10 @@ type MapType = {
|
|
|
22
22
|
} | {
|
|
23
23
|
[key: string]: number;
|
|
24
24
|
} | StringMap | NumberMap | BooleanMap | AnyMap | ComplexMap;
|
|
25
|
+
/**
|
|
26
|
+
* Base class for iterators over a list, map or resource collection. Used as a `for_each` meta-argument, as the source
|
|
27
|
+
* of a dynamic block, or in for-expressions; `key` and `value` refer to the current element.
|
|
28
|
+
*/
|
|
25
29
|
export declare abstract class TerraformIterator implements ITerraformIterator {
|
|
26
30
|
/**
|
|
27
31
|
* @internal used by TerraformResource to set the for_each expression
|
|
@@ -227,6 +231,10 @@ export declare abstract class TerraformIterator implements ITerraformIterator {
|
|
|
227
231
|
*/
|
|
228
232
|
forExpressionForMap(keyExpression: string | IResolvable, valueExpression: string | IResolvable): IResolvable;
|
|
229
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Iterator over a list or set. The list is converted to a set for `for_each`, so `key` and `value` are both the
|
|
236
|
+
* current element.
|
|
237
|
+
*/
|
|
230
238
|
export declare class ListTerraformIterator extends TerraformIterator {
|
|
231
239
|
private readonly list;
|
|
232
240
|
constructor(list: ListType);
|
|
@@ -246,6 +254,9 @@ export declare class ListTerraformIterator extends TerraformIterator {
|
|
|
246
254
|
*/
|
|
247
255
|
_getForEachExpression(): any;
|
|
248
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Iterator over a map; `key` is the current entry's key and `value` its value.
|
|
259
|
+
*/
|
|
249
260
|
export declare class MapTerraformIterator extends TerraformIterator {
|
|
250
261
|
private readonly map;
|
|
251
262
|
constructor(map: MapType);
|
|
@@ -262,6 +273,10 @@ export declare class MapTerraformIterator extends TerraformIterator {
|
|
|
262
273
|
*/
|
|
263
274
|
get value(): any;
|
|
264
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* Iterator over the instances of a resource or data source that itself uses `for_each`. The element must not use
|
|
278
|
+
* `count`.
|
|
279
|
+
*/
|
|
265
280
|
export declare class ResourceTerraformIterator extends TerraformIterator {
|
|
266
281
|
private readonly element;
|
|
267
282
|
constructor(element: ITerraformResource);
|
|
@@ -281,6 +296,10 @@ export declare class ResourceTerraformIterator extends TerraformIterator {
|
|
|
281
296
|
*/
|
|
282
297
|
_getForEachExpression(): any;
|
|
283
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* Iterator over a list of complex objects. For `for_each` the list is converted to a map keyed by the value of the
|
|
301
|
+
* given attribute of each element, so every entry is uniquely keyed.
|
|
302
|
+
*/
|
|
284
303
|
export declare class DynamicListTerraformIterator extends MapTerraformIterator {
|
|
285
304
|
private readonly list;
|
|
286
305
|
private readonly mapKeyAttributeName;
|
|
@@ -7,9 +7,12 @@ const terraform_dynamic_expression_1 = require("./terraform-dynamic-expression")
|
|
|
7
7
|
const terraform_functions_1 = require("./terraform-functions");
|
|
8
8
|
const tfExpression_1 = require("./tfExpression");
|
|
9
9
|
const tokens_1 = require("./tokens");
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Base class for iterators over a list, map or resource collection. Used as a `for_each` meta-argument, as the source
|
|
12
|
+
* of a dynamic block, or in for-expressions; `key` and `value` refer to the current element.
|
|
13
|
+
*/
|
|
11
14
|
class TerraformIterator {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformIterator", version: "0.26.0-pre.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformIterator", version: "0.26.0-pre.21" };
|
|
13
16
|
/**
|
|
14
17
|
* @internal input used when this iterator appears inside a for-expression
|
|
15
18
|
* body (keys / values / pluckProperty / forExpressionForList /
|
|
@@ -272,10 +275,13 @@ class TerraformIterator {
|
|
|
272
275
|
}
|
|
273
276
|
}
|
|
274
277
|
exports.TerraformIterator = TerraformIterator;
|
|
275
|
-
|
|
278
|
+
/**
|
|
279
|
+
* Iterator over a list or set. The list is converted to a set for `for_each`, so `key` and `value` are both the
|
|
280
|
+
* current element.
|
|
281
|
+
*/
|
|
276
282
|
class ListTerraformIterator extends TerraformIterator {
|
|
277
283
|
list;
|
|
278
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ListTerraformIterator", version: "0.26.0-pre.
|
|
284
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ListTerraformIterator", version: "0.26.0-pre.21" };
|
|
279
285
|
constructor(list) {
|
|
280
286
|
super();
|
|
281
287
|
this.list = list;
|
|
@@ -304,10 +310,12 @@ class ListTerraformIterator extends TerraformIterator {
|
|
|
304
310
|
}
|
|
305
311
|
}
|
|
306
312
|
exports.ListTerraformIterator = ListTerraformIterator;
|
|
307
|
-
|
|
313
|
+
/**
|
|
314
|
+
* Iterator over a map; `key` is the current entry's key and `value` its value.
|
|
315
|
+
*/
|
|
308
316
|
class MapTerraformIterator extends TerraformIterator {
|
|
309
317
|
map;
|
|
310
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.MapTerraformIterator", version: "0.26.0-pre.
|
|
318
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.MapTerraformIterator", version: "0.26.0-pre.21" };
|
|
311
319
|
constructor(map) {
|
|
312
320
|
super();
|
|
313
321
|
this.map = map;
|
|
@@ -333,10 +341,13 @@ class MapTerraformIterator extends TerraformIterator {
|
|
|
333
341
|
}
|
|
334
342
|
}
|
|
335
343
|
exports.MapTerraformIterator = MapTerraformIterator;
|
|
336
|
-
|
|
344
|
+
/**
|
|
345
|
+
* Iterator over the instances of a resource or data source that itself uses `for_each`. The element must not use
|
|
346
|
+
* `count`.
|
|
347
|
+
*/
|
|
337
348
|
class ResourceTerraformIterator extends TerraformIterator {
|
|
338
349
|
element;
|
|
339
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.26.0-pre.
|
|
350
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.26.0-pre.21" };
|
|
340
351
|
constructor(element) {
|
|
341
352
|
super();
|
|
342
353
|
this.element = element;
|
|
@@ -370,11 +381,14 @@ class ResourceTerraformIterator extends TerraformIterator {
|
|
|
370
381
|
}
|
|
371
382
|
}
|
|
372
383
|
exports.ResourceTerraformIterator = ResourceTerraformIterator;
|
|
373
|
-
|
|
384
|
+
/**
|
|
385
|
+
* Iterator over a list of complex objects. For `for_each` the list is converted to a map keyed by the value of the
|
|
386
|
+
* given attribute of each element, so every entry is uniquely keyed.
|
|
387
|
+
*/
|
|
374
388
|
class DynamicListTerraformIterator extends MapTerraformIterator {
|
|
375
389
|
list;
|
|
376
390
|
mapKeyAttributeName;
|
|
377
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.26.0-pre.
|
|
391
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.26.0-pre.21" };
|
|
378
392
|
constructor(list, mapKeyAttributeName) {
|
|
379
393
|
super(list);
|
|
380
394
|
this.list = list;
|
|
@@ -399,4 +413,4 @@ class DynamicListTerraformIterator extends MapTerraformIterator {
|
|
|
399
413
|
}
|
|
400
414
|
}
|
|
401
415
|
exports.DynamicListTerraformIterator = DynamicListTerraformIterator;
|
|
402
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBY0EscUNBR2tCO0FBQ2xCLGlGQUE0RTtBQUM1RSwrREFBMkM7QUFFM0MsaURBTXdCO0FBQ3hCLHFDQUFvRDtBQXFDcEQsK0NBQStDO0FBQy9DLE1BQXNCLGlCQUFpQjs7SUFNckM7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFjO1FBQ25DLGdGQUFnRjtRQUNoRix3RkFBd0Y7UUFDeEYsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLElBQXFCLEVBQ3JCLG1CQUEyQjtRQUUzQixPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FDbkIsR0FLOEI7UUFFOUIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUN6QixRQUE0QjtRQUU1QixPQUFPLElBQUkseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLFFBQTRCO1FBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLFNBQWlC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QUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxzQ0FBc0M7SUFDakUsQ0FBQzs7QUFuQ0gsOERBb0NDO0FBRUQsK0NBQStDO0FBQy9DLE1BQWEsNEJBQTZCLFNBQVEsb0JBQW9CO0lBRWpEO0lBQ0E7O0lBRm5CLFlBQ21CLElBQWMsRUFDZCxtQkFBMkI7UUFFNUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEssU0FBSSxHQUFKLElBQUksQ0FBVTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBUTtJQUc5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHFCQUFxQjtRQUMxQixzRkFBc0Y7UUFDdEYsT0FBTyxJQUFBLDRCQUFhLEVBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQ1QsbUNBQW9CLEVBQ3BCLHdCQUFFLENBQUMsWUFBWSxDQUFDLG1DQUFvQixFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOztBQTdCSCxvRUE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHtcbiAgQW55TWFwLFxuICBBbnlNYXBMaXN0LFxuICBCb29sZWFuTWFwLFxuICBCb29sZWFuTWFwTGlzdCxcbiAgQ29tcGxleExpc3QsXG4gIENvbXBsZXhNYXAsXG4gIE51bWJlck1hcCxcbiAgTnVtYmVyTWFwTGlzdCxcbiAgU3RyaW5nTWFwLFxuICBTdHJpbmdNYXBMaXN0LFxufSBmcm9tIFwiLi9jb21wbGV4LWNvbXB1dGVkLWxpc3RcIjtcbmltcG9ydCB7XG4gIGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhDb3VudCxcbiAgaXRlcmF0b3JPblJlc291cmNlV2l0aG91dEZvckVhY2gsXG59IGZyb20gXCIuL2Vycm9yc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24gfSBmcm9tIFwiLi90ZXJyYWZvcm0tZHluYW1pYy1leHByZXNzaW9uXCI7XG5pbXBvcnQgeyBGbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1mdW5jdGlvbnNcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1SZXNvdXJjZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHtcbiAgRk9SX0VYUFJFU1NJT05fS0VZLFxuICBGT1JfRVhQUkVTU0lPTl9WQUxVRSxcbiAgZm9yRXhwcmVzc2lvbixcbiAgcHJvcGVydHlBY2Nlc3MsXG4gIHJlZixcbn0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJVGVycmFmb3JtSXRlcmF0b3Ige1xuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55O1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgaW5wdXQgdXNlZCB3aGVuIHRoaXMgaXRlcmF0b3IgYXBwZWFycyBpbnNpZGUgYSBmb3ItZXhwcmVzc2lvblxuICAgKiBib2R5IChrZXlzIC8gdmFsdWVzIC8gcGx1Y2tQcm9wZXJ0eSAvIGZvckV4cHJlc3Npb25Gb3JMaXN0IC9cbiAgICogZm9yRXhwcmVzc2lvbkZvck1hcCAvIGR5bmFtaWMpLlxuICAgKi9cbiAgX2dldEZvckV4cHJlc3Npb25JbnB1dCgpOiBhbnk7XG59XG5cbnR5cGUgTGlzdFR5cGUgPVxuICBBcnJheTxzdHJpbmc+IHwgQXJyYXk8bnVtYmVyPiB8IEFycmF5PGJvb2xlYW4gfCBJUmVzb2x2YWJsZT4gfCBJUmVzb2x2YWJsZTsgLy8gZS5nLiBhcnJheSBvZiBib29sZWFuc1xuXG50eXBlIENvbXBsZXhMaXN0VHlwZSA9XG4gIHwgQ29tcGxleExpc3RcbiAgfCBTdHJpbmdNYXBMaXN0XG4gIHwgTnVtYmVyTWFwTGlzdFxuICB8IEJvb2xlYW5NYXBMaXN0XG4gIHwgQW55TWFwTGlzdFxuICB8IElSZXNvbHZhYmxlOyAvLyBlLmcuIGEgcmVmZXJlbmNlIHRvIGEgY29tcGxleCBsaXN0IChlLmcuIHZpYSBhIHZhcmlhYmxlKVxuXG50eXBlIE1hcFR5cGUgPVxuICB8IHsgW2tleTogc3RyaW5nXTogYW55IH1cbiAgfCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gIHwgeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxuICB8IFN0cmluZ01hcFxuICB8IE51bWJlck1hcFxuICB8IEJvb2xlYW5NYXBcbiAgfCBBbnlNYXBcbiAgfCBDb21wbGV4TWFwO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRlcnJhZm9ybUl0ZXJhdG9yIGltcGxlbWVudHMgSVRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgYWJzdHJhY3QgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueTtcblxuICAvKipcbiAgICogQGludGVybmFsIGlucHV0IHVzZWQgd2hlbiB0aGlzIGl0ZXJhdG9yIGFwcGVhcnMgaW5zaWRlIGEgZm9yLWV4cHJlc3Npb25cbiAgICogYm9keSAoa2V5cyAvIHZhbHVlcyAvIHBsdWNrUHJvcGVydHkgLyBmb3JFeHByZXNzaW9uRm9yTGlzdCAvXG4gICAqIGZvckV4cHJlc3Npb25Gb3JNYXAgLyBkeW5hbWljKS4gRGVmYXVsdHMgdG8gdGhlIGZvcl9lYWNoIGV4cHJlc3Npb247XG4gICAqIHN1YmNsYXNzZXMgdGhhdCBuZWVkIGEgZGlmZmVyZW50IHNoYXBlIGluIGZvci1leHByZXNzaW9uIGJvZGllc1xuICAgKiAoZS5nLiBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yKSBjYW4gb3ZlcnJpZGUuXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckV4cHJlc3Npb25JbnB1dCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRGb3JFYWNoRXhwcmVzc2lvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIGxpc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUxpc3QobGlzdDogTGlzdFR5cGUpOiBMaXN0VGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIC8vIFRPRE86IHRoaXMgY291bGQgcmV0dXJuIGRpZmZlcmVudCBpdGVyYXRvcnMgZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRoZSBsaXN0XG4gICAgLy8gZm9yIGV4YW1wbGUgaXQgY291bGQgcmV0dXJuIGEgTnVtYmVyTGlzdEl0ZXJhdG9yIHdob3NlIGl0ZXJhdG9yLmtleSB3b3VsZCBiZSBhIG51bWJlclxuICAgIHJldHVybiBuZXcgTGlzdFRlcnJhZm9ybUl0ZXJhdG9yKGxpc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIGNvbXBsZXggbGlzdC4gT25lIGV4YW1wbGUgZm9yIHRoaXMgd291bGQgYmUgYSBsaXN0IG9mIG1hcHMuXG4gICAqIFRoZSBsaXN0IHdpbGwgYmUgY29udmVydGVkIGludG8gYSBtYXAgd2l0aCB0aGUgbWFwS2V5QXR0cmlidXRlTmFtZSBhcyB0aGUga2V5LlxuICAgKiBAcGFyYW0gbGlzdCB0aGUgbGlzdCB0byBpdGVyYXRlIG92ZXJcbiAgICogQHBhcmFtIG1hcEtleUF0dHJpYnV0ZU5hbWUgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGFzIHRoZSBrZXkgaW4gdGhlIG1hcFxuICAgKlxuICAgKiBWaXNpdCBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWl0ZXJhdG9ycy1vbi1jb21wbGV4LWxpc3RzIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBjZXJ0ID0gbmV3IEFjbUNlcnRpZmljYXRlKHRoaXMsIFwiY2VydFwiLCB7XG4gICAqICAgIGRvbWFpbk5hbWU6IFwiZXhhbXBsZS5jb21cIixcbiAgICogICAgdmFsaWRhdGlvbk1ldGhvZDogXCJETlNcIixcbiAgICogIH0pO1xuICAgKlxuICAgKiBjb25zdCBkdm9JdGVyYXRvciA9IFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21Db21wbGV4TGlzdChcbiAgICogICBjZXJ0LmRvbWFpblZhbGlkYXRpb25PcHRpb25zLFxuICAgKiAgIFwiZG9tYWluX25hbWVcIlxuICAgKiApO1xuICAgKlxuICAgKiBuZXcgUm91dGU1M1JlY29yZCh0aGlzLCBcInJlY29yZFwiLCB7XG4gICAqICAgYWxsb3dPdmVyd3JpdGU6IHRydWUsXG4gICAqICAgbmFtZTogZHZvSXRlcmF0b3IuZ2V0U3RyaW5nKFwibmFtZVwiKSxcbiAgICogICByZWNvcmRzOiBbZHZvSXRlcmF0b3IuZ2V0U3RyaW5nKFwicmVjb3JkXCIpXSxcbiAgICogICB0dGw6IDYwLFxuICAgKiAgIHR5cGU6IGR2b0l0ZXJhdG9yLmdldFN0cmluZyhcInR5cGVcIiksXG4gICAqICAgem9uZUlkOiBUb2tlbi5hc1N0cmluZyhkYXRhQXdzUm91dGU1M1pvbmVFeGFtcGxlLnpvbmVJZCksXG4gICAqICAgZm9yRWFjaDogZHZvSXRlcmF0b3IsXG4gICAqIH0pO1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29tcGxleExpc3QoXG4gICAgbGlzdDogQ29tcGxleExpc3RUeXBlLFxuICAgIG1hcEtleUF0dHJpYnV0ZU5hbWU6IHN0cmluZyxcbiAgKTogRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yKGxpc3QsIG1hcEtleUF0dHJpYnV0ZU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIG1hcFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tTWFwKFxuICAgIG1hcDpcbiAgICAgIHwgQ29tcGxleE1hcFxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gICAgICB8IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSxcbiAgKTogTWFwVGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgTWFwVGVycmFmb3JtSXRlcmF0b3IobWFwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSByZXNvdXJjZSB0aGF0XG4gICAqIGhhcyBiZWVuIGNyZWF0ZWQgd2l0aCB0aGUgYGZvcl9lYWNoYCBhcmd1bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlc291cmNlcyhcbiAgICByZXNvdXJjZTogSVRlcnJhZm9ybVJlc291cmNlLFxuICApOiBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICByZXR1cm4gbmV3IFJlc291cmNlVGVycmFmb3JtSXRlcmF0b3IocmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIGRhdGEgc291cmNlIHRoYXRcbiAgICogaGFzIGJlZW4gY3JlYXRlZCB3aXRoIHRoZSBgZm9yX2VhY2hgIGFyZ3VtZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRGF0YVNvdXJjZXMoXG4gICAgcmVzb3VyY2U6IElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgKTogUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yKHJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgc3RyaW5nXG4gICAqL1xuICBnZXRTdHJpbmcoYXR0cmlidXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyhwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBudW1iZXJcbiAgICovXG4gIGdldE51bWJlcihhdHRyaWJ1dGU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIGJvb2xlYW5cbiAgICovXG4gIGdldEJvb2xlYW4oYXR0cmlidXRlOiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhbnlcbiAgICovXG4gIGdldEFueShhdHRyaWJ1dGU6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgKHN0cmluZykgbGlzdFxuICAgKi9cbiAgZ2V0TGlzdChhdHRyaWJ1dGU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG51bWJlciBsaXN0XG4gICAqL1xuICBnZXROdW1iZXJMaXN0KGF0dHJpYnV0ZTogc3RyaW5nKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlckxpc3QocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwXG4gICAqL1xuICBnZXRNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwIG9mIHN0cmluZ3NcbiAgICovXG4gIGdldFN0cmluZ01hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZ01hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgbnVtYmVyc1xuICAgKi9cbiAgZ2V0TnVtYmVyTWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBib29sZWFuc1xuICAgKi9cbiAgZ2V0Qm9vbGVhbk1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBhbnlcbiAgICovXG4gIGdldEFueU1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBUb2tlbi5hc0FueU1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIF9nZXRWYWx1ZSgpOiBhbnkge1xuICAgIC8vIHVzZXMgYSBMYXp5IHZhbHVlIHRvIGJlIGFibGUgdG8gYWNjZXNzIHRoZSBjdXJyZW50IFRlcnJhZm9ybVN0YWNrIGFuZCBwYXNzIGl0IHRvIHJlZigpXG4gICAgcmV0dXJuIExhenkuYW55VmFsdWUoXG4gICAgICB7XG4gICAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCkge1xuICAgICAgICAgICAgY2FzZSBcIkRZTkFNSUNfQkxPQ0tcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIHJlZihcImVhY2gudmFsdWVcIik7XG4gICAgICAgICAgICBjYXNlIFwiRk9SX0VYUFJFU1NJT05cIjpcbiAgICAgICAgICAgICAgcmV0dXJuIEZPUl9FWFBSRVNTSU9OX1ZBTFVFO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgLy8gc2FtZSBhcyBkeW5hbWljIGJsb2NrLCBhcyB0aGlzIGlzIHRoZSBjYXNlIHdoZW4gYSBpdGVyYXRvciBpcyBwYXNzZWQgdG8gdGhlIHJvb3QgbGV2ZWwgb2YgZS5nLiBhIHJlc291cmNlXG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLnZhbHVlXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IGRpc3BsYXlIaW50OiBcIjxpdGVyYXRvciB2YWx1ZT5cIiB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgX2dldEtleSgpOiBhbnkge1xuICAgIC8vIHVzZXMgYSBMYXp5IHZhbHVlIHRvIGJlIGFibGUgdG8gYWNjZXNzIHRoZSBjdXJyZW50IFRlcnJhZm9ybVN0YWNrIGFuZCBwYXNzIGl0IHRvIHJlZigpXG4gICAgcmV0dXJuIExhenkuYW55VmFsdWUoXG4gICAgICB7XG4gICAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCkge1xuICAgICAgICAgICAgY2FzZSBcIkRZTkFNSUNfQkxPQ0tcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIHJlZihcImVhY2gua2V5XCIpO1xuICAgICAgICAgICAgY2FzZSBcIkZPUl9FWFBSRVNTSU9OXCI6XG4gICAgICAgICAgICAgIHJldHVybiBGT1JfRVhQUkVTU0lPTl9LRVk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAvLyBzYW1lIGFzIGR5bmFtaWMgYmxvY2ssIGFzIHRoaXMgaXMgdGhlIGNhc2Ugd2hlbiBhIGl0ZXJhdG9yIGlzIHBhc3NlZCB0byB0aGUgcm9vdCBsZXZlbCBvZiBlLmcuIGEgcmVzb3VyY2VcbiAgICAgICAgICAgICAgcmV0dXJuIHJlZihcImVhY2gua2V5XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IGRpc3BsYXlIaW50OiBcIjxpdGVyYXRvciBrZXk+XCIgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBkeW5hbWljIGV4cHJlc3Npb24gdGhhdCBjYW4gYmUgdXNlZCB0byBsb29wIG92ZXIgdGhpcyBpdGVyYXRvclxuICAgKiBpbiBhIGR5bmFtaWMgYmxvY2suXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBTZWUgaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1pdGVyYXRvcnMtZm9yLWxpc3QtYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIGR5bmFtaWMoYXR0cmlidXRlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBuZXcgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24oe1xuICAgICAgICBpdGVyYXRvcjogdGhpcyxcbiAgICAgICAgY29udGVudDogYXR0cmlidXRlcyxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgbWFwcyB0aGUgaXRlcmF0b3JzIHRvIGl0cyBrZXlzLlxuICAgKiBGb3IgbGlzdHMgdGhlc2Ugd291bGQgYmUgdGhlIGluZGljZXMsIGZvciBtYXBzIHRoZSBrZXlzLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICovXG4gIHB1YmxpYyBrZXlzKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCBGT1JfRVhQUkVTU0lPTl9LRVkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgbWFwcyB0aGUgaXRlcmF0b3JzIHRvIGl0cyB2YWx1ZSBpbiBjYXNlIGl0IGlzIGEgbWFwLlxuICAgKiBGb3IgbGlzdHMgdGhlc2Ugd291bGQgc3RheSB0aGUgc2FtZS5cbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqL1xuICBwdWJsaWMgdmFsdWVzKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCBGT1JfRVhQUkVTU0lPTl9WQUxVRSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCBhY2Nlc3NlcyB0aGUga2V5IG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgaXRlcmF0b3IuXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IG9mIHRoZSBpdGVyYXRvcnMgdmFsdWVzIHRvIG1hcCB0b1xuICAgKi9cbiAgcHVibGljIHBsdWNrUHJvcGVydHkocHJvcGVydHk6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKFxuICAgICAgICB0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSxcbiAgICAgICAgcHJvcGVydHlBY2Nlc3MoRk9SX0VYUFJFU1NJT05fVkFMVUUsIFtwcm9wZXJ0eV0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IHJlc3VsdHMgaW4gYSBsaXN0LlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBldmVyeSBwb3NzaWJsZSBmb3IgZXhwcmVzc2lvbiwgYnV0IHJlcXVpcmVzIG1vcmUga25vd2xlZGdlIGFib3V0XG4gICAqIFRlcnJhZm9ybSdzIGZvciBleHByZXNzaW9uIHN5bnRheC5cbiAgICogRm9yIHRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgeW91IGNhbiB1c2Uga2V5cygpLCB2YWx1ZXMoKSwgYW5kIHBsdWNrUHJvcGVydHkoKSBpbnN0ZWFkLlxuICAgKlxuICAgKiBZb3UgbWF5IHdyaXRlIGFueSB2YWxpZCBUZXJyYWZvcm0gZm9yIGVhY2ggZXhwcmVzc2lvbiwgZS5nLlxuICAgKiBgVGVycmFmb3JtSXRlcmF0b3IuZnJvbUxpc3QobXlJdGVyYXRvclNvdXJjZVZhcikuZm9yRXhwcmVzc2lvbkZvckxpc3QoXCJ2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZVwiKWBcbiAgICogd2lsbCByZXN1bHQgaW4gYFsgZm9yIGtleSwgdmFsIGluIHZhci5teUl0ZXJhdG9yU291cmNlOiB2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZSBdYC5cbiAgICpcbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqIEBwYXJhbSBleHByZXNzaW9uIFRoZSBleHByZXNzaW9uIHRvIHVzZSBpbiB0aGUgZm9yIG1hcHBpbmdcbiAgICovXG4gIHB1YmxpYyBmb3JFeHByZXNzaW9uRm9yTGlzdChleHByZXNzaW9uOiBzdHJpbmcgfCBJUmVzb2x2YWJsZSkge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24odGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksIGV4cHJlc3Npb24pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgcmVzdWx0cyBpbiBhIG1hcC5cbiAgICogVGhpcyBtZXRob2QgYWxsb3dzIHlvdSB0byBjcmVhdGUgZXZlcnkgcG9zc2libGUgZm9yIGV4cHJlc3Npb24sIGJ1dCByZXF1aXJlcyBtb3JlIGtub3dsZWRnZSBhYm91dFxuICAgKiBUZXJyYWZvcm1zIGZvciBleHByZXNzaW9uIHN5bnRheC5cbiAgICogRm9yIHRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgeW91IGNhbiB1c2Uga2V5cygpLCB2YWx1ZXMoKSwgYW5kIHBsdWNrUHJvcGVydHkgaW5zdGVhZC5cbiAgICpcbiAgICogWW91IG1heSB3cml0ZSBhbnkgdmFsaWQgVGVycmFmb3JtIGZvciBlYWNoIGV4cHJlc3Npb24sIGUuZy5cbiAgICogYFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21NYXAobXlJdGVyYXRvclNvdXJjZVZhcikuZm9yRXhwcmVzc2lvbkZvck1hcChcImtleVwiLCBcInZhbC5mb28gaWYgdmFsLmJhciA9PSB0cnVlXCIpYFxuICAgKiB3aWxsIHJlc3VsdCBpbiBgeyBmb3Iga2V5LCB2YWwgaW4gdmFyLm15SXRlcmF0b3JTb3VyY2U6IGtleSA9PiB2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZSB9YC5cbiAgICpcbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqIEBwYXJhbSBrZXlFeHByZXNzaW9uIFRoZSBleHByZXNzaW9uIHRvIHVzZSBhcyBrZXkgaW4gdGhlIGZvciBtYXBwaW5nXG4gICAqIEBwYXJhbSB2YWx1ZUV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24gdG8gdXNlIGFzIHZhbHVlIGluIHRoZSBmb3IgbWFwcGluZ1xuICAgKi9cbiAgcHVibGljIGZvckV4cHJlc3Npb25Gb3JNYXAoXG4gICAga2V5RXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUsXG4gICAgdmFsdWVFeHByZXNzaW9uOiBzdHJpbmcgfCBJUmVzb2x2YWJsZSxcbiAgKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbihcbiAgICAgICAgdGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksXG4gICAgICAgIHZhbHVlRXhwcmVzc2lvbixcbiAgICAgICAga2V5RXhwcmVzc2lvbixcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIExpc3RUZXJyYWZvcm1JdGVyYXRvciBleHRlbmRzIFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsaXN0OiBMaXN0VHlwZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudGx5IGVudHJ5IGluIHRoZSBsaXN0IG9yIHNldCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqIEZvciBsaXN0cyB0aGlzIGlzIHRoZSBzYW1lIGFzIGBpdGVyYXRvci52YWx1ZWAuIElmIHlvdSBuZWVkIHRoZSBpbmRleCxcbiAgICogdXNlIGNvdW50IHZpYSBgVGVycmFmb3JtQ291bnRgOlxuICAgKiBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWNvdW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRLZXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgLy8gbmVlZHMgdG8gYmUgd3JhcHBlZCBpbiBhIHNldCBhcyBUZXJyYWZvcm0gb25seSBhbGxvd3Mgc2V0cyBpbiBmb3JfZWFjaFxuICAgIHJldHVybiBGbi50b3NldCh0aGlzLmxpc3QpO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgTWFwVGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWFwOiBNYXBUeXBlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICAvLyBleHBsaWNpdCB3cmFwcGluZyB0byBjaXJjdW12ZW50IFwiRm91bmQgYW4gZW5jb2RlZCBtYXAgdG9rZW4gaW4gYSBzY2FsYXIgc3RyaW5nIGNvbnRleHQuXCIgZXJyb3JcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcy5tYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGtleSBvZiB0aGUgY3VycmVudCBlbnRyeSBpbiB0aGUgbWFwIHRoYXQgaXMgYmVpbmcgaXRlcmF0ZWQgb3Zlci5cbiAgICovXG4gIHB1YmxpYyBnZXQga2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMuX2dldEtleSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IElUZXJyYWZvcm1SZXNvdXJjZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAoZWxlbWVudC5jb3VudCkge1xuICAgICAgdGhyb3cgaXRlcmF0b3JPblJlc291cmNlV2l0aENvdW50KCk7XG4gICAgfVxuXG4gICAgaWYgKCFlbGVtZW50LmZvckVhY2gpIHtcbiAgICAgIHRocm93IGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhvdXRGb3JFYWNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZW50cnkgaW4gdGhlIGxpc3Qgb3Igc2V0IHRoYXQgaXMgYmVpbmcgaXRlcmF0ZWQgb3Zlci5cbiAgICogRm9yIGxpc3RzIHRoaXMgaXMgdGhlIHNhbWUgYXMgYGl0ZXJhdG9yLnZhbHVlYC4gSWYgeW91IG5lZWQgdGhlIGluZGV4LFxuICAgKiB1c2UgY291bnQgdmlhIGBUZXJyYWZvcm1Db3VudGA6XG4gICAqIGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9jb25jZXB0cy9pdGVyYXRvcnMjdXNpbmctY291bnRcbiAgICovXG4gIHB1YmxpYyBnZXQga2V5KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEtleSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3Zlci5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50LmZxbjsgLy8gbm8gd3JhcHBpbmcgbmVjZXNzYXJ5IGZvciByZXNvdXJjZXNcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBNYXBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdDogTGlzdFR5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXBLZXlBdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKGxpc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvbi5cbiAgICogQWx3YXlzIHJldHVybnMgdGhlIG1hcC13cmFwcGVkIGZvcm0gc28gZWFjaC5rZXkgaXMgdGhlIG1hcEtleUF0dHJpYnV0ZU5hbWVcbiAgICogYW5kIGVudHJpZXMgYXJlIHVuaXF1ZWx5IGtleWVkLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIC8vIFR1cm4gbGlzdCBpbnRvIGEgbWFwOiB7IGZvciBrLHYgaW4gPGlucHV0PiA6IDxrZXlFeHByZXNzaW9uPiA9PiA8dmFsdWVFeHByZXNzaW9uPiB9XG4gICAgcmV0dXJuIGZvckV4cHJlc3Npb24oXG4gICAgICB0aGlzLmxpc3QsXG4gICAgICBGT1JfRVhQUkVTU0lPTl9WQUxVRSxcbiAgICAgIEZuLmxvb2t1cE5lc3RlZChGT1JfRVhQUkVTU0lPTl9WQUxVRSwgW3RoaXMubWFwS2V5QXR0cmlidXRlTmFtZV0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIGluc2lkZSBhIGZvci1leHByZXNzaW9uIGJvZHkgd2Ugd2FsayB0aGUgcmF3IGxpc3Qgc29cbiAgICogYFsgZm9yIGtleSwgdmFsIGluIDxsaXN0PiA6IC4uLiBdYCBpdGVyYXRlcyBsaXN0IGVsZW1lbnRzIG9uY2UsXG4gICAqIHJhdGhlciB0aGFuIHRoZSBkb3VibHktd3JhcHBlZCBmb3JtIHRoZSBmb3JfZWFjaCBjb252ZXJzaW9uIHByb2R1Y2VzLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5saXN0O1xuICB9XG59XG4iXX0=
|
|
416
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBY0EscUNBR2tCO0FBQ2xCLGlGQUE0RTtBQUM1RSwrREFBMkM7QUFFM0MsaURBTXdCO0FBQ3hCLHFDQUFvRDtBQXFDcEQ7OztHQUdHO0FBQ0gsTUFBc0IsaUJBQWlCOztJQU1yQzs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQWM7UUFDbkMsZ0ZBQWdGO1FBQ2hGLHdGQUF3RjtRQUN4RixPQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNEJHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FDM0IsSUFBcUIsRUFDckIsbUJBQTJCO1FBRTNCLE9BQU8sSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUNuQixHQUs4QjtRQUU5QixPQUFPLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQ3pCLFFBQTRCO1FBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FDM0IsUUFBNEI7UUFFNUIsT0FBTyxJQUFJLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsU0FBaUI7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QUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsc0NBQXNDO0lBQ2pFLENBQUM7O0FBbkNILDhEQW9DQztBQUVEOzs7R0FHRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsb0JBQW9CO0lBRWpEO0lBQ0E7O0lBRm5CLFlBQ21CLElBQWMsRUFDZCxtQkFBMkI7UUFFNUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEssU0FBSSxHQUFKLElBQUksQ0FBVTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBUTtJQUc5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHFCQUFxQjtRQUMxQixzRkFBc0Y7UUFDdEYsT0FBTyxJQUFBLDRCQUFhLEVBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQ1QsbUNBQW9CLEVBQ3BCLHdCQUFFLENBQUMsWUFBWSxDQUFDLG1DQUFvQixFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOztBQTdCSCxvRUE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHtcbiAgQW55TWFwLFxuICBBbnlNYXBMaXN0LFxuICBCb29sZWFuTWFwLFxuICBCb29sZWFuTWFwTGlzdCxcbiAgQ29tcGxleExpc3QsXG4gIENvbXBsZXhNYXAsXG4gIE51bWJlck1hcCxcbiAgTnVtYmVyTWFwTGlzdCxcbiAgU3RyaW5nTWFwLFxuICBTdHJpbmdNYXBMaXN0LFxufSBmcm9tIFwiLi9jb21wbGV4LWNvbXB1dGVkLWxpc3RcIjtcbmltcG9ydCB7XG4gIGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhDb3VudCxcbiAgaXRlcmF0b3JPblJlc291cmNlV2l0aG91dEZvckVhY2gsXG59IGZyb20gXCIuL2Vycm9yc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24gfSBmcm9tIFwiLi90ZXJyYWZvcm0tZHluYW1pYy1leHByZXNzaW9uXCI7XG5pbXBvcnQgeyBGbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1mdW5jdGlvbnNcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1SZXNvdXJjZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHtcbiAgRk9SX0VYUFJFU1NJT05fS0VZLFxuICBGT1JfRVhQUkVTU0lPTl9WQUxVRSxcbiAgZm9yRXhwcmVzc2lvbixcbiAgcHJvcGVydHlBY2Nlc3MsXG4gIHJlZixcbn0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJVGVycmFmb3JtSXRlcmF0b3Ige1xuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55O1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgaW5wdXQgdXNlZCB3aGVuIHRoaXMgaXRlcmF0b3IgYXBwZWFycyBpbnNpZGUgYSBmb3ItZXhwcmVzc2lvblxuICAgKiBib2R5IChrZXlzIC8gdmFsdWVzIC8gcGx1Y2tQcm9wZXJ0eSAvIGZvckV4cHJlc3Npb25Gb3JMaXN0IC9cbiAgICogZm9yRXhwcmVzc2lvbkZvck1hcCAvIGR5bmFtaWMpLlxuICAgKi9cbiAgX2dldEZvckV4cHJlc3Npb25JbnB1dCgpOiBhbnk7XG59XG5cbnR5cGUgTGlzdFR5cGUgPVxuICBBcnJheTxzdHJpbmc+IHwgQXJyYXk8bnVtYmVyPiB8IEFycmF5PGJvb2xlYW4gfCBJUmVzb2x2YWJsZT4gfCBJUmVzb2x2YWJsZTsgLy8gZS5nLiBhcnJheSBvZiBib29sZWFuc1xuXG50eXBlIENvbXBsZXhMaXN0VHlwZSA9XG4gIHwgQ29tcGxleExpc3RcbiAgfCBTdHJpbmdNYXBMaXN0XG4gIHwgTnVtYmVyTWFwTGlzdFxuICB8IEJvb2xlYW5NYXBMaXN0XG4gIHwgQW55TWFwTGlzdFxuICB8IElSZXNvbHZhYmxlOyAvLyBlLmcuIGEgcmVmZXJlbmNlIHRvIGEgY29tcGxleCBsaXN0IChlLmcuIHZpYSBhIHZhcmlhYmxlKVxuXG50eXBlIE1hcFR5cGUgPVxuICB8IHsgW2tleTogc3RyaW5nXTogYW55IH1cbiAgfCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gIHwgeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxuICB8IFN0cmluZ01hcFxuICB8IE51bWJlck1hcFxuICB8IEJvb2xlYW5NYXBcbiAgfCBBbnlNYXBcbiAgfCBDb21wbGV4TWFwO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGl0ZXJhdG9ycyBvdmVyIGEgbGlzdCwgbWFwIG9yIHJlc291cmNlIGNvbGxlY3Rpb24uIFVzZWQgYXMgYSBgZm9yX2VhY2hgIG1ldGEtYXJndW1lbnQsIGFzIHRoZSBzb3VyY2VcbiAqIG9mIGEgZHluYW1pYyBibG9jaywgb3IgaW4gZm9yLWV4cHJlc3Npb25zOyBga2V5YCBhbmQgYHZhbHVlYCByZWZlciB0byB0aGUgY3VycmVudCBlbGVtZW50LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVycmFmb3JtSXRlcmF0b3IgaW1wbGVtZW50cyBJVGVycmFmb3JtSXRlcmF0b3Ige1xuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBhYnN0cmFjdCBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55O1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgaW5wdXQgdXNlZCB3aGVuIHRoaXMgaXRlcmF0b3IgYXBwZWFycyBpbnNpZGUgYSBmb3ItZXhwcmVzc2lvblxuICAgKiBib2R5IChrZXlzIC8gdmFsdWVzIC8gcGx1Y2tQcm9wZXJ0eSAvIGZvckV4cHJlc3Npb25Gb3JMaXN0IC9cbiAgICogZm9yRXhwcmVzc2lvbkZvck1hcCAvIGR5bmFtaWMpLiBEZWZhdWx0cyB0byB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvbjtcbiAgICogc3ViY2xhc3NlcyB0aGF0IG5lZWQgYSBkaWZmZXJlbnQgc2hhcGUgaW4gZm9yLWV4cHJlc3Npb24gYm9kaWVzXG4gICAqIChlLmcuIER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3IpIGNhbiBvdmVycmlkZS5cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEZvckVhY2hFeHByZXNzaW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpdGVyYXRvciBmcm9tIGEgbGlzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tTGlzdChsaXN0OiBMaXN0VHlwZSk6IExpc3RUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgLy8gVE9ETzogdGhpcyBjb3VsZCByZXR1cm4gZGlmZmVyZW50IGl0ZXJhdG9ycyBkZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdGhlIGxpc3RcbiAgICAvLyBmb3IgZXhhbXBsZSBpdCBjb3VsZCByZXR1cm4gYSBOdW1iZXJMaXN0SXRlcmF0b3Igd2hvc2UgaXRlcmF0b3Iua2V5IHdvdWxkIGJlIGEgbnVtYmVyXG4gICAgcmV0dXJuIG5ldyBMaXN0VGVycmFmb3JtSXRlcmF0b3IobGlzdCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpdGVyYXRvciBmcm9tIGEgY29tcGxleCBsaXN0LiBPbmUgZXhhbXBsZSBmb3IgdGhpcyB3b3VsZCBiZSBhIGxpc3Qgb2YgbWFwcy5cbiAgICogVGhlIGxpc3Qgd2lsbCBiZSBjb252ZXJ0ZWQgaW50byBhIG1hcCB3aXRoIHRoZSBtYXBLZXlBdHRyaWJ1dGVOYW1lIGFzIHRoZSBrZXkuXG4gICAqIEBwYXJhbSBsaXN0IHRoZSBsaXN0IHRvIGl0ZXJhdGUgb3ZlclxuICAgKiBAcGFyYW0gbWFwS2V5QXR0cmlidXRlTmFtZSB0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgYXMgdGhlIGtleSBpbiB0aGUgbWFwXG4gICAqXG4gICAqIFZpc2l0IGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9jb25jZXB0cy9pdGVyYXRvcnMjdXNpbmctaXRlcmF0b3JzLW9uLWNvbXBsZXgtbGlzdHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IGNlcnQgPSBuZXcgQWNtQ2VydGlmaWNhdGUodGhpcywgXCJjZXJ0XCIsIHtcbiAgICogICAgZG9tYWluTmFtZTogXCJleGFtcGxlLmNvbVwiLFxuICAgKiAgICB2YWxpZGF0aW9uTWV0aG9kOiBcIkROU1wiLFxuICAgKiAgfSk7XG4gICAqXG4gICAqIGNvbnN0IGR2b0l0ZXJhdG9yID0gVGVycmFmb3JtSXRlcmF0b3IuZnJvbUNvbXBsZXhMaXN0KFxuICAgKiAgIGNlcnQuZG9tYWluVmFsaWRhdGlvbk9wdGlvbnMsXG4gICAqICAgXCJkb21haW5fbmFtZVwiXG4gICAqICk7XG4gICAqXG4gICAqIG5ldyBSb3V0ZTUzUmVjb3JkKHRoaXMsIFwicmVjb3JkXCIsIHtcbiAgICogICBhbGxvd092ZXJ3cml0ZTogdHJ1ZSxcbiAgICogICBuYW1lOiBkdm9JdGVyYXRvci5nZXRTdHJpbmcoXCJuYW1lXCIpLFxuICAgKiAgIHJlY29yZHM6IFtkdm9JdGVyYXRvci5nZXRTdHJpbmcoXCJyZWNvcmRcIildLFxuICAgKiAgIHR0bDogNjAsXG4gICAqICAgdHlwZTogZHZvSXRlcmF0b3IuZ2V0U3RyaW5nKFwidHlwZVwiKSxcbiAgICogICB6b25lSWQ6IFRva2VuLmFzU3RyaW5nKGRhdGFBd3NSb3V0ZTUzWm9uZUV4YW1wbGUuem9uZUlkKSxcbiAgICogICBmb3JFYWNoOiBkdm9JdGVyYXRvcixcbiAgICogfSk7XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Db21wbGV4TGlzdChcbiAgICBsaXN0OiBDb21wbGV4TGlzdFR5cGUsXG4gICAgbWFwS2V5QXR0cmlidXRlTmFtZTogc3RyaW5nLFxuICApOiBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICByZXR1cm4gbmV3IER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3IobGlzdCwgbWFwS2V5QXR0cmlidXRlTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpdGVyYXRvciBmcm9tIGEgbWFwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21NYXAoXG4gICAgbWFwOlxuICAgICAgfCBDb21wbGV4TWFwXG4gICAgICB8IHsgW2tleTogc3RyaW5nXTogYW55IH1cbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9XG4gICAgICB8IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9LFxuICApOiBNYXBUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBNYXBUZXJyYWZvcm1JdGVyYXRvcihtYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIHJlc291cmNlIHRoYXRcbiAgICogaGFzIGJlZW4gY3JlYXRlZCB3aXRoIHRoZSBgZm9yX2VhY2hgIGFyZ3VtZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUmVzb3VyY2VzKFxuICAgIHJlc291cmNlOiBJVGVycmFmb3JtUmVzb3VyY2UsXG4gICk6IFJlc291cmNlVGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvcihyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpdGVyYXRvciBmcm9tIGEgZGF0YSBzb3VyY2UgdGhhdFxuICAgKiBoYXMgYmVlbiBjcmVhdGVkIHdpdGggdGhlIGBmb3JfZWFjaGAgYXJndW1lbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21EYXRhU291cmNlcyhcbiAgICByZXNvdXJjZTogSVRlcnJhZm9ybVJlc291cmNlLFxuICApOiBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICByZXR1cm4gbmV3IFJlc291cmNlVGVycmFmb3JtSXRlcmF0b3IocmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBzdHJpbmdcbiAgICovXG4gIGdldFN0cmluZyhhdHRyaWJ1dGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG51bWJlclxuICAgKi9cbiAgZ2V0TnVtYmVyKGF0dHJpYnV0ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgYm9vbGVhblxuICAgKi9cbiAgZ2V0Qm9vbGVhbihhdHRyaWJ1dGU6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGFueVxuICAgKi9cbiAgZ2V0QW55KGF0dHJpYnV0ZTogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSAoc3RyaW5nKSBsaXN0XG4gICAqL1xuICBnZXRMaXN0KGF0dHJpYnV0ZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBUb2tlbi5hc0xpc3QocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbnVtYmVyIGxpc3RcbiAgICovXG4gIGdldE51bWJlckxpc3QoYXR0cmlidXRlOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTGlzdChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXBcbiAgICovXG4gIGdldE1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBUb2tlbi5hc0FueU1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2Ygc3RyaW5nc1xuICAgKi9cbiAgZ2V0U3RyaW5nTWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBudW1iZXJzXG4gICAqL1xuICBnZXROdW1iZXJNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwIG9mIGJvb2xlYW5zXG4gICAqL1xuICBnZXRCb29sZWFuTWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiBUb2tlbi5hc0Jvb2xlYW5NYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwIG9mIGFueVxuICAgKi9cbiAgZ2V0QW55TWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgX2dldFZhbHVlKCk6IGFueSB7XG4gICAgLy8gdXNlcyBhIExhenkgdmFsdWUgdG8gYmUgYWJsZSB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgVGVycmFmb3JtU3RhY2sgYW5kIHBhc3MgaXQgdG8gcmVmKClcbiAgICByZXR1cm4gTGF6eS5hbnlWYWx1ZShcbiAgICAgIHtcbiAgICAgICAgcHJvZHVjZTogKGNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGNvbnRleHQuaXRlcmF0b3JDb250ZXh0KSB7XG4gICAgICAgICAgICBjYXNlIFwiRFlOQU1JQ19CTE9DS1wiOlxuICAgICAgICAgICAgICByZXR1cm4gcmVmKFwiZWFjaC52YWx1ZVwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJGT1JfRVhQUkVTU0lPTlwiOlxuICAgICAgICAgICAgICByZXR1cm4gRk9SX0VYUFJFU1NJT05fVkFMVUU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAvLyBzYW1lIGFzIGR5bmFtaWMgYmxvY2ssIGFzIHRoaXMgaXMgdGhlIGNhc2Ugd2hlbiBhIGl0ZXJhdG9yIGlzIHBhc3NlZCB0byB0aGUgcm9vdCBsZXZlbCBvZiBlLmcuIGEgcmVzb3VyY2VcbiAgICAgICAgICAgICAgcmV0dXJuIHJlZihcImVhY2gudmFsdWVcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHsgZGlzcGxheUhpbnQ6IFwiPGl0ZXJhdG9yIHZhbHVlPlwiIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfZ2V0S2V5KCk6IGFueSB7XG4gICAgLy8gdXNlcyBhIExhenkgdmFsdWUgdG8gYmUgYWJsZSB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgVGVycmFmb3JtU3RhY2sgYW5kIHBhc3MgaXQgdG8gcmVmKClcbiAgICByZXR1cm4gTGF6eS5hbnlWYWx1ZShcbiAgICAgIHtcbiAgICAgICAgcHJvZHVjZTogKGNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGNvbnRleHQuaXRlcmF0b3JDb250ZXh0KSB7XG4gICAgICAgICAgICBjYXNlIFwiRFlOQU1JQ19CTE9DS1wiOlxuICAgICAgICAgICAgICByZXR1cm4gcmVmKFwiZWFjaC5rZXlcIik7XG4gICAgICAgICAgICBjYXNlIFwiRk9SX0VYUFJFU1NJT05cIjpcbiAgICAgICAgICAgICAgcmV0dXJuIEZPUl9FWFBSRVNTSU9OX0tFWTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vIHNhbWUgYXMgZHluYW1pYyBibG9jaywgYXMgdGhpcyBpcyB0aGUgY2FzZSB3aGVuIGEgaXRlcmF0b3IgaXMgcGFzc2VkIHRvIHRoZSByb290IGxldmVsIG9mIGUuZy4gYSByZXNvdXJjZVxuICAgICAgICAgICAgICByZXR1cm4gcmVmKFwiZWFjaC5rZXlcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHsgZGlzcGxheUhpbnQ6IFwiPGl0ZXJhdG9yIGtleT5cIiB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGR5bmFtaWMgZXhwcmVzc2lvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb3Agb3ZlciB0aGlzIGl0ZXJhdG9yXG4gICAqIGluIGEgZHluYW1pYyBibG9jay5cbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqIFNlZSBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWl0ZXJhdG9ycy1mb3ItbGlzdC1hdHRyaWJ1dGVzXG4gICAqL1xuICBwdWJsaWMgZHluYW1pYyhhdHRyaWJ1dGVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIG5ldyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbih7XG4gICAgICAgIGl0ZXJhdG9yOiB0aGlzLFxuICAgICAgICBjb250ZW50OiBhdHRyaWJ1dGVzLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCBtYXBzIHRoZSBpdGVyYXRvcnMgdG8gaXRzIGtleXMuXG4gICAqIEZvciBsaXN0cyB0aGVzZSB3b3VsZCBiZSB0aGUgaW5kaWNlcywgZm9yIG1hcHMgdGhlIGtleXMuXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKi9cbiAgcHVibGljIGtleXMoKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24odGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksIEZPUl9FWFBSRVNTSU9OX0tFWSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCBtYXBzIHRoZSBpdGVyYXRvcnMgdG8gaXRzIHZhbHVlIGluIGNhc2UgaXQgaXMgYSBtYXAuXG4gICAqIEZvciBsaXN0cyB0aGVzZSB3b3VsZCBzdGF5IHRoZSBzYW1lLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICovXG4gIHB1YmxpYyB2YWx1ZXMoKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24odGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksIEZPUl9FWFBSRVNTSU9OX1ZBTFVFKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IGFjY2Vzc2VzIHRoZSBrZXkgb24gZWFjaCBlbGVtZW50IG9mIHRoZSBpdGVyYXRvci5cbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgb2YgdGhlIGl0ZXJhdG9ycyB2YWx1ZXMgdG8gbWFwIHRvXG4gICAqL1xuICBwdWJsaWMgcGx1Y2tQcm9wZXJ0eShwcm9wZXJ0eTogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24oXG4gICAgICAgIHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLFxuICAgICAgICBwcm9wZXJ0eUFjY2VzcyhGT1JfRVhQUkVTU0lPTl9WQUxVRSwgW3Byb3BlcnR5XSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgcmVzdWx0cyBpbiBhIGxpc3QuXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gY3JlYXRlIGV2ZXJ5IHBvc3NpYmxlIGZvciBleHByZXNzaW9uLCBidXQgcmVxdWlyZXMgbW9yZSBrbm93bGVkZ2UgYWJvdXRcbiAgICogVGVycmFmb3JtJ3MgZm9yIGV4cHJlc3Npb24gc3ludGF4LlxuICAgKiBGb3IgdGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlcyB5b3UgY2FuIHVzZSBrZXlzKCksIHZhbHVlcygpLCBhbmQgcGx1Y2tQcm9wZXJ0eSgpIGluc3RlYWQuXG4gICAqXG4gICAqIFlvdSBtYXkgd3JpdGUgYW55IHZhbGlkIFRlcnJhZm9ybSBmb3IgZWFjaCBleHByZXNzaW9uLCBlLmcuXG4gICAqIGBUZXJyYWZvcm1JdGVyYXRvci5mcm9tTGlzdChteUl0ZXJhdG9yU291cmNlVmFyKS5mb3JFeHByZXNzaW9uRm9yTGlzdChcInZhbC5mb28gaWYgdmFsLmJhciA9PSB0cnVlXCIpYFxuICAgKiB3aWxsIHJlc3VsdCBpbiBgWyBmb3Iga2V5LCB2YWwgaW4gdmFyLm15SXRlcmF0b3JTb3VyY2U6IHZhbC5mb28gaWYgdmFsLmJhciA9PSB0cnVlIF1gLlxuICAgKlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogQHBhcmFtIGV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24gdG8gdXNlIGluIHRoZSBmb3IgbWFwcGluZ1xuICAgKi9cbiAgcHVibGljIGZvckV4cHJlc3Npb25Gb3JMaXN0KGV4cHJlc3Npb246IHN0cmluZyB8IElSZXNvbHZhYmxlKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbih0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSwgZXhwcmVzc2lvbiksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCByZXN1bHRzIGluIGEgbWFwLlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBldmVyeSBwb3NzaWJsZSBmb3IgZXhwcmVzc2lvbiwgYnV0IHJlcXVpcmVzIG1vcmUga25vd2xlZGdlIGFib3V0XG4gICAqIFRlcnJhZm9ybXMgZm9yIGV4cHJlc3Npb24gc3ludGF4LlxuICAgKiBGb3IgdGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlcyB5b3UgY2FuIHVzZSBrZXlzKCksIHZhbHVlcygpLCBhbmQgcGx1Y2tQcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKlxuICAgKiBZb3UgbWF5IHdyaXRlIGFueSB2YWxpZCBUZXJyYWZvcm0gZm9yIGVhY2ggZXhwcmVzc2lvbiwgZS5nLlxuICAgKiBgVGVycmFmb3JtSXRlcmF0b3IuZnJvbU1hcChteUl0ZXJhdG9yU291cmNlVmFyKS5mb3JFeHByZXNzaW9uRm9yTWFwKFwia2V5XCIsIFwidmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWVcIilgXG4gICAqIHdpbGwgcmVzdWx0IGluIGB7IGZvciBrZXksIHZhbCBpbiB2YXIubXlJdGVyYXRvclNvdXJjZToga2V5ID0+IHZhbC5mb28gaWYgdmFsLmJhciA9PSB0cnVlIH1gLlxuICAgKlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogQHBhcmFtIGtleUV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24gdG8gdXNlIGFzIGtleSBpbiB0aGUgZm9yIG1hcHBpbmdcbiAgICogQHBhcmFtIHZhbHVlRXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB0byB1c2UgYXMgdmFsdWUgaW4gdGhlIGZvciBtYXBwaW5nXG4gICAqL1xuICBwdWJsaWMgZm9yRXhwcmVzc2lvbkZvck1hcChcbiAgICBrZXlFeHByZXNzaW9uOiBzdHJpbmcgfCBJUmVzb2x2YWJsZSxcbiAgICB2YWx1ZUV4cHJlc3Npb246IHN0cmluZyB8IElSZXNvbHZhYmxlLFxuICApIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKFxuICAgICAgICB0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSxcbiAgICAgICAgdmFsdWVFeHByZXNzaW9uLFxuICAgICAgICBrZXlFeHByZXNzaW9uLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogSXRlcmF0b3Igb3ZlciBhIGxpc3Qgb3Igc2V0LiBUaGUgbGlzdCBpcyBjb252ZXJ0ZWQgdG8gYSBzZXQgZm9yIGBmb3JfZWFjaGAsIHNvIGBrZXlgIGFuZCBgdmFsdWVgIGFyZSBib3RoIHRoZVxuICogY3VycmVudCBlbGVtZW50LlxuICovXG5leHBvcnQgY2xhc3MgTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxpc3Q6IExpc3RUeXBlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50bHkgZW50cnkgaW4gdGhlIGxpc3Qgb3Igc2V0IHRoYXQgaXMgYmVpbmcgaXRlcmF0ZWQgb3Zlci5cbiAgICogRm9yIGxpc3RzIHRoaXMgaXMgdGhlIHNhbWUgYXMgYGl0ZXJhdG9yLnZhbHVlYC4gSWYgeW91IG5lZWQgdGhlIGluZGV4LFxuICAgKiB1c2UgY291bnQgdmlhIGBUZXJyYWZvcm1Db3VudGA6XG4gICAqIGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9jb25jZXB0cy9pdGVyYXRvcnMjdXNpbmctY291bnRcbiAgICovXG4gIHB1YmxpYyBnZXQga2V5KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEtleSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3Zlci5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICAvLyBuZWVkcyB0byBiZSB3cmFwcGVkIGluIGEgc2V0IGFzIFRlcnJhZm9ybSBvbmx5IGFsbG93cyBzZXRzIGluIGZvcl9lYWNoXG4gICAgcmV0dXJuIEZuLnRvc2V0KHRoaXMubGlzdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBJdGVyYXRvciBvdmVyIGEgbWFwOyBga2V5YCBpcyB0aGUgY3VycmVudCBlbnRyeSdzIGtleSBhbmQgYHZhbHVlYCBpdHMgdmFsdWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYXBUZXJyYWZvcm1JdGVyYXRvciBleHRlbmRzIFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtYXA6IE1hcFR5cGUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIC8vIGV4cGxpY2l0IHdyYXBwaW5nIHRvIGNpcmN1bXZlbnQgXCJGb3VuZCBhbiBlbmNvZGVkIG1hcCB0b2tlbiBpbiBhIHNjYWxhciBzdHJpbmcgY29udGV4dC5cIiBlcnJvclxuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLm1hcCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUga2V5IG9mIHRoZSBjdXJyZW50IGVudHJ5IGluIHRoZSBtYXAgdGhhdCBpcyBiZWluZyBpdGVyYXRlZCBvdmVyLlxuICAgKi9cbiAgcHVibGljIGdldCBrZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcy5fZ2V0S2V5KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3Zlci5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUoKTtcbiAgfVxufVxuXG4vKipcbiAqIEl0ZXJhdG9yIG92ZXIgdGhlIGluc3RhbmNlcyBvZiBhIHJlc291cmNlIG9yIGRhdGEgc291cmNlIHRoYXQgaXRzZWxmIHVzZXMgYGZvcl9lYWNoYC4gVGhlIGVsZW1lbnQgbXVzdCBub3QgdXNlXG4gKiBgY291bnRgLlxuICovXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciBleHRlbmRzIFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBJVGVycmFmb3JtUmVzb3VyY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGVsZW1lbnQuY291bnQpIHtcbiAgICAgIHRocm93IGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhDb3VudCgpO1xuICAgIH1cblxuICAgIGlmICghZWxlbWVudC5mb3JFYWNoKSB7XG4gICAgICB0aHJvdyBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVudHJ5IGluIHRoZSBsaXN0IG9yIHNldCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqIEZvciBsaXN0cyB0aGlzIGlzIHRoZSBzYW1lIGFzIGBpdGVyYXRvci52YWx1ZWAuIElmIHlvdSBuZWVkIHRoZSBpbmRleCxcbiAgICogdXNlIGNvdW50IHZpYSBgVGVycmFmb3JtQ291bnRgOlxuICAgKiBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWNvdW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRLZXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5mcW47IC8vIG5vIHdyYXBwaW5nIG5lY2Vzc2FyeSBmb3IgcmVzb3VyY2VzXG4gIH1cbn1cblxuLyoqXG4gKiBJdGVyYXRvciBvdmVyIGEgbGlzdCBvZiBjb21wbGV4IG9iamVjdHMuIEZvciBgZm9yX2VhY2hgIHRoZSBsaXN0IGlzIGNvbnZlcnRlZCB0byBhIG1hcCBrZXllZCBieSB0aGUgdmFsdWUgb2YgdGhlXG4gKiBnaXZlbiBhdHRyaWJ1dGUgb2YgZWFjaCBlbGVtZW50LCBzbyBldmVyeSBlbnRyeSBpcyB1bmlxdWVseSBrZXllZC5cbiAqL1xuZXhwb3J0IGNsYXNzIER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBNYXBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdDogTGlzdFR5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXBLZXlBdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKGxpc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvbi5cbiAgICogQWx3YXlzIHJldHVybnMgdGhlIG1hcC13cmFwcGVkIGZvcm0gc28gZWFjaC5rZXkgaXMgdGhlIG1hcEtleUF0dHJpYnV0ZU5hbWVcbiAgICogYW5kIGVudHJpZXMgYXJlIHVuaXF1ZWx5IGtleWVkLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIC8vIFR1cm4gbGlzdCBpbnRvIGEgbWFwOiB7IGZvciBrLHYgaW4gPGlucHV0PiA6IDxrZXlFeHByZXNzaW9uPiA9PiA8dmFsdWVFeHByZXNzaW9uPiB9XG4gICAgcmV0dXJuIGZvckV4cHJlc3Npb24oXG4gICAgICB0aGlzLmxpc3QsXG4gICAgICBGT1JfRVhQUkVTU0lPTl9WQUxVRSxcbiAgICAgIEZuLmxvb2t1cE5lc3RlZChGT1JfRVhQUkVTU0lPTl9WQUxVRSwgW3RoaXMubWFwS2V5QXR0cmlidXRlTmFtZV0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIGluc2lkZSBhIGZvci1leHByZXNzaW9uIGJvZHkgd2Ugd2FsayB0aGUgcmF3IGxpc3Qgc29cbiAgICogYFsgZm9yIGtleSwgdmFsIGluIDxsaXN0PiA6IC4uLiBdYCBpdGVyYXRlcyBsaXN0IGVsZW1lbnRzIG9uY2UsXG4gICAqIHJhdGhlciB0aGFuIHRoZSBkb3VibHktd3JhcHBlZCBmb3JtIHRoZSBmb3JfZWFjaCBjb252ZXJzaW9uIHByb2R1Y2VzLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5saXN0O1xuICB9XG59XG4iXX0=
|
package/lib/terraform-local.d.ts
CHANGED
|
@@ -2,6 +2,10 @@ import { Construct } from "constructs";
|
|
|
2
2
|
import { TerraformElement } from "./terraform-element";
|
|
3
3
|
import { IResolvable } from "./tokens/resolvable";
|
|
4
4
|
import { ITerraformAddressable } from "./terraform-addressable";
|
|
5
|
+
/**
|
|
6
|
+
* A Terraform local value (entry in a `locals` block): a named expression that can be referenced from elsewhere in
|
|
7
|
+
* the stack.
|
|
8
|
+
*/
|
|
5
9
|
export declare class TerraformLocal extends TerraformElement implements ITerraformAddressable {
|
|
6
10
|
private _expression;
|
|
7
11
|
constructor(scope: Construct, id: string, expression: any);
|
package/lib/terraform-local.js
CHANGED
|
@@ -5,9 +5,12 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
5
5
|
const terraform_element_1 = require("./terraform-element");
|
|
6
6
|
const tokens_1 = require("./tokens");
|
|
7
7
|
const tfExpression_1 = require("./tfExpression");
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* A Terraform local value (entry in a `locals` block): a named expression that can be referenced from elsewhere in
|
|
10
|
+
* the stack.
|
|
11
|
+
*/
|
|
9
12
|
class TerraformLocal extends terraform_element_1.TerraformElement {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformLocal", version: "0.26.0-pre.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformLocal", version: "0.26.0-pre.21" };
|
|
11
14
|
_expression;
|
|
12
15
|
constructor(scope, id, expression) {
|
|
13
16
|
super(scope, id, "local");
|
|
@@ -82,4 +85,4 @@ class TerraformLocal extends terraform_element_1.TerraformElement {
|
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
exports.TerraformLocal = TerraformLocal;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1sb2NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsMkRBQXVEO0FBQ3ZELHFDQUFpQztBQUNqQyxpREFBcUM7QUFJckM7OztHQUdHO0FBQ0gsTUFBYSxjQUNYLFNBQVEsb0NBQWdCOztJQUdoQixXQUFXLENBQU07SUFFekIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxVQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFVBQVUsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLGNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLGNBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUEsa0JBQUcsRUFBQyxTQUFTLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDdkIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDMUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3RDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7QUE1Rkgsd0NBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyByZWYgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlIH0gZnJvbSBcIi4vdG9rZW5zL3Jlc29sdmFibGVcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1BZGRyZXNzYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuXG4vKipcbiAqIEEgVGVycmFmb3JtIGxvY2FsIHZhbHVlIChlbnRyeSBpbiBhIGBsb2NhbHNgIGJsb2NrKTogYSBuYW1lZCBleHByZXNzaW9uIHRoYXQgY2FuIGJlIHJlZmVyZW5jZWQgZnJvbSBlbHNld2hlcmUgaW5cbiAqIHRoZSBzdGFjay5cbiAqL1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUxvY2FsXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1BZGRyZXNzYWJsZVxue1xuICBwcml2YXRlIF9leHByZXNzaW9uOiBhbnk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZXhwcmVzc2lvbjogYW55KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcImxvY2FsXCIpO1xuXG4gICAgdGhpcy5fZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBwdWJsaWMgc2V0IGV4cHJlc3Npb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuX2V4cHJlc3Npb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFzTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNTdHJpbmdNYXAoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNOdW1iZXJNYXAoKTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuTWFwKCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNBbnlNYXAoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGludGVycG9sYXRpb24oKTogYW55IHtcbiAgICByZXR1cm4gcmVmKGBsb2NhbC4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLCB0aGlzLmNka3RmU3RhY2spO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2Fsczoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxzOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBsb2NhbDogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGEgc3RyaW5nIHRva2VuIHJlZmVyZW5jaW5nIHRoZSB2YWx1ZSBvZiB0aGlzIGxvY2FsXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFzU3RyaW5nO1xuICB9XG59XG4iXX0=
|
package/lib/terraform-module.js
CHANGED
|
@@ -19,7 +19,7 @@ const terraform_module_asset_1 = require("./terraform-module-asset");
|
|
|
19
19
|
* you should use Constructs instead, see http://cdk.tf/constructs for more details.
|
|
20
20
|
*/
|
|
21
21
|
class TerraformModule extends terraform_element_1.TerraformElement {
|
|
22
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformModule", version: "0.26.0-pre.
|
|
22
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformModule", version: "0.26.0-pre.21" };
|
|
23
23
|
source;
|
|
24
24
|
version;
|
|
25
25
|
_providers;
|
|
@@ -13,7 +13,7 @@ const tokens_1 = require("./tokens");
|
|
|
13
13
|
* in the Terraform configuration language.
|
|
14
14
|
*/
|
|
15
15
|
class Op {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Op", version: "0.26.0-pre.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Op", version: "0.26.0-pre.21" };
|
|
17
17
|
/**
|
|
18
18
|
* Renders !expression
|
|
19
19
|
*/
|
|
@@ -18,6 +18,10 @@ export interface TerraformOutputConfig {
|
|
|
18
18
|
readonly staticId?: boolean;
|
|
19
19
|
readonly precondition?: Precondition;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* A Terraform output value (`output` block): exposes a value from the stack after apply, for display or for use by
|
|
23
|
+
* other stacks and tools.
|
|
24
|
+
*/
|
|
21
25
|
export declare class TerraformOutput extends TerraformElement {
|
|
22
26
|
value: Expression | ITerraformAddressable;
|
|
23
27
|
description?: string;
|
package/lib/terraform-output.js
CHANGED
|
@@ -6,9 +6,12 @@ const terraform_element_1 = require("./terraform-element");
|
|
|
6
6
|
const util_1 = require("./util");
|
|
7
7
|
const tokens_1 = require("./tokens");
|
|
8
8
|
const TERRAFORM_OUTPUT_SYMBOL = Symbol.for("cdktf/TerraformOutput");
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* A Terraform output value (`output` block): exposes a value from the stack after apply, for display or for use by
|
|
11
|
+
* other stacks and tools.
|
|
12
|
+
*/
|
|
10
13
|
class TerraformOutput extends terraform_element_1.TerraformElement {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformOutput", version: "0.26.0-pre.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformOutput", version: "0.26.0-pre.21" };
|
|
12
15
|
value;
|
|
13
16
|
description;
|
|
14
17
|
sensitive;
|
|
@@ -139,4 +142,4 @@ class TerraformOutput extends terraform_element_1.TerraformElement {
|
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
144
|
exports.TerraformOutput = TerraformOutput;
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBSW5DLHFDQUFpQztBQUdqQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQWlCcEUsK0NBQStDO0FBQy9DLE1BQWEsZUFBZ0IsU0FBUSxvQ0FBZ0I7O0lBQzVDLEtBQUssQ0FBcUM7SUFDMUMsV0FBVyxDQUFVO0lBQ3JCLFNBQVMsQ0FBVztJQUNwQixTQUFTLENBQTBCO0lBQ25DLFlBQVksQ0FBZ0I7SUFFbkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBTTtRQUNwQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHVC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M0IsSUFBSSxDQUFDLFlBQVksQ0FDbEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDdkM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7QUEvSkgsMENBZ0tDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWRlcGVuZGFibGVcIjtcbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgUHJlY29uZGl0aW9uIH0gZnJvbSBcIi4vdGVycmFmb3JtLWNvbmRpdGlvbnNcIjtcblxuY29uc3QgVEVSUkFGT1JNX09VVFBVVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtT3V0cHV0XCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU91dHB1dENvbmZpZyB7XG4gIHJlYWRvbmx5IHZhbHVlOiBFeHByZXNzaW9uIHwgSVRlcnJhZm9ybURlcGVuZGFibGU7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBzZW5zaXRpdmU/OiBib29sZWFuO1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUgdGhlIHN5bnRoZXNpemVkIFRlcnJhZm9ybSBPdXRwdXQgd2lsbCBiZSBuYW1lZCBhZnRlciB0aGUgYGlkYFxuICAgKiBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgKFRlcnJhZm9ybU91dHB1dC5mcmllbmRseVVuaXF1ZUlkKVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljSWQ/OiBib29sZWFuO1xuICByZWFkb25seSBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb247XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtT3V0cHV0IGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudCB7XG4gIHB1YmxpYyB2YWx1ZTogRXhwcmVzc2lvbiB8IElUZXJyYWZvcm1BZGRyZXNzYWJsZTtcbiAgcHVibGljIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgc2Vuc2l0aXZlPzogYm9vbGVhbjtcbiAgcHVibGljIGRlcGVuZHNPbj86IElUZXJyYWZvcm1EZXBlbmRhYmxlW107XG4gIHB1YmxpYyBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1PdXRwdXRDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY29uZmlnLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuc2Vuc2l0aXZlID0gY29uZmlnLnNlbnNpdGl2ZTtcbiAgICB0aGlzLmRlcGVuZHNPbiA9IGNvbmZpZy5kZXBlbmRzT247XG4gICAgdGhpcy5zdGF0aWNJZCA9IGNvbmZpZy5zdGF0aWNJZCB8fCBmYWxzZTtcbiAgICB0aGlzLnByZWNvbmRpdGlvbiA9IGNvbmZpZy5wcmVjb25kaXRpb247XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybU91dHB1dCh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybU91dHB1dCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX09VVFBVVF9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc3RhdGljSWQoc3RhdGljSWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdGljSWQpIHRoaXMub3ZlcnJpZGVMb2dpY2FsSWQodGhpcy5ub2RlLmlkKTtcbiAgICBlbHNlIHRoaXMucmVzZXRPdmVycmlkZUxvZ2ljYWxJZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0aWNJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mcmllbmRseVVuaXF1ZUlkID09PSB0aGlzLm5vZGUuaWQ7XG4gIH1cblxuICBwcml2YXRlIGlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKFxuICAgIG9iamVjdDogYW55LFxuICApOiBvYmplY3QgaXMgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIHtcbiAgICByZXR1cm4gKFxuICAgICAgb2JqZWN0ICYmXG4gICAgICB0eXBlb2Ygb2JqZWN0ID09PSBcIm9iamVjdFwiICYmXG4gICAgICAhQXJyYXkuaXNBcnJheShvYmplY3QpICYmXG4gICAgICBcImZxblwiIGluIG9iamVjdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN5bnRoZXNpemVWYWx1ZShhcmc6IGFueSk6IGFueSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcuZnFuO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcubWFwKChpbm5lckFyZykgPT4gdGhpcy5zeW50aGVzaXplVmFsdWUoaW5uZXJBcmcpKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGFyZyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFyZykucmVkdWNlKFxuICAgICAgICAocmVzdWx0LCBrZXkpID0+IHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMuc3ludGhlc2l6ZVZhbHVlKGFyZ1trZXldKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJnO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW50aGVzaXplUHJlY29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnByZWNvbmRpdGlvblxuICAgICAgPyBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29uZGl0aW9uOiB0aGlzLnByZWNvbmRpdGlvbi5jb25kaXRpb24sXG4gICAgICAgICAgICBlcnJvcl9tZXNzYWdlOiB0aGlzLnByZWNvbmRpdGlvbi5lcnJvck1lc3NhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiB0aGlzLnN5bnRoZXNpemVWYWx1ZSh0aGlzLnZhbHVlKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgc2Vuc2l0aXZlOiB0aGlzLnNlbnNpdGl2ZSxcbiAgICAgIGRlcGVuZHNfb246IHRoaXMuZGVwZW5kc09uPy5tYXAoKHJlc291cmNlKSA9PiByZXNvdXJjZS5mcW4pLFxuICAgICAgcHJlY29uZGl0aW9uOiB0aGlzLnN5bnRoZXNpemVQcmVjb25kaXRpb24oKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuc3ludGhlc2l6ZVZhbHVlKHRoaXMudmFsdWUpLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHNlbnNpdGl2ZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbnNpdGl2ZSxcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbFwiLFxuICAgICAgICB9LFxuICAgICAgICBkZXBlbmRzX29uOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGVwZW5kc09uPy5tYXAoKHJlc291cmNlKSA9PiByZXNvdXJjZS5mcW4pLFxuICAgICAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nTGlzdFwiLFxuICAgICAgICB9LFxuICAgICAgICBwcmVjb25kaXRpb246IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5zeW50aGVzaXplUHJlY29uZGl0aW9uKCksXG4gICAgICAgICAgdHlwZTogXCJsaXN0XCIsXG4gICAgICAgICAgaXNCbG9jazogdHJ1ZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIm9iamVjdExpc3RcIixcbiAgICAgICAgfSxcbiAgICAgIH0pLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGRlZXBNZXJnZShcbiAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgb3V0cHV0OiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBSW5DLHFDQUFpQztBQUdqQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQWlCcEU7OztHQUdHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLG9DQUFnQjs7SUFDNUMsS0FBSyxDQUFxQztJQUMxQyxXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFXO0lBQ3BCLFNBQVMsQ0FBMEI7SUFDbkMsWUFBWSxDQUFnQjtJQUVuQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFNO1FBQ3BDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksdUJB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QixJQUFJLENBQUMsWUFBWSxDQUNsQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUN2QztTQUNGLENBQUM7SUFDSixDQUFDOztBQS9KSCwwQ0FnS0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybURlcGVuZGFibGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZGVwZW5kYWJsZVwiO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtQWRkcmVzc2FibGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tYWRkcmVzc2FibGVcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBQcmVjb25kaXRpb24gfSBmcm9tIFwiLi90ZXJyYWZvcm0tY29uZGl0aW9uc1wiO1xuXG5jb25zdCBURVJSQUZPUk1fT1VUUFVUX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1PdXRwdXRcIik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtT3V0cHV0Q29uZmlnIHtcbiAgcmVhZG9ubHkgdmFsdWU6IEV4cHJlc3Npb24gfCBJVGVycmFmb3JtRGVwZW5kYWJsZTtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlbnNpdGl2ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRlcGVuZHNPbj86IElUZXJyYWZvcm1EZXBlbmRhYmxlW107XG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSB0aGUgc3ludGhlc2l6ZWQgVGVycmFmb3JtIE91dHB1dCB3aWxsIGJlIG5hbWVkIGFmdGVyIHRoZSBgaWRgXG4gICAqIHBhc3NlZCB0byB0aGUgY29uc3RydWN0b3IgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAoVGVycmFmb3JtT3V0cHV0LmZyaWVuZGx5VW5pcXVlSWQpXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGF0aWNJZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHByZWNvbmRpdGlvbj86IFByZWNvbmRpdGlvbjtcbn1cblxuLyoqXG4gKiBBIFRlcnJhZm9ybSBvdXRwdXQgdmFsdWUgKGBvdXRwdXRgIGJsb2NrKTogZXhwb3NlcyBhIHZhbHVlIGZyb20gdGhlIHN0YWNrIGFmdGVyIGFwcGx5LCBmb3IgZGlzcGxheSBvciBmb3IgdXNlIGJ5XG4gKiBvdGhlciBzdGFja3MgYW5kIHRvb2xzLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtT3V0cHV0IGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudCB7XG4gIHB1YmxpYyB2YWx1ZTogRXhwcmVzc2lvbiB8IElUZXJyYWZvcm1BZGRyZXNzYWJsZTtcbiAgcHVibGljIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgc2Vuc2l0aXZlPzogYm9vbGVhbjtcbiAgcHVibGljIGRlcGVuZHNPbj86IElUZXJyYWZvcm1EZXBlbmRhYmxlW107XG4gIHB1YmxpYyBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1PdXRwdXRDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY29uZmlnLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuc2Vuc2l0aXZlID0gY29uZmlnLnNlbnNpdGl2ZTtcbiAgICB0aGlzLmRlcGVuZHNPbiA9IGNvbmZpZy5kZXBlbmRzT247XG4gICAgdGhpcy5zdGF0aWNJZCA9IGNvbmZpZy5zdGF0aWNJZCB8fCBmYWxzZTtcbiAgICB0aGlzLnByZWNvbmRpdGlvbiA9IGNvbmZpZy5wcmVjb25kaXRpb247XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybU91dHB1dCh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybU91dHB1dCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX09VVFBVVF9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc3RhdGljSWQoc3RhdGljSWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdGljSWQpIHRoaXMub3ZlcnJpZGVMb2dpY2FsSWQodGhpcy5ub2RlLmlkKTtcbiAgICBlbHNlIHRoaXMucmVzZXRPdmVycmlkZUxvZ2ljYWxJZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0aWNJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mcmllbmRseVVuaXF1ZUlkID09PSB0aGlzLm5vZGUuaWQ7XG4gIH1cblxuICBwcml2YXRlIGlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKFxuICAgIG9iamVjdDogYW55LFxuICApOiBvYmplY3QgaXMgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIHtcbiAgICByZXR1cm4gKFxuICAgICAgb2JqZWN0ICYmXG4gICAgICB0eXBlb2Ygb2JqZWN0ID09PSBcIm9iamVjdFwiICYmXG4gICAgICAhQXJyYXkuaXNBcnJheShvYmplY3QpICYmXG4gICAgICBcImZxblwiIGluIG9iamVjdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN5bnRoZXNpemVWYWx1ZShhcmc6IGFueSk6IGFueSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcuZnFuO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcubWFwKChpbm5lckFyZykgPT4gdGhpcy5zeW50aGVzaXplVmFsdWUoaW5uZXJBcmcpKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGFyZyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFyZykucmVkdWNlKFxuICAgICAgICAocmVzdWx0LCBrZXkpID0+IHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMuc3ludGhlc2l6ZVZhbHVlKGFyZ1trZXldKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJnO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW50aGVzaXplUHJlY29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnByZWNvbmRpdGlvblxuICAgICAgPyBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29uZGl0aW9uOiB0aGlzLnByZWNvbmRpdGlvbi5jb25kaXRpb24sXG4gICAgICAgICAgICBlcnJvcl9tZXNzYWdlOiB0aGlzLnByZWNvbmRpdGlvbi5lcnJvck1lc3NhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiB0aGlzLnN5bnRoZXNpemVWYWx1ZSh0aGlzLnZhbHVlKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgc2Vuc2l0aXZlOiB0aGlzLnNlbnNpdGl2ZSxcbiAgICAgIGRlcGVuZHNfb246IHRoaXMuZGVwZW5kc09uPy5tYXAoKHJlc291cmNlKSA9PiByZXNvdXJjZS5mcW4pLFxuICAgICAgcHJlY29uZGl0aW9uOiB0aGlzLnN5bnRoZXNpemVQcmVjb25kaXRpb24oKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuc3ludGhlc2l6ZVZhbHVlKHRoaXMudmFsdWUpLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHNlbnNpdGl2ZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbnNpdGl2ZSxcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbFwiLFxuICAgICAgICB9LFxuICAgICAgICBkZXBlbmRzX29uOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGVwZW5kc09uPy5tYXAoKHJlc291cmNlKSA9PiByZXNvdXJjZS5mcW4pLFxuICAgICAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nTGlzdFwiLFxuICAgICAgICB9LFxuICAgICAgICBwcmVjb25kaXRpb246IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5zeW50aGVzaXplUHJlY29uZGl0aW9uKCksXG4gICAgICAgICAgdHlwZTogXCJsaXN0XCIsXG4gICAgICAgICAgaXNCbG9jazogdHJ1ZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIm9iamVjdExpc3RcIixcbiAgICAgICAgfSxcbiAgICAgIH0pLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGRlZXBNZXJnZShcbiAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgb3V0cHV0OiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,10 @@ export interface TerraformProviderConfig {
|
|
|
6
6
|
readonly terraformGeneratorMetadata?: TerraformProviderGeneratorMetadata;
|
|
7
7
|
readonly terraformProviderSource?: string;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Base class for a Terraform provider configuration (`provider` block), which configures the plugin that manages a
|
|
11
|
+
* set of resource and data source types. Also declares the provider in `required_providers`.
|
|
12
|
+
*/
|
|
9
13
|
export declare abstract class TerraformProvider extends TerraformElement {
|
|
10
14
|
readonly terraformResourceType: string;
|
|
11
15
|
readonly terraformGeneratorMetadata?: TerraformProviderGeneratorMetadata;
|
|
@@ -6,9 +6,12 @@ const tokens_1 = require("./tokens");
|
|
|
6
6
|
const terraform_element_1 = require("./terraform-element");
|
|
7
7
|
const util_1 = require("./util");
|
|
8
8
|
const TERRAFORM_PROVIDER_SYMBOL = Symbol.for("cdktf/TerraformProvider");
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Base class for a Terraform provider configuration (`provider` block), which configures the plugin that manages a
|
|
11
|
+
* set of resource and data source types. Also declares the provider in `required_providers`.
|
|
12
|
+
*/
|
|
10
13
|
class TerraformProvider extends terraform_element_1.TerraformElement {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformProvider", version: "0.26.0-pre.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformProvider", version: "0.26.0-pre.21" };
|
|
12
15
|
terraformResourceType;
|
|
13
16
|
terraformGeneratorMetadata;
|
|
14
17
|
terraformProviderSource;
|
|
@@ -95,4 +98,4 @@ class TerraformProvider extends terraform_element_1.TerraformElement {
|
|
|
95
98
|
}
|
|
96
99
|
}
|
|
97
100
|
exports.TerraformProvider = TerraformProvider;
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EscUNBQWlDO0FBQ2pDLDJEQUF1RDtBQUV2RCxpQ0FLZ0I7QUFFaEIsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFReEU7OztHQUdHO0FBQ0gsTUFBc0IsaUJBQWtCLFNBQVEsb0NBQWdCOztJQUM5QyxxQkFBcUIsQ0FBUztJQUM5QiwwQkFBMEIsQ0FBc0M7SUFDaEUsdUJBQXVCLENBQVU7SUFFakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFeEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztRQUMxRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1FBQ3BFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUM7SUFDaEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFNO1FBQ3RDLE9BQU8sQ0FDTCxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsNkNBQTZDO1FBQzdDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxNQUEwQjtRQUN6Qyw2Q0FBNkM7SUFDL0MsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQzdCLENBQUMsQ0FBQyxjQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvRCxDQUFDLENBQUMsY0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsc0NBQXNDO0lBQzVCLG9CQUFvQjtRQUM1QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULGtCQUFrQixFQUFFO29CQUNsQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO3dCQUM1QixPQUFPLEVBQ0wsSUFBSSxDQUFDLDBCQUEwQixFQUFFLGVBQWU7NEJBQ2hELElBQUksQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSwwQ0FBMEM7d0JBQ3hHLE1BQU0sRUFBRSxJQUFJLENBQUMsdUJBQXVCO3FCQUNyQztpQkFDRjthQUNGO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7b0JBQzVCLElBQUEsZ0JBQVMsRUFDUCxJQUFBLHNCQUFlLEVBQ2IsSUFBQSxxQ0FBOEIsRUFBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUMvRCxFQUNELElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxjQUFjLENBQ3BCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULGtCQUFrQixFQUFFO29CQUNsQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO3dCQUM1QixPQUFPLEVBQ0wsSUFBSSxDQUFDLDBCQUEwQixFQUFFLGVBQWU7NEJBQ2hELElBQUksQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSwwQ0FBMEM7d0JBQ3hHLE1BQU0sRUFBRSxJQUFJLENBQUMsdUJBQXVCO3FCQUNyQztpQkFDRjthQUNGO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7b0JBQzVCLElBQUEsZ0JBQVMsRUFDUCxJQUFBLHNCQUFlLEVBQ2IsSUFBQSwrQkFBd0IsRUFBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUN0RCxFQUNELElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxjQUFjLENBQ3BCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUM3RDtTQUNGLENBQUM7SUFDSixDQUFDOztBQWhISCw4Q0FpSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGEgfSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbmltcG9ydCB7XG4gIGtleXNUb1NuYWtlQ2FzZSxcbiAgZGVlcE1lcmdlLFxuICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCxcbn0gZnJvbSBcIi4vdXRpbFwiO1xuXG5jb25zdCBURVJSQUZPUk1fUFJPVklERVJfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybVByb3ZpZGVyXCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVByb3ZpZGVyQ29uZmlnIHtcbiAgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPzogVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YTtcbiAgcmVhZG9ubHkgdGVycmFmb3JtUHJvdmlkZXJTb3VyY2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYSBUZXJyYWZvcm0gcHJvdmlkZXIgY29uZmlndXJhdGlvbiAoYHByb3ZpZGVyYCBibG9jayksIHdoaWNoIGNvbmZpZ3VyZXMgdGhlIHBsdWdpbiB0aGF0IG1hbmFnZXMgYVxuICogc2V0IG9mIHJlc291cmNlIGFuZCBkYXRhIHNvdXJjZSB0eXBlcy4gQWxzbyBkZWNsYXJlcyB0aGUgcHJvdmlkZXIgaW4gYHJlcXVpcmVkX3Byb3ZpZGVyc2AuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXJyYWZvcm1Qcm92aWRlciBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT86IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGE7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1Qcm92aWRlclNvdXJjZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IFRlcnJhZm9ybVByb3ZpZGVyQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgVEVSUkFGT1JNX1BST1ZJREVSX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlID0gY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZTtcbiAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhID0gY29uZmlnLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhO1xuICAgIHRoaXMudGVycmFmb3JtUHJvdmlkZXJTb3VyY2UgPSBjb25maWcudGVycmFmb3JtUHJvdmlkZXJTb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtUHJvdmlkZXIoeDogYW55KTogeCBpcyBUZXJyYWZvcm1Qcm92aWRlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX1BST1ZJREVSX1NZTUJPTCBpbiB4XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxpYXMoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBUaGlzIGlzIGFsd2F5cyogYmVpbmcgb3ZlcnJpZGRlbiBjdXJyZW50bHlcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldCBhbGlhcyhfdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIC8vIFRoaXMgaXMgYWx3YXlzKiBiZWluZyBvdmVycmlkZGVuIGN1cnJlbnRseVxuICB9XG5cbiAgcHVibGljIGdldCBmcW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGlhcyAhPT0gdW5kZWZpbmVkXG4gICAgICA/IFRva2VuLmFzU3RyaW5nKGAke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuYWxpYXN9YClcbiAgICAgIDogVG9rZW4uYXNTdHJpbmcoYCR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9YCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1ldGFBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gdGhpcy5hbGlhcyAhPT0gdW5kZWZpbmVkID8geyBhbGlhczogdGhpcy5hbGlhcyB9IDoge307XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRlcnJhZm9ybToge1xuICAgICAgICByZXF1aXJlZF9wcm92aWRlcnM6IHtcbiAgICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgICB2ZXJzaW9uOlxuICAgICAgICAgICAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPy5wcm92aWRlclZlcnNpb24gfHxcbiAgICAgICAgICAgICAgdGhpcy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT8ucHJvdmlkZXJWZXJzaW9uQ29uc3RyYWludCwgLy8gZmFsbGJhY2sgdG8gcHJldmlvdXMgdG8gZWFzZSB0cmFuc2l0aW9uXG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMudGVycmFmb3JtUHJvdmlkZXJTb3VyY2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjoge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiBbXG4gICAgICAgICAgZGVlcE1lcmdlKFxuICAgICAgICAgICAga2V5c1RvU25ha2VDYXNlKFxuICAgICAgICAgICAgICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXNGb3JIY2wodGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgICAgIHRoaXMubWV0YUF0dHJpYnV0ZXMsXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXJyYWZvcm06IHtcbiAgICAgICAgcmVxdWlyZWRfcHJvdmlkZXJzOiB7XG4gICAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgICAgdmVyc2lvbjpcbiAgICAgICAgICAgICAgdGhpcy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT8ucHJvdmlkZXJWZXJzaW9uIHx8XG4gICAgICAgICAgICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/LnByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQsIC8vIGZhbGxiYWNrIHRvIHByZXZpb3VzIHRvIGVhc2UgdHJhbnNpdGlvblxuICAgICAgICAgICAgc291cmNlOiB0aGlzLnRlcnJhZm9ybVByb3ZpZGVyU291cmNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogW1xuICAgICAgICAgIGRlZXBNZXJnZShcbiAgICAgICAgICAgIGtleXNUb1NuYWtlQ2FzZShcbiAgICAgICAgICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzKHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgICB0aGlzLm1ldGFBdHRyaWJ1dGVzLFxuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -14,7 +14,7 @@ const util_1 = require("./util");
|
|
|
14
14
|
* For example, use self.public_ip to reference an aws_instance's public_ip attribute.
|
|
15
15
|
*/
|
|
16
16
|
class TerraformSelf {
|
|
17
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformSelf", version: "0.26.0-pre.
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformSelf", version: "0.26.0-pre.21" };
|
|
18
18
|
static getInterpolation(key) {
|
|
19
19
|
return `self.${key
|
|
20
20
|
.split(".")
|
|
@@ -8,6 +8,9 @@ export interface DataTerraformRemoteStateConfig {
|
|
|
8
8
|
[key: string]: any;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Base class for `terraform_remote_state` data sources, which read the outputs of another Terraform state.
|
|
13
|
+
*/
|
|
11
14
|
export declare abstract class TerraformRemoteState extends TerraformElement implements ITerraformAddressable {
|
|
12
15
|
private readonly backend;
|
|
13
16
|
private readonly config;
|