UNPKG

@cdklabs/aws-data-solutions-framework

Version:
35 lines 4.58 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 dsf = require("../../index"); const aws_cdk_lib_1 = require("aws-cdk-lib"); class ExampleCustomizationL2Stack extends cdk.Stack { constructor(scope, id) { super(scope, id); /// !show // Create a data lake using DSF on AWS L3 construct const storage = new dsf.storage.DataLakeStorage(this, 'MyDataLakeStorage'); // Access the CDK L2 Bucket construct exposed by the L3 construct const goldBucket = storage.goldBucket; // Use the Bucket CDK API to modify the Bucket Policy and add cross account write access goldBucket.addToResourcePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({ actions: [ 's3:GetObject', 's3:PutObject', 's3:DeleteObject', 's3:ListBucketMultipartUploads', 's3:ListMultipartUploadParts', 's3:AbortMultipartUpload', 's3:ListBucket', ], effect: aws_cdk_lib_1.aws_iam.Effect.ALLOW, principals: [new aws_cdk_lib_1.aws_iam.AccountPrincipal('123456789012')] })); /// !hide } } const app = new cdk.App(); new ExampleCustomizationL2Stack(app, 'ExampleCustomizationL2Stack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9taXphdGlvbi1sMi5saXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZXhhbXBsZXMvY3VzdG9taXphdGlvbi1sMi5saXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7O0FBRXRDLG1DQUFtQztBQUVuQyxtQ0FBbUM7QUFDbkMsNkNBQXNDO0FBR3RDLE1BQU0sMkJBQTRCLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDakQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixTQUFTO1FBQ1QsbURBQW1EO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFFM0UsaUVBQWlFO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFFdEMsd0ZBQXdGO1FBQ3hGLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLHFCQUFPLENBQUMsZUFBZSxDQUFDO1lBQ3JELE9BQU8sRUFBRTtnQkFDUCxjQUFjO2dCQUNkLGNBQWM7Z0JBQ2QsaUJBQWlCO2dCQUNqQiwrQkFBK0I7Z0JBQy9CLDZCQUE2QjtnQkFDN0IseUJBQXlCO2dCQUN6QixlQUFlO2FBQ2hCO1lBQ0QsTUFBTSxFQUFFLHFCQUFPLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDNUIsVUFBVSxFQUFFLENBQUMsSUFBSSxxQkFBTyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzNELENBQ0osQ0FBQyxDQUFDO1FBQ0gsU0FBUztJQUNYLENBQUM7Q0FDRjtBQUVELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzFCLElBQUksMkJBQTJCLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGRzZiBmcm9tICcuLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBhd3NfaWFtIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cblxuY2xhc3MgRXhhbXBsZUN1c3RvbWl6YXRpb25MMlN0YWNrIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8vICFzaG93XG4gICAgLy8gQ3JlYXRlIGEgZGF0YSBsYWtlIHVzaW5nIERTRiBvbiBBV1MgTDMgY29uc3RydWN0XG4gICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBkc2Yuc3RvcmFnZS5EYXRhTGFrZVN0b3JhZ2UodGhpcywgJ015RGF0YUxha2VTdG9yYWdlJyk7XG5cbiAgICAvLyBBY2Nlc3MgdGhlIENESyBMMiBCdWNrZXQgY29uc3RydWN0IGV4cG9zZWQgYnkgdGhlIEwzIGNvbnN0cnVjdFxuICAgIGNvbnN0IGdvbGRCdWNrZXQgPSBzdG9yYWdlLmdvbGRCdWNrZXQ7XG5cbiAgICAvLyBVc2UgdGhlIEJ1Y2tldCBDREsgQVBJIHRvIG1vZGlmeSB0aGUgQnVja2V0IFBvbGljeSBhbmQgYWRkIGNyb3NzIGFjY291bnQgd3JpdGUgYWNjZXNzXG4gICAgZ29sZEJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBhd3NfaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ3MzOkdldE9iamVjdCcsXG4gICAgICAgICAgICAnczM6UHV0T2JqZWN0JyxcbiAgICAgICAgICAgICdzMzpEZWxldGVPYmplY3QnLFxuICAgICAgICAgICAgJ3MzOkxpc3RCdWNrZXRNdWx0aXBhcnRVcGxvYWRzJyxcbiAgICAgICAgICAgICdzMzpMaXN0TXVsdGlwYXJ0VXBsb2FkUGFydHMnLFxuICAgICAgICAgICAgJ3MzOkFib3J0TXVsdGlwYXJ0VXBsb2FkJyxcbiAgICAgICAgICAgICdzMzpMaXN0QnVja2V0JyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogYXdzX2lhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgcHJpbmNpcGFsczogW25ldyBhd3NfaWFtLkFjY291bnRQcmluY2lwYWwoJzEyMzQ1Njc4OTAxMicpXVxuICAgICAgICB9XG4gICAgKSk7XG4gICAgLy8vICFoaWRlXG4gIH1cbn1cblxuY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbm5ldyBFeGFtcGxlQ3VzdG9taXphdGlvbkwyU3RhY2soYXBwLCAnRXhhbXBsZUN1c3RvbWl6YXRpb25MMlN0YWNrJyk7Il19