UNPKG

raindancers-network

Version:
62 lines 8.94 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrivateRedshiftCluster = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const redshift = require("@aws-cdk/aws-redshift-alpha"); const aws_cdk_lib_1 = require("aws-cdk-lib"); const constructs = require("constructs"); const database_1 = require("./database"); /** ** Creates a PrivateRedShiftCluster */ class PrivateRedshiftCluster extends constructs.Construct { constructor(scope, id, props) { super(scope, id); const masterpassword = new aws_cdk_lib_1.aws_secretsmanager.Secret(this, 'masterpassword', {}); this.clusterSecurityGroup = new aws_cdk_lib_1.aws_ec2.SecurityGroup(this, 'clusterSG', { vpc: props.vpc, allowAllOutbound: false, }); this.clusterParameters = new redshift.ClusterParameterGroup(this, 'Params', { description: 'parameters', parameters: { require_ssl: 'true', }, }); this.cluster = new redshift.Cluster(this, 'Redshift', { clusterName: props.clusterName, masterUser: { masterUsername: props.masterUser, masterPassword: masterpassword.secretValue, }, vpc: props.vpc, subnetGroup: props.subnetGroup, roles: [props.defaultrole], defaultRole: props.defaultrole, classicResizing: false, clusterType: redshift.ClusterType.MULTI_NODE, encrypted: true, loggingProperties: props.logging, enhancedVpcRouting: true, defaultDatabaseName: 'DefaultDatabase', nodeType: props.nodeType, numberOfNodes: props.nodes, parameterGroup: props.parameterGroup, preferredMaintenanceWindow: props.preferredMaintenanceWindow, //rebootForParameterChanges: true, removalPolicy: props.removalPolicy, securityGroups: [this.clusterSecurityGroup], }); } addDatabase(databaseName) { return new database_1.RedShiftDatabase(this, `${databaseName}Database`, { databaseName: databaseName, cluster: this.cluster, }); } } exports.PrivateRedshiftCluster = PrivateRedshiftCluster; _a = JSII_RTTI_SYMBOL_1; PrivateRedshiftCluster[_a] = { fqn: "raindancers-network.redshift.PrivateRedshiftCluster", version: "1.29.3" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc2hpZnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVkc2hpZnQvcmVkc2hpZnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3REFBd0Q7QUFDeEQsNkNBT3FCO0FBR3JCLHlDQUF5QztBQUV6Qyx5Q0FBOEM7QUFnQjlDOztFQUVFO0FBRUYsTUFBYSxzQkFBdUIsU0FBUSxVQUFVLENBQUMsU0FBUztJQU05RCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQTJCO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUkscUJBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNuRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxnQkFBZ0IsRUFBRSxLQUFLO1NBQ3hCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzFFLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsTUFBTTthQUNwQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDcEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFVBQVUsRUFBRTtnQkFDVixjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQ2hDLGNBQWMsRUFBRSxjQUFjLENBQUMsV0FBVzthQUMzQztZQUNELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1lBQzFCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixlQUFlLEVBQUUsS0FBSztZQUN0QixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQzVDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDaEMsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixtQkFBbUIsRUFBRSxpQkFBaUI7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLGFBQWEsRUFBRSxLQUFLLENBQUMsS0FBSztZQUMxQixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDcEMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtZQUM1RCxrQ0FBa0M7WUFDbEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLFlBQW9CO1FBRXJDLE9BQU8sSUFBSSwyQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxZQUFZLFVBQVUsRUFBRTtZQUMzRCxZQUFZLEVBQUUsWUFBWTtZQUMxQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF2REgsd0RBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcmVkc2hpZnQgZnJvbSAnQGF3cy1jZGsvYXdzLXJlZHNoaWZ0LWFscGhhJztcbmltcG9ydCB7XG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0bWFuYWdlcixcbiAgYXdzX2lhbSBhcyBpYW0sXG5cbiAgLy9jdXN0b21fcmVzb3VyY2VzIGFzIGNyLFxufVxuICBmcm9tICdhd3MtY2RrLWxpYic7XG5cbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5pbXBvcnQgeyBSZWRTaGlmdERhdGFiYXNlIH0gZnJvbSAnLi9kYXRhYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRDbHVzdGVyUHJvcHMge1xuICByZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBtYXN0ZXJVc2VyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwYzogZWMyLlZwYyB8IGVjMi5JVnBjO1xuICByZWFkb25seSBsb2dnaW5nOiByZWRzaGlmdC5Mb2dnaW5nUHJvcGVydGllcztcbiAgcmVhZG9ubHkgZGVmYXVsdHJvbGU6IGlhbS5Sb2xlO1xuICByZWFkb25seSBkZWZhdWx0REJOYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBub2Rlcz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgbm9kZVR5cGU/OiByZWRzaGlmdC5Ob2RlVHlwZTtcbiAgcmVhZG9ubHkgcGFyYW1ldGVyR3JvdXA/OiByZWRzaGlmdC5DbHVzdGVyUGFyYW1ldGVyR3JvdXAgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93Pzogc3RyaW5nIHwgdW5kZWZpbmVkOyAvLyBFeGFtcGxlOiAnU3VuOjIzOjQ1LU1vbjowMDoxNScgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblJEUy9sYXRlc3QvQXVyb3JhVXNlckd1aWRlL1VTRVJfVXBncmFkZURCSW5zdGFuY2UuTWFpbnRlbmFuY2UuaHRtbCNDb25jZXB0cy5EQk1haW50ZW5hbmNlXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeSB8IHVuZGVmaW5lZDsgLy8gdXNlIHRoaXMgZHVyaW5nIGRldiBzbywgd2UgY2FuIHRyYXNoIGl0LlxuICByZWFkb25seSBzdWJuZXRHcm91cDogcmVkc2hpZnQuQ2x1c3RlclN1Ym5ldEdyb3VwO1xufVxuLyoqXG4qKiBDcmVhdGVzIGEgUHJpdmF0ZVJlZFNoaWZ0Q2x1c3RlclxuKi9cblxuZXhwb3J0IGNsYXNzIFByaXZhdGVSZWRzaGlmdENsdXN0ZXIgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXI6IHJlZHNoaWZ0LkNsdXN0ZXI7XG4gIHB1YmxpYyByZWFkb25seSBjbHVzdGVyU2VjdXJpdHlHcm91cDogZWMyLlNlY3VyaXR5R3JvdXA7XG4gIHB1YmxpYyByZWFkb25seSBjbHVzdGVyUGFyYW1ldGVyczogcmVkc2hpZnQuQ2x1c3RlclBhcmFtZXRlckdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJlZHNoaWZ0Q2x1c3RlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IG1hc3RlcnBhc3N3b3JkID0gbmV3IHNlY3JldG1hbmFnZXIuU2VjcmV0KHRoaXMsICdtYXN0ZXJwYXNzd29yZCcsIHt9KTtcblxuICAgIHRoaXMuY2x1c3RlclNlY3VyaXR5R3JvdXAgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgJ2NsdXN0ZXJTRycsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogZmFsc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsdXN0ZXJQYXJhbWV0ZXJzID0gbmV3IHJlZHNoaWZ0LkNsdXN0ZXJQYXJhbWV0ZXJHcm91cCh0aGlzLCAnUGFyYW1zJywge1xuICAgICAgZGVzY3JpcHRpb246ICdwYXJhbWV0ZXJzJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgcmVxdWlyZV9zc2w6ICd0cnVlJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsdXN0ZXIgPSBuZXcgcmVkc2hpZnQuQ2x1c3Rlcih0aGlzLCAnUmVkc2hpZnQnLCB7XG4gICAgICBjbHVzdGVyTmFtZTogcHJvcHMuY2x1c3Rlck5hbWUsXG4gICAgICBtYXN0ZXJVc2VyOiB7XG4gICAgICAgIG1hc3RlclVzZXJuYW1lOiBwcm9wcy5tYXN0ZXJVc2VyLFxuICAgICAgICBtYXN0ZXJQYXNzd29yZDogbWFzdGVycGFzc3dvcmQuc2VjcmV0VmFsdWUsXG4gICAgICB9LFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBzdWJuZXRHcm91cDogcHJvcHMuc3VibmV0R3JvdXAsXG4gICAgICByb2xlczogW3Byb3BzLmRlZmF1bHRyb2xlXSxcbiAgICAgIGRlZmF1bHRSb2xlOiBwcm9wcy5kZWZhdWx0cm9sZSxcbiAgICAgIGNsYXNzaWNSZXNpemluZzogZmFsc2UsIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yZWRzaGlmdC9sYXRlc3QvbWdtdC9tYW5hZ2luZy1jbHVzdGVyLW9wZXJhdGlvbnMuaHRtbCNlbGFzdGljLXJlc2l6ZVxuICAgICAgY2x1c3RlclR5cGU6IHJlZHNoaWZ0LkNsdXN0ZXJUeXBlLk1VTFRJX05PREUsXG4gICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICBsb2dnaW5nUHJvcGVydGllczogcHJvcHMubG9nZ2luZyxcbiAgICAgIGVuaGFuY2VkVnBjUm91dGluZzogdHJ1ZSxcbiAgICAgIGRlZmF1bHREYXRhYmFzZU5hbWU6ICdEZWZhdWx0RGF0YWJhc2UnLFxuICAgICAgbm9kZVR5cGU6IHByb3BzLm5vZGVUeXBlLFxuICAgICAgbnVtYmVyT2ZOb2RlczogcHJvcHMubm9kZXMsXG4gICAgICBwYXJhbWV0ZXJHcm91cDogcHJvcHMucGFyYW1ldGVyR3JvdXAsXG4gICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzogcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3csXG4gICAgICAvL3JlYm9vdEZvclBhcmFtZXRlckNoYW5nZXM6IHRydWUsXG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5LFxuICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLmNsdXN0ZXJTZWN1cml0eUdyb3VwXSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGREYXRhYmFzZShkYXRhYmFzZU5hbWU6IHN0cmluZyk6IFJlZFNoaWZ0RGF0YWJhc2Uge1xuXG4gICAgcmV0dXJuIG5ldyBSZWRTaGlmdERhdGFiYXNlKHRoaXMsIGAke2RhdGFiYXNlTmFtZX1EYXRhYmFzZWAsIHtcbiAgICAgIGRhdGFiYXNlTmFtZTogZGF0YWJhc2VOYW1lLFxuICAgICAgY2x1c3RlcjogdGhpcy5jbHVzdGVyLFxuICAgIH0pO1xuICB9XG59XG4iXX0=