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
package/lib/terraform-backend.js
CHANGED
|
@@ -5,10 +5,12 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
5
5
|
const terraform_element_1 = require("./terraform-element");
|
|
6
6
|
const util_1 = require("./util");
|
|
7
7
|
const BACKEND_SYMBOL = Symbol.for("cdktf/TerraformBackend");
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Base class for backends, which synthesize the `terraform.backend` block that sets where a stack stores its state.
|
|
10
|
+
*/
|
|
9
11
|
class TerraformBackend extends terraform_element_1.TerraformElement {
|
|
10
12
|
name;
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformBackend", version: "0.26.0-pre.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformBackend", version: "0.26.0-pre.21" };
|
|
12
14
|
constructor(scope, id, name) {
|
|
13
15
|
super(scope, id);
|
|
14
16
|
this.name = name;
|
|
@@ -55,4 +57,4 @@ class TerraformBackend extends terraform_element_1.TerraformElement {
|
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
exports.TerraformBackend = TerraformBackend;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWJhY2tlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWJhY2tlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLDJEQUF1RDtBQUN2RCxpQ0FBbUM7QUFFbkMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBRTVEOztHQUVHO0FBQ0gsTUFBc0IsZ0JBQWlCLFNBQVEsb0NBQWdCO0lBSXhDOztJQUhyQixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDUyxJQUFZO1FBRS9CLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFGRSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBRy9CLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQU07UUFDNUIsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxjQUFjLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxzQ0FBc0M7SUFDNUIsb0JBQW9CO1FBQzVCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVTLHVCQUF1QjtRQUMvQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFXTSxjQUFjO1FBQ25CLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFO29CQUNQLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDcEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQzlCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRTtvQkFDUCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFBLGdCQUFTLEVBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUMzQixJQUFJLENBQUMsWUFBWSxDQUNsQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNsQixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFO2dCQUM1RCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQztJQUNKLENBQUM7O0FBcEVILDRDQXFFQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtUmVtb3RlU3RhdGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVtb3RlLXN0YXRlXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuL3V0aWxcIjtcblxuY29uc3QgQkFDS0VORF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtQmFja2VuZFwiKTtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBiYWNrZW5kcywgd2hpY2ggc3ludGhlc2l6ZSB0aGUgYHRlcnJhZm9ybS5iYWNrZW5kYCBibG9jayB0aGF0IHNldHMgd2hlcmUgYSBzdGFjayBzdG9yZXMgaXRzIHN0YXRlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVycmFmb3JtQmFja2VuZCBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgQkFDS0VORF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzQmFja2VuZCh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybUJhY2tlbmQge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIEJBQ0tFTkRfU1lNQk9MIGluIHg7XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBUZXJyYWZvcm1SZW1vdGVTdGF0ZSByZXNvdXJjZSB0aGF0IGFjY2Vzc2VzIHRoaXMgYmFja2VuZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRSZW1vdGVTdGF0ZURhdGFTb3VyY2UoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgZnJvbVN0YWNrOiBzdHJpbmcsXG4gICk6IFRlcnJhZm9ybVJlbW90ZVN0YXRlO1xuXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXJyYWZvcm06IHtcbiAgICAgICAgYmFja2VuZDoge1xuICAgICAgICAgIFt0aGlzLm5hbWVdOiBkZWVwTWVyZ2UoXG4gICAgICAgICAgICB0aGlzLnN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyByZXNvdXJjZSB0byB0aGUgdGVycmFmb3JtIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRlcnJhZm9ybToge1xuICAgICAgICBiYWNrZW5kOiB7XG4gICAgICAgICAgW3RoaXMubmFtZV06IGRlZXBNZXJnZShcbiAgICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBiYWNrZW5kOiB0aGlzLm5hbWUsXG4gICAgICAuLi4oT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCA+IDBcbiAgICAgICAgPyB7IG92ZXJyaWRlczogeyBiYWNrZW5kOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykgfSB9XG4gICAgICAgIDoge30pLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
* Copyright (c) HashiCorp, Inc.
|
|
4
4
|
* SPDX-License-Identifier: MPL-2.0
|
|
5
5
|
*/
|
|
6
|
-
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
7
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWNvbmRpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWNvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUNvbmRpdGlvbiB7XG4gIC8qKlxuICAgKiAgVGhpcyBpcyBhIGJvb2xlYW4gZXhwcmVzc2lvbiB0aGF0IHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGUgaW50ZW5kZWQgYXNzdW1wdGlvbiBvciBndWFyYW50ZWUgaXMgZnVsZmlsbGVkIG9yIGZhbHNlIGlmIGl0IGRvZXMgbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uOiBFeHByZXNzaW9uO1xuICAvKipcbiAgICogVGhpcyBjb250YWlucyB0aGUgdGV4dCB0aGF0IFRlcnJhZm9ybSB3aWxsIGluY2x1ZGUgYXMgcGFydCBvZiBlcnJvciBtZXNzYWdlcyB3aGVuIGl0IGRldGVjdHMgYW4gdW5tZXQgY29uZGl0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGVycmFmb3JtIGNoZWNrcyBhIHByZWNvbmRpdGlvbiBiZWZvcmUgZXZhbHVhdGluZyB0aGUgb2JqZWN0IGl0IGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVjb25kaXRpb24gZXh0ZW5kcyBUZXJyYWZvcm1Db25kaXRpb24ge31cblxuLyoqXG4gKiBUZXJyYWZvcm0gY2hlY2tzIGEgcG9zdGNvbmRpdGlvbiBhZnRlciBldmFsdWF0aW5nIHRoZSBvYmplY3QgaXQgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvc3Rjb25kaXRpb24gZXh0ZW5kcyBUZXJyYWZvcm1Db25kaXRpb24ge31cblxuLyoqXG4gKiBBZGQgb25lIG9yIG1vcmUgdmFsaWRhdGlvbiBibG9ja3Mgd2l0aGluIHRoZSB2YXJpYWJsZSBibG9jayB0byBzcGVjaWZ5IGN1c3RvbSBjb25kaXRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtVmFyaWFibGVWYWxpZGF0aW9uQ29uZmlnIGV4dGVuZHMgVGVycmFmb3JtQ29uZGl0aW9uIHt9XG4iXX0=
|
package/lib/terraform-count.js
CHANGED
|
@@ -12,7 +12,7 @@ const COUNT_SYMBOL = Symbol.for("cdktf/TerraformCount");
|
|
|
12
12
|
*/
|
|
13
13
|
class TerraformCount {
|
|
14
14
|
count;
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformCount", version: "0.26.0-pre.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformCount", version: "0.26.0-pre.21" };
|
|
16
16
|
static of(count) {
|
|
17
17
|
return new TerraformCount(count);
|
|
18
18
|
}
|
|
@@ -19,7 +19,7 @@ const runtime_1 = require("./runtime");
|
|
|
19
19
|
* https://developer.hashicorp.com/terraform/language/resources/terraform-data
|
|
20
20
|
*/
|
|
21
21
|
class DataResource extends terraform_resource_1.TerraformResource {
|
|
22
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataResource", version: "0.26.0-pre.
|
|
22
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataResource", version: "0.26.0-pre.21" };
|
|
23
23
|
// =================
|
|
24
24
|
// STATIC PROPERTIES
|
|
25
25
|
// =================
|
|
@@ -6,6 +6,10 @@ import { ITerraformDependable } from "./terraform-dependable";
|
|
|
6
6
|
import { IInterpolatingParent } from "./terraform-addressable";
|
|
7
7
|
import { ITerraformIterator } from "./terraform-iterator";
|
|
8
8
|
import { TerraformCount } from "./terraform-count";
|
|
9
|
+
/**
|
|
10
|
+
* A Terraform data source (`data` block): reads information from a provider about infrastructure defined outside
|
|
11
|
+
* this configuration, for use elsewhere in the stack.
|
|
12
|
+
*/
|
|
9
13
|
export declare class TerraformDataSource extends TerraformElement implements ITerraformResource, ITerraformDependable, IInterpolatingParent {
|
|
10
14
|
readonly terraformResourceType: string;
|
|
11
15
|
readonly terraformGeneratorMetadata?: TerraformProviderGeneratorMetadata;
|
|
@@ -8,12 +8,14 @@ const terraform_resource_1 = require("./terraform-resource");
|
|
|
8
8
|
const util_1 = require("./util");
|
|
9
9
|
const tfExpression_1 = require("./tfExpression");
|
|
10
10
|
const terraform_count_1 = require("./terraform-count");
|
|
11
|
-
|
|
12
|
-
const assert = require("assert");
|
|
11
|
+
const assert_1 = require("assert");
|
|
13
12
|
const TERRAFORM_DATA_SOURCE_SYMBOL = Symbol.for("cdktf/TerraformDataSource");
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* A Terraform data source (`data` block): reads information from a provider about infrastructure defined outside
|
|
15
|
+
* this configuration, for use elsewhere in the stack.
|
|
16
|
+
*/
|
|
15
17
|
class TerraformDataSource extends terraform_element_1.TerraformElement {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformDataSource", version: "0.26.0-pre.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformDataSource", version: "0.26.0-pre.21" };
|
|
17
19
|
terraformResourceType;
|
|
18
20
|
terraformGeneratorMetadata;
|
|
19
21
|
// TerraformMetaArguments
|
|
@@ -66,7 +68,7 @@ class TerraformDataSource extends terraform_element_1.TerraformElement {
|
|
|
66
68
|
return tokens_1.Token.asAnyMap(this.interpolationForAttribute(terraformAttribute));
|
|
67
69
|
}
|
|
68
70
|
get terraformMetaArguments() {
|
|
69
|
-
|
|
71
|
+
(0, assert_1.ok)(!this.forEach || typeof this.count === "undefined", `forEach and count are both set, but they are mutually exclusive. You can only use either of them. Check the data source at path: ${this.node.path}`);
|
|
70
72
|
return {
|
|
71
73
|
dependsOn: this.dependsOn,
|
|
72
74
|
count: terraform_count_1.TerraformCount.isTerraformCount(this.count)
|
|
@@ -127,4 +129,4 @@ class TerraformDataSource extends terraform_element_1.TerraformElement {
|
|
|
127
129
|
}
|
|
128
130
|
}
|
|
129
131
|
exports.TerraformDataSource = TerraformDataSource;
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EscUNBQWlDO0FBQ2pDLDJEQUF1RDtBQUV2RCw2REFNOEI7QUFDOUIsaUNBS2dCO0FBRWhCLGlEQUFpRDtBQUdqRCx1REFBbUQ7QUFDbkQsaUVBQWlFO0FBQ2pFLGlDQUFrQztBQUVsQyxNQUFNLDRCQUE0QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUU3RSwrQ0FBK0M7QUFDL0MsTUFBYSxtQkFDWCxTQUFRLG9DQUFnQjs7SUFHUixxQkFBcUIsQ0FBUztJQUM5QiwwQkFBMEIsQ0FBc0M7SUFFaEYseUJBQXlCO0lBRWxCLFNBQVMsQ0FBWTtJQUNyQixLQUFLLENBQTJCO0lBQ2hDLFFBQVEsQ0FBcUI7SUFDN0IsU0FBUyxDQUE4QjtJQUN2QyxPQUFPLENBQXNCO0lBRXBDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLDRCQUE0QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztRQUMxRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1FBQ3BFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFF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LE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDN0Q7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLHlCQUF5QixDQUFDLGtCQUEwQjtRQUN6RCxPQUFPLElBQUEsa0JBQUcsRUFDUixRQUFRLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEdBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDeEIsSUFBSSxrQkFBa0IsRUFBRSxFQUN4QixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQzs7QUF4S0gsa0RBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YSxcbiAgVGVycmFmb3JtUmVzb3VyY2VDb25maWcsXG4gIFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlLFxuICBJVGVycmFmb3JtUmVzb3VyY2UsXG4gIGxpZmVjeWNsZVRvVGVycmFmb3JtLFxufSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbmltcG9ydCB7XG4gIGtleXNUb1NuYWtlQ2FzZSxcbiAgZGVlcE1lcmdlLFxuICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCxcbn0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybURlcGVuZGFibGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZGVwZW5kYWJsZVwiO1xuaW1wb3J0IHsgcmVmLCBkZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJSW50ZXJwb2xhdGluZ1BhcmVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybUl0ZXJhdG9yIH0gZnJvbSBcIi4vdGVycmFmb3JtLWl0ZXJhdG9yXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Db3VudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb3VudFwiO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbmltcG9ydCBhc3NlcnQgPSByZXF1aXJlKFwiYXNzZXJ0XCIpO1xuXG5jb25zdCBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybURhdGFTb3VyY2VcIik7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRGF0YVNvdXJjZVxuICBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnRcbiAgaW1wbGVtZW50cyBJVGVycmFmb3JtUmVzb3VyY2UsIElUZXJyYWZvcm1EZXBlbmRhYmxlLCBJSW50ZXJwb2xhdGluZ1BhcmVudFxue1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT86IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGE7XG5cbiAgLy8gVGVycmFmb3JtTWV0YUFyZ3VtZW50c1xuXG4gIHB1YmxpYyBkZXBlbmRzT24/OiBzdHJpbmdbXTtcbiAgcHVibGljIGNvdW50PzogbnVtYmVyIHwgVGVycmFmb3JtQ291bnQ7XG4gIHB1YmxpYyBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICBwdWJsaWMgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIHB1YmxpYyBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogVGVycmFmb3JtUmVzb3VyY2VDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIGBkYXRhLiR7Y29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZX1gKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgVEVSUkFGT1JNX0RBVEFfU09VUkNFX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlID0gY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZTtcbiAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhID0gY29uZmlnLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZy5kZXBlbmRzT24pKSB7XG4gICAgICB0aGlzLmRlcGVuZHNPbiA9IGNvbmZpZy5kZXBlbmRzT24ubWFwKChkZXBlbmRlbmN5KSA9PlxuICAgICAgICBkZXBlbmRhYmxlKGRlcGVuZGVuY3kpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jb3VudCA9IGNvbmZpZy5jb3VudDtcbiAgICB0aGlzLnByb3ZpZGVyID0gY29uZmlnLnByb3ZpZGVyO1xuICAgIHRoaXMubGlmZWN5Y2xlID0gY29uZmlnLmxpZmVjeWNsZTtcbiAgICB0aGlzLmZvckVhY2ggPSBjb25maWcuZm9yRWFjaDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1EYXRhU291cmNlKHg6IGFueSk6IHggaXMgVGVycmFmb3JtRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX0RBVEFfU09VUkNFX1NZTUJPTCBpbiB4XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHJpbmdBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcih0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc0xpc3QodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEJvb2xlYW5BdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyTGlzdEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlckxpc3QoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZ01hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZ01hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCb29sZWFuTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQm9vbGVhbk1hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QW55TWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGVycmFmb3JtTWV0YUFyZ3VtZW50cygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgYXNzZXJ0KFxuICAgICAgIXRoaXMuZm9yRWFjaCB8fCB0eXBlb2YgdGhpcy5jb3VudCA9PT0gXCJ1bmRlZmluZWRcIixcbiAgICAgIGBmb3JFYWNoIGFuZCBjb3VudCBhcmUgYm90aCBzZXQsIGJ1dCB0aGV5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIFlvdSBjYW4gb25seSB1c2UgZWl0aGVyIG9mIHRoZW0uIENoZWNrIHRoZSBkYXRhIHNvdXJjZSBhdCBwYXRoOiAke3RoaXMubm9kZS5wYXRofWAsXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IFRlcnJhZm9ybUNvdW50LmlzVGVycmFmb3JtQ291bnQodGhpcy5jb3VudClcbiAgICAgICAgPyB0aGlzLmNvdW50LnRvVGVycmFmb3JtKClcbiAgICAgICAgOiB0aGlzLmNvdW50LFxuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXI/LmZxbixcbiAgICAgIGxpZmVjeWNsZTogbGlmZWN5Y2xlVG9UZXJyYWZvcm0odGhpcy5saWZlY3ljbGUpLFxuICAgICAgZm9yRWFjaDogdGhpcy5mb3JFYWNoPy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKSxcbiAgICB9O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBkZWVwTWVyZ2UoXG4gICAgICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXNGb3JIY2wodGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpKSxcbiAgICAgIGtleXNUb1NuYWtlQ2FzZSh0aGlzLnRlcnJhZm9ybU1ldGFBcmd1bWVudHMpLFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHRoaXMuY29uc3RydWN0Tm9kZU1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBhdHRyaWJ1dGVzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyByZXNvdXJjZSB0byB0aGUgdGVycmFmb3JtIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyh0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCkpLFxuICAgICAga2V5c1RvU25ha2VDYXNlKHRoaXMudGVycmFmb3JtTWV0YUFyZ3VtZW50cyksXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YToge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGF0dHJpYnV0ZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlZihcbiAgICAgIGBkYXRhLiR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfSR7XG4gICAgICAgIHRoaXMuZm9yRWFjaCA/IFwiLipcIiA6IFwiXCJcbiAgICAgIH0uJHt0ZXJyYWZvcm1BdHRyaWJ1dGV9YCxcbiAgICAgIHRoaXMuY2RrdGZTdGFjayxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EscUNBQWlDO0FBQ2pDLDJEQUF1RDtBQUV2RCw2REFNOEI7QUFDOUIsaUNBS2dCO0FBRWhCLGlEQUFpRDtBQUdqRCx1REFBbUQ7QUFDbkQsbUNBQXNDO0FBRXRDLE1BQU0sNEJBQTRCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBRTdFOzs7R0FHRztBQUNILE1BQWEsbUJBQ1gsU0FBUSxvQ0FBZ0I7O0lBR1IscUJBQXFCLENBQVM7SUFDOUIsMEJBQTBCLENBQXNDO0lBRWhGLHlCQUF5QjtJQUVsQixTQUFTLENBQVk7SUFDckIsS0FBSyxDQUEyQjtJQUNoQyxRQUFRLENBQXFCO0lBQzdCLFNBQVMsQ0FBOEI7SUFDdkMsT0FBTyxDQUFzQjtJQUVwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSw0QkFBNEIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTNFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQztRQUNwRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ25ELElB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QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDN0Q7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLHlCQUF5QixDQUFDLGtCQUEwQjtRQUN6RCxPQUFPLElBQUEsa0JBQUcsRUFDUixRQUFRLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEdBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDeEIsSUFBSSxrQkFBa0IsRUFBRSxFQUN4QixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQzs7QUF4S0gsa0RBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YSxcbiAgVGVycmFmb3JtUmVzb3VyY2VDb25maWcsXG4gIFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlLFxuICBJVGVycmFmb3JtUmVzb3VyY2UsXG4gIGxpZmVjeWNsZVRvVGVycmFmb3JtLFxufSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbmltcG9ydCB7XG4gIGtleXNUb1NuYWtlQ2FzZSxcbiAgZGVlcE1lcmdlLFxuICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCxcbn0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybURlcGVuZGFibGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZGVwZW5kYWJsZVwiO1xuaW1wb3J0IHsgcmVmLCBkZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJSW50ZXJwb2xhdGluZ1BhcmVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybUl0ZXJhdG9yIH0gZnJvbSBcIi4vdGVycmFmb3JtLWl0ZXJhdG9yXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Db3VudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb3VudFwiO1xuaW1wb3J0IHsgb2sgYXMgYXNzZXJ0IH0gZnJvbSBcImFzc2VydFwiO1xuXG5jb25zdCBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybURhdGFTb3VyY2VcIik7XG5cbi8qKlxuICogQSBUZXJyYWZvcm0gZGF0YSBzb3VyY2UgKGBkYXRhYCBibG9jayk6IHJlYWRzIGluZm9ybWF0aW9uIGZyb20gYSBwcm92aWRlciBhYm91dCBpbmZyYXN0cnVjdHVyZSBkZWZpbmVkIG91dHNpZGVcbiAqIHRoaXMgY29uZmlndXJhdGlvbiwgZm9yIHVzZSBlbHNld2hlcmUgaW4gdGhlIHN0YWNrLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRGF0YVNvdXJjZVxuICBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnRcbiAgaW1wbGVtZW50cyBJVGVycmFmb3JtUmVzb3VyY2UsIElUZXJyYWZvcm1EZXBlbmRhYmxlLCBJSW50ZXJwb2xhdGluZ1BhcmVudFxue1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT86IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGE7XG5cbiAgLy8gVGVycmFmb3JtTWV0YUFyZ3VtZW50c1xuXG4gIHB1YmxpYyBkZXBlbmRzT24/OiBzdHJpbmdbXTtcbiAgcHVibGljIGNvdW50PzogbnVtYmVyIHwgVGVycmFmb3JtQ291bnQ7XG4gIHB1YmxpYyBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICBwdWJsaWMgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIHB1YmxpYyBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogVGVycmFmb3JtUmVzb3VyY2VDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIGBkYXRhLiR7Y29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZX1gKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgVEVSUkFGT1JNX0RBVEFfU09VUkNFX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlID0gY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZTtcbiAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhID0gY29uZmlnLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZy5kZXBlbmRzT24pKSB7XG4gICAgICB0aGlzLmRlcGVuZHNPbiA9IGNvbmZpZy5kZXBlbmRzT24ubWFwKChkZXBlbmRlbmN5KSA9PlxuICAgICAgICBkZXBlbmRhYmxlKGRlcGVuZGVuY3kpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jb3VudCA9IGNvbmZpZy5jb3VudDtcbiAgICB0aGlzLnByb3ZpZGVyID0gY29uZmlnLnByb3ZpZGVyO1xuICAgIHRoaXMubGlmZWN5Y2xlID0gY29uZmlnLmxpZmVjeWNsZTtcbiAgICB0aGlzLmZvckVhY2ggPSBjb25maWcuZm9yRWFjaDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1EYXRhU291cmNlKHg6IGFueSk6IHggaXMgVGVycmFmb3JtRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX0RBVEFfU09VUkNFX1NZTUJPTCBpbiB4XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHJpbmdBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcih0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc0xpc3QodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEJvb2xlYW5BdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyTGlzdEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlckxpc3QoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZ01hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZ01hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCb29sZWFuTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQm9vbGVhbk1hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QW55TWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGVycmFmb3JtTWV0YUFyZ3VtZW50cygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgYXNzZXJ0KFxuICAgICAgIXRoaXMuZm9yRWFjaCB8fCB0eXBlb2YgdGhpcy5jb3VudCA9PT0gXCJ1bmRlZmluZWRcIixcbiAgICAgIGBmb3JFYWNoIGFuZCBjb3VudCBhcmUgYm90aCBzZXQsIGJ1dCB0aGV5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIFlvdSBjYW4gb25seSB1c2UgZWl0aGVyIG9mIHRoZW0uIENoZWNrIHRoZSBkYXRhIHNvdXJjZSBhdCBwYXRoOiAke3RoaXMubm9kZS5wYXRofWAsXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IFRlcnJhZm9ybUNvdW50LmlzVGVycmFmb3JtQ291bnQodGhpcy5jb3VudClcbiAgICAgICAgPyB0aGlzLmNvdW50LnRvVGVycmFmb3JtKClcbiAgICAgICAgOiB0aGlzLmNvdW50LFxuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXI/LmZxbixcbiAgICAgIGxpZmVjeWNsZTogbGlmZWN5Y2xlVG9UZXJyYWZvcm0odGhpcy5saWZlY3ljbGUpLFxuICAgICAgZm9yRWFjaDogdGhpcy5mb3JFYWNoPy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKSxcbiAgICB9O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBkZWVwTWVyZ2UoXG4gICAgICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXNGb3JIY2wodGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpKSxcbiAgICAgIGtleXNUb1NuYWtlQ2FzZSh0aGlzLnRlcnJhZm9ybU1ldGFBcmd1bWVudHMpLFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHRoaXMuY29uc3RydWN0Tm9kZU1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBhdHRyaWJ1dGVzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyByZXNvdXJjZSB0byB0aGUgdGVycmFmb3JtIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyh0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCkpLFxuICAgICAga2V5c1RvU25ha2VDYXNlKHRoaXMudGVycmFmb3JtTWV0YUFyZ3VtZW50cyksXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YToge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGF0dHJpYnV0ZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlZihcbiAgICAgIGBkYXRhLiR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfSR7XG4gICAgICAgIHRoaXMuZm9yRWFjaCA/IFwiLipcIiA6IFwiXCJcbiAgICAgIH0uJHt0ZXJyYWZvcm1BdHRyaWJ1dGV9YCxcbiAgICAgIHRoaXMuY2RrdGZTdGFjayxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWRlcGVuZGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWRlcGVuZGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJVGVycmFmb3JtQWRkcmVzc2FibGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tYWRkcmVzc2FibGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJVGVycmFmb3JtRGVwZW5kYWJsZSBleHRlbmRzIElUZXJyYWZvcm1BZGRyZXNzYWJsZSB7fVxuIl19
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { TerraformDynamicExpression } from "./terraform-dynamic-expression";
|
|
2
2
|
import { ITerraformIterator } from "./terraform-iterator";
|
|
3
3
|
import { IResolvable } from "./tokens";
|
|
4
|
+
/**
|
|
5
|
+
* A Terraform `dynamic` block: generates one nested block per element of an iterator, each built from the given
|
|
6
|
+
* content.
|
|
7
|
+
*/
|
|
4
8
|
export declare class TerraformDynamicBlock implements IResolvable {
|
|
5
9
|
readonly creationStack: string[];
|
|
6
10
|
readonly forEach: ITerraformIterator;
|
|
@@ -7,7 +7,10 @@ const errors_1 = require("./errors");
|
|
|
7
7
|
const tokens_1 = require("./tokens");
|
|
8
8
|
const stack_trace_1 = require("./tokens/private/stack-trace");
|
|
9
9
|
const DYNAMIC_BLOCK_SYMBOL = Symbol.for("cdktf/TerraformDynamicBlock");
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* A Terraform `dynamic` block: generates one nested block per element of an iterator, each built from the given
|
|
12
|
+
* content.
|
|
13
|
+
*/
|
|
11
14
|
class TerraformDynamicBlock {
|
|
12
15
|
creationStack;
|
|
13
16
|
forEach;
|
|
@@ -57,4 +60,4 @@ class TerraformDynamicBlock {
|
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
exports.TerraformDynamicBlock = TerraformDynamicBlock;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWR5bmFtaWMtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxxQ0FBb0Q7QUFHcEQscUNBQXFFO0FBQ3JFLDhEQUFvRTtBQUVwRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV2RTs7O0dBR0c7QUFDSCxNQUFhLHFCQUFxQjtJQUNoQixhQUFhLENBQVc7SUFDeEIsT0FBTyxDQUFxQjtJQUM1QixRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMscUdBQXFHO0lBQ3hILE9BQU8sQ0FBeUI7SUFDaEQsK0hBQStIO0lBRS9ILFlBQW9CLElBR25CO1FBQ0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUEsa0NBQW9CLEdBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENBQ2pDLElBQWdDO1FBRWhDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQztZQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1osTUFBTSxJQUFBLGlDQUF3QixFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsT0FBTyxhQUFJLENBQUMsUUFBUSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxDQUFDLE9BQXdCLEVBQUUsRUFBRTtnQkFDcEMsT0FBTyxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUMsQ0FBQyxnRkFBZ0Y7Z0JBRTNILE9BQU87b0JBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUU7b0JBQzlDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdkIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDdkMsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPLHNDQUFzQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBTTtRQUMxQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLG9CQUFvQixJQUFJLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0Y7QUE1REQsc0RBNERDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IGR5bmFtaWNCbG9ja05vdFN1cHBvcnRlZCB9IGZyb20gXCIuL2Vycm9yc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24gfSBmcm9tIFwiLi90ZXJyYWZvcm0tZHluYW1pYy1leHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlLCBJUmVzb2x2ZUNvbnRleHQsIExhenksIFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBjYXB0dXJlQ3JlYXRpb25TdGFjayB9IGZyb20gXCIuL3Rva2Vucy9wcml2YXRlL3N0YWNrLXRyYWNlXCI7XG5cbmNvbnN0IERZTkFNSUNfQkxPQ0tfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybUR5bmFtaWNCbG9ja1wiKTtcblxuLyoqXG4gKiBBIFRlcnJhZm9ybSBgZHluYW1pY2AgYmxvY2s6IGdlbmVyYXRlcyBvbmUgbmVzdGVkIGJsb2NrIHBlciBlbGVtZW50IG9mIGFuIGl0ZXJhdG9yLCBlYWNoIGJ1aWx0IGZyb20gdGhlIGdpdmVuXG4gKiBjb250ZW50LlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRHluYW1pY0Jsb2NrIGltcGxlbWVudHMgSVJlc29sdmFibGUge1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRpb25TdGFjazogc3RyaW5nW107XG4gIHB1YmxpYyByZWFkb25seSBmb3JFYWNoOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHB1YmxpYyByZWFkb25seSBpdGVyYXRvciA9IFwiZWFjaFwiOyAvLyBuYW1lIG9mIHRlbXBvcmFyeSB2YXJpYWJsZSB1c2VkIGluIGl0ZXJhdGlvbiwgbmVlZGVkIGluIHRoZSBmdXR1cmUgd2hlbiBhbGxvd2luZyBuZXN0aW5nIGl0ZXJhdG9yc1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgLy8gbGFiZWxzOiBUT0RPOiBzdXBwb3J0IGxhYmVscywgYnV0IHRoZXkgc2VlbSB0byBiZSBxdWl0ZSByYXJlIChpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrL2lzc3Vlcy8xOTM5KVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoYXJnczoge1xuICAgIGZvckVhY2g6IElUZXJyYWZvcm1JdGVyYXRvcjtcbiAgICBjb250ZW50OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICB9KSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIERZTkFNSUNfQkxPQ0tfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHRoaXMuY3JlYXRpb25TdGFjayA9IGNhcHR1cmVDcmVhdGlvblN0YWNrKCk7XG4gICAgdGhpcy5mb3JFYWNoID0gYXJncy5mb3JFYWNoO1xuICAgIHRoaXMuY29udGVudCA9IGFyZ3MuY29udGVudDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUR5bmFtaWNFeHByZXNzaW9uKFxuICAgIGV4cHI6IFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uLFxuICApOiBUZXJyYWZvcm1EeW5hbWljQmxvY2sge1xuICAgIHJldHVybiBuZXcgVGVycmFmb3JtRHluYW1pY0Jsb2NrKHtcbiAgICAgIGZvckVhY2g6IGV4cHIuaXRlcmF0b3IsXG4gICAgICBjb250ZW50OiBleHByLmNvbnRlbnQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZSgpOiBhbnkge1xuICAgIHRocm93IGR5bmFtaWNCbG9ja05vdFN1cHBvcnRlZCh0aGlzLmZvckVhY2guX2dldEZvckVhY2hFeHByZXNzaW9uKCkpO1xuICB9XG5cbiAgcHVibGljIHRvVGVycmFmb3JtRHluYW1pY0Jsb2NrSnNvbigpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIExhenkuYW55VmFsdWUoe1xuICAgICAgcHJvZHVjZTogKGNvbnRleHQ6IElSZXNvbHZlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCA9IFwiRFlOQU1JQ19CTE9DS1wiOyAvLyByZXNvbHZlIG5lc3RlZCBMYXp5IHZhbHVlcyAod2l0aGluIHRoaXMuY29udGVudCkgYXMgZHluYW1pYyBibG9jayBleHByZXNzaW9uc1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZm9yX2VhY2g6IHRoaXMuZm9yRWFjaC5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKSxcbiAgICAgICAgICBpdGVyYXRvcjogdGhpcy5pdGVyYXRvcixcbiAgICAgICAgICBjb250ZW50OiBjb250ZXh0LnJlc29sdmUodGhpcy5jb250ZW50KSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUdXJuIHRoaXMgRHluYW1pYyBCbG9jayBpbnRvIEpTT05cbiAgICpcbiAgICogQ2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBKU09OLnN0cmluZ2lmeSgpIGlzIGNhbGxlZCBvbiB0aGlzLlxuICAgKi9cbiAgdG9KU09OKCk6IGFueSB7XG4gICAgcmV0dXJuIFwiPHVucmVzb2x2ZWQtdGVycmFmb3JtLWR5bmFtaWMtYmxvY2s+XCI7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtRHluYW1pY0Jsb2NrKHg6IGFueSk6IHggaXMgVGVycmFmb3JtRHluYW1pY0Jsb2NrIHtcbiAgICByZXR1cm4geCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBEWU5BTUlDX0JMT0NLX1NZTUJPTCBpbiB4O1xuICB9XG59XG4iXX0=
|
|
@@ -6,6 +6,10 @@ export interface TerraformElementMetadata {
|
|
|
6
6
|
readonly uniqueId: string;
|
|
7
7
|
readonly stackTrace: string[];
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Base class for constructs that synthesize to a Terraform configuration block, such as resources, data sources,
|
|
11
|
+
* providers, variables and outputs. Provides logical IDs, references and raw overrides.
|
|
12
|
+
*/
|
|
9
13
|
export declare class TerraformElement extends Construct {
|
|
10
14
|
protected readonly rawOverrides: any;
|
|
11
15
|
/**
|
package/lib/terraform-element.js
CHANGED
|
@@ -31,9 +31,12 @@ class GatedFeatureValidation {
|
|
|
31
31
|
return this.active ? this.delegate.validate() : [];
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Base class for constructs that synthesize to a Terraform configuration block, such as resources, data sources,
|
|
36
|
+
* providers, variables and outputs. Provides logical IDs, references and raw overrides.
|
|
37
|
+
*/
|
|
35
38
|
class TerraformElement extends constructs_1.Construct {
|
|
36
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformElement", version: "0.26.0-pre.
|
|
39
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformElement", version: "0.26.0-pre.21" };
|
|
37
40
|
rawOverrides = {};
|
|
38
41
|
/**
|
|
39
42
|
* An explicit logical ID provided by `overrideLogicalId`.
|
|
@@ -233,4 +236,4 @@ class TerraformElement extends constructs_1.Construct {
|
|
|
233
236
|
}
|
|
234
237
|
}
|
|
235
238
|
exports.TerraformElement = TerraformElement;
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsbUNBQTRCO0FBQzVCLDJDQUFvRDtBQUNwRCxxQ0FBaUM7QUFDakMsdURBQW1EO0FBQ25ELGlEQUFxQztBQUNyQyxxQ0FBZ0Y7QUFDaEYsbUVBQTZFO0FBQzdFLGlGQUt3QztBQUV4QyxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQW9CdEU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sc0JBQXNCO0lBR0c7SUFGdEIsTUFBTSxHQUFHLElBQUksQ0FBQztJQUVyQixZQUE2QixRQUFzQztRQUF0QyxhQUFRLEdBQVIsUUFBUSxDQUE4QjtJQUFHLENBQUM7SUFFaEUsUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JELENBQUM7Q0FDRjtBQWFELCtDQUErQztBQUMvQyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTOztJQUMxQixZQUFZLEdBQVEsRUFBRSxDQUFDO0lBRTFDOztPQUVHO0lBQ0ssa0JBQWtCLENBQVU7SUFFcEM7Ozs7O09BS0c7SUFDYyxZQUFZLENBQVU7SUFFdkM7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSywyQkFBMkIsQ0FHakM7SUFFRixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJ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QUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFjLHFCQUFxQjtRQUNqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2dCQUMvQixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQztvQkFDakUsRUFBRSxLQUFLO2FBQ2tCO1NBQzlCLENBQUM7SUFDSixDQUFDOztBQTlQSCw0Q0ErUEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgb2sgfSBmcm9tIFwiYXNzZXJ0XCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElWYWxpZGF0aW9uIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyB1bnJlc29sdmVkVG9rZW5JbkNvbnN0cnVjdElkLCB1bmtub3duUHJvdmlkZXJGZWF0dXJlIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0IH0gZnJvbSBcIi4vdmFsaWRhdGlvbnMvdGFyZ2V0LXZlcnNpb25zXCI7XG5pbXBvcnQge1xuICBQcm92aWRlckZlYXR1cmUsXG4gIHByb3ZpZGVyRmVhdHVyZUNvbnN0cmFpbnRzLFxuICBwcm92aWRlckZlYXR1cmVIaW50cyxcbiAgcHJvdmlkZXJGZWF0dXJlTGFiZWxzLFxufSBmcm9tIFwiLi9wcm92aWRlci1mZWF0dXJlLWNvbnN0cmFpbnRzXCI7XG5cbmNvbnN0IFRFUlJBRk9STV9FTEVNRU5UX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1FbGVtZW50XCIpO1xuXG4vKipcbiAqIEhvdyBhIGBQcm92aWRlckZlYXR1cmVgIHJlZ2lzdHJhdGlvbiBvbiBhbiBlbGVtZW50IHdhcyBhcm1lZDpcbiAqXG4gKiAtIGBzdHJ1Y3R1cmFsYDogdGhlIGVsZW1lbnQncyBtZXJlIGV4aXN0ZW5jZSBpcyB0aGUgdXNhZ2UgKGUuZy4gYVxuICogICBgVGVycmFmb3JtRXBoZW1lcmFsUmVzb3VyY2VgJ3MgY29uc3RydWN0b3IpLiBUaGVyZSBpcyBubyBub3Rpb24gb2YgdGhlXG4gKiAgIGZlYXR1cmUgZ29pbmcgdW51c2VkIGxhdGVyIGluIHRoZSBzYW1lIHN5bnRoZXNpcyBwYXNzLCBzbyBpdCBpcyBhcm1lZFxuICogICBvbmNlIGFuZCBuZXZlciBkZWFjdGl2YXRlZC5cbiAqIC0gYHJlc29sdmUtZGlzY292ZXJlZGA6IHVzYWdlIGlzIG9ubHkga25vd24gb25jZSBhIHZhbHVlIGlzIHJlc29sdmVkXG4gKiAgIGR1cmluZyBzeW50aGVzaXMgKGUuZy4gYSB3cml0ZS1vbmx5IGF0dHJpYnV0ZSB3cmFwcGVkIGJ5XG4gKiAgIGBtYXJrV3JpdGVPbmx5QXR0cmlidXRlYCkuIEJlY2F1c2UgdGhlIHNhbWUgZWxlbWVudCBjYW4gYmUgcmVzb2x2ZWRcbiAqICAgYWNyb3NzIG1hbnkgc3ludGhlc2lzIHBhc3NlcyBvdmVyIGl0cyBsaWZldGltZSAodGVzdHMgcmV1c2luZyBhXG4gKiAgIGNvbnN0cnVjdCB0cmVlLCByZXBlYXRlZCBgYXBwLnN5bnRoKClgIGNhbGxzIGFnYWluc3QgdGhlIHNhbWUgQXBwKSxcbiAqICAgdGhpcyBraW5kIG9mIHJlZ2lzdHJhdGlvbiBtdXN0IGJlIHJlc2V0IGF0IHRoZSBzdGFydCBvZiBlYWNoIHBhc3MgYW5kXG4gKiAgIG9ubHkgcmUtYXJtZWQgaWYgcmVzb2x1dGlvbiBhY3R1YWxseSByZWRpc2NvdmVycyB0aGUgdXNhZ2UgZHVyaW5nIHRoYXRcbiAqICAgcGFzcyAtIHNlZSBgX3Jlc2V0UmVzb2x2ZURpc2NvdmVyZWRQcm92aWRlckZlYXR1cmVVc2FnZWAuXG4gKi9cbnR5cGUgUHJvdmlkZXJGZWF0dXJlUmVnaXN0cmF0aW9uTW9kZSA9IFwic3RydWN0dXJhbFwiIHwgXCJyZXNvbHZlLWRpc2NvdmVyZWRcIjtcblxuLyoqXG4gKiBgY29uc3RydWN0c2AgaGFzIG5vIGByZW1vdmVWYWxpZGF0aW9uYCwgc28gYSB2YWxpZGF0aW9uIGluc3RhbGxlZCB2aWFcbiAqIGBub2RlLmFkZFZhbGlkYXRpb25gIHN0YXlzIGluc3RhbGxlZCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBub2RlLiBUbyBsZXRcbiAqIGEgcmVzb2x2ZS1kaXNjb3ZlcmVkIHJlZ2lzdHJhdGlvbiBnbyBxdWlldCBhZ2FpbiAoc2VlXG4gKiBgUHJvdmlkZXJGZWF0dXJlUmVnaXN0cmF0aW9uTW9kZWApLCB0aGUgaW5zdGFsbGVkIGBJVmFsaWRhdGlvbmAgaXMgdGhpc1xuICogdGhpbiwgbXV0YWJsZSBnYXRlOiB3aGlsZSBgYWN0aXZlYCBpcyBmYWxzZSBpdCByZXBvcnRzIG5vIGVycm9ycyBhdCBhbGwsXG4gKiByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIHdyYXBwZWQgYFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnRgIHdvdWxkIHNheS5cbiAqL1xuY2xhc3MgR2F0ZWRGZWF0dXJlVmFsaWRhdGlvbiBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgcHVibGljIGFjdGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkZWxlZ2F0ZTogVmFsaWRhdGVGZWF0dXJlVGFyZ2V0U3VwcG9ydCkge31cblxuICBwdWJsaWMgdmFsaWRhdGUoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZSA/IHRoaXMuZGVsZWdhdGUudmFsaWRhdGUoKSA6IFtdO1xuICB9XG59XG5cbmludGVyZmFjZSBQcm92aWRlckZlYXR1cmVSZWdpc3RyYXRpb24ge1xuICByZWFkb25seSBtb2RlOiBQcm92aWRlckZlYXR1cmVSZWdpc3RyYXRpb25Nb2RlO1xuICByZWFkb25seSB2YWxpZGF0aW9uOiBHYXRlZEZlYXR1cmVWYWxpZGF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUVsZW1lbnRNZXRhZGF0YSB7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgdW5pcXVlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhY2tUcmFjZTogc3RyaW5nW107XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRWxlbWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByb3RlY3RlZCByZWFkb25seSByYXdPdmVycmlkZXM6IGFueSA9IHt9O1xuXG4gIC8qKlxuICAgKiBBbiBleHBsaWNpdCBsb2dpY2FsIElEIHByb3ZpZGVkIGJ5IGBvdmVycmlkZUxvZ2ljYWxJZGAuXG4gICAqL1xuICBwcml2YXRlIF9sb2dpY2FsSWRPdmVycmlkZT86IHN0cmluZztcblxuICAvKipcbiAgICogVHlwZSBvZiB0aGlzIGVsZW1lbnQsIHVzZWQgZm9yIGZxbi5cbiAgICogVGhpcyBpcyB1bmRlZmluZWQgZm9yXG4gICAqIC0gZWxlbWVudHMgbm90IHJlZmVyYWJsZSwgbGlrZSBUZXJyYWZvcm1PdXRwdXRcbiAgICogLSBlbGVtZW50cyB1c2luZyB0aGVpciBvd24gZnFuIGltcGxlbWVudGF0aW9uLCBsaWtlIFRlcnJhZm9ybVByb3ZpZGVyXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50VHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogUHJvdmlkZXItcHJvdG9jb2wgZmVhdHVyZSBmYW1pbGllcyAoc2VlIGBQcm92aWRlckZlYXR1cmVgKSBhbHJlYWR5XG4gICAqIHJlZ2lzdGVyZWQgb24gdGhpcyBlbGVtZW50IHZpYSBgcmVnaXN0ZXJQcm92aWRlckZlYXR1cmVVc2FnZWAgb3JcbiAgICogYF9yZWdpc3RlclJlc29sdmVEaXNjb3ZlcmVkUHJvdmlkZXJGZWF0dXJlVXNhZ2VgLCBzbyByZXBlYXRlZCB1c2FnZVxuICAgKiAoZS5nLiBhIHNldHRlciBjYWxsZWQgbXVsdGlwbGUgdGltZXMsIG9yIHRoZSBzYW1lIHZhbHVlIHJlc29sdmVkIG1vcmVcbiAgICogdGhhbiBvbmNlIGluIGEgc3ludGhlc2lzIHBhc3MpIGRvZXNuJ3Qgc3RhY2sgZHVwbGljYXRlIHN5bnRoLXRpbWVcbiAgICogdmFsaWRhdGlvbnMgLSBlYWNoIGZlYXR1cmUgaW5zdGFsbHMgYXQgbW9zdCBvbmUgbm9kZSB2YWxpZGF0aW9uIGZvclxuICAgKiB0aGUgbGlmZXRpbWUgb2YgdGhlIGVsZW1lbnQsIGdhdGVkIG9uL29mZiB2aWEgdGhlIHJlZ2lzdHJhdGlvbidzXG4gICAqIGBhY3RpdmVgIGZsYWcgaW5zdGVhZCBvZiBiZWluZyByZS1hZGRlZCBvciByZW1vdmVkLlxuICAgKlxuICAgKiBMYXppbHkgYWxsb2NhdGVkOiBtb3N0IGVsZW1lbnRzIGluIGEgbGFyZ2Ugc3RhY2sgbmV2ZXIgcmVnaXN0ZXIgYVxuICAgKiBwcm92aWRlciBmZWF0dXJlIGF0IGFsbCwgc28gdGhpcyBzdGF5cyBgdW5kZWZpbmVkYCB1bnRpbCB0aGUgZmlyc3RcbiAgICogcmVnaXN0cmF0aW9uIGluc3RlYWQgb2YgZXZlcnkgYFRlcnJhZm9ybUVsZW1lbnRgIHBheWluZyBmb3IgYW4gZW1wdHlcbiAgICogYE1hcGAgaXQgd2lsbCBuZXZlciB1c2UuXG4gICAqL1xuICBwcml2YXRlIF9yZWdpc3RlcmVkUHJvdmlkZXJGZWF0dXJlcz86IE1hcDxcbiAgICBQcm92aWRlckZlYXR1cmUsXG4gICAgUHJvdmlkZXJGZWF0dXJlUmVnaXN0cmF0aW9uXG4gID47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZWxlbWVudFR5cGU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdGhpcy5fZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZTtcblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoaWQpKSB7XG4gICAgICB0aHJvdyB1bnJlc29sdmVkVG9rZW5JbkNvbnN0cnVjdElkKGlkKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJzdGFja3RyYWNlXCIsIFwidHJhY2VcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNka3RmU3RhY2soKTogVGVycmFmb3JtU3RhY2sge1xuICAgIHJldHVybiBUZXJyYWZvcm1TdGFjay5vZih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1FbGVtZW50KHg6IGFueSk6IHggaXMgVGVycmFmb3JtRWxlbWVudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX0VMRU1FTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgc3ludGgtdGltZSB2YWxpZGF0aW9uIHRoYXQgdGhlIHByb2plY3QncyBkZWNsYXJlZFxuICAgKiB0YXJnZXRWZXJzaW9ucyBhZG1pdCB0aGUgZ2l2ZW4gcHJvdmlkZXItcHJvdG9jb2wgZmVhdHVyZSBmYW1pbHkuXG4gICAqIENhbGxlZCBieSBnZW5lcmF0ZWQgcHJvdmlkZXIgYmluZGluZ3Mgd2hlbiBhIHZlcnNpb25lZCBmZWF0dXJlIGlzXG4gICAqIHN0cnVjdHVyYWxseSBpbiB1c2UgLSB0aGUgZWxlbWVudCdzIGV4aXN0ZW5jZSBpbiB0aGUgY29uc3RydWN0IHRyZWVcbiAgICogYWxyZWFkeSBpbXBsaWVzIHRoZSBmZWF0dXJlIGlzIHVzZWQsIGUuZy4gY29uc3RydWN0aW5nIGFcbiAgICogYFRlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlYCBhdCBhbGwgLSBzbywgdW5saWtlXG4gICAqIGBfcmVnaXN0ZXJSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlYCwgdGhpcyByZWdpc3RyYXRpb24gaXNcbiAgICogbmV2ZXIgZGVhY3RpdmF0ZWQgYnkgYF9yZXNldFJlc29sdmVEaXNjb3ZlcmVkUHJvdmlkZXJGZWF0dXJlVXNhZ2VgLiBOb3RcbiAgICogaW50ZW5kZWQgdG8gYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IHVzZXIgY29kZS4gTGl2ZXMgb24gYFRlcnJhZm9ybUVsZW1lbnRgXG4gICAqIChyYXRoZXIgdGhhbiBgVGVycmFmb3JtUmVzb3VyY2VgKSBzbyBpdCBjb3ZlcnMgYW55IGVsZW1lbnQgc3ViY2xhc3NcbiAgICogdGhhdCBuZWVkcyBpdC5cbiAgICovXG4gIHByb3RlY3RlZCByZWdpc3RlclByb3ZpZGVyRmVhdHVyZVVzYWdlKGZlYXR1cmU6IFByb3ZpZGVyRmVhdHVyZSk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdGVyUHJvdmlkZXJGZWF0dXJlKGZlYXR1cmUsIFwic3RydWN0dXJhbFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgKG9yIHJlLWFybXMpIGEgc3ludGgtdGltZSB2YWxpZGF0aW9uIGZvciBhIHByb3ZpZGVyLXByb3RvY29sXG4gICAqIGZlYXR1cmUgZmFtaWx5IHdob3NlIHVzYWdlIGlzIG9ubHkga25vd24gb25jZSBhIHZhbHVlIGlzIHJlc29sdmVkXG4gICAqIGR1cmluZyBzeW50aGVzaXMgLSBlLmcuIGBtYXJrV3JpdGVPbmx5QXR0cmlidXRlYCdzIHdyYXBwZXIsIHdoaWNoIGNhbGxzXG4gICAqIHRoaXMgZnJvbSBpdHMgYHJlc29sdmUoKWAgY2xvc3VyZSBvbmx5IHdoZW4gdGhlIHJlc29sdmVkIHZhbHVlIHR1cm5zXG4gICAqIG91dCB0byBiZSBhIHJlYWwsIHJlbmRlcmFibGUgdmFsdWUuXG4gICAqXG4gICAqIFVubGlrZSBgcmVnaXN0ZXJQcm92aWRlckZlYXR1cmVVc2FnZWAsIGEgcmVnaXN0cmF0aW9uIG1hZGUgdGhyb3VnaCB0aGlzXG4gICAqIG1ldGhvZCByZXByZXNlbnRzIHVzYWdlIGRpc2NvdmVyZWQgZHVyaW5nIHRoZSBDVVJSRU5UIHN5bnRoZXNpcyBwYXNzXG4gICAqIG9ubHk6IGBfcmVzZXRSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlYCBkZWFjdGl2YXRlcyBpdCBhdFxuICAgKiB0aGUgc3RhcnQgb2YgZWFjaCBwYXNzLCBhbmQgY2FsbGluZyB0aGlzIG1ldGhvZCBhZ2FpbiByZS1hY3RpdmF0ZXMgaXRcbiAgICogd2l0aG91dCBpbnN0YWxsaW5nIGEgc2Vjb25kLCBkdXBsaWNhdGUgbm9kZSB2YWxpZGF0aW9uLiBFdmVyeVxuICAgKiB2YWxpZGF0aW9uLWVuYWJsZWQgZW50cnkgcG9pbnQgKGBBcHAuc3ludGhgLCBgVGVzdGluZy5zeW50aGAvXG4gICAqIGBzeW50aEhjbGAgd2l0aCB2YWxpZGF0aW9ucywgYFN0YWNrU3ludGhlc2l6ZXIuc3ludGhlc2l6ZWApIHJ1bnMgYVxuICAgKiBwcmVwYXJlIHN0ZXAgdGhhdCBwZXJmb3JtcyB0aGlzIHJlc2V0LXRoZW4tcmVkaXNjb3ZlciBjeWNsZSBiZWZvcmVcbiAgICogdmFsaWRhdGlvbnMgcnVuLCBzbyB3aGF0IGEgdmFsaWRhdGlvbiBzZWVzIGFsd2F5cyByZWZsZWN0cyBvbmx5IHRoZVxuICAgKiBwYXNzIHRoYXQgaXMgYWJvdXQgdG8gYmUgdmFsaWRhdGVkLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVnaXN0ZXJSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlKFxuICAgIGZlYXR1cmU6IFByb3ZpZGVyRmVhdHVyZSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0ZXJQcm92aWRlckZlYXR1cmUoZmVhdHVyZSwgXCJyZXNvbHZlLWRpc2NvdmVyZWRcIik7XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZXMgZXZlcnkgYHJlc29sdmUtZGlzY292ZXJlZGAgcHJvdmlkZXItZmVhdHVyZSByZWdpc3RyYXRpb24gb25cbiAgICogdGhpcyBlbGVtZW50IChzdHJ1Y3R1cmFsIHJlZ2lzdHJhdGlvbnMgYXJlIGxlZnQgdW50b3VjaGVkIC0gc2VlXG4gICAqIGBQcm92aWRlckZlYXR1cmVSZWdpc3RyYXRpb25Nb2RlYCkuIENhbGxlZCBvbmNlIHBlciBzeW50aGVzaXMgcGFzcyxcbiAgICogYmVmb3JlIHRoYXQgcGFzcydzIHByZXBhcmluZyByZXNvbHZlIHJlLWRpc2NvdmVycyB3aGF0ZXZlciB1c2FnZVxuICAgKiBhY3R1YWxseSByZW5kZXJzIGR1cmluZyBpdCAtIHNlZSBgVGVycmFmb3JtU3RhY2suX3J1blByZXBhcmluZ1Jlc29sdmVgLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVzZXRSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlKCk6IHZvaWQge1xuICAgIC8vIE5vdGhpbmcgd2FzIGV2ZXIgcmVnaXN0ZXJlZCBvbiB0aGlzIGVsZW1lbnQ6IHNraXAgYWxsb2NhdGluZyB0aGUgTWFwXG4gICAgLy8ganVzdCB0byBpdGVyYXRlIHplcm8gZW50cmllcy5cbiAgICBpZiAoIXRoaXMuX3JlZ2lzdGVyZWRQcm92aWRlckZlYXR1cmVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAoY29uc3QgcmVnaXN0cmF0aW9uIG9mIHRoaXMuX3JlZ2lzdGVyZWRQcm92aWRlckZlYXR1cmVzLnZhbHVlcygpKSB7XG4gICAgICBpZiAocmVnaXN0cmF0aW9uLm1vZGUgPT09IFwicmVzb2x2ZS1kaXNjb3ZlcmVkXCIpIHtcbiAgICAgICAgcmVnaXN0cmF0aW9uLnZhbGlkYXRpb24uYWN0aXZlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJQcm92aWRlckZlYXR1cmUoXG4gICAgZmVhdHVyZTogUHJvdmlkZXJGZWF0dXJlLFxuICAgIG1vZGU6IFByb3ZpZGVyRmVhdHVyZVJlZ2lzdHJhdGlvbk1vZGUsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5fcmVnaXN0ZXJlZFByb3ZpZGVyRmVhdHVyZXM/LmdldChmZWF0dXJlKTtcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIC8vIEFscmVhZHkgaW5zdGFsbGVkIG9uIHRoaXMgZWxlbWVudDogKHJlLSlhY3RpdmF0ZSBpdCByYXRoZXIgdGhhblxuICAgICAgLy8gc3RhY2tpbmcgYSBzZWNvbmQgbm9kZSB2YWxpZGF0aW9uIGZvciB0aGUgc2FtZSBmZWF0dXJlLlxuICAgICAgZXhpc3RpbmcudmFsaWRhdGlvbi5hY3RpdmUgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHMsIGZlYXR1cmUpXG4gICAgKSB7XG4gICAgICB0aHJvdyB1bmtub3duUHJvdmlkZXJGZWF0dXJlKGZlYXR1cmUpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gcHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHNbZmVhdHVyZV07XG4gICAgY29uc3QgaGludCA9IGAke3Byb3ZpZGVyRmVhdHVyZUhpbnRzW2ZlYXR1cmVdfSBhcmUgYXZhaWxhYmxlIGluICR7T2JqZWN0LmVudHJpZXMoXG4gICAgICBjb25zdHJhaW50cyxcbiAgICApXG4gICAgICAubWFwKChbcHJvZHVjdCwgcmFuZ2VdKSA9PiBgJHtwcm9kdWN0fSAke3JhbmdlfWApXG4gICAgICAuam9pbihcIiBhbmQgXCIpfS5gO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvbiA9IG5ldyBHYXRlZEZlYXR1cmVWYWxpZGF0aW9uKFxuICAgICAgbmV3IFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHByb3ZpZGVyRmVhdHVyZUxhYmVsc1tmZWF0dXJlXSxcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIGhpbnQsXG4gICAgICApLFxuICAgICk7XG5cbiAgICBpZiAoIXRoaXMuX3JlZ2lzdGVyZWRQcm92aWRlckZlYXR1cmVzKSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkUHJvdmlkZXJGZWF0dXJlcyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgdGhpcy5fcmVnaXN0ZXJlZFByb3ZpZGVyRmVhdHVyZXMuc2V0KGZlYXR1cmUsIHsgbW9kZSwgdmFsaWRhdGlvbiB9KTtcbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih2YWxpZGF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBfZnFuVG9rZW4/OiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmcW4oKSB7XG4gICAgaWYgKCF0aGlzLl9mcW5Ub2tlbikge1xuICAgICAgb2soISF0aGlzLl9lbGVtZW50VHlwZSwgXCJFbGVtZW50IHR5cGUgbm90IHNldFwiKTtcbiAgICAgIHRoaXMuX2ZxblRva2VuID0gVG9rZW4uYXNTdHJpbmcoXG4gICAgICAgIHJlZihgJHt0aGlzLl9lbGVtZW50VHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YCwgdGhpcy5jZGt0ZlN0YWNrKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9mcW5Ub2tlbjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZyaWVuZGx5VW5pcXVlSWQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmcmllbmRseVVuaXF1ZUlkKCkge1xuICAgIGlmICghdGhpcy5fZnJpZW5kbHlVbmlxdWVJZCkge1xuICAgICAgaWYgKHRoaXMuX2xvZ2ljYWxJZE92ZXJyaWRlKSB7XG4gICAgICAgIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQgPSB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQgPSB0aGlzLmNka3RmU3RhY2suZ2V0TG9naWNhbElkKHRoaXMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnJpZW5kbHlVbmlxdWVJZDtcbiAgfVxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSBhdXRvLWdlbmVyYXRlZCBsb2dpY2FsIElEIHdpdGggYSBzcGVjaWZpYyBJRC5cbiAgICogQHBhcmFtIG5ld0xvZ2ljYWxJZCBUaGUgbmV3IGxvZ2ljYWwgSUQgdG8gdXNlIGZvciB0aGlzIHN0YWNrIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGVMb2dpY2FsSWQobmV3TG9naWNhbElkOiBzdHJpbmcpIHtcbiAgICBvayhcbiAgICAgICF0aGlzLl9mcW5Ub2tlbixcbiAgICAgIFwiTG9naWNhbCBJRCBtYXkgbm90IGJlIG92ZXJyaWRkZW4gb25jZSAuZnFuIGhhcyBiZWVuIHJlcXVlc3RlZC4gTWFrZSBzdXJlIHRvIG92ZXJyaWRlIHRoZSBpZCBiZWZvcmUgcGFzc2luZyB0aGUgY29uc3RydWN0IHRvIG90aGVyIGNvbnN0cnVjdHMuXCIsXG4gICAgKTtcbiAgICB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSA9IG5ld0xvZ2ljYWxJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgYSBwcmV2aW91c2x5IHBhc3NlZCBsb2dpY2FsIElkIHRvIHVzZSB0aGUgYXV0by1nZW5lcmF0ZWQgbG9naWNhbCBpZCBhZ2FpblxuICAgKi9cbiAgcHVibGljIHJlc2V0T3ZlcnJpZGVMb2dpY2FsSWQoKSB7XG4gICAgb2soXG4gICAgICAhdGhpcy5fZnFuVG9rZW4sXG4gICAgICBcIkxvZ2ljYWwgSUQgbWF5IG5vdCBiZSBvdmVycmlkZGVuIG9uY2UgLmZxbiBoYXMgYmVlbiByZXF1ZXN0ZWQuIFlvdSBjYW4gb25seSByZXNldCB0aGUgb3ZlcnJpZGUgYmVmb3JlIHlvdSBwYXNzIHRoZSBjb25zdHJ1Y3QgdG8gb3RoZXIgY29uc3RydWN0cy5cIixcbiAgICApO1xuICAgIHRoaXMuX2xvZ2ljYWxJZE92ZXJyaWRlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFkZE92ZXJyaWRlKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdChcIi5cIik7XG4gICAgbGV0IGN1cnI6IGFueSA9IHRoaXMucmF3T3ZlcnJpZGVzO1xuXG4gICAgd2hpbGUgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuXG4gICAgICAvLyBpZiB3ZSBjYW4ndCByZWN1cnNlIGZ1cnRoZXIgb3IgdGhlIHByZXZpb3VzIHZhbHVlIGlzIG5vdCBhblxuICAgICAgLy8gb2JqZWN0IG92ZXJ3cml0ZSBpdCB3aXRoIGFuIG9iamVjdC5cbiAgICAgIGNvbnN0IGlzT2JqZWN0ID1cbiAgICAgICAgY3VycltrZXldICE9IG51bGwgJiZcbiAgICAgICAgdHlwZW9mIGN1cnJba2V5XSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheShjdXJyW2tleV0pO1xuICAgICAgaWYgKCFpc09iamVjdCkge1xuICAgICAgICBjdXJyW2tleV0gPSB7fTtcbiAgICAgIH1cblxuICAgICAgY3VyciA9IGN1cnJba2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0S2V5ID0gcGFydHMuc2hpZnQoKSE7XG4gICAgY3VycltsYXN0S2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBjb25zdHJ1Y3ROb2RlTWV0YWRhdGEoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHBhdGg6IHRoaXMubm9kZS5wYXRoLFxuICAgICAgICB1bmlxdWVJZDogdGhpcy5mcmllbmRseVVuaXF1ZUlkLFxuICAgICAgICBzdGFja1RyYWNlOiB0aGlzLm5vZGUubWV0YWRhdGEuZmluZCgoZSkgPT4gZS50eXBlID09PSBcInN0YWNrdHJhY2VcIilcbiAgICAgICAgICA/LnRyYWNlLFxuICAgICAgfSBhcyBUZXJyYWZvcm1FbGVtZW50TWV0YWRhdGEsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsbUNBQTRCO0FBQzVCLDJDQUFvRDtBQUNwRCxxQ0FBaUM7QUFDakMsdURBQW1EO0FBQ25ELGlEQUFxQztBQUNyQyxxQ0FBZ0Y7QUFDaEYsbUVBQTZFO0FBQzdFLGlGQUt3QztBQUV4QyxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQW9CdEU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sc0JBQXNCO0lBR0c7SUFGdEIsTUFBTSxHQUFHLElBQUksQ0FBQztJQUVyQixZQUE2QixRQUFzQztRQUF0QyxhQUFRLEdBQVIsUUFBUSxDQUE4QjtJQUFHLENBQUM7SUFFaEUsUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JELENBQUM7Q0FDRjtBQWFEOzs7R0FHRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsc0JBQVM7O0lBQzFCLFlBQVksR0FBUSxFQUFFLENBQUM7SUFFMUM7O09BRUc7SUFDSyxrQkFBa0IsQ0FBVTtJQUVwQzs7Ozs7T0FLRztJQUNjLFlBQVksQ0FBVTtJQUV2Qzs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNLLDJCQUEyQixDQUdqQztJQUVGLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsV0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUks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RyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWMscUJBQXFCO1FBQ2pDLE9BQU87WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO29CQUNqRSxFQUFFLEtBQUs7YUFDa0I7U0FDOUIsQ0FBQztJQUNKLENBQUM7O0FBOVBILDRDQStQQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBvayB9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7IENvbnN0cnVjdCwgSVZhbGlkYXRpb24gfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4vdGVycmFmb3JtLXN0YWNrXCI7XG5pbXBvcnQgeyByZWYgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IHVucmVzb2x2ZWRUb2tlbkluQ29uc3RydWN0SWQsIHVua25vd25Qcm92aWRlckZlYXR1cmUgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQgfSBmcm9tIFwiLi92YWxpZGF0aW9ucy90YXJnZXQtdmVyc2lvbnNcIjtcbmltcG9ydCB7XG4gIFByb3ZpZGVyRmVhdHVyZSxcbiAgcHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHMsXG4gIHByb3ZpZGVyRmVhdHVyZUhpbnRzLFxuICBwcm92aWRlckZlYXR1cmVMYWJlbHMsXG59IGZyb20gXCIuL3Byb3ZpZGVyLWZlYXR1cmUtY29uc3RyYWludHNcIjtcblxuY29uc3QgVEVSUkFGT1JNX0VMRU1FTlRfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybUVsZW1lbnRcIik7XG5cbi8qKlxuICogSG93IGEgYFByb3ZpZGVyRmVhdHVyZWAgcmVnaXN0cmF0aW9uIG9uIGFuIGVsZW1lbnQgd2FzIGFybWVkOlxuICpcbiAqIC0gYHN0cnVjdHVyYWxgOiB0aGUgZWxlbWVudCdzIG1lcmUgZXhpc3RlbmNlIGlzIHRoZSB1c2FnZSAoZS5nLiBhXG4gKiAgIGBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZWAncyBjb25zdHJ1Y3RvcikuIFRoZXJlIGlzIG5vIG5vdGlvbiBvZiB0aGVcbiAqICAgZmVhdHVyZSBnb2luZyB1bnVzZWQgbGF0ZXIgaW4gdGhlIHNhbWUgc3ludGhlc2lzIHBhc3MsIHNvIGl0IGlzIGFybWVkXG4gKiAgIG9uY2UgYW5kIG5ldmVyIGRlYWN0aXZhdGVkLlxuICogLSBgcmVzb2x2ZS1kaXNjb3ZlcmVkYDogdXNhZ2UgaXMgb25seSBrbm93biBvbmNlIGEgdmFsdWUgaXMgcmVzb2x2ZWRcbiAqICAgZHVyaW5nIHN5bnRoZXNpcyAoZS5nLiBhIHdyaXRlLW9ubHkgYXR0cmlidXRlIHdyYXBwZWQgYnlcbiAqICAgYG1hcmtXcml0ZU9ubHlBdHRyaWJ1dGVgKS4gQmVjYXVzZSB0aGUgc2FtZSBlbGVtZW50IGNhbiBiZSByZXNvbHZlZFxuICogICBhY3Jvc3MgbWFueSBzeW50aGVzaXMgcGFzc2VzIG92ZXIgaXRzIGxpZmV0aW1lICh0ZXN0cyByZXVzaW5nIGFcbiAqICAgY29uc3RydWN0IHRyZWUsIHJlcGVhdGVkIGBhcHAuc3ludGgoKWAgY2FsbHMgYWdhaW5zdCB0aGUgc2FtZSBBcHApLFxuICogICB0aGlzIGtpbmQgb2YgcmVnaXN0cmF0aW9uIG11c3QgYmUgcmVzZXQgYXQgdGhlIHN0YXJ0IG9mIGVhY2ggcGFzcyBhbmRcbiAqICAgb25seSByZS1hcm1lZCBpZiByZXNvbHV0aW9uIGFjdHVhbGx5IHJlZGlzY292ZXJzIHRoZSB1c2FnZSBkdXJpbmcgdGhhdFxuICogICBwYXNzIC0gc2VlIGBfcmVzZXRSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlYC5cbiAqL1xudHlwZSBQcm92aWRlckZlYXR1cmVSZWdpc3RyYXRpb25Nb2RlID0gXCJzdHJ1Y3R1cmFsXCIgfCBcInJlc29sdmUtZGlzY292ZXJlZFwiO1xuXG4vKipcbiAqIGBjb25zdHJ1Y3RzYCBoYXMgbm8gYHJlbW92ZVZhbGlkYXRpb25gLCBzbyBhIHZhbGlkYXRpb24gaW5zdGFsbGVkIHZpYVxuICogYG5vZGUuYWRkVmFsaWRhdGlvbmAgc3RheXMgaW5zdGFsbGVkIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIG5vZGUuIFRvIGxldFxuICogYSByZXNvbHZlLWRpc2NvdmVyZWQgcmVnaXN0cmF0aW9uIGdvIHF1aWV0IGFnYWluIChzZWVcbiAqIGBQcm92aWRlckZlYXR1cmVSZWdpc3RyYXRpb25Nb2RlYCksIHRoZSBpbnN0YWxsZWQgYElWYWxpZGF0aW9uYCBpcyB0aGlzXG4gKiB0aGluLCBtdXRhYmxlIGdhdGU6IHdoaWxlIGBhY3RpdmVgIGlzIGZhbHNlIGl0IHJlcG9ydHMgbm8gZXJyb3JzIGF0IGFsbCxcbiAqIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgd3JhcHBlZCBgVmFsaWRhdGVGZWF0dXJlVGFyZ2V0U3VwcG9ydGAgd291bGQgc2F5LlxuICovXG5jbGFzcyBHYXRlZEZlYXR1cmVWYWxpZGF0aW9uIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICBwdWJsaWMgYWN0aXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRlbGVnYXRlOiBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0KSB7fVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlID8gdGhpcy5kZWxlZ2F0ZS52YWxpZGF0ZSgpIDogW107XG4gIH1cbn1cblxuaW50ZXJmYWNlIFByb3ZpZGVyRmVhdHVyZVJlZ2lzdHJhdGlvbiB7XG4gIHJlYWRvbmx5IG1vZGU6IFByb3ZpZGVyRmVhdHVyZVJlZ2lzdHJhdGlvbk1vZGU7XG4gIHJlYWRvbmx5IHZhbGlkYXRpb246IEdhdGVkRmVhdHVyZVZhbGlkYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtRWxlbWVudE1ldGFkYXRhIHtcbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICByZWFkb25seSB1bmlxdWVJZDogc3RyaW5nO1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjb25zdHJ1Y3RzIHRoYXQgc3ludGhlc2l6ZSB0byBhIFRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGJsb2NrLCBzdWNoIGFzIHJlc291cmNlcywgZGF0YSBzb3VyY2VzLFxuICogcHJvdmlkZXJzLCB2YXJpYWJsZXMgYW5kIG91dHB1dHMuIFByb3ZpZGVzIGxvZ2ljYWwgSURzLCByZWZlcmVuY2VzIGFuZCByYXcgb3ZlcnJpZGVzLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRWxlbWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByb3RlY3RlZCByZWFkb25seSByYXdPdmVycmlkZXM6IGFueSA9IHt9O1xuXG4gIC8qKlxuICAgKiBBbiBleHBsaWNpdCBsb2dpY2FsIElEIHByb3ZpZGVkIGJ5IGBvdmVycmlkZUxvZ2ljYWxJZGAuXG4gICAqL1xuICBwcml2YXRlIF9sb2dpY2FsSWRPdmVycmlkZT86IHN0cmluZztcblxuICAvKipcbiAgICogVHlwZSBvZiB0aGlzIGVsZW1lbnQsIHVzZWQgZm9yIGZxbi5cbiAgICogVGhpcyBpcyB1bmRlZmluZWQgZm9yXG4gICAqIC0gZWxlbWVudHMgbm90IHJlZmVyYWJsZSwgbGlrZSBUZXJyYWZvcm1PdXRwdXRcbiAgICogLSBlbGVtZW50cyB1c2luZyB0aGVpciBvd24gZnFuIGltcGxlbWVudGF0aW9uLCBsaWtlIFRlcnJhZm9ybVByb3ZpZGVyXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50VHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogUHJvdmlkZXItcHJvdG9jb2wgZmVhdHVyZSBmYW1pbGllcyAoc2VlIGBQcm92aWRlckZlYXR1cmVgKSBhbHJlYWR5XG4gICAqIHJlZ2lzdGVyZWQgb24gdGhpcyBlbGVtZW50IHZpYSBgcmVnaXN0ZXJQcm92aWRlckZlYXR1cmVVc2FnZWAgb3JcbiAgICogYF9yZWdpc3RlclJlc29sdmVEaXNjb3ZlcmVkUHJvdmlkZXJGZWF0dXJlVXNhZ2VgLCBzbyByZXBlYXRlZCB1c2FnZVxuICAgKiAoZS5nLiBhIHNldHRlciBjYWxsZWQgbXVsdGlwbGUgdGltZXMsIG9yIHRoZSBzYW1lIHZhbHVlIHJlc29sdmVkIG1vcmVcbiAgICogdGhhbiBvbmNlIGluIGEgc3ludGhlc2lzIHBhc3MpIGRvZXNuJ3Qgc3RhY2sgZHVwbGljYXRlIHN5bnRoLXRpbWVcbiAgICogdmFsaWRhdGlvbnMgLSBlYWNoIGZlYXR1cmUgaW5zdGFsbHMgYXQgbW9zdCBvbmUgbm9kZSB2YWxpZGF0aW9uIGZvclxuICAgKiB0aGUgbGlmZXRpbWUgb2YgdGhlIGVsZW1lbnQsIGdhdGVkIG9uL29mZiB2aWEgdGhlIHJlZ2lzdHJhdGlvbidzXG4gICAqIGBhY3RpdmVgIGZsYWcgaW5zdGVhZCBvZiBiZWluZyByZS1hZGRlZCBvciByZW1vdmVkLlxuICAgKlxuICAgKiBMYXppbHkgYWxsb2NhdGVkOiBtb3N0IGVsZW1lbnRzIGluIGEgbGFyZ2Ugc3RhY2sgbmV2ZXIgcmVnaXN0ZXIgYVxuICAgKiBwcm92aWRlciBmZWF0dXJlIGF0IGFsbCwgc28gdGhpcyBzdGF5cyBgdW5kZWZpbmVkYCB1bnRpbCB0aGUgZmlyc3RcbiAgICogcmVnaXN0cmF0aW9uIGluc3RlYWQgb2YgZXZlcnkgYFRlcnJhZm9ybUVsZW1lbnRgIHBheWluZyBmb3IgYW4gZW1wdHlcbiAgICogYE1hcGAgaXQgd2lsbCBuZXZlciB1c2UuXG4gICAqL1xuICBwcml2YXRlIF9yZWdpc3RlcmVkUHJvdmlkZXJGZWF0dXJlcz86IE1hcDxcbiAgICBQcm92aWRlckZlYXR1cmUsXG4gICAgUHJvdmlkZXJGZWF0dXJlUmVnaXN0cmF0aW9uXG4gID47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZWxlbWVudFR5cGU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdGhpcy5fZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZTtcblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoaWQpKSB7XG4gICAgICB0aHJvdyB1bnJlc29sdmVkVG9rZW5JbkNvbnN0cnVjdElkKGlkKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJzdGFja3RyYWNlXCIsIFwidHJhY2VcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNka3RmU3RhY2soKTogVGVycmFmb3JtU3RhY2sge1xuICAgIHJldHVybiBUZXJyYWZvcm1TdGFjay5vZih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1FbGVtZW50KHg6IGFueSk6IHggaXMgVGVycmFmb3JtRWxlbWVudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX0VMRU1FTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgc3ludGgtdGltZSB2YWxpZGF0aW9uIHRoYXQgdGhlIHByb2plY3QncyBkZWNsYXJlZFxuICAgKiB0YXJnZXRWZXJzaW9ucyBhZG1pdCB0aGUgZ2l2ZW4gcHJvdmlkZXItcHJvdG9jb2wgZmVhdHVyZSBmYW1pbHkuXG4gICAqIENhbGxlZCBieSBnZW5lcmF0ZWQgcHJvdmlkZXIgYmluZGluZ3Mgd2hlbiBhIHZlcnNpb25lZCBmZWF0dXJlIGlzXG4gICAqIHN0cnVjdHVyYWxseSBpbiB1c2UgLSB0aGUgZWxlbWVudCdzIGV4aXN0ZW5jZSBpbiB0aGUgY29uc3RydWN0IHRyZWVcbiAgICogYWxyZWFkeSBpbXBsaWVzIHRoZSBmZWF0dXJlIGlzIHVzZWQsIGUuZy4gY29uc3RydWN0aW5nIGFcbiAgICogYFRlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlYCBhdCBhbGwgLSBzbywgdW5saWtlXG4gICAqIGBfcmVnaXN0ZXJSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlYCwgdGhpcyByZWdpc3RyYXRpb24gaXNcbiAgICogbmV2ZXIgZGVhY3RpdmF0ZWQgYnkgYF9yZXNldFJlc29sdmVEaXNjb3ZlcmVkUHJvdmlkZXJGZWF0dXJlVXNhZ2VgLiBOb3RcbiAgICogaW50ZW5kZWQgdG8gYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IHVzZXIgY29kZS4gTGl2ZXMgb24gYFRlcnJhZm9ybUVsZW1lbnRgXG4gICAqIChyYXRoZXIgdGhhbiBgVGVycmFmb3JtUmVzb3VyY2VgKSBzbyBpdCBjb3ZlcnMgYW55IGVsZW1lbnQgc3ViY2xhc3NcbiAgICogdGhhdCBuZWVkcyBpdC5cbiAgICovXG4gIHByb3RlY3RlZCByZWdpc3RlclByb3ZpZGVyRmVhdHVyZVVzYWdlKGZlYXR1cmU6IFByb3ZpZGVyRmVhdHVyZSk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdGVyUHJvdmlkZXJGZWF0dXJlKGZlYXR1cmUsIFwic3RydWN0dXJhbFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgKG9yIHJlLWFybXMpIGEgc3ludGgtdGltZSB2YWxpZGF0aW9uIGZvciBhIHByb3ZpZGVyLXByb3RvY29sXG4gICAqIGZlYXR1cmUgZmFtaWx5IHdob3NlIHVzYWdlIGlzIG9ubHkga25vd24gb25jZSBhIHZhbHVlIGlzIHJlc29sdmVkXG4gICAqIGR1cmluZyBzeW50aGVzaXMgLSBlLmcuIGBtYXJrV3JpdGVPbmx5QXR0cmlidXRlYCdzIHdyYXBwZXIsIHdoaWNoIGNhbGxzXG4gICAqIHRoaXMgZnJvbSBpdHMgYHJlc29sdmUoKWAgY2xvc3VyZSBvbmx5IHdoZW4gdGhlIHJlc29sdmVkIHZhbHVlIHR1cm5zXG4gICAqIG91dCB0byBiZSBhIHJlYWwsIHJlbmRlcmFibGUgdmFsdWUuXG4gICAqXG4gICAqIFVubGlrZSBgcmVnaXN0ZXJQcm92aWRlckZlYXR1cmVVc2FnZWAsIGEgcmVnaXN0cmF0aW9uIG1hZGUgdGhyb3VnaCB0aGlzXG4gICAqIG1ldGhvZCByZXByZXNlbnRzIHVzYWdlIGRpc2NvdmVyZWQgZHVyaW5nIHRoZSBDVVJSRU5UIHN5bnRoZXNpcyBwYXNzXG4gICAqIG9ubHk6IGBfcmVzZXRSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlYCBkZWFjdGl2YXRlcyBpdCBhdFxuICAgKiB0aGUgc3RhcnQgb2YgZWFjaCBwYXNzLCBhbmQgY2FsbGluZyB0aGlzIG1ldGhvZCBhZ2FpbiByZS1hY3RpdmF0ZXMgaXRcbiAgICogd2l0aG91dCBpbnN0YWxsaW5nIGEgc2Vjb25kLCBkdXBsaWNhdGUgbm9kZSB2YWxpZGF0aW9uLiBFdmVyeVxuICAgKiB2YWxpZGF0aW9uLWVuYWJsZWQgZW50cnkgcG9pbnQgKGBBcHAuc3ludGhgLCBgVGVzdGluZy5zeW50aGAvXG4gICAqIGBzeW50aEhjbGAgd2l0aCB2YWxpZGF0aW9ucywgYFN0YWNrU3ludGhlc2l6ZXIuc3ludGhlc2l6ZWApIHJ1bnMgYVxuICAgKiBwcmVwYXJlIHN0ZXAgdGhhdCBwZXJmb3JtcyB0aGlzIHJlc2V0LXRoZW4tcmVkaXNjb3ZlciBjeWNsZSBiZWZvcmVcbiAgICogdmFsaWRhdGlvbnMgcnVuLCBzbyB3aGF0IGEgdmFsaWRhdGlvbiBzZWVzIGFsd2F5cyByZWZsZWN0cyBvbmx5IHRoZVxuICAgKiBwYXNzIHRoYXQgaXMgYWJvdXQgdG8gYmUgdmFsaWRhdGVkLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVnaXN0ZXJSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlKFxuICAgIGZlYXR1cmU6IFByb3ZpZGVyRmVhdHVyZSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0ZXJQcm92aWRlckZlYXR1cmUoZmVhdHVyZSwgXCJyZXNvbHZlLWRpc2NvdmVyZWRcIik7XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZXMgZXZlcnkgYHJlc29sdmUtZGlzY292ZXJlZGAgcHJvdmlkZXItZmVhdHVyZSByZWdpc3RyYXRpb24gb25cbiAgICogdGhpcyBlbGVtZW50IChzdHJ1Y3R1cmFsIHJlZ2lzdHJhdGlvbnMgYXJlIGxlZnQgdW50b3VjaGVkIC0gc2VlXG4gICAqIGBQcm92aWRlckZlYXR1cmVSZWdpc3RyYXRpb25Nb2RlYCkuIENhbGxlZCBvbmNlIHBlciBzeW50aGVzaXMgcGFzcyxcbiAgICogYmVmb3JlIHRoYXQgcGFzcydzIHByZXBhcmluZyByZXNvbHZlIHJlLWRpc2NvdmVycyB3aGF0ZXZlciB1c2FnZVxuICAgKiBhY3R1YWxseSByZW5kZXJzIGR1cmluZyBpdCAtIHNlZSBgVGVycmFmb3JtU3RhY2suX3J1blByZXBhcmluZ1Jlc29sdmVgLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVzZXRSZXNvbHZlRGlzY292ZXJlZFByb3ZpZGVyRmVhdHVyZVVzYWdlKCk6IHZvaWQge1xuICAgIC8vIE5vdGhpbmcgd2FzIGV2ZXIgcmVnaXN0ZXJlZCBvbiB0aGlzIGVsZW1lbnQ6IHNraXAgYWxsb2NhdGluZyB0aGUgTWFwXG4gICAgLy8ganVzdCB0byBpdGVyYXRlIHplcm8gZW50cmllcy5cbiAgICBpZiAoIXRoaXMuX3JlZ2lzdGVyZWRQcm92aWRlckZlYXR1cmVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAoY29uc3QgcmVnaXN0cmF0aW9uIG9mIHRoaXMuX3JlZ2lzdGVyZWRQcm92aWRlckZlYXR1cmVzLnZhbHVlcygpKSB7XG4gICAgICBpZiAocmVnaXN0cmF0aW9uLm1vZGUgPT09IFwicmVzb2x2ZS1kaXNjb3ZlcmVkXCIpIHtcbiAgICAgICAgcmVnaXN0cmF0aW9uLnZhbGlkYXRpb24uYWN0aXZlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJQcm92aWRlckZlYXR1cmUoXG4gICAgZmVhdHVyZTogUHJvdmlkZXJGZWF0dXJlLFxuICAgIG1vZGU6IFByb3ZpZGVyRmVhdHVyZVJlZ2lzdHJhdGlvbk1vZGUsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5fcmVnaXN0ZXJlZFByb3ZpZGVyRmVhdHVyZXM/LmdldChmZWF0dXJlKTtcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIC8vIEFscmVhZHkgaW5zdGFsbGVkIG9uIHRoaXMgZWxlbWVudDogKHJlLSlhY3RpdmF0ZSBpdCByYXRoZXIgdGhhblxuICAgICAgLy8gc3RhY2tpbmcgYSBzZWNvbmQgbm9kZSB2YWxpZGF0aW9uIGZvciB0aGUgc2FtZSBmZWF0dXJlLlxuICAgICAgZXhpc3RpbmcudmFsaWRhdGlvbi5hY3RpdmUgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHMsIGZlYXR1cmUpXG4gICAgKSB7XG4gICAgICB0aHJvdyB1bmtub3duUHJvdmlkZXJGZWF0dXJlKGZlYXR1cmUpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gcHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHNbZmVhdHVyZV07XG4gICAgY29uc3QgaGludCA9IGAke3Byb3ZpZGVyRmVhdHVyZUhpbnRzW2ZlYXR1cmVdfSBhcmUgYXZhaWxhYmxlIGluICR7T2JqZWN0LmVudHJpZXMoXG4gICAgICBjb25zdHJhaW50cyxcbiAgICApXG4gICAgICAubWFwKChbcHJvZHVjdCwgcmFuZ2VdKSA9PiBgJHtwcm9kdWN0fSAke3JhbmdlfWApXG4gICAgICAuam9pbihcIiBhbmQgXCIpfS5gO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvbiA9IG5ldyBHYXRlZEZlYXR1cmVWYWxpZGF0aW9uKFxuICAgICAgbmV3IFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHByb3ZpZGVyRmVhdHVyZUxhYmVsc1tmZWF0dXJlXSxcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIGhpbnQsXG4gICAgICApLFxuICAgICk7XG5cbiAgICBpZiAoIXRoaXMuX3JlZ2lzdGVyZWRQcm92aWRlckZlYXR1cmVzKSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkUHJvdmlkZXJGZWF0dXJlcyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgdGhpcy5fcmVnaXN0ZXJlZFByb3ZpZGVyRmVhdHVyZXMuc2V0KGZlYXR1cmUsIHsgbW9kZSwgdmFsaWRhdGlvbiB9KTtcbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih2YWxpZGF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBfZnFuVG9rZW4/OiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmcW4oKSB7XG4gICAgaWYgKCF0aGlzLl9mcW5Ub2tlbikge1xuICAgICAgb2soISF0aGlzLl9lbGVtZW50VHlwZSwgXCJFbGVtZW50IHR5cGUgbm90IHNldFwiKTtcbiAgICAgIHRoaXMuX2ZxblRva2VuID0gVG9rZW4uYXNTdHJpbmcoXG4gICAgICAgIHJlZihgJHt0aGlzLl9lbGVtZW50VHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YCwgdGhpcy5jZGt0ZlN0YWNrKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9mcW5Ub2tlbjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZyaWVuZGx5VW5pcXVlSWQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmcmllbmRseVVuaXF1ZUlkKCkge1xuICAgIGlmICghdGhpcy5fZnJpZW5kbHlVbmlxdWVJZCkge1xuICAgICAgaWYgKHRoaXMuX2xvZ2ljYWxJZE92ZXJyaWRlKSB7XG4gICAgICAgIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQgPSB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQgPSB0aGlzLmNka3RmU3RhY2suZ2V0TG9naWNhbElkKHRoaXMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnJpZW5kbHlVbmlxdWVJZDtcbiAgfVxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSBhdXRvLWdlbmVyYXRlZCBsb2dpY2FsIElEIHdpdGggYSBzcGVjaWZpYyBJRC5cbiAgICogQHBhcmFtIG5ld0xvZ2ljYWxJZCBUaGUgbmV3IGxvZ2ljYWwgSUQgdG8gdXNlIGZvciB0aGlzIHN0YWNrIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGVMb2dpY2FsSWQobmV3TG9naWNhbElkOiBzdHJpbmcpIHtcbiAgICBvayhcbiAgICAgICF0aGlzLl9mcW5Ub2tlbixcbiAgICAgIFwiTG9naWNhbCBJRCBtYXkgbm90IGJlIG92ZXJyaWRkZW4gb25jZSAuZnFuIGhhcyBiZWVuIHJlcXVlc3RlZC4gTWFrZSBzdXJlIHRvIG92ZXJyaWRlIHRoZSBpZCBiZWZvcmUgcGFzc2luZyB0aGUgY29uc3RydWN0IHRvIG90aGVyIGNvbnN0cnVjdHMuXCIsXG4gICAgKTtcbiAgICB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSA9IG5ld0xvZ2ljYWxJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgYSBwcmV2aW91c2x5IHBhc3NlZCBsb2dpY2FsIElkIHRvIHVzZSB0aGUgYXV0by1nZW5lcmF0ZWQgbG9naWNhbCBpZCBhZ2FpblxuICAgKi9cbiAgcHVibGljIHJlc2V0T3ZlcnJpZGVMb2dpY2FsSWQoKSB7XG4gICAgb2soXG4gICAgICAhdGhpcy5fZnFuVG9rZW4sXG4gICAgICBcIkxvZ2ljYWwgSUQgbWF5IG5vdCBiZSBvdmVycmlkZGVuIG9uY2UgLmZxbiBoYXMgYmVlbiByZXF1ZXN0ZWQuIFlvdSBjYW4gb25seSByZXNldCB0aGUgb3ZlcnJpZGUgYmVmb3JlIHlvdSBwYXNzIHRoZSBjb25zdHJ1Y3QgdG8gb3RoZXIgY29uc3RydWN0cy5cIixcbiAgICApO1xuICAgIHRoaXMuX2xvZ2ljYWxJZE92ZXJyaWRlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFkZE92ZXJyaWRlKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdChcIi5cIik7XG4gICAgbGV0IGN1cnI6IGFueSA9IHRoaXMucmF3T3ZlcnJpZGVzO1xuXG4gICAgd2hpbGUgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuXG4gICAgICAvLyBpZiB3ZSBjYW4ndCByZWN1cnNlIGZ1cnRoZXIgb3IgdGhlIHByZXZpb3VzIHZhbHVlIGlzIG5vdCBhblxuICAgICAgLy8gb2JqZWN0IG92ZXJ3cml0ZSBpdCB3aXRoIGFuIG9iamVjdC5cbiAgICAgIGNvbnN0IGlzT2JqZWN0ID1cbiAgICAgICAgY3VycltrZXldICE9IG51bGwgJiZcbiAgICAgICAgdHlwZW9mIGN1cnJba2V5XSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheShjdXJyW2tleV0pO1xuICAgICAgaWYgKCFpc09iamVjdCkge1xuICAgICAgICBjdXJyW2tleV0gPSB7fTtcbiAgICAgIH1cblxuICAgICAgY3VyciA9IGN1cnJba2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0S2V5ID0gcGFydHMuc2hpZnQoKSE7XG4gICAgY3VycltsYXN0S2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBjb25zdHJ1Y3ROb2RlTWV0YWRhdGEoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHBhdGg6IHRoaXMubm9kZS5wYXRoLFxuICAgICAgICB1bmlxdWVJZDogdGhpcy5mcmllbmRseVVuaXF1ZUlkLFxuICAgICAgICBzdGFja1RyYWNlOiB0aGlzLm5vZGUubWV0YWRhdGEuZmluZCgoZSkgPT4gZS50eXBlID09PSBcInN0YWNrdHJhY2VcIilcbiAgICAgICAgICA/LnRyYWNlLFxuICAgICAgfSBhcyBUZXJyYWZvcm1FbGVtZW50TWV0YWRhdGEsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -45,6 +45,10 @@ export interface TerraformEphemeralResourceConfig extends TerraformEphemeralMeta
|
|
|
45
45
|
readonly terraformResourceType: string;
|
|
46
46
|
readonly terraformGeneratorMetadata?: TerraformProviderGeneratorMetadata;
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* A Terraform ephemeral resource (`ephemeral` block): a value the provider produces during a run, such as a
|
|
50
|
+
* temporary credential, that is never persisted to plan or state.
|
|
51
|
+
*/
|
|
48
52
|
export declare class TerraformEphemeralResource extends TerraformElement implements ITerraformEphemeralResource, ITerraformDependable, IInterpolatingParent {
|
|
49
53
|
readonly terraformResourceType: string;
|
|
50
54
|
readonly terraformGeneratorMetadata?: TerraformProviderGeneratorMetadata;
|
|
@@ -9,12 +9,14 @@ const util_1 = require("./util");
|
|
|
9
9
|
const tfExpression_1 = require("./tfExpression");
|
|
10
10
|
const terraform_count_1 = require("./terraform-count");
|
|
11
11
|
const provider_feature_constraints_1 = require("./provider-feature-constraints");
|
|
12
|
-
|
|
13
|
-
const assert = require("assert");
|
|
12
|
+
const assert_1 = require("assert");
|
|
14
13
|
const TERRAFORM_EPHEMERAL_RESOURCE_SYMBOL = Symbol.for("cdktf/TerraformEphemeralResource");
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* A Terraform ephemeral resource (`ephemeral` block): a value the provider produces during a run, such as a
|
|
16
|
+
* temporary credential, that is never persisted to plan or state.
|
|
17
|
+
*/
|
|
16
18
|
class TerraformEphemeralResource extends terraform_element_1.TerraformElement {
|
|
17
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformEphemeralResource", version: "0.26.0-pre.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TerraformEphemeralResource", version: "0.26.0-pre.21" };
|
|
18
20
|
terraformResourceType;
|
|
19
21
|
terraformGeneratorMetadata;
|
|
20
22
|
// TerraformEphemeralMetaArguments
|
|
@@ -78,7 +80,7 @@ class TerraformEphemeralResource extends terraform_element_1.TerraformElement {
|
|
|
78
80
|
return tokens_1.Token.asAnyMap(this.interpolationForAttribute(terraformAttribute));
|
|
79
81
|
}
|
|
80
82
|
get terraformMetaArguments() {
|
|
81
|
-
|
|
83
|
+
(0, assert_1.ok)(!this.forEach || typeof this.count === "undefined", `forEach and count are both set, but they are mutually exclusive. You can only use either of them. Check the ephemeral resource at path: ${this.node.path}`);
|
|
82
84
|
return {
|
|
83
85
|
dependsOn: this.dependsOn,
|
|
84
86
|
count: terraform_count_1.TerraformCount.isTerraformCount(this.count)
|
|
@@ -141,4 +143,4 @@ class TerraformEphemeralResource extends terraform_element_1.TerraformElement {
|
|
|
141
143
|
}
|
|
142
144
|
}
|
|
143
145
|
exports.TerraformEphemeralResource = TerraformEphemeralResource;
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVwaGVtZXJhbC1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZXBoZW1lcmFsLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxxQ0FBaUM7QUFDakMsMkRBQXVEO0FBRXZELDZEQUc4QjtBQUU5QixpQ0FLZ0I7QUFFaEIsaURBQWlEO0FBSWpELHVEQUFtRDtBQUNuRCxpRkFBaUU7QUFDakUsaUVBQWlFO0FBQ2pFLGlDQUFrQztBQUVsQyxNQUFNLG1DQUFtQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQ3BELGtDQUFrQyxDQUNuQyxDQUFDO0FBNkNGLCtDQUErQztBQUMvQyxNQUFhLDBCQUNYLFNBQVEsb0NBQWdCOztJQU1SLHFCQUFxQixDQUFTO0lBQzlCLDBCQUEwQixDQUFzQztJQUVoRixrQ0FBa0M7SUFFM0IsU0FBUyxDQUFZO0lBQ3JCLEtBQUssQ0FBMkI7SUFDaEMsUUFBUSxDQUFxQjtJQUM3QixTQUFTLENBQXVDO0lBQ2hELE9BQU8sQ0FBc0I7SUFFcEMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsTUFBd0M7UUFFeEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsYUFBYSxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLG1DQUFtQyxFQUFFO1lBQy9ELEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztRQUMxRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1FBQ3BFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFT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Q0FBQztRQUVGLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNqQixHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQixHQUFHLElBQUksQ0FBQyxxQkFBcUI7U0FDOUIsQ0FBQztRQUVGLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRTtvQkFDNUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxVQUFVO2lCQUNwQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNO2dCQUM5QyxDQUFDLENBQUM7b0JBQ0UsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7aUJBQzdEO2dCQUNILENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxrQkFBMEI7UUFDekQsT0FBTyxJQUFBLGtCQUFHLEVBQ1IsYUFBYSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixHQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3hCLElBQUksa0JBQWtCLEVBQUUsRUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7O0FBOUxILGdFQStMQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgVGVycmFmb3JtUHJvdmlkZXIgfSBmcm9tIFwiLi90ZXJyYWZvcm0tcHJvdmlkZXJcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGEsXG4gIGxpZmVjeWNsZVRvVGVycmFmb3JtLFxufSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbmltcG9ydCB7IFByZWNvbmRpdGlvbiwgUG9zdGNvbmRpdGlvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5pbXBvcnQge1xuICBrZXlzVG9TbmFrZUNhc2UsXG4gIGRlZXBNZXJnZSxcbiAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzLFxuICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXNGb3JIY2wsXG59IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWRlcGVuZGFibGVcIjtcbmltcG9ydCB7IHJlZiwgZGVwZW5kYWJsZSB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnMvcmVzb2x2YWJsZVwiO1xuaW1wb3J0IHsgSUludGVycG9sYXRpbmdQYXJlbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tYWRkcmVzc2FibGVcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgVGVycmFmb3JtQ291bnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tY291bnRcIjtcbmltcG9ydCB7IFByb3ZpZGVyRmVhdHVyZSB9IGZyb20gXCIuL3Byb3ZpZGVyLWZlYXR1cmUtY29uc3RyYWludHNcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5pbXBvcnQgYXNzZXJ0ID0gcmVxdWlyZShcImFzc2VydFwiKTtcblxuY29uc3QgVEVSUkFGT1JNX0VQSEVNRVJBTF9SRVNPVVJDRV9TWU1CT0wgPSBTeW1ib2wuZm9yKFxuICBcImNka3RmL1RlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlXCIsXG4pO1xuXG4vKipcbiAqIExpZmVjeWNsZSBvcHRpb25zIHN1cHBvcnRlZCBieSBUZXJyYWZvcm0gZXBoZW1lcmFsIGJsb2Nrcy4gVW5saWtlIG1hbmFnZWRcbiAqIHJlc291cmNlcywgZXBoZW1lcmFsIHJlc291cmNlcyBoYXZlIG5vIHN0YXRlLCBzbyBUZXJyYWZvcm0gb25seSBzdXBwb3J0c1xuICogYHByZWNvbmRpdGlvbmAvYHBvc3Rjb25kaXRpb25gIGhlcmUgLSBgY3JlYXRlQmVmb3JlRGVzdHJveWAsXG4gKiBgcHJldmVudERlc3Ryb3lgLCBgaWdub3JlQ2hhbmdlc2AsIGFuZCBgcmVwbGFjZVRyaWdnZXJlZEJ5YCBhcmUgYWxsXG4gKiBzdGF0ZS1vcmllbnRlZCBjb25jZXB0cyB0aGF0IGRvIG5vdCBhcHBseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUxpZmVjeWNsZSB7XG4gIHJlYWRvbmx5IHByZWNvbmRpdGlvbj86IFByZWNvbmRpdGlvbltdO1xuICByZWFkb25seSBwb3N0Y29uZGl0aW9uPzogUG9zdGNvbmRpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHRlcnJhZm9ybVJlc291cmNlVHlwZTogc3RyaW5nO1xuICByZWFkb25seSBmcW46IHN0cmluZztcbiAgcmVhZG9ubHkgZnJpZW5kbHlVbmlxdWVJZDogc3RyaW5nO1xuXG4gIGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuICBjb3VudD86IG51bWJlciB8IFRlcnJhZm9ybUNvdW50O1xuICBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICBsaWZlY3ljbGU/OiBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUxpZmVjeWNsZTtcbiAgZm9yRWFjaD86IElUZXJyYWZvcm1JdGVyYXRvcjtcblxuICBpbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKTogSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogTWV0YS1hcmd1bWVudHMgYWNjZXB0ZWQgYnkgZXBoZW1lcmFsIHJlc291cmNlcy4gVGVycmFmb3JtIGVwaGVtZXJhbCBibG9ja3NcbiAqIGRvIG5vdCBzdXBwb3J0IHByb3Zpc2lvbmVycyBvciBjb25uZWN0aW9uIGJsb2NrcywgdW5saWtlIG1hbmFnZWQgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUVwaGVtZXJhbE1ldGFBcmd1bWVudHMge1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICByZWFkb25seSBjb3VudD86IG51bWJlciB8IFRlcnJhZm9ybUNvdW50O1xuICByZWFkb25seSBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICByZWFkb25seSBsaWZlY3ljbGU/OiBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUxpZmVjeWNsZTtcbiAgcmVhZG9ubHkgZm9yRWFjaD86IElUZXJyYWZvcm1JdGVyYXRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUNvbmZpZyBleHRlbmRzIFRlcnJhZm9ybUVwaGVtZXJhbE1ldGFBcmd1bWVudHMge1xuICByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/OiBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzXG4gICAgSVRlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlLFxuICAgIElUZXJyYWZvcm1EZXBlbmRhYmxlLFxuICAgIElJbnRlcnBvbGF0aW5nUGFyZW50XG57XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPzogVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YTtcblxuICAvLyBUZXJyYWZvcm1FcGhlbWVyYWxNZXRhQXJndW1lbnRzXG5cbiAgcHVibGljIGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuICBwdWJsaWMgY291bnQ/OiBudW1iZXIgfCBUZXJyYWZvcm1Db3VudDtcbiAgcHVibGljIHByb3ZpZGVyPzogVGVycmFmb3JtUHJvdmlkZXI7XG4gIHB1YmxpYyBsaWZlY3ljbGU/OiBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUxpZmVjeWNsZTtcbiAgcHVibGljIGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbmZpZzogVGVycmFmb3JtRXBoZW1lcmFsUmVzb3VyY2VDb25maWcsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgYGVwaGVtZXJhbC4ke2NvbmZpZy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9YCk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFRFUlJBRk9STV9FUEhFTUVSQUxfUkVTT1VSQ0VfU1lNQk9MLCB7XG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlID0gY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZTtcbiAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhID0gY29uZmlnLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZy5kZXBlbmRzT24pKSB7XG4gICAgICB0aGlzLmRlcGVuZHNPbiA9IGNvbmZpZy5kZXBlbmRzT24ubWFwKChkZXBlbmRlbmN5KSA9PlxuICAgICAgICBkZXBlbmRhYmxlKGRlcGVuZGVuY3kpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jb3VudCA9IGNvbmZpZy5jb3VudDtcbiAgICB0aGlzLnByb3ZpZGVyID0gY29uZmlnLnByb3ZpZGVyO1xuICAgIHRoaXMubGlmZWN5Y2xlID0gY29uZmlnLmxpZmVjeWNsZTtcbiAgICB0aGlzLmZvckVhY2ggPSBjb25maWcuZm9yRWFjaDtcblxuICAgIC8vIEV2ZXJ5IGVwaGVtZXJhbCByZXNvdXJjZSB1bmNvbmRpdGlvbmFsbHkgdXNlcyB0aGUgZXBoZW1lcmFsLXJlc291cmNlc1xuICAgIC8vIHByb3ZpZGVyLXByb3RvY29sIGZlYXR1cmUgZmFtaWx5ICh1bmxpa2UgZS5nLiB3cml0ZS1vbmx5IGF0dHJpYnV0ZXMsXG4gICAgLy8gd2hpY2ggYXJlIG9wdC1pbiBwZXIgYXR0cmlidXRlKSwgc28gdGhpcyBpcyByZWdpc3RlcmVkIG9uY2UgaGVyZVxuICAgIC8vIHJhdGhlciB0aGFuIGJ5IGdlbmVyYXRlZCBiaW5kaW5ncy4gR29lcyB0aHJvdWdoIHRoZSBzYW1lXG4gICAgLy8gYHJlZ2lzdGVyUHJvdmlkZXJGZWF0dXJlVXNhZ2VgIGhvb2sgKGluaGVyaXRlZCBmcm9tIGBUZXJyYWZvcm1FbGVtZW50YClcbiAgICAvLyB0aGF0IGdlbmVyYXRlZCBiaW5kaW5ncyB1c2UsIGZvciBpZGVudGljYWwgbWVzc2FnZS9kZWR1cCBiZWhhdmlvci5cbiAgICB0aGlzLnJlZ2lzdGVyUHJvdmlkZXJGZWF0dXJlVXNhZ2UoUHJvdmlkZXJGZWF0dXJlLkVQSEVNRVJBTF9SRVNPVVJDRVMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlKFxuICAgIHg6IGFueSxcbiAgKTogeCBpcyBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHggIT09IG51bGwgJiZcbiAgICAgIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmXG4gICAgICBURVJSQUZPUk1fRVBIRU1FUkFMX1JFU09VUkNFX1NZTUJPTCBpbiB4XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHJpbmdBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcih0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc0xpc3QodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEJvb2xlYW5BdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyTGlzdEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlckxpc3QoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZ01hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZ01hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCb29sZWFuTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQm9vbGVhbk1hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QW55TWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGVycmFmb3JtTWV0YUFyZ3VtZW50cygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgYXNzZXJ0KFxuICAgICAgIXRoaXMuZm9yRWFjaCB8fCB0eXBlb2YgdGhpcy5jb3VudCA9PT0gXCJ1bmRlZmluZWRcIixcbiAgICAgIGBmb3JFYWNoIGFuZCBjb3VudCBhcmUgYm90aCBzZXQsIGJ1dCB0aGV5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIFlvdSBjYW4gb25seSB1c2UgZWl0aGVyIG9mIHRoZW0uIENoZWNrIHRoZSBlcGhlbWVyYWwgcmVzb3VyY2UgYXQgcGF0aDogJHt0aGlzLm5vZGUucGF0aH1gLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGVwZW5kc09uOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBUZXJyYWZvcm1Db3VudC5pc1RlcnJhZm9ybUNvdW50KHRoaXMuY291bnQpXG4gICAgICAgID8gdGhpcy5jb3VudC50b1RlcnJhZm9ybSgpXG4gICAgICAgIDogdGhpcy5jb3VudCxcbiAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyPy5mcW4sXG4gICAgICBsaWZlY3ljbGU6IGxpZmVjeWNsZVRvVGVycmFmb3JtKHRoaXMubGlmZWN5Y2xlKSxcbiAgICAgIGZvckVhY2g6IHRoaXMuZm9yRWFjaD8uX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgfTtcbiAgfVxuXG4gIC8vIGpzaWkgY2FuJ3QgaGFuZGxlIGFic3RyYWN0IGNsYXNzZXM/XG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyBlcGhlbWVyYWwgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBkZWVwTWVyZ2UoXG4gICAgICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXModGhpcy5zeW50aGVzaXplQXR0cmlidXRlcygpKSxcbiAgICAgIGtleXNUb1NuYWtlQ2FzZSh0aGlzLnRlcnJhZm9ybU1ldGFBcmd1bWVudHMpLFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHtcbiAgICAgIC4uLihhdHRyaWJ1dGVzW1wiLy9cIl0gPz8ge30pLFxuICAgICAgLi4udGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGEsXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBlcGhlbWVyYWw6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBhdHRyaWJ1dGVzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCh0aGlzLnN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCkpLFxuICAgICAga2V5c1RvU25ha2VDYXNlKHRoaXMudGVycmFmb3JtTWV0YUFyZ3VtZW50cyksXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0ge1xuICAgICAgLi4uKGF0dHJpYnV0ZXNbXCIvL1wiXSA/PyB7fSksXG4gICAgICAuLi50aGlzLmNvbnN0cnVjdE5vZGVNZXRhZGF0YSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVwaGVtZXJhbDoge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGF0dHJpYnV0ZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGhcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVmKFxuICAgICAgYGVwaGVtZXJhbC4ke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH0ke1xuICAgICAgICB0aGlzLmZvckVhY2ggPyBcIi4qXCIgOiBcIlwiXG4gICAgICB9LiR7dGVycmFmb3JtQXR0cmlidXRlfWAsXG4gICAgICB0aGlzLmNka3RmU3RhY2ssXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVwaGVtZXJhbC1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZXBoZW1lcmFsLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxxQ0FBaUM7QUFDakMsMkRBQXVEO0FBRXZELDZEQUc4QjtBQUU5QixpQ0FLZ0I7QUFFaEIsaURBQWlEO0FBSWpELHVEQUFtRDtBQUNuRCxpRkFBaUU7QUFDakUsbUNBQXNDO0FBRXRDLE1BQU0sbUNBQW1DLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDcEQsa0NBQWtDLENBQ25DLENBQUM7QUE2Q0Y7OztHQUdHO0FBQ0gsTUFBYSwwQkFDWCxTQUFRLG9DQUFnQjs7SUFNUixxQkFBcUIsQ0FBUztJQUM5QiwwQkFBMEIsQ0FBc0M7SUFFaEYsa0NBQWtDO0lBRTNCLFNBQVMsQ0FBWTtJQUNyQixLQUFLLENBQTJCO0lBQ2hDLFFBQVEsQ0FBcUI7SUFDN0IsU0FBUyxDQUF1QztJQUNoRCxPQUFPLENBQXNCO0lBRXBDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLE1BQXdDO1FBRXhDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLGFBQWEsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxtQ0FBbUMsRUFBRTtZQUMvRCxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQztRQUNwRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FB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LFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNqQixHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQixHQUFHLElBQUksQ0FBQyxxQkFBcUI7U0FDOUIsQ0FBQztRQUVGLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRTtvQkFDNUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxVQUFVO2lCQUNwQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNO2dCQUM5QyxDQUFDLENBQUM7b0JBQ0UsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7aUJBQzdEO2dCQUNILENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxrQkFBMEI7UUFDekQsT0FBTyxJQUFBLGtCQUFHLEVBQ1IsYUFBYSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixHQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3hCLElBQUksa0JBQWtCLEVBQUUsRUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7O0FBOUxILGdFQStMQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgVGVycmFmb3JtUHJvdmlkZXIgfSBmcm9tIFwiLi90ZXJyYWZvcm0tcHJvdmlkZXJcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGEsXG4gIGxpZmVjeWNsZVRvVGVycmFmb3JtLFxufSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbmltcG9ydCB7IFByZWNvbmRpdGlvbiwgUG9zdGNvbmRpdGlvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5pbXBvcnQge1xuICBrZXlzVG9TbmFrZUNhc2UsXG4gIGRlZXBNZXJnZSxcbiAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzLFxuICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXNGb3JIY2wsXG59IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWRlcGVuZGFibGVcIjtcbmltcG9ydCB7IHJlZiwgZGVwZW5kYWJsZSB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnMvcmVzb2x2YWJsZVwiO1xuaW1wb3J0IHsgSUludGVycG9sYXRpbmdQYXJlbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tYWRkcmVzc2FibGVcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgVGVycmFmb3JtQ291bnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tY291bnRcIjtcbmltcG9ydCB7IFByb3ZpZGVyRmVhdHVyZSB9IGZyb20gXCIuL3Byb3ZpZGVyLWZlYXR1cmUtY29uc3RyYWludHNcIjtcbmltcG9ydCB7IG9rIGFzIGFzc2VydCB9IGZyb20gXCJhc3NlcnRcIjtcblxuY29uc3QgVEVSUkFGT1JNX0VQSEVNRVJBTF9SRVNPVVJDRV9TWU1CT0wgPSBTeW1ib2wuZm9yKFxuICBcImNka3RmL1RlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlXCIsXG4pO1xuXG4vKipcbiAqIExpZmVjeWNsZSBvcHRpb25zIHN1cHBvcnRlZCBieSBUZXJyYWZvcm0gZXBoZW1lcmFsIGJsb2Nrcy4gVW5saWtlIG1hbmFnZWRcbiAqIHJlc291cmNlcywgZXBoZW1lcmFsIHJlc291cmNlcyBoYXZlIG5vIHN0YXRlLCBzbyBUZXJyYWZvcm0gb25seSBzdXBwb3J0c1xuICogYHByZWNvbmRpdGlvbmAvYHBvc3Rjb25kaXRpb25gIGhlcmUgLSBgY3JlYXRlQmVmb3JlRGVzdHJveWAsXG4gKiBgcHJldmVudERlc3Ryb3lgLCBgaWdub3JlQ2hhbmdlc2AsIGFuZCBgcmVwbGFjZVRyaWdnZXJlZEJ5YCBhcmUgYWxsXG4gKiBzdGF0ZS1vcmllbnRlZCBjb25jZXB0cyB0aGF0IGRvIG5vdCBhcHBseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUxpZmVjeWNsZSB7XG4gIHJlYWRvbmx5IHByZWNvbmRpdGlvbj86IFByZWNvbmRpdGlvbltdO1xuICByZWFkb25seSBwb3N0Y29uZGl0aW9uPzogUG9zdGNvbmRpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHRlcnJhZm9ybVJlc291cmNlVHlwZTogc3RyaW5nO1xuICByZWFkb25seSBmcW46IHN0cmluZztcbiAgcmVhZG9ubHkgZnJpZW5kbHlVbmlxdWVJZDogc3RyaW5nO1xuXG4gIGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuICBjb3VudD86IG51bWJlciB8IFRlcnJhZm9ybUNvdW50O1xuICBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICBsaWZlY3ljbGU/OiBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUxpZmVjeWNsZTtcbiAgZm9yRWFjaD86IElUZXJyYWZvcm1JdGVyYXRvcjtcblxuICBpbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKTogSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogTWV0YS1hcmd1bWVudHMgYWNjZXB0ZWQgYnkgZXBoZW1lcmFsIHJlc291cmNlcy4gVGVycmFmb3JtIGVwaGVtZXJhbCBibG9ja3NcbiAqIGRvIG5vdCBzdXBwb3J0IHByb3Zpc2lvbmVycyBvciBjb25uZWN0aW9uIGJsb2NrcywgdW5saWtlIG1hbmFnZWQgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUVwaGVtZXJhbE1ldGFBcmd1bWVudHMge1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICByZWFkb25seSBjb3VudD86IG51bWJlciB8IFRlcnJhZm9ybUNvdW50O1xuICByZWFkb25seSBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICByZWFkb25seSBsaWZlY3ljbGU/OiBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUxpZmVjeWNsZTtcbiAgcmVhZG9ubHkgZm9yRWFjaD86IElUZXJyYWZvcm1JdGVyYXRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZUNvbmZpZyBleHRlbmRzIFRlcnJhZm9ybUVwaGVtZXJhbE1ldGFBcmd1bWVudHMge1xuICByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/OiBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEEgVGVycmFmb3JtIGVwaGVtZXJhbCByZXNvdXJjZSAoYGVwaGVtZXJhbGAgYmxvY2spOiBhIHZhbHVlIHRoZSBwcm92aWRlciBwcm9kdWNlcyBkdXJpbmcgYSBydW4sIHN1Y2ggYXMgYVxuICogdGVtcG9yYXJ5IGNyZWRlbnRpYWwsIHRoYXQgaXMgbmV2ZXIgcGVyc2lzdGVkIHRvIHBsYW4gb3Igc3RhdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZVxuICBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnRcbiAgaW1wbGVtZW50c1xuICAgIElUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZSxcbiAgICBJVGVycmFmb3JtRGVwZW5kYWJsZSxcbiAgICBJSW50ZXJwb2xhdGluZ1BhcmVudFxue1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT86IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGE7XG5cbiAgLy8gVGVycmFmb3JtRXBoZW1lcmFsTWV0YUFyZ3VtZW50c1xuXG4gIHB1YmxpYyBkZXBlbmRzT24/OiBzdHJpbmdbXTtcbiAgcHVibGljIGNvdW50PzogbnVtYmVyIHwgVGVycmFmb3JtQ291bnQ7XG4gIHB1YmxpYyBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICBwdWJsaWMgbGlmZWN5Y2xlPzogVGVycmFmb3JtRXBoZW1lcmFsUmVzb3VyY2VMaWZlY3ljbGU7XG4gIHB1YmxpYyBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBjb25maWc6IFRlcnJhZm9ybUVwaGVtZXJhbFJlc291cmNlQ29uZmlnLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIGBlcGhlbWVyYWwuJHtjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfWApO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fRVBIRU1FUkFMX1JFU09VUkNFX1NZTUJPTCwge1xuICAgICAgdmFsdWU6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZSA9IGNvbmZpZy50ZXJyYWZvcm1SZXNvdXJjZVR5cGU7XG4gICAgdGhpcy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YSA9IGNvbmZpZy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb25maWcuZGVwZW5kc09uKSkge1xuICAgICAgdGhpcy5kZXBlbmRzT24gPSBjb25maWcuZGVwZW5kc09uLm1hcCgoZGVwZW5kZW5jeSkgPT5cbiAgICAgICAgZGVwZW5kYWJsZShkZXBlbmRlbmN5KSxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY291bnQgPSBjb25maWcuY291bnQ7XG4gICAgdGhpcy5wcm92aWRlciA9IGNvbmZpZy5wcm92aWRlcjtcbiAgICB0aGlzLmxpZmVjeWNsZSA9IGNvbmZpZy5saWZlY3ljbGU7XG4gICAgdGhpcy5mb3JFYWNoID0gY29uZmlnLmZvckVhY2g7XG5cbiAgICAvLyBFdmVyeSBlcGhlbWVyYWwgcmVzb3VyY2UgdW5jb25kaXRpb25hbGx5IHVzZXMgdGhlIGVwaGVtZXJhbC1yZXNvdXJjZXNcbiAgICAvLyBwcm92aWRlci1wcm90b2NvbCBmZWF0dXJlIGZhbWlseSAodW5saWtlIGUuZy4gd3JpdGUtb25seSBhdHRyaWJ1dGVzLFxuICAgIC8vIHdoaWNoIGFyZSBvcHQtaW4gcGVyIGF0dHJpYnV0ZSksIHNvIHRoaXMgaXMgcmVnaXN0ZXJlZCBvbmNlIGhlcmVcbiAgICAvLyByYXRoZXIgdGhhbiBieSBnZW5lcmF0ZWQgYmluZGluZ3MuIEdvZXMgdGhyb3VnaCB0aGUgc2FtZVxuICAgIC8vIGByZWdpc3RlclByb3ZpZGVyRmVhdHVyZVVzYWdlYCBob29rIChpbmhlcml0ZWQgZnJvbSBgVGVycmFmb3JtRWxlbWVudGApXG4gICAgLy8gdGhhdCBnZW5lcmF0ZWQgYmluZGluZ3MgdXNlLCBmb3IgaWRlbnRpY2FsIG1lc3NhZ2UvZGVkdXAgYmVoYXZpb3IuXG4gICAgdGhpcy5yZWdpc3RlclByb3ZpZGVyRmVhdHVyZVVzYWdlKFByb3ZpZGVyRmVhdHVyZS5FUEhFTUVSQUxfUkVTT1VSQ0VTKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1FcGhlbWVyYWxSZXNvdXJjZShcbiAgICB4OiBhbnksXG4gICk6IHggaXMgVGVycmFmb3JtRXBoZW1lcmFsUmVzb3VyY2Uge1xuICAgIHJldHVybiAoXG4gICAgICB4ICE9PSBudWxsICYmXG4gICAgICB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgVEVSUkFGT1JNX0VQSEVNRVJBTF9SRVNPVVJDRV9TWU1CT0wgaW4geFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RyaW5nQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldExpc3RBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCb29sZWFuQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlckxpc3RBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJMaXN0KFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHJpbmdNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmdNYXAoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlck1hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlck1hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbk1hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc0Jvb2xlYW5NYXAoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFueU1hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc0FueU1hcCh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlcnJhZm9ybU1ldGFBcmd1bWVudHMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGFzc2VydChcbiAgICAgICF0aGlzLmZvckVhY2ggfHwgdHlwZW9mIHRoaXMuY291bnQgPT09IFwidW5kZWZpbmVkXCIsXG4gICAgICBgZm9yRWFjaCBhbmQgY291bnQgYXJlIGJvdGggc2V0LCBidXQgdGhleSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBZb3UgY2FuIG9ubHkgdXNlIGVpdGhlciBvZiB0aGVtLiBDaGVjayB0aGUgZXBoZW1lcmFsIHJlc291cmNlIGF0IHBhdGg6ICR7dGhpcy5ub2RlLnBhdGh9YCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBjb3VudDogVGVycmFmb3JtQ291bnQuaXNUZXJyYWZvcm1Db3VudCh0aGlzLmNvdW50KVxuICAgICAgICA/IHRoaXMuY291bnQudG9UZXJyYWZvcm0oKVxuICAgICAgICA6IHRoaXMuY291bnQsXG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcj8uZnFuLFxuICAgICAgbGlmZWN5Y2xlOiBsaWZlY3ljbGVUb1RlcnJhZm9ybSh0aGlzLmxpZmVjeWNsZSksXG4gICAgICBmb3JFYWNoOiB0aGlzLmZvckVhY2g/Ll9nZXRGb3JFYWNoRXhwcmVzc2lvbigpLFxuICAgIH07XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgZXBoZW1lcmFsIHJlc291cmNlIHRvIHRoZSB0ZXJyYWZvcm0gSlNPTiBvdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gZGVlcE1lcmdlKFxuICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzKHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSksXG4gICAgICBrZXlzVG9TbmFrZUNhc2UodGhpcy50ZXJyYWZvcm1NZXRhQXJndW1lbnRzKSxcbiAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICk7XG5cbiAgICBhdHRyaWJ1dGVzW1wiLy9cIl0gPSB7XG4gICAgICAuLi4oYXR0cmlidXRlc1tcIi8vXCJdID8/IHt9KSxcbiAgICAgIC4uLnRoaXMuY29uc3RydWN0Tm9kZU1ldGFkYXRhLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgZXBoZW1lcmFsOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IHtcbiAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBkZWVwTWVyZ2UoXG4gICAgICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXNGb3JIY2wodGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpKSxcbiAgICAgIGtleXNUb1NuYWtlQ2FzZSh0aGlzLnRlcnJhZm9ybU1ldGFBcmd1bWVudHMpLFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHtcbiAgICAgIC4uLihhdHRyaWJ1dGVzW1wiLy9cIl0gPz8ge30pLFxuICAgICAgLi4udGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGEsXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBlcGhlbWVyYWw6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBhdHRyaWJ1dGVzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcnJpZGVzOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoXG4gICAgICAgID8ge1xuICAgICAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlZihcbiAgICAgIGBlcGhlbWVyYWwuJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9JHtcbiAgICAgICAgdGhpcy5mb3JFYWNoID8gXCIuKlwiIDogXCJcIlxuICAgICAgfS4ke3RlcnJhZm9ybUF0dHJpYnV0ZX1gLFxuICAgICAgdGhpcy5jZGt0ZlN0YWNrLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Expression } from ".";
|
|
2
2
|
import { FnGenerated } from "./functions/terraform-functions.generated";
|
|
3
|
+
/**
|
|
4
|
+
* Terraform and OpenTofu built-in functions, callable from CDK code; each call produces a token that renders as the
|
|
5
|
+
* corresponding function call in the synthesized configuration.
|
|
6
|
+
*/
|
|
3
7
|
export declare class Fn extends FnGenerated {
|
|
4
8
|
/**
|
|
5
9
|
* {@link https://developer.hashicorp.com/terraform/language/functions/bcrypt bcrypt} computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems.
|
|
@@ -7,9 +7,12 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
7
7
|
const _1 = require(".");
|
|
8
8
|
const helpers_1 = require("./functions/helpers");
|
|
9
9
|
const terraform_functions_generated_1 = require("./functions/terraform-functions.generated");
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Terraform and OpenTofu built-in functions, callable from CDK code; each call produces a token that renders as the
|
|
12
|
+
* corresponding function call in the synthesized configuration.
|
|
13
|
+
*/
|
|
11
14
|
class Fn extends terraform_functions_generated_1.FnGenerated {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Fn", version: "0.26.0-pre.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Fn", version: "0.26.0-pre.21" };
|
|
13
16
|
/**
|
|
14
17
|
* {@link https://developer.hashicorp.com/terraform/language/functions/bcrypt bcrypt} computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems.
|
|
15
18
|
* @param {string} str
|
|
@@ -84,4 +87,4 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
|
|
|
84
87
|
}
|
|
85
88
|
}
|
|
86
89
|
exports.Fn = Fn;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHdCQUE4RTtBQUM5RSxpREFBNEM7QUFDNUMsNkZBQXdFO0FBRXhFOzs7R0FHRztBQUNILE1BQWEsRUFBRyxTQUFRLDJDQUFXOztJQUNqQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFXLEVBQUUsSUFBYTtRQUN0QywwRkFBMEY7UUFDMUYsK0VBQStFO1FBQy9FLCtIQUErSDtRQUMvSCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsU0FBcUIsRUFDckIsU0FBcUIsRUFDckIsVUFBc0I7UUFFdEIsT0FBTyxJQUFBLGNBQVcsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBYSxFQUFFLEdBQVcsRUFBRSxZQUFrQjtRQUMxRCxzRkFBc0Y7UUFDdEYsSUFBSSxZQUFZLEtBQUssU0FBUztZQUM1QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDL0IsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZO2FBQ3pELENBQUMsQ0FBQztRQUNMLE9BQU8sSUFBQSxlQUFLLEVBQUMsSUFBQSxpQkFBYyxFQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtFQUErRTtJQUNoSSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWEsRUFBRSxJQUFXO1FBQzVDLE9BQU8sSUFBQSxlQUFLLEVBQUMsSUFBQSxpQkFBYyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFpQixFQUFFLElBQWM7UUFDM0MsZ0dBQWdHO1FBQ2hHLG1FQUFtRTtRQUNuRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsSUFBSSxHQUFHLENBQUM7UUFDeEQsa0VBQWtFO1FBQ2xFLDBFQUEwRTtRQUMxRSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDMUIsT0FBTyxRQUFLLENBQUMsUUFBUSxDQUFDLElBQUEsWUFBUyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUFsRkgsZ0JBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IGNvbmRpdGlvbmFsLCBFeHByZXNzaW9uLCBwcm9wZXJ0eUFjY2VzcywgcmF3U3RyaW5nLCBUb2tlbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBhc0FueSB9IGZyb20gXCIuL2Z1bmN0aW9ucy9oZWxwZXJzXCI7XG5pbXBvcnQgeyBGbkdlbmVyYXRlZCB9IGZyb20gXCIuL2Z1bmN0aW9ucy90ZXJyYWZvcm0tZnVuY3Rpb25zLmdlbmVyYXRlZFwiO1xuXG4vKipcbiAqIFRlcnJhZm9ybSBhbmQgT3BlblRvZnUgYnVpbHQtaW4gZnVuY3Rpb25zLCBjYWxsYWJsZSBmcm9tIENESyBjb2RlOyBlYWNoIGNhbGwgcHJvZHVjZXMgYSB0b2tlbiB0aGF0IHJlbmRlcnMgYXMgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGZ1bmN0aW9uIGNhbGwgaW4gdGhlIHN5bnRoZXNpemVkIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBGbiBleHRlbmRzIEZuR2VuZXJhdGVkIHtcbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL2RldmVsb3Blci5oYXNoaWNvcnAuY29tL3RlcnJhZm9ybS9sYW5ndWFnZS9mdW5jdGlvbnMvYmNyeXB0IGJjcnlwdH0gY29tcHV0ZXMgYSBoYXNoIG9mIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIEJsb3dmaXNoIGNpcGhlciwgcmV0dXJuaW5nIGEgc3RyaW5nIGluIFt0aGUgX01vZHVsYXIgQ3J5cHQgRm9ybWF0X10oaHR0cHM6Ly9wYXNzbGliLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9tb2R1bGFyX2NyeXB0X2Zvcm1hdC5odG1sKSB1c3VhbGx5IGV4cGVjdGVkIGluIHRoZSBzaGFkb3cgcGFzc3dvcmQgZmlsZSBvbiBtYW55IFVuaXggc3lzdGVtcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKiBAcGFyYW0ge251bWJlcn0gW2Nvc3RdXG4gICAqL1xuICBzdGF0aWMgYmNyeXB0KHN0cjogc3RyaW5nLCBjb3N0PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGJjcnlwdCgpIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgdmFyaWFkaWMgcGFyYW1ldGVyIGFuZCBub3QgbXVsdGlwbGVcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm90aGluZyBpbiB0aGUgc2NoZW1hIHRoYXQgcmVwcmVzZW50cyB0aGlzIHJ1bnRpbWUgY2hlY2s6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0vYmxvYi82YWIzZmFmNWY2NWE5MGFlMWU1YmQwNjI1ZmE5ZTgzYzBiMzRjNWUxL2ludGVybmFsL2xhbmcvZnVuY3MvY3J5cHRvLmdvI0wxMTUtTDExN1xuICAgIHJldHVybiBGbi5fYmNyeXB0KHN0ciwgY29zdCA/IFtjb3N0XSA6IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29uZGl0aW9uYWxzfSBBIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gdXNlcyB0aGUgdmFsdWUgb2YgYSBib29sZWFuIGV4cHJlc3Npb24gdG8gc2VsZWN0IG9uZSBvZiB0d28gdmFsdWVzLlxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IHRydWVWYWx1ZVxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGZhbHNlVmFsdWVcbiAgICovXG4gIHN0YXRpYyBjb25kaXRpb25hbChcbiAgICBjb25kaXRpb246IEV4cHJlc3Npb24sXG4gICAgdHJ1ZVZhbHVlOiBFeHByZXNzaW9uLFxuICAgIGZhbHNlVmFsdWU6IEV4cHJlc3Npb24sXG4gICk6IGFueSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsKGNvbmRpdGlvbiwgdHJ1ZVZhbHVlLCBmYWxzZVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZnVuY3Rpb25zL2xvb2t1cCBsb29rdXB9IHJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBzaW5nbGUgZWxlbWVudCBmcm9tIGEgbWFwLCBnaXZlbiBpdHMga2V5LiBJZiB0aGUgZ2l2ZW4ga2V5IGRvZXMgbm90IGV4aXN0LCB0aGUgZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge2FueX0gaW5wdXRNYXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge2FueX0gW2RlZmF1bHRWYWx1ZV1cbiAgICovXG4gIHN0YXRpYyBsb29rdXAoaW5wdXRNYXA6IGFueSwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgbG9va3VwKCkgdXNlcyBhIHZhcmlhZGljIGFyZ3VtZW50IGZvciBpdHMgb3B0aW9uYWwgZGVmYXVsdFZhbHVlXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgcmV0dXJuIEZuLl9sb29rdXAoaW5wdXRNYXAsIGtleSwgW1xuICAgICAgICBkZWZhdWx0VmFsdWUgPT09IG51bGwgPyBUb2tlbi5udWxsVmFsdWUoKSA6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIF0pO1xuICAgIHJldHVybiBhc0FueShwcm9wZXJ0eUFjY2VzcyhpbnB1dE1hcCwgW2tleV0pKTsgLy8gLT4gcmVuZGVycyBpbnB1dE1hcFtrZXldICh3aGljaCBpcyByZWNvbW1lbmRlZCBpZiBubyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgYSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiB0aGF0IGFjY2Vzc2VzIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiB0aGUgZ2l2ZW4gaW5wdXRNYXAuXG4gICAqIEZvciBleGFtcGxlIGxvb2t1cE5lc3RlZCh4LCBbXCJhXCIsIFwiYlwiLCBcImNcIl0pIHdpbGwgcmV0dXJuIGEgVGVycmFmb3JtIGV4cHJlc3Npb24gbGlrZSB4W1wiYVwiXVtcImJcIl1bXCJjXCJdXG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dE1hcFxuICAgKiBAcGFyYW0ge0FycmF5PGFueT59IHBhdGhcbiAgICovXG4gIHN0YXRpYyBsb29rdXBOZXN0ZWQoaW5wdXRNYXA6IGFueSwgcGF0aDogYW55W10pIHtcbiAgICByZXR1cm4gYXNBbnkocHJvcGVydHlBY2Nlc3MoaW5wdXRNYXAsIHBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZnVuY3Rpb25zL2pvaW4gam9pbn0gcHJvZHVjZXMgYSBzdHJpbmcgYnkgY29uY2F0ZW5hdGluZyB0b2dldGhlciBhbGwgZWxlbWVudHMgb2YgYSBnaXZlbiBsaXN0IG9mIHN0cmluZ3Mgd2l0aCB0aGUgZ2l2ZW4gZGVsaW1pdGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbGlzdFxuICAgKi9cbiAgc3RhdGljIGpvaW4oc2VwYXJhdG9yOiBzdHJpbmcsIGxpc3Q6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGpvaW4oKSBzdXBwb3J0cyBwYXNzaW5nIG11bHRpcGxlIGxpc3RzIHRvIGl0IGUuZy4gam9pbihzZXAsIGxpc3RBLCBsaXN0QilcbiAgICAvLyB3aGljaCB3ZSBjYW4ndCBtb2RlbCBhcyBKU0lJIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFkaWMgYXJndW1lbnRzXG4gICAgcmV0dXJuIEZuLl9qb2luKHNlcGFyYXRvciwgW2xpc3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZnVuY3Rpb25zL3JhbmdlIHJhbmdlfSBnZW5lcmF0ZXMgYSBsaXN0IG9mIG51bWJlcnMgdXNpbmcgYSBzdGFydCB2YWx1ZSwgYSBsaW1pdCB2YWx1ZSwgYW5kIGEgc3RlcCB2YWx1ZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgbGltaXQ6IG51bWJlciwgc3RlcCA9IDEpIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIHRoZSBzdGVwIHBhcmFtIGluIHJhbmdlKCkgaXMgb3B0aW9uYWwgd2hpY2hcbiAgICAvLyB0aGUgVGVycmFmb3JtIGZ1bmN0aW9ucyBzY2hlbWEgcmVwcmVzZW50cyBhcyBhIHNpbmdsZSB2YXJpYWRpYyBhcmd1bWVudFxuICAgIHJldHVybiBGbi5fcmFuZ2UoW3N0YXJ0LCBsaW1pdCwgc3RlcF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHdyYXAgYSBzdHJpbmcgYW5kIGVzY2FwZSBpdCBwcm9wZXJseSBmb3IgdGhlIHVzZSBpbiBUZXJyYWZvcm1cbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpbiBjZXJ0YWluIHNjZW5hcmlvcyAoZS5nLiwgaWYgeW91IGhhdmUgdW5lc2NhcGVkIGRvdWJsZSBxdW90ZXMgaW4gdGhlIHN0cmluZylcbiAgICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICAgKi9cbiAgc3RhdGljIHJhd1N0cmluZyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHJhd1N0cmluZyhzdHIpKTtcbiAgfVxufVxuIl19
|
|
@@ -6,6 +6,10 @@ export interface TerraformHclModuleConfig extends TerraformModuleConfig {
|
|
|
6
6
|
[key: string]: any;
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* A Terraform module (`module` block) used without generated bindings: input variables are set by name and outputs
|
|
11
|
+
* are read by name.
|
|
12
|
+
*/
|
|
9
13
|
export declare class TerraformHclModule extends TerraformModule {
|
|
10
14
|
private _variables?;
|
|
11
15
|
constructor(scope: Construct, id: string, options: TerraformHclModuleConfig);
|