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,
});
# source_bucket: s3.Bucket
viewer_certificate = cloudfront.ViewerCertificate.from_iam_certificate("MYIAMROLEIDENTIFIER",
aliases=["MYALIAS"]
)
cloudfront.CloudFrontWebDistribution(self, "MyCfWebDistribution",
origin_configs=[cloudfront.SourceConfiguration(
s3_origin_source=cloudfront.S3OriginConfig(
s3_bucket_source=source_bucket
),
behaviors=[cloudfront.Behavior(is_default_behavior=True)]
)
],
viewer_certificate=viewer_certificate
)
Bucket sourceBucket;
ViewerCertificate viewerCertificate = ViewerCertificate.fromIamCertificate("MYIAMROLEIDENTIFIER", ViewerCertificateOptions.builder()
.aliases(List.of("MYALIAS"))
.build());
CloudFrontWebDistribution.Builder.create(this, "MyCfWebDistribution")
.originConfigs(List.of(SourceConfiguration.builder()
.s3OriginSource(S3OriginConfig.builder()
.s3BucketSource(sourceBucket)
.build())
.behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))
.build()))
.viewerCertificate(viewerCertificate)
.build();
// Install: dotnet add package Amazon.CDK.Lib
Bucket sourceBucket;
var viewerCertificate = ViewerCertificate.FromIamCertificate("MYIAMROLEIDENTIFIER", new ViewerCertificateOptions {
Aliases = new [] { "MYALIAS" }
});
new CloudFrontWebDistribution(this, "MyCfWebDistribution", new CloudFrontWebDistributionProps {
OriginConfigs = new [] { new SourceConfiguration {
S3OriginSource = new S3OriginConfig {
S3BucketSource = sourceBucket
},
Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }
} },
ViewerCertificate = viewerCertificate
});
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
var sourceBucket Bucket
viewerCertificate := cloudfront.ViewerCertificate_FromIamCertificate(jsii.String("MYIAMROLEIDENTIFIER"), &ViewerCertificateOptions{
Aliases: []*string{
jsii.String("MYALIAS"),
},
})
cloudfront.NewCloudFrontWebDistribution(this, jsii.String("MyCfWebDistribution"), &CloudFrontWebDistributionProps{
OriginConfigs: []SourceConfiguration{
&SourceConfiguration{
S3OriginSource: &S3OriginConfig{
S3BucketSource: sourceBucket,
},
Behaviors: []Behavior{
&Behavior{
IsDefaultBehavior: jsii.Boolean(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.