import * as cloudfront from '../../aws-cloudfront'; import type * as cdk from '../../core'; /** * Properties for an Origin backed by an S3 website-configured bucket, load balancer, or custom HTTP server. */ export interface HttpOriginProps extends cloudfront.OriginProps { /** * Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. * * @default OriginProtocolPolicy.HTTPS_ONLY */ readonly protocolPolicy?: cloudfront.OriginProtocolPolicy; /** * The SSL versions to use when interacting with the origin. * * @default OriginSslPolicy.TLS_V1_2 */ readonly originSslProtocols?: cloudfront.OriginSslPolicy[]; /** * The HTTP port that CloudFront uses to connect to the origin. * * @default 80 */ readonly httpPort?: number; /** * The HTTPS port that CloudFront uses to connect to the origin. * * @default 443 */ readonly httpsPort?: number; /** * Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. * The minimum is 1 second. The maximum is governed by the origin response timeout quota, which is * adjustable, so the effective maximum depends on the target account. * * The default quota allows up to 120 seconds; higher values require an approved limit increase * in the target account, and otherwise produce an error at deploy time. * * @default Duration.seconds(30) */ readonly readTimeout?: cdk.Duration; /** * Specifies how long, in seconds, CloudFront persists its connection to the origin. * The minimum is 1 second. The maximum is governed by the keep-alive timeout per origin quota, * which is adjustable, so the effective maximum depends on the target account. * * The default quota allows up to 300 seconds; higher values require an approved limit increase * in the target account, and otherwise produce an error at deploy time. * * @default Duration.seconds(5) */ readonly keepaliveTimeout?: cdk.Duration; /** * Specifies which IP protocol CloudFront uses when connecting to your origin. * * If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. * * @default undefined - AWS Cloudfront default is IPv4 */ readonly ipAddressType?: cloudfront.OriginIpAddressType; } /** * An Origin for an HTTP server or S3 bucket configured for website hosting. */ export declare class HttpOrigin extends cloudfront.OriginBase { private readonly props; constructor(domainName: string, props?: HttpOriginProps); protected renderCustomOriginConfig(): cloudfront.CfnDistribution.CustomOriginConfigProperty | undefined; private validatePortNumber; }