@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.
@@ -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 createState: (params: {
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;AA4IvD,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,CAWf,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"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createState = exports.deleteState = void 0;
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
- console.error('Cannot create bucket ', params.bucketName, ' error code', e.code);
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 createState = async (params) => {
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.createState = createState;
134
+ exports.assertState = assertState;
124
135
  //# sourceMappingURL=tfState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tfState.js","sourceRoot":"","sources":["../../src/tfState.ts"],"names":[],"mappings":"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"}
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.createState)({
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.22",
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.18",
43
- "@goldstack/utils-config": "0.4.10",
44
- "@goldstack/utils-log": "0.3.9",
45
- "@goldstack/utils-package": "0.4.10",
46
- "@goldstack/utils-sh": "0.5.9",
47
- "@goldstack/utils-terraform": "0.4.20"
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",