@cdklabs/aws-data-solutions-framework
Version:
L3 CDK Constructs used to build data solutions with AWS
47 lines • 5.68 kB
JavaScript
;
// 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==