![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.cloudfront.kotlin.outputs.DistributionCustomOriginConfig.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.cloudfront.kotlin.outputs
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
* A custom origin. A custom origin is any origin that is *not* an Amazon S3 bucket, with one exception. An Amazon S3 bucket that is [configured with static website hosting](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) *is* a custom origin.
* @property httpPort The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on.
* @property httpsPort The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on.
* @property originKeepaliveTimeout Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.
* For more information, see [Origin Keep-alive Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.
* @property originProtocolPolicy Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values are:
* + ``http-only`` – CloudFront always uses HTTP to connect to the origin.
* + ``match-viewer`` – CloudFront connects to the origin using the same protocol that the viewer used to connect to CloudFront.
* + ``https-only`` – CloudFront always uses HTTPS to connect to the origin.
* @property originReadTimeout Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.
* For more information, see [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.
* @property originSslProtocols Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include ``SSLv3``, ``TLSv1``, ``TLSv1.1``, and ``TLSv1.2``.
* For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide*.
*/
public data class DistributionCustomOriginConfig(
public val httpPort: Int? = null,
public val httpsPort: Int? = null,
public val originKeepaliveTimeout: Int? = null,
public val originProtocolPolicy: String,
public val originReadTimeout: Int? = null,
public val originSslProtocols: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.cloudfront.outputs.DistributionCustomOriginConfig): DistributionCustomOriginConfig = DistributionCustomOriginConfig(
httpPort = javaType.httpPort().map({ args0 -> args0 }).orElse(null),
httpsPort = javaType.httpsPort().map({ args0 -> args0 }).orElse(null),
originKeepaliveTimeout = javaType.originKeepaliveTimeout().map({ args0 -> args0 }).orElse(null),
originProtocolPolicy = javaType.originProtocolPolicy(),
originReadTimeout = javaType.originReadTimeout().map({ args0 -> args0 }).orElse(null),
originSslProtocols = javaType.originSslProtocols().map({ args0 -> args0 }),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy