@cdklabs/aws-data-solutions-framework
Version:
L3 CDK Constructs used to build data solutions with AWS
27 lines • 3.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cdk = require("aws-cdk-lib");
const msk_1 = require("../lib/msk");
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
const app = new cdk.App();
const stack = new cdk.Stack(app, 'MskProvisionedDsf');
stack.node.setContext('@data-solutions-framework-on-aws/removeDataOnDestroy', true);
/// !show
const msk = new msk_1.MskProvisioned(stack, 'cluster');
const cluterPolicy = new aws_iam_1.PolicyDocument({
statements: [
new aws_iam_1.PolicyStatement({
actions: [
'kafka:CreateVpcConnection',
'kafka:GetBootstrapBrokers',
'kafka:DescribeClusterV2',
],
resources: [msk.cluster.attrArn],
effect: aws_iam_1.Effect.ALLOW,
principals: [new aws_iam_1.ServicePrincipal('firehose.amazonaws.com')],
}),
],
});
msk.addClusterPolicy(cluterPolicy, 'cluterPolicy');
/// !hide
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNrLXByb3Zpc2lvbmVkLWNsdXN0ZXItcG9saWN5LmxpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdHJlYW1pbmcvZXhhbXBsZXMvbXNrLXByb3Zpc2lvbmVkLWNsdXN0ZXItcG9saWN5LmxpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFtQztBQUNuQyxvQ0FBNEM7QUFDNUMsaURBQWdHO0FBR2hHLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRTFCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUV0RCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzREFBc0QsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVwRixTQUFTO0FBQ1QsTUFBTSxHQUFHLEdBQUcsSUFBSSxvQkFBYyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVqRCxNQUFNLFlBQVksR0FBRyxJQUFJLHdCQUFjLENBQ3JDO0lBQ0UsVUFBVSxFQUFFO1FBQ1YsSUFBSSx5QkFBZSxDQUFDO1lBQ2xCLE9BQU8sRUFBRTtnQkFDUCwyQkFBMkI7Z0JBQzNCLDJCQUEyQjtnQkFDM0IseUJBQXlCO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDaEMsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztZQUNwQixVQUFVLEVBQUUsQ0FBQyxJQUFJLDBCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0QsQ0FBQztLQUNIO0NBQ0YsQ0FDRixDQUFDO0FBRUYsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztBQUNuRCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE1za1Byb3Zpc2lvbmVkIH0gZnJvbSAnLi4vbGliL21zayc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeURvY3VtZW50LCBQb2xpY3lTdGF0ZW1lbnQsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcblxuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuXG5jb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnTXNrUHJvdmlzaW9uZWREc2YnKTtcblxuc3RhY2subm9kZS5zZXRDb250ZXh0KCdAZGF0YS1zb2x1dGlvbnMtZnJhbWV3b3JrLW9uLWF3cy9yZW1vdmVEYXRhT25EZXN0cm95JywgdHJ1ZSk7XG5cbi8vLyAhc2hvd1xuY29uc3QgbXNrID0gbmV3IE1za1Byb3Zpc2lvbmVkKHN0YWNrLCAnY2x1c3RlcicpO1xuXG5jb25zdCBjbHV0ZXJQb2xpY3kgPSBuZXcgUG9saWN5RG9jdW1lbnQoXG4gIHtcbiAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdrYWZrYTpDcmVhdGVWcGNDb25uZWN0aW9uJyxcbiAgICAgICAgICAna2Fma2E6R2V0Qm9vdHN0cmFwQnJva2VycycsXG4gICAgICAgICAgJ2thZmthOkRlc2NyaWJlQ2x1c3RlclYyJyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbbXNrLmNsdXN0ZXIuYXR0ckFybl0sXG4gICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2ZpcmVob3NlLmFtYXpvbmF3cy5jb20nKV0sXG4gICAgICB9KSxcbiAgICBdLFxuICB9LFxuKTtcblxubXNrLmFkZENsdXN0ZXJQb2xpY3koY2x1dGVyUG9saWN5LCAnY2x1dGVyUG9saWN5Jyk7XG4vLy8gIWhpZGVcbiJdfQ==