UNPKG

@cdklabs/aws-data-solutions-framework

Version:
29 lines 4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const aws_cdk_lib_1 = require("aws-cdk-lib"); const dsf = require("../../index"); const aws_s3_1 = require("aws-cdk-lib/aws-s3"); const aws_iam_1 = require("aws-cdk-lib/aws-iam"); /// !show class ExampleRedshiftServerlessNamespaceRolesStack extends aws_cdk_lib_1.Stack { constructor(scope, id) { super(scope, id); const bucket = new aws_s3_1.Bucket(this, "ExampleBucket"); const ingestionRole = new aws_iam_1.Role(this, "IngestionRole", { assumedBy: new aws_iam_1.ServicePrincipal("redshift.amazonaws.com"), managedPolicies: [ aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("AmazonRedshiftAllCommandsFullAccess") ] }); bucket.grantRead(ingestionRole); new dsf.consumption.RedshiftServerlessNamespace(this, "RedshiftServerlessNamespace", { dbName: "database", name: "example-namespace", defaultIAMRole: ingestionRole }); } } /// !hide const app = new aws_cdk_lib_1.App(); new ExampleRedshiftServerlessNamespaceRolesStack(app, "ExampleRedshiftServerlessNamespaceRolesStack"); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc2hpZnQtc2VydmVybGVzcy1uYW1lc3BhY2Utcm9sZXMubGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN1bXB0aW9uL2V4YW1wbGVzL3JlZHNoaWZ0LXNlcnZlcmxlc3MtbmFtZXNwYWNlLXJvbGVzLmxpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUF5QztBQUV6QyxtQ0FBbUM7QUFDbkMsK0NBQTRDO0FBQzVDLGlEQUE0RTtBQUU1RSxTQUFTO0FBQ1QsTUFBTSw0Q0FBNkMsU0FBUSxtQkFBSztJQUM5RCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUVoRCxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3BELFNBQVMsRUFBRSxJQUFJLDBCQUFnQixDQUFDLHdCQUF3QixDQUFDO1lBQ3pELGVBQWUsRUFBRTtnQkFDZix1QkFBYSxDQUFDLHdCQUF3QixDQUFDLHFDQUFxQyxDQUFDO2FBQzlFO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUUvQixJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFO1lBQ25GLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsY0FBYyxFQUFFLGFBQWE7U0FDOUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBQ0QsU0FBUztBQUNULE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFBO0FBQ3JCLElBQUksNENBQTRDLENBQUMsR0FBRyxFQUFFLDhDQUE4QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgZHNmIGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7IEJ1Y2tldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IE1hbmFnZWRQb2xpY3ksIFJvbGUsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vLy8gIXNob3dcbmNsYXNzIEV4YW1wbGVSZWRzaGlmdFNlcnZlcmxlc3NOYW1lc3BhY2VSb2xlc1N0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuICAgIFxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBCdWNrZXQodGhpcywgXCJFeGFtcGxlQnVja2V0XCIpXG4gICAgXG4gICAgY29uc3QgaW5nZXN0aW9uUm9sZSA9IG5ldyBSb2xlKHRoaXMsIFwiSW5nZXN0aW9uUm9sZVwiLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFwicmVkc2hpZnQuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIkFtYXpvblJlZHNoaWZ0QWxsQ29tbWFuZHNGdWxsQWNjZXNzXCIpXG4gICAgICBdXG4gICAgfSlcbiAgICBcbiAgICBidWNrZXQuZ3JhbnRSZWFkKGluZ2VzdGlvblJvbGUpXG4gICAgXG4gICAgbmV3IGRzZi5jb25zdW1wdGlvbi5SZWRzaGlmdFNlcnZlcmxlc3NOYW1lc3BhY2UodGhpcywgXCJSZWRzaGlmdFNlcnZlcmxlc3NOYW1lc3BhY2VcIiwge1xuICAgICAgZGJOYW1lOiBcImRhdGFiYXNlXCIsXG4gICAgICBuYW1lOiBcImV4YW1wbGUtbmFtZXNwYWNlXCIsXG4gICAgICBkZWZhdWx0SUFNUm9sZTogaW5nZXN0aW9uUm9sZSBcbiAgICB9KVxuICB9XG59XG4vLy8gIWhpZGVcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKVxubmV3IEV4YW1wbGVSZWRzaGlmdFNlcnZlcmxlc3NOYW1lc3BhY2VSb2xlc1N0YWNrKGFwcCwgXCJFeGFtcGxlUmVkc2hpZnRTZXJ2ZXJsZXNzTmFtZXNwYWNlUm9sZXNTdGFja1wiKSJdfQ==