UNPKG

@cdklabs/aws-data-solutions-framework

Version:
47 lines 5.68 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 aws_iam_1 = require("aws-cdk-lib/aws-iam"); const path = require("path"); const dsf_provider_1 = require("../lib/dsf-provider"); class ExampleEnvDsfProviderStack 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 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'), environment: { MY_ENV_VARIABLE: 'my-env-variable-value', } }, }); /// !hide new cdk.CustomResource(this, 'CustomResource', { serviceToken: myProvider.serviceToken, resourceType: 'Custom::MyCustomResource', }); } } const app = new cdk.App(); new ExampleEnvDsfProviderStack(app, 'ExampleEnvDsfProviderStack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNmLXByb3ZpZGVyLWVudi5saXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZXhhbXBsZXMvZHNmLXByb3ZpZGVyLWVudi5saXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7O0FBRXRDLG1DQUFtQztBQUNuQyxpREFBNkY7QUFDN0YsNkJBQTZCO0FBQzdCLHNEQUFrRDtBQUdsRCxNQUFNLDBCQUEyQixTQUFRLEdBQUcsQ0FBQyxLQUFLO0lBQ2hELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxlQUFlLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDeEQsUUFBUSxFQUFFLElBQUksd0JBQWMsQ0FBQztnQkFDM0IsVUFBVSxFQUFFO29CQUNWLElBQUkseUJBQWUsQ0FBQzt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLE1BQU07eUJBQ1A7d0JBQ0QsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSzt3QkFDcEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO3FCQUNqQixDQUFDO2lCQUNIO2FBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILFNBQVM7UUFDVCxNQUFNLFVBQVUsR0FBRyxJQUFJLDBCQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuRCxZQUFZLEVBQUUsYUFBYTtZQUMzQix3QkFBd0IsRUFBRTtnQkFDeEIsYUFBYSxFQUFFLGVBQWU7Z0JBQzlCLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDRDQUE0QyxDQUFDO2dCQUNwRixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsdUNBQXVDLENBQUM7Z0JBQ3hFLFdBQVcsRUFBRTtvQkFDWCxlQUFlLEVBQUUsdUJBQXVCO2lCQUN6QzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUztRQUNULElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDN0MsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO1lBQ3JDLFlBQVksRUFBRSwwQkFBMEI7U0FDekMsQ0FBQyxDQUFDO0lBR0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDMUIsSUFBSSwwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE1hbmFnZWRQb2xpY3ksIFBvbGljeURvY3VtZW50LCBQb2xpY3lTdGF0ZW1lbnQsIEVmZmVjdCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IERzZlByb3ZpZGVyIH0gZnJvbSAnLi4vbGliL2RzZi1wcm92aWRlcic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuY2xhc3MgRXhhbXBsZUVudkRzZlByb3ZpZGVyU3RhY2sgZXh0ZW5kcyBjZGsuU3RhY2t7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIFxuICAgIGNvbnN0IG15TWFuYWdlZFBvbGljeSA9IG5ldyBNYW5hZ2VkUG9saWN5KHRoaXMsICdQb2xpY3knLCB7XG4gICAgICBkb2N1bWVudDogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAnczM6KicsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfSk7XG4gICAgLy8vICFzaG93XG4gICAgY29uc3QgbXlQcm92aWRlciA9IG5ldyBEc2ZQcm92aWRlcih0aGlzLCAnUHJvdmlkZXInLCB7XG4gICAgICBwcm92aWRlck5hbWU6ICdteS1wcm92aWRlcicsXG4gICAgICBvbkV2ZW50SGFuZGxlckRlZmluaXRpb246IHtcbiAgICAgICAgbWFuYWdlZFBvbGljeTogbXlNYW5hZ2VkUG9saWN5LFxuICAgICAgICBoYW5kbGVyOiAnb24tZXZlbnQuaGFuZGxlcicsXG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3Jlc291cmNlcy9sYW1iZGEvbXktY3IvcGFja2FnZS1sb2NrLmpzb24nKSxcbiAgICAgICAgZW50cnlGaWxlOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9yZXNvdXJjZXMvbGFtYmRhL215LWNyL29uLWV2ZW50Lm1qcycpLFxuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIE1ZX0VOVl9WQVJJQUJMRTogJ215LWVudi12YXJpYWJsZS12YWx1ZScsXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gICAgLy8vICFoaWRlXG4gICAgbmV3IGNkay5DdXN0b21SZXNvdXJjZSh0aGlzLCAnQ3VzdG9tUmVzb3VyY2UnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IG15UHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpNeUN1c3RvbVJlc291cmNlJyxcbiAgICB9KTtcblxuXG4gIH1cbn1cblxuY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbm5ldyBFeGFtcGxlRW52RHNmUHJvdmlkZXJTdGFjayhhcHAsICdFeGFtcGxlRW52RHNmUHJvdmlkZXJTdGFjaycpO1xuXG5cbiJdfQ==