UNPKG

@cdklabs/aws-data-solutions-framework

Version:
31 lines 3.98 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_cdk_lib_1 = require("aws-cdk-lib"); const aws_kms_1 = require("aws-cdk-lib/aws-kms"); const dsf = require("../../index"); class ExampleAnalyticsBucketObjectRemovalStack extends cdk.Stack { constructor(scope, id) { super(scope, id); /// !show // Set context value for global data removal policy this.node.setContext('@data-solutions-framework-on-aws/removeDataOnDestroy', true); /// !hide /// You will also need to set removal policy /// !show const key = new aws_kms_1.Key(this, 'DataKey', { enableKeyRotation: true, removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY }); new dsf.storage.AnalyticsBucket(this, 'AnalyticsBucket', { encryptionKey: key, removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY }); /// !hide } } const app = new cdk.App(); new ExampleAnalyticsBucketObjectRemovalStack(app, 'ExampleAnalyticsBucketObjectRemovalStack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLWJ1Y2tldC1vYmplY3RzLXJlbW92YWwubGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JhZ2UvZXhhbXBsZXMvYW5hbHl0aWNzLWJ1Y2tldC1vYmplY3RzLXJlbW92YWwubGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDOztBQUV0QyxtQ0FBbUM7QUFDbkMsNkNBQTRDO0FBQzVDLGlEQUEwQztBQUUxQyxtQ0FBbUM7QUFHbkMsTUFBTSx3Q0FBeUMsU0FBUSxHQUFHLENBQUMsS0FBSztJQUM5RCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFNBQVM7UUFDVCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0RBQXNELEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkYsU0FBUztRQUVULDRDQUE0QztRQUM1QyxTQUFTO1FBQ1QsTUFBTSxHQUFHLEdBQUcsSUFBSSxhQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNqQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDckQsYUFBYSxFQUFFLEdBQUc7WUFDbEIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztTQUN2QyxDQUFDLENBQUM7UUFDSCxTQUFTO0lBQ1gsQ0FBQztDQUNGO0FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDMUIsSUFBSSx3Q0FBd0MsQ0FBQyxHQUFHLEVBQUUsMENBQTBDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBLZXkgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta21zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZHNmIGZyb20gJy4uLy4uL2luZGV4JztcblxuXG5jbGFzcyBFeGFtcGxlQW5hbHl0aWNzQnVja2V0T2JqZWN0UmVtb3ZhbFN0YWNrIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8vICFzaG93XG4gICAgLy8gU2V0IGNvbnRleHQgdmFsdWUgZm9yIGdsb2JhbCBkYXRhIHJlbW92YWwgcG9saWN5XG4gICAgdGhpcy5ub2RlLnNldENvbnRleHQoJ0BkYXRhLXNvbHV0aW9ucy1mcmFtZXdvcmstb24tYXdzL3JlbW92ZURhdGFPbkRlc3Ryb3knLCB0cnVlKTtcbiAgICAvLy8gIWhpZGVcblxuICAgIC8vLyBZb3Ugd2lsbCBhbHNvIG5lZWQgdG8gc2V0IHJlbW92YWwgcG9saWN5XG4gICAgLy8vICFzaG93XG4gICAgY29uc3Qga2V5ID0gbmV3IEtleSh0aGlzLCAnRGF0YUtleScsIHtcbiAgICAgICAgZW5hYmxlS2V5Um90YXRpb246IHRydWUsXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgIH0pO1xuXG4gICAgbmV3IGRzZi5zdG9yYWdlLkFuYWx5dGljc0J1Y2tldCh0aGlzLCAnQW5hbHl0aWNzQnVja2V0Jywge1xuICAgICAgICBlbmNyeXB0aW9uS2V5OiBrZXksXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgIH0pO1xuICAgIC8vLyAhaGlkZVxuICB9XG59XG5cbmNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG5uZXcgRXhhbXBsZUFuYWx5dGljc0J1Y2tldE9iamVjdFJlbW92YWxTdGFjayhhcHAsICdFeGFtcGxlQW5hbHl0aWNzQnVja2V0T2JqZWN0UmVtb3ZhbFN0YWNrJyk7Il19