@sheplu/aws-safe-modules
Version:
A collection of CDKTF modules for AWS, with security and compliance in mind
28 lines • 3.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validate = exports.DbInstance = void 0;
const db_instance_1 = require("@cdktf/provider-aws/lib/db-instance");
const ajv_1 = require("ajv");
class DbInstance extends db_instance_1.DbInstance {
constructor(scope, id, config) {
const checkedConfig = { ...config };
checkedConfig.dbName = `${config === null || config === void 0 ? void 0 : config.dbName}-rds`;
super(scope, `asm/${id}`, checkedConfig);
}
}
exports.DbInstance = DbInstance;
;
const ajv = new ajv_1.Ajv({ allErrors: true });
const schema = {
type: "object",
properties: {
storageType: { enum: ["gp3", "io1", "io2"] },
engine: { enum: ["postgres"] },
allocatedStorage: { type: "number", minimum: 30 },
engineVersion: { enum: ["17.4", "17.5"] },
},
required: ["storageType", "engine", "allocatedStorage"],
additionalProperties: true,
};
exports.validate = ajv.compile(schema);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkRTLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmFzZS9SRFMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFHO0FBRXJHLDZCQUEwQjtBQUUxQixNQUFhLFVBQVcsU0FBUSx3QkFBYztJQUMxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQXdCO1FBQzlELE1BQU0sYUFBYSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQyxhQUFhLENBQUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sTUFBTSxDQUFDO1FBRS9DLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0o7QUFQRCxnQ0FPQztBQUFBLENBQUM7QUFFRixNQUFNLEdBQUcsR0FBRyxJQUFJLFNBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBRXpDLE1BQU0sTUFBTSxHQUFHO0lBQ2IsSUFBSSxFQUFFLFFBQVE7SUFDZCxVQUFVLEVBQUU7UUFDVixXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQzVDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzlCLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQ2pELGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRTtLQUMxQztJQUNELFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLENBQUM7SUFDdkQsb0JBQW9CLEVBQUUsSUFBSTtDQUMzQixDQUFBO0FBRVksUUFBQSxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERiSW5zdGFuY2UgYXMgYXdzX0RiSW5zdGFuY2UsIERiSW5zdGFuY2VDb25maWcgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9kYi1pbnN0YW5jZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFqdiB9IGZyb20gXCJhanZcIjtcblxuZXhwb3J0IGNsYXNzIERiSW5zdGFuY2UgZXh0ZW5kcyBhd3NfRGJJbnN0YW5jZSB7XG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBEYkluc3RhbmNlQ29uZmlnKSB7XG4gICAgICAgIGNvbnN0IGNoZWNrZWRDb25maWcgPSB7IC4uLmNvbmZpZyB9O1xuICAgICAgICBjaGVja2VkQ29uZmlnLmRiTmFtZSA9IGAke2NvbmZpZz8uZGJOYW1lfS1yZHNgO1xuXG4gICAgICAgIHN1cGVyKHNjb3BlLCBgYXNtLyR7aWR9YCwgY2hlY2tlZENvbmZpZyk7XG4gICAgfVxufTtcblxuY29uc3QgYWp2ID0gbmV3IEFqdih7IGFsbEVycm9yczogdHJ1ZSB9KTtcblxuY29uc3Qgc2NoZW1hID0ge1xuICB0eXBlOiBcIm9iamVjdFwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgc3RvcmFnZVR5cGU6IHsgZW51bTogW1wiZ3AzXCIsIFwiaW8xXCIsIFwiaW8yXCJdIH0sXG4gICAgZW5naW5lOiB7IGVudW06IFtcInBvc3RncmVzXCJdIH0sXG4gICAgYWxsb2NhdGVkU3RvcmFnZTogeyB0eXBlOiBcIm51bWJlclwiLCBtaW5pbXVtOiAzMCB9LFxuICAgIGVuZ2luZVZlcnNpb246IHsgZW51bTogW1wiMTcuNFwiLCBcIjE3LjVcIl0gfSxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcInN0b3JhZ2VUeXBlXCIsIFwiZW5naW5lXCIsIFwiYWxsb2NhdGVkU3RvcmFnZVwiXSxcbiAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHRydWUsXG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZSA9IGFqdi5jb21waWxlKHNjaGVtYSkiXX0=