UNPKG

@cdklabs/aws-data-solutions-framework

Version:
46 lines 6.03 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 ExampleRemovalPolicyDsfProviderStack extends cdk.Stack { constructor(scope, id) { super(scope, id); const myOnEventManagedPolicy = new aws_iam_1.ManagedPolicy(this, 'Policy1', { document: new aws_iam_1.PolicyDocument({ statements: [ new aws_iam_1.PolicyStatement({ actions: [ 's3:*', ], effect: aws_iam_1.Effect.ALLOW, resources: ['*'], }), ], }), }); /// !show this.node.setContext('@data-solutions-framework-on-aws/removeDataOnDestroy', true); const myProvider = new dsf_provider_1.DsfProvider(this, 'Provider', { providerName: 'my-provider', onEventHandlerDefinition: { managedPolicy: myOnEventManagedPolicy, 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'), }, removalPolicy: cdk.RemovalPolicy.DESTROY, }); /// !hide new cdk.CustomResource(this, 'CustomResource', { serviceToken: myProvider.serviceToken, resourceType: 'Custom::MyCustomResource', }); } } const app = new cdk.App(); new ExampleRemovalPolicyDsfProviderStack(app, 'ExampleRemovalPolicyDsfProviderStack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNmLXByb3ZpZGVyLXJlbW92YWwtcG9saWN5LmxpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9leGFtcGxlcy9kc2YtcHJvdmlkZXItcmVtb3ZhbC1wb2xpY3kubGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDOztBQUV0QyxtQ0FBbUM7QUFDbkMsc0RBQWtEO0FBQ2xELGlEQUE2RjtBQUM3Riw2QkFBNkI7QUFJN0IsTUFBTSxvQ0FBcUMsU0FBUSxHQUFHLENBQUMsS0FBSztJQUMxRCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDaEUsUUFBUSxFQUFFLElBQUksd0JBQWMsQ0FBQztnQkFDM0IsVUFBVSxFQUFFO29CQUNWLElBQUkseUJBQWUsQ0FBQzt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLE1BQU07eUJBQ1A7d0JBQ0QsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSzt3QkFDcEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO3FCQUNqQixDQUFDO2lCQUNIO2FBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILFNBQVM7UUFFVCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzREFBc0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVuRixNQUFNLFVBQVUsR0FBRyxJQUFJLDBCQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuRCxZQUFZLEVBQUUsYUFBYTtZQUMzQix3QkFBd0IsRUFBRTtnQkFDeEIsYUFBYSxFQUFFLHNCQUFzQjtnQkFDckMsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsNENBQTRDLENBQUM7Z0JBQ3BGLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx1Q0FBdUMsQ0FBQzthQUN6RTtZQUNELGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU87U0FDekMsQ0FBQyxDQUFDO1FBQ0gsU0FBUztRQUNULElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDN0MsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO1lBQ3JDLFlBQVksRUFBRSwwQkFBMEI7U0FDekMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztDQUNGO0FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDMUIsSUFBSSxvQ0FBb0MsQ0FBQyxHQUFHLEVBQUUsc0NBQXNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IERzZlByb3ZpZGVyIH0gZnJvbSAnLi4vbGliL2RzZi1wcm92aWRlcic7XG5pbXBvcnQgeyBNYW5hZ2VkUG9saWN5LCBQb2xpY3lEb2N1bWVudCwgUG9saWN5U3RhdGVtZW50LCBFZmZlY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuXG5jbGFzcyBFeGFtcGxlUmVtb3ZhbFBvbGljeURzZlByb3ZpZGVyU3RhY2sgZXh0ZW5kcyBjZGsuU3RhY2t7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIFxuICAgIGNvbnN0IG15T25FdmVudE1hbmFnZWRQb2xpY3kgPSBuZXcgTWFuYWdlZFBvbGljeSh0aGlzLCAnUG9saWN5MScsIHtcbiAgICAgIGRvY3VtZW50OiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICdzMzoqJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9KTtcbiAgICBcbiAgICAvLy8gIXNob3dcbiAgICBcbiAgICB0aGlzLm5vZGUuc2V0Q29udGV4dCgnQGRhdGEtc29sdXRpb25zLWZyYW1ld29yay1vbi1hd3MvcmVtb3ZlRGF0YU9uRGVzdHJveScsIHRydWUpO1xuICAgIFxuICAgIGNvbnN0IG15UHJvdmlkZXIgPSBuZXcgRHNmUHJvdmlkZXIodGhpcywgJ1Byb3ZpZGVyJywge1xuICAgICAgcHJvdmlkZXJOYW1lOiAnbXktcHJvdmlkZXInLFxuICAgICAgb25FdmVudEhhbmRsZXJEZWZpbml0aW9uOiB7XG4gICAgICAgIG1hbmFnZWRQb2xpY3k6IG15T25FdmVudE1hbmFnZWRQb2xpY3ksXG4gICAgICAgIGhhbmRsZXI6ICdvbi1ldmVudC5oYW5kbGVyJyxcbiAgICAgICAgZGVwc0xvY2tGaWxlUGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcmVzb3VyY2VzL2xhbWJkYS9teS1jci9wYWNrYWdlLWxvY2suanNvbicpLFxuICAgICAgICBlbnRyeUZpbGU6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3Jlc291cmNlcy9sYW1iZGEvbXktY3Ivb24tZXZlbnQubWpzJyksXG4gICAgICB9LFxuICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICB9KTtcbiAgICAvLy8gIWhpZGVcbiAgICBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdDdXN0b21SZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogbXlQcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206Ok15Q3VzdG9tUmVzb3VyY2UnLFxuICAgIH0pO1xuXG4gIH1cbn1cblxuY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbm5ldyBFeGFtcGxlUmVtb3ZhbFBvbGljeURzZlByb3ZpZGVyU3RhY2soYXBwLCAnRXhhbXBsZVJlbW92YWxQb2xpY3lEc2ZQcm92aWRlclN0YWNrJyk7XG5cbiJdfQ==