UNPKG

cdk-rds-sql

Version:

A CDK construct that allows creating roles and databases an on Aurora Serverless Postgresql cluster.

44 lines 5.32 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Database = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cdk_lib_1 = require("aws-cdk-lib"); const constructs_1 = require("constructs"); const enum_1 = require("./enum"); class ImportedDatabase extends constructs_1.Construct { constructor(scope, id, props) { super(scope, id); this.databaseName = props.databaseName; } } class Database extends aws_cdk_lib_1.CustomResource { constructor(scope, id, props) { super(scope, id, { serviceToken: props.provider.serviceToken, properties: { Resource: enum_1.RdsSqlResource.DATABASE, ResourceId: props.databaseName, SecretArn: props.provider.secret.secretArn, Owner: props.owner?.roleName, }, }); this.node.addDependency(props.provider); this.databaseName = props.databaseName; if (props.owner) { this.node.addDependency(props.owner); } } /** * Return a Database based upon name only. Use for importing existing databases. */ static fromDatabaseName(scope, id, databaseName) { return new ImportedDatabase(scope, id, { databaseName: databaseName, }); } } exports.Database = Database; _a = JSII_RTTI_SYMBOL_1; Database[_a] = { fqn: "cdk-rds-sql.Database", version: "5.0.0" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsMkNBQXNDO0FBQ3RDLGlDQUF1QztBQTJCdkMsTUFBTSxnQkFBaUIsU0FBUSxzQkFBUztJQUd0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFBO0lBQ3hDLENBQUM7Q0FDRjtBQUVELE1BQWEsUUFBUyxTQUFRLDRCQUFjO0lBWTFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxRQUFRO2dCQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQzlCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRO2FBQzdCO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQTtRQUN0QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckM7SUFDSCxDQUFDO0lBMUJEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFlBQW9CO1FBQ3hFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3JDLFlBQVksRUFBRSxZQUFZO1NBQzNCLENBQUMsQ0FBQTtJQUNKLENBQUM7O0FBUkgsNEJBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuL3JvbGVcIlxuXG5pbnRlcmZhY2UgRGF0YWJhc2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgZGF0YWJhc2UgdG8gY3JlYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2Ugb3duZXIuXG4gICAqL1xuICByZWFkb25seSBvd25lcj86IFJvbGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVByb3BzIGV4dGVuZHMgRGF0YWJhc2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFiYXNlIHtcbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcbn1cblxuY2xhc3MgSW1wb3J0ZWREYXRhYmFzZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElEYXRhYmFzZSB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZUF0dHJpYnV0ZXMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhYmFzZSB7XG4gIC8qKlxuICAgKiBSZXR1cm4gYSBEYXRhYmFzZSBiYXNlZCB1cG9uIG5hbWUgb25seS4gVXNlIGZvciBpbXBvcnRpbmcgZXhpc3RpbmcgZGF0YWJhc2VzLlxuICAgKi9cbiAgc3RhdGljIGZyb21EYXRhYmFzZU5hbWUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBJRGF0YWJhc2Uge1xuICAgIHJldHVybiBuZXcgSW1wb3J0ZWREYXRhYmFzZShzY29wZSwgaWQsIHtcbiAgICAgIGRhdGFiYXNlTmFtZTogZGF0YWJhc2VOYW1lLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5EQVRBQkFTRSxcbiAgICAgICAgUmVzb3VyY2VJZDogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnByb3ZpZGVyLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIE93bmVyOiBwcm9wcy5vd25lcj8ucm9sZU5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgICBpZiAocHJvcHMub3duZXIpIHtcbiAgICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLm93bmVyKVxuICAgIH1cbiAgfVxufVxuIl19