UNPKG

@enfo/aws-cdkompliance

Version:

Tagging and compliant resources using the CDK

33 lines 2.6 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Topic = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_sns_1 = require("aws-cdk-lib/aws-sns"); /** * Compliant SNS Topic. * * See README for usage examples */ class Topic extends aws_sns_1.Topic { constructor(scope, id, props) { super(scope, id, props); this.calculatedProps = props; this.node.addValidation({ validate: () => { return [ ...this.checkMasterKey() ]; } }); } checkMasterKey() { return !this.calculatedProps.masterKey ? ['topic must be encrypted'] : []; } } exports.Topic = Topic; _a = JSII_RTTI_SYMBOL_1; Topic[_a] = { fqn: "@enfo/aws-cdkompliance.Topic", version: "1.1.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQW1FO0FBR25FOzs7O0dBSUc7QUFDSCxNQUFhLEtBQU0sU0FBUSxlQUFRO0lBRWpDLFlBQWEsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDdEIsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixPQUFPO29CQUNMLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRTtpQkFDekIsQ0FBQTtZQUNILENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRVMsY0FBYztRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTO1lBQ3BDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDO1lBQzdCLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDUixDQUFDOztBQW5CSCxzQkFvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb3BpYyBhcyBTTlNUb3BpYywgVG9waWNQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJ1xuXG4vKipcbiAqIENvbXBsaWFudCBTTlMgVG9waWMuXG4gKlxuICogU2VlIFJFQURNRSBmb3IgdXNhZ2UgZXhhbXBsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFRvcGljIGV4dGVuZHMgU05TVG9waWMge1xuICBwcm90ZWN0ZWQgY2FsY3VsYXRlZFByb3BzOiBUb3BpY1Byb3BzXG4gIGNvbnN0cnVjdG9yIChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVG9waWNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpXG4gICAgdGhpcy5jYWxjdWxhdGVkUHJvcHMgPSBwcm9wc1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi50aGlzLmNoZWNrTWFzdGVyS2V5KClcbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tNYXN0ZXJLZXkgKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gIXRoaXMuY2FsY3VsYXRlZFByb3BzLm1hc3RlcktleVxuICAgICAgPyBbJ3RvcGljIG11c3QgYmUgZW5jcnlwdGVkJ11cbiAgICAgIDogW11cbiAgfVxufVxuIl19