UNPKG

@cdklabs/aws-data-solutions-framework

Version:
52 lines 6.97 kB
"use strict"; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); const cdk = require("aws-cdk-lib"); const dsf_provider_1 = require("../lib/dsf-provider"); const aws_iam_1 = require("aws-cdk-lib/aws-iam"); const path = require("path"); const aws_ec2_1 = require("aws-cdk-lib/aws-ec2"); class ExampleVpcDsfProviderStack extends cdk.Stack { constructor(scope, id) { super(scope, id); const myManagedPolicy = new aws_iam_1.ManagedPolicy(this, 'Policy', { document: new aws_iam_1.PolicyDocument({ statements: [ new aws_iam_1.PolicyStatement({ actions: [ 's3:*', ], effect: aws_iam_1.Effect.ALLOW, resources: ['*'], }), ], }), }); /// !show const vpc = aws_ec2_1.Vpc.fromLookup(this, 'Vpc', { vpcName: 'my-vpc' }); const subnets = vpc.selectSubnets({ subnetType: aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS }); const securityGroup = aws_ec2_1.SecurityGroup.fromSecurityGroupId(this, 'SecurityGroup', 'sg-123456'); const myProvider = new dsf_provider_1.DsfProvider(this, 'Provider', { providerName: 'my-provider', onEventHandlerDefinition: { managedPolicy: myManagedPolicy, handler: 'on-event.handler', depsLockFilePath: path.join(__dirname, './resources/lambda/my-cr/package-lock.json'), entryFile: path.join(__dirname, './resources/lambda/my-cr/on-event.mjs'), }, vpc, subnets, // the security group should be dedicated to the custom resource securityGroups: [securityGroup], }); /// !hide new cdk.CustomResource(this, 'CustomResource', { serviceToken: myProvider.serviceToken, resourceType: 'Custom::MyCustomResource', }); } } const app = new cdk.App(); new ExampleVpcDsfProviderStack(app, 'ExampleVpcDsfProviderStack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNmLXByb3ZpZGVyLXZwYy5saXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZXhhbXBsZXMvZHNmLXByb3ZpZGVyLXZwYy5saXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7O0FBRXRDLG1DQUFtQztBQUNuQyxzREFBa0Q7QUFDbEQsaURBQTZGO0FBQzdGLDZCQUE2QjtBQUM3QixpREFBcUU7QUFJckUsTUFBTSwwQkFBMkIsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZUFBZSxHQUFHLElBQUksdUJBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxJQUFJLHdCQUFjLENBQUM7Z0JBQzNCLFVBQVUsRUFBRTtvQkFDVixJQUFJLHlCQUFlLENBQUM7d0JBQ2xCLE9BQU8sRUFBRTs0QkFDUCxNQUFNO3lCQUNQO3dCQUNELE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7d0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztxQkFDakIsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxTQUFTO1FBRVQsTUFBTSxHQUFHLEdBQUcsYUFBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFDLFVBQVUsRUFBRSxvQkFBVSxDQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLGFBQWEsR0FBRyx1QkFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFNUYsTUFBTSxVQUFVLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbkQsWUFBWSxFQUFFLGFBQWE7WUFDM0Isd0JBQXdCLEVBQUU7Z0JBQ3hCLGFBQWEsRUFBRSxlQUFlO2dCQUM5QixPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSw0Q0FBNEMsQ0FBQztnQkFDcEYsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHVDQUF1QyxDQUFDO2FBQ3pFO1lBQ0QsR0FBRztZQUNILE9BQU87WUFDUCxnRUFBZ0U7WUFDaEUsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQ2hDLENBQUMsQ0FBQztRQUNILFNBQVM7UUFFVCxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzdDLFlBQVksRUFBRSxVQUFVLENBQUMsWUFBWTtZQUNyQyxZQUFZLEVBQUUsMEJBQTBCO1NBQ3pDLENBQUMsQ0FBQztJQUVMLENBQUM7Q0FDRjtBQUVELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzFCLElBQUksMEJBQTBCLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBEc2ZQcm92aWRlciB9IGZyb20gJy4uL2xpYi9kc2YtcHJvdmlkZXInO1xuaW1wb3J0IHsgTWFuYWdlZFBvbGljeSwgUG9saWN5RG9jdW1lbnQsIFBvbGljeVN0YXRlbWVudCwgRWZmZWN0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgU2VjdXJpdHlHcm91cCwgU3VibmV0VHlwZSwgVnBjIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuXG5jbGFzcyBFeGFtcGxlVnBjRHNmUHJvdmlkZXJTdGFjayBleHRlbmRzIGNkay5TdGFja3tcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgXG4gICAgY29uc3QgbXlNYW5hZ2VkUG9saWN5ID0gbmV3IE1hbmFnZWRQb2xpY3kodGhpcywgJ1BvbGljeScsIHtcbiAgICAgIGRvY3VtZW50OiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICdzMzoqJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9KTtcbiAgICAvLy8gIXNob3dcblxuICAgIGNvbnN0IHZwYyA9IFZwYy5mcm9tTG9va3VwKHRoaXMsICdWcGMnLCB7IHZwY05hbWU6ICdteS12cGMnfSk7XG4gICAgY29uc3Qgc3VibmV0cyA9IHZwYy5zZWxlY3RTdWJuZXRzKHtzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1N9KTtcbiAgICBjb25zdCBzZWN1cml0eUdyb3VwID0gU2VjdXJpdHlHcm91cC5mcm9tU2VjdXJpdHlHcm91cElkKHRoaXMsICdTZWN1cml0eUdyb3VwJywgJ3NnLTEyMzQ1NicpO1xuXG4gICAgY29uc3QgbXlQcm92aWRlciA9IG5ldyBEc2ZQcm92aWRlcih0aGlzLCAnUHJvdmlkZXInLCB7XG4gICAgICBwcm92aWRlck5hbWU6ICdteS1wcm92aWRlcicsXG4gICAgICBvbkV2ZW50SGFuZGxlckRlZmluaXRpb246IHtcbiAgICAgICAgbWFuYWdlZFBvbGljeTogbXlNYW5hZ2VkUG9saWN5LFxuICAgICAgICBoYW5kbGVyOiAnb24tZXZlbnQuaGFuZGxlcicsXG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3Jlc291cmNlcy9sYW1iZGEvbXktY3IvcGFja2FnZS1sb2NrLmpzb24nKSxcbiAgICAgICAgZW50cnlGaWxlOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9yZXNvdXJjZXMvbGFtYmRhL215LWNyL29uLWV2ZW50Lm1qcycpLFxuICAgICAgfSxcbiAgICAgIHZwYyxcbiAgICAgIHN1Ym5ldHMsXG4gICAgICAvLyB0aGUgc2VjdXJpdHkgZ3JvdXAgc2hvdWxkIGJlIGRlZGljYXRlZCB0byB0aGUgY3VzdG9tIHJlc291cmNlXG4gICAgICBzZWN1cml0eUdyb3VwczogW3NlY3VyaXR5R3JvdXBdLFxuICAgIH0pO1xuICAgIC8vLyAhaGlkZVxuXG4gICAgbmV3IGNkay5DdXN0b21SZXNvdXJjZSh0aGlzLCAnQ3VzdG9tUmVzb3VyY2UnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IG15UHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpNeUN1c3RvbVJlc291cmNlJyxcbiAgICB9KTtcblxuICB9XG59XG5cbmNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG5uZXcgRXhhbXBsZVZwY0RzZlByb3ZpZGVyU3RhY2soYXBwLCAnRXhhbXBsZVZwY0RzZlByb3ZpZGVyU3RhY2snKTsiXX0=