@goldstack/utils-terraform-aws 0.4.22 → 0.4.24
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/tfState.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const deleteState: (params: {
|
|
|
5
5
|
bucketName: string;
|
|
6
6
|
awsRegion: string;
|
|
7
7
|
}) => Promise<void>;
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const assertState: (params: {
|
|
9
9
|
credentials: AwsCredentialIdentity;
|
|
10
10
|
dynamoDBTableName: string;
|
|
11
11
|
bucketName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tfState.d.ts","sourceRoot":"","sources":["../../src/tfState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tfState.d.ts","sourceRoot":"","sources":["../../src/tfState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AA+IvD,eAAO,MAAM,WAAW,WAAkB;IACxC,WAAW,EAAE,qBAAqB,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,QAAQ,IAAI,CAiBf,CAAC;AAEF,eAAO,MAAM,WAAW,WAAkB;IACxC,WAAW,EAAE,qBAAqB,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,QAAQ,IAAI,CAgBf,CAAC"}
|
package/dist/src/tfState.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.assertState = exports.deleteState = void 0;
|
|
4
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
5
|
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
6
|
+
const utils_cli_1 = require("@goldstack/utils-cli");
|
|
6
7
|
const assertDynamoDBTable = async (params) => {
|
|
7
8
|
// defining a table as required by Terraform https://www.terraform.io/docs/language/settings/backends/s3.html#dynamodb_table
|
|
8
9
|
try {
|
|
@@ -22,6 +23,9 @@ const assertDynamoDBTable = async (params) => {
|
|
|
22
23
|
TableName: params.tableName,
|
|
23
24
|
BillingMode: 'PAY_PER_REQUEST',
|
|
24
25
|
}));
|
|
26
|
+
(0, utils_cli_1.logger)().info('DynamoDB table created for terraform state', {
|
|
27
|
+
tableName: params.tableName,
|
|
28
|
+
});
|
|
25
29
|
}
|
|
26
30
|
catch (e) {
|
|
27
31
|
if (!(e instanceof client_dynamodb_1.ResourceInUseException)) {
|
|
@@ -44,13 +48,15 @@ const assertS3Bucket = async (params) => {
|
|
|
44
48
|
Bucket: params.bucketName,
|
|
45
49
|
};
|
|
46
50
|
try {
|
|
47
|
-
console.log('Accessing/creating bucket for Terraform state', bucketParams.Bucket);
|
|
48
51
|
await params.s3.send(new client_s3_1.CreateBucketCommand(bucketParams));
|
|
52
|
+
(0, utils_cli_1.logger)().info('S3 bucket created for storing terraform state', {
|
|
53
|
+
bucketName: bucketParams.Bucket,
|
|
54
|
+
});
|
|
49
55
|
}
|
|
50
56
|
catch (e) {
|
|
51
57
|
// if bucket already exists, ignore error
|
|
52
58
|
if (!(e instanceof client_s3_1.BucketAlreadyOwnedByYou)) {
|
|
53
|
-
|
|
59
|
+
(0, utils_cli_1.logger)().error('Cannot create bucket ', params.bucketName, ' error code', e.code);
|
|
54
60
|
throw new Error('Cannot create S3 state bucket: ' + e.message);
|
|
55
61
|
}
|
|
56
62
|
}
|
|
@@ -108,7 +114,11 @@ const deleteState = async (params) => {
|
|
|
108
114
|
});
|
|
109
115
|
};
|
|
110
116
|
exports.deleteState = deleteState;
|
|
111
|
-
const
|
|
117
|
+
const assertState = async (params) => {
|
|
118
|
+
(0, utils_cli_1.logger)().info('Connecting to Terraform State stored on AWS', {
|
|
119
|
+
bucketName: params.bucketName,
|
|
120
|
+
tableName: params.dynamoDBTableName,
|
|
121
|
+
});
|
|
112
122
|
const dynamoDB = new client_dynamodb_1.DynamoDBClient({
|
|
113
123
|
region: params.awsRegion,
|
|
114
124
|
credentials: params.credentials,
|
|
@@ -119,6 +129,7 @@ const createState = async (params) => {
|
|
|
119
129
|
credentials: params.credentials,
|
|
120
130
|
});
|
|
121
131
|
await assertS3Bucket({ s3, bucketName: params.bucketName });
|
|
132
|
+
(0, utils_cli_1.logger)().info('Connected to Terraform State stored on AWS');
|
|
122
133
|
};
|
|
123
|
-
exports.
|
|
134
|
+
exports.assertState = assertState;
|
|
124
135
|
//# sourceMappingURL=tfState.js.map
|
package/dist/src/tfState.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tfState.js","sourceRoot":"","sources":["../../src/tfState.ts"],"names":[],"mappings":";;;AAEA,kDAO4B;AAE5B,8DAKkC;AAElC,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAGlC,EAAE,EAAE;IACH,4HAA4H;IAC5H,IAAI;QACF,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAI,oCAAkB,CAAC;YACrB,oBAAoB,EAAE;gBACpB;oBACE,aAAa,EAAE,QAAQ;oBACvB,aAAa,EAAE,GAAG;iBACnB;aACF;YACD,SAAS,EAAE;gBACT;oBACE,aAAa,EAAE,QAAQ;oBACvB,OAAO,EAAE,MAAM;iBAChB;aACF;YACD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,iBAAiB;SAC/B,CAAC,CACH,CAAC;
|
|
1
|
+
{"version":3,"file":"tfState.js","sourceRoot":"","sources":["../../src/tfState.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,7 +107,7 @@ const terraformAwsCli = async (args, options) => {
|
|
|
107
107
|
});
|
|
108
108
|
return;
|
|
109
109
|
}
|
|
110
|
-
await (0, tfState_1.
|
|
110
|
+
await (0, tfState_1.assertState)({
|
|
111
111
|
bucketName: remoteStateConfig.terraformStateBucket,
|
|
112
112
|
dynamoDBTableName: remoteStateConfig.terraformStateDynamoDBTable,
|
|
113
113
|
credentials,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/utils-terraform-aws",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.24",
|
|
4
4
|
"description": "Easily deploy Terraform IaC with npm package scripts",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -39,12 +39,13 @@
|
|
|
39
39
|
"@aws-sdk/client-dynamodb": "^3.645.0",
|
|
40
40
|
"@aws-sdk/client-s3": "3.620.0",
|
|
41
41
|
"@aws-sdk/types": "^3.609.0",
|
|
42
|
-
"@goldstack/infra-aws": "0.4.
|
|
43
|
-
"@goldstack/utils-
|
|
44
|
-
"@goldstack/utils-
|
|
45
|
-
"@goldstack/utils-
|
|
46
|
-
"@goldstack/utils-
|
|
47
|
-
"@goldstack/utils-
|
|
42
|
+
"@goldstack/infra-aws": "0.4.19",
|
|
43
|
+
"@goldstack/utils-cli": "0.3.10",
|
|
44
|
+
"@goldstack/utils-config": "0.4.11",
|
|
45
|
+
"@goldstack/utils-log": "0.3.10",
|
|
46
|
+
"@goldstack/utils-package": "0.4.11",
|
|
47
|
+
"@goldstack/utils-sh": "0.5.10",
|
|
48
|
+
"@goldstack/utils-terraform": "0.4.21"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"@goldstack/utils-git": "0.2.9",
|