All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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