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

com.pulumi.gcp.cloudrunv2.kotlin.inputs.ServiceTemplateContainerArgs.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.cloudrunv2.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.cloudrunv2.inputs.ServiceTemplateContainerArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property args Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
 * @property commands Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
 * @property dependsOns Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
 * @property envs List of environment variables to set in the container.
 * Structure is documented below.
 * @property image URL of the Container image in Google Container Registry or Google Artifact Registry. More info: https://kubernetes.io/docs/concepts/containers/images
 * @property livenessProbe Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
 * Structure is documented below.
 * @property name Name of the container specified as a DNS_LABEL.
 * @property ports List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
 * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
 * Structure is documented below.
 * @property resources Compute Resource requirements by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
 * Structure is documented below.
 * @property startupProbe Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
 * Structure is documented below.
 * @property volumeMounts Volume to mount into the container's filesystem.
 * Structure is documented below.
 * @property workingDir Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.
 */
public data class ServiceTemplateContainerArgs(
    public val args: Output>? = null,
    public val commands: Output>? = null,
    public val dependsOns: Output>? = null,
    public val envs: Output>? = null,
    public val image: Output,
    public val livenessProbe: Output? = null,
    public val name: Output? = null,
    public val ports: Output>? = null,
    public val resources: Output? = null,
    public val startupProbe: Output? = null,
    public val volumeMounts: Output>? = null,
    public val workingDir: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.cloudrunv2.inputs.ServiceTemplateContainerArgs =
        com.pulumi.gcp.cloudrunv2.inputs.ServiceTemplateContainerArgs.builder()
            .args(args?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .commands(commands?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .dependsOns(dependsOns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .envs(envs?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .image(image.applyValue({ args0 -> args0 }))
            .livenessProbe(livenessProbe?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .name(name?.applyValue({ args0 -> args0 }))
            .ports(ports?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .resources(resources?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .startupProbe(startupProbe?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .volumeMounts(
                volumeMounts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .workingDir(workingDir?.applyValue({ args0 -> args0 })).build()
}

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

    private var commands: Output>? = null

    private var dependsOns: Output>? = null

    private var envs: Output>? = null

    private var image: Output? = null

    private var livenessProbe: Output? = null

    private var name: Output? = null

    private var ports: Output>? = null

    private var resources: Output? = null

    private var startupProbe: Output? = null

    private var volumeMounts: Output>? = null

    private var workingDir: Output? = null

    /**
     * @param value Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("vguteaabgpqtehxr")
    public suspend fun args(`value`: Output>) {
        this.args = value
    }

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

    /**
     * @param values Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("lidvpfgwswghpoys")
    public suspend fun args(values: List>) {
        this.args = Output.all(values)
    }

    /**
     * @param value Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("rmpqqvkrbprlhafb")
    public suspend fun commands(`value`: Output>) {
        this.commands = value
    }

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

    /**
     * @param values Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("epxrehrujsttnhrw")
    public suspend fun commands(values: List>) {
        this.commands = Output.all(values)
    }

    /**
     * @param value Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
     */
    @JvmName("ayxaeetiowllsigi")
    public suspend fun dependsOns(`value`: Output>) {
        this.dependsOns = value
    }

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

    /**
     * @param values Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
     */
    @JvmName("wbtmhulgpxncphou")
    public suspend fun dependsOns(values: List>) {
        this.dependsOns = Output.all(values)
    }

    /**
     * @param value List of environment variables to set in the container.
     * Structure is documented below.
     */
    @JvmName("sejsoqhmyguvqrax")
    public suspend fun envs(`value`: Output>) {
        this.envs = value
    }

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

    /**
     * @param values List of environment variables to set in the container.
     * Structure is documented below.
     */
    @JvmName("avawcqubvpgmswlg")
    public suspend fun envs(values: List>) {
        this.envs = Output.all(values)
    }

    /**
     * @param value URL of the Container image in Google Container Registry or Google Artifact Registry. More info: https://kubernetes.io/docs/concepts/containers/images
     */
    @JvmName("ykbtkkjlpohkuecu")
    public suspend fun image(`value`: Output) {
        this.image = value
    }

    /**
     * @param value Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     * Structure is documented below.
     */
    @JvmName("eqtplrguopcnguir")
    public suspend fun livenessProbe(`value`: Output) {
        this.livenessProbe = value
    }

    /**
     * @param value Name of the container specified as a DNS_LABEL.
     */
    @JvmName("hwlalljprxtxxuyr")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
     * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
     * Structure is documented below.
     */
    @JvmName("cjdelowsrvwundxw")
    public suspend fun ports(`value`: Output>) {
        this.ports = value
    }

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

    /**
     * @param values List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
     * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
     * Structure is documented below.
     */
    @JvmName("flmlbvnkfatjinjl")
    public suspend fun ports(values: List>) {
        this.ports = Output.all(values)
    }

    /**
     * @param value Compute Resource requirements by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
     * Structure is documented below.
     */
    @JvmName("nxcnjvjtgkfrfccg")
    public suspend fun resources(`value`: Output) {
        this.resources = value
    }

    /**
     * @param value Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     * Structure is documented below.
     */
    @JvmName("wgtuipgoxifvrmhx")
    public suspend fun startupProbe(`value`: Output) {
        this.startupProbe = value
    }

    /**
     * @param value Volume to mount into the container's filesystem.
     * Structure is documented below.
     */
    @JvmName("nmidksdxaigvxffm")
    public suspend fun volumeMounts(`value`: Output>) {
        this.volumeMounts = value
    }

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

    /**
     * @param values Volume to mount into the container's filesystem.
     * Structure is documented below.
     */
    @JvmName("irlssifnramikmid")
    public suspend fun volumeMounts(values: List>) {
        this.volumeMounts = Output.all(values)
    }

    /**
     * @param value Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.
     */
    @JvmName("yiojnjvulkadrqmg")
    public suspend fun workingDir(`value`: Output) {
        this.workingDir = value
    }

    /**
     * @param value Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("cvacdojeqpidxteg")
    public suspend fun args(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.args = mapped
    }

    /**
     * @param values Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("udmkrxlqevrdstmc")
    public suspend fun args(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.args = mapped
    }

    /**
     * @param value Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("iaingbtnvdacodqp")
    public suspend fun commands(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.commands = mapped
    }

    /**
     * @param values Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
     */
    @JvmName("nehtamifsggbpwkq")
    public suspend fun commands(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.commands = mapped
    }

    /**
     * @param value Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
     */
    @JvmName("xxdnmqpnwrrejphh")
    public suspend fun dependsOns(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dependsOns = mapped
    }

    /**
     * @param values Containers which should be started before this container. If specified the container will wait to start until all containers with the listed names are healthy.
     */
    @JvmName("llsvqexlaujtowkc")
    public suspend fun dependsOns(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.dependsOns = mapped
    }

    /**
     * @param value List of environment variables to set in the container.
     * Structure is documented below.
     */
    @JvmName("cudnsnjakkccolhk")
    public suspend fun envs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.envs = mapped
    }

    /**
     * @param argument List of environment variables to set in the container.
     * Structure is documented below.
     */
    @JvmName("kjsecpnbuqfbisky")
    public suspend fun envs(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ServiceTemplateContainerEnvArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.envs = mapped
    }

    /**
     * @param argument List of environment variables to set in the container.
     * Structure is documented below.
     */
    @JvmName("kbxwpnmfjbnxvups")
    public suspend fun envs(vararg argument: suspend ServiceTemplateContainerEnvArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ServiceTemplateContainerEnvArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.envs = mapped
    }

    /**
     * @param argument List of environment variables to set in the container.
     * Structure is documented below.
     */
    @JvmName("slmhhlvlbomoqrsk")
    public suspend fun envs(argument: suspend ServiceTemplateContainerEnvArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ServiceTemplateContainerEnvArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.envs = mapped
    }

    /**
     * @param values List of environment variables to set in the container.
     * Structure is documented below.
     */
    @JvmName("wdjeqkswlqedndot")
    public suspend fun envs(vararg values: ServiceTemplateContainerEnvArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.envs = mapped
    }

    /**
     * @param value URL of the Container image in Google Container Registry or Google Artifact Registry. More info: https://kubernetes.io/docs/concepts/containers/images
     */
    @JvmName("gqqouqoujorpthay")
    public suspend fun image(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.image = mapped
    }

    /**
     * @param value Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     * Structure is documented below.
     */
    @JvmName("syxqxdsomdgxnydq")
    public suspend fun livenessProbe(`value`: ServiceTemplateContainerLivenessProbeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.livenessProbe = mapped
    }

    /**
     * @param argument Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     * Structure is documented below.
     */
    @JvmName("ycbfxmpisbtpvtur")
    public suspend fun livenessProbe(argument: suspend ServiceTemplateContainerLivenessProbeArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceTemplateContainerLivenessProbeArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.livenessProbe = mapped
    }

    /**
     * @param value Name of the container specified as a DNS_LABEL.
     */
    @JvmName("pbhwbqvlitybhhva")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
     * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
     * Structure is documented below.
     */
    @JvmName("ycgmmxltmfsaeytt")
    public suspend fun ports(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ports = mapped
    }

    /**
     * @param argument List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
     * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
     * Structure is documented below.
     */
    @JvmName("herodrmbdnoitwma")
    public suspend fun ports(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ServiceTemplateContainerPortArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.ports = mapped
    }

    /**
     * @param argument List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
     * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
     * Structure is documented below.
     */
    @JvmName("irdeerxjcygvtfek")
    public suspend fun ports(vararg argument: suspend ServiceTemplateContainerPortArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ServiceTemplateContainerPortArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.ports = mapped
    }

    /**
     * @param argument List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
     * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
     * Structure is documented below.
     */
    @JvmName("pyoqqqunqhcftsdr")
    public suspend fun ports(argument: suspend ServiceTemplateContainerPortArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ServiceTemplateContainerPortArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.ports = mapped
    }

    /**
     * @param values List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible.
     * If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on
     * Structure is documented below.
     */
    @JvmName("krmfaxhrhotfaiul")
    public suspend fun ports(vararg values: ServiceTemplateContainerPortArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ports = mapped
    }

    /**
     * @param value Compute Resource requirements by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
     * Structure is documented below.
     */
    @JvmName("okdjgkccwnpiqrys")
    public suspend fun resources(`value`: ServiceTemplateContainerResourcesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resources = mapped
    }

    /**
     * @param argument Compute Resource requirements by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
     * Structure is documented below.
     */
    @JvmName("yqdpicedflnhdouh")
    public suspend fun resources(argument: suspend ServiceTemplateContainerResourcesArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceTemplateContainerResourcesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.resources = mapped
    }

    /**
     * @param value Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     * Structure is documented below.
     */
    @JvmName("lksglpdhkmihqdke")
    public suspend fun startupProbe(`value`: ServiceTemplateContainerStartupProbeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.startupProbe = mapped
    }

    /**
     * @param argument Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
     * Structure is documented below.
     */
    @JvmName("vekqhsharbmhdasc")
    public suspend fun startupProbe(argument: suspend ServiceTemplateContainerStartupProbeArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceTemplateContainerStartupProbeArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.startupProbe = mapped
    }

    /**
     * @param value Volume to mount into the container's filesystem.
     * Structure is documented below.
     */
    @JvmName("nnjhfefqprnjfcuf")
    public suspend fun volumeMounts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.volumeMounts = mapped
    }

    /**
     * @param argument Volume to mount into the container's filesystem.
     * Structure is documented below.
     */
    @JvmName("jkdidditxocfuyxv")
    public suspend fun volumeMounts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ServiceTemplateContainerVolumeMountArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.volumeMounts = mapped
    }

    /**
     * @param argument Volume to mount into the container's filesystem.
     * Structure is documented below.
     */
    @JvmName("tdxaxbondviobdaq")
    public suspend fun volumeMounts(vararg argument: suspend ServiceTemplateContainerVolumeMountArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ServiceTemplateContainerVolumeMountArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.volumeMounts = mapped
    }

    /**
     * @param argument Volume to mount into the container's filesystem.
     * Structure is documented below.
     */
    @JvmName("wdrkxrtutaehyuvf")
    public suspend fun volumeMounts(argument: suspend ServiceTemplateContainerVolumeMountArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ServiceTemplateContainerVolumeMountArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.volumeMounts = mapped
    }

    /**
     * @param values Volume to mount into the container's filesystem.
     * Structure is documented below.
     */
    @JvmName("lvqlibxjihwvggpx")
    public suspend fun volumeMounts(vararg values: ServiceTemplateContainerVolumeMountArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.volumeMounts = mapped
    }

    /**
     * @param value Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.
     */
    @JvmName("uofdbarapxymixqe")
    public suspend fun workingDir(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workingDir = mapped
    }

    internal fun build(): ServiceTemplateContainerArgs = ServiceTemplateContainerArgs(
        args = args,
        commands = commands,
        dependsOns = dependsOns,
        envs = envs,
        image = image ?: throw PulumiNullFieldException("image"),
        livenessProbe = livenessProbe,
        name = name,
        ports = ports,
        resources = resources,
        startupProbe = startupProbe,
        volumeMounts = volumeMounts,
        workingDir = workingDir,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy