Interface CfnDistribution.IOriginProperty
An origin.
Namespace: Amazon.CDK.AWS.CloudFront
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface CfnDistribution.IOriginProperty
Syntax (vb)
Public Interface CfnDistribution.IOriginProperty
Remarks
An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:
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).
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.CloudFront;
var originProperty = new OriginProperty {
DomainName = "domainName",
Id = "id",
// the properties below are optional
ConnectionAttempts = 123,
ConnectionTimeout = 123,
CustomOriginConfig = new CustomOriginConfigProperty {
OriginProtocolPolicy = "originProtocolPolicy",
// the properties below are optional
HttpPort = 123,
HttpsPort = 123,
IpAddressType = "ipAddressType",
OriginKeepaliveTimeout = 123,
OriginMtlsConfig = new OriginMtlsConfigProperty {
ClientCertificateArn = "clientCertificateArn"
},
OriginReadTimeout = 123,
OriginSslProtocols = new [] { "originSslProtocols" }
},
OriginAccessControlId = "originAccessControlId",
OriginCustomHeaders = new [] { new OriginCustomHeaderProperty {
HeaderName = "headerName",
HeaderValue = "headerValue"
} },
OriginPath = "originPath",
OriginShield = new OriginShieldProperty {
Enabled = false,
OriginShieldRegion = "originShieldRegion"
},
ResponseCompletionTimeout = 123,
S3OriginConfig = new S3OriginConfigProperty {
OriginAccessIdentity = "originAccessIdentity",
OriginReadTimeout = 123
},
VpcOriginConfig = new VpcOriginConfigProperty {
VpcOriginId = "vpcOriginId",
// the properties below are optional
OriginKeepaliveTimeout = 123,
OriginReadTimeout = 123,
OwnerAccountId = "ownerAccountId"
}
};
Synopsis
Properties
| ConnectionAttempts | The number of times that CloudFront attempts to connect to the origin. |
| ConnectionTimeout | The number of seconds that CloudFront waits when trying to establish a connection to the origin. |
| CustomOriginConfig | Use this type to specify an origin that is not an Amazon S3 bucket, with one exception. |
| DomainName | The domain name for the origin. |
| Id | A unique identifier for the origin. This value must be unique within the distribution. |
| OriginAccessControlId | The unique identifier of an origin access control for this origin. |
| OriginCustomHeaders | A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin. |
| OriginPath | An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. |
| OriginShield | CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin. |
| ResponseCompletionTimeout | The time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response. |
| S3OriginConfig | Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting. |
| VpcOriginConfig | The VPC origin configuration. |
Properties
ConnectionAttempts
The number of times that CloudFront attempts to connect to the origin.
double? ConnectionAttempts { get; }
Property Value
Remarks
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 .
ConnectionTimeout
The number of seconds that CloudFront waits when trying to establish a connection to the origin.
double? ConnectionTimeout { get; }
Property Value
Remarks
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 .
CustomOriginConfig
Use this type to specify an origin that is not an Amazon S3 bucket, with one exception.
object? CustomOriginConfig { get; }
Property Value
Remarks
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 S3OriginConfig type instead.
Type union: either IResolvable or CfnDistribution.ICustomOriginConfigProperty
DomainName
The domain name for the origin.
string DomainName { get; }
Property Value
Remarks
For more information, see Origin Domain Name in the Amazon CloudFront Developer Guide .
Id
A unique identifier for the origin. This value must be unique within the distribution.
string Id { get; }
Property Value
Remarks
Use this value to specify the TargetOriginId in a CacheBehavior or DefaultCacheBehavior .
OriginAccessControlId
The unique identifier of an origin access control for this origin.
string? OriginAccessControlId { get; }
Property Value
Remarks
For more information, see Restricting access to an Amazon S3 origin in the Amazon CloudFront Developer Guide .
OriginCustomHeaders
A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin.
object? OriginCustomHeaders { get; }
Property Value
Remarks
For more information, see Adding Custom Headers to Origin Requests in the Amazon CloudFront Developer Guide .
Type union: either IResolvable or (either IResolvable or CfnDistribution.IOriginCustomHeaderProperty)[]
OriginPath
An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
string? OriginPath { get; }
Property Value
Remarks
For more information, see Origin Path in the Amazon CloudFront Developer Guide .
Default: - ""
OriginShield
CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin.
object? OriginShield { get; }
Property Value
Remarks
For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide .
Type union: either IResolvable or CfnDistribution.IOriginShieldProperty
ResponseCompletionTimeout
The time (in seconds) that a request from CloudFront to the origin can stay open and wait for a response.
double? ResponseCompletionTimeout { get; }
Property Value
Remarks
If the complete response isn't received from the origin by this time, CloudFront ends the connection.
The value for ResponseCompletionTimeout must be equal to or greater than the value for OriginReadTimeout . If you don't set a value for ResponseCompletionTimeout , CloudFront doesn't enforce a maximum value.
For more information, see Response completion timeout in the Amazon CloudFront Developer Guide .
S3OriginConfig
Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting.
object? S3OriginConfig { get; }
Property Value
Remarks
To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the CustomOriginConfig type instead.
Type union: either IResolvable or CfnDistribution.IS3OriginConfigProperty
VpcOriginConfig
The VPC origin configuration.
object? VpcOriginConfig { get; }