Package: aws-solutions-constructs.aws-cloudfront-s3
aws-cloudfront-s3 module---Reference Documentation:https://docs.aws.amazon.com/solutions/latest/constructs/LanguagePackagePythonaws_solutions_constructs.aws_cloudfront_s3Typescript@aws-solutions-constructs/aws-cloudfront-s3Javasoftware.amazon.awsconstructs.services.cloudfronts3OverviewThis AWS Solutions Construct provisions an Amazon CloudFront Distribution that serves objects from an AWS S3 Bucket via an Origin Access Control (OAC).Here is a minimal deployable pattern definition:Typescriptimport{Construct}from'constructs';import{Stack,StackProps}from'aws-cdk-lib';import{CloudFrontToS3}from'@aws-solutions-constructs/aws-cloudfront-s3';newCloudFrontToS3(this,'test-cloudfront-s3',{});Pythonfromaws_solutions_constructs.aws_cloudfront_s3importCloudFrontToS3fromaws_cdkimportStackfromconstructsimportConstructCloudFrontToS3(self,'test-cloudfront-s3')Javaimportsoftware.constructs.Construct;importsoftware.amazon.awscdk.Stack;importsoftware.amazon.awscdk.StackProps;importsoftware.amazon.awsconstructs.services.cloudfronts3.*;newCloudFrontToS3(this,"test-cloudfront-s3",newCloudFrontToS3Props.Builder().build());Pattern Construct PropsNameTypeDescriptionexistingBucketObj?s3.IBucketExisting instance of S3 Bucket object or interface. If this is provided, then also providing bucketProps will cause an error.bucketProps?s3.BucketPropsOptional user provided props to override the default props for the S3 Bucket.cloudFrontDistributionProps?cloudfront.DistributionPropsOptional user provided props to override the default props for CloudFront DistributioninsertHttpSecurityHeaders?booleanOptional user provided props to turn on/off the automatic injection of best practice HTTP security headers in all responses from CloudFrontresponseHeadersPolicyProps?cloudfront.ResponseHeadersPolicyPropsOptional user provided configuration that cloudfront applies to all http responses.originPath?stringOptional user provided props to provide anoriginPaththat CloudFront appends to the origin domain name when CloudFront requests content from the origin. The string should start with a/, for example:/production. Default value is'/'loggingBucketProps?s3.BucketPropsOptional user provided props to override the default props for the S3 Logging Bucket.cloudFrontLoggingBucketProps?s3.BucketPropsOptional user provided props to override the default props for the CloudFront Logging Bucket.logS3AccessLogs?booleanWhether to turn on Access Logging for the S3 bucket. Creates an S3 bucket with associated storage costs for the logs. Enabling Access Logging is a best practice. default - truePattern PropertiesNameTypeDescriptioncloudFrontWebDistributioncloudfront.DistributionReturns an instance of cloudfront.Distribution created by the construct.cloudFrontFunction?cloudfront.FunctionReturns an instance of the Cloudfront function created by the construct.cloudFrontLoggingBuckets3.BucketReturns an instance of the logging bucket for the CloudFront Distribution.s3BucketInterfaces3.IBucketReturns an instance of s3.IBucket created by the construct.s3Bucket?s3.BucketReturns an instance of s3.Bucket created by the construct. IMPORTANT: IfexistingBucketObjwas provided in Pattern Construct Props, this property will beundefineds3LoggingBucket?s3.BucketReturns an instance of s3.Bucket created by the construct as the logging bucket for the primary bucket.originAccessControl?cloudfront.CfnOriginAccessControlReturns an instance of cloudfront.CfnOriginAccessControl created by the construct.Default settingsOut of the box implementation of the Construct without any override will set the following defaults:Amazon CloudFrontConfigure Access logging for CloudFront DistributionEnable automatic injection of best practice HTTP security headers in all responses from CloudFront DistributionCloudFront originPath set to'/'Amazon S3 BucketConfigure Access logging for S3 BucketEnable server-side encryption for S3 Bucket using AWS managed KMS KeyEnforce encryption of data in transitTurn on the versioning for S3 BucketDon't allow public access for S3 BucketRetain the S3 Bucket when deleting the CloudFormation stackApplies Lifecycle rule to move noncurrent object versions to Glacier storage after 90 daysArchitecture© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.