@aws-community/ephemeral
Version:
Ephemeral Stacks! A CDK Stack and Construct that will self-destruct after a specified time period.
25 lines • 3.01 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SelfDestructStack = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cdk_lib_1 = require("aws-cdk-lib");
const self_destruct_construct_1 = require("./self-destruct-construct");
class SelfDestructStack extends aws_cdk_lib_1.Stack {
constructor(scope, id, props = {}) {
super(scope, id, props);
const { selfDestructionEnable: enable, selfDestructionDuration: duration, } = props;
if (enable) {
new self_destruct_construct_1.SelfDestructConstruct(this, 'SelfDestructConstruct', {
duration: duration ?? aws_cdk_lib_1.Duration.days(7),
});
}
else {
console.log('SelfDestructStack: disabled');
}
}
}
_a = JSII_RTTI_SYMBOL_1;
SelfDestructStack[_a] = { fqn: "@aws-community/ephemeral.SelfDestructStack", version: "2.1.0" };
exports.SelfDestructStack = SelfDestructStack;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZi1kZXN0cnVjdC1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWxmLWRlc3RydWN0LXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTBEO0FBRTFELHVFQUFrRTtBQU1sRSxNQUFhLGlCQUFrQixTQUFRLG1CQUFLO0lBQzFDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLFFBQWdDLEVBQ0w7UUFFM0IsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsTUFBTSxFQUNKLHFCQUFxQixFQUFFLE1BQU0sRUFDN0IsdUJBQXVCLEVBQUUsUUFBUSxHQUNsQyxHQUFHLEtBQUssQ0FBQztRQUVWLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSwrQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7Z0JBQ3ZELFFBQVEsRUFBRSxRQUFRLElBQUksc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDOzs7O0FBcEJVLDhDQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgU2VsZkRlc3RydWN0Q29uc3RydWN0IH0gZnJvbSAnLi9zZWxmLWRlc3RydWN0LWNvbnN0cnVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZkRlc3RydWN0U3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICByZWFkb25seSBzZWxmRGVzdHJ1Y3Rpb25EdXJhdGlvbj86IER1cmF0aW9uXG4gIHJlYWRvbmx5IHNlbGZEZXN0cnVjdGlvbkVuYWJsZT86IGJvb2xlYW5cbn1cbmV4cG9ydCBjbGFzcyBTZWxmRGVzdHJ1Y3RTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3IgKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU2VsZkRlc3RydWN0U3RhY2tQcm9wcyA9IHtcbiAgICB9IGFzIFNlbGZEZXN0cnVjdFN0YWNrUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIGNvbnN0IHtcbiAgICAgIHNlbGZEZXN0cnVjdGlvbkVuYWJsZTogZW5hYmxlLFxuICAgICAgc2VsZkRlc3RydWN0aW9uRHVyYXRpb246IGR1cmF0aW9uLFxuICAgIH0gPSBwcm9wcztcblxuICAgIGlmIChlbmFibGUpIHtcbiAgICAgIG5ldyBTZWxmRGVzdHJ1Y3RDb25zdHJ1Y3QodGhpcywgJ1NlbGZEZXN0cnVjdENvbnN0cnVjdCcsIHtcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uID8/IER1cmF0aW9uLmRheXMoNyksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ1NlbGZEZXN0cnVjdFN0YWNrOiBkaXNhYmxlZCcpO1xuICAgIH1cbiAgfVxufVxuIl19