@enfo/aws-cdkompliance
Version:
Tagging and compliant resources using the CDK
33 lines • 2.6 kB
JavaScript
;
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