UNPKG

cdk-emrserverless-with-delta-lake

Version:
67 lines 12.1 kB
"use strict"; var _a, _b; Object.defineProperty(exports, "__esModule", { value: true }); exports.EmrStudioWorkspaceSecurityGroup = exports.EmrStudioEngineSecurityGroup = 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 constructs_1 = require("constructs"); /** * Created an engine security group for EMR notebooks. * * For detail, plrease refer to [Engine security group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-security-groups.html#emr-studio-security-group-instructions). * * ```ts * const workSpaceSecurityGroup = new EmrStudioWorkspaceSecurityGroup(this, 'Workspace', { vpc: baseVpc }); * const engineSecurityGroup = new EmrStudioEngineSecurityGroup(this, 'Engine', { vpc: baseVpc }); * workSpaceSecurityGroup.entity.connections.allowTo(engineSecurityGroup.entity, ec2.Port.tcp(18888), 'Allow traffic to any resources in the Engine security group for EMR Studio.'); * workSpaceSecurityGroup.entity.addEgressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(443), 'Allow traffic to the internet to link publicly hosted Git repositories to Workspaces.'); * ``` */ class EmrStudioEngineSecurityGroup extends constructs_1.Construct { constructor(scope, name, props) { super(scope, name); this.entity = new ec2.SecurityGroup(this, 'SecurityGroup', { securityGroupName: `DefaultEngineSecurityGroup-${cdk.Aws.ACCOUNT_ID}`, vpc: props.vpc, allowAllOutbound: false, disableInlineRules: true, description: 'Engine SG for EMR Studio', }); cdk.Tags.of(this.entity).add('Name', `DefaultEngineSecurityGroup-${cdk.Aws.ACCOUNT_ID}`); new cdk.CfnOutput(this, 'OEmrEngineSecurityGroupId', { value: this.entity.securityGroupId, description: 'The sg ID of the engine security group for EMR Studio' }); } } exports.EmrStudioEngineSecurityGroup = EmrStudioEngineSecurityGroup; _a = JSII_RTTI_SYMBOL_1; EmrStudioEngineSecurityGroup[_a] = { fqn: "cdk-emrserverless-with-delta-lake.EmrStudioEngineSecurityGroup", version: "2.0.823" }; /** * Created a workspace security group for EMR Studio. * * For detail, plrease refer to [Workspace security group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-security-groups.html#emr-studio-security-group-instructions). * * ```ts * const workSpaceSecurityGroup = new EmrStudioWorkspaceSecurityGroup(this, 'Workspace', { vpc: baseVpc }); * const engineSecurityGroup = new EmrStudioEngineSecurityGroup(this, 'Engine', { vpc: baseVpc }); * workSpaceSecurityGroup.entity.connections.allowTo(engineSecurityGroup.entity, ec2.Port.tcp(18888), 'Allow traffic to any resources in the Engine security group for EMR Studio.'); * workSpaceSecurityGroup.entity.addEgressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(443), 'Allow traffic to the internet to link publicly hosted Git repositories to Workspaces.'); * ``` */ class EmrStudioWorkspaceSecurityGroup extends constructs_1.Construct { constructor(scope, name, props) { super(scope, name); this.entity = new ec2.SecurityGroup(this, 'SecurityGroup', { securityGroupName: `DefaultWorkspaceSecurityGroupGit-${cdk.Aws.ACCOUNT_ID}`, vpc: props.vpc, allowAllOutbound: false, disableInlineRules: true, description: 'Workspace SG for EMR Studio', }); cdk.Tags.of(this.entity).add('Name', `DefaultWorkspaceSecurityGroupGit-${cdk.Aws.ACCOUNT_ID}`); new cdk.CfnOutput(this, 'OEmrEngineSecurityGroupId', { value: this.entity.securityGroupId, description: 'The SG ID of the workspace security group for EMR Studio' }); } } exports.EmrStudioWorkspaceSecurityGroup = EmrStudioWorkspaceSecurityGroup; _b = JSII_RTTI_SYMBOL_1; EmrStudioWorkspaceSecurityGroup[_b] = { fqn: "cdk-emrserverless-with-delta-lake.EmrStudioWorkspaceSecurityGroup", version: "2.0.823" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1yLXN0dWRpby1zZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW1yLXN0dWRpby1zZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLDJDQUF1QztBQWF2Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsc0JBQVM7SUFLekQsWUFBWSxLQUFnQixFQUFFLElBQVksRUFBRSxLQUF3QztRQUNsRixLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDekQsaUJBQWlCLEVBQUUsOEJBQThCLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFO1lBQ3JFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixXQUFXLEVBQUUsMEJBQTBCO1NBQ3hDLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLDhCQUE4QixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSwyQkFBMkIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsdURBQXVELEVBQUUsQ0FBQyxDQUFDO0lBQ3JLLENBQUM7O0FBaEJILG9FQWlCQzs7O0FBY0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFhLCtCQUFnQyxTQUFRLHNCQUFTO0lBSzVELFlBQVksS0FBZ0IsRUFBRSxJQUFZLEVBQUUsS0FBMkM7UUFDckYsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3pELGlCQUFpQixFQUFFLG9DQUFvQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRTtZQUMzRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLDZCQUE2QjtTQUMzQyxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxvQ0FBb0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQy9GLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLDBEQUEwRCxFQUFFLENBQUMsQ0FBQztJQUN4SyxDQUFDOztBQWhCSCwwRUFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBlbmdpbmUgc2VjdXJpdHkgZ3JvdXAgb2YgRU1SIFN0dWRpb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtclN0dWRpb0VuZ2luZVNlY3VyaXR5R3JvdXBQcm9wcyB7XG4gIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBUaGUgVlBDIGluIHdoaWNoIHRvIGNyZWF0ZSB0aGUgZW5naW5lIHNlY3VyaXR5IGdyb3VwIGZvciBFTVIgU3R1ZGlvLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgVlBDIGluIGFuIEFXUyBhY2NvdW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcbn1cbi8qKlxuICogQ3JlYXRlZCBhbiBlbmdpbmUgc2VjdXJpdHkgZ3JvdXAgZm9yIEVNUiBub3RlYm9va3MuXG4gKlxuICogRm9yIGRldGFpbCwgcGxyZWFzZSByZWZlciB0byBbRW5naW5lIHNlY3VyaXR5IGdyb3VwXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZW1yL2xhdGVzdC9NYW5hZ2VtZW50R3VpZGUvZW1yLXN0dWRpby1zZWN1cml0eS1ncm91cHMuaHRtbCNlbXItc3R1ZGlvLXNlY3VyaXR5LWdyb3VwLWluc3RydWN0aW9ucykuXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IHdvcmtTcGFjZVNlY3VyaXR5R3JvdXAgPSBuZXcgRW1yU3R1ZGlvV29ya3NwYWNlU2VjdXJpdHlHcm91cCh0aGlzLCAnV29ya3NwYWNlJywgeyB2cGM6IGJhc2VWcGMgfSk7XG4gKiBjb25zdCBlbmdpbmVTZWN1cml0eUdyb3VwID0gbmV3IEVtclN0dWRpb0VuZ2luZVNlY3VyaXR5R3JvdXAodGhpcywgJ0VuZ2luZScsIHsgdnBjOiBiYXNlVnBjIH0pO1xuICogd29ya1NwYWNlU2VjdXJpdHlHcm91cC5lbnRpdHkuY29ubmVjdGlvbnMuYWxsb3dUbyhlbmdpbmVTZWN1cml0eUdyb3VwLmVudGl0eSwgZWMyLlBvcnQudGNwKDE4ODg4KSwgJ0FsbG93IHRyYWZmaWMgdG8gYW55IHJlc291cmNlcyBpbiB0aGUgRW5naW5lIHNlY3VyaXR5IGdyb3VwIGZvciBFTVIgU3R1ZGlvLicpO1xuICogd29ya1NwYWNlU2VjdXJpdHlHcm91cC5lbnRpdHkuYWRkRWdyZXNzUnVsZShlYzIuUGVlci5hbnlJcHY0KCksIGVjMi5Qb3J0LnRjcCg0NDMpLCAnQWxsb3cgdHJhZmZpYyB0byB0aGUgaW50ZXJuZXQgdG8gbGluayBwdWJsaWNseSBob3N0ZWQgR2l0IHJlcG9zaXRvcmllcyB0byBXb3Jrc3BhY2VzLicpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBFbXJTdHVkaW9FbmdpbmVTZWN1cml0eUdyb3VwIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIFRoZSByZXByZXNlbnRhdGl2ZSBvZiB0aGUgc2VjdXJpdHkgZ3JvdXAgYXMgdGhlIEVNUiBTdHVkaW8gZW5naW5lIHNlY3VyaXR5IGdyb3VwLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVudGl0eTogZWMyLlNlY3VyaXR5R3JvdXA7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IEVtclN0dWRpb0VuZ2luZVNlY3VyaXR5R3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBuYW1lKTtcbiAgICB0aGlzLmVudGl0eSA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCAnU2VjdXJpdHlHcm91cCcsIHtcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBgRGVmYXVsdEVuZ2luZVNlY3VyaXR5R3JvdXAtJHtjZGsuQXdzLkFDQ09VTlRfSUR9YCxcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogZmFsc2UsXG4gICAgICBkaXNhYmxlSW5saW5lUnVsZXM6IHRydWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ0VuZ2luZSBTRyBmb3IgRU1SIFN0dWRpbycsXG4gICAgfSk7XG4gICAgY2RrLlRhZ3Mub2YodGhpcy5lbnRpdHkpLmFkZCgnTmFtZScsIGBEZWZhdWx0RW5naW5lU2VjdXJpdHlHcm91cC0ke2Nkay5Bd3MuQUNDT1VOVF9JRH1gKTtcbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnT0VtckVuZ2luZVNlY3VyaXR5R3JvdXBJZCcsIHsgdmFsdWU6IHRoaXMuZW50aXR5LnNlY3VyaXR5R3JvdXBJZCwgZGVzY3JpcHRpb246ICdUaGUgc2cgSUQgb2YgdGhlIGVuZ2luZSBzZWN1cml0eSBncm91cCBmb3IgRU1SIFN0dWRpbycgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIHdvcmtzcGFjZSBzZWN1cml0eSBncm91cCBvZiBFTVIgU3R1ZGlvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1yU3R1ZGlvV29ya3NwYWNlU2VjdXJpdHlHcm91cFByb3BzIHtcbiAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIFRoZSBWUEMgaW4gd2hpY2ggdG8gY3JlYXRlIHdvcmtzcGFjZSBzZWN1cml0eSBncm91cCBmb3IgRU1SIFN0dWRpby5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogQGRlZmF1bHQgLSBkZWZhdWx0IFZQQyBpbiBhbiBBV1MgYWNjb3VudC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG59XG5cbi8qKlxuICogQ3JlYXRlZCBhIHdvcmtzcGFjZSBzZWN1cml0eSBncm91cCBmb3IgRU1SIFN0dWRpby5cbiAqXG4gKiBGb3IgZGV0YWlsLCBwbHJlYXNlIHJlZmVyIHRvIFtXb3Jrc3BhY2Ugc2VjdXJpdHkgZ3JvdXBdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lbXIvbGF0ZXN0L01hbmFnZW1lbnRHdWlkZS9lbXItc3R1ZGlvLXNlY3VyaXR5LWdyb3Vwcy5odG1sI2Vtci1zdHVkaW8tc2VjdXJpdHktZ3JvdXAtaW5zdHJ1Y3Rpb25zKS5cbiAqXG4gKiBgYGB0c1xuICogY29uc3Qgd29ya1NwYWNlU2VjdXJpdHlHcm91cCA9IG5ldyBFbXJTdHVkaW9Xb3Jrc3BhY2VTZWN1cml0eUdyb3VwKHRoaXMsICdXb3Jrc3BhY2UnLCB7IHZwYzogYmFzZVZwYyB9KTtcbiAqIGNvbnN0IGVuZ2luZVNlY3VyaXR5R3JvdXAgPSBuZXcgRW1yU3R1ZGlvRW5naW5lU2VjdXJpdHlHcm91cCh0aGlzLCAnRW5naW5lJywgeyB2cGM6IGJhc2VWcGMgfSk7XG4gKiB3b3JrU3BhY2VTZWN1cml0eUdyb3VwLmVudGl0eS5jb25uZWN0aW9ucy5hbGxvd1RvKGVuZ2luZVNlY3VyaXR5R3JvdXAuZW50aXR5LCBlYzIuUG9ydC50Y3AoMTg4ODgpLCAnQWxsb3cgdHJhZmZpYyB0byBhbnkgcmVzb3VyY2VzIGluIHRoZSBFbmdpbmUgc2VjdXJpdHkgZ3JvdXAgZm9yIEVNUiBTdHVkaW8uJyk7XG4gKiB3b3JrU3BhY2VTZWN1cml0eUdyb3VwLmVudGl0eS5hZGRFZ3Jlc3NSdWxlKGVjMi5QZWVyLmFueUlwdjQoKSwgZWMyLlBvcnQudGNwKDQ0MyksICdBbGxvdyB0cmFmZmljIHRvIHRoZSBpbnRlcm5ldCB0byBsaW5rIHB1YmxpY2x5IGhvc3RlZCBHaXQgcmVwb3NpdG9yaWVzIHRvIFdvcmtzcGFjZXMuJyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEVtclN0dWRpb1dvcmtzcGFjZVNlY3VyaXR5R3JvdXAgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogVGhlIHJlcHJlc2VudGF0aXZlIG9mIHRoZSBzZWN1cml0eSBncm91cCBhcyB0aGUgRU1SIFN0dWRpbyB3b3Jrc3BhY2Ugc2VjdXJpdHkgZ3JvdXAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW50aXR5OiBlYzIuU2VjdXJpdHlHcm91cDtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nLCBwcm9wczogRW1yU3R1ZGlvV29ya3NwYWNlU2VjdXJpdHlHcm91cFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUpO1xuICAgIHRoaXMuZW50aXR5ID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsICdTZWN1cml0eUdyb3VwJywge1xuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGBEZWZhdWx0V29ya3NwYWNlU2VjdXJpdHlHcm91cEdpdC0ke2Nkay5Bd3MuQUNDT1VOVF9JRH1gLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiBmYWxzZSxcbiAgICAgIGRpc2FibGVJbmxpbmVSdWxlczogdHJ1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnV29ya3NwYWNlIFNHIGZvciBFTVIgU3R1ZGlvJyxcbiAgICB9KTtcbiAgICBjZGsuVGFncy5vZih0aGlzLmVudGl0eSkuYWRkKCdOYW1lJywgYERlZmF1bHRXb3Jrc3BhY2VTZWN1cml0eUdyb3VwR2l0LSR7Y2RrLkF3cy5BQ0NPVU5UX0lEfWApO1xuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdPRW1yRW5naW5lU2VjdXJpdHlHcm91cElkJywgeyB2YWx1ZTogdGhpcy5lbnRpdHkuc2VjdXJpdHlHcm91cElkLCBkZXNjcmlwdGlvbjogJ1RoZSBTRyBJRCBvZiB0aGUgd29ya3NwYWNlIHNlY3VyaXR5IGdyb3VwIGZvciBFTVIgU3R1ZGlvJyB9KTtcbiAgfVxufSJdfQ==