MyApp-stack.ts - AWS Code Sample


MyApp-stack.ts creates a stack in a specific region with an S3 bucket with optional encrypted storage.

// Copyright 2010-2019, Inc. or its affiliates. All Rights Reserved. // // This file is licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. A copy of the // License is located at // // // // This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS // OF ANY KIND, either express or implied. See the License for the specific // language governing permissions and limitations under the License. import * as core from "@aws-cdk/core"; import * as s3 from "@aws-cdk/aws-s3"; interface MyStackProps extends core.StackProps { enc: boolean; } export class MyStack extends core.Stack { constructor(scope: core.App, id: string, props: MyStackProps) { super(scope, id, props); if (props.enc) { new s3.Bucket(this, "MyGroovyBucket", { encryption: s3.BucketEncryption.KMS_MANAGED }); } else { new s3.Bucket(this, "MyGroovyBucket"); } } }

Sample Details

Service: cdk

Last tested: 2019-7-11

Author: Doug-AWS

Type: full-example