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

com.pulumi.azurenative.appplatform.kotlin.inputs.ProbeArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.appplatform.kotlin.inputs

import com.pulumi.azurenative.appplatform.inputs.ProbeArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Probe describes a health check to be performed against an App Instance to determine whether it is alive or ready to receive traffic.
 * @property disableProbe Indicate whether the probe is disabled.
 * @property failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded. Minimum value is 1.
 * @property initialDelaySeconds Number of seconds after the App Instance has started before probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
 * @property periodSeconds How often (in seconds) to perform the probe. Minimum value is 1.
 * @property probeAction The action of the probe.
 * @property successThreshold Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 for liveness and startup. Minimum value is 1.
 * @property timeoutSeconds Number of seconds after which the probe times out. Minimum value is 1.
 */
public data class ProbeArgs(
    public val disableProbe: Output,
    public val failureThreshold: Output? = null,
    public val initialDelaySeconds: Output? = null,
    public val periodSeconds: Output? = null,
    public val probeAction: Output? = null,
    public val successThreshold: Output? = null,
    public val timeoutSeconds: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.appplatform.inputs.ProbeArgs =
        com.pulumi.azurenative.appplatform.inputs.ProbeArgs.builder()
            .disableProbe(disableProbe.applyValue({ args0 -> args0 }))
            .failureThreshold(failureThreshold?.applyValue({ args0 -> args0 }))
            .initialDelaySeconds(initialDelaySeconds?.applyValue({ args0 -> args0 }))
            .periodSeconds(periodSeconds?.applyValue({ args0 -> args0 }))
            .probeAction(probeAction?.applyValue({ args0 -> args0 }))
            .successThreshold(successThreshold?.applyValue({ args0 -> args0 }))
            .timeoutSeconds(timeoutSeconds?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ProbeArgs].
 */
@PulumiTagMarker
public class ProbeArgsBuilder internal constructor() {
    private var disableProbe: Output? = null

    private var failureThreshold: Output? = null

    private var initialDelaySeconds: Output? = null

    private var periodSeconds: Output? = null

    private var probeAction: Output? = null

    private var successThreshold: Output? = null

    private var timeoutSeconds: Output? = null

    /**
     * @param value Indicate whether the probe is disabled.
     */
    @JvmName("twdrjficktjhgyhm")
    public suspend fun disableProbe(`value`: Output) {
        this.disableProbe = value
    }

    /**
     * @param value Minimum consecutive failures for the probe to be considered failed after having succeeded. Minimum value is 1.
     */
    @JvmName("udkgcfsgdepusphk")
    public suspend fun failureThreshold(`value`: Output) {
        this.failureThreshold = value
    }

    /**
     * @param value Number of seconds after the App Instance has started before probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     */
    @JvmName("wfiplwqyxnapjrnf")
    public suspend fun initialDelaySeconds(`value`: Output) {
        this.initialDelaySeconds = value
    }

    /**
     * @param value How often (in seconds) to perform the probe. Minimum value is 1.
     */
    @JvmName("bhoqmlopndrkaynt")
    public suspend fun periodSeconds(`value`: Output) {
        this.periodSeconds = value
    }

    /**
     * @param value The action of the probe.
     */
    @JvmName("vhstpjeojjymvimi")
    public suspend fun probeAction(`value`: Output) {
        this.probeAction = value
    }

    /**
     * @param value Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 for liveness and startup. Minimum value is 1.
     */
    @JvmName("elmnuealxxcbdeck")
    public suspend fun successThreshold(`value`: Output) {
        this.successThreshold = value
    }

    /**
     * @param value Number of seconds after which the probe times out. Minimum value is 1.
     */
    @JvmName("fxeedyxoxayuikdf")
    public suspend fun timeoutSeconds(`value`: Output) {
        this.timeoutSeconds = value
    }

    /**
     * @param value Indicate whether the probe is disabled.
     */
    @JvmName("elolyxijyamywnkf")
    public suspend fun disableProbe(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.disableProbe = mapped
    }

    /**
     * @param value Minimum consecutive failures for the probe to be considered failed after having succeeded. Minimum value is 1.
     */
    @JvmName("dueyxublevufqrks")
    public suspend fun failureThreshold(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.failureThreshold = mapped
    }

    /**
     * @param value Number of seconds after the App Instance has started before probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     */
    @JvmName("unmnhpdqatvclqel")
    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. Minimum value is 1.
     */
    @JvmName("ukopomxtamrargot")
    public suspend fun periodSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.periodSeconds = mapped
    }

    /**
     * @param value The action of the probe.
     */
    @JvmName("nnfthowfphhhvsuh")
    public suspend fun probeAction(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.probeAction = mapped
    }

    /**
     * @param value Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 for liveness and startup. Minimum value is 1.
     */
    @JvmName("gmyorqwmkqxnpyey")
    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. Minimum value is 1.
     */
    @JvmName("hdpqxwaruuwphudc")
    public suspend fun timeoutSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeoutSeconds = mapped
    }

    internal fun build(): ProbeArgs = ProbeArgs(
        disableProbe = disableProbe ?: throw PulumiNullFieldException("disableProbe"),
        failureThreshold = failureThreshold,
        initialDelaySeconds = initialDelaySeconds,
        periodSeconds = periodSeconds,
        probeAction = probeAction,
        successThreshold = successThreshold,
        timeoutSeconds = timeoutSeconds,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy