OriginProperty Struct
An origin.
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 { aws_cloudfront as cloudfront } from 'aws-cdk-lib';
const originProperty: cloudfront.CfnDistribution.OriginProperty = {
domainName: 'domainName',
id: 'id',
// the properties below are optional
connectionAttempts: 123,
connectionTimeout: 123,
customOriginConfig: {
originProtocolPolicy: 'originProtocolPolicy',
// the properties below are optional
httpPort: 123,
httpsPort: 123,
ipAddressType: 'ipAddressType',
originKeepaliveTimeout: 123,
originMtlsConfig: {
clientCertificateArn: 'clientCertificateArn',
},
originReadTimeout: 123,
originSslProtocols: ['originSslProtocols'],
},
originAccessControlId: 'originAccessControlId',
originCustomHeaders: [{
headerName: 'headerName',
headerValue: 'headerValue',
}],
originPath: 'originPath',
originShield: {
enabled: false,
originShieldRegion: 'originShieldRegion',
},
responseCompletionTimeout: 123,
s3OriginConfig: {
originAccessIdentity: 'originAccessIdentity',
originReadTimeout: 123,
},
vpcOriginConfig: {
vpcOriginId: 'vpcOriginId',
// the properties below are optional
originKeepaliveTimeout: 123,
originReadTimeout: 123,
ownerAccountId: 'ownerAccountId',
},
};
Properties
connectionAttemptsoptionalnumberconnection_attemptsoptionalint | floatconnectionAttemptsoptionalNumberConnectionAttemptsoptionaldoubleConnectionAttemptsoptional*float64#notes
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 .
connectionTimeoutoptionalnumberconnection_timeoutoptionalint | floatconnectionTimeoutoptionalNumberConnectionTimeoutoptionaldoubleConnectionTimeoutoptional*float64#notes
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 .
customOriginConfigoptionalIResolvable | CfnDistribution.CustomOriginConfigPropertycustom_origin_configoptionaltyping.Union[IResolvable, CustomOriginConfigProperty]customOriginConfigoptionalIResolvableCustomOriginConfigoptionalIResolvableCustomOriginConfigoptionalinterface{}#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.
For more information, see Origin Domain Name in the Amazon CloudFront Developer Guide .
Use this value to specify the TargetOriginId in a CacheBehavior or DefaultCacheBehavior .
originAccessControlIdoptionalstringorigin_access_control_idoptionalstroriginAccessControlIdoptionalStringOriginAccessControlIdoptionalstringOriginAccessControlIdoptional*string#For more information, see Restricting access to an Amazon S3 origin in the Amazon CloudFront Developer Guide .
originCustomHeadersoptionalIResolvable | IResolvable | CfnDistribution.OriginCustomHeaderProperty[]origin_custom_headersoptionaltyping.Union[IResolvable, typing.List[typing.Union[IResolvable, OriginCustomHeaderProperty]]]originCustomHeadersoptionalIResolvableOriginCustomHeadersoptionalIResolvableOriginCustomHeadersoptionalinterface{}#For more information, see Adding Custom Headers to Origin Requests in the Amazon CloudFront Developer Guide .
originPathoptionalstringorigin_pathoptionalstroriginPathoptionalStringOriginPathoptionalstringOriginPathoptional*string= ""#For more information, see Origin Path in the Amazon CloudFront Developer Guide .
originShieldoptionalIResolvable | CfnDistribution.OriginShieldPropertyorigin_shieldoptionaltyping.Union[IResolvable, OriginShieldProperty]originShieldoptionalIResolvableOriginShieldoptionalIResolvableOriginShieldoptionalinterface{}#For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide .
responseCompletionTimeoutoptionalnumberresponse_completion_timeoutoptionalint | floatresponseCompletionTimeoutoptionalNumberResponseCompletionTimeoutoptionaldoubleResponseCompletionTimeoutoptional*float64#notes
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 .
s3OriginConfigoptionalIResolvable | CfnDistribution.S3OriginConfigPropertys3_origin_configoptionaltyping.Union[IResolvable, S3OriginConfigProperty]s3OriginConfigoptionalIResolvableS3OriginConfigoptionalIResolvableS3OriginConfigoptionalinterface{}#To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the CustomOriginConfig type instead.
vpcOriginConfigoptionalIResolvable | CfnDistribution.VpcOriginConfigPropertyvpc_origin_configoptionaltyping.Union[IResolvable, VpcOriginConfigProperty]vpcOriginConfigoptionalIResolvableVpcOriginConfigoptionalIResolvableVpcOriginConfigoptionalinterface{}#