@cdklabs/aws-data-solutions-framework
Version:
L3 CDK Constructs used to build data solutions with AWS
36 lines • 6.18 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const cdk = require("aws-cdk-lib");
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
const msk_1 = require("../lib/msk");
const kafka_api_1 = require("../lib/msk/kafka-api");
const aws_acmpca_1 = require("aws-cdk-lib/aws-acmpca");
const aws_secretsmanager_1 = require("aws-cdk-lib/aws-secretsmanager");
const app = new cdk.App();
const stack = new cdk.Stack(app, 'MskProvisionedDsf');
stack.node.setContext('@data-solutions-framework-on-aws/removeDataOnDestroy', true);
let certificateAuthority = aws_acmpca_1.CertificateAuthority.fromCertificateAuthorityArn(stack, 'certificateAuthority', 'arn:aws:acm-pca:eu-west-1:12345678912:certificate-authority/dummy-ca');
let secret = aws_secretsmanager_1.Secret.fromSecretCompleteArn(stack, 'secret', 'arn:aws:secretsmanager:eu-west-1:12345678912:secret:dsf/mskCert-dummy');
let vpc = aws_ec2_1.Vpc.fromVpcAttributes(stack, 'vpc', {
vpcId: 'vpc-1111111111',
vpcCidrBlock: '10.0.0.0/16',
availabilityZones: ['eu-west-1a', 'eu-west-1b'],
publicSubnetIds: ['subnet-111111111', 'subnet-11111111'],
privateSubnetIds: ['subnet-11111111', 'subnet-1111111'],
});
const kafkaApi = new kafka_api_1.KafkaApi(stack, 'kafkaApi', {
vpc: vpc,
clusterArn: 'arn:aws:kafka:eu-west-1:12345678912:cluster/byo-msk/dummy-5cf3-42d5-aece-dummmy-2',
clusterType: msk_1.MskClusterType.PROVISIONED,
brokerSecurityGroup: aws_ec2_1.SecurityGroup.fromSecurityGroupId(stack, 'brokerSecurityGroup', 'sg-98237412hsa'),
certficateSecret: secret,
clientAuthentication: msk_1.ClientAuthentication.saslTls({
iam: true,
certificateAuthorities: [certificateAuthority],
}),
kafkaClientLogLevel: msk_1.KafkaClientLogLevel.DEBUG,
});
/// !show
kafkaApi.grantConsume('consume', 'foo', msk_1.Authentication.MTLS, 'User:Cn=bar');
/// !hide
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtYXBpLWdyYW50LWNvbnN1bWUubGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0cmVhbWluZy9leGFtcGxlcy9rYWZrYS1hcGktZ3JhbnQtY29uc3VtZS5saXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBbUM7QUFDbkMsaURBQXlEO0FBQ3pELG9DQUF1RztBQUN2RyxvREFBZ0Q7QUFDaEQsdURBQThEO0FBQzlELHVFQUF3RDtBQUd4RCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFdEQsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0RBQXNELEVBQUUsSUFBSSxDQUFDLENBQUM7QUFHcEYsSUFBSSxvQkFBb0IsR0FBRyxpQ0FBb0IsQ0FBQywyQkFBMkIsQ0FDekUsS0FBSyxFQUFFLHNCQUFzQixFQUM3QixzRUFBc0UsQ0FDdkUsQ0FBQztBQUVGLElBQUksTUFBTSxHQUFHLDJCQUFNLENBQUMscUJBQXFCLENBQ3ZDLEtBQUssRUFBRSxRQUFRLEVBQUUsdUVBQXVFLENBQ3pGLENBQUM7QUFFRixJQUFJLEdBQUcsR0FBRyxhQUFHLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRTtJQUM1QyxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGlCQUFpQixFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMvQyxlQUFlLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQztJQUN4RCxnQkFBZ0IsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDO0NBQ3hELENBQUMsQ0FBQztBQUdILE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO0lBQy9DLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLG1GQUFtRjtJQUMvRixXQUFXLEVBQUUsb0JBQWMsQ0FBQyxXQUFXO0lBQ3ZDLG1CQUFtQixFQUFFLHVCQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDO0lBQ3RHLGdCQUFnQixFQUFFLE1BQU07SUFDeEIsb0JBQW9CLEVBQUUsMEJBQW9CLENBQUMsT0FBTyxDQUFDO1FBQ2pELEdBQUcsRUFBRSxJQUFJO1FBQ1Qsc0JBQXNCLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztLQUMvQyxDQUFFO0lBQ0gsbUJBQW1CLEVBQUUseUJBQW1CLENBQUMsS0FBSztDQUMvQyxDQUFDLENBQUM7QUFFSCxTQUFTO0FBQ1QsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLG9CQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzVFLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgU2VjdXJpdHlHcm91cCwgVnBjIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbiwgQ2xpZW50QXV0aGVudGljYXRpb24sIEthZmthQ2xpZW50TG9nTGV2ZWwsIE1za0NsdXN0ZXJUeXBlIH0gZnJvbSAnLi4vbGliL21zayc7XG5pbXBvcnQgeyBLYWZrYUFwaSB9IGZyb20gJy4uL2xpYi9tc2sva2Fma2EtYXBpJztcbmltcG9ydCB7IENlcnRpZmljYXRlQXV0aG9yaXR5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWFjbXBjYSc7XG5pbXBvcnQgeyBTZWNyZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuXG5cbmNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG5cbmNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdNc2tQcm92aXNpb25lZERzZicpO1xuXG5zdGFjay5ub2RlLnNldENvbnRleHQoJ0BkYXRhLXNvbHV0aW9ucy1mcmFtZXdvcmstb24tYXdzL3JlbW92ZURhdGFPbkRlc3Ryb3knLCB0cnVlKTtcblxuXG5sZXQgY2VydGlmaWNhdGVBdXRob3JpdHkgPSBDZXJ0aWZpY2F0ZUF1dGhvcml0eS5mcm9tQ2VydGlmaWNhdGVBdXRob3JpdHlBcm4oXG4gIHN0YWNrLCAnY2VydGlmaWNhdGVBdXRob3JpdHknLFxuICAnYXJuOmF3czphY20tcGNhOmV1LXdlc3QtMToxMjM0NTY3ODkxMjpjZXJ0aWZpY2F0ZS1hdXRob3JpdHkvZHVtbXktY2EnXG4pO1xuXG5sZXQgc2VjcmV0ID0gU2VjcmV0LmZyb21TZWNyZXRDb21wbGV0ZUFybihcbiAgc3RhY2ssICdzZWNyZXQnLCAnYXJuOmF3czpzZWNyZXRzbWFuYWdlcjpldS13ZXN0LTE6MTIzNDU2Nzg5MTI6c2VjcmV0OmRzZi9tc2tDZXJ0LWR1bW15J1xuKTtcblxubGV0IHZwYyA9IFZwYy5mcm9tVnBjQXR0cmlidXRlcyhzdGFjaywgJ3ZwYycsIHtcbiAgdnBjSWQ6ICd2cGMtMTExMTExMTExMScsXG4gIHZwY0NpZHJCbG9jazogJzEwLjAuMC4wLzE2JyxcbiAgYXZhaWxhYmlsaXR5Wm9uZXM6IFsnZXUtd2VzdC0xYScsICdldS13ZXN0LTFiJ10sXG4gIHB1YmxpY1N1Ym5ldElkczogWydzdWJuZXQtMTExMTExMTExJywgJ3N1Ym5ldC0xMTExMTExMSddLFxuICBwcml2YXRlU3VibmV0SWRzOiBbJ3N1Ym5ldC0xMTExMTExMScsICdzdWJuZXQtMTExMTExMSddLFxufSk7XG5cblxuY29uc3Qga2Fma2FBcGkgPSBuZXcgS2Fma2FBcGkoc3RhY2ssICdrYWZrYUFwaScsIHtcbiAgdnBjOiB2cGMsXG4gIGNsdXN0ZXJBcm46ICdhcm46YXdzOmthZmthOmV1LXdlc3QtMToxMjM0NTY3ODkxMjpjbHVzdGVyL2J5by1tc2svZHVtbXktNWNmMy00MmQ1LWFlY2UtZHVtbW15LTInLFxuICBjbHVzdGVyVHlwZTogTXNrQ2x1c3RlclR5cGUuUFJPVklTSU9ORUQsXG4gIGJyb2tlclNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXAuZnJvbVNlY3VyaXR5R3JvdXBJZChzdGFjaywgJ2Jyb2tlclNlY3VyaXR5R3JvdXAnLCAnc2ctOTgyMzc0MTJoc2EnKSxcbiAgY2VydGZpY2F0ZVNlY3JldDogc2VjcmV0LFxuICBjbGllbnRBdXRoZW50aWNhdGlvbjogQ2xpZW50QXV0aGVudGljYXRpb24uc2FzbFRscyh7XG4gICAgaWFtOiB0cnVlLFxuICAgIGNlcnRpZmljYXRlQXV0aG9yaXRpZXM6IFtjZXJ0aWZpY2F0ZUF1dGhvcml0eV0sXG4gIH0sKSxcbiAga2Fma2FDbGllbnRMb2dMZXZlbDogS2Fma2FDbGllbnRMb2dMZXZlbC5ERUJVRyxcbn0pO1xuXG4vLy8gIXNob3dcbmthZmthQXBpLmdyYW50Q29uc3VtZSgnY29uc3VtZScsICdmb28nLCBBdXRoZW50aWNhdGlvbi5NVExTLCAnVXNlcjpDbj1iYXInKTtcbi8vLyAhaGlkZVxuIl19