@cdklabs/aws-data-solutions-framework
Version:
L3 CDK Constructs used to build data solutions with AWS
40 lines • 6.55 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.setTopic('topic1', msk_1.Authentication.IAM, {
topic: 'topic1',
numPartitions: 3,
replicationFactor: 1,
}, cdk.RemovalPolicy.DESTROY, false, 1500);
/// !hide
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtYXBpLXNldC10b3BpYy5saXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RyZWFtaW5nL2V4YW1wbGVzL2thZmthLWFwaS1zZXQtdG9waWMubGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQW1DO0FBQ25DLGlEQUF5RDtBQUN6RCxvQ0FBdUc7QUFDdkcsb0RBQWdEO0FBQ2hELHVEQUE4RDtBQUM5RCx1RUFBd0Q7QUFHeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBRXRELEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNEQUFzRCxFQUFFLElBQUksQ0FBQyxDQUFDO0FBSXBGLElBQUksb0JBQW9CLEdBQUcsaUNBQW9CLENBQUMsMkJBQTJCLENBQ3pFLEtBQUssRUFBRSxzQkFBc0IsRUFDN0Isc0VBQXNFLENBQ3ZFLENBQUM7QUFFRixJQUFJLE1BQU0sR0FBRywyQkFBTSxDQUFDLHFCQUFxQixDQUN2QyxLQUFLLEVBQUUsUUFBUSxFQUFFLHVFQUF1RSxDQUN6RixDQUFDO0FBRUYsSUFBSSxHQUFHLEdBQUcsYUFBRyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7SUFDNUMsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixZQUFZLEVBQUUsYUFBYTtJQUMzQixpQkFBaUIsRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7SUFDL0MsZUFBZSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7SUFDeEQsZ0JBQWdCLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztDQUN4RCxDQUFDLENBQUM7QUFHSCxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtJQUMvQyxHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxtRkFBbUY7SUFDL0YsV0FBVyxFQUFFLG9CQUFjLENBQUMsV0FBVztJQUN2QyxtQkFBbUIsRUFBRSx1QkFBYSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQztJQUN0RyxnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLG9CQUFvQixFQUFFLDBCQUFvQixDQUFDLE9BQU8sQ0FBQztRQUNqRCxHQUFHLEVBQUUsSUFBSTtRQUNULHNCQUFzQixFQUFFLENBQUMsb0JBQW9CLENBQUM7S0FDL0MsQ0FBRTtJQUNILG1CQUFtQixFQUFFLHlCQUFtQixDQUFDLEtBQUs7Q0FDL0MsQ0FBQyxDQUFDO0FBR0gsU0FBUztBQUNULFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUN4QixvQkFBYyxDQUFDLEdBQUcsRUFDbEI7SUFDRSxLQUFLLEVBQUUsUUFBUTtJQUNmLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGlCQUFpQixFQUFFLENBQUM7Q0FDckIsRUFDRCxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUN2QyxDQUFDO0FBQ0YsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwLCBWcGMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uLCBDbGllbnRBdXRoZW50aWNhdGlvbiwgS2Fma2FDbGllbnRMb2dMZXZlbCwgTXNrQ2x1c3RlclR5cGUgfSBmcm9tICcuLi9saWIvbXNrJztcbmltcG9ydCB7IEthZmthQXBpIH0gZnJvbSAnLi4vbGliL21zay9rYWZrYS1hcGknO1xuaW1wb3J0IHsgQ2VydGlmaWNhdGVBdXRob3JpdHkgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYWNtcGNhJztcbmltcG9ydCB7IFNlY3JldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlcic7XG5cblxuY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcblxuY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ01za1Byb3Zpc2lvbmVkRHNmJyk7XG5cbnN0YWNrLm5vZGUuc2V0Q29udGV4dCgnQGRhdGEtc29sdXRpb25zLWZyYW1ld29yay1vbi1hd3MvcmVtb3ZlRGF0YU9uRGVzdHJveScsIHRydWUpO1xuXG5cblxubGV0IGNlcnRpZmljYXRlQXV0aG9yaXR5ID0gQ2VydGlmaWNhdGVBdXRob3JpdHkuZnJvbUNlcnRpZmljYXRlQXV0aG9yaXR5QXJuKFxuICBzdGFjaywgJ2NlcnRpZmljYXRlQXV0aG9yaXR5JyxcbiAgJ2Fybjphd3M6YWNtLXBjYTpldS13ZXN0LTE6MTIzNDU2Nzg5MTI6Y2VydGlmaWNhdGUtYXV0aG9yaXR5L2R1bW15LWNhJ1xuKTtcblxubGV0IHNlY3JldCA9IFNlY3JldC5mcm9tU2VjcmV0Q29tcGxldGVBcm4oXG4gIHN0YWNrLCAnc2VjcmV0JywgJ2Fybjphd3M6c2VjcmV0c21hbmFnZXI6ZXUtd2VzdC0xOjEyMzQ1Njc4OTEyOnNlY3JldDpkc2YvbXNrQ2VydC1kdW1teSdcbik7XG5cbmxldCB2cGMgPSBWcGMuZnJvbVZwY0F0dHJpYnV0ZXMoc3RhY2ssICd2cGMnLCB7XG4gIHZwY0lkOiAndnBjLTExMTExMTExMTEnLFxuICB2cGNDaWRyQmxvY2s6ICcxMC4wLjAuMC8xNicsXG4gIGF2YWlsYWJpbGl0eVpvbmVzOiBbJ2V1LXdlc3QtMWEnLCAnZXUtd2VzdC0xYiddLFxuICBwdWJsaWNTdWJuZXRJZHM6IFsnc3VibmV0LTExMTExMTExMScsICdzdWJuZXQtMTExMTExMTEnXSxcbiAgcHJpdmF0ZVN1Ym5ldElkczogWydzdWJuZXQtMTExMTExMTEnLCAnc3VibmV0LTExMTExMTEnXSxcbn0pO1xuXG5cbmNvbnN0IGthZmthQXBpID0gbmV3IEthZmthQXBpKHN0YWNrLCAna2Fma2FBcGknLCB7XG4gIHZwYzogdnBjLFxuICBjbHVzdGVyQXJuOiAnYXJuOmF3czprYWZrYTpldS13ZXN0LTE6MTIzNDU2Nzg5MTI6Y2x1c3Rlci9ieW8tbXNrL2R1bW15LTVjZjMtNDJkNS1hZWNlLWR1bW1teS0yJyxcbiAgY2x1c3RlclR5cGU6IE1za0NsdXN0ZXJUeXBlLlBST1ZJU0lPTkVELFxuICBicm9rZXJTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwLmZyb21TZWN1cml0eUdyb3VwSWQoc3RhY2ssICdicm9rZXJTZWN1cml0eUdyb3VwJywgJ3NnLTk4MjM3NDEyaHNhJyksXG4gIGNlcnRmaWNhdGVTZWNyZXQ6IHNlY3JldCxcbiAgY2xpZW50QXV0aGVudGljYXRpb246IENsaWVudEF1dGhlbnRpY2F0aW9uLnNhc2xUbHMoe1xuICAgIGlhbTogdHJ1ZSxcbiAgICBjZXJ0aWZpY2F0ZUF1dGhvcml0aWVzOiBbY2VydGlmaWNhdGVBdXRob3JpdHldLFxuICB9LCksXG4gIGthZmthQ2xpZW50TG9nTGV2ZWw6IEthZmthQ2xpZW50TG9nTGV2ZWwuREVCVUcsXG59KTtcblxuXG4vLy8gIXNob3dcbmthZmthQXBpLnNldFRvcGljKCd0b3BpYzEnLFxuICBBdXRoZW50aWNhdGlvbi5JQU0sIFxuICB7XG4gICAgdG9waWM6ICd0b3BpYzEnLFxuICAgIG51bVBhcnRpdGlvbnM6IDMsXG4gICAgcmVwbGljYXRpb25GYWN0b3I6IDEsXG4gIH0sIFxuICBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLCBmYWxzZSwgMTUwMFxuKTtcbi8vLyAhaGlkZVxuIl19