@cdklabs/aws-data-solutions-framework
Version:
L3 CDK Constructs used to build data solutions with AWS
27 lines • 3.39 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.MskServerless(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNrLXNlcnZlcmxlc3MtY2x1c3Rlci1wb2xpY3kubGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0cmVhbWluZy9leGFtcGxlcy9tc2stc2VydmVybGVzcy1jbHVzdGVyLXBvbGljeS5saXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBbUM7QUFDbkMsb0NBQTJDO0FBQzNDLGlEQUFnRztBQUdoRyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFdEQsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0RBQXNELEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFcEYsU0FBUztBQUNULE1BQU0sR0FBRyxHQUFHLElBQUksbUJBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEQsTUFBTSxZQUFZLEdBQUcsSUFBSSx3QkFBYyxDQUNyQztJQUNFLFVBQVUsRUFBRTtRQUNWLElBQUkseUJBQWUsQ0FBQztZQUNsQixPQUFPLEVBQUU7Z0JBQ1AsMkJBQTJCO2dCQUMzQiwyQkFBMkI7Z0JBQzNCLHlCQUF5QjthQUMxQjtZQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsVUFBVSxFQUFFLENBQUMsSUFBSSwwQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdELENBQUM7S0FDSDtDQUNGLENBQ0YsQ0FBQztBQUVGLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDbkQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBNc2tTZXJ2ZXJsZXNzIH0gZnJvbSAnLi4vbGliL21zayc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeURvY3VtZW50LCBQb2xpY3lTdGF0ZW1lbnQsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcblxuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuXG5jb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnTXNrUHJvdmlzaW9uZWREc2YnKTtcblxuc3RhY2subm9kZS5zZXRDb250ZXh0KCdAZGF0YS1zb2x1dGlvbnMtZnJhbWV3b3JrLW9uLWF3cy9yZW1vdmVEYXRhT25EZXN0cm95JywgdHJ1ZSk7XG5cbi8vLyAhc2hvd1xuY29uc3QgbXNrID0gbmV3IE1za1NlcnZlcmxlc3Moc3RhY2ssICdjbHVzdGVyJyk7XG5cbmNvbnN0IGNsdXRlclBvbGljeSA9IG5ldyBQb2xpY3lEb2N1bWVudChcbiAge1xuICAgIHN0YXRlbWVudHM6IFtcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ2thZmthOkNyZWF0ZVZwY0Nvbm5lY3Rpb24nLFxuICAgICAgICAgICdrYWZrYTpHZXRCb290c3RyYXBCcm9rZXJzJyxcbiAgICAgICAgICAna2Fma2E6RGVzY3JpYmVDbHVzdGVyVjInLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFttc2suY2x1c3Rlci5hdHRyQXJuXSxcbiAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIHByaW5jaXBhbHM6IFtuZXcgU2VydmljZVByaW5jaXBhbCgnZmlyZWhvc2UuYW1hem9uYXdzLmNvbScpXSxcbiAgICAgIH0pLFxuICAgIF0sXG4gIH0sXG4pO1xuXG5tc2suYWRkQ2x1c3RlclBvbGljeShjbHV0ZXJQb2xpY3ksICdjbHV0ZXJQb2xpY3knKTtcbi8vLyAhaGlkZVxuIl19