UNPKG

@cdklabs/aws-data-solutions-framework

Version:
34 lines 5.19 kB
"use strict"; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); const cdk = require("aws-cdk-lib"); const aws_iam_1 = require("aws-cdk-lib/aws-iam"); const lib_1 = require("../lib"); const lambda_layer_kubectl_v33_1 = require("@aws-cdk/lambda-layer-kubectl-v33"); class ExampleSparkEmrContainersStack extends cdk.Stack { constructor(scope, id) { super(scope, id); //Layer must be changed according to the Kubernetes version used const kubectlLayer = new lambda_layer_kubectl_v33_1.KubectlV33Layer(this, 'kubectlLayer'); const emrEksCluster = lib_1.SparkEmrContainersRuntime.getOrCreate(this, { eksAdminRole: aws_iam_1.Role.fromRoleArn(this, 'EksAdminRole', 'arn:aws:iam::12345678912:role/role-name-with-path'), publicAccessCIDRs: ['10.0.0.0/32'], // The list of public IP addresses from which the cluster can be accessible createEmrOnEksServiceLinkedRole: true, //if the the service linked role already exists set this to false kubectlLambdaLayer: kubectlLayer, }); /// !show const virtualCluster = emrEksCluster.addEmrVirtualCluster(this, { name: 'dailyjob', createNamespace: true, eksNamespace: 'dailyjobns', }); new cdk.CfnOutput(this, 'virtualClusterArn', { value: virtualCluster.attrArn, }); /// !hide } } const app = new cdk.App(); new ExampleSparkEmrContainersStack(app, 'ExampleSparkEmrServerlessStack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcmstZW1yLXJ1bnRpbWUtY29udGFpbmVycy12aXJ0dWFsLWNsdXN0ZXIubGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2Nlc3NpbmcvZXhhbXBsZXMvc3BhcmstZW1yLXJ1bnRpbWUtY29udGFpbmVycy12aXJ0dWFsLWNsdXN0ZXIubGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDOztBQUV0QyxtQ0FBbUM7QUFDbkMsaURBQTJDO0FBRTNDLGdDQUFtRDtBQUNuRCxnRkFBb0U7QUFHcEUsTUFBTSw4QkFBK0IsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNwRCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLGdFQUFnRTtRQUNoRSxNQUFNLFlBQVksR0FBRyxJQUFJLDBDQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sYUFBYSxHQUFHLCtCQUF5QixDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDaEUsWUFBWSxFQUFFLGNBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRyxtREFBbUQsQ0FBQztZQUMxRyxpQkFBaUIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLDJFQUEyRTtZQUMvRywrQkFBK0IsRUFBRSxJQUFJLEVBQUUsaUVBQWlFO1lBQ3hHLGtCQUFrQixFQUFFLFlBQVk7U0FDakMsQ0FBQyxDQUFDO1FBRUgsU0FBUztRQUNULE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUU7WUFDOUQsSUFBSSxFQUFFLFVBQVU7WUFDaEIsZUFBZSxFQUFFLElBQUk7WUFDckIsWUFBWSxFQUFFLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMzQyxLQUFLLEVBQUUsY0FBYyxDQUFDLE9BQU87U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsU0FBUztJQUNYLENBQUM7Q0FDRjtBQUdELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzFCLElBQUksOEJBQThCLENBQUMsR0FBRyxFQUFFLGdDQUFnQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFNwYXJrRW1yQ29udGFpbmVyc1J1bnRpbWUgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0IHsgS3ViZWN0bFYzM0xheWVyIH0gZnJvbSAnQGF3cy1jZGsvbGFtYmRhLWxheWVyLWt1YmVjdGwtdjMzJztcblxuXG5jbGFzcyBFeGFtcGxlU3BhcmtFbXJDb250YWluZXJzU3RhY2sgZXh0ZW5kcyBjZGsuU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBcbiAgICAvL0xheWVyIG11c3QgYmUgY2hhbmdlZCBhY2NvcmRpbmcgdG8gdGhlIEt1YmVybmV0ZXMgdmVyc2lvbiB1c2VkXG4gICAgY29uc3Qga3ViZWN0bExheWVyID0gbmV3IEt1YmVjdGxWMzNMYXllcih0aGlzLCAna3ViZWN0bExheWVyJyk7XG4gICAgXG4gICAgY29uc3QgZW1yRWtzQ2x1c3RlciA9IFNwYXJrRW1yQ29udGFpbmVyc1J1bnRpbWUuZ2V0T3JDcmVhdGUodGhpcywge1xuICAgICAgZWtzQWRtaW5Sb2xlOiBSb2xlLmZyb21Sb2xlQXJuKHRoaXMsICdFa3NBZG1pblJvbGUnICwgJ2Fybjphd3M6aWFtOjoxMjM0NTY3ODkxMjpyb2xlL3JvbGUtbmFtZS13aXRoLXBhdGgnKSxcbiAgICAgIHB1YmxpY0FjY2Vzc0NJRFJzOiBbJzEwLjAuMC4wLzMyJ10sIC8vIFRoZSBsaXN0IG9mIHB1YmxpYyBJUCBhZGRyZXNzZXMgZnJvbSB3aGljaCB0aGUgY2x1c3RlciBjYW4gYmUgYWNjZXNzaWJsZVxuICAgICAgY3JlYXRlRW1yT25Fa3NTZXJ2aWNlTGlua2VkUm9sZTogdHJ1ZSwgLy9pZiB0aGUgdGhlIHNlcnZpY2UgbGlua2VkIHJvbGUgYWxyZWFkeSBleGlzdHMgc2V0IHRoaXMgdG8gZmFsc2VcbiAgICAgIGt1YmVjdGxMYW1iZGFMYXllcjoga3ViZWN0bExheWVyLFxuICAgIH0pO1xuICAgIFxuICAgIC8vLyAhc2hvd1xuICAgIGNvbnN0IHZpcnR1YWxDbHVzdGVyID0gZW1yRWtzQ2x1c3Rlci5hZGRFbXJWaXJ0dWFsQ2x1c3Rlcih0aGlzLCB7XG4gICAgICBuYW1lOiAnZGFpbHlqb2InLFxuICAgICAgY3JlYXRlTmFtZXNwYWNlOiB0cnVlLFxuICAgICAgZWtzTmFtZXNwYWNlOiAnZGFpbHlqb2JucycsXG4gICAgfSk7XG4gICAgXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ3ZpcnR1YWxDbHVzdGVyQXJuJywge1xuICAgICAgdmFsdWU6IHZpcnR1YWxDbHVzdGVyLmF0dHJBcm4sXG4gICAgfSk7XG4gICAgLy8vICFoaWRlXG4gIH1cbn1cblxuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xubmV3IEV4YW1wbGVTcGFya0VtckNvbnRhaW5lcnNTdGFjayhhcHAsICdFeGFtcGxlU3BhcmtFbXJTZXJ2ZXJsZXNzU3RhY2snKTsiXX0=