@pristine-ts/aws 0.0.263 → 0.0.264
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/lib/cjs/clients/cloudformation.client.js +27 -6
- package/dist/lib/cjs/clients/cloudformation.client.js.map +1 -1
- package/dist/lib/cjs/enums/cloudformation-deployment-status.enum.js +11 -0
- package/dist/lib/cjs/enums/cloudformation-deployment-status.enum.js.map +1 -0
- package/dist/lib/cjs/enums/enums.js +1 -0
- package/dist/lib/cjs/enums/enums.js.map +1 -1
- package/dist/lib/esm/clients/cloudformation.client.js +28 -7
- package/dist/lib/esm/clients/cloudformation.client.js.map +1 -1
- package/dist/lib/esm/enums/cloudformation-deployment-status.enum.js +8 -0
- package/dist/lib/esm/enums/cloudformation-deployment-status.enum.js.map +1 -0
- package/dist/lib/esm/enums/enums.js +1 -0
- package/dist/lib/esm/enums/enums.js.map +1 -1
- package/dist/types/clients/cloudformation.client.d.ts +4 -2
- package/dist/types/enums/cloudformation-deployment-status.enum.d.ts +6 -0
- package/dist/types/enums/enums.d.ts +1 -0
- package/dist/types/interfaces/cloudformation-client.interface.d.ts +3 -2
- package/package.json +7 -7
|
@@ -27,6 +27,7 @@ const common_1 = require("@pristine-ts/common");
|
|
|
27
27
|
const aws_module_keyname_1 = require("../aws.module.keyname");
|
|
28
28
|
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
29
29
|
const uuid_1 = require("uuid");
|
|
30
|
+
const cloudformation_deployment_status_enum_1 = require("../enums/cloudformation-deployment-status.enum");
|
|
30
31
|
/**
|
|
31
32
|
* The client to use to interact with AWS Cloudformation. It is a wrapper around the CloudformationClient of @aws-sdk/client-cloudformation.
|
|
32
33
|
* It is tagged so it can be injected using CloudformationClientInterface.
|
|
@@ -259,7 +260,6 @@ let CloudformationClient = class CloudformationClient {
|
|
|
259
260
|
* @param statusCallback
|
|
260
261
|
*/
|
|
261
262
|
deployStack(stackName, cloudformationTemplateS3Url, stackParameters, capabilities, statusCallback) {
|
|
262
|
-
var _a;
|
|
263
263
|
return __awaiter(this, void 0, void 0, function* () {
|
|
264
264
|
const parameters = [];
|
|
265
265
|
for (const key in stackParameters) {
|
|
@@ -272,26 +272,45 @@ let CloudformationClient = class CloudformationClient {
|
|
|
272
272
|
});
|
|
273
273
|
}
|
|
274
274
|
const changeSetName = `p-${(0, uuid_1.v4)()}`;
|
|
275
|
+
// Check if the stack exists or not first.
|
|
276
|
+
let changeSetType = client_cloudformation_1.ChangeSetType.UPDATE;
|
|
277
|
+
const stack = yield this.getStackDescription(stackName);
|
|
278
|
+
if (stack === undefined) {
|
|
279
|
+
changeSetType = client_cloudformation_1.ChangeSetType.CREATE;
|
|
280
|
+
}
|
|
275
281
|
yield this.createChangeSet({
|
|
276
282
|
StackName: stackName,
|
|
277
283
|
TemplateURL: cloudformationTemplateS3Url,
|
|
278
284
|
Parameters: parameters,
|
|
279
285
|
Capabilities: capabilities,
|
|
280
286
|
ChangeSetName: changeSetName,
|
|
287
|
+
ChangeSetType: changeSetType,
|
|
281
288
|
});
|
|
282
289
|
// Check if there are actual changes in the ChangeSet.
|
|
283
|
-
|
|
290
|
+
yield this.describeChangeSet({
|
|
284
291
|
StackName: stackName,
|
|
285
292
|
ChangeSetName: changeSetName,
|
|
286
293
|
});
|
|
287
|
-
|
|
288
|
-
|
|
294
|
+
const status = yield this.monitorStack(stackName, changeSetName);
|
|
295
|
+
switch (status) {
|
|
296
|
+
case cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.Failed:
|
|
297
|
+
case cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.NoChangesToPerform:
|
|
298
|
+
return status;
|
|
299
|
+
case cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.InProgress:
|
|
300
|
+
this.logHandler.error("The returned status of 'monitorStack' should never be 'InProgress'.", {}, aws_module_keyname_1.AwsModuleKeyname);
|
|
301
|
+
default:
|
|
302
|
+
break;
|
|
289
303
|
}
|
|
290
304
|
// Execute the changes and start monitoring
|
|
291
305
|
yield this.executeChangeSet({
|
|
292
306
|
StackName: stackName,
|
|
293
307
|
ChangeSetName: changeSetName,
|
|
294
308
|
});
|
|
309
|
+
return this.monitorStack(stackName, changeSetName, statusCallback);
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
monitorStack(stackName, changeSetName, statusCallback) {
|
|
313
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
295
314
|
while (true) {
|
|
296
315
|
const response = yield this.describeChangeSet({
|
|
297
316
|
StackName: stackName,
|
|
@@ -308,14 +327,16 @@ let CloudformationClient = class CloudformationClient {
|
|
|
308
327
|
case "DELETE_IN_PROGRESS":
|
|
309
328
|
case "DELETE_PENDING":
|
|
310
329
|
if (statusCallback) {
|
|
311
|
-
statusCallback(
|
|
330
|
+
statusCallback(cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.InProgress, changeSetName);
|
|
312
331
|
}
|
|
332
|
+
response.ExecutionStatus;
|
|
313
333
|
continue;
|
|
314
334
|
case "CREATE_COMPLETE":
|
|
315
335
|
case "DELETE_COMPLETE":
|
|
336
|
+
return cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.Completed;
|
|
316
337
|
case "DELETE_FAILED":
|
|
317
338
|
case "FAILED":
|
|
318
|
-
return
|
|
339
|
+
return cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.Failed;
|
|
319
340
|
}
|
|
320
341
|
yield new Promise(resolve => setTimeout(resolve, 5000));
|
|
321
342
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAE5C,gDAAsD;AACtD,8DAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloudformationDeploymentStatusEnum = void 0;
|
|
4
|
+
var CloudformationDeploymentStatusEnum;
|
|
5
|
+
(function (CloudformationDeploymentStatusEnum) {
|
|
6
|
+
CloudformationDeploymentStatusEnum["NoChangesToPerform"] = "NO_CHANGES_TO_PERFORM";
|
|
7
|
+
CloudformationDeploymentStatusEnum["Completed"] = "COMPLETED";
|
|
8
|
+
CloudformationDeploymentStatusEnum["Failed"] = "FAILED";
|
|
9
|
+
CloudformationDeploymentStatusEnum["InProgress"] = "IN_PROGRESS";
|
|
10
|
+
})(CloudformationDeploymentStatusEnum || (exports.CloudformationDeploymentStatusEnum = CloudformationDeploymentStatusEnum = {}));
|
|
11
|
+
//# sourceMappingURL=cloudformation-deployment-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudformation-deployment-status.enum.js","sourceRoot":"","sources":["../../../../src/enums/cloudformation-deployment-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAC1C,kFAA4C,CAAA;IAC5C,6DAAuB,CAAA;IACvB,uDAAiB,CAAA;IACjB,gEAA0B,CAAA;AAC9B,CAAC,EALW,kCAAkC,kDAAlC,kCAAkC,QAK7C"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cloudformation-deployment-status.enum"), exports);
|
|
17
18
|
__exportStar(require("./dynamodb-event-type.enum"), exports);
|
|
18
19
|
__exportStar(require("./dynamodb-sort-order.enum"), exports);
|
|
19
20
|
__exportStar(require("./event-bridge-event-type.enum"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6DAA2C;AAC3C,iEAA+C;AAC/C,0DAAwC;AACxC,uDAAqC;AACrC,qEAAmD;AACnD,wDAAsC;AACtC,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwD;AACxD,6DAA2C;AAC3C,6DAA2C;AAC3C,iEAA+C;AAC/C,0DAAwC;AACxC,uDAAqC;AACrC,qEAAmD;AACnD,wDAAsC;AACtC,wDAAsC"}
|
|
@@ -22,8 +22,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
22
22
|
import { inject, injectable } from "tsyringe";
|
|
23
23
|
import { moduleScoped, tag } from "@pristine-ts/common";
|
|
24
24
|
import { AwsModuleKeyname } from "../aws.module.keyname";
|
|
25
|
-
import { CloudFormationClient as AWSCloudformationClient,
|
|
25
|
+
import { CloudFormationClient as AWSCloudformationClient, CreateChangeSetCommand, CreateStackCommand, DeleteChangeSetCommand, DeleteStackCommand, DescribeChangeSetCommand, DescribeStacksCommand, ExecuteChangeSetCommand, ListChangeSetsCommand, UpdateStackCommand, ChangeSetType } from "@aws-sdk/client-cloudformation";
|
|
26
26
|
import { v4 as uuid } from "uuid";
|
|
27
|
+
import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
|
|
27
28
|
/**
|
|
28
29
|
* The client to use to interact with AWS Cloudformation. It is a wrapper around the CloudformationClient of @aws-sdk/client-cloudformation.
|
|
29
30
|
* It is tagged so it can be injected using CloudformationClientInterface.
|
|
@@ -256,7 +257,6 @@ let CloudformationClient = class CloudformationClient {
|
|
|
256
257
|
* @param statusCallback
|
|
257
258
|
*/
|
|
258
259
|
deployStack(stackName, cloudformationTemplateS3Url, stackParameters, capabilities, statusCallback) {
|
|
259
|
-
var _a;
|
|
260
260
|
return __awaiter(this, void 0, void 0, function* () {
|
|
261
261
|
const parameters = [];
|
|
262
262
|
for (const key in stackParameters) {
|
|
@@ -269,26 +269,45 @@ let CloudformationClient = class CloudformationClient {
|
|
|
269
269
|
});
|
|
270
270
|
}
|
|
271
271
|
const changeSetName = `p-${uuid()}`;
|
|
272
|
+
// Check if the stack exists or not first.
|
|
273
|
+
let changeSetType = ChangeSetType.UPDATE;
|
|
274
|
+
const stack = yield this.getStackDescription(stackName);
|
|
275
|
+
if (stack === undefined) {
|
|
276
|
+
changeSetType = ChangeSetType.CREATE;
|
|
277
|
+
}
|
|
272
278
|
yield this.createChangeSet({
|
|
273
279
|
StackName: stackName,
|
|
274
280
|
TemplateURL: cloudformationTemplateS3Url,
|
|
275
281
|
Parameters: parameters,
|
|
276
282
|
Capabilities: capabilities,
|
|
277
283
|
ChangeSetName: changeSetName,
|
|
284
|
+
ChangeSetType: changeSetType,
|
|
278
285
|
});
|
|
279
286
|
// Check if there are actual changes in the ChangeSet.
|
|
280
|
-
|
|
287
|
+
yield this.describeChangeSet({
|
|
281
288
|
StackName: stackName,
|
|
282
289
|
ChangeSetName: changeSetName,
|
|
283
290
|
});
|
|
284
|
-
|
|
285
|
-
|
|
291
|
+
const status = yield this.monitorStack(stackName, changeSetName);
|
|
292
|
+
switch (status) {
|
|
293
|
+
case CloudformationDeploymentStatusEnum.Failed:
|
|
294
|
+
case CloudformationDeploymentStatusEnum.NoChangesToPerform:
|
|
295
|
+
return status;
|
|
296
|
+
case CloudformationDeploymentStatusEnum.InProgress:
|
|
297
|
+
this.logHandler.error("The returned status of 'monitorStack' should never be 'InProgress'.", {}, AwsModuleKeyname);
|
|
298
|
+
default:
|
|
299
|
+
break;
|
|
286
300
|
}
|
|
287
301
|
// Execute the changes and start monitoring
|
|
288
302
|
yield this.executeChangeSet({
|
|
289
303
|
StackName: stackName,
|
|
290
304
|
ChangeSetName: changeSetName,
|
|
291
305
|
});
|
|
306
|
+
return this.monitorStack(stackName, changeSetName, statusCallback);
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
monitorStack(stackName, changeSetName, statusCallback) {
|
|
310
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
292
311
|
while (true) {
|
|
293
312
|
const response = yield this.describeChangeSet({
|
|
294
313
|
StackName: stackName,
|
|
@@ -305,14 +324,16 @@ let CloudformationClient = class CloudformationClient {
|
|
|
305
324
|
case "DELETE_IN_PROGRESS":
|
|
306
325
|
case "DELETE_PENDING":
|
|
307
326
|
if (statusCallback) {
|
|
308
|
-
statusCallback(
|
|
327
|
+
statusCallback(CloudformationDeploymentStatusEnum.InProgress, changeSetName);
|
|
309
328
|
}
|
|
329
|
+
response.ExecutionStatus;
|
|
310
330
|
continue;
|
|
311
331
|
case "CREATE_COMPLETE":
|
|
312
332
|
case "DELETE_COMPLETE":
|
|
333
|
+
return CloudformationDeploymentStatusEnum.Completed;
|
|
313
334
|
case "DELETE_FAILED":
|
|
314
335
|
case "FAILED":
|
|
315
|
-
return
|
|
336
|
+
return CloudformationDeploymentStatusEnum.Failed;
|
|
316
337
|
}
|
|
317
338
|
yield new Promise(resolve => setTimeout(resolve, 5000));
|
|
318
339
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAEH,oBAAoB,IAAI,uBAAuB,EAE/C,sBAAsB,EAGtB,kBAAkB,EAGlB,sBAAsB,EAGtB,kBAAkB,EAGlB,wBAAwB,EAGxB,qBAAqB,EAErB,uBAAuB,EAGvB,qBAAqB,EAKrB,kBAAkB,EAGlB,aAAa,EAChB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAC,kCAAkC,EAAC,MAAM,gDAAgD,CAAC;AAElG;;;;GAIG;AAII,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAQ7B;;;;OAIG;IACH,YACoD,UAA+B,EACvC,MAAc;QADN,eAAU,GAAV,UAAU,CAAqB;QACvC,WAAM,GAAN,MAAM,CAAQ;IAE1D,CAAC;IAED;;OAEG;IACH,SAAS;;QACL,OAAO,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,uBAAuB,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAkC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACG,mBAAmB,CAAC,SAAiB;;YACvC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,mDAAmD,EAAE,EAAC,SAAS,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC1G,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC;gBACtC,SAAS,EAAE,SAAS;aACvB,CAAC,CAAA;YACF,IAAI;gBACA,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnF,IAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;oBAC9C,OAAO,SAAS,CAAC;iBACpB;gBACD,IAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;oBAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;iBAClF;gBACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC7B;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC3G,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,wBAAwB,CAAC,EAAE;oBAChE,OAAO,SAAS,CAAC;iBACpB;qBAAM;oBACH,MAAM,CAAC,CAAC;iBACX;gBACD,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;OAEG;IACG,UAAU;;;YACZ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAAA;YAC7C,IAAI;gBACA,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnF,OAAO,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAC;aAChC;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC3G,MAAM,CAAC,CAAC;aACX;;KACJ;IAED;;;OAGG;IACG,WAAW,CAAC,KAA8B;;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC9F,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,WAAW,CAAC,KAA8B;;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAG,CAAC,CAAC,OAAO,IAAI,iCAAiC,EAAE;oBAC/C,OAAO;wBACH,SAAS,EAAE;4BACP,cAAc,EAAE,GAAG;yBACtB;qBACJ,CAAA;iBACJ;gBACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC9F,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,WAAW,CAAC,KAA8B;;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC9F,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,eAAe,CAAC,KAAkC;;YACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAA;YACjD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBACnG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,eAAe,CAAC,KAAkC;;YACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAA;YACjD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBACnG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,iBAAiB,CAAC,KAAoC;;YACxD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAChG,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBACrG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,gBAAgB,CAAC,KAAmC;;YACtD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBACpG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,cAAc,CAAC,KAAiC;;YAClD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAC,KAAK,EAAC,EAAE,gBAAgB,CAAC,CAAC;YAC7F,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBACnG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;;;;;;OAQG;IACG,WAAW,CAAC,SAAiB,EAAE,2BAAmC,EAAE,eAAyC,EAAE,YAA0B,EAAE,cAA4F;;YACzO,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,KAAI,MAAM,GAAG,IAAI,eAAe,EAAE;gBAC9B,IAAG,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBAC9C,SAAS;iBACZ;gBACD,UAAU,CAAC,IAAI,CAAC;oBACZ,YAAY,EAAE,GAAG;oBACjB,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC;iBACvC,CAAC,CAAC;aACN;YAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;YAEpC,0CAA0C;YAC1C,IAAI,aAAa,GAAkB,aAAa,CAAC,MAAM,CAAC;YAExD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAExD,IAAG,KAAK,KAAK,SAAS,EAAE;gBACpB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;aACxC;YAED,MAAM,IAAI,CAAC,eAAe,CACtB;gBACI,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,2BAA2B;gBACxC,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,YAAY;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,aAAa,EAAE,aAAa;aAC/B,CACJ,CAAC;YAEF,sDAAsD;YACtD,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBACzB,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,aAAa;aAC/B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEjE,QAAQ,MAAM,EAAE;gBACZ,KAAK,kCAAkC,CAAC,MAAM,CAAC;gBAC/C,KAAK,kCAAkC,CAAC,kBAAkB;oBACtD,OAAO,MAAM,CAAC;gBAClB,KAAK,kCAAkC,CAAC,UAAU;oBAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qEAAqE,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAA;gBACtH;oBACI,MAAM;aACb;YAED,2CAA2C;YAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBACxB,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,aAAa;aAC/B,CAAC,CAAA;YAEF,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QACvE,CAAC;KAAA;IAEa,YAAY,CAAC,SAAiB,EAAE,aAAqB,EAAE,cAA4F;;YAC7J,OAAM,IAAI,EAAE;gBACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC1C,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,aAAa;iBAC/B,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAE/B,IAAG,MAAM,KAAK,SAAS,EAAE;oBACrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBACxD,SAAS;iBACZ;gBAED,QAAQ,QAAQ,CAAC,MAAM,EAAE;oBACrB,KAAK,oBAAoB,CAAC;oBAC1B,KAAK,gBAAgB,CAAC;oBACtB,KAAK,oBAAoB,CAAC;oBAC1B,KAAK,gBAAgB;wBACjB,IAAG,cAAc,EAAE;4BACf,cAAc,CAAC,kCAAkC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;yBAChF;wBAAC,QAAQ,CAAC,eAAe,CAAA;wBAC1B,SAAS;oBAEb,KAAK,iBAAiB,CAAC;oBACvB,KAAK,iBAAiB;wBAClB,OAAO,kCAAkC,CAAC,SAAS,CAAC;oBACxD,KAAK,eAAe,CAAC;oBACrB,KAAK,QAAQ;wBACT,OAAO,kCAAkC,CAAC,MAAM,CAAC;iBACxD;gBAED,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aAC3D;QACL,CAAC;KAAA;CACJ,CAAA;AAvTY,oBAAoB;IAHhC,GAAG,CAAC,+BAA+B,CAAC;IACpC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;IAeJ,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,MAAM,CAAC,uBAAuB,CAAC,CAAA;;GAf3B,oBAAoB,CAuThC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var CloudformationDeploymentStatusEnum;
|
|
2
|
+
(function (CloudformationDeploymentStatusEnum) {
|
|
3
|
+
CloudformationDeploymentStatusEnum["NoChangesToPerform"] = "NO_CHANGES_TO_PERFORM";
|
|
4
|
+
CloudformationDeploymentStatusEnum["Completed"] = "COMPLETED";
|
|
5
|
+
CloudformationDeploymentStatusEnum["Failed"] = "FAILED";
|
|
6
|
+
CloudformationDeploymentStatusEnum["InProgress"] = "IN_PROGRESS";
|
|
7
|
+
})(CloudformationDeploymentStatusEnum || (CloudformationDeploymentStatusEnum = {}));
|
|
8
|
+
//# sourceMappingURL=cloudformation-deployment-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudformation-deployment-status.enum.js","sourceRoot":"","sources":["../../../../src/enums/cloudformation-deployment-status.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAC1C,kFAA4C,CAAA;IAC5C,6DAAuB,CAAA;IACvB,uDAAiB,CAAA;IACjB,gEAA0B,CAAA;AAC9B,CAAC,EALW,kCAAkC,KAAlC,kCAAkC,QAK7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LogHandlerInterface } from "@pristine-ts/logging";
|
|
2
|
-
import { CloudFormationClient as AWSCloudformationClient, CloudFormationClientConfig,
|
|
2
|
+
import { Capability, CloudFormationClient as AWSCloudformationClient, CloudFormationClientConfig, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, CreateStackCommandInput, CreateStackCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput } from "@aws-sdk/client-cloudformation";
|
|
3
3
|
import { CloudformationClientInterface } from "../interfaces/cloudformation-client.interface";
|
|
4
|
+
import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
|
|
4
5
|
/**
|
|
5
6
|
* The client to use to interact with AWS Cloudformation. It is a wrapper around the CloudformationClient of @aws-sdk/client-cloudformation.
|
|
6
7
|
* It is tagged so it can be injected using CloudformationClientInterface.
|
|
@@ -89,5 +90,6 @@ export declare class CloudformationClient implements CloudformationClientInterfa
|
|
|
89
90
|
*/
|
|
90
91
|
deployStack(stackName: string, cloudformationTemplateS3Url: string, stackParameters: {
|
|
91
92
|
[key in string]: string;
|
|
92
|
-
}, capabilities: Capability[], statusCallback?: (status:
|
|
93
|
+
}, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName: string) => void): Promise<CloudformationDeploymentStatusEnum>;
|
|
94
|
+
private monitorStack;
|
|
93
95
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CloudFormationClient as AWSCloudformationClient } from "@aws-sdk/client-cloudformation/dist-types/CloudFormationClient";
|
|
2
|
-
import { CreateStackCommandInput, CreateStackCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Capability
|
|
2
|
+
import { CreateStackCommandInput, CreateStackCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Capability } from "@aws-sdk/client-cloudformation";
|
|
3
3
|
import { CloudFormationClientConfig } from "@aws-sdk/client-cloudformation/dist-types/ts3.4";
|
|
4
|
+
import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
|
|
4
5
|
/**
|
|
5
6
|
* The CloudformationClient Interface defines the methods that a Cloudformation client must implement.
|
|
6
7
|
* When injecting the Cloudformation client the 'CloudformationClientInterface' tag should be used.
|
|
@@ -75,5 +76,5 @@ export interface CloudformationClientInterface {
|
|
|
75
76
|
*/
|
|
76
77
|
deployStack(stackName: string, cloudformationTemplateS3Url: string, stackParameters: {
|
|
77
78
|
[key in string]: string;
|
|
78
|
-
}, capabilities: Capability[], statusCallback?: (status:
|
|
79
|
+
}, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName: string) => void): Promise<CloudformationDeploymentStatusEnum>;
|
|
79
80
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pristine-ts/aws",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.264",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "dist/lib/esm/aws.module.js",
|
|
6
6
|
"main": "dist/lib/cjs/aws.module.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"@awslabs-community-fork/dynamodb-data-mapper": "^0.7.13",
|
|
30
30
|
"@awslabs-community-fork/dynamodb-data-marshaller": "^0.7.13",
|
|
31
31
|
"@awslabs-community-fork/dynamodb-expressions": "^0.7.13",
|
|
32
|
-
"@pristine-ts/common": "^0.0.
|
|
33
|
-
"@pristine-ts/core": "^0.0.
|
|
34
|
-
"@pristine-ts/logging": "^0.0.
|
|
35
|
-
"@pristine-ts/networking": "^0.0.
|
|
36
|
-
"@pristine-ts/security": "^0.0.
|
|
32
|
+
"@pristine-ts/common": "^0.0.264",
|
|
33
|
+
"@pristine-ts/core": "^0.0.264",
|
|
34
|
+
"@pristine-ts/logging": "^0.0.264",
|
|
35
|
+
"@pristine-ts/networking": "^0.0.264",
|
|
36
|
+
"@pristine-ts/security": "^0.0.264"
|
|
37
37
|
},
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"src/*.{js,ts}"
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "7cfc75f156c220798bac571b56f1e27ed78278ee"
|
|
76
76
|
}
|