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

com.pulumi.gcp.cloudrun.kotlin.inputs.ServiceTemplateSpecContainerStartupProbeArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.cloudrun.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecContainerStartupProbeArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property failureThreshold Minimum consecutive failures for the probe to be considered failed after
 * having succeeded. Defaults to 3. Minimum value is 1.
 * @property grpc GRPC specifies an action involving a GRPC port.
 * Structure is documented below.
 * @property httpGet HttpGet specifies the http request to perform.
 * Structure is documented below.
 * @property initialDelaySeconds Number of seconds after the container has started before the probe is
 * initiated.
 * Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
 * @property periodSeconds How often (in seconds) to perform the probe.
 * Default to 10 seconds. Minimum value is 1. Maximum value is 240.
 * @property tcpSocket TcpSocket specifies an action involving a TCP port.
 * Structure is documented below.
 * @property timeoutSeconds Number of seconds after which the probe times out.
 * Defaults to 1 second. Minimum value is 1. Maximum value is 3600.
 * Must be smaller than periodSeconds.
 */
public data class ServiceTemplateSpecContainerStartupProbeArgs(
    public val failureThreshold: Output? = null,
    public val grpc: Output? = null,
    public val httpGet: Output? = null,
    public val initialDelaySeconds: Output? = null,
    public val periodSeconds: Output? = null,
    public val tcpSocket: Output? = null,
    public val timeoutSeconds: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecContainerStartupProbeArgs = com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecContainerStartupProbeArgs.builder()
        .failureThreshold(failureThreshold?.applyValue({ args0 -> args0 }))
        .grpc(grpc?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .httpGet(httpGet?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .initialDelaySeconds(initialDelaySeconds?.applyValue({ args0 -> args0 }))
        .periodSeconds(periodSeconds?.applyValue({ args0 -> args0 }))
        .tcpSocket(tcpSocket?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .timeoutSeconds(timeoutSeconds?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ServiceTemplateSpecContainerStartupProbeArgs].
 */
@PulumiTagMarker
public class ServiceTemplateSpecContainerStartupProbeArgsBuilder internal constructor() {
    private var failureThreshold: Output? = null

    private var grpc: Output? = null

    private var httpGet: Output? = null

    private var initialDelaySeconds: Output? = null

    private var periodSeconds: Output? = null

    private var tcpSocket: Output? = null

    private var timeoutSeconds: Output? = null

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

    /**
     * @param value GRPC specifies an action involving a GRPC port.
     * Structure is documented below.
     */
    @JvmName("mwlsmkclqcbcqtia")
    public suspend fun grpc(`value`: Output) {
        this.grpc = value
    }

    /**
     * @param value HttpGet specifies the http request to perform.
     * Structure is documented below.
     */
    @JvmName("aheqowvkjjqjylfs")
    public suspend fun httpGet(`value`: Output) {
        this.httpGet = value
    }

    /**
     * @param value Number of seconds after the container has started before the probe is
     * initiated.
     * Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
     */
    @JvmName("buyxupyqjsknidwu")
    public suspend fun initialDelaySeconds(`value`: Output) {
        this.initialDelaySeconds = value
    }

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

    /**
     * @param value TcpSocket specifies an action involving a TCP port.
     * Structure is documented below.
     */
    @JvmName("wxqnalxqerfeeueg")
    public suspend fun tcpSocket(`value`: Output) {
        this.tcpSocket = value
    }

    /**
     * @param value Number of seconds after which the probe times out.
     * Defaults to 1 second. Minimum value is 1. Maximum value is 3600.
     * Must be smaller than periodSeconds.
     */
    @JvmName("fwceyaersqfpexcl")
    public suspend fun timeoutSeconds(`value`: Output) {
        this.timeoutSeconds = value
    }

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

    /**
     * @param value GRPC specifies an action involving a GRPC port.
     * Structure is documented below.
     */
    @JvmName("kffyisrsilroeujc")
    public suspend fun grpc(`value`: ServiceTemplateSpecContainerStartupProbeGrpcArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.grpc = mapped
    }

    /**
     * @param argument GRPC specifies an action involving a GRPC port.
     * Structure is documented below.
     */
    @JvmName("dflgpgkehagvcyfu")
    public suspend fun grpc(argument: suspend ServiceTemplateSpecContainerStartupProbeGrpcArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceTemplateSpecContainerStartupProbeGrpcArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.grpc = mapped
    }

    /**
     * @param value HttpGet specifies the http request to perform.
     * Structure is documented below.
     */
    @JvmName("qhiaawoexiqumant")
    public suspend fun httpGet(`value`: ServiceTemplateSpecContainerStartupProbeHttpGetArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpGet = mapped
    }

    /**
     * @param argument HttpGet specifies the http request to perform.
     * Structure is documented below.
     */
    @JvmName("hfujpvlilqvtwrak")
    public suspend fun httpGet(argument: suspend ServiceTemplateSpecContainerStartupProbeHttpGetArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceTemplateSpecContainerStartupProbeHttpGetArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.httpGet = mapped
    }

    /**
     * @param value Number of seconds after the container has started before the probe is
     * initiated.
     * Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
     */
    @JvmName("esjxdkgeahnjqfht")
    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.
     * Default to 10 seconds. Minimum value is 1. Maximum value is 240.
     */
    @JvmName("olsokhkeewcffgvx")
    public suspend fun periodSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.periodSeconds = mapped
    }

    /**
     * @param value TcpSocket specifies an action involving a TCP port.
     * Structure is documented below.
     */
    @JvmName("cpwrcxcuaqgwjqil")
    public suspend fun tcpSocket(`value`: ServiceTemplateSpecContainerStartupProbeTcpSocketArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tcpSocket = mapped
    }

    /**
     * @param argument TcpSocket specifies an action involving a TCP port.
     * Structure is documented below.
     */
    @JvmName("awadfwvrjwjrrjjd")
    public suspend fun tcpSocket(argument: suspend ServiceTemplateSpecContainerStartupProbeTcpSocketArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceTemplateSpecContainerStartupProbeTcpSocketArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.tcpSocket = mapped
    }

    /**
     * @param value Number of seconds after which the probe times out.
     * Defaults to 1 second. Minimum value is 1. Maximum value is 3600.
     * Must be smaller than periodSeconds.
     */
    @JvmName("cxwyohrdfdveykna")
    public suspend fun timeoutSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeoutSeconds = mapped
    }

    internal fun build(): ServiceTemplateSpecContainerStartupProbeArgs =
        ServiceTemplateSpecContainerStartupProbeArgs(
            failureThreshold = failureThreshold,
            grpc = grpc,
            httpGet = httpGet,
            initialDelaySeconds = initialDelaySeconds,
            periodSeconds = periodSeconds,
            tcpSocket = tcpSocket,
            timeoutSeconds = timeoutSeconds,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy