Interface CfnDistribution.OriginProperty
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
CfnDistribution.OriginProperty.Jsii$Proxy
- Enclosing class:
CfnDistribution
An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:
- Use
S3OriginConfigto specify an Amazon S3 bucket that is not configured with static website hosting. - Use
VpcOriginConfigto specify a VPC origin. - Use
CustomOriginConfigto specify all other kinds of origins, including: - An Amazon S3 bucket that is configured with static website hosting
- An Elastic Load Balancing load balancer
- An AWS Elemental MediaPackage endpoint
- An AWS Elemental MediaStore container
- Any other HTTP server, running on an Amazon EC2 instance or any other kind of host
For the current maximum number of origins that you can specify per distribution, see General Quotas on Web Distributions in the Amazon CloudFront Developer Guide (quotas were formerly referred to as limits).
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.cloudfront.*;
OriginProperty originProperty = OriginProperty.builder()
.domainName("domainName")
.id("id")
// the properties below are optional
.connectionAttempts(123)
.connectionTimeout(123)
.customOriginConfig(CustomOriginConfigProperty.builder()
.originProtocolPolicy("originProtocolPolicy")
// the properties below are optional
.httpPort(123)
.httpsPort(123)
.ipAddressType("ipAddressType")
.originKeepaliveTimeout(123)
.originReadTimeout(123)
.originSslProtocols(List.of("originSslProtocols"))
.build())
.originAccessControlId("originAccessControlId")
.originCustomHeaders(List.of(OriginCustomHeaderProperty.builder()
.headerName("headerName")
.headerValue("headerValue")
.build()))
.originPath("originPath")
.originShield(OriginShieldProperty.builder()
.enabled(false)
.originShieldRegion("originShieldRegion")
.build())
.responseCompletionTimeout(123)
.s3OriginConfig(S3OriginConfigProperty.builder()
.originAccessIdentity("originAccessIdentity")
.originReadTimeout(123)
.build())
.vpcOriginConfig(VpcOriginConfigProperty.builder()
.vpcOriginId("vpcOriginId")
// the properties below are optional
.originKeepaliveTimeout(123)
.originReadTimeout(123)
.ownerAccountId("ownerAccountId")
.build())
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forCfnDistribution.OriginPropertystatic final classAn implementation forCfnDistribution.OriginProperty -
Method Summary
Modifier and TypeMethodDescriptionbuilder()default NumberThe number of times that CloudFront attempts to connect to the origin.default NumberThe number of seconds that CloudFront waits when trying to establish a connection to the origin.default ObjectUse this type to specify an origin that is not an Amazon S3 bucket, with one exception.The domain name for the origin.getId()A unique identifier for the origin.default StringThe unique identifier of an origin access control for this origin.default ObjectA list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin.default StringAn optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.default ObjectCloudFront Origin Shield.default NumberThe time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response.default ObjectUse this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting.default ObjectThe VPC origin configuration.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getDomainName
The domain name for the origin.For more information, see Origin Domain Name in the Amazon CloudFront Developer Guide .
- See Also:
-
getId
A unique identifier for the origin. This value must be unique within the distribution.Use this value to specify the
TargetOriginIdin aCacheBehaviororDefaultCacheBehavior.- See Also:
-
getConnectionAttempts
The number of times that CloudFront attempts to connect to the origin.The minimum number is 1, the maximum is 3, and the default (if you don't specify otherwise) is 3.
For a custom origin (including an Amazon S3 bucket that's configured with static website hosting), this value also specifies the number of times that CloudFront attempts to get a response from the origin, in the case of an Origin Response Timeout .
For more information, see Origin Connection Attempts in the Amazon CloudFront Developer Guide .
- See Also:
-
getConnectionTimeout
The number of seconds that CloudFront waits when trying to establish a connection to the origin.The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you don't specify otherwise) is 10 seconds.
For more information, see Origin Connection Timeout in the Amazon CloudFront Developer Guide .
- See Also:
-
getCustomOriginConfig
Use this type to specify an origin that is not an Amazon S3 bucket, with one exception.If the Amazon S3 bucket is configured with static website hosting, use this type. If the Amazon S3 bucket is not configured with static website hosting, use the
S3OriginConfigtype instead.Returns union: either
IResolvableorCfnDistribution.CustomOriginConfigProperty- See Also:
-
getOriginAccessControlId
The unique identifier of an origin access control for this origin.For more information, see Restricting access to an Amazon S3 origin in the Amazon CloudFront Developer Guide .
- See Also:
-
getOriginCustomHeaders
A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin.For more information, see Adding Custom Headers to Origin Requests in the Amazon CloudFront Developer Guide .
Returns union: either
IResolvableor Listinvalid input: '<'eitherIResolvableorCfnDistribution.OriginCustomHeaderProperty>- See Also:
-
getOriginPath
An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.For more information, see Origin Path in the Amazon CloudFront Developer Guide .
Default: - ""
- See Also:
-
getOriginShield
CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin.For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide .
Returns union: either
IResolvableorCfnDistribution.OriginShieldProperty- See Also:
-
getResponseCompletionTimeout
The time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response.If the complete response isn't received from the origin by this time, CloudFront ends the connection.
The value for
ResponseCompletionTimeoutmust be equal to or greater than the value forOriginReadTimeout. If you don't set a value forResponseCompletionTimeout, CloudFront doesn't enforce a maximum value.For more information, see Response completion timeout in the Amazon CloudFront Developer Guide .
- See Also:
-
getS3OriginConfig
Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting.To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the
CustomOriginConfigtype instead.Returns union: either
IResolvableorCfnDistribution.S3OriginConfigProperty- See Also:
-
getVpcOriginConfig
The VPC origin configuration.Returns union: either
IResolvableorCfnDistribution.VpcOriginConfigProperty- See Also:
-
builder
-