@cdktn/hcl2cdk 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +95 -0
  2. package/ambient.d.ts +14 -0
  3. package/jest.config.js +16 -0
  4. package/lib/__tests__/coerceType.test.d.ts +2 -0
  5. package/lib/__tests__/coerceType.test.js +165 -0
  6. package/lib/__tests__/expressionToTs.test.d.ts +6 -0
  7. package/lib/__tests__/expressionToTs.test.js +693 -0
  8. package/lib/__tests__/expressions.test.d.ts +4 -0
  9. package/lib/__tests__/expressions.test.js +415 -0
  10. package/lib/__tests__/findExpressionType.test.d.ts +6 -0
  11. package/lib/__tests__/findExpressionType.test.js +105 -0
  12. package/lib/__tests__/functions.test.d.ts +6 -0
  13. package/lib/__tests__/functions.test.js +605 -0
  14. package/lib/__tests__/generation.test.d.ts +6 -0
  15. package/lib/__tests__/generation.test.js +45 -0
  16. package/lib/__tests__/jsii-rosetta-workarounds.test.d.ts +2 -0
  17. package/lib/__tests__/jsii-rosetta-workarounds.test.js +86 -0
  18. package/lib/__tests__/partialCode.test.d.ts +6 -0
  19. package/lib/__tests__/partialCode.test.js +390 -0
  20. package/lib/__tests__/terraformSchema.test.d.ts +6 -0
  21. package/lib/__tests__/terraformSchema.test.js +105 -0
  22. package/lib/__tests__/testHelpers.d.ts +7 -0
  23. package/lib/__tests__/testHelpers.js +16 -0
  24. package/lib/coerceType.d.ts +7 -0
  25. package/lib/coerceType.js +240 -0
  26. package/lib/dynamic-blocks.d.ts +8 -0
  27. package/lib/dynamic-blocks.js +44 -0
  28. package/lib/expressions.d.ts +9 -0
  29. package/lib/expressions.js +634 -0
  30. package/lib/function-bindings/functions.d.ts +31 -0
  31. package/lib/function-bindings/functions.generated.d.ts +806 -0
  32. package/lib/function-bindings/functions.generated.js +1142 -0
  33. package/lib/function-bindings/functions.js +73 -0
  34. package/lib/generation.d.ts +26 -0
  35. package/lib/generation.js +676 -0
  36. package/lib/index.d.ts +136 -0
  37. package/lib/index.js +364 -0
  38. package/lib/iteration.d.ts +23 -0
  39. package/lib/iteration.js +87 -0
  40. package/lib/jsii-rosetta-workarounds.d.ts +5 -0
  41. package/lib/jsii-rosetta-workarounds.js +126 -0
  42. package/lib/partialCode.d.ts +11 -0
  43. package/lib/partialCode.js +116 -0
  44. package/lib/provider.d.ts +8 -0
  45. package/lib/provider.js +40 -0
  46. package/lib/references.d.ts +11 -0
  47. package/lib/references.js +141 -0
  48. package/lib/schema.d.ts +297 -0
  49. package/lib/schema.js +81 -0
  50. package/lib/telemetryAllowList.json +24 -0
  51. package/lib/terraformSchema.d.ts +6 -0
  52. package/lib/terraformSchema.js +136 -0
  53. package/lib/types.d.ts +50 -0
  54. package/lib/types.js +3 -0
  55. package/lib/utils.d.ts +6 -0
  56. package/lib/utils.js +25 -0
  57. package/lib/variables.d.ts +10 -0
  58. package/lib/variables.js +172 -0
  59. package/package.json +71 -0
  60. package/package.sh +9 -0
  61. package/tsconfig.json +42 -0
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) HashiCorp, Inc.
4
+ * SPDX-License-Identifier: MPL-2.0
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.findUsedReferences = exports.extractReferencesFromExpression = exports.containsReference = exports.referenceToVariableName = void 0;
8
+ const hcl2json_1 = require("@cdktn/hcl2json");
9
+ const utils_1 = require("./utils");
10
+ const variables_1 = require("./variables");
11
+ function referenceToVariableName(scope, ref) {
12
+ const parts = ref.referencee.id.split(".");
13
+ const resource = parts[0] === "data" ? `${parts[0]}.${parts[1]}` : parts[0];
14
+ const name = parts[0] === "data" ? parts[2] : parts[1];
15
+ return (0, variables_1.variableName)(scope, resource, name);
16
+ }
17
+ exports.referenceToVariableName = referenceToVariableName;
18
+ function containsReference(expression) {
19
+ if (!hcl2json_1.TFExpressionSyntaxTree.isScopeTraversalExpression(expression)) {
20
+ return false;
21
+ }
22
+ const segments = expression.meta.traversal;
23
+ const rootSegment = segments[0].segment;
24
+ const fullAccessor = expression.meta.fullAccessor;
25
+ if (rootSegment === "count" || // count variable
26
+ rootSegment === "each" || // each variable
27
+ // https://www.terraform.io/docs/language/expressions/references.html#filesystem-and-workspace-info
28
+ fullAccessor.startsWith("path.module") ||
29
+ fullAccessor.startsWith("path.root") ||
30
+ fullAccessor.startsWith("path.cwd") ||
31
+ fullAccessor.startsWith("terraform.workspace") ||
32
+ fullAccessor.startsWith("self.") // block local value
33
+ ) {
34
+ utils_1.logger.debug(`skipping ${fullAccessor}`);
35
+ return false;
36
+ }
37
+ return true;
38
+ }
39
+ exports.containsReference = containsReference;
40
+ async function extractReferencesFromExpression(input, nodeIds, scopedIds = []) {
41
+ utils_1.logger.debug(`extractReferencesFromExpression(${input})`);
42
+ const possibleVariableSpots = await (0, hcl2json_1.getReferencesInExpression)("main.tf", input);
43
+ utils_1.logger.debug(`found possible variable spots: ${JSON.stringify(possibleVariableSpots)}`);
44
+ return possibleVariableSpots.reduce((carry, spot) => {
45
+ const { value, startPosition, endPosition } = spot;
46
+ // no reference
47
+ if (!value.includes(".") || // just a literal
48
+ value.startsWith(".") || // dangling property access
49
+ value.endsWith("...") || // spread (likely in for loop)
50
+ value.startsWith("count.") || // count variable
51
+ value.startsWith("each.") || // each variable
52
+ // https://www.terraform.io/docs/language/expressions/references.html#filesystem-and-workspace-info
53
+ value.startsWith("path.module") ||
54
+ value.startsWith("path.root") ||
55
+ value.startsWith("path.cwd") ||
56
+ value.startsWith("terraform.workspace") ||
57
+ value.startsWith("self.") // block local value
58
+ ) {
59
+ utils_1.logger.debug(`skipping ${value}`);
60
+ return carry;
61
+ }
62
+ const referenceParts = value.split(".");
63
+ utils_1.logger.debug(`Searching for node id '${value}' in ${JSON.stringify(nodeIds)}`);
64
+ const corespondingNodeId = [...nodeIds, ...scopedIds].find((id) => {
65
+ const parts = id.split(".");
66
+ const matchesFirst = parts[0] === referenceParts[0];
67
+ const matchesFirstTwo = matchesFirst &&
68
+ (parts[1] === referenceParts[1] || referenceParts.length === 1);
69
+ return (matchesFirstTwo &&
70
+ (parts[0] === "data" ? parts[2] === referenceParts[2] : true));
71
+ });
72
+ if (!corespondingNodeId) {
73
+ // This is most likely a false positive, so we just ignore it
74
+ // We include the log below to help debugging
75
+ utils_1.logger.error(`Found a reference that is unknown: ${input} has reference "${value}".The id was not found in ${JSON.stringify(nodeIds)} with temporary values ${JSON.stringify(scopedIds)}.
76
+ ${utils_1.leaveCommentText}`);
77
+ return carry;
78
+ }
79
+ if (scopedIds.includes(corespondingNodeId)) {
80
+ utils_1.logger.debug(`skipping '${value}' since it's a scoped variable`);
81
+ return carry;
82
+ }
83
+ utils_1.logger.debug(`Found node id '${corespondingNodeId}'`);
84
+ const spotParts = value.split(".");
85
+ let isThereANumericAccessor = false;
86
+ const referenceSpotParts = spotParts.filter((part) => {
87
+ if (!Number.isNaN(parseInt(part, 10))) {
88
+ isThereANumericAccessor = true;
89
+ return false;
90
+ }
91
+ return !isThereANumericAccessor;
92
+ });
93
+ const fullReference = isThereANumericAccessor
94
+ ? referenceSpotParts.slice(0, 2).join(".")
95
+ : value;
96
+ const isVariable = value.startsWith("var.");
97
+ const useFqn =
98
+ // Can not use FQN on vars
99
+ !isVariable &&
100
+ // Can not use FQN on locals
101
+ !value.startsWith("local.") &&
102
+ // If the following character is
103
+ (input.substr(endPosition + 1, 1) === "*" || // a * (splat) we need to use the FQN
104
+ input.substr(endPosition, 1) === "[" || // a property access
105
+ isThereANumericAccessor); // a numeric access
106
+ const ref = {
107
+ start: startPosition,
108
+ end: endPosition,
109
+ referencee: {
110
+ id: corespondingNodeId,
111
+ full: fullReference,
112
+ },
113
+ useFqn,
114
+ isVariable,
115
+ };
116
+ utils_1.logger.debug(`Found reference ${JSON.stringify(ref)}`);
117
+ return [...carry, ref];
118
+ }, []);
119
+ }
120
+ exports.extractReferencesFromExpression = extractReferencesFromExpression;
121
+ async function findUsedReferences(nodeIds, item) {
122
+ utils_1.logger.debug(`findUsedReferences(${nodeIds}, ${item})`);
123
+ if (typeof item === "string") {
124
+ return await extractReferencesFromExpression(item, nodeIds, []);
125
+ }
126
+ if (typeof item !== "object" || item === null || item === undefined) {
127
+ return [];
128
+ }
129
+ if (Array.isArray(item)) {
130
+ return (await Promise.all(item.map((i) => findUsedReferences(nodeIds, i)))).flat();
131
+ }
132
+ if (item && "dynamic" in item) {
133
+ const dyn = item["dynamic"];
134
+ const { for_each, ...others } = dyn;
135
+ const dynamicRef = Object.keys(others)[0];
136
+ return await findUsedReferences([...nodeIds, dynamicRef], dyn);
137
+ }
138
+ return (await Promise.all(Object.values(item).map((i) => findUsedReferences(nodeIds, i)))).flat();
139
+ }
140
+ exports.findUsedReferences = findUsedReferences;
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlZmVyZW5jZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUgsOENBR3lCO0FBQ3pCLG1DQUFtRDtBQUVuRCwyQ0FBMkM7QUFFM0MsU0FBZ0IsdUJBQXVCLENBQ3JDLEtBQW1CLEVBQ25CLEdBQWM7SUFFZCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLElBQUEsd0JBQVksRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFSRCwwREFRQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLFVBQThCO0lBQzlELElBQUksQ0FBQyxpQ0FBRyxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDM0MsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUN4QyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMs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O0lBRUQsT0FBTyxDQUNMLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixNQUFNLENBQUMsTUFBTSxDQUFDLElBQTJCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNuRCxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQy9CLENBQ0YsQ0FDRixDQUFDLElBQUksRUFBRSxDQUFDO0FBQ1gsQ0FBQztBQWpDRCxnREFpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7XG4gIGdldFJlZmVyZW5jZXNJbkV4cHJlc3Npb24sXG4gIFRGRXhwcmVzc2lvblN5bnRheFRyZWUgYXMgdGV4LFxufSBmcm9tIFwiQGNka3RuL2hjbDJqc29uXCI7XG5pbXBvcnQgeyBsZWF2ZUNvbW1lbnRUZXh0LCBsb2dnZXIgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgUHJvZ3JhbVNjb3BlLCBSZWZlcmVuY2UsIFRlcnJhZm9ybVJlc291cmNlQmxvY2sgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgdmFyaWFibGVOYW1lIH0gZnJvbSBcIi4vdmFyaWFibGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWZlcmVuY2VUb1ZhcmlhYmxlTmFtZShcbiAgc2NvcGU6IFByb2dyYW1TY29wZSxcbiAgcmVmOiBSZWZlcmVuY2UsXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0cyA9IHJlZi5yZWZlcmVuY2VlLmlkLnNwbGl0KFwiLlwiKTtcbiAgY29uc3QgcmVzb3VyY2UgPSBwYXJ0c1swXSA9PT0gXCJkYXRhXCIgPyBgJHtwYXJ0c1swXX0uJHtwYXJ0c1sxXX1gIDogcGFydHNbMF07XG4gIGNvbnN0IG5hbWUgPSBwYXJ0c1swXSA9PT0gXCJkYXRhXCIgPyBwYXJ0c1syXSA6IHBhcnRzWzFdO1xuICByZXR1cm4gdmFyaWFibGVOYW1lKHNjb3BlLCByZXNvdXJjZSwgbmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250YWluc1JlZmVyZW5jZShleHByZXNzaW9uOiB0ZXguRXhwcmVzc2lvblR5cGUpIHtcbiAgaWYgKCF0ZXguaXNTY29wZVRyYXZlcnNhbEV4cHJlc3Npb24oZXhwcmVzc2lvbikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBzZWdtZW50cyA9IGV4cHJlc3Npb24ubWV0YS50cmF2ZXJzYWw7XG4gIGNvbnN0IHJvb3RTZWdtZW50ID0gc2VnbWVudHNbMF0uc2VnbWVudDtcbiAgY29uc3QgZnVsbEFjY2Vzc29yID0gZXhwcmVzc2lvbi5tZXRhLmZ1bGxBY2Nlc3NvcjtcblxuICBpZiAoXG4gICAgcm9vdFNlZ21lbnQgPT09IFwiY291bnRcIiB8fCAvLyBjb3VudCB2YXJpYWJsZVxuICAgIHJvb3RTZWdtZW50ID09PSBcImVhY2hcIiB8fCAvLyBlYWNoIHZhcmlhYmxlXG4gICAgLy8gaHR0cHM6Ly93d3cudGVycmFmb3JtLmlvL2RvY3MvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvcmVmZXJlbmNlcy5odG1sI2ZpbGVzeXN0ZW0tYW5kLXdvcmtzcGFjZS1pbmZvXG4gICAgZnVsbEFjY2Vzc29yLnN0YXJ0c1dpdGgoXCJwYXRoLm1vZHVsZVwiKSB8fFxuICAgIGZ1bGxBY2Nlc3Nvci5zdGFydHNXaXRoKFwicGF0aC5yb290XCIpIHx8XG4gICAgZnVsbEFjY2Vzc29yLnN0YXJ0c1dpdGgoXCJwYXRoLmN3ZFwiKSB8fFxuICAgIGZ1bGxBY2Nlc3Nvci5zdGFydHNXaXRoKFwidGVycmFmb3JtLndvcmtzcGFjZVwiKSB8fFxuICAgIGZ1bGxBY2Nlc3Nvci5zdGFydHNXaXRoKFwic2VsZi5cIikgLy8gYmxvY2sgbG9jYWwgdmFsdWVcbiAgKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBza2lwcGluZyAke2Z1bGxBY2Nlc3Nvcn1gKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4dHJhY3RSZWZlcmVuY2VzRnJvbUV4cHJlc3Npb24oXG4gIGlucHV0OiBzdHJpbmcsXG4gIG5vZGVJZHM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICBzY29wZWRJZHM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW10sIC8vIGR5bmFtaWNzIGludHJvZHVjZSBuZXcgc2NvcGVkIHZhcmlhYmxlcyB0aGF0IGFyZSBub3QgdGhlIGdsb2JhbGx5IGFjY2Vzc2libGUgaWRzXG4pOiBQcm9taXNlPFJlZmVyZW5jZVtdPiB7XG4gIGxvZ2dlci5kZWJ1ZyhgZXh0cmFjdFJlZmVyZW5jZXNGcm9tRXhwcmVzc2lvbigke2lucHV0fSlgKTtcbiAgY29uc3QgcG9zc2libGVWYXJpYWJsZVNwb3RzID0gYXdhaXQgZ2V0UmVmZXJlbmNlc0luRXhwcmVzc2lvbihcbiAgICBcIm1haW4udGZcIixcbiAgICBpbnB1dCxcbiAgKTtcblxuICBsb2dnZXIuZGVidWcoXG4gICAgYGZvdW5kIHBvc3NpYmxlIHZhcmlhYmxlIHNwb3RzOiAke0pTT04uc3RyaW5naWZ5KHBvc3NpYmxlVmFyaWFibGVTcG90cyl9YCxcbiAgKTtcblxuICByZXR1cm4gcG9zc2libGVWYXJpYWJsZVNwb3RzLnJlZHVjZSgoY2FycnksIHNwb3QpID0+IHtcbiAgICBjb25zdCB7IHZhbHVlLCBzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbiB9ID0gc3BvdDtcbiAgICAvLyBubyByZWZlcmVuY2VcbiAgICBpZiAoXG4gICAgICAhdmFsdWUuaW5jbHVkZXMoXCIuXCIpIHx8IC8vIGp1c3QgYSBsaXRlcmFsXG4gICAgICB2YWx1ZS5zdGFydHNXaXRoKFwiLlwiKSB8fCAvLyBkYW5nbGluZyBwcm9wZXJ0eSBhY2Nlc3NcbiAgICAgIHZhbHVlLmVuZHNXaXRoKFwiLi4uXCIpIHx8IC8vIHNwcmVhZCAobGlrZWx5IGluIGZvciBsb29wKVxuICAgICAgdmFsdWUuc3RhcnRzV2l0aChcImNvdW50LlwiKSB8fCAvLyBjb3VudCB2YXJpYWJsZVxuICAgICAgdmFsdWUuc3RhcnRzV2l0aChcImVhY2guXCIpIHx8IC8vIGVhY2ggdmFyaWFibGVcbiAgICAgIC8vIGh0dHBzOi8vd3d3LnRlcnJhZm9ybS5pby9kb2NzL2xhbmd1YWdlL2V4cHJlc3Npb25zL3JlZmVyZW5jZXMuaHRtbCNmaWxlc3lzdGVtLWFuZC13b3Jrc3BhY2UtaW5mb1xuICAgICAgdmFsdWUuc3RhcnRzV2l0aChcInBhdGgubW9kdWxlXCIpIHx8XG4gICAgICB2YWx1ZS5zdGFydHNXaXRoKFwicGF0aC5yb290XCIpIHx8XG4gICAgICB2YWx1ZS5zdGFydHNXaXRoKFwicGF0aC5jd2RcIikgfHxcbiAgICAgIHZhbHVlLnN0YXJ0c1dpdGgoXCJ0ZXJyYWZvcm0ud29ya3NwYWNlXCIpIHx8XG4gICAgICB2YWx1ZS5zdGFydHNXaXRoKFwic2VsZi5cIikgLy8gYmxvY2sgbG9jYWwgdmFsdWVcbiAgICApIHtcbiAgICAgIGxvZ2dlci5kZWJ1Zyhgc2tpcHBpbmcgJHt2YWx1ZX1gKTtcbiAgICAgIHJldHVybiBjYXJyeTtcbiAgICB9XG5cbiAgICBjb25zdCByZWZlcmVuY2VQYXJ0cyA9IHZhbHVlLnNwbGl0KFwiLlwiKTtcblxuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBTZWFyY2hpbmcgZm9yIG5vZGUgaWQgJyR7dmFsdWV9JyBpbiAke0pTT04uc3RyaW5naWZ5KG5vZGVJZHMpfWAsXG4gICAgKTtcbiAgICBjb25zdCBjb3Jlc3BvbmRpbmdOb2RlSWQgPSBbLi4ubm9kZUlkcywgLi4uc2NvcGVkSWRzXS5maW5kKChpZCkgPT4ge1xuICAgICAgY29uc3QgcGFydHMgPSBpZC5zcGxpdChcIi5cIik7XG4gICAgICBjb25zdCBtYXRjaGVzRmlyc3QgPSBwYXJ0c1swXSA9PT0gcmVmZXJlbmNlUGFydHNbMF07XG4gICAgICBjb25zdCBtYXRjaGVzRmlyc3RUd28gPVxuICAgICAgICBtYXRjaGVzRmlyc3QgJiZcbiAgICAgICAgKHBhcnRzWzFdID09PSByZWZlcmVuY2VQYXJ0c1sxXSB8fCByZWZlcmVuY2VQYXJ0cy5sZW5ndGggPT09IDEpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICBtYXRjaGVzRmlyc3RUd28gJiZcbiAgICAgICAgKHBhcnRzWzBdID09PSBcImRhdGFcIiA/IHBhcnRzWzJdID09PSByZWZlcmVuY2VQYXJ0c1syXSA6IHRydWUpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaWYgKCFjb3Jlc3BvbmRpbmdOb2RlSWQpIHtcbiAgICAgIC8vIFRoaXMgaXMgbW9zdCBsaWtlbHkgYSBmYWxzZSBwb3NpdGl2ZSwgc28gd2UganVzdCBpZ25vcmUgaXRcbiAgICAgIC8vIFdlIGluY2x1ZGUgdGhlIGxvZyBiZWxvdyB0byBoZWxwIGRlYnVnZ2luZ1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICBgRm91bmQgYSByZWZlcmVuY2UgdGhhdCBpcyB1bmtub3duOiAke2lucHV0fSBoYXMgcmVmZXJlbmNlIFwiJHt2YWx1ZX1cIi5UaGUgaWQgd2FzIG5vdCBmb3VuZCBpbiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIG5vZGVJZHMsXG4gICAgICAgICl9IHdpdGggdGVtcG9yYXJ5IHZhbHVlcyAke0pTT04uc3RyaW5naWZ5KHNjb3BlZElkcyl9LlxuJHtsZWF2ZUNvbW1lbnRUZXh0fWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGNhcnJ5O1xuICAgIH1cblxuICAgIGlmIChzY29wZWRJZHMuaW5jbHVkZXMoY29yZXNwb25kaW5nTm9kZUlkKSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBza2lwcGluZyAnJHt2YWx1ZX0nIHNpbmNlIGl0J3MgYSBzY29wZWQgdmFyaWFibGVgKTtcbiAgICAgIHJldHVybiBjYXJyeTtcbiAgICB9XG4gICAgbG9nZ2VyLmRlYnVnKGBGb3VuZCBub2RlIGlkICcke2NvcmVzcG9uZGluZ05vZGVJZH0nYCk7XG5cbiAgICBjb25zdCBzcG90UGFydHMgPSB2YWx1ZS5zcGxpdChcIi5cIik7XG4gICAgbGV0IGlzVGhlcmVBTnVtZXJpY0FjY2Vzc29yID0gZmFsc2U7XG4gICAgY29uc3QgcmVmZXJlbmNlU3BvdFBhcnRzID0gc3BvdFBhcnRzLmZpbHRlcigocGFydCkgPT4ge1xuICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocGFyc2VJbnQocGFydCwgMTApKSkge1xuICAgICAgICBpc1RoZXJlQU51bWVyaWNBY2Nlc3NvciA9IHRydWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICFpc1RoZXJlQU51bWVyaWNBY2Nlc3NvcjtcbiAgICB9KTtcbiAgICBjb25zdCBmdWxsUmVmZXJlbmNlID0gaXNUaGVyZUFOdW1lcmljQWNjZXNzb3JcbiAgICAgID8gcmVmZXJlbmNlU3BvdFBhcnRzLnNsaWNlKDAsIDIpLmpvaW4oXCIuXCIpXG4gICAgICA6IHZhbHVlO1xuXG4gICAgY29uc3QgaXNWYXJpYWJsZSA9IHZhbHVlLnN0YXJ0c1dpdGgoXCJ2YXIuXCIpO1xuICAgIGNvbnN0IHVzZUZxbiA9XG4gICAgICAvLyBDYW4gbm90IHVzZSBGUU4gb24gdmFyc1xuICAgICAgIWlzVmFyaWFibGUgJiZcbiAgICAgIC8vIENhbiBub3QgdXNlIEZRTiBvbiBsb2NhbHNcbiAgICAgICF2YWx1ZS5zdGFydHNXaXRoKFwibG9jYWwuXCIpICYmXG4gICAgICAvLyBJZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlciBpc1xuICAgICAgKGlucHV0LnN1YnN0cihlbmRQb3NpdGlvbiArIDEsIDEpID09PSBcIipcIiB8fCAvLyBhICogKHNwbGF0KSB3ZSBuZWVkIHRvIHVzZSB0aGUgRlFOXG4gICAgICAgIGlucHV0LnN1YnN0cihlbmRQb3NpdGlvbiwgMSkgPT09IFwiW1wiIHx8IC8vIGEgcHJvcGVydHkgYWNjZXNzXG4gICAgICAgIGlzVGhlcmVBTnVtZXJpY0FjY2Vzc29yKTsgLy8gYSBudW1lcmljIGFjY2Vzc1xuXG4gICAgY29uc3QgcmVmOiBSZWZlcmVuY2UgPSB7XG4gICAgICBzdGFydDogc3RhcnRQb3NpdGlvbixcbiAgICAgIGVuZDogZW5kUG9zaXRpb24sXG4gICAgICByZWZlcmVuY2VlOiB7XG4gICAgICAgIGlkOiBjb3Jlc3BvbmRpbmdOb2RlSWQsXG4gICAgICAgIGZ1bGw6IGZ1bGxSZWZlcmVuY2UsXG4gICAgICB9LFxuICAgICAgdXNlRnFuLFxuICAgICAgaXNWYXJpYWJsZSxcbiAgICB9O1xuICAgIGxvZ2dlci5kZWJ1ZyhgRm91bmQgcmVmZXJlbmNlICR7SlNPTi5zdHJpbmdpZnkocmVmKX1gKTtcbiAgICByZXR1cm4gWy4uLmNhcnJ5LCByZWZdO1xuICB9LCBbXSBhcyBSZWZlcmVuY2VbXSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaW5kVXNlZFJlZmVyZW5jZXMoXG4gIG5vZGVJZHM6IHN0cmluZ1tdLFxuICBpdGVtOiBUZXJyYWZvcm1SZXNvdXJjZUJsb2NrLFxuKTogUHJvbWlzZTxSZWZlcmVuY2VbXT4ge1xuICBsb2dnZXIuZGVidWcoYGZpbmRVc2VkUmVmZXJlbmNlcygke25vZGVJZHN9LCAke2l0ZW19KWApO1xuICBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gYXdhaXQgZXh0cmFjdFJlZmVyZW5jZXNGcm9tRXhwcmVzc2lvbihpdGVtLCBub2RlSWRzLCBbXSk7XG4gIH1cblxuICBpZiAodHlwZW9mIGl0ZW0gIT09IFwib2JqZWN0XCIgfHwgaXRlbSA9PT0gbnVsbCB8fCBpdGVtID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChpdGVtLm1hcCgoaSkgPT4gZmluZFVzZWRSZWZlcmVuY2VzKG5vZGVJZHMsIGkpKSlcbiAgICApLmZsYXQoKTtcbiAgfVxuXG4gIGlmIChpdGVtICYmIFwiZHluYW1pY1wiIGluIGl0ZW0pIHtcbiAgICBjb25zdCBkeW4gPSAoaXRlbSBhcyBhbnkpW1wiZHluYW1pY1wiXTtcbiAgICBjb25zdCB7IGZvcl9lYWNoLCAuLi5vdGhlcnMgfSA9IGR5bjtcbiAgICBjb25zdCBkeW5hbWljUmVmID0gT2JqZWN0LmtleXMob3RoZXJzKVswXTtcbiAgICByZXR1cm4gYXdhaXQgZmluZFVzZWRSZWZlcmVuY2VzKFsuLi5ub2RlSWRzLCBkeW5hbWljUmVmXSwgZHluKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBPYmplY3QudmFsdWVzKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgYW55PikubWFwKChpKSA9PlxuICAgICAgICBmaW5kVXNlZFJlZmVyZW5jZXMobm9kZUlkcywgaSksXG4gICAgICApLFxuICAgIClcbiAgKS5mbGF0KCk7XG59XG4iXX0=
@@ -0,0 +1,297 @@
1
+ import * as z from "zod";
2
+ declare const outputConfig: z.ZodArray<z.ZodObject<{
3
+ value: z.ZodOptional<z.ZodAny>;
4
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
5
+ sensitive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6
+ depends_on: z.ZodOptional<z.ZodOptional<z.ZodString>>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ value?: any;
9
+ description?: string | undefined;
10
+ sensitive?: boolean | undefined;
11
+ depends_on?: string | undefined;
12
+ }, {
13
+ value?: any;
14
+ description?: string | undefined;
15
+ sensitive?: boolean | undefined;
16
+ depends_on?: string | undefined;
17
+ }>, "many">;
18
+ export type Output = z.infer<typeof outputConfig>;
19
+ declare const variableConfig: z.ZodArray<z.ZodObject<{
20
+ type: z.ZodOptional<z.ZodString>;
21
+ default: z.ZodOptional<z.ZodAny>;
22
+ description: z.ZodOptional<z.ZodString>;
23
+ sensitive: z.ZodOptional<z.ZodBoolean>;
24
+ nullable: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
25
+ validation: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
26
+ error_message: z.ZodString;
27
+ condition: z.ZodAny;
28
+ }, "strip", z.ZodTypeAny, {
29
+ error_message: string;
30
+ condition?: any;
31
+ }, {
32
+ error_message: string;
33
+ condition?: any;
34
+ }>, "many">>>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ type?: string | undefined;
37
+ default?: any;
38
+ description?: string | undefined;
39
+ sensitive?: boolean | undefined;
40
+ nullable?: boolean | undefined;
41
+ validation?: {
42
+ error_message: string;
43
+ condition?: any;
44
+ }[] | undefined;
45
+ }, {
46
+ type?: string | undefined;
47
+ default?: any;
48
+ description?: string | undefined;
49
+ sensitive?: boolean | undefined;
50
+ nullable?: boolean | undefined;
51
+ validation?: {
52
+ error_message: string;
53
+ condition?: any;
54
+ }[] | undefined;
55
+ }>, "many">;
56
+ export type Variable = z.infer<typeof variableConfig>;
57
+ declare const providerConfig: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">;
58
+ export type Provider = z.infer<typeof providerConfig>;
59
+ declare const moduleConfig: z.ZodArray<z.ZodObject<{
60
+ source: z.ZodString;
61
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
62
+ source: z.ZodString;
63
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
64
+ source: z.ZodString;
65
+ }, z.ZodTypeAny, "passthrough">>, "many">;
66
+ export type Module = z.infer<typeof moduleConfig>;
67
+ declare const resourceConfig: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">;
68
+ export type Resource = z.infer<typeof resourceConfig>;
69
+ export type Data = Resource;
70
+ declare const importConfig: z.ZodObject<{
71
+ to: z.ZodString;
72
+ id: z.ZodString;
73
+ provider: z.ZodOptional<z.ZodAny>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ to: string;
76
+ id: string;
77
+ provider?: any;
78
+ }, {
79
+ to: string;
80
+ id: string;
81
+ provider?: any;
82
+ }>;
83
+ export type Import = z.infer<typeof importConfig>;
84
+ declare const terraformConfig: z.ZodObject<{
85
+ required_version: z.ZodOptional<z.ZodString>;
86
+ required_providers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
87
+ source: z.ZodOptional<z.ZodString>;
88
+ version: z.ZodOptional<z.ZodString>;
89
+ }, "strip", z.ZodTypeAny, {
90
+ source?: string | undefined;
91
+ version?: string | undefined;
92
+ }, {
93
+ source?: string | undefined;
94
+ version?: string | undefined;
95
+ }>, z.ZodString]>>, "many">>;
96
+ backend: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ backend?: Record<string, Record<string, any>[]> | undefined;
99
+ required_providers?: Record<string, string | {
100
+ source?: string | undefined;
101
+ version?: string | undefined;
102
+ }>[] | undefined;
103
+ required_version?: string | undefined;
104
+ }, {
105
+ backend?: Record<string, Record<string, any>[]> | undefined;
106
+ required_providers?: Record<string, string | {
107
+ source?: string | undefined;
108
+ version?: string | undefined;
109
+ }>[] | undefined;
110
+ required_version?: string | undefined;
111
+ }>;
112
+ export type TerraformConfig = z.infer<typeof terraformConfig>;
113
+ export declare const schema: z.ZodObject<{
114
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>>>;
115
+ import: z.ZodOptional<z.ZodArray<z.ZodObject<{
116
+ to: z.ZodString;
117
+ id: z.ZodString;
118
+ provider: z.ZodOptional<z.ZodAny>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ to: string;
121
+ id: string;
122
+ provider?: any;
123
+ }, {
124
+ to: string;
125
+ id: string;
126
+ provider?: any;
127
+ }>, "many">>;
128
+ locals: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>;
129
+ module: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
130
+ source: z.ZodString;
131
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
132
+ source: z.ZodString;
133
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
134
+ source: z.ZodString;
135
+ }, z.ZodTypeAny, "passthrough">>, "many">>>;
136
+ output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
137
+ value: z.ZodOptional<z.ZodAny>;
138
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
139
+ sensitive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
140
+ depends_on: z.ZodOptional<z.ZodOptional<z.ZodString>>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ value?: any;
143
+ description?: string | undefined;
144
+ sensitive?: boolean | undefined;
145
+ depends_on?: string | undefined;
146
+ }, {
147
+ value?: any;
148
+ description?: string | undefined;
149
+ sensitive?: boolean | undefined;
150
+ depends_on?: string | undefined;
151
+ }>, "many">>>;
152
+ provider: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>>;
153
+ resource: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>>>;
154
+ terraform: z.ZodOptional<z.ZodArray<z.ZodObject<{
155
+ required_version: z.ZodOptional<z.ZodString>;
156
+ required_providers: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
157
+ source: z.ZodOptional<z.ZodString>;
158
+ version: z.ZodOptional<z.ZodString>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ source?: string | undefined;
161
+ version?: string | undefined;
162
+ }, {
163
+ source?: string | undefined;
164
+ version?: string | undefined;
165
+ }>, z.ZodString]>>, "many">>;
166
+ backend: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>>;
167
+ }, "strip", z.ZodTypeAny, {
168
+ backend?: Record<string, Record<string, any>[]> | undefined;
169
+ required_providers?: Record<string, string | {
170
+ source?: string | undefined;
171
+ version?: string | undefined;
172
+ }>[] | undefined;
173
+ required_version?: string | undefined;
174
+ }, {
175
+ backend?: Record<string, Record<string, any>[]> | undefined;
176
+ required_providers?: Record<string, string | {
177
+ source?: string | undefined;
178
+ version?: string | undefined;
179
+ }>[] | undefined;
180
+ required_version?: string | undefined;
181
+ }>, "many">>;
182
+ variable: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
183
+ type: z.ZodOptional<z.ZodString>;
184
+ default: z.ZodOptional<z.ZodAny>;
185
+ description: z.ZodOptional<z.ZodString>;
186
+ sensitive: z.ZodOptional<z.ZodBoolean>;
187
+ nullable: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
188
+ validation: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
189
+ error_message: z.ZodString;
190
+ condition: z.ZodAny;
191
+ }, "strip", z.ZodTypeAny, {
192
+ error_message: string;
193
+ condition?: any;
194
+ }, {
195
+ error_message: string;
196
+ condition?: any;
197
+ }>, "many">>>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ type?: string | undefined;
200
+ default?: any;
201
+ description?: string | undefined;
202
+ sensitive?: boolean | undefined;
203
+ nullable?: boolean | undefined;
204
+ validation?: {
205
+ error_message: string;
206
+ condition?: any;
207
+ }[] | undefined;
208
+ }, {
209
+ type?: string | undefined;
210
+ default?: any;
211
+ description?: string | undefined;
212
+ sensitive?: boolean | undefined;
213
+ nullable?: boolean | undefined;
214
+ validation?: {
215
+ error_message: string;
216
+ condition?: any;
217
+ }[] | undefined;
218
+ }>, "many">>>;
219
+ }, "strip", z.ZodTypeAny, {
220
+ terraform?: {
221
+ backend?: Record<string, Record<string, any>[]> | undefined;
222
+ required_providers?: Record<string, string | {
223
+ source?: string | undefined;
224
+ version?: string | undefined;
225
+ }>[] | undefined;
226
+ required_version?: string | undefined;
227
+ }[] | undefined;
228
+ provider?: Record<string, Record<string, any>[]> | undefined;
229
+ module?: Record<string, z.objectOutputType<{
230
+ source: z.ZodString;
231
+ }, z.ZodTypeAny, "passthrough">[]> | undefined;
232
+ resource?: Record<string, Record<string, Record<string, any>[]>> | undefined;
233
+ data?: Record<string, Record<string, Record<string, any>[]>> | undefined;
234
+ output?: Record<string, {
235
+ value?: any;
236
+ description?: string | undefined;
237
+ sensitive?: boolean | undefined;
238
+ depends_on?: string | undefined;
239
+ }[]> | undefined;
240
+ variable?: Record<string, {
241
+ type?: string | undefined;
242
+ default?: any;
243
+ description?: string | undefined;
244
+ sensitive?: boolean | undefined;
245
+ nullable?: boolean | undefined;
246
+ validation?: {
247
+ error_message: string;
248
+ condition?: any;
249
+ }[] | undefined;
250
+ }[]> | undefined;
251
+ import?: {
252
+ to: string;
253
+ id: string;
254
+ provider?: any;
255
+ }[] | undefined;
256
+ locals?: Record<string, any>[] | undefined;
257
+ }, {
258
+ terraform?: {
259
+ backend?: Record<string, Record<string, any>[]> | undefined;
260
+ required_providers?: Record<string, string | {
261
+ source?: string | undefined;
262
+ version?: string | undefined;
263
+ }>[] | undefined;
264
+ required_version?: string | undefined;
265
+ }[] | undefined;
266
+ provider?: Record<string, Record<string, any>[]> | undefined;
267
+ module?: Record<string, z.objectInputType<{
268
+ source: z.ZodString;
269
+ }, z.ZodTypeAny, "passthrough">[]> | undefined;
270
+ resource?: Record<string, Record<string, Record<string, any>[]>> | undefined;
271
+ data?: Record<string, Record<string, Record<string, any>[]>> | undefined;
272
+ output?: Record<string, {
273
+ value?: any;
274
+ description?: string | undefined;
275
+ sensitive?: boolean | undefined;
276
+ depends_on?: string | undefined;
277
+ }[]> | undefined;
278
+ variable?: Record<string, {
279
+ type?: string | undefined;
280
+ default?: any;
281
+ description?: string | undefined;
282
+ sensitive?: boolean | undefined;
283
+ nullable?: boolean | undefined;
284
+ validation?: {
285
+ error_message: string;
286
+ condition?: any;
287
+ }[] | undefined;
288
+ }[]> | undefined;
289
+ import?: {
290
+ to: string;
291
+ id: string;
292
+ provider?: any;
293
+ }[] | undefined;
294
+ locals?: Record<string, any>[] | undefined;
295
+ }>;
296
+ export {};
297
+ //# sourceMappingURL=schema.d.ts.map
package/lib/schema.js ADDED
@@ -0,0 +1,81 @@
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
+ exports.schema = void 0;
27
+ // Copyright (c) HashiCorp, Inc
28
+ // SPDX-License-Identifier: MPL-2.0
29
+ const z = __importStar(require("zod"));
30
+ const tfObject = (config) => z.array(z.object(config).partial());
31
+ const outputConfig = tfObject({
32
+ value: z.any(),
33
+ description: z.string().optional(),
34
+ sensitive: z.boolean().optional(),
35
+ depends_on: z.string().optional(),
36
+ });
37
+ const validationConfig = z.object({
38
+ error_message: z.string(),
39
+ condition: z.any(),
40
+ });
41
+ const variableConfig = tfObject({
42
+ type: z.string(),
43
+ default: z.any(),
44
+ description: z.string(),
45
+ sensitive: z.boolean(),
46
+ nullable: z.boolean().optional(),
47
+ validation: z.array(validationConfig).optional(),
48
+ });
49
+ const providerConfig = z.array(z.record(z.any()));
50
+ const moduleConfig = z.array(z.object({ source: z.string() }).nonstrict());
51
+ const resourceConfig = z.array(z.record(z.any()));
52
+ const importConfig = z.object({
53
+ to: z.string(),
54
+ id: z.string(),
55
+ provider: z.any().optional(),
56
+ });
57
+ const providerSpecification = z.union([
58
+ z.object({ source: z.string(), version: z.string() }).partial(),
59
+ z.string(),
60
+ ]);
61
+ const terraformConfig = z
62
+ .object({
63
+ required_version: z.string(),
64
+ required_providers: z.array(z.record(providerSpecification)),
65
+ backend: z.record(z.array(z.record(z.any()))),
66
+ })
67
+ .partial();
68
+ exports.schema = z
69
+ .object({
70
+ data: z.record(z.record(resourceConfig)),
71
+ import: z.array(importConfig),
72
+ locals: z.array(z.record(z.any())),
73
+ module: z.record(moduleConfig),
74
+ output: z.record(outputConfig),
75
+ provider: z.record(providerConfig),
76
+ resource: z.record(z.record(resourceConfig)),
77
+ terraform: z.array(terraformConfig),
78
+ variable: z.record(variableConfig),
79
+ })
80
+ .partial();
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFFekIsTUFBTSxRQUFRLEdBQUcsQ0FBMEIsTUFBUyxFQUFFLEVBQUUsQ0FDdEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFFdEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDO0lBQzVCLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0lBQ2QsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDbEMsQ0FBQyxDQUFDO0FBR0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hDLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3pCLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0NBQ25CLENBQUMsQ0FBQztBQUVILE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUM5QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRTtJQUNoQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN2QixTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUN0QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUNqRCxDQUFDLENBQUM7QUFHSCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUdsRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBRzNFLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBSWxELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNkLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdCLENBQUMsQ0FBQztBQUdILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDL0QsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNYLENBQUMsQ0FBQztBQUVILE1BQU0sZUFBZSxHQUFHLENBQUM7S0FDdEIsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM1QixrQkFBa0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM1RCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUM5QyxDQUFDO0tBQ0QsT0FBTyxFQUFFLENBQUM7QUFHQSxRQUFBLE1BQU0sR0FBRyxDQUFDO0tBQ3BCLE1BQU0sQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0lBQzdCLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzlCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM5QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDbkMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0NBQ25DLENBQUM7S0FDRCxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyB6IGZyb20gXCJ6b2RcIjtcblxuY29uc3QgdGZPYmplY3QgPSA8VCBleHRlbmRzIHouWm9kUmF3U2hhcGU+KGNvbmZpZzogVCkgPT5cbiAgei5hcnJheSh6Lm9iamVjdChjb25maWcpLnBhcnRpYWwoKSk7XG5cbmNvbnN0IG91dHB1dENvbmZpZyA9IHRmT2JqZWN0KHtcbiAgdmFsdWU6IHouYW55KCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHNlbnNpdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgZGVwZW5kc19vbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBPdXRwdXQgPSB6LmluZmVyPHR5cGVvZiBvdXRwdXRDb25maWc+O1xuXG5jb25zdCB2YWxpZGF0aW9uQ29uZmlnID0gei5vYmplY3Qoe1xuICBlcnJvcl9tZXNzYWdlOiB6LnN0cmluZygpLFxuICBjb25kaXRpb246IHouYW55KCksXG59KTtcblxuY29uc3QgdmFyaWFibGVDb25maWcgPSB0Zk9iamVjdCh7XG4gIHR5cGU6IHouc3RyaW5nKCksXG4gIGRlZmF1bHQ6IHouYW55KCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLFxuICBzZW5zaXRpdmU6IHouYm9vbGVhbigpLFxuICBudWxsYWJsZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdmFsaWRhdGlvbjogei5hcnJheSh2YWxpZGF0aW9uQ29uZmlnKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBWYXJpYWJsZSA9IHouaW5mZXI8dHlwZW9mIHZhcmlhYmxlQ29uZmlnPjtcblxuY29uc3QgcHJvdmlkZXJDb25maWcgPSB6LmFycmF5KHoucmVjb3JkKHouYW55KCkpKTtcbmV4cG9ydCB0eXBlIFByb3ZpZGVyID0gei5pbmZlcjx0eXBlb2YgcHJvdmlkZXJDb25maWc+O1xuXG5jb25zdCBtb2R1bGVDb25maWcgPSB6LmFycmF5KHoub2JqZWN0KHsgc291cmNlOiB6LnN0cmluZygpIH0pLm5vbnN0cmljdCgpKTtcbmV4cG9ydCB0eXBlIE1vZHVsZSA9IHouaW5mZXI8dHlwZW9mIG1vZHVsZUNvbmZpZz47XG5cbmNvbnN0IHJlc291cmNlQ29uZmlnID0gei5hcnJheSh6LnJlY29yZCh6LmFueSgpKSk7XG5leHBvcnQgdHlwZSBSZXNvdXJjZSA9IHouaW5mZXI8dHlwZW9mIHJlc291cmNlQ29uZmlnPjtcbmV4cG9ydCB0eXBlIERhdGEgPSBSZXNvdXJjZTtcblxuY29uc3QgaW1wb3J0Q29uZmlnID0gei5vYmplY3Qoe1xuICB0bzogei5zdHJpbmcoKSxcbiAgaWQ6IHouc3RyaW5nKCksXG4gIHByb3ZpZGVyOiB6LmFueSgpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEltcG9ydCA9IHouaW5mZXI8dHlwZW9mIGltcG9ydENvbmZpZz47XG5cbmNvbnN0IHByb3ZpZGVyU3BlY2lmaWNhdGlvbiA9IHoudW5pb24oW1xuICB6Lm9iamVjdCh7IHNvdXJjZTogei5zdHJpbmcoKSwgdmVyc2lvbjogei5zdHJpbmcoKSB9KS5wYXJ0aWFsKCksXG4gIHouc3RyaW5nKCksXG5dKTtcblxuY29uc3QgdGVycmFmb3JtQ29uZmlnID0gelxuICAub2JqZWN0KHtcbiAgICByZXF1aXJlZF92ZXJzaW9uOiB6LnN0cmluZygpLFxuICAgIHJlcXVpcmVkX3Byb3ZpZGVyczogei5hcnJheSh6LnJlY29yZChwcm92aWRlclNwZWNpZmljYXRpb24pKSxcbiAgICBiYWNrZW5kOiB6LnJlY29yZCh6LmFycmF5KHoucmVjb3JkKHouYW55KCkpKSksXG4gIH0pXG4gIC5wYXJ0aWFsKCk7XG5leHBvcnQgdHlwZSBUZXJyYWZvcm1Db25maWcgPSB6LmluZmVyPHR5cGVvZiB0ZXJyYWZvcm1Db25maWc+O1xuXG5leHBvcnQgY29uc3Qgc2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBkYXRhOiB6LnJlY29yZCh6LnJlY29yZChyZXNvdXJjZUNvbmZpZykpLFxuICAgIGltcG9ydDogei5hcnJheShpbXBvcnRDb25maWcpLFxuICAgIGxvY2Fsczogei5hcnJheSh6LnJlY29yZCh6LmFueSgpKSksXG4gICAgbW9kdWxlOiB6LnJlY29yZChtb2R1bGVDb25maWcpLFxuICAgIG91dHB1dDogei5yZWNvcmQob3V0cHV0Q29uZmlnKSxcbiAgICBwcm92aWRlcjogei5yZWNvcmQocHJvdmlkZXJDb25maWcpLFxuICAgIHJlc291cmNlOiB6LnJlY29yZCh6LnJlY29yZChyZXNvdXJjZUNvbmZpZykpLFxuICAgIHRlcnJhZm9ybTogei5hcnJheSh0ZXJyYWZvcm1Db25maWcpLFxuICAgIHZhcmlhYmxlOiB6LnJlY29yZCh2YXJpYWJsZUNvbmZpZyksXG4gIH0pXG4gIC5wYXJ0aWFsKCk7XG4iXX0=
@@ -0,0 +1,24 @@
1
+ {
2
+ "providers": [
3
+ "aws",
4
+ "datadog",
5
+ "pagerduty",
6
+ "azurerm",
7
+ "google",
8
+ "docker",
9
+ "random",
10
+ "kubernetes",
11
+ "null",
12
+ "vault",
13
+ "github",
14
+ "azuread",
15
+ "archive",
16
+ "google-beta",
17
+ "kubectl",
18
+ "cloudflare",
19
+ "signalfx",
20
+ "openstack",
21
+ "external",
22
+ "template"
23
+ ]
24
+ }
@@ -0,0 +1,6 @@
1
+ import { ProviderSchema, BlockType, AttributeType, Schema } from "@cdktn/commons";
2
+ import { ProgramScope } from "./types";
3
+ export declare function getTypeAtPath(schema: ProviderSchema, path: string): Schema | BlockType | AttributeType | null;
4
+ export declare const isMapAttribute: (attribute: Schema | AttributeType | BlockType | null) => boolean;
5
+ export declare function getDesiredType(scope: ProgramScope, path: string): AttributeType;
6
+ //# sourceMappingURL=terraformSchema.d.ts.map