@goldstack/utils-terraform 0.3.43 → 0.3.47
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/dist/src/MockCloudProvider.d.ts +7 -7
- package/dist/src/MockCloudProvider.js +15 -15
- package/dist/src/cloudProvider.d.ts +6 -6
- package/dist/src/cloudProvider.js +2 -2
- package/dist/src/terraformBuild.d.ts +17 -17
- package/dist/src/terraformBuild.d.ts.map +1 -1
- package/dist/src/terraformBuild.js +293 -270
- package/dist/src/terraformBuild.js.map +1 -1
- package/dist/src/terraformBuild.spec.d.ts +1 -1
- package/dist/src/terraformBuild.spec.js +33 -33
- package/dist/src/terraformCli.d.ts +14 -12
- package/dist/src/terraformCli.d.ts.map +1 -1
- package/dist/src/terraformCli.js +72 -68
- package/dist/src/terraformCli.js.map +1 -1
- package/dist/src/terraformCli.spec.d.ts +1 -1
- package/dist/src/terraformCli.spec.js +29 -19
- package/dist/src/terraformCli.spec.js.map +1 -1
- package/dist/src/types/utilsTerraformConfig.d.ts +35 -26
- package/dist/src/types/utilsTerraformConfig.d.ts.map +1 -1
- package/dist/src/types/utilsTerraformConfig.js +2 -2
- package/dist/src/utilsTerraform.d.ts +9 -9
- package/dist/src/utilsTerraform.js +62 -62
- package/package.json +2 -2
|
@@ -1,271 +1,294 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TerraformBuild = exports.getVariablesFromHCL = exports.parseVariables = exports.getVariablesFromProperties = exports.convertFromPythonVariable = exports.convertToPythonVariable = void 0;
|
|
7
|
-
const prompt_sync_1 = __importDefault(require("prompt-sync"));
|
|
8
|
-
const utils_log_1 = require("@goldstack/utils-log");
|
|
9
|
-
const terraformCli_1 = require("./terraformCli");
|
|
10
|
-
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
11
|
-
const utils_package_1 = require("@goldstack/utils-package");
|
|
12
|
-
const assert_1 = __importDefault(require("assert"));
|
|
13
|
-
const fs_1 = __importDefault(require("fs"));
|
|
14
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
15
|
-
const infra_1 = require("@goldstack/infra");
|
|
16
|
-
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
17
|
-
const convertToPythonVariable = (variableName) => {
|
|
18
|
-
let res = '';
|
|
19
|
-
for (const char of variableName) {
|
|
20
|
-
if (char.toLowerCase() === char) {
|
|
21
|
-
res += char;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
res += '_' + char.toLowerCase();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return res;
|
|
28
|
-
};
|
|
29
|
-
exports.convertToPythonVariable = convertToPythonVariable;
|
|
30
|
-
const convertFromPythonVariable = (variableName) => {
|
|
31
|
-
let res = '';
|
|
32
|
-
for (let i = 0; i < variableName.length; i++) {
|
|
33
|
-
const char = variableName.charAt(i);
|
|
34
|
-
if (i > 0 && variableName.charAt(i - 1) === '_') {
|
|
35
|
-
res += variableName.charAt(i).toUpperCase();
|
|
36
|
-
}
|
|
37
|
-
else if (variableName.charAt(i) !== '_') {
|
|
38
|
-
res += char;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return res;
|
|
42
|
-
};
|
|
43
|
-
exports.convertFromPythonVariable = convertFromPythonVariable;
|
|
44
|
-
const getVariablesFromProperties = (properties, terraformVariables) => {
|
|
45
|
-
const vars = [];
|
|
46
|
-
if (!terraformVariables) {
|
|
47
|
-
return vars;
|
|
48
|
-
}
|
|
49
|
-
for (const key in properties) {
|
|
50
|
-
if (terraformVariables.find((varName) => varName === key)) {
|
|
51
|
-
const variableName = (0, exports.convertToPythonVariable)(key);
|
|
52
|
-
const variableValue = properties[key];
|
|
53
|
-
if (variableValue !== '') {
|
|
54
|
-
vars.push([variableName, variableValue]);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
vars.push([
|
|
58
|
-
variableName,
|
|
59
|
-
process.env[variableName.toLocaleUpperCase()] || '',
|
|
60
|
-
]);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return vars;
|
|
65
|
-
};
|
|
66
|
-
exports.getVariablesFromProperties = getVariablesFromProperties;
|
|
67
|
-
const parseVariables = (hcl) => {
|
|
68
|
-
const reg = /variable[^"]*"([^"]*)"[^{]*{/gm;
|
|
69
|
-
let result;
|
|
70
|
-
const variableNames = [];
|
|
71
|
-
while ((result = reg.exec(hcl)) !== null) {
|
|
72
|
-
variableNames.push(result[1]);
|
|
73
|
-
}
|
|
74
|
-
return variableNames;
|
|
75
|
-
};
|
|
76
|
-
exports.parseVariables = parseVariables;
|
|
77
|
-
const getVariablesFromHCL = (properties) => {
|
|
78
|
-
if (!fs_1.default.existsSync('./variables.tf')) {
|
|
79
|
-
console.warn(`No variables.tf file exists in ${(0, utils_sh_1.pwd)()}. Goldstack only supports declaring variables in a variables.tf file.`);
|
|
80
|
-
return [];
|
|
81
|
-
}
|
|
82
|
-
const variablesHCL = (0, utils_sh_1.read)('./variables.tf');
|
|
83
|
-
const hclVariableNames = (0, exports.parseVariables)(variablesHCL);
|
|
84
|
-
const jsVariableNames = hclVariableNames.map((hclVarName) => (0, exports.convertFromPythonVariable)(hclVarName));
|
|
85
|
-
jsVariableNames.forEach((key) => {
|
|
86
|
-
if (!properties.hasOwnProperty(key)) {
|
|
87
|
-
console.warn(`Cannot find property "${key}" in Goldstack configuration. Therefore terraform variable ${(0, exports.convertToPythonVariable)(key)} will not be provided by Goldstack.`);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
const vars = [];
|
|
91
|
-
for (const key in properties) {
|
|
92
|
-
if (key.indexOf('_') !== -1) {
|
|
93
|
-
console.warn('Property in Goldstack configuration contains "_". This is not recommended. Property: ' +
|
|
94
|
-
key +
|
|
95
|
-
' Please use valid JavaScript variable names. For instance, use "myVar" instead of "my_var". ' +
|
|
96
|
-
' Goldstack will automatically convert these to Terraform variables ("myVar" -> "my_var") when required.');
|
|
97
|
-
}
|
|
98
|
-
if (jsVariableNames.find((varName) => varName === key)) {
|
|
99
|
-
const variableName = (0, exports.convertToPythonVariable)(key);
|
|
100
|
-
const variableValue = properties[key];
|
|
101
|
-
if (variableValue !== '') {
|
|
102
|
-
if (typeof variableValue === 'string') {
|
|
103
|
-
vars.push([variableName, variableValue]);
|
|
104
|
-
}
|
|
105
|
-
else if (typeof variableValue === 'number') {
|
|
106
|
-
vars.push([variableName, `${variableValue}`]);
|
|
107
|
-
}
|
|
108
|
-
else if (typeof variableValue === 'object') {
|
|
109
|
-
vars.push([
|
|
110
|
-
variableName,
|
|
111
|
-
`${(0, json_stable_stringify_1.default)(variableValue).replace(/"/g, '\\"')}`,
|
|
112
|
-
]);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
throw new Error(`Not supported type for variable ${variableName}: ${typeof variableValue}`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
const environmentVarialbeName = variableName.toLocaleUpperCase();
|
|
120
|
-
if (process.env[environmentVarialbeName] ||
|
|
121
|
-
process.env[environmentVarialbeName] === '') {
|
|
122
|
-
console.log('Setting terraform variable from environment variable');
|
|
123
|
-
vars.push([variableName, process.env[environmentVarialbeName] || '']);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
console.log('Terraform variable will not be defined', variableName);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return vars;
|
|
132
|
-
};
|
|
133
|
-
exports.getVariablesFromHCL = getVariablesFromHCL;
|
|
134
|
-
const getDeployment = (args) => {
|
|
135
|
-
if (args.length < 1) {
|
|
136
|
-
throw new Error('Please specify the name of the deployment.');
|
|
137
|
-
}
|
|
138
|
-
const name = args[0];
|
|
139
|
-
const packageConfig = (0, utils_package_1.readPackageConfig)();
|
|
140
|
-
const deployment = packageConfig.deployments.find((deployment) => deployment.name === name);
|
|
141
|
-
if (!deployment) {
|
|
142
|
-
(0, utils_log_1.fatal)(`Cannot find configuration for deployment '${name}''`);
|
|
143
|
-
throw new Error('Cannot parse configuration.');
|
|
144
|
-
}
|
|
145
|
-
return deployment;
|
|
146
|
-
};
|
|
147
|
-
class TerraformBuild {
|
|
148
|
-
constructor(provider) {
|
|
149
|
-
this.getTfStateVariables = (deployment) => {
|
|
150
|
-
const packageConfig = (0, utils_package_1.readPackageConfig)();
|
|
151
|
-
const deployments = packageConfig.deployments.filter((d) => d.name === deployment.name);
|
|
152
|
-
if (deployments.length !== 1) {
|
|
153
|
-
throw new Error(`Cannot find deployment ${deployment.name}`);
|
|
154
|
-
}
|
|
155
|
-
const deploymentConfig = deployments[0];
|
|
156
|
-
// initialise id for key if required
|
|
157
|
-
if (!deploymentConfig.tfStateKey) {
|
|
158
|
-
const stateHash = crypto_1.default.randomBytes(10).toString('hex');
|
|
159
|
-
const stateKey = `${packageConfig.name}-${deployment.name}-${stateHash}.tfstate`;
|
|
160
|
-
console.log(`Intialising Terraform State key for ${deployment.name} to ${stateKey}`);
|
|
161
|
-
deploymentConfig.tfStateKey = stateKey;
|
|
162
|
-
(0, utils_package_1.writePackageConfig)(packageConfig);
|
|
163
|
-
}
|
|
164
|
-
return this.provider.getTfStateVariables(deploymentConfig);
|
|
165
|
-
};
|
|
166
|
-
this.init = (args) => {
|
|
167
|
-
const deployment = getDeployment(args);
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
(0,
|
|
203
|
-
|
|
204
|
-
(0, terraformCli_1.tf)('
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
});
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}
|
|
248
|
-
const
|
|
249
|
-
const
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
(0,
|
|
254
|
-
(0,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TerraformBuild = exports.getVariablesFromHCL = exports.parseVariables = exports.getVariablesFromProperties = exports.convertFromPythonVariable = exports.convertToPythonVariable = void 0;
|
|
7
|
+
const prompt_sync_1 = __importDefault(require("prompt-sync"));
|
|
8
|
+
const utils_log_1 = require("@goldstack/utils-log");
|
|
9
|
+
const terraformCli_1 = require("./terraformCli");
|
|
10
|
+
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
11
|
+
const utils_package_1 = require("@goldstack/utils-package");
|
|
12
|
+
const assert_1 = __importDefault(require("assert"));
|
|
13
|
+
const fs_1 = __importDefault(require("fs"));
|
|
14
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
15
|
+
const infra_1 = require("@goldstack/infra");
|
|
16
|
+
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
17
|
+
const convertToPythonVariable = (variableName) => {
|
|
18
|
+
let res = '';
|
|
19
|
+
for (const char of variableName) {
|
|
20
|
+
if (char.toLowerCase() === char) {
|
|
21
|
+
res += char;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
res += '_' + char.toLowerCase();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return res;
|
|
28
|
+
};
|
|
29
|
+
exports.convertToPythonVariable = convertToPythonVariable;
|
|
30
|
+
const convertFromPythonVariable = (variableName) => {
|
|
31
|
+
let res = '';
|
|
32
|
+
for (let i = 0; i < variableName.length; i++) {
|
|
33
|
+
const char = variableName.charAt(i);
|
|
34
|
+
if (i > 0 && variableName.charAt(i - 1) === '_') {
|
|
35
|
+
res += variableName.charAt(i).toUpperCase();
|
|
36
|
+
}
|
|
37
|
+
else if (variableName.charAt(i) !== '_') {
|
|
38
|
+
res += char;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return res;
|
|
42
|
+
};
|
|
43
|
+
exports.convertFromPythonVariable = convertFromPythonVariable;
|
|
44
|
+
const getVariablesFromProperties = (properties, terraformVariables) => {
|
|
45
|
+
const vars = [];
|
|
46
|
+
if (!terraformVariables) {
|
|
47
|
+
return vars;
|
|
48
|
+
}
|
|
49
|
+
for (const key in properties) {
|
|
50
|
+
if (terraformVariables.find((varName) => varName === key)) {
|
|
51
|
+
const variableName = (0, exports.convertToPythonVariable)(key);
|
|
52
|
+
const variableValue = properties[key];
|
|
53
|
+
if (variableValue !== '') {
|
|
54
|
+
vars.push([variableName, variableValue]);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
vars.push([
|
|
58
|
+
variableName,
|
|
59
|
+
process.env[variableName.toLocaleUpperCase()] || '',
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return vars;
|
|
65
|
+
};
|
|
66
|
+
exports.getVariablesFromProperties = getVariablesFromProperties;
|
|
67
|
+
const parseVariables = (hcl) => {
|
|
68
|
+
const reg = /variable[^"]*"([^"]*)"[^{]*{/gm;
|
|
69
|
+
let result;
|
|
70
|
+
const variableNames = [];
|
|
71
|
+
while ((result = reg.exec(hcl)) !== null) {
|
|
72
|
+
variableNames.push(result[1]);
|
|
73
|
+
}
|
|
74
|
+
return variableNames;
|
|
75
|
+
};
|
|
76
|
+
exports.parseVariables = parseVariables;
|
|
77
|
+
const getVariablesFromHCL = (properties) => {
|
|
78
|
+
if (!fs_1.default.existsSync('./variables.tf')) {
|
|
79
|
+
console.warn(`No variables.tf file exists in ${(0, utils_sh_1.pwd)()}. Goldstack only supports declaring variables in a variables.tf file.`);
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
const variablesHCL = (0, utils_sh_1.read)('./variables.tf');
|
|
83
|
+
const hclVariableNames = (0, exports.parseVariables)(variablesHCL);
|
|
84
|
+
const jsVariableNames = hclVariableNames.map((hclVarName) => (0, exports.convertFromPythonVariable)(hclVarName));
|
|
85
|
+
jsVariableNames.forEach((key) => {
|
|
86
|
+
if (!properties.hasOwnProperty(key)) {
|
|
87
|
+
console.warn(`Cannot find property "${key}" in Goldstack configuration. Therefore terraform variable ${(0, exports.convertToPythonVariable)(key)} will not be provided by Goldstack.`);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
const vars = [];
|
|
91
|
+
for (const key in properties) {
|
|
92
|
+
if (key.indexOf('_') !== -1) {
|
|
93
|
+
console.warn('Property in Goldstack configuration contains "_". This is not recommended. Property: ' +
|
|
94
|
+
key +
|
|
95
|
+
' Please use valid JavaScript variable names. For instance, use "myVar" instead of "my_var". ' +
|
|
96
|
+
' Goldstack will automatically convert these to Terraform variables ("myVar" -> "my_var") when required.');
|
|
97
|
+
}
|
|
98
|
+
if (jsVariableNames.find((varName) => varName === key)) {
|
|
99
|
+
const variableName = (0, exports.convertToPythonVariable)(key);
|
|
100
|
+
const variableValue = properties[key];
|
|
101
|
+
if (variableValue !== '') {
|
|
102
|
+
if (typeof variableValue === 'string') {
|
|
103
|
+
vars.push([variableName, variableValue]);
|
|
104
|
+
}
|
|
105
|
+
else if (typeof variableValue === 'number') {
|
|
106
|
+
vars.push([variableName, `${variableValue}`]);
|
|
107
|
+
}
|
|
108
|
+
else if (typeof variableValue === 'object') {
|
|
109
|
+
vars.push([
|
|
110
|
+
variableName,
|
|
111
|
+
`${(0, json_stable_stringify_1.default)(variableValue).replace(/"/g, '\\"')}`,
|
|
112
|
+
]);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
throw new Error(`Not supported type for variable ${variableName}: ${typeof variableValue}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const environmentVarialbeName = variableName.toLocaleUpperCase();
|
|
120
|
+
if (process.env[environmentVarialbeName] ||
|
|
121
|
+
process.env[environmentVarialbeName] === '') {
|
|
122
|
+
console.log('Setting terraform variable from environment variable');
|
|
123
|
+
vars.push([variableName, process.env[environmentVarialbeName] || '']);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
console.log('Terraform variable will not be defined', variableName);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return vars;
|
|
132
|
+
};
|
|
133
|
+
exports.getVariablesFromHCL = getVariablesFromHCL;
|
|
134
|
+
const getDeployment = (args) => {
|
|
135
|
+
if (args.length < 1) {
|
|
136
|
+
throw new Error('Please specify the name of the deployment.');
|
|
137
|
+
}
|
|
138
|
+
const name = args[0];
|
|
139
|
+
const packageConfig = (0, utils_package_1.readPackageConfig)();
|
|
140
|
+
const deployment = packageConfig.deployments.find((deployment) => deployment.name === name);
|
|
141
|
+
if (!deployment) {
|
|
142
|
+
(0, utils_log_1.fatal)(`Cannot find configuration for deployment '${name}''`);
|
|
143
|
+
throw new Error('Cannot parse configuration.');
|
|
144
|
+
}
|
|
145
|
+
return deployment;
|
|
146
|
+
};
|
|
147
|
+
class TerraformBuild {
|
|
148
|
+
constructor(provider) {
|
|
149
|
+
this.getTfStateVariables = (deployment) => {
|
|
150
|
+
const packageConfig = (0, utils_package_1.readPackageConfig)();
|
|
151
|
+
const deployments = packageConfig.deployments.filter((d) => d.name === deployment.name);
|
|
152
|
+
if (deployments.length !== 1) {
|
|
153
|
+
throw new Error(`Cannot find deployment ${deployment.name}`);
|
|
154
|
+
}
|
|
155
|
+
const deploymentConfig = deployments[0];
|
|
156
|
+
// initialise id for key if required
|
|
157
|
+
if (!deploymentConfig.tfStateKey) {
|
|
158
|
+
const stateHash = crypto_1.default.randomBytes(10).toString('hex');
|
|
159
|
+
const stateKey = `${packageConfig.name}-${deployment.name}-${stateHash}.tfstate`;
|
|
160
|
+
console.log(`Intialising Terraform State key for ${deployment.name} to ${stateKey}`);
|
|
161
|
+
deploymentConfig.tfStateKey = stateKey;
|
|
162
|
+
(0, utils_package_1.writePackageConfig)(packageConfig);
|
|
163
|
+
}
|
|
164
|
+
return this.provider.getTfStateVariables(deploymentConfig);
|
|
165
|
+
};
|
|
166
|
+
this.init = (args) => {
|
|
167
|
+
const deployment = getDeployment(args);
|
|
168
|
+
const version = deployment.tfVersion || '0.12';
|
|
169
|
+
const backendConfig = this.getTfStateVariables(deployment);
|
|
170
|
+
(0, utils_sh_1.cd)('./infra/aws');
|
|
171
|
+
const provider = this.provider;
|
|
172
|
+
(0, terraformCli_1.tf)('init', {
|
|
173
|
+
provider,
|
|
174
|
+
version,
|
|
175
|
+
backendConfig,
|
|
176
|
+
options: ['-force-copy', '-reconfigure'],
|
|
177
|
+
});
|
|
178
|
+
const workspaces = (0, terraformCli_1.tf)('workspace list', { provider, version });
|
|
179
|
+
const deploymentName = args[0];
|
|
180
|
+
const workspaceExists = workspaces.split('\n').find((line) => {
|
|
181
|
+
return line.indexOf(deploymentName) >= 0;
|
|
182
|
+
});
|
|
183
|
+
if (!workspaceExists) {
|
|
184
|
+
(0, terraformCli_1.tf)(`workspace new ${deploymentName}`, {
|
|
185
|
+
provider,
|
|
186
|
+
version,
|
|
187
|
+
});
|
|
188
|
+
(0, terraformCli_1.tf)(`workspace select ${deploymentName}`, {
|
|
189
|
+
provider,
|
|
190
|
+
version,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
(0, utils_sh_1.cd)('../..');
|
|
194
|
+
};
|
|
195
|
+
this.plan = (args) => {
|
|
196
|
+
const deployment = getDeployment(args);
|
|
197
|
+
const version = deployment.tfVersion || '0.12';
|
|
198
|
+
const backendConfig = this.getTfStateVariables(deployment);
|
|
199
|
+
(0, utils_sh_1.cd)('./infra/aws');
|
|
200
|
+
const provider = this.provider;
|
|
201
|
+
const variables = [
|
|
202
|
+
...(0, exports.getVariablesFromHCL)({ ...deployment, ...deployment.configuration }),
|
|
203
|
+
];
|
|
204
|
+
const currentWorkspace = (0, terraformCli_1.tf)('workspace show', { provider, version }).trim();
|
|
205
|
+
if (currentWorkspace !== args[0]) {
|
|
206
|
+
// init with reconfigure required here in case we are switching to a different
|
|
207
|
+
// s3 bucket in a different environment for a different deployment
|
|
208
|
+
(0, terraformCli_1.tf)('init', {
|
|
209
|
+
provider,
|
|
210
|
+
backendConfig,
|
|
211
|
+
version,
|
|
212
|
+
options: ['-reconfigure'],
|
|
213
|
+
});
|
|
214
|
+
(0, terraformCli_1.tf)(`workspace select ${args[0]}`, { provider, version });
|
|
215
|
+
}
|
|
216
|
+
(0, terraformCli_1.tf)('plan', {
|
|
217
|
+
provider,
|
|
218
|
+
variables,
|
|
219
|
+
version,
|
|
220
|
+
options: ['-input=false', '-out tfplan'],
|
|
221
|
+
});
|
|
222
|
+
(0, utils_sh_1.cd)('../..');
|
|
223
|
+
};
|
|
224
|
+
this.apply = (args) => {
|
|
225
|
+
const deployment = getDeployment(args);
|
|
226
|
+
const version = deployment.tfVersion || '0.12';
|
|
227
|
+
const backendConfig = this.getTfStateVariables(deployment);
|
|
228
|
+
(0, utils_sh_1.cd)('./infra/aws');
|
|
229
|
+
const provider = this.provider;
|
|
230
|
+
const deploymentName = args[0];
|
|
231
|
+
const currentWorkspace = (0, terraformCli_1.tf)('workspace show', { provider, version }).trim();
|
|
232
|
+
if (currentWorkspace !== deploymentName) {
|
|
233
|
+
// init with reconfigure required here in case we are switching to a different
|
|
234
|
+
// s3 bucket in a different environment for a different deployment
|
|
235
|
+
(0, terraformCli_1.tf)('init', {
|
|
236
|
+
provider,
|
|
237
|
+
backendConfig,
|
|
238
|
+
version,
|
|
239
|
+
options: ['-reconfigure'],
|
|
240
|
+
});
|
|
241
|
+
(0, terraformCli_1.tf)(`workspace select ${deploymentName}`, { provider, version });
|
|
242
|
+
}
|
|
243
|
+
(0, terraformCli_1.tf)('apply', {
|
|
244
|
+
provider,
|
|
245
|
+
options: ['-input=false', 'tfplan'],
|
|
246
|
+
version,
|
|
247
|
+
});
|
|
248
|
+
const res = (0, terraformCli_1.tf)('output', { provider, options: ['-json'], version }).trim();
|
|
249
|
+
const deploymentState = (0, infra_1.readDeploymentState)('./../../', deploymentName, {
|
|
250
|
+
createIfNotExist: true,
|
|
251
|
+
});
|
|
252
|
+
deploymentState.terraform = JSON.parse(res);
|
|
253
|
+
(0, infra_1.writeDeploymentState)('./../../', deploymentState);
|
|
254
|
+
(0, utils_sh_1.cd)('../..');
|
|
255
|
+
};
|
|
256
|
+
this.destroy = (args) => {
|
|
257
|
+
const deployment = getDeployment(args);
|
|
258
|
+
const version = deployment.tfVersion || '0.12';
|
|
259
|
+
const backendConfig = this.getTfStateVariables(deployment);
|
|
260
|
+
(0, utils_sh_1.cd)('./infra/aws');
|
|
261
|
+
const ciConfirmed = args.find((str) => str === '-y');
|
|
262
|
+
if (!ciConfirmed) {
|
|
263
|
+
const value = (0, prompt_sync_1.default)()('Are you sure to destroy your deployed resources? If yes, please type `y` and enter.\n' +
|
|
264
|
+
'Otherwise, press enter.\nYour Input: ');
|
|
265
|
+
if (value !== 'y') {
|
|
266
|
+
(0, utils_log_1.fatal)('Prompt not confirmed with `y`');
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const provider = this.provider;
|
|
270
|
+
const variables = [
|
|
271
|
+
...(0, exports.getVariablesFromHCL)({ ...deployment, ...deployment.configuration }),
|
|
272
|
+
];
|
|
273
|
+
(0, terraformCli_1.tf)('init', { provider, backendConfig, options: ['-reconfigure'], version });
|
|
274
|
+
(0, terraformCli_1.tf)(`workspace select ${args[0]}`, { provider, version });
|
|
275
|
+
(0, terraformCli_1.tf)('plan', {
|
|
276
|
+
provider,
|
|
277
|
+
variables,
|
|
278
|
+
version,
|
|
279
|
+
options: ['-input=false', '-out tfplan'],
|
|
280
|
+
});
|
|
281
|
+
(0, terraformCli_1.tf)('destroy', {
|
|
282
|
+
provider,
|
|
283
|
+
variables,
|
|
284
|
+
version,
|
|
285
|
+
options: ['-input=false', '-auto-approve'],
|
|
286
|
+
});
|
|
287
|
+
(0, utils_sh_1.cd)('../..');
|
|
288
|
+
};
|
|
289
|
+
(0, assert_1.default)(provider);
|
|
290
|
+
this.provider = provider;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
exports.TerraformBuild = TerraformBuild;
|
|
271
294
|
//# sourceMappingURL=terraformBuild.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terraformBuild.js","sourceRoot":"","sources":["../../src/terraformBuild.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terraformBuild.js","sourceRoot":"","sources":["../../src/terraformBuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=terraformBuild.spec.d.ts.map
|