@goldstack/utils-terraform-aws 0.4.18 → 0.4.19

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.
@@ -1,4 +1,10 @@
1
1
  import { AwsCredentialIdentity } from '@aws-sdk/types';
2
+ export declare const deleteState: (params: {
3
+ credentials: AwsCredentialIdentity;
4
+ dynamoDBTableName: string;
5
+ bucketName: string;
6
+ awsRegion: string;
7
+ }) => Promise<void>;
2
8
  export declare const createState: (params: {
3
9
  credentials: AwsCredentialIdentity;
4
10
  dynamoDBTableName: 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;AAyEvD,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;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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createState = void 0;
3
+ exports.createState = 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
6
  const assertDynamoDBTable = async (params) => {
@@ -29,6 +29,16 @@ const assertDynamoDBTable = async (params) => {
29
29
  }
30
30
  }
31
31
  };
32
+ const deleteDynamoDBTable = async (params) => {
33
+ try {
34
+ await params.dynamoDB.send(new client_dynamodb_1.DeleteTableCommand({
35
+ TableName: params.tableName,
36
+ }));
37
+ }
38
+ catch (e) {
39
+ throw e;
40
+ }
41
+ };
32
42
  const assertS3Bucket = async (params) => {
33
43
  const bucketParams = {
34
44
  Bucket: params.bucketName,
@@ -45,6 +55,59 @@ const assertS3Bucket = async (params) => {
45
55
  }
46
56
  }
47
57
  };
58
+ const deleteAllObjectsFromBucket = async (s3, bucketName) => {
59
+ let continuationToken = undefined;
60
+ do {
61
+ // List objects in the bucket
62
+ const listResponse = await s3.send(new client_s3_1.ListObjectsV2Command({
63
+ Bucket: bucketName,
64
+ ContinuationToken: continuationToken,
65
+ }));
66
+ // Check if there are any objects to delete
67
+ if (listResponse.Contents && listResponse.Contents.length > 0) {
68
+ // Delete listed objects
69
+ const deleteParams = {
70
+ Bucket: bucketName,
71
+ Delete: {
72
+ Objects: listResponse.Contents.map((object) => ({ Key: object.Key })),
73
+ },
74
+ };
75
+ await s3.send(new client_s3_1.DeleteObjectsCommand(deleteParams));
76
+ }
77
+ // Check if more objects are to be listed (pagination)
78
+ continuationToken = listResponse.NextContinuationToken;
79
+ } while (continuationToken);
80
+ };
81
+ const deleteS3Bucket = async (params) => {
82
+ try {
83
+ // First, delete all objects from the bucket
84
+ await deleteAllObjectsFromBucket(params.s3, params.bucketName);
85
+ // Then, delete the empty bucket
86
+ await params.s3.send(new client_s3_1.DeleteBucketCommand({ Bucket: params.bucketName }));
87
+ }
88
+ catch (e) {
89
+ throw e; // Rethrow the error to handle it in the calling code if necessary
90
+ }
91
+ };
92
+ const deleteState = async (params) => {
93
+ const dynamoDB = new client_dynamodb_1.DynamoDBClient({
94
+ region: params.awsRegion,
95
+ credentials: params.credentials,
96
+ });
97
+ await deleteDynamoDBTable({
98
+ dynamoDB,
99
+ tableName: params.dynamoDBTableName,
100
+ });
101
+ const s3 = new client_s3_1.S3Client({
102
+ region: params.awsRegion,
103
+ credentials: params.credentials,
104
+ });
105
+ await deleteS3Bucket({
106
+ s3,
107
+ bucketName: params.bucketName,
108
+ });
109
+ };
110
+ exports.deleteState = deleteState;
48
111
  const createState = async (params) => {
49
112
  const dynamoDB = new client_dynamodb_1.DynamoDBClient({
50
113
  region: params.awsRegion,
@@ -1 +1 @@
1
- {"version":3,"file":"tfState.js","sourceRoot":"","sources":["../../src/tfState.ts"],"names":[],"mappings":";;;AAEA,kDAI4B;AAE5B,8DAIkC;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;KACH;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,CAAC,CAAC,YAAY,wCAAsB,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAC5B;KACF;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,MAG7B,EAAiB,EAAE;IAClB,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,MAAM,CAAC,UAAU;KAC1B,CAAC;IACF,IAAI;QACF,OAAO,CAAC,GAAG,CACT,+CAA+C,EAC/C,YAAY,CAAC,MAAM,CACpB,CAAC;QAEF,MAAM,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,+BAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;KAC7D;IAAC,OAAO,CAAC,EAAE;QACV,yCAAyC;QACzC,IAAI,CAAC,CAAC,CAAC,YAAY,mCAAuB,CAAC,EAAE;YAC3C,OAAO,CAAC,KAAK,CACX,uBAAuB,EACvB,MAAM,CAAC,UAAU,EACjB,aAAa,EACb,CAAC,CAAC,IAAI,CACP,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;SAChE;KACF;AACH,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,KAAK,EAAE,MAKjC,EAAiB,EAAE;IAClB,MAAM,QAAQ,GAAG,IAAI,gCAAc,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,MAAM,mBAAmB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7E,MAAM,EAAE,GAAG,IAAI,oBAAQ,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AAhBW,QAAA,WAAW,eAgBtB"}
1
+ {"version":3,"file":"tfState.js","sourceRoot":"","sources":["../../src/tfState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilsTerraformAws.d.ts","sourceRoot":"","sources":["../../src/utilsTerraformAws.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAiBvD,qBAAa,gBAAiB,YAAW,aAAa;IACpD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,yBAAyB,QAAO,MAAM,CAOpC;IAEF,eAAe,QAAO,IAAI,CAKxB;IAEF,mBAAmB,eACL,mBAAmB,KAC9B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAmCnB;gBAGA,WAAW,EAAE,qBAAqB,EAClC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM;CAMjB;AAED,eAAO,MAAM,eAAe,SACpB,MAAM,EAAE,YACJ,gBAAgB,KACzB,QAAQ,IAAI,CAwCd,CAAC"}
1
+ {"version":3,"file":"utilsTerraformAws.d.ts","sourceRoot":"","sources":["../../src/utilsTerraformAws.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAoBvD,qBAAa,gBAAiB,YAAW,aAAa;IACpD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,yBAAyB,QAAO,MAAM,CAOpC;IAEF,eAAe,QAAO,IAAI,CAKxB;IAEF,mBAAmB,eACL,mBAAmB,KAC9B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAmCnB;gBAGA,WAAW,EAAE,qBAAqB,EAClC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM;CAMjB;AAwBD,eAAO,MAAM,eAAe,SACpB,MAAM,EAAE,YACJ,gBAAgB,KACzB,QAAQ,IAAI,CA6Dd,CAAC"}
@@ -8,6 +8,8 @@ const infra_aws_1 = require("@goldstack/infra-aws");
8
8
  const utils_terraform_1 = require("@goldstack/utils-terraform");
9
9
  const tfState_1 = require("./tfState");
10
10
  const crypto_1 = __importDefault(require("crypto"));
11
+ const child_process_1 = require("child_process");
12
+ const os_1 = __importDefault(require("os"));
11
13
  const getRemoteStateConfig = (config, userName) => {
12
14
  const userConfig = config.remoteState.filter((u) => u.user === userName);
13
15
  if (userConfig.length === 0) {
@@ -56,6 +58,25 @@ class AWSCloudProvider {
56
58
  }
57
59
  }
58
60
  exports.AWSCloudProvider = AWSCloudProvider;
61
+ const prompt = (message) => {
62
+ process.stdout.write(message);
63
+ let cmd;
64
+ let args;
65
+ if (os_1.default.platform() == 'win32') {
66
+ cmd = 'cmd';
67
+ args = ['/V:ON', '/C', 'set /p response= && echo !response!'];
68
+ }
69
+ else {
70
+ cmd = 'bash';
71
+ args = ['-c', 'read response; echo "$response"'];
72
+ }
73
+ const opts = {
74
+ stdio: ['inherit', 'pipe', 'inherit'],
75
+ shell: false,
76
+ encoding: 'utf-8',
77
+ };
78
+ return (0, child_process_1.spawnSync)(cmd, args, opts).stdout.toString().trim();
79
+ };
59
80
  const terraformAwsCli = async (args, options) => {
60
81
  const deploymentName = args[1];
61
82
  const deployment = (0, infra_aws_1.readDeploymentFromPackageConfig)(deploymentName);
@@ -72,6 +93,24 @@ const terraformAwsCli = async (args, options) => {
72
93
  remoteStateConfig.terraformStateDynamoDBTable = `goldstack-tfstate-${projectHash}-lock`;
73
94
  (0, infra_aws_1.writeTerraformConfig)(awsTerraformConfig);
74
95
  }
96
+ const [operation] = args;
97
+ if (operation === 'destroy-state') {
98
+ const ciConfirmed = args.find((str) => str === '-y');
99
+ if (!ciConfirmed) {
100
+ const value = prompt('Are you sure to destroy your remote deployment state? If yes, please type `y` and enter.\n' +
101
+ 'Otherwise, press enter.\nYour Input: ');
102
+ if (value !== 'y') {
103
+ new Error('Prompt not confirmed with `y`');
104
+ }
105
+ }
106
+ await (0, tfState_1.deleteState)({
107
+ bucketName: remoteStateConfig.terraformStateBucket,
108
+ dynamoDBTableName: remoteStateConfig.terraformStateDynamoDBTable,
109
+ credentials,
110
+ awsRegion: deployment.awsRegion,
111
+ });
112
+ return;
113
+ }
75
114
  await (0, tfState_1.createState)({
76
115
  bucketName: remoteStateConfig.terraformStateBucket,
77
116
  dynamoDBTableName: remoteStateConfig.terraformStateDynamoDBTable,
@@ -1 +1 @@
1
- {"version":3,"file":"utilsTerraformAws.js","sourceRoot":"","sources":["../../src/utilsTerraformAws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilsTerraformAws.js","sourceRoot":"","sources":["../../src/utilsTerraformAws.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldstack/utils-terraform-aws",
3
- "version": "0.4.18",
3
+ "version": "0.4.19",
4
4
  "description": "Easily deploy Terraform IaC with npm package scripts",
5
5
  "keywords": [
6
6
  "goldstack",
@@ -44,7 +44,7 @@
44
44
  "@goldstack/utils-log": "0.3.9",
45
45
  "@goldstack/utils-package": "0.4.9",
46
46
  "@goldstack/utils-sh": "0.5.9",
47
- "@goldstack/utils-terraform": "0.4.16"
47
+ "@goldstack/utils-terraform": "0.4.17"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@goldstack/utils-git": "0.2.9",