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

com.pulumi.azure.containerservice.kotlin.inputs.GroupContainerLivenessProbeArgs.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.containerservice.kotlin.inputs

import com.pulumi.azure.containerservice.inputs.GroupContainerLivenessProbeArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property execs Commands to be run to validate container readiness. Changing this forces a new resource to be created.
 * @property failureThreshold How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). Changing this forces a new resource to be created.
 * @property httpGets The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
 * @property initialDelaySeconds Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.
 * @property periodSeconds How often (in seconds) to perform the probe. Changing this forces a new resource to be created.
 * @property successThreshold Minimum consecutive successes for the probe to be considered successful after having failed. Changing this forces a new resource to be created.
 * @property timeoutSeconds Number of seconds after which the probe times out. Changing this forces a new resource to be created.
 */
public data class GroupContainerLivenessProbeArgs(
    public val execs: Output>? = null,
    public val failureThreshold: Output? = null,
    public val httpGets: Output>? = null,
    public val initialDelaySeconds: Output? = null,
    public val periodSeconds: Output? = null,
    public val successThreshold: Output? = null,
    public val timeoutSeconds: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.containerservice.inputs.GroupContainerLivenessProbeArgs =
        com.pulumi.azure.containerservice.inputs.GroupContainerLivenessProbeArgs.builder()
            .execs(execs?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .failureThreshold(failureThreshold?.applyValue({ args0 -> args0 }))
            .httpGets(
                httpGets?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .initialDelaySeconds(initialDelaySeconds?.applyValue({ args0 -> args0 }))
            .periodSeconds(periodSeconds?.applyValue({ args0 -> args0 }))
            .successThreshold(successThreshold?.applyValue({ args0 -> args0 }))
            .timeoutSeconds(timeoutSeconds?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [GroupContainerLivenessProbeArgs].
 */
@PulumiTagMarker
public class GroupContainerLivenessProbeArgsBuilder internal constructor() {
    private var execs: Output>? = null

    private var failureThreshold: Output? = null

    private var httpGets: Output>? = null

    private var initialDelaySeconds: Output? = null

    private var periodSeconds: Output? = null

    private var successThreshold: Output? = null

    private var timeoutSeconds: Output? = null

    /**
     * @param value Commands to be run to validate container readiness. Changing this forces a new resource to be created.
     */
    @JvmName("fkefekxrxswoubhg")
    public suspend fun execs(`value`: Output>) {
        this.execs = value
    }

    @JvmName("rhwdrkwbvetrsxgc")
    public suspend fun execs(vararg values: Output) {
        this.execs = Output.all(values.asList())
    }

    /**
     * @param values Commands to be run to validate container readiness. Changing this forces a new resource to be created.
     */
    @JvmName("yxnaflefstjxfjnp")
    public suspend fun execs(values: List>) {
        this.execs = Output.all(values)
    }

    /**
     * @param value How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). Changing this forces a new resource to be created.
     */
    @JvmName("castuemocrepeidt")
    public suspend fun failureThreshold(`value`: Output) {
        this.failureThreshold = value
    }

    /**
     * @param value The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
     */
    @JvmName("owqmsmkosjwcqljp")
    public suspend fun httpGets(`value`: Output>) {
        this.httpGets = value
    }

    @JvmName("tlsdastgnjdyptjg")
    public suspend fun httpGets(vararg values: Output) {
        this.httpGets = Output.all(values.asList())
    }

    /**
     * @param values The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
     */
    @JvmName("exltqcruaypmreft")
    public suspend fun httpGets(values: List>) {
        this.httpGets = Output.all(values)
    }

    /**
     * @param value Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.
     */
    @JvmName("dlwmhypvylkriuru")
    public suspend fun initialDelaySeconds(`value`: Output) {
        this.initialDelaySeconds = value
    }

    /**
     * @param value How often (in seconds) to perform the probe. Changing this forces a new resource to be created.
     */
    @JvmName("jfdxujmruartfnkt")
    public suspend fun periodSeconds(`value`: Output) {
        this.periodSeconds = value
    }

    /**
     * @param value Minimum consecutive successes for the probe to be considered successful after having failed. Changing this forces a new resource to be created.
     */
    @JvmName("ruikvxiiribkpxrp")
    public suspend fun successThreshold(`value`: Output) {
        this.successThreshold = value
    }

    /**
     * @param value Number of seconds after which the probe times out. Changing this forces a new resource to be created.
     */
    @JvmName("ngukxwssybohdmvw")
    public suspend fun timeoutSeconds(`value`: Output) {
        this.timeoutSeconds = value
    }

    /**
     * @param value Commands to be run to validate container readiness. Changing this forces a new resource to be created.
     */
    @JvmName("qolyrhthfnflxvim")
    public suspend fun execs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.execs = mapped
    }

    /**
     * @param values Commands to be run to validate container readiness. Changing this forces a new resource to be created.
     */
    @JvmName("kbbvxchlidgbtqcn")
    public suspend fun execs(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.execs = mapped
    }

    /**
     * @param value How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). Changing this forces a new resource to be created.
     */
    @JvmName("qulalfikmycgebta")
    public suspend fun failureThreshold(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.failureThreshold = mapped
    }

    /**
     * @param value The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
     */
    @JvmName("kvsjewsmmfyaaokg")
    public suspend fun httpGets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpGets = mapped
    }

    /**
     * @param argument The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
     */
    @JvmName("mvjfkvavmmjnwnmh")
    public suspend fun httpGets(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            GroupContainerLivenessProbeHttpGetArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.httpGets = mapped
    }

    /**
     * @param argument The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
     */
    @JvmName("iipxdfvyrxfoqhiq")
    public suspend fun httpGets(vararg argument: suspend GroupContainerLivenessProbeHttpGetArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            GroupContainerLivenessProbeHttpGetArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.httpGets = mapped
    }

    /**
     * @param argument The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
     */
    @JvmName("fpjyxulyvfwkntrm")
    public suspend fun httpGets(argument: suspend GroupContainerLivenessProbeHttpGetArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            GroupContainerLivenessProbeHttpGetArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.httpGets = mapped
    }

    /**
     * @param values The definition of the http_get for this container as documented in the `http_get` block below. Changing this forces a new resource to be created.
     */
    @JvmName("dxpwsketstkrainh")
    public suspend fun httpGets(vararg values: GroupContainerLivenessProbeHttpGetArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.httpGets = mapped
    }

    /**
     * @param value Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.
     */
    @JvmName("luxxeakiupsvwlue")
    public suspend fun initialDelaySeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.initialDelaySeconds = mapped
    }

    /**
     * @param value How often (in seconds) to perform the probe. Changing this forces a new resource to be created.
     */
    @JvmName("ghbkyhrangigiitw")
    public suspend fun periodSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.periodSeconds = mapped
    }

    /**
     * @param value Minimum consecutive successes for the probe to be considered successful after having failed. Changing this forces a new resource to be created.
     */
    @JvmName("tuowjdyddpovxftq")
    public suspend fun successThreshold(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.successThreshold = mapped
    }

    /**
     * @param value Number of seconds after which the probe times out. Changing this forces a new resource to be created.
     */
    @JvmName("jijagjgyrfrslghm")
    public suspend fun timeoutSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeoutSeconds = mapped
    }

    internal fun build(): GroupContainerLivenessProbeArgs = GroupContainerLivenessProbeArgs(
        execs = execs,
        failureThreshold = failureThreshold,
        httpGets = httpGets,
        initialDelaySeconds = initialDelaySeconds,
        periodSeconds = periodSeconds,
        successThreshold = successThreshold,
        timeoutSeconds = timeoutSeconds,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy