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

com.pulumi.cloudflare.kotlin.outputs.TunnelConfigConfigOriginRequest.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property access Access rules for the ingress service.
 * @property bastionMode Runs as jump host.
 * @property caPool Path to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare. Defaults to `""`.
 * @property connectTimeout Timeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by `tlsTimeout`. Defaults to `30s`.
 * @property disableChunkedEncoding Disables chunked transfer encoding. Useful if you are running a Web Server Gateway Interface (WSGI) server. Defaults to `false`.
 * @property http2Origin Enables HTTP/2 support for the origin connection. Defaults to `false`.
 * @property httpHostHeader Sets the HTTP Host header on requests sent to the local service. Defaults to `""`.
 * @property ipRules IP rules for the proxy service.
 * @property keepAliveConnections Maximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections. Defaults to `100`.
 * @property keepAliveTimeout Timeout after which an idle keepalive connection can be discarded. Defaults to `1m30s`.
 * @property noHappyEyeballs Disable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols. Defaults to `false`.
 * @property noTlsVerify Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted. Defaults to `false`.
 * @property originServerName Hostname that cloudflared should expect from your origin server certificate. Defaults to `""`.
 * @property proxyAddress cloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures the listen address for that proxy. Defaults to `127.0.0.1`.
 * @property proxyPort cloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures the listen port for that proxy. If set to zero, an unused port will randomly be chosen. Defaults to `0`.
 * @property proxyType cloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Available values: `""`, `socks`. Defaults to `""`.
 * @property tcpKeepAlive The timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server. Defaults to `30s`.
 * @property tlsTimeout Timeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server. Defaults to `10s`.
 */
public data class TunnelConfigConfigOriginRequest(
    public val access: TunnelConfigConfigOriginRequestAccess? = null,
    public val bastionMode: Boolean? = null,
    public val caPool: String? = null,
    public val connectTimeout: String? = null,
    public val disableChunkedEncoding: Boolean? = null,
    public val http2Origin: Boolean? = null,
    public val httpHostHeader: String? = null,
    public val ipRules: List? = null,
    public val keepAliveConnections: Int? = null,
    public val keepAliveTimeout: String? = null,
    public val noHappyEyeballs: Boolean? = null,
    public val noTlsVerify: Boolean? = null,
    public val originServerName: String? = null,
    public val proxyAddress: String? = null,
    public val proxyPort: Int? = null,
    public val proxyType: String? = null,
    public val tcpKeepAlive: String? = null,
    public val tlsTimeout: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.cloudflare.outputs.TunnelConfigConfigOriginRequest): TunnelConfigConfigOriginRequest = TunnelConfigConfigOriginRequest(
            access = javaType.access().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.TunnelConfigConfigOriginRequestAccess.Companion.toKotlin(args0)
                })
            }).orElse(null),
            bastionMode = javaType.bastionMode().map({ args0 -> args0 }).orElse(null),
            caPool = javaType.caPool().map({ args0 -> args0 }).orElse(null),
            connectTimeout = javaType.connectTimeout().map({ args0 -> args0 }).orElse(null),
            disableChunkedEncoding = javaType.disableChunkedEncoding().map({ args0 -> args0 }).orElse(null),
            http2Origin = javaType.http2Origin().map({ args0 -> args0 }).orElse(null),
            httpHostHeader = javaType.httpHostHeader().map({ args0 -> args0 }).orElse(null),
            ipRules = javaType.ipRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.TunnelConfigConfigOriginRequestIpRule.Companion.toKotlin(args0)
                })
            }),
            keepAliveConnections = javaType.keepAliveConnections().map({ args0 -> args0 }).orElse(null),
            keepAliveTimeout = javaType.keepAliveTimeout().map({ args0 -> args0 }).orElse(null),
            noHappyEyeballs = javaType.noHappyEyeballs().map({ args0 -> args0 }).orElse(null),
            noTlsVerify = javaType.noTlsVerify().map({ args0 -> args0 }).orElse(null),
            originServerName = javaType.originServerName().map({ args0 -> args0 }).orElse(null),
            proxyAddress = javaType.proxyAddress().map({ args0 -> args0 }).orElse(null),
            proxyPort = javaType.proxyPort().map({ args0 -> args0 }).orElse(null),
            proxyType = javaType.proxyType().map({ args0 -> args0 }).orElse(null),
            tcpKeepAlive = javaType.tcpKeepAlive().map({ args0 -> args0 }).orElse(null),
            tlsTimeout = javaType.tlsTimeout().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy