CloudFrontWebDistributionProps Struct
Example
declare const sourceBucket: s3.Bucket;
const viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {
aliases: ['MYALIAS'],
});
new cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {
originConfigs: [
{
s3OriginSource: {
s3BucketSource: sourceBucket,
},
behaviors : [ {isDefaultBehavior: true} ],
},
],
viewerCertificate: viewerCertificate,
});
Properties
commentoptionalstringcommentoptionalstrcommentoptionalStringCommentoptionalstringCommentoptional*string#Default: No comment is added to distribution.
defaultRootObjectoptionalstringdefault_root_objectoptionalstrdefaultRootObjectoptionalStringDefaultRootObjectoptionalstringDefaultRootObjectoptional*string#Default: "index.html" is served.
enabledoptionalbooleanenabledoptionalboolenabledoptionalBooleanEnabledoptionalboolEnabledoptional*bool= true#enableIpV6optionalbooleanenable_ip_v6optionalboolenableIpV6optionalBooleanEnableIpV6optionalboolEnableIpV6optional*bool= true#errorConfigurationsoptionalCfnDistribution.CustomErrorResponseProperty[]error_configurationsoptionaltyping.List[CustomErrorResponseProperty]errorConfigurationsoptionalList<CustomErrorResponseProperty>ErrorConfigurationsoptionalCustomErrorResponseProperty[]ErrorConfigurationsoptional*[]CustomErrorResponseProperty#Default: No custom error configuration.
By default, CloudFront does not replace HTTP status codes in the 4xx and 5xx range with custom error messages. CloudFront does not cache HTTP status codes.
geoRestrictionoptionalGeoRestrictiongeo_restrictionoptionalGeoRestrictiongeoRestrictionoptionalGeoRestrictionGeoRestrictionoptionalGeoRestrictionGeoRestrictionoptionalGeoRestriction#Default: No geo restriction
httpVersionoptionalHttpVersionhttp_versionoptionalHttpVersionhttpVersionoptionalHttpVersionHttpVersionoptionalHttpVersionHttpVersionoptionalHttpVersion= HttpVersion.HTTP2#loggingConfigoptionalLoggingConfigurationlogging_configoptionalLoggingConfigurationloggingConfigoptionalLoggingConfigurationLoggingConfigoptionalLoggingConfigurationLoggingConfigoptionalLoggingConfiguration#Default: no logging is enabled by default.
You can pass an empty object ({}) to have us auto create a bucket for logging. Omission of this property indicates no logging is to be enabled.
originConfigsSourceConfiguration[]origin_configstyping.List[SourceConfiguration]originConfigsList<SourceConfiguration>OriginConfigsSourceConfiguration[]OriginConfigs*[]SourceConfigurationrequired#Behaviors are a part of the origin.
priceClassoptionalPriceClassprice_classoptionalPriceClasspriceClassoptionalPriceClassPriceClassoptionalPriceClassPriceClassoptionalPriceClass#Default: PriceClass.PRICE_CLASS_100 the cheapest option for CloudFront is picked by default.
viewerCertificateoptionalViewerCertificateviewer_certificateoptionalViewerCertificateviewerCertificateoptionalViewerCertificateViewerCertificateoptionalViewerCertificateViewerCertificateoptionalViewerCertificate#Default: ViewerCertificate.fromCloudFrontDefaultCertificate()
viewerProtocolPolicyoptionalViewerProtocolPolicyviewer_protocol_policyoptionalViewerProtocolPolicyviewerProtocolPolicyoptionalViewerProtocolPolicyViewerProtocolPolicyoptionalViewerProtocolPolicyViewerProtocolPolicyoptionalViewerProtocolPolicy= RedirectToHTTPs#webACLIdoptionalstringweb_acl_idoptionalstrwebACLIdoptionalStringWebACLIdoptionalstringWebACLIdoptional*string#Default: No AWS Web Application Firewall web access control list (web ACL).
notes
To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a.
To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.