UNPKG

cdk-efs-assets

Version:

Amazon EFS assets from Github repositories or S3 buckets

53 lines 6.88 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.EfsFargateSite = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdk = require("aws-cdk-lib"); const ec2 = require("aws-cdk-lib/aws-ec2"); const ecs = require("aws-cdk-lib/aws-ecs"); const patterns = require("aws-cdk-lib/aws-ecs-patterns"); const aws_iam_1 = require("aws-cdk-lib/aws-iam"); const constructs_1 = require("constructs"); class EfsFargateSite extends constructs_1.Construct { constructor(scope, id, props) { super(scope, id); this.task = props.task; this.task.addVolume({ name: 'efs-storage', efsVolumeConfiguration: { fileSystemId: props.accessPoint.fileSystem.fileSystemId, authorizationConfig: { accessPointId: props.accessPoint.accessPointId, }, transitEncryption: 'ENABLED', }, }); this.service = new patterns.ApplicationLoadBalancedFargateService(this, 'FargateService', { vpc: props.vpc, taskDefinition: this.task, platformVersion: ecs.FargatePlatformVersion.VERSION1_4, }); // this.service.node.addDependency(props.accessPoint.fileSystem.mountTargetsAvailable) this.task.addToExecutionRolePolicy(new aws_iam_1.PolicyStatement({ actions: [ 'elasticfilesystem:ClientMount', 'elasticfilesystem:ClientWrite', ], resources: [ cdk.Stack.of(this).formatArn({ service: 'elasticfilesystem', resource: 'file-system', arnFormat: cdk.ArnFormat.SLASH_RESOURCE_NAME, resourceName: props.accessPoint.fileSystem.fileSystemId, }), ], })); // allow fargate ingress to the efs filesystem props.accessPoint.fileSystem.connections.allowFrom(this.service.service, ec2.Port.tcp(2049)); } } exports.EfsFargateSite = EfsFargateSite; _a = JSII_RTTI_SYMBOL_1; EfsFargateSite[_a] = { fqn: "cdk-efs-assets.EfsFargateSite", version: "0.3.95" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZzLWZhcmdhdGUtc2l0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lZnMtZmFyZ2F0ZS1zaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MseURBQXlEO0FBRXpELGlEQUFzRDtBQUN0RCwyQ0FBdUM7QUFTdkMsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFHM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsQixJQUFJLEVBQUUsYUFBYTtZQUNuQixzQkFBc0IsRUFBRTtnQkFDdEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFlBQVk7Z0JBQ3ZELG1CQUFtQixFQUFFO29CQUNuQixhQUFhLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhO2lCQUUvQztnQkFDRCxpQkFBaUIsRUFBRSxTQUFTO2FBRTdCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQyxxQ0FBcUMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDeEYsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3pCLGVBQWUsRUFBRSxHQUFHLENBQUMsc0JBQXNCLENBQUMsVUFBVTtTQUN2RCxDQUFDLENBQUM7UUFFSCxzRkFBc0Y7UUFFdEYsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLHlCQUFlLENBQUM7WUFDckQsT0FBTyxFQUFFO2dCQUNQLCtCQUErQjtnQkFDL0IsK0JBQStCO2FBQ2hDO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLG1CQUFtQjtvQkFDNUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFlBQVk7aUJBQ3hELENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUosOENBQThDO1FBQzlDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDOztBQTlDSCx3Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgcGF0dGVybnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcy1wYXR0ZXJucyc7XG5pbXBvcnQgKiBhcyBlZnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVmcyc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZzRmFyZ2F0ZVNpdGVQcm9wcyB7XG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG4gIHJlYWRvbmx5IHRhc2s6IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb247XG4gIHJlYWRvbmx5IGFjY2Vzc1BvaW50OiBlZnMuQWNjZXNzUG9pbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBFZnNGYXJnYXRlU2l0ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHRhc2s6IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb247XG4gIHJlYWRvbmx5IHNlcnZpY2U6IHBhdHRlcm5zLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkRmFyZ2F0ZVNlcnZpY2U7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFZnNGYXJnYXRlU2l0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudGFzayA9IHByb3BzLnRhc2s7XG5cbiAgICB0aGlzLnRhc2suYWRkVm9sdW1lKHtcbiAgICAgIG5hbWU6ICdlZnMtc3RvcmFnZScsXG4gICAgICBlZnNWb2x1bWVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGZpbGVTeXN0ZW1JZDogcHJvcHMuYWNjZXNzUG9pbnQuZmlsZVN5c3RlbS5maWxlU3lzdGVtSWQsXG4gICAgICAgIGF1dGhvcml6YXRpb25Db25maWc6IHtcbiAgICAgICAgICBhY2Nlc3NQb2ludElkOiBwcm9wcy5hY2Nlc3NQb2ludC5hY2Nlc3NQb2ludElkLFxuICAgICAgICAgIC8vIGlhbTogJ0VOQUJMRUQnLFxuICAgICAgICB9LFxuICAgICAgICB0cmFuc2l0RW5jcnlwdGlvbjogJ0VOQUJMRUQnLFxuICAgICAgICAvLyByb290RGlyZWN0b3J5OiAnL2RlbW8tZ2l0aHViJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2UgPSBuZXcgcGF0dGVybnMuQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRGYXJnYXRlU2VydmljZSh0aGlzLCAnRmFyZ2F0ZVNlcnZpY2UnLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHRhc2tEZWZpbml0aW9uOiB0aGlzLnRhc2ssXG4gICAgICBwbGF0Zm9ybVZlcnNpb246IGVjcy5GYXJnYXRlUGxhdGZvcm1WZXJzaW9uLlZFUlNJT04xXzQsXG4gICAgfSk7XG5cbiAgICAvLyB0aGlzLnNlcnZpY2Uubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmFjY2Vzc1BvaW50LmZpbGVTeXN0ZW0ubW91bnRUYXJnZXRzQXZhaWxhYmxlKVxuXG4gICAgdGhpcy50YXNrLmFkZFRvRXhlY3V0aW9uUm9sZVBvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ2VsYXN0aWNmaWxlc3lzdGVtOkNsaWVudE1vdW50JyxcbiAgICAgICAgJ2VsYXN0aWNmaWxlc3lzdGVtOkNsaWVudFdyaXRlJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgc2VydmljZTogJ2VsYXN0aWNmaWxlc3lzdGVtJyxcbiAgICAgICAgICByZXNvdXJjZTogJ2ZpbGUtc3lzdGVtJyxcbiAgICAgICAgICBhcm5Gb3JtYXQ6IGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICAgICAgICByZXNvdXJjZU5hbWU6IHByb3BzLmFjY2Vzc1BvaW50LmZpbGVTeXN0ZW0uZmlsZVN5c3RlbUlkLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSkpO1xuXG4gICAgLy8gYWxsb3cgZmFyZ2F0ZSBpbmdyZXNzIHRvIHRoZSBlZnMgZmlsZXN5c3RlbVxuICAgIHByb3BzLmFjY2Vzc1BvaW50LmZpbGVTeXN0ZW0uY29ubmVjdGlvbnMuYWxsb3dGcm9tKHRoaXMuc2VydmljZS5zZXJ2aWNlLCBlYzIuUG9ydC50Y3AoMjA0OSkpO1xuICB9XG59XG4iXX0=