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

com.pulumi.cloudflare.kotlin.outputs.LoadBalancerRuleOverrideSessionAffinityAttribute.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.

There is a newer version: 5.40.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.outputs

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

/**
 *
 * @property headers Configures the HTTP header names to use when header session affinity is enabled.
 * @property requireAllHeaders Configures how headers are used when header session affinity is enabled. Set to true to require all headers to be present on requests in order for sessions to be created or false to require at least one header to be present. Defaults to `false`.
 * @property samesite Configures the SameSite attribute on session affinity cookie. Value `Auto` will be translated to `Lax` or `None` depending if Always Use HTTPS is enabled. Note: when using value `None`, then you can not set `secure="Never"`. Available values: `Auto`, `Lax`, `None`, `Strict`.
 * @property secure Configures the Secure attribute on session affinity cookie. Value `Always` indicates the Secure attribute will be set in the Set-Cookie header, `Never` indicates the Secure attribute will not be set, and `Auto` will set the Secure attribute depending if Always Use HTTPS is enabled. Available values: `Auto`, `Always`, `Never`.
 * @property zeroDowntimeFailover Configures the zero-downtime failover between origins within a pool when session affinity is enabled. Value `none` means no failover takes place for sessions pinned to the origin. Value `temporary` means traffic will be sent to another other healthy origin until the originally pinned origin is available; note that this can potentially result in heavy origin flapping. Value `sticky` means the session affinity cookie is updated and subsequent requests are sent to the new origin. This feature is currently incompatible with Argo, Tiered Cache, and Bandwidth Alliance. Available values: `none`, `temporary`, `sticky`.
 */
public data class LoadBalancerRuleOverrideSessionAffinityAttribute(
    public val headers: List? = null,
    public val requireAllHeaders: Boolean? = null,
    public val samesite: String? = null,
    public val secure: String? = null,
    public val zeroDowntimeFailover: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.cloudflare.outputs.LoadBalancerRuleOverrideSessionAffinityAttribute): LoadBalancerRuleOverrideSessionAffinityAttribute =
            LoadBalancerRuleOverrideSessionAffinityAttribute(
                headers = javaType.headers().map({ args0 -> args0 }),
                requireAllHeaders = javaType.requireAllHeaders().map({ args0 -> args0 }).orElse(null),
                samesite = javaType.samesite().map({ args0 -> args0 }).orElse(null),
                secure = javaType.secure().map({ args0 -> args0 }).orElse(null),
                zeroDowntimeFailover = javaType.zeroDowntimeFailover().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy