@cdktn/provider-generator 0.24.0-pre.87 → 0.24.0-pre.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/__tests__/edge-provider-schema/builder.d.ts +9 -3
- package/build/__tests__/edge-provider-schema/builder.js +6 -3
- package/build/__tests__/edge-provider-schema/index.js +119 -1
- package/build/__tests__/provider.test.js +4 -1
- package/build/get/__tests__/generator/ephemeral-resources.test.d.ts +2 -0
- package/build/get/__tests__/generator/ephemeral-resources.test.js +49 -0
- package/build/get/__tests__/generator/provider-functions.test.d.ts +2 -0
- package/build/get/__tests__/generator/provider-functions.test.js +176 -0
- package/build/get/__tests__/generator/provider.test.js +9 -1
- package/build/get/__tests__/generator/write-only.test.d.ts +2 -0
- package/build/get/__tests__/generator/write-only.test.js +65 -0
- package/build/get/__tests__/target-versions.test.d.ts +2 -0
- package/build/get/__tests__/target-versions.test.js +171 -0
- package/build/get/constructs-maker.d.ts +8 -1
- package/build/get/constructs-maker.js +13 -4
- package/build/get/generator/emitter/attributes-emitter.d.ts +12 -2
- package/build/get/generator/emitter/attributes-emitter.js +47 -5
- package/build/get/generator/emitter/index.d.ts +1 -0
- package/build/get/generator/emitter/index.js +2 -1
- package/build/get/generator/emitter/provider-functions-emitter.d.ts +11 -0
- package/build/get/generator/emitter/provider-functions-emitter.js +94 -0
- package/build/get/generator/emitter/resource-emitter.d.ts +5 -1
- package/build/get/generator/emitter/resource-emitter.js +83 -7
- package/build/get/generator/models/attribute-model.d.ts +2 -0
- package/build/get/generator/models/attribute-model.js +2 -1
- package/build/get/generator/models/index.d.ts +1 -0
- package/build/get/generator/models/index.js +2 -1
- package/build/get/generator/models/provider-function-model.d.ts +102 -0
- package/build/get/generator/models/provider-function-model.js +667 -0
- package/build/get/generator/models/resource-model.d.ts +3 -0
- package/build/get/generator/models/resource-model.js +13 -4
- package/build/get/generator/models/struct.d.ts +2 -0
- package/build/get/generator/models/struct.js +6 -2
- package/build/get/generator/provider-generator.d.ts +2 -0
- package/build/get/generator/provider-generator.js +31 -3
- package/build/get/generator/resource-parser.js +3 -1
- package/package.json +5 -5
- package/src/__tests__/__snapshots__/edge-provider-schema.test.ts.snap +4 -0
- package/src/__tests__/edge-provider-schema/builder.ts +17 -1
- package/src/__tests__/edge-provider-schema/index.ts +124 -1
- package/src/__tests__/provider.test.ts +3 -0
- package/src/get/__tests__/generator/__snapshots__/ephemeral-resources.test.ts.snap +524 -0
- package/src/get/__tests__/generator/__snapshots__/provider-functions.test.ts.snap +444 -0
- package/src/get/__tests__/generator/__snapshots__/write-only.test.ts.snap +262 -0
- package/src/get/__tests__/generator/ephemeral-resources.test.ts +46 -0
- package/src/get/__tests__/generator/fixtures/ephemeral-resources.test.fixture.json +160 -0
- package/src/get/__tests__/generator/fixtures/provider-functions-collision.test.fixture.json +31 -0
- package/src/get/__tests__/generator/fixtures/provider-functions-synthetic.test.fixture.json +192 -0
- package/src/get/__tests__/generator/fixtures/provider-functions.test.fixture.json +170 -0
- package/src/get/__tests__/generator/fixtures/write-only.test.fixture.json +58 -0
- package/src/get/__tests__/generator/provider-functions.test.ts +262 -0
- package/src/get/__tests__/generator/provider.test.ts +8 -0
- package/src/get/__tests__/generator/write-only.test.ts +71 -0
- package/src/get/__tests__/target-versions.test.ts +206 -0
- package/src/get/constructs-maker.ts +43 -3
- package/src/get/generator/emitter/attributes-emitter.ts +61 -6
- package/src/get/generator/emitter/index.ts +1 -0
- package/src/get/generator/emitter/provider-functions-emitter.ts +117 -0
- package/src/get/generator/emitter/resource-emitter.ts +110 -6
- package/src/get/generator/models/attribute-model.ts +3 -0
- package/src/get/generator/models/index.ts +1 -0
- package/src/get/generator/models/provider-function-model.ts +872 -0
- package/src/get/generator/models/resource-model.ts +25 -3
- package/src/get/generator/models/struct.ts +9 -1
- package/src/get/generator/provider-generator.ts +70 -4
- package/src/get/generator/resource-parser.ts +2 -0
|
@@ -1,22 +1,28 @@
|
|
|
1
|
-
import { ProviderSchema, Schema, AttributeType, Block } from "@cdktn/commons";
|
|
1
|
+
import { ProviderSchema, Schema, AttributeType, Block, FunctionSignature } from "@cdktn/commons";
|
|
2
2
|
type ResourceSchema = {
|
|
3
3
|
[type: string]: Schema;
|
|
4
4
|
};
|
|
5
|
-
|
|
5
|
+
type FunctionSchema = {
|
|
6
|
+
[name: string]: FunctionSignature;
|
|
7
|
+
};
|
|
8
|
+
export declare function schema({ name, provider, resources, dataSources, ephemeralResources, functions, }: {
|
|
6
9
|
name: string;
|
|
7
10
|
provider: Schema;
|
|
8
11
|
resources: ResourceSchema;
|
|
9
12
|
dataSources: ResourceSchema;
|
|
13
|
+
ephemeralResources?: ResourceSchema;
|
|
14
|
+
functions?: FunctionSchema;
|
|
10
15
|
}): ProviderSchema;
|
|
11
16
|
export declare class SchemaBuilder {
|
|
12
17
|
private schema;
|
|
13
18
|
constructor();
|
|
14
|
-
attribute({ name, type, required, computed, optional, }: {
|
|
19
|
+
attribute({ name, type, required, computed, optional, writeOnly, }: {
|
|
15
20
|
name: string;
|
|
16
21
|
type: AttributeType;
|
|
17
22
|
required?: boolean;
|
|
18
23
|
computed?: boolean;
|
|
19
24
|
optional?: boolean;
|
|
25
|
+
writeOnly?: boolean;
|
|
20
26
|
}): SchemaBuilder;
|
|
21
27
|
listBlock({ name, block, minItems, maxItems, }: {
|
|
22
28
|
name: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SchemaBuilder = exports.schema = void 0;
|
|
4
|
-
function schema({ name, provider, resources = {}, dataSources = {}, }) {
|
|
4
|
+
function schema({ name, provider, resources = {}, dataSources = {}, ephemeralResources = {}, functions = {}, }) {
|
|
5
5
|
return {
|
|
6
6
|
format_version: "0.2",
|
|
7
7
|
provider_schemas: {
|
|
@@ -9,6 +9,8 @@ function schema({ name, provider, resources = {}, dataSources = {}, }) {
|
|
|
9
9
|
provider: provider,
|
|
10
10
|
resource_schemas: resources,
|
|
11
11
|
data_source_schemas: dataSources,
|
|
12
|
+
ephemeral_resource_schemas: ephemeralResources,
|
|
13
|
+
functions: functions,
|
|
12
14
|
},
|
|
13
15
|
},
|
|
14
16
|
};
|
|
@@ -24,12 +26,13 @@ class SchemaBuilder {
|
|
|
24
26
|
},
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
|
-
attribute({ name, type, required = false, computed = false, optional = !required, }) {
|
|
29
|
+
attribute({ name, type, required = false, computed = false, optional = !required, writeOnly = false, }) {
|
|
28
30
|
this.schema.block.attributes[name] = {
|
|
29
31
|
type,
|
|
30
32
|
optional,
|
|
31
33
|
computed,
|
|
32
34
|
required,
|
|
35
|
+
write_only: writeOnly,
|
|
33
36
|
};
|
|
34
37
|
return this;
|
|
35
38
|
}
|
|
@@ -103,4 +106,4 @@ class SchemaBuilder {
|
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
exports.SchemaBuilder = SchemaBuilder;
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFZQSxTQUFnQixNQUFNLENBQUMsRUFDckIsSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEdBQUcsRUFBRSxFQUNkLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLGtCQUFrQixHQUFHLEVBQUUsRUFDdkIsU0FBUyxHQUFHLEVBQUUsR0FRZjtJQUNDLE9BQU87UUFDTCxjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRTtZQUNoQixDQUFDLCtCQUErQixJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsU0FBUztnQkFDM0IsbUJBQW1CLEVBQUUsV0FBVztnQkFDaEMsMEJBQTBCLEVBQUUsa0JBQWtCO2dCQUM5QyxTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUEzQkQsd0JBMkJDO0FBRUQsTUFBYSxhQUFhO0lBR3hCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTLENBQUMsRUFDZixJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLFFBQVEsRUFDcEIsU0FBUyxHQUFHLEtBQUssR0FRbEI7UUFDQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbkMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFB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O1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNDLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsU0FBUztZQUN4QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNELFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsVUFBVTtZQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ3RCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUEvSkQsc0NBK0pDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7XG4gIFByb3ZpZGVyU2NoZW1hLFxuICBTY2hlbWEsXG4gIEF0dHJpYnV0ZVR5cGUsXG4gIEJsb2NrLFxuICBGdW5jdGlvblNpZ25hdHVyZSxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbnR5cGUgUmVzb3VyY2VTY2hlbWEgPSB7IFt0eXBlOiBzdHJpbmddOiBTY2hlbWEgfTtcbnR5cGUgRnVuY3Rpb25TY2hlbWEgPSB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvblNpZ25hdHVyZSB9O1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVtYSh7XG4gIG5hbWUsXG4gIHByb3ZpZGVyLFxuICByZXNvdXJjZXMgPSB7fSxcbiAgZGF0YVNvdXJjZXMgPSB7fSxcbiAgZXBoZW1lcmFsUmVzb3VyY2VzID0ge30sXG4gIGZ1bmN0aW9ucyA9IHt9LFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBTY2hlbWE7XG4gIHJlc291cmNlczogUmVzb3VyY2VTY2hlbWE7XG4gIGRhdGFTb3VyY2VzOiBSZXNvdXJjZVNjaGVtYTtcbiAgZXBoZW1lcmFsUmVzb3VyY2VzPzogUmVzb3VyY2VTY2hlbWE7XG4gIGZ1bmN0aW9ucz86IEZ1bmN0aW9uU2NoZW1hO1xufSk6IFByb3ZpZGVyU2NoZW1hIHtcbiAgcmV0dXJuIHtcbiAgICBmb3JtYXRfdmVyc2lvbjogXCIwLjJcIixcbiAgICBwcm92aWRlcl9zY2hlbWFzOiB7XG4gICAgICBbYHJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9jZGt0Zi8ke25hbWV9YF06IHtcbiAgICAgICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICAgICAgICByZXNvdXJjZV9zY2hlbWFzOiByZXNvdXJjZXMsXG4gICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IGRhdGFTb3VyY2VzLFxuICAgICAgICBlcGhlbWVyYWxfcmVzb3VyY2Vfc2NoZW1hczogZXBoZW1lcmFsUmVzb3VyY2VzLFxuICAgICAgICBmdW5jdGlvbnM6IGZ1bmN0aW9ucyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVtYUJ1aWxkZXIge1xuICBwcml2YXRlIHNjaGVtYTogU2NoZW1hO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2NoZW1hID0ge1xuICAgICAgdmVyc2lvbjogMCxcbiAgICAgIGJsb2NrOiB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICBibG9ja190eXBlczoge30sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXR0cmlidXRlKHtcbiAgICBuYW1lLFxuICAgIHR5cGUsXG4gICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICBjb21wdXRlZCA9IGZhbHNlLFxuICAgIG9wdGlvbmFsID0gIXJlcXVpcmVkLFxuICAgIHdyaXRlT25seSA9IGZhbHNlLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGU7XG4gICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIGNvbXB1dGVkPzogYm9vbGVhbjtcbiAgICBvcHRpb25hbD86IGJvb2xlYW47XG4gICAgd3JpdGVPbmx5PzogYm9vbGVhbjtcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmF0dHJpYnV0ZXNbbmFtZV0gPSB7XG4gICAgICB0eXBlLFxuICAgICAgb3B0aW9uYWwsXG4gICAgICBjb21wdXRlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgd3JpdGVfb25seTogd3JpdGVPbmx5LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbGlzdEJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICAgIG1pbkl0ZW1zLFxuICAgIG1heEl0ZW1zLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgICBtaW5JdGVtczogbnVtYmVyO1xuICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHtcbiAgICAgIG5lc3RpbmdfbW9kZTogXCJsaXN0XCIsXG4gICAgICBibG9jayxcbiAgICAgIG1pbl9pdGVtczogbWluSXRlbXMsXG4gICAgICBtYXhfaXRlbXM6IG1heEl0ZW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbWFwQmxvY2soe1xuICAgIG5hbWUsXG4gICAgYmxvY2ssXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYmxvY2s6IEJsb2NrO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5zY2hlbWEuYmxvY2suYmxvY2tfdHlwZXNbbmFtZV0gPSB7IG5lc3RpbmdfbW9kZTogXCJtYXBcIiwgYmxvY2sgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNldFwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHB1YmxpYyBzaW5nbGVCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNpbmdsZVwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKCk6IFNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hO1xuICB9XG5cbiAgcHVibGljIGFzQmxvY2soKTogQmxvY2sge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5ibG9jaztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgcmVxdWlyZWQsXG4gICAgY29tcHV0ZWQsXG4gICAgcHJlZml4ID0gXCJcIixcbiAgfToge1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbXB1dGVkOiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJzdHJcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJudW1cIiwgdHlwZTogXCJudW1iZXJcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJib29sXCIsIHR5cGU6IFwiYm9vbFwiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5hZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICBwcmVmaXg6IFwib3B0XCIsXG4gICAgfSlcbiAgICAgIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UsIHByZWZpeDogXCJyZXFcIiB9KVxuICAgICAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICAgICAgcHJlZml4OiBcImNvbXB1dGVkXCIsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoe1xuICAgIHJlcXVpcmVkLFxuICAgIGNvbXB1dGVkLFxuICAgIHByZWZpeCA9IFwiXCIsXG4gIH06IHtcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBjb21wdXRlZDogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLmF0dHJpYnV0ZSh7XG4gICAgICBuYW1lOiBwcmVmaXggKyBcInN0ckxpc3RcIixcbiAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGNvbXB1dGVkLFxuICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJudW1MaXN0XCIsXG4gICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJudW1iZXJcIl0sXG4gICAgICAgIHJlcXVpcmVkLFxuICAgICAgICBjb21wdXRlZCxcbiAgICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJib29sTGlzdFwiLFxuICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwiYm9vbFwiXSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIGNvbXB1dGVkLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
|
|
@@ -9,6 +9,19 @@ const required_attribute_resource = new builder_1.SchemaBuilder()
|
|
|
9
9
|
const optional_attribute_resource = new builder_1.SchemaBuilder()
|
|
10
10
|
.addAllPrimitiveTypes({ required: false, computed: false })
|
|
11
11
|
.addAllPrimitiveListTypes({ required: false, computed: false })
|
|
12
|
+
// Write-only attribute (RFC-04 / protocol v6): exercises the deprecated
|
|
13
|
+
// getter + the resolve-time `markWriteOnlyAttribute` wrapping in
|
|
14
|
+
// synthesizeAttributes()/synthesizeHclAttributes() on an existing managed
|
|
15
|
+
// resource. Left optional so no existing usage of
|
|
16
|
+
// OptionalAttributeResource across the edge test suite needs updating
|
|
17
|
+
// (and so it also generates a reset method).
|
|
18
|
+
.attribute({
|
|
19
|
+
name: "secretWo",
|
|
20
|
+
type: "string",
|
|
21
|
+
required: false,
|
|
22
|
+
computed: false,
|
|
23
|
+
writeOnly: true,
|
|
24
|
+
})
|
|
12
25
|
.build();
|
|
13
26
|
const optional_computed_attribute_resource = new builder_1.SchemaBuilder()
|
|
14
27
|
.addAllPrimitiveTypes({ required: false, computed: true })
|
|
@@ -137,6 +150,107 @@ const set_block_resource = new builder_1.SchemaBuilder()
|
|
|
137
150
|
block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
|
|
138
151
|
})
|
|
139
152
|
.build();
|
|
153
|
+
// A modest ephemeral resource (plugin protocol v6 / RFC-04): a required
|
|
154
|
+
// string, an optional number, a computed attribute, and a nested single
|
|
155
|
+
// block - consistent with the primitive/nested-block conventions used by
|
|
156
|
+
// the resources above.
|
|
157
|
+
const cached_secret = new builder_1.SchemaBuilder()
|
|
158
|
+
.attribute({ name: "str", type: "string", required: true })
|
|
159
|
+
.attribute({ name: "num", type: "number", required: false })
|
|
160
|
+
.attribute({
|
|
161
|
+
name: "computedStr",
|
|
162
|
+
type: "string",
|
|
163
|
+
computed: true,
|
|
164
|
+
optional: false,
|
|
165
|
+
})
|
|
166
|
+
.singleBlock({
|
|
167
|
+
name: "nested",
|
|
168
|
+
block: new builder_1.SchemaBuilder()
|
|
169
|
+
.attribute({ name: "str", type: "string", required: false })
|
|
170
|
+
.attribute({ name: "num", type: "number", required: false })
|
|
171
|
+
.asBlock(),
|
|
172
|
+
})
|
|
173
|
+
.build();
|
|
174
|
+
// Provider-defined functions (Terraform >=1.8 / protocol v6), each
|
|
175
|
+
// exercising a distinct generator branch of `provider-function-model.ts`.
|
|
176
|
+
// Reuses shapes from `provider-functions-synthetic.test.fixture.json` where
|
|
177
|
+
// sensible, renamed to fit the edge fixture's naming.
|
|
178
|
+
const functions = {
|
|
179
|
+
// Simple string -> string function.
|
|
180
|
+
greet: {
|
|
181
|
+
description: "Returns a friendly greeting for the given name.",
|
|
182
|
+
summary: "Greet a name",
|
|
183
|
+
return_type: "string",
|
|
184
|
+
parameters: [{ name: "name", type: "string" }],
|
|
185
|
+
},
|
|
186
|
+
// Nullable TRAILING fixed param: becomes jsii-optional.
|
|
187
|
+
greet_with_title: {
|
|
188
|
+
description: "Greets the given name, optionally with a title.",
|
|
189
|
+
summary: "Greet with an optional title",
|
|
190
|
+
return_type: "string",
|
|
191
|
+
parameters: [
|
|
192
|
+
{ name: "name", type: "string" },
|
|
193
|
+
{ name: "title", type: "string", is_nullable: true },
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
// Nullable MID-POSITION fixed param followed by a required param: stays
|
|
197
|
+
// positional, widens to `any` so a caller can still pass an explicit null.
|
|
198
|
+
join_prefixed: {
|
|
199
|
+
description: "Joins a possibly-null prefix with a required suffix.",
|
|
200
|
+
summary: "Join with a nullable prefix",
|
|
201
|
+
return_type: "string",
|
|
202
|
+
parameters: [
|
|
203
|
+
{ name: "prefix", type: "string", is_nullable: true },
|
|
204
|
+
{ name: "suffix", type: "string" },
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
// Nullable VARIADIC param: rest parameter widens to `any[]`.
|
|
208
|
+
describe_items: {
|
|
209
|
+
description: "Joins a label with any number of possibly-null items.",
|
|
210
|
+
summary: "Describe items with a label",
|
|
211
|
+
return_type: "string",
|
|
212
|
+
parameters: [{ name: "label", type: "string" }],
|
|
213
|
+
variadic_parameter: { name: "items", type: "string", is_nullable: true },
|
|
214
|
+
},
|
|
215
|
+
// Variadic of bool: union element type -> Array<boolean | IResolvable>
|
|
216
|
+
// rest param.
|
|
217
|
+
all_true: {
|
|
218
|
+
description: "Returns true if every given flag is true.",
|
|
219
|
+
summary: "All flags true",
|
|
220
|
+
return_type: "bool",
|
|
221
|
+
variadic_parameter: { name: "flags", type: "bool" },
|
|
222
|
+
},
|
|
223
|
+
// deprecation_message present (Terraform >=1.8 only, see FunctionSignature
|
|
224
|
+
// docstring) -> surfaced as an `@deprecated` JSDoc tag.
|
|
225
|
+
legacy_greet: {
|
|
226
|
+
description: "A deprecated greeting helper kept for backwards compatibility.",
|
|
227
|
+
summary: "Legacy greet",
|
|
228
|
+
deprecation_message: "Use greet instead.",
|
|
229
|
+
return_type: "string",
|
|
230
|
+
parameters: [{ name: "name", type: "string" }],
|
|
231
|
+
},
|
|
232
|
+
// Returns ["object", {...}].
|
|
233
|
+
build_info: {
|
|
234
|
+
description: "Returns an object describing the build that produced the given seed.",
|
|
235
|
+
summary: "Build info",
|
|
236
|
+
return_type: ["object", { version: "string", revision: "string" }],
|
|
237
|
+
parameters: [{ name: "seed", type: "string" }],
|
|
238
|
+
},
|
|
239
|
+
// Returns ["list", "number"].
|
|
240
|
+
list_squares: {
|
|
241
|
+
description: "Returns the squares of the numbers from 1 to the given count.",
|
|
242
|
+
summary: "List squares",
|
|
243
|
+
return_type: ["list", "number"],
|
|
244
|
+
parameters: [{ name: "count", type: "number" }],
|
|
245
|
+
},
|
|
246
|
+
// A ["map", "string"] param.
|
|
247
|
+
render_tags: {
|
|
248
|
+
description: "Renders the given map of string tags as a single string.",
|
|
249
|
+
summary: "Render tags",
|
|
250
|
+
return_type: "string",
|
|
251
|
+
parameters: [{ name: "tags", type: ["map", "string"] }],
|
|
252
|
+
},
|
|
253
|
+
};
|
|
140
254
|
exports.edgeSchema = (0, builder_1.schema)({
|
|
141
255
|
name: "edge",
|
|
142
256
|
provider: new builder_1.SchemaBuilder().addAllPrimitivePermutations().build(),
|
|
@@ -150,5 +264,9 @@ exports.edgeSchema = (0, builder_1.schema)({
|
|
|
150
264
|
map_list_resource,
|
|
151
265
|
},
|
|
152
266
|
dataSources: {},
|
|
267
|
+
ephemeralResources: {
|
|
268
|
+
cached_secret,
|
|
269
|
+
},
|
|
270
|
+
functions,
|
|
153
271
|
});
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX190ZXN0c19fL2VkZ2UtcHJvdmlkZXItc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHVDQUF1RDtBQUV2RCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzFELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDOUQsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG9DQUFvQyxHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNqRCxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG1CQUFtQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNoQyxTQUFTLENBQUM7SUFDVCxJQUFJLEVBQUUsS0FBSztJQUNYLEtBQUssRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUN0RCxRQUFRLEVBQUUsQ0FBQztJQUNY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UyxDQUFDO0lBQ1QsSUFBSSxFQUFFLGFBQWE7SUFDbkIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztJQUN2QixRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDL0IsUUFBUSxDQUFDO0lBQ1IsSUFBSSxFQUFFLEtBQUs7SUFDWCxLQUFLLEVBQUUsSUFBSSx1QkFBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Q0FDdkQsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRUUsUUFBQSxVQUFVLEdBQW1CLElBQUEsZ0JBQU0sRUFBQztJQUMvQyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN2RCxTQUFTLEVBQUU7UUFDVCwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQyxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixpQkFBaUI7S0FDbEI7SUFDRCxXQUFXLEVBQUUsRUFBRTtDQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IHNjaGVtYSwgU2NoZW1hQnVpbGRlciBhcyBTIH0gZnJvbSBcIi4vYnVpbGRlclwiO1xuXG5jb25zdCByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IG9wdGlvbmFsX2F0dHJpYnV0ZV9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHsgcmVxdWlyZWQ6IGZhbHNlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IGxpc3RfYmxvY2tfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwib3B0XCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiA0MixcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDQyLFxuICB9KVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcInNpbmdsZW9wdFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogMSxcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJzaW5nbGVyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDEsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwic2luZ2xlQ29tcHV0ZWRCbG9ja1wiLFxuICAgIGJsb2NrOiBuZXcgUygpXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiY29tcHV0ZWRcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmF0dHJpYnV0ZSh7XG4gICAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJjb25maWd1cmVkXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiAxLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJsaXN0XCIsXG4gICAgICBbXG4gICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHI6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mTWFwT2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcImxpc3RcIixcbiAgICAgIFtcbiAgICAgICAgXCJtYXBcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RyOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgb3RoZXI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBtYXBfbGlzdF9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJtYXBMaXN0T2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcIm1hcFwiLFxuICAgICAgW1xuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVsbG86IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYnVpbGQoKTtcblxuY29uc3QgbWFwX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcIm9wdE1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcInN0cmluZ1wiXSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcInJlcU1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcImJvb2xcIl0sXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTWFwXCIsXG4gICAgdHlwZTogW1wibWFwXCIsIFwibnVtYmVyXCJdLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IHNldF9ibG9ja19yZXNvdXJjZSA9IG5ldyBTKClcbiAgLnNldEJsb2NrKHtcbiAgICBuYW1lOiBcInNldFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmV4cG9ydCBjb25zdCBlZGdlU2NoZW1hOiBQcm92aWRlclNjaGVtYSA9IHNjaGVtYSh7XG4gIG5hbWU6IFwiZWRnZVwiLFxuICBwcm92aWRlcjogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5idWlsZCgpLFxuICByZXNvdXJjZXM6IHtcbiAgICByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UsXG4gICAgb3B0aW9uYWxfYXR0cmlidXRlX3Jlc291cmNlLFxuICAgIG9wdGlvbmFsX2NvbXB1dGVkX2F0dHJpYnV0ZV9yZXNvdXJjZSxcbiAgICBsaXN0X2Jsb2NrX3Jlc291cmNlLFxuICAgIG1hcF9yZXNvdXJjZSxcbiAgICBzZXRfYmxvY2tfcmVzb3VyY2UsXG4gICAgbWFwX2xpc3RfcmVzb3VyY2UsXG4gIH0sXG4gIGRhdGFTb3VyY2VzOiB7fSxcbn0pO1xuIl19
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX190ZXN0c19fL2VkZ2UtcHJvdmlkZXItc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHVDQUF1RDtBQUV2RCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzFELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDL0Qsd0VBQXdFO0lBQ3hFLGlFQUFpRTtJQUNqRSwwRUFBMEU7SUFDMUUsa0RBQWtEO0lBQ2xELHNFQUFzRTtJQUN0RSw2Q0FBNkM7S0FDNUMsU0FBUyxDQUFDO0lBQ1QsSUFBSSxFQUFFLFVBQVU7SUFDaEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxLQUFLO0lBQ2YsU0FBUyxFQUFFLElBQUk7Q0FDaEIsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDakQsb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUN6RCx3QkFBd0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFB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QVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7S0FDL0M7SUFDRCw4QkFBOEI7SUFDOUIsWUFBWSxFQUFFO1FBQ1osV0FBVyxFQUNULCtEQUErRDtRQUNqRSxPQUFPLEVBQUUsY0FBYztRQUN2QixXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQy9CLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7S0FDaEQ7SUFDRCw2QkFBNkI7SUFDN0IsV0FBVyxFQUFFO1FBQ1gsV0FBVyxFQUFFLDBEQUEwRDtRQUN2RSxPQUFPLEVBQUUsYUFBYTtRQUN0QixXQUFXLEVBQUUsUUFBUTtRQUNyQixVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7S0FDeEQ7Q0FDRixDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQW1CLElBQUEsZ0JBQU0sRUFBQztJQUMvQyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN2RCxTQUFTLEVBQUU7UUFDVCwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQyxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixpQkFBaUI7S0FDbEI7SUFDRCxXQUFXLEVBQUUsRUFBRTtJQUNmLGtCQUFrQixFQUFFO1FBQ2xCLGFBQWE7S0FDZDtJQUNELFNBQVM7Q0FDVixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEsIEZ1bmN0aW9uU2lnbmF0dXJlIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBzY2hlbWEsIFNjaGVtYUJ1aWxkZXIgYXMgUyB9IGZyb20gXCIuL2J1aWxkZXJcIjtcblxuY29uc3QgcmVxdWlyZWRfYXR0cmlidXRlX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYWRkQWxsUHJpbWl0aXZlVHlwZXMoeyByZXF1aXJlZDogdHJ1ZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5hZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoeyByZXF1aXJlZDogdHJ1ZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5hZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoeyByZXF1aXJlZDogZmFsc2UsIGNvbXB1dGVkOiBmYWxzZSB9KVxuICAvLyBXcml0ZS1vbmx5IGF0dHJpYnV0ZSAoUkZDLTA0IC8gcHJvdG9jb2wgdjYpOiBleGVyY2lzZXMgdGhlIGRlcHJlY2F0ZWRcbiAgLy8gZ2V0dGVyICsgdGhlIHJlc29sdmUtdGltZSBgbWFya1dyaXRlT25seUF0dHJpYnV0ZWAgd3JhcHBpbmcgaW5cbiAgLy8gc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKS9zeW50aGVzaXplSGNsQXR0cmlidXRlcygpIG9uIGFuIGV4aXN0aW5nIG1hbmFnZWRcbiAgLy8gcmVzb3VyY2UuIExlZnQgb3B0aW9uYWwgc28gbm8gZXhpc3RpbmcgdXNhZ2Ugb2ZcbiAgLy8gT3B0aW9uYWxBdHRyaWJ1dGVSZXNvdXJjZSBhY3Jvc3MgdGhlIGVkZ2UgdGVzdCBzdWl0ZSBuZWVkcyB1cGRhdGluZ1xuICAvLyAoYW5kIHNvIGl0IGFsc28gZ2VuZXJhdGVzIGEgcmVzZXQgbWV0aG9kKS5cbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJzZWNyZXRXb1wiLFxuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICB3cml0ZU9ubHk6IHRydWUsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IGxpc3RfYmxvY2tfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwib3B0XCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiA0MixcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDQyLFxuICB9KVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcInNpbmdsZW9wdFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogMSxcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJzaW5nbGVyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDEsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwic2luZ2xlQ29tcHV0ZWRCbG9ja1wiLFxuICAgIGJsb2NrOiBuZXcgUygpXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiY29tcHV0ZWRcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmF0dHJpYnV0ZSh7XG4gICAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJjb25maWd1cmVkXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiAxLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJsaXN0XCIsXG4gICAgICBbXG4gICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHI6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mTWFwT2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcImxpc3RcIixcbiAgICAgIFtcbiAgICAgICAgXCJtYXBcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RyOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgb3RoZXI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBtYXBfbGlzdF9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJtYXBMaXN0T2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcIm1hcFwiLFxuICAgICAgW1xuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVsbG86IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYnVpbGQoKTtcblxuY29uc3QgbWFwX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcIm9wdE1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcInN0cmluZ1wiXSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcInJlcU1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcImJvb2xcIl0sXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTWFwXCIsXG4gICAgdHlwZTogW1wibWFwXCIsIFwibnVtYmVyXCJdLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IHNldF9ibG9ja19yZXNvdXJjZSA9IG5ldyBTKClcbiAgLnNldEJsb2NrKHtcbiAgICBuYW1lOiBcInNldFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbi8vIEEgbW9kZXN0IGVwaGVtZXJhbCByZXNvdXJjZSAocGx1Z2luIHByb3RvY29sIHY2IC8gUkZDLTA0KTogYSByZXF1aXJlZFxuLy8gc3RyaW5nLCBhbiBvcHRpb25hbCBudW1iZXIsIGEgY29tcHV0ZWQgYXR0cmlidXRlLCBhbmQgYSBuZXN0ZWQgc2luZ2xlXG4vLyBibG9jayAtIGNvbnNpc3RlbnQgd2l0aCB0aGUgcHJpbWl0aXZlL25lc3RlZC1ibG9jayBjb252ZW50aW9ucyB1c2VkIGJ5XG4vLyB0aGUgcmVzb3VyY2VzIGFib3ZlLlxuY29uc3QgY2FjaGVkX3NlY3JldCA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7IG5hbWU6IFwic3RyXCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH0pXG4gIC5hdHRyaWJ1dGUoeyBuYW1lOiBcIm51bVwiLCB0eXBlOiBcIm51bWJlclwiLCByZXF1aXJlZDogZmFsc2UgfSlcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJjb21wdXRlZFN0clwiLFxuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuc2luZ2xlQmxvY2soe1xuICAgIG5hbWU6IFwibmVzdGVkXCIsXG4gICAgYmxvY2s6IG5ldyBTKClcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBcInN0clwiLCB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogZmFsc2UgfSlcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBcIm51bVwiLCB0eXBlOiBcIm51bWJlclwiLCByZXF1aXJlZDogZmFsc2UgfSlcbiAgICAgIC5hc0Jsb2NrKCksXG4gIH0pXG4gIC5idWlsZCgpO1xuXG4vLyBQcm92aWRlci1kZWZpbmVkIGZ1bmN0aW9ucyAoVGVycmFmb3JtID49MS44IC8gcHJvdG9jb2wgdjYpLCBlYWNoXG4vLyBleGVyY2lzaW5nIGEgZGlzdGluY3QgZ2VuZXJhdG9yIGJyYW5jaCBvZiBgcHJvdmlkZXItZnVuY3Rpb24tbW9kZWwudHNgLlxuLy8gUmV1c2VzIHNoYXBlcyBmcm9tIGBwcm92aWRlci1mdW5jdGlvbnMtc3ludGhldGljLnRlc3QuZml4dHVyZS5qc29uYCB3aGVyZVxuLy8gc2Vuc2libGUsIHJlbmFtZWQgdG8gZml0IHRoZSBlZGdlIGZpeHR1cmUncyBuYW1pbmcuXG5jb25zdCBmdW5jdGlvbnM6IHsgW25hbWU6IHN0cmluZ106IEZ1bmN0aW9uU2lnbmF0dXJlIH0gPSB7XG4gIC8vIFNpbXBsZSBzdHJpbmcgLT4gc3RyaW5nIGZ1bmN0aW9uLlxuICBncmVldDoge1xuICAgIGRlc2NyaXB0aW9uOiBcIlJldHVybnMgYSBmcmllbmRseSBncmVldGluZyBmb3IgdGhlIGdpdmVuIG5hbWUuXCIsXG4gICAgc3VtbWFyeTogXCJHcmVldCBhIG5hbWVcIixcbiAgICByZXR1cm5fdHlwZTogXCJzdHJpbmdcIixcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcIm5hbWVcIiwgdHlwZTogXCJzdHJpbmdcIiB9XSxcbiAgfSxcbiAgLy8gTnVsbGFibGUgVFJBSUxJTkcgZml4ZWQgcGFyYW06IGJlY29tZXMganNpaS1vcHRpb25hbC5cbiAgZ3JlZXRfd2l0aF90aXRsZToge1xuICAgIGRlc2NyaXB0aW9uOiBcIkdyZWV0cyB0aGUgZ2l2ZW4gbmFtZSwgb3B0aW9uYWxseSB3aXRoIGEgdGl0bGUuXCIsXG4gICAgc3VtbWFyeTogXCJHcmVldCB3aXRoIGFuIG9wdGlvbmFsIHRpdGxlXCIsXG4gICAgcmV0dXJuX3R5cGU6IFwic3RyaW5nXCIsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAgeyBuYW1lOiBcIm5hbWVcIiwgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgeyBuYW1lOiBcInRpdGxlXCIsIHR5cGU6IFwic3RyaW5nXCIsIGlzX251bGxhYmxlOiB0cnVlIH0sXG4gICAgXSxcbiAgfSxcbiAgLy8gTnVsbGFibGUgTUlELVBPU0lUSU9OIGZpeGVkIHBhcmFtIGZvbGxvd2VkIGJ5IGEgcmVxdWlyZWQgcGFyYW06IHN0YXlzXG4gIC8vIHBvc2l0aW9uYWwsIHdpZGVucyB0byBgYW55YCBzbyBhIGNhbGxlciBjYW4gc3RpbGwgcGFzcyBhbiBleHBsaWNpdCBudWxsLlxuICBqb2luX3ByZWZpeGVkOiB7XG4gICAgZGVzY3JpcHRpb246IFwiSm9pbnMgYSBwb3NzaWJseS1udWxsIHByZWZpeCB3aXRoIGEgcmVxdWlyZWQgc3VmZml4LlwiLFxuICAgIHN1bW1hcnk6IFwiSm9pbiB3aXRoIGEgbnVsbGFibGUgcHJlZml4XCIsXG4gICAgcmV0dXJuX3R5cGU6IFwic3RyaW5nXCIsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAgeyBuYW1lOiBcInByZWZpeFwiLCB0eXBlOiBcInN0cmluZ1wiLCBpc19udWxsYWJsZTogdHJ1ZSB9LFxuICAgICAgeyBuYW1lOiBcInN1ZmZpeFwiLCB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgXSxcbiAgfSxcbiAgLy8gTnVsbGFibGUgVkFSSUFESUMgcGFyYW06IHJlc3QgcGFyYW1ldGVyIHdpZGVucyB0byBgYW55W11gLlxuICBkZXNjcmliZV9pdGVtczoge1xuICAgIGRlc2NyaXB0aW9uOiBcIkpvaW5zIGEgbGFiZWwgd2l0aCBhbnkgbnVtYmVyIG9mIHBvc3NpYmx5LW51bGwgaXRlbXMuXCIsXG4gICAgc3VtbWFyeTogXCJEZXNjcmliZSBpdGVtcyB3aXRoIGEgbGFiZWxcIixcbiAgICByZXR1cm5fdHlwZTogXCJzdHJpbmdcIixcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcImxhYmVsXCIsIHR5cGU6IFwic3RyaW5nXCIgfV0sXG4gICAgdmFyaWFkaWNfcGFyYW1ldGVyOiB7IG5hbWU6IFwiaXRlbXNcIiwgdHlwZTogXCJzdHJpbmdcIiwgaXNfbnVsbGFibGU6IHRydWUgfSxcbiAgfSxcbiAgLy8gVmFyaWFkaWMgb2YgYm9vbDogdW5pb24gZWxlbWVudCB0eXBlIC0+IEFycmF5PGJvb2xlYW4gfCBJUmVzb2x2YWJsZT5cbiAgLy8gcmVzdCBwYXJhbS5cbiAgYWxsX3RydWU6IHtcbiAgICBkZXNjcmlwdGlvbjogXCJSZXR1cm5zIHRydWUgaWYgZXZlcnkgZ2l2ZW4gZmxhZyBpcyB0cnVlLlwiLFxuICAgIHN1bW1hcnk6IFwiQWxsIGZsYWdzIHRydWVcIixcbiAgICByZXR1cm5fdHlwZTogXCJib29sXCIsXG4gICAgdmFyaWFkaWNfcGFyYW1ldGVyOiB7IG5hbWU6IFwiZmxhZ3NcIiwgdHlwZTogXCJib29sXCIgfSxcbiAgfSxcbiAgLy8gZGVwcmVjYXRpb25fbWVzc2FnZSBwcmVzZW50IChUZXJyYWZvcm0gPj0xLjggb25seSwgc2VlIEZ1bmN0aW9uU2lnbmF0dXJlXG4gIC8vIGRvY3N0cmluZykgLT4gc3VyZmFjZWQgYXMgYW4gYEBkZXByZWNhdGVkYCBKU0RvYyB0YWcuXG4gIGxlZ2FjeV9ncmVldDoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBIGRlcHJlY2F0ZWQgZ3JlZXRpbmcgaGVscGVyIGtlcHQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlwiLFxuICAgIHN1bW1hcnk6IFwiTGVnYWN5IGdyZWV0XCIsXG4gICAgZGVwcmVjYXRpb25fbWVzc2FnZTogXCJVc2UgZ3JlZXQgaW5zdGVhZC5cIixcbiAgICByZXR1cm5fdHlwZTogXCJzdHJpbmdcIixcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcIm5hbWVcIiwgdHlwZTogXCJzdHJpbmdcIiB9XSxcbiAgfSxcbiAgLy8gUmV0dXJucyBbXCJvYmplY3RcIiwgey4uLn1dLlxuICBidWlsZF9pbmZvOiB7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlJldHVybnMgYW4gb2JqZWN0IGRlc2NyaWJpbmcgdGhlIGJ1aWxkIHRoYXQgcHJvZHVjZWQgdGhlIGdpdmVuIHNlZWQuXCIsXG4gICAgc3VtbWFyeTogXCJCdWlsZCBpbmZvXCIsXG4gICAgcmV0dXJuX3R5cGU6IFtcIm9iamVjdFwiLCB7IHZlcnNpb246IFwic3RyaW5nXCIsIHJldmlzaW9uOiBcInN0cmluZ1wiIH1dLFxuICAgIHBhcmFtZXRlcnM6IFt7IG5hbWU6IFwic2VlZFwiLCB0eXBlOiBcInN0cmluZ1wiIH1dLFxuICB9LFxuICAvLyBSZXR1cm5zIFtcImxpc3RcIiwgXCJudW1iZXJcIl0uXG4gIGxpc3Rfc3F1YXJlczoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJSZXR1cm5zIHRoZSBzcXVhcmVzIG9mIHRoZSBudW1iZXJzIGZyb20gMSB0byB0aGUgZ2l2ZW4gY291bnQuXCIsXG4gICAgc3VtbWFyeTogXCJMaXN0IHNxdWFyZXNcIixcbiAgICByZXR1cm5fdHlwZTogW1wibGlzdFwiLCBcIm51bWJlclwiXSxcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcImNvdW50XCIsIHR5cGU6IFwibnVtYmVyXCIgfV0sXG4gIH0sXG4gIC8vIEEgW1wibWFwXCIsIFwic3RyaW5nXCJdIHBhcmFtLlxuICByZW5kZXJfdGFnczoge1xuICAgIGRlc2NyaXB0aW9uOiBcIlJlbmRlcnMgdGhlIGdpdmVuIG1hcCBvZiBzdHJpbmcgdGFncyBhcyBhIHNpbmdsZSBzdHJpbmcuXCIsXG4gICAgc3VtbWFyeTogXCJSZW5kZXIgdGFnc1wiLFxuICAgIHJldHVybl90eXBlOiBcInN0cmluZ1wiLFxuICAgIHBhcmFtZXRlcnM6IFt7IG5hbWU6IFwidGFnc1wiLCB0eXBlOiBbXCJtYXBcIiwgXCJzdHJpbmdcIl0gfV0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgZWRnZVNjaGVtYTogUHJvdmlkZXJTY2hlbWEgPSBzY2hlbWEoe1xuICBuYW1lOiBcImVkZ2VcIixcbiAgcHJvdmlkZXI6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYnVpbGQoKSxcbiAgcmVzb3VyY2VzOiB7XG4gICAgcmVxdWlyZWRfYXR0cmlidXRlX3Jlc291cmNlLFxuICAgIG9wdGlvbmFsX2F0dHJpYnV0ZV9yZXNvdXJjZSxcbiAgICBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UsXG4gICAgbGlzdF9ibG9ja19yZXNvdXJjZSxcbiAgICBtYXBfcmVzb3VyY2UsXG4gICAgc2V0X2Jsb2NrX3Jlc291cmNlLFxuICAgIG1hcF9saXN0X3Jlc291cmNlLFxuICB9LFxuICBkYXRhU291cmNlczoge30sXG4gIGVwaGVtZXJhbFJlc291cmNlczoge1xuICAgIGNhY2hlZF9zZWNyZXQsXG4gIH0sXG4gIGZ1bmN0aW9ucyxcbn0pO1xuIl19
|
|
@@ -46,6 +46,9 @@ function directorySnapshot(root) {
|
|
|
46
46
|
content = fs.readJsonSync(filePath);
|
|
47
47
|
if (path.basename(filePath) === "constraints.json") {
|
|
48
48
|
delete content.cdktf;
|
|
49
|
+
// cli identity depends on the terraform/opentofu binary installed
|
|
50
|
+
// on the test runner - not deterministic, so excluded like cdktf.
|
|
51
|
+
delete content.cli;
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
else {
|
|
@@ -155,4 +158,4 @@ describe("Provider", () => {
|
|
|
155
158
|
});
|
|
156
159
|
}, 600000);
|
|
157
160
|
});
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLCtCQUE0QjtBQUM1Qiw0Q0FBeUM7QUFDekMsOERBQTBEO0FBQzFELDRDQUF1RTtBQU12RSxTQUFTLGlCQUFpQixDQUFDLElBQVk7SUFDckMsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLEtBQUssR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQzVCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUVILEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUM7UUFFWixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQ25ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxD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LFFBQVE7Z0JBQ3BCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7YUFDcEMsRUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUMxRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIjtcbmltcG9ydCB7IG1rZHRlbXAgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9nZXQvY29uc3RydWN0cy1tYWtlclwiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5pbnRlcmZhY2UgU3ludGhPdXRwdXQge1xuICBbZmlsZVBhdGg6IHN0cmluZ106IGFueTtcbn1cblxuZnVuY3Rpb24gZGlyZWN0b3J5U25hcHNob3Qocm9vdDogc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dDogU3ludGhPdXRwdXQgPSB7fTtcblxuICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICBpZ25vcmU6IFtcIi5naXQvKipcIiwgXCIuanNpaVwiXSxcbiAgICBjd2Q6IHJvb3QsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgZG90OiB0cnVlLFxuICB9KTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihyb290LCBmaWxlKTtcblxuICAgIGxldCBjb250ZW50O1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShmaWxlUGF0aCkgPT09IFwiLmpzb25cIikge1xuICAgICAgY29udGVudCA9IGZzLnJlYWRKc29uU3luYyhmaWxlUGF0aCk7XG5cbiAgICAgIGlmIChwYXRoLmJhc2VuYW1lKGZpbGVQYXRoKSA9PT0gXCJjb25zdHJhaW50cy5qc29uXCIpIHtcbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2RrdGY7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgb3V0cHV0W2ZpbGVdID0gY29udGVudDtcbiAgfVxuXG4gIHJldHVybiBvdXRwdXQ7XG59XG5cbmZ1bmN0aW9uIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChcbiAgc25hcHNob3Q6IFN5bnRoT3V0cHV0LFxuICBwcm92aWRlck5hbWVJblBhdGg6IHN0cmluZyxcbikge1xuICBjb25zdCByZXNvdXJjZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZpbGVzID0gT2JqZWN0LmtleXMoc25hcHNob3QpO1xuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBtYXRjaCA9IGZpbGUubWF0Y2goXG4gICAgICBgL3Byb3ZpZGVycy8ke3Byb3ZpZGVyTmFtZUluUGF0aH0vKC4qPykvaW5kZXgudHMvYCxcbiAgICApO1xuICAgIC8vIGF2b2lkcyBhbnkgbm90IHJlc291cmNlcyBmcm9tIGJlaW5nIHB1c2hlZFxuICAgIGlmIChcbiAgICAgIG1hdGNoICYmXG4gICAgICAhbWF0Y2hbMV0uaW5jbHVkZXMoXCIvXCIpICYmXG4gICAgICAhbWF0Y2hbMV0uaW5jbHVkZXMoXCJkYXRhLVwiKSAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwicHJvdmlkZXJcIilcbiAgICApIHtcbiAgICAgIHJlc291cmNlcy5wdXNoKG1hdGNoWzFdKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc291cmNlcztcbn1cblxuZGVzY3JpYmUoXCJQcm92aWRlclwiLCAoKSA9PiB7XG4gIGl0KFwiZ2VuZXJhdGVzIGEgcHJvdmlkZXJcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KFxuICAgICAgXCJEYXRhRG9nL2RhdGFkb2dAPSAzLjEyLjBcIixcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG4gICAgICBleHBlY3Qoc25hcHNob3QpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcblxuICBpdChcImhhcyBnZW5lcmF0ZWQgcHJvdmlkZXIgdGhhdCBpbmNsdWRlcyBzdGF0aWMgaW1wb3J0IGZ1bmN0aW9uc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoXG4gICAgICBcIkRhdGFEb2cvZGF0YWRvZ0A9IDMuMTIuMFwiLFxuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoe1xuICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG5cbiAgICAgIGNvbnN0IHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50OiBzdHJpbmdbXSA9XG4gICAgICAgIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChzbmFwc2hvdCwgXCJkYXRhZG9nXCIpO1xuXG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudC5mb3JFYWNoKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICBsZXQgdGVycmFmb3JtUmVzb3VyY2VUeXBlID0gcmVzb3VyY2UucmVwbGFjZSgvLS9nLCBcIl9cIik7XG4gICAgICAgIGlmICghdGVycmFmb3JtUmVzb3VyY2VUeXBlLmluY2x1ZGVzKFwiZGF0YWRvZ1wiKSkge1xuICAgICAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZSA9IGBkYXRhZG9nXyR7dGVycmFmb3JtUmVzb3VyY2VUeXBlfWA7XG4gICAgICAgIH1cbiAgICAgICAgZXhwZWN0KHNuYXBzaG90W2Bwcm92aWRlcnMvZGF0YWRvZy8ke3Jlc291cmNlfS9pbmRleC50c2BdKS50b0NvbnRhaW4oXG4gICAgICAgICAgYHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVDb25maWdGb3JJbXBvcnQoc2NvcGU6IENvbnN0cnVjdCwgaW1wb3J0VG9JZDogc3RyaW5nLCBpbXBvcnRGcm9tSWQ6IHN0cmluZywgcHJvdmlkZXI/OiBjZGt0bi5UZXJyYWZvcm1Qcm92aWRlcikge2AsXG4gICAgICAgICk7XG4gICAgICAgIGV4cGVjdChzbmFwc2hvdFtgcHJvdmlkZXJzL2RhdGFkb2cvJHtyZXNvdXJjZX0vaW5kZXgudHNgXSkudG9Db250YWluKFxuICAgICAgICAgIGByZXR1cm4gbmV3IGNka3RuLkltcG9ydGFibGVSZXNvdXJjZShzY29wZSwgaW1wb3J0VG9JZCwgeyB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IFwiJHt0ZXJyYWZvcm1SZXNvdXJjZVR5cGV9XCIsIGltcG9ydElkOiBpbXBvcnRGcm9tSWQsIHByb3ZpZGVyIH0pO2AsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG5cbiAgaXQoXCJoYXMgbmFtZSBpbiBjb25zdHJhaW50IHRoYXQgZG9lcyBub3QgbWF0Y2ggcmVzb2x2ZWQgbmFtZSBpbiBmcXBuXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImRvY2tlcnJcIixcbiAgICAgIHNvdXJjZTogXCJyZWdpc3RyeS50ZXJyYWZvcm0uaW8va3JldXp3ZXJrZXIvZG9ja2VyXCIsXG4gICAgICB2ZXJzaW9uOiBcIjMuMC4yXCIsXG4gICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3MuZW52LkNES1RGX0VYUEVSSU1FTlRBTF9QUk9WSURFUl9TQ0hFTUFfQ0FDSEVfUEFUSCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcblxuICAgICAgY29uc3QgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQ6IHN0cmluZ1tdID1cbiAgICAgICAgcmVzb3VyY2VUeXBlc1ByZXNlbnRJblNuYXBzaG90KHNuYXBzaG90LCBcImRvY2tlcnJcIik7XG5cbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50LmZvckVhY2goKHJlc291cmNlKSA9PiB7XG4gICAgICAgIGV4cGVjdChcbiAgICAgICAgICBzbmFwc2hvdFtgcHJvdmlkZXJzL2RvY2tlcnIvJHtyZXNvdXJjZX0vaW5kZXgudHNgXSxcbiAgICAgICAgKS50b0JlRGVmaW5lZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xuXG4gIGl0KFwiZ2VuZXJhdGVzIGNvbnN0cnVjdHMgZm9yIHR3byBwcm92aWRlcnMgd2l0aCBzYW1lIG5hbWVcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwiYml0YnVja2V0XCIsXG4gICAgICBuYW1lc3BhY2U6IFwiRHJGYXVzdDkyXCIsXG4gICAgICB2ZXJzaW9uOiBcIjIuNTEuMFwiLFxuICAgICAgc291cmNlOiBcIkRyRmF1c3Q5Mi9iaXRidWNrZXRcIixcbiAgICB9KTtcbiAgICBjb25zdCBjb25zdHJhaW50MiA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJhYml0YnVja2V0XCIsXG4gICAgICBuYW1lc3BhY2U6IFwiYW5kc2FmZS1BR1wiLFxuICAgICAgdmVyc2lvbjogXCIyLjUuMFwiLFxuICAgICAgc291cmNlOiBcImFuZHNhZmUtQUcvYml0YnVja2V0XCIsXG4gICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3MuZW52LkNES1RGX0VYUEVSSU1FTlRBTF9QUk9WSURFUl9TQ0hFTUFfQ0FDSEVfUEFUSCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludCwgY29uc3RyYWludDJdKTtcbiAgICAgIGNvbnNvbGUubG9nKFwid29ya2RpclwiLCB3b3JrZGlyKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG4gICAgICBleHBlY3Qoc25hcHNob3QpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcbn0pO1xuIl19
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLCtCQUE0QjtBQUM1Qiw0Q0FBeUM7QUFDekMsOERBQTBEO0FBQzFELDRDQUF1RTtBQU12RSxTQUFTLGlCQUFpQixDQUFDLElBQVk7SUFDckMsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLEtBQUssR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQzVCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUVILEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUM7UUFFWixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQ25ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDckIsa0VBQWtFO2dCQUNsRSxrRUFBa0U7Z0JBQ2xFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzth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LEdBQUcsSUFBSSxrQ0FBZSxDQUMvQjtnQkFDRSxlQUFlLEVBQUUsT0FBTztnQkFDeEIsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7YUFDcEMsRUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUMxRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIjtcbmltcG9ydCB7IG1rZHRlbXAgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9nZXQvY29uc3RydWN0cy1tYWtlclwiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5pbnRlcmZhY2UgU3ludGhPdXRwdXQge1xuICBbZmlsZVBhdGg6IHN0cmluZ106IGFueTtcbn1cblxuZnVuY3Rpb24gZGlyZWN0b3J5U25hcHNob3Qocm9vdDogc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dDogU3ludGhPdXRwdXQgPSB7fTtcblxuICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICBpZ25vcmU6IFtcIi5naXQvKipcIiwgXCIuanNpaVwiXSxcbiAgICBjd2Q6IHJvb3QsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgZG90OiB0cnVlLFxuICB9KTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihyb290LCBmaWxlKTtcblxuICAgIGxldCBjb250ZW50O1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShmaWxlUGF0aCkgPT09IFwiLmpzb25cIikge1xuICAgICAgY29udGVudCA9IGZzLnJlYWRKc29uU3luYyhmaWxlUGF0aCk7XG5cbiAgICAgIGlmIChwYXRoLmJhc2VuYW1lKGZpbGVQYXRoKSA9PT0gXCJjb25zdHJhaW50cy5qc29uXCIpIHtcbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2RrdGY7XG4gICAgICAgIC8vIGNsaSBpZGVudGl0eSBkZXBlbmRzIG9uIHRoZSB0ZXJyYWZvcm0vb3BlbnRvZnUgYmluYXJ5IGluc3RhbGxlZFxuICAgICAgICAvLyBvbiB0aGUgdGVzdCBydW5uZXIgLSBub3QgZGV0ZXJtaW5pc3RpYywgc28gZXhjbHVkZWQgbGlrZSBjZGt0Zi5cbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2xpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0Zi04XCIpO1xuICAgIH1cblxuICAgIG91dHB1dFtmaWxlXSA9IGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3QoXG4gIHNuYXBzaG90OiBTeW50aE91dHB1dCxcbiAgcHJvdmlkZXJOYW1lSW5QYXRoOiBzdHJpbmcsXG4pIHtcbiAgY29uc3QgcmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBmaWxlcyA9IE9iamVjdC5rZXlzKHNuYXBzaG90KTtcbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBmaWxlLm1hdGNoKFxuICAgICAgYC9wcm92aWRlcnMvJHtwcm92aWRlck5hbWVJblBhdGh9LyguKj8pL2luZGV4LnRzL2AsXG4gICAgKTtcbiAgICAvLyBhdm9pZHMgYW55IG5vdCByZXNvdXJjZXMgZnJvbSBiZWluZyBwdXNoZWRcbiAgICBpZiAoXG4gICAgICBtYXRjaCAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwiL1wiKSAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwiZGF0YS1cIikgJiZcbiAgICAgICFtYXRjaFsxXS5pbmNsdWRlcyhcInByb3ZpZGVyXCIpXG4gICAgKSB7XG4gICAgICByZXNvdXJjZXMucHVzaChtYXRjaFsxXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNvdXJjZXM7XG59XG5cbmRlc2NyaWJlKFwiUHJvdmlkZXJcIiwgKCkgPT4ge1xuICBpdChcImdlbmVyYXRlcyBhIHByb3ZpZGVyXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludChcbiAgICAgIFwiRGF0YURvZy9kYXRhZG9nQD0gMy4xMi4wXCIsXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuICAgICAgZXhwZWN0KHNuYXBzaG90KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG5cbiAgaXQoXCJoYXMgZ2VuZXJhdGVkIHByb3ZpZGVyIHRoYXQgaW5jbHVkZXMgc3RhdGljIGltcG9ydCBmdW5jdGlvbnNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KFxuICAgICAgXCJEYXRhRG9nL2RhdGFkb2dAPSAzLjEyLjBcIixcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKHtcbiAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuXG4gICAgICBjb25zdCB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudDogc3RyaW5nW10gPVxuICAgICAgICByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3Qoc25hcHNob3QsIFwiZGF0YWRvZ1wiKTtcblxuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQuZm9yRWFjaCgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgbGV0IHRlcnJhZm9ybVJlc291cmNlVHlwZSA9IHJlc291cmNlLnJlcGxhY2UoLy0vZywgXCJfXCIpO1xuICAgICAgICBpZiAoIXRlcnJhZm9ybVJlc291cmNlVHlwZS5pbmNsdWRlcyhcImRhdGFkb2dcIikpIHtcbiAgICAgICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSBgZGF0YWRvZ18ke3RlcnJhZm9ybVJlc291cmNlVHlwZX1gO1xuICAgICAgICB9XG4gICAgICAgIGV4cGVjdChzbmFwc2hvdFtgcHJvdmlkZXJzL2RhdGFkb2cvJHtyZXNvdXJjZX0vaW5kZXgudHNgXSkudG9Db250YWluKFxuICAgICAgICAgIGBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtgLFxuICAgICAgICApO1xuICAgICAgICBleHBlY3Qoc25hcHNob3RbYHByb3ZpZGVycy9kYXRhZG9nLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0pLnRvQ29udGFpbihcbiAgICAgICAgICBgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIiR7dGVycmFmb3JtUmVzb3VyY2VUeXBlfVwiLCBpbXBvcnRJZDogaW1wb3J0RnJvbUlkLCBwcm92aWRlciB9KTtgLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xuXG4gIGl0KFwiaGFzIG5hbWUgaW4gY29uc3RyYWludCB0aGF0IGRvZXMgbm90IG1hdGNoIHJlc29sdmVkIG5hbWUgaW4gZnFwblwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJkb2NrZXJyXCIsXG4gICAgICBzb3VyY2U6IFwicmVnaXN0cnkudGVycmFmb3JtLmlvL2tyZXV6d2Vya2VyL2RvY2tlclwiLFxuICAgICAgdmVyc2lvbjogXCIzLjAuMlwiLFxuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG5cbiAgICAgIGNvbnN0IHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50OiBzdHJpbmdbXSA9XG4gICAgICAgIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChzbmFwc2hvdCwgXCJkb2NrZXJyXCIpO1xuXG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudC5mb3JFYWNoKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICBleHBlY3QoXG4gICAgICAgICAgc25hcHNob3RbYHByb3ZpZGVycy9kb2NrZXJyLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0sXG4gICAgICAgICkudG9CZURlZmluZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBjb25zdHJ1Y3RzIGZvciB0d28gcHJvdmlkZXJzIHdpdGggc2FtZSBuYW1lXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImJpdGJ1Y2tldFwiLFxuICAgICAgbmFtZXNwYWNlOiBcIkRyRmF1c3Q5MlwiLFxuICAgICAgdmVyc2lvbjogXCIyLjUxLjBcIixcbiAgICAgIHNvdXJjZTogXCJEckZhdXN0OTIvYml0YnVja2V0XCIsXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RyYWludDIgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwiYWJpdGJ1Y2tldFwiLFxuICAgICAgbmFtZXNwYWNlOiBcImFuZHNhZmUtQUdcIixcbiAgICAgIHZlcnNpb246IFwiMi41LjBcIixcbiAgICAgIHNvdXJjZTogXCJhbmRzYWZlLUFHL2JpdGJ1Y2tldFwiLFxuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnQsIGNvbnN0cmFpbnQyXSk7XG4gICAgICBjb25zb2xlLmxvZyhcIndvcmtkaXJcIiwgd29ya2Rpcik7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuICAgICAgZXhwZWN0KHNuYXBzaG90KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
// Copyright (c) HashiCorp, Inc
|
|
27
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
28
|
+
const fs = __importStar(require("fs"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const provider_generator_1 = require("../../generator/provider-generator");
|
|
31
|
+
const codemaker_1 = require("codemaker");
|
|
32
|
+
const util_1 = require("../util");
|
|
33
|
+
const tmp = (0, util_1.createTmpHelper)();
|
|
34
|
+
test("generate an ephemeral random_password resource alongside a regular random_uuid resource", async () => {
|
|
35
|
+
const code = new codemaker_1.CodeMaker();
|
|
36
|
+
const workdir = tmp("ephemeral.test");
|
|
37
|
+
const spec = JSON.parse(fs.readFileSync(path.join(__dirname, "fixtures", "ephemeral-resources.test.fixture.json"), "utf-8"));
|
|
38
|
+
new provider_generator_1.TerraformProviderGenerator(code, spec).generateAll();
|
|
39
|
+
await code.save(workdir);
|
|
40
|
+
const ephemeralOutput = fs.readFileSync(path.join(workdir, "providers/random/ephemeral-random-password/index.ts"), "utf-8");
|
|
41
|
+
expect(ephemeralOutput).toMatchSnapshot("ephemeral-random-password");
|
|
42
|
+
const resourceOutput = fs.readFileSync(path.join(workdir, "providers/random/uuid/index.ts"), "utf-8");
|
|
43
|
+
expect(resourceOutput).toMatchSnapshot("random-uuid");
|
|
44
|
+
const providerIndex = fs.readFileSync(path.join(workdir, "providers/random/index.ts"), "utf-8");
|
|
45
|
+
expect(providerIndex).toMatchSnapshot("provider-index");
|
|
46
|
+
const providerLazyIndex = fs.readFileSync(path.join(workdir, "providers/random/lazy-index.ts"), "utf-8");
|
|
47
|
+
expect(providerLazyIndex).toMatchSnapshot("provider-lazy-index");
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBoZW1lcmFsLXJlc291cmNlcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vZ2VuZXJhdG9yL2VwaGVtZXJhbC1yZXNvdXJjZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDJFQUFnRjtBQUNoRix5Q0FBc0M7QUFDdEMsa0NBQTBDO0FBRTFDLE1BQU0sR0FBRyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0FBRTlCLElBQUksQ0FBQyx5RkFBeUYsRUFBRSxLQUFLLElBQUksRUFBRTtJQUN6RyxNQUFNLElBQUksR0FBRyxJQUFJLHFCQUFTLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNyQixFQUFFLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSx1Q0FBdUMsQ0FBQyxFQUN6RSxPQUFPLENBQ1IsQ0FDRixDQUFDO0lBQ0YsSUFBSSwrQ0FBMEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpCLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHFEQUFxRCxDQUFDLEVBQ3pFLE9BQU8sQ0FDUixDQUFDO0lBQ0YsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGdDQUFnQyxDQUFDLEVBQ3BELE9BQU8sQ0FDUixDQUFDO0lBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUV0RCxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxFQUMvQyxPQUFPLENBQ1IsQ0FBQztJQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV4RCxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGdDQUFnQyxDQUFDLEVBQ3BELE9BQU8sQ0FDUixDQUFDO0lBQ0YsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvciB9IGZyb20gXCIuLi8uLi9nZW5lcmF0b3IvcHJvdmlkZXItZ2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBDb2RlTWFrZXIgfSBmcm9tIFwiY29kZW1ha2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVUbXBIZWxwZXIgfSBmcm9tIFwiLi4vdXRpbFwiO1xuXG5jb25zdCB0bXAgPSBjcmVhdGVUbXBIZWxwZXIoKTtcblxudGVzdChcImdlbmVyYXRlIGFuIGVwaGVtZXJhbCByYW5kb21fcGFzc3dvcmQgcmVzb3VyY2UgYWxvbmdzaWRlIGEgcmVndWxhciByYW5kb21fdXVpZCByZXNvdXJjZVwiLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNvZGUgPSBuZXcgQ29kZU1ha2VyKCk7XG4gIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJlcGhlbWVyYWwudGVzdFwiKTtcbiAgY29uc3Qgc3BlYyA9IEpTT04ucGFyc2UoXG4gICAgZnMucmVhZEZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCJmaXh0dXJlc1wiLCBcImVwaGVtZXJhbC1yZXNvdXJjZXMudGVzdC5maXh0dXJlLmpzb25cIiksXG4gICAgICBcInV0Zi04XCIsXG4gICAgKSxcbiAgKTtcbiAgbmV3IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yKGNvZGUsIHNwZWMpLmdlbmVyYXRlQWxsKCk7XG4gIGF3YWl0IGNvZGUuc2F2ZSh3b3JrZGlyKTtcblxuICBjb25zdCBlcGhlbWVyYWxPdXRwdXQgPSBmcy5yZWFkRmlsZVN5bmMoXG4gICAgcGF0aC5qb2luKHdvcmtkaXIsIFwicHJvdmlkZXJzL3JhbmRvbS9lcGhlbWVyYWwtcmFuZG9tLXBhc3N3b3JkL2luZGV4LnRzXCIpLFxuICAgIFwidXRmLThcIixcbiAgKTtcbiAgZXhwZWN0KGVwaGVtZXJhbE91dHB1dCkudG9NYXRjaFNuYXBzaG90KFwiZXBoZW1lcmFsLXJhbmRvbS1wYXNzd29yZFwiKTtcblxuICBjb25zdCByZXNvdXJjZU91dHB1dCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICBwYXRoLmpvaW4od29ya2RpciwgXCJwcm92aWRlcnMvcmFuZG9tL3V1aWQvaW5kZXgudHNcIiksXG4gICAgXCJ1dGYtOFwiLFxuICApO1xuICBleHBlY3QocmVzb3VyY2VPdXRwdXQpLnRvTWF0Y2hTbmFwc2hvdChcInJhbmRvbS11dWlkXCIpO1xuXG4gIGNvbnN0IHByb3ZpZGVySW5kZXggPSBmcy5yZWFkRmlsZVN5bmMoXG4gICAgcGF0aC5qb2luKHdvcmtkaXIsIFwicHJvdmlkZXJzL3JhbmRvbS9pbmRleC50c1wiKSxcbiAgICBcInV0Zi04XCIsXG4gICk7XG4gIGV4cGVjdChwcm92aWRlckluZGV4KS50b01hdGNoU25hcHNob3QoXCJwcm92aWRlci1pbmRleFwiKTtcblxuICBjb25zdCBwcm92aWRlckxhenlJbmRleCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICBwYXRoLmpvaW4od29ya2RpciwgXCJwcm92aWRlcnMvcmFuZG9tL2xhenktaW5kZXgudHNcIiksXG4gICAgXCJ1dGYtOFwiLFxuICApO1xuICBleHBlY3QocHJvdmlkZXJMYXp5SW5kZXgpLnRvTWF0Y2hTbmFwc2hvdChcInByb3ZpZGVyLWxhenktaW5kZXhcIik7XG59KTtcbiJdfQ==
|