UNPKG

raindancers-network

Version:
53 lines 6.68 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.AwsServiceEndPoints = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cdk_lib_1 = require("aws-cdk-lib"); const constructs = require("constructs"); /** * Provisions a set of AWS Service Endpoints in a VPC */ class AwsServiceEndPoints extends constructs.Construct { /** * @param scope The scope that this construct is created in * @param id Id for the construct * @param props AWSServiceEndpoints */ constructor(scope, id, props) { super(scope, id); const endpoint_sg = new aws_cdk_lib_1.aws_ec2.SecurityGroup(this, 'Endpointsg', { vpc: props.vpc, }); endpoint_sg.addIngressRule(aws_cdk_lib_1.aws_ec2.Peer.anyIpv4(), aws_cdk_lib_1.aws_ec2.Port.allTraffic()); props.services.forEach((service) => { new aws_cdk_lib_1.aws_ec2.InterfaceVpcEndpoint(this, `Endpoint${service.shortName}`, { service: service, vpc: props.vpc, open: true, lookupSupportedAzs: true, privateDnsEnabled: true, subnets: { subnetGroupName: props.subnetGroup, }, securityGroups: [endpoint_sg], }); }); if (props.s3GatewayInterface) { props.vpc.addGatewayEndpoint('S3GatewayEndpoint', { service: aws_cdk_lib_1.aws_ec2.GatewayVpcEndpointAwsService.S3, }); } ; if (props.dynamoDBGatewayInterface) { props.vpc.addGatewayEndpoint('DynamoDBGatewayEndpoint', { service: aws_cdk_lib_1.aws_ec2.GatewayVpcEndpointAwsService.DYNAMODB, }); } ; } } exports.AwsServiceEndPoints = AwsServiceEndPoints; _a = JSII_RTTI_SYMBOL_1; AwsServiceEndPoints[_a] = { fqn: "raindancers-network.endpoints.AwsServiceEndPoints", version: "1.29.3" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzU2VydmljZUVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmRwb2ludHMvYXdzU2VydmljZUVuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUdxQjtBQUNyQix5Q0FBeUM7QUEwQnpDOztLQUVLO0FBQ0wsTUFBYSxtQkFBb0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQUUzRDs7OztXQUlJO0lBQ0osWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUNuRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUkscUJBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUMzRCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDLGNBQWMsQ0FDdkIscUJBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQ2xCLHFCQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUN2QixDQUFDO1FBRUYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUVoQyxJQUFJLHFCQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFdBQVcsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNyRSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLElBQUksRUFBRSxJQUFJO2dCQUNWLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDSCxlQUFlLEVBQUUsS0FBSyxDQUFDLFdBQVc7aUJBQ3ZDO2dCQUNELGNBQWMsRUFBRSxDQUFDLFdBQVcsQ0FBQzthQUMxQixDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLEtBQUssQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQUU7Z0JBQ3BELE9BQU8sRUFBRSxxQkFBRyxDQUFDLDRCQUE0QixDQUFDLEVBQUU7YUFDekMsQ0FBQyxDQUFDO1NBQ0w7UUFBQSxDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsd0JBQXdCLEVBQUU7WUFDakMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsRUFBRTtnQkFDMUQsT0FBTyxFQUFFLHFCQUFHLENBQUMsNEJBQTRCLENBQUMsUUFBUTthQUMvQyxDQUFDLENBQUM7U0FDTDtRQUFBLENBQUM7SUFDSCxDQUFDOztBQTdDSCxrREE4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfZWMyIGFzIGVjMixcbn1cbiAgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuXG4vKiogUHJvcGVydGllcyB0byBjcmVhdGUgYSBzZXQgb2YgQVdTIHNlcnZpY2UgRW5kcG9pbnRzICovXG5leHBvcnQgaW50ZXJmYWNlIEF3c1NlcnZpY2VFbmRQb2ludHNQcm9wcyB7XG4gIC8qKlxuXHQgICAqIFRoZSB2cGMgaW4gd2hpY2ggdGhlIHNlcnZpY2UgaXMgY3JlYXRlZFxuXHQgICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5WcGMgfCBlYzIuSVZwYztcbiAgLyoqXG5cdCAgICogU3VibmV0IEdyb3VwIGluIHdoaWNoIHRvIGNyZWF0ZSB0aGUgc2VydmljZS4gVHlwaWNhbGx5IGEgc3VibmV0IERlZGljYXRlZCB0byB0aGUgdGFza1xuXHQgICAqL1xuICByZWFkb25seSBzdWJuZXRHcm91cDogc3RyaW5nO1xuICAvKipcblx0ICAgKiBBbiBhcnJ5IG9mIEludGVyZmFjZVZQQ0VuZHBvaW50c1xuXHQgICAqL1xuICByZWFkb25seSBzZXJ2aWNlczogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZVtdO1xuXG4gIC8qKiBpbmRpY2F0ZSB0cnVlIGZvciBhIFMzIEdhdGV3YXkgSW50ZXJmYWNlICAqL1xuICByZWFkb25seSBzM0dhdGV3YXlJbnRlcmZhY2U/OiBib29sZWFuO1xuXG4gIC8qKiBpbmRpY2F0ZSB0cnVlIGZvciBhIER5bmFtbyBHYXRld2F5IEludGVyZmFjZSAqL1xuICByZWFkb25seSBkeW5hbW9EQkdhdGV3YXlJbnRlcmZhY2U/OiBib29sZWFuO1xufVxuXG5cbi8qKlxuICAgKiBQcm92aXNpb25zIGEgc2V0IG9mIEFXUyBTZXJ2aWNlIEVuZHBvaW50cyBpbiBhIFZQQ1xuICAgKi9cbmV4cG9ydCBjbGFzcyBBd3NTZXJ2aWNlRW5kUG9pbnRzIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuXG4gIC8qKlxuXHQgICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgdGhhdCB0aGlzIGNvbnN0cnVjdCBpcyBjcmVhdGVkIGluXG5cdCAgICogQHBhcmFtIGlkIElkIGZvciB0aGUgY29uc3RydWN0XG5cdCAgICogQHBhcmFtIHByb3BzIEFXU1NlcnZpY2VFbmRwb2ludHNcblx0ICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXdzU2VydmljZUVuZFBvaW50c1Byb3BzKSB7XG5cdCAgc3VwZXIoc2NvcGUsIGlkKTtcblxuXHQgIGNvbnN0IGVuZHBvaW50X3NnID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsICdFbmRwb2ludHNnJywge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG5cdCAgfSk7XG5cblx0ICBlbmRwb2ludF9zZy5hZGRJbmdyZXNzUnVsZShcbiAgICAgIGVjMi5QZWVyLmFueUlwdjQoKSxcbiAgICAgIGVjMi5Qb3J0LmFsbFRyYWZmaWMoKSxcblx0ICApO1xuXG5cdCAgcHJvcHMuc2VydmljZXMuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuXG4gICAgICBuZXcgZWMyLkludGVyZmFjZVZwY0VuZHBvaW50KHRoaXMsIGBFbmRwb2ludCR7c2VydmljZS5zaG9ydE5hbWV9YCwge1xuXHRcdCAgc2VydmljZTogc2VydmljZSxcblx0XHQgIHZwYzogcHJvcHMudnBjLFxuXHRcdCAgb3BlbjogdHJ1ZSwgLy8gdGhpcyBvbmx5IGFsbG93cyB0cmFmZmljIGZyb20gd2l0aGluIHRoZSB2cGNcblx0XHQgIGxvb2t1cFN1cHBvcnRlZEF6czogdHJ1ZSxcblx0XHQgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuXHRcdCAgc3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldEdyb3VwTmFtZTogcHJvcHMuc3VibmV0R3JvdXAsXG5cdFx0ICB9LFxuXHRcdCAgc2VjdXJpdHlHcm91cHM6IFtlbmRwb2ludF9zZ10sXG4gICAgICB9KTtcblx0ICB9KTtcblxuXHQgIGlmIChwcm9wcy5zM0dhdGV3YXlJbnRlcmZhY2UpIHtcbiAgICAgIHByb3BzLnZwYy5hZGRHYXRld2F5RW5kcG9pbnQoJ1MzR2F0ZXdheUVuZHBvaW50Jywge1xuXHRcdCAgc2VydmljZTogZWMyLkdhdGV3YXlWcGNFbmRwb2ludEF3c1NlcnZpY2UuUzMsXG4gICAgICB9KTtcblx0ICB9O1xuXG5cdCAgaWYgKHByb3BzLmR5bmFtb0RCR2F0ZXdheUludGVyZmFjZSkge1xuICAgICAgcHJvcHMudnBjLmFkZEdhdGV3YXlFbmRwb2ludCgnRHluYW1vREJHYXRld2F5RW5kcG9pbnQnLCB7XG5cdFx0ICBzZXJ2aWNlOiBlYzIuR2F0ZXdheVZwY0VuZHBvaW50QXdzU2VydmljZS5EWU5BTU9EQixcbiAgICAgIH0pO1xuXHQgIH07XG4gIH1cbn0iXX0=