UNPKG

@renovosolutions/cdk-aspects-library-tags

Version:
28 lines 2.86 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApplyKmsTags = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cdk_lib_1 = require("aws-cdk-lib"); /** * An aspect that applies CloudFormation tags to all KMS keys in the given scope. * * This is useful because KMS keys are not automatically tagged by CloudFormation, * which makes them hard to track and manage. */ class ApplyKmsTags { constructor() { } /** * Visits each construct in the scope and applies the tags if the construct is a KMS key. */ visit(node) { if (node instanceof aws_cdk_lib_1.CfnResource && node.cfnResourceType === 'AWS::KMS::Key') { aws_cdk_lib_1.Tags.of(node).add('cfn:stack-name', aws_cdk_lib_1.Stack.of(node).stackName); aws_cdk_lib_1.Tags.of(node).add('cfn:logical-id', node.logicalId); } } } exports.ApplyKmsTags = ApplyKmsTags; _a = JSII_RTTI_SYMBOL_1; ApplyKmsTags[_a] = { fqn: "@renovosolutions/cdk-aspects-library-tags.ApplyKmsTags", version: "0.0.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zdGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9rbXN0YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWdFO0FBR2hFOzs7OztHQUtHO0FBQ0gsTUFBYSxZQUFZO0lBQ3ZCLGdCQUFlLENBQUM7SUFFaEI7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsSUFBSSxJQUFJLFlBQVkseUJBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQzVFLGtCQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5RCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDOztBQVhILG9DQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIElBc3BlY3QsIFN0YWNrLCBUYWdzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEFuIGFzcGVjdCB0aGF0IGFwcGxpZXMgQ2xvdWRGb3JtYXRpb24gdGFncyB0byBhbGwgS01TIGtleXMgaW4gdGhlIGdpdmVuIHNjb3BlLlxuICpcbiAqIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgS01TIGtleXMgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IHRhZ2dlZCBieSBDbG91ZEZvcm1hdGlvbixcbiAqIHdoaWNoIG1ha2VzIHRoZW0gaGFyZCB0byB0cmFjayBhbmQgbWFuYWdlLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbHlLbXNUYWdzIGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogVmlzaXRzIGVhY2ggY29uc3RydWN0IGluIHRoZSBzY29wZSBhbmQgYXBwbGllcyB0aGUgdGFncyBpZiB0aGUgY29uc3RydWN0IGlzIGEgS01TIGtleS5cbiAgICovXG4gIHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpIHtcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIENmblJlc291cmNlICYmIG5vZGUuY2ZuUmVzb3VyY2VUeXBlID09PSAnQVdTOjpLTVM6OktleScpIHtcbiAgICAgIFRhZ3Mub2Yobm9kZSkuYWRkKCdjZm46c3RhY2stbmFtZScsIFN0YWNrLm9mKG5vZGUpLnN0YWNrTmFtZSk7XG4gICAgICBUYWdzLm9mKG5vZGUpLmFkZCgnY2ZuOmxvZ2ljYWwtaWQnLCBub2RlLmxvZ2ljYWxJZCk7XG4gICAgfVxuICB9XG59XG4iXX0=