UNPKG

ness

Version:

✪ No-effort static sites deployed to your AWS account.

43 lines 4.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StackStatus = void 0; /** * A utility class to inspect CloudFormation stack statuses. * * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html */ class StackStatus { constructor(name, reason) { this.name = name; this.reason = reason; } static fromStackDescription(description) { const { StackStatus: name, StackStatusReason: reason } = description; if (!name) throw new Error('StackStatus must be provided'); return new StackStatus(name, reason); } get isCreationFailure() { return this.name === 'ROLLBACK_COMPLETE' || this.name === 'ROLLBACK_FAILED'; } get isDeleted() { return this.name.startsWith('DELETE_'); } get isFailure() { return this.name.endsWith('FAILED'); } get isInProgress() { return this.name.endsWith('_IN_PROGRESS'); } get isNotFound() { return this.name === 'NOT_FOUND'; } get isDeploySuccess() { return !this.isNotFound && (this.name === 'CREATE_COMPLETE' || this.name === 'UPDATE_COMPLETE'); } toString() { return this.name + (this.reason ? ` (${this.reason})` : ''); } } exports.StackStatus = StackStatus; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9hd3Mvc3RhY2stc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVc7SUFRdEIsWUFBNEIsSUFBWSxFQUFrQixNQUFlO1FBQTdDLFNBQUksR0FBSixJQUFJLENBQVE7UUFBa0IsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUFHLENBQUM7SUFQdEUsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFdBQWtCO1FBQ25ELE1BQU0sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBQyxHQUFHLFdBQVcsQ0FBQTtRQUNsRSxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUUxRCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBSUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG1CQUFtQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUE7SUFDN0UsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUE7SUFDbEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssaUJBQWlCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2pHLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzdELENBQUM7Q0FDRjtBQXJDRCxrQ0FxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0YWNrfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nXG5cbi8qKlxuICogQSB1dGlsaXR5IGNsYXNzIHRvIGluc3BlY3QgQ2xvdWRGb3JtYXRpb24gc3RhY2sgc3RhdHVzZXMuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1jZm4tZGVzY3JpYmluZy1zdGFja3MuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgU3RhY2tTdGF0dXMge1xuICBwdWJsaWMgc3RhdGljIGZyb21TdGFja0Rlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBTdGFjaykge1xuICAgIGNvbnN0IHtTdGFja1N0YXR1czogbmFtZSwgU3RhY2tTdGF0dXNSZWFzb246IHJlYXNvbn0gPSBkZXNjcmlwdGlvblxuICAgIGlmICghbmFtZSkgdGhyb3cgbmV3IEVycm9yKCdTdGFja1N0YXR1cyBtdXN0IGJlIHByb3ZpZGVkJylcblxuICAgIHJldHVybiBuZXcgU3RhY2tTdGF0dXMobmFtZSwgcmVhc29uKVxuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IHJlYXNvbj86IHN0cmluZykge31cblxuICBnZXQgaXNDcmVhdGlvbkZhaWx1cmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubmFtZSA9PT0gJ1JPTExCQUNLX0NPTVBMRVRFJyB8fCB0aGlzLm5hbWUgPT09ICdST0xMQkFDS19GQUlMRUQnXG4gIH1cblxuICBnZXQgaXNEZWxldGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hbWUuc3RhcnRzV2l0aCgnREVMRVRFXycpXG4gIH1cblxuICBnZXQgaXNGYWlsdXJlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hbWUuZW5kc1dpdGgoJ0ZBSUxFRCcpXG4gIH1cblxuICBnZXQgaXNJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hbWUuZW5kc1dpdGgoJ19JTl9QUk9HUkVTUycpXG4gIH1cblxuICBnZXQgaXNOb3RGb3VuZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lID09PSAnTk9UX0ZPVU5EJ1xuICB9XG5cbiAgZ2V0IGlzRGVwbG95U3VjY2VzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNOb3RGb3VuZCAmJiAodGhpcy5uYW1lID09PSAnQ1JFQVRFX0NPTVBMRVRFJyB8fCB0aGlzLm5hbWUgPT09ICdVUERBVEVfQ09NUExFVEUnKVxuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZSArICh0aGlzLnJlYXNvbiA/IGAgKCR7dGhpcy5yZWFzb259KWAgOiAnJylcbiAgfVxufVxuIl19