@cdklabs/aws-data-solutions-framework
Version:
L3 CDK Constructs used to build data solutions with AWS
31 lines • 3.98 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_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