UNPKG

@cdklabs/aws-data-solutions-framework

Version:
45 lines 7.36 kB
"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); /// !show 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, serviceToken: 'arn:aws:lambda::XXXXXX:function:XXXXXX-kafkaApiMskIamProviderCustomResour-XXXXXX', }); /// !hide kafkaApi.setAcl('acl', { resourceType: msk_1.AclResourceTypes.TOPIC, resourceName: 'topic-1', resourcePatternType: msk_1.ResourcePatternTypes.LITERAL, principal: 'User:Cn=MyUser', host: '*', operation: msk_1.AclOperationTypes.CREATE, permissionType: msk_1.AclPermissionTypes.ALLOW, }, cdk.RemovalPolicy.DESTROY); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtYXBpLWRlZmF1bHQubGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0cmVhbWluZy9leGFtcGxlcy9rYWZrYS1hcGktZGVmYXVsdC5saXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBbUM7QUFDbkMsaURBQXlEO0FBQ3pELG9DQUFzSztBQUN0SyxvREFBZ0Q7QUFDaEQsdURBQThEO0FBQzlELHVFQUF3RDtBQUd4RCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFdEQsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0RBQXNELEVBQUUsSUFBSSxDQUFDLENBQUM7QUFHcEYsU0FBUztBQUNULElBQUksb0JBQW9CLEdBQUcsaUNBQW9CLENBQUMsMkJBQTJCLENBQ3pFLEtBQUssRUFBRSxzQkFBc0IsRUFDN0Isc0VBQXNFLENBQ3ZFLENBQUM7QUFFRixJQUFJLE1BQU0sR0FBRywyQkFBTSxDQUFDLHFCQUFxQixDQUN2QyxLQUFLLEVBQUUsUUFBUSxFQUFFLHVFQUF1RSxDQUN6RixDQUFDO0FBRUYsSUFBSSxHQUFHLEdBQUcsYUFBRyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7SUFDNUMsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixZQUFZLEVBQUUsYUFBYTtJQUMzQixpQkFBaUIsRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7SUFDL0MsZUFBZSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7SUFDeEQsZ0JBQWdCLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztDQUN4RCxDQUFDLENBQUM7QUFHSCxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtJQUMvQyxHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxtRkFBbUY7SUFDL0YsV0FBVyxFQUFFLG9CQUFjLENBQUMsV0FBVztJQUN2QyxtQkFBbUIsRUFBRSx1QkFBYSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQztJQUN0RyxnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLG9CQUFvQixFQUFFLDBCQUFvQixDQUFDLE9BQU8sQ0FBQztRQUNqRCxHQUFHLEVBQUUsSUFBSTtRQUNULHNCQUFzQixFQUFFLENBQUMsb0JBQW9CLENBQUM7S0FDL0MsQ0FBRTtJQUNILG1CQUFtQixFQUFFLHlCQUFtQixDQUFDLEtBQUs7SUFDOUMsWUFBWSxFQUFFLGtGQUFrRjtDQUNqRyxDQUFDLENBQUM7QUFDSCxTQUFTO0FBRVQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7SUFDckIsWUFBWSxFQUFFLHNCQUFnQixDQUFDLEtBQUs7SUFDcEMsWUFBWSxFQUFFLFNBQVM7SUFDdkIsbUJBQW1CLEVBQUUsMEJBQW9CLENBQUMsT0FBTztJQUNqRCxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLElBQUksRUFBRSxHQUFHO0lBQ1QsU0FBUyxFQUFFLHVCQUFpQixDQUFDLE1BQU07SUFDbkMsY0FBYyxFQUFFLHdCQUFrQixDQUFDLEtBQUs7Q0FDekMsRUFDRCxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFNlY3VyaXR5R3JvdXAsIFZwYyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgQWNsT3BlcmF0aW9uVHlwZXMsIEFjbFBlcm1pc3Npb25UeXBlcywgQWNsUmVzb3VyY2VUeXBlcywgQ2xpZW50QXV0aGVudGljYXRpb24sIEthZmthQ2xpZW50TG9nTGV2ZWwsIE1za0NsdXN0ZXJUeXBlLCBSZXNvdXJjZVBhdHRlcm5UeXBlcyB9IGZyb20gJy4uL2xpYi9tc2snO1xuaW1wb3J0IHsgS2Fma2FBcGkgfSBmcm9tICcuLi9saWIvbXNrL2thZmthLWFwaSc7XG5pbXBvcnQgeyBDZXJ0aWZpY2F0ZUF1dGhvcml0eSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hY21wY2EnO1xuaW1wb3J0IHsgU2VjcmV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyJztcblxuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuXG5jb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnTXNrUHJvdmlzaW9uZWREc2YnKTtcblxuc3RhY2subm9kZS5zZXRDb250ZXh0KCdAZGF0YS1zb2x1dGlvbnMtZnJhbWV3b3JrLW9uLWF3cy9yZW1vdmVEYXRhT25EZXN0cm95JywgdHJ1ZSk7XG5cblxuLy8vICFzaG93XG5sZXQgY2VydGlmaWNhdGVBdXRob3JpdHkgPSBDZXJ0aWZpY2F0ZUF1dGhvcml0eS5mcm9tQ2VydGlmaWNhdGVBdXRob3JpdHlBcm4oXG4gIHN0YWNrLCAnY2VydGlmaWNhdGVBdXRob3JpdHknLFxuICAnYXJuOmF3czphY20tcGNhOmV1LXdlc3QtMToxMjM0NTY3ODkxMjpjZXJ0aWZpY2F0ZS1hdXRob3JpdHkvZHVtbXktY2EnXG4pO1xuXG5sZXQgc2VjcmV0ID0gU2VjcmV0LmZyb21TZWNyZXRDb21wbGV0ZUFybihcbiAgc3RhY2ssICdzZWNyZXQnLCAnYXJuOmF3czpzZWNyZXRzbWFuYWdlcjpldS13ZXN0LTE6MTIzNDU2Nzg5MTI6c2VjcmV0OmRzZi9tc2tDZXJ0LWR1bW15J1xuKTtcblxubGV0IHZwYyA9IFZwYy5mcm9tVnBjQXR0cmlidXRlcyhzdGFjaywgJ3ZwYycsIHtcbiAgdnBjSWQ6ICd2cGMtMTExMTExMTExMScsXG4gIHZwY0NpZHJCbG9jazogJzEwLjAuMC4wLzE2JyxcbiAgYXZhaWxhYmlsaXR5Wm9uZXM6IFsnZXUtd2VzdC0xYScsICdldS13ZXN0LTFiJ10sXG4gIHB1YmxpY1N1Ym5ldElkczogWydzdWJuZXQtMTExMTExMTExJywgJ3N1Ym5ldC0xMTExMTExMSddLFxuICBwcml2YXRlU3VibmV0SWRzOiBbJ3N1Ym5ldC0xMTExMTExMScsICdzdWJuZXQtMTExMTExMSddLFxufSk7XG5cblxuY29uc3Qga2Fma2FBcGkgPSBuZXcgS2Fma2FBcGkoc3RhY2ssICdrYWZrYUFwaScsIHtcbiAgdnBjOiB2cGMsXG4gIGNsdXN0ZXJBcm46ICdhcm46YXdzOmthZmthOmV1LXdlc3QtMToxMjM0NTY3ODkxMjpjbHVzdGVyL2J5by1tc2svZHVtbXktNWNmMy00MmQ1LWFlY2UtZHVtbW15LTInLFxuICBjbHVzdGVyVHlwZTogTXNrQ2x1c3RlclR5cGUuUFJPVklTSU9ORUQsXG4gIGJyb2tlclNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXAuZnJvbVNlY3VyaXR5R3JvdXBJZChzdGFjaywgJ2Jyb2tlclNlY3VyaXR5R3JvdXAnLCAnc2ctOTgyMzc0MTJoc2EnKSxcbiAgY2VydGZpY2F0ZVNlY3JldDogc2VjcmV0LFxuICBjbGllbnRBdXRoZW50aWNhdGlvbjogQ2xpZW50QXV0aGVudGljYXRpb24uc2FzbFRscyh7XG4gICAgaWFtOiB0cnVlLFxuICAgIGNlcnRpZmljYXRlQXV0aG9yaXRpZXM6IFtjZXJ0aWZpY2F0ZUF1dGhvcml0eV0sXG4gIH0sKSxcbiAga2Fma2FDbGllbnRMb2dMZXZlbDogS2Fma2FDbGllbnRMb2dMZXZlbC5ERUJVRyxcbiAgc2VydmljZVRva2VuOiAnYXJuOmF3czpsYW1iZGE6OlhYWFhYWDpmdW5jdGlvbjpYWFhYWFgta2Fma2FBcGlNc2tJYW1Qcm92aWRlckN1c3RvbVJlc291ci1YWFhYWFgnLFxufSk7XG4vLy8gIWhpZGVcblxua2Fma2FBcGkuc2V0QWNsKCdhY2wnLCB7XG4gIHJlc291cmNlVHlwZTogQWNsUmVzb3VyY2VUeXBlcy5UT1BJQyxcbiAgcmVzb3VyY2VOYW1lOiAndG9waWMtMScsXG4gIHJlc291cmNlUGF0dGVyblR5cGU6IFJlc291cmNlUGF0dGVyblR5cGVzLkxJVEVSQUwsXG4gIHByaW5jaXBhbDogJ1VzZXI6Q249TXlVc2VyJyxcbiAgaG9zdDogJyonLFxuICBvcGVyYXRpb246IEFjbE9wZXJhdGlvblR5cGVzLkNSRUFURSxcbiAgcGVybWlzc2lvblR5cGU6IEFjbFBlcm1pc3Npb25UeXBlcy5BTExPVyxcbn0sXG5jZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuIl19