UNPKG

@cdklabs/aws-data-solutions-framework

Version:
56 lines 6.58 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"); class ExampleBundlingDsfProviderStack 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'), bundling: { nodeModules: [ '@aws-sdk/client-s3', ], commandHooks: { afterBundling: () => [], beforeBundling: () => [ 'npx esbuild --version' ], beforeInstall: () => [] } }, }, }); /// !hide new cdk.CustomResource(this, 'CustomResource', { serviceToken: myProvider.serviceToken, resourceType: 'Custom::MyCustomResource', }); } } const app = new cdk.App(); new ExampleBundlingDsfProviderStack(app, 'ExampleBundlingDsfProviderStack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNmLXByb3ZpZGVyLWJ1bmRsaW5nLmxpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9leGFtcGxlcy9kc2YtcHJvdmlkZXItYnVuZGxpbmcubGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDOztBQUV0QyxtQ0FBbUM7QUFDbkMsc0RBQWtEO0FBQ2xELGlEQUE2RjtBQUM3Riw2QkFBNkI7QUFJN0IsTUFBTSwrQkFBZ0MsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNyRCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZUFBZSxHQUFHLElBQUksdUJBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxJQUFJLHdCQUFjLENBQUM7Z0JBQzNCLFVBQVUsRUFBRTtvQkFDVixJQUFJLHlCQUFlLENBQUM7d0JBQ2xCLE9BQU8sRUFBRTs0QkFDUCxNQUFNO3lCQUNQO3dCQUNELE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7d0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztxQkFDakIsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxTQUFTO1FBQ1QsTUFBTSxVQUFVLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbkQsWUFBWSxFQUFFLGFBQWE7WUFDM0Isd0JBQXdCLEVBQUU7Z0JBQ3hCLGFBQWEsRUFBRSxlQUFlO2dCQUM5QixPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSw0Q0FBNEMsQ0FBQztnQkFDcEYsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHVDQUF1QyxDQUFDO2dCQUN4RSxRQUFRLEVBQUU7b0JBQ1IsV0FBVyxFQUFFO3dCQUNYLG9CQUFvQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO3dCQUN2QixjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUM7NEJBQ3BCLHVCQUF1Qjt5QkFDeEI7d0JBQ0QsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQ3BCO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxTQUFTO1FBQ1QsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUM3QyxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7WUFDckMsWUFBWSxFQUFFLDBCQUEwQjtTQUN6QyxDQUFDLENBQUM7SUFFTCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUMxQixJQUFJLCtCQUErQixDQUFDLEdBQUcsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgRHNmUHJvdmlkZXIgfSBmcm9tICcuLi9saWIvZHNmLXByb3ZpZGVyJztcbmltcG9ydCB7IE1hbmFnZWRQb2xpY3ksIFBvbGljeURvY3VtZW50LCBQb2xpY3lTdGF0ZW1lbnQsIEVmZmVjdCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbmNsYXNzIEV4YW1wbGVCdW5kbGluZ0RzZlByb3ZpZGVyU3RhY2sgZXh0ZW5kcyBjZGsuU3RhY2t7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIFxuICAgIGNvbnN0IG15TWFuYWdlZFBvbGljeSA9IG5ldyBNYW5hZ2VkUG9saWN5KHRoaXMsICdQb2xpY3knLCB7XG4gICAgICBkb2N1bWVudDogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAnczM6KicsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfSk7XG4gICAgLy8vICFzaG93XG4gICAgY29uc3QgbXlQcm92aWRlciA9IG5ldyBEc2ZQcm92aWRlcih0aGlzLCAnUHJvdmlkZXInLCB7XG4gICAgICBwcm92aWRlck5hbWU6ICdteS1wcm92aWRlcicsXG4gICAgICBvbkV2ZW50SGFuZGxlckRlZmluaXRpb246IHtcbiAgICAgICAgbWFuYWdlZFBvbGljeTogbXlNYW5hZ2VkUG9saWN5LFxuICAgICAgICBoYW5kbGVyOiAnb24tZXZlbnQuaGFuZGxlcicsXG4gICAgICAgIGRlcHNMb2NrRmlsZVBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3Jlc291cmNlcy9sYW1iZGEvbXktY3IvcGFja2FnZS1sb2NrLmpzb24nKSxcbiAgICAgICAgZW50cnlGaWxlOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9yZXNvdXJjZXMvbGFtYmRhL215LWNyL29uLWV2ZW50Lm1qcycpLFxuICAgICAgICBidW5kbGluZzoge1xuICAgICAgICAgIG5vZGVNb2R1bGVzOiBbXG4gICAgICAgICAgICAnQGF3cy1zZGsvY2xpZW50LXMzJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNvbW1hbmRIb29rczoge1xuICAgICAgICAgICAgYWZ0ZXJCdW5kbGluZzogKCkgPT4gW10sXG4gICAgICAgICAgICBiZWZvcmVCdW5kbGluZzogKCkgPT4gW1xuICAgICAgICAgICAgICAnbnB4IGVzYnVpbGQgLS12ZXJzaW9uJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJlZm9yZUluc3RhbGw6ICgpID0+IFtcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIC8vLyAhaGlkZVxuICAgIG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0N1c3RvbVJlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiBteVByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6TXlDdXN0b21SZXNvdXJjZScsXG4gICAgfSk7XG5cbiAgfVxufVxuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xubmV3IEV4YW1wbGVCdW5kbGluZ0RzZlByb3ZpZGVyU3RhY2soYXBwLCAnRXhhbXBsZUJ1bmRsaW5nRHNmUHJvdmlkZXJTdGFjaycpOyJdfQ==