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

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

package com.pulumi.gcp.cloudbuild.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildStepArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property allowExitCodes Allow this build step to fail without failing the entire build if and
 * only if the exit code is one of the specified codes.
 * If `allowFailure` is also specified, this field will take precedence.
 * @property allowFailure Allow this build step to fail without failing the entire build.
 * If false, the entire build will fail if this step fails. Otherwise, the
 * build will succeed, but this step will still have a failure status.
 * Error information will be reported in the `failureDetail` field.
 * `allowExitCodes` takes precedence over this field.
 * @property args A list of arguments that will be presented to the step when it is started.
 * If the image used to run the step's container has an entrypoint, the args
 * are used as arguments to that entrypoint. If the image does not define an
 * entrypoint, the first element in args is used as the entrypoint, and the
 * remainder will be used as arguments.
 * @property dir Working directory to use when running this step's container.
 * If this value is a relative path, it is relative to the build's working
 * directory. If this value is absolute, it may be outside the build's working
 * directory, in which case the contents of the path may not be persisted
 * across build step executions, unless a `volume` for that path is specified.
 * If the build specifies a `RepoSource` with `dir` and a step with a
 * `dir`,
 * which specifies an absolute path, the `RepoSource` `dir` is ignored
 * for the step's execution.
 * @property entrypoint Entrypoint to be used instead of the build step image's
 * default entrypoint.
 * If unset, the image's default entrypoint is used
 * @property envs A list of environment variable definitions to be used when
 * running a step.
 * The elements are of the form "KEY=VALUE" for the environment variable
 * "KEY" being given the value "VALUE".
 * @property id Unique identifier for this build step, used in `wait_for` to
 * reference this build step as a dependency.
 * @property name The name of the container image that will run this particular build step.
 * If the image is available in the host's Docker daemon's cache, it will be
 * run directly. If not, the host will attempt to pull the image first, using
 * the builder service account's credentials if necessary.
 * The Docker daemon's cache will already have the latest versions of all of
 * the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders
 * for images and examples).
 * The Docker daemon will also have cached many of the layers for some popular
 * images, like "ubuntu", "debian", but they will be refreshed at the time
 * you attempt to use them.
 * If you built an image in a previous build step, it will be stored in the
 * host's Docker daemon's cache and is available to use as the name for a
 * later build step.
 * @property script A shell script to be executed in the step.
 * When script is provided, the user cannot specify the entrypoint or args.
 * @property secretEnvs A list of environment variables which are encrypted using
 * a Cloud Key
 * Management Service crypto key. These values must be specified in
 * the build's `Secret`.
 * @property timeout Time limit for executing this build step. If not defined,
 * the step has no
 * time limit and will be allowed to continue to run until either it
 * completes or the build itself times out.
 * @property timing Output only. Stores timing information for executing this
 * build step.
 * @property volumes List of volumes to mount into the build step.
 * Each volume is created as an empty volume prior to execution of the
 * build step. Upon completion of the build, volumes and their contents
 * are discarded.
 * Using a named volume in only one step is not valid as it is
 * indicative of a build request with an incorrect configuration.
 * Structure is documented below.
 * @property waitFors The ID(s) of the step(s) that this build step depends on.
 * This build step will not start until all the build steps in `wait_for`
 * have completed successfully. If `wait_for` is empty, this build step
 * will start when all previous build steps in the `Build.Steps` list
 * have completed successfully.
 */
public data class TriggerBuildStepArgs(
    public val allowExitCodes: Output>? = null,
    public val allowFailure: Output? = null,
    public val args: Output>? = null,
    public val dir: Output? = null,
    public val entrypoint: Output? = null,
    public val envs: Output>? = null,
    public val id: Output? = null,
    public val name: Output,
    public val script: Output? = null,
    public val secretEnvs: Output>? = null,
    public val timeout: Output? = null,
    public val timing: Output? = null,
    public val volumes: Output>? = null,
    public val waitFors: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.cloudbuild.inputs.TriggerBuildStepArgs =
        com.pulumi.gcp.cloudbuild.inputs.TriggerBuildStepArgs.builder()
            .allowExitCodes(allowExitCodes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .allowFailure(allowFailure?.applyValue({ args0 -> args0 }))
            .args(args?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .dir(dir?.applyValue({ args0 -> args0 }))
            .entrypoint(entrypoint?.applyValue({ args0 -> args0 }))
            .envs(envs?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .id(id?.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 }))
            .script(script?.applyValue({ args0 -> args0 }))
            .secretEnvs(secretEnvs?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .timeout(timeout?.applyValue({ args0 -> args0 }))
            .timing(timing?.applyValue({ args0 -> args0 }))
            .volumes(
                volumes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .waitFors(waitFors?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

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

    private var allowFailure: Output? = null

    private var args: Output>? = null

    private var dir: Output? = null

    private var entrypoint: Output? = null

    private var envs: Output>? = null

    private var id: Output? = null

    private var name: Output? = null

    private var script: Output? = null

    private var secretEnvs: Output>? = null

    private var timeout: Output? = null

    private var timing: Output? = null

    private var volumes: Output>? = null

    private var waitFors: Output>? = null

    /**
     * @param value Allow this build step to fail without failing the entire build if and
     * only if the exit code is one of the specified codes.
     * If `allowFailure` is also specified, this field will take precedence.
     */
    @JvmName("ldfixuicvhcabylt")
    public suspend fun allowExitCodes(`value`: Output>) {
        this.allowExitCodes = value
    }

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

    /**
     * @param values Allow this build step to fail without failing the entire build if and
     * only if the exit code is one of the specified codes.
     * If `allowFailure` is also specified, this field will take precedence.
     */
    @JvmName("byfdyhjacbxerwei")
    public suspend fun allowExitCodes(values: List>) {
        this.allowExitCodes = Output.all(values)
    }

    /**
     * @param value Allow this build step to fail without failing the entire build.
     * If false, the entire build will fail if this step fails. Otherwise, the
     * build will succeed, but this step will still have a failure status.
     * Error information will be reported in the `failureDetail` field.
     * `allowExitCodes` takes precedence over this field.
     */
    @JvmName("fhskxopksglwiwwh")
    public suspend fun allowFailure(`value`: Output) {
        this.allowFailure = value
    }

    /**
     * @param value A list of arguments that will be presented to the step when it is started.
     * If the image used to run the step's container has an entrypoint, the args
     * are used as arguments to that entrypoint. If the image does not define an
     * entrypoint, the first element in args is used as the entrypoint, and the
     * remainder will be used as arguments.
     */
    @JvmName("mcebodtdawkohpqg")
    public suspend fun args(`value`: Output>) {
        this.args = value
    }

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

    /**
     * @param values A list of arguments that will be presented to the step when it is started.
     * If the image used to run the step's container has an entrypoint, the args
     * are used as arguments to that entrypoint. If the image does not define an
     * entrypoint, the first element in args is used as the entrypoint, and the
     * remainder will be used as arguments.
     */
    @JvmName("swalyaiciqvkxddn")
    public suspend fun args(values: List>) {
        this.args = Output.all(values)
    }

    /**
     * @param value Working directory to use when running this step's container.
     * If this value is a relative path, it is relative to the build's working
     * directory. If this value is absolute, it may be outside the build's working
     * directory, in which case the contents of the path may not be persisted
     * across build step executions, unless a `volume` for that path is specified.
     * If the build specifies a `RepoSource` with `dir` and a step with a
     * `dir`,
     * which specifies an absolute path, the `RepoSource` `dir` is ignored
     * for the step's execution.
     */
    @JvmName("mvdeifcbrutxhhuv")
    public suspend fun dir(`value`: Output) {
        this.dir = value
    }

    /**
     * @param value Entrypoint to be used instead of the build step image's
     * default entrypoint.
     * If unset, the image's default entrypoint is used
     */
    @JvmName("cfwgotblcmgcajof")
    public suspend fun entrypoint(`value`: Output) {
        this.entrypoint = value
    }

    /**
     * @param value A list of environment variable definitions to be used when
     * running a step.
     * The elements are of the form "KEY=VALUE" for the environment variable
     * "KEY" being given the value "VALUE".
     */
    @JvmName("aspadlotsxsjbwqy")
    public suspend fun envs(`value`: Output>) {
        this.envs = value
    }

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

    /**
     * @param values A list of environment variable definitions to be used when
     * running a step.
     * The elements are of the form "KEY=VALUE" for the environment variable
     * "KEY" being given the value "VALUE".
     */
    @JvmName("raalmgtntpvexbfy")
    public suspend fun envs(values: List>) {
        this.envs = Output.all(values)
    }

    /**
     * @param value Unique identifier for this build step, used in `wait_for` to
     * reference this build step as a dependency.
     */
    @JvmName("vtlvrqtxttbfujjf")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value The name of the container image that will run this particular build step.
     * If the image is available in the host's Docker daemon's cache, it will be
     * run directly. If not, the host will attempt to pull the image first, using
     * the builder service account's credentials if necessary.
     * The Docker daemon's cache will already have the latest versions of all of
     * the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders
     * for images and examples).
     * The Docker daemon will also have cached many of the layers for some popular
     * images, like "ubuntu", "debian", but they will be refreshed at the time
     * you attempt to use them.
     * If you built an image in a previous build step, it will be stored in the
     * host's Docker daemon's cache and is available to use as the name for a
     * later build step.
     */
    @JvmName("rtuekqywtbkdjbay")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value A shell script to be executed in the step.
     * When script is provided, the user cannot specify the entrypoint or args.
     */
    @JvmName("kvhctoojrbkubcaa")
    public suspend fun script(`value`: Output) {
        this.script = value
    }

    /**
     * @param value A list of environment variables which are encrypted using
     * a Cloud Key
     * Management Service crypto key. These values must be specified in
     * the build's `Secret`.
     */
    @JvmName("fcjalgmifvrcqjmr")
    public suspend fun secretEnvs(`value`: Output>) {
        this.secretEnvs = value
    }

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

    /**
     * @param values A list of environment variables which are encrypted using
     * a Cloud Key
     * Management Service crypto key. These values must be specified in
     * the build's `Secret`.
     */
    @JvmName("sniaeuijfuksfldm")
    public suspend fun secretEnvs(values: List>) {
        this.secretEnvs = Output.all(values)
    }

    /**
     * @param value Time limit for executing this build step. If not defined,
     * the step has no
     * time limit and will be allowed to continue to run until either it
     * completes or the build itself times out.
     */
    @JvmName("fkqxonwgnywwqgpp")
    public suspend fun timeout(`value`: Output) {
        this.timeout = value
    }

    /**
     * @param value Output only. Stores timing information for executing this
     * build step.
     */
    @JvmName("ppawkdftxugannbw")
    public suspend fun timing(`value`: Output) {
        this.timing = value
    }

    /**
     * @param value List of volumes to mount into the build step.
     * Each volume is created as an empty volume prior to execution of the
     * build step. Upon completion of the build, volumes and their contents
     * are discarded.
     * Using a named volume in only one step is not valid as it is
     * indicative of a build request with an incorrect configuration.
     * Structure is documented below.
     */
    @JvmName("buboiytmfdkvectl")
    public suspend fun volumes(`value`: Output>) {
        this.volumes = value
    }

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

    /**
     * @param values List of volumes to mount into the build step.
     * Each volume is created as an empty volume prior to execution of the
     * build step. Upon completion of the build, volumes and their contents
     * are discarded.
     * Using a named volume in only one step is not valid as it is
     * indicative of a build request with an incorrect configuration.
     * Structure is documented below.
     */
    @JvmName("nbfadyychalwmrbj")
    public suspend fun volumes(values: List>) {
        this.volumes = Output.all(values)
    }

    /**
     * @param value The ID(s) of the step(s) that this build step depends on.
     * This build step will not start until all the build steps in `wait_for`
     * have completed successfully. If `wait_for` is empty, this build step
     * will start when all previous build steps in the `Build.Steps` list
     * have completed successfully.
     */
    @JvmName("ififpmslkvvbhmoa")
    public suspend fun waitFors(`value`: Output>) {
        this.waitFors = value
    }

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

    /**
     * @param values The ID(s) of the step(s) that this build step depends on.
     * This build step will not start until all the build steps in `wait_for`
     * have completed successfully. If `wait_for` is empty, this build step
     * will start when all previous build steps in the `Build.Steps` list
     * have completed successfully.
     */
    @JvmName("kvjkkimxsdbrgmbs")
    public suspend fun waitFors(values: List>) {
        this.waitFors = Output.all(values)
    }

    /**
     * @param value Allow this build step to fail without failing the entire build if and
     * only if the exit code is one of the specified codes.
     * If `allowFailure` is also specified, this field will take precedence.
     */
    @JvmName("hhvxjnlfpvrqillg")
    public suspend fun allowExitCodes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowExitCodes = mapped
    }

    /**
     * @param values Allow this build step to fail without failing the entire build if and
     * only if the exit code is one of the specified codes.
     * If `allowFailure` is also specified, this field will take precedence.
     */
    @JvmName("squojnttruvvtsfg")
    public suspend fun allowExitCodes(vararg values: Int) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowExitCodes = mapped
    }

    /**
     * @param value Allow this build step to fail without failing the entire build.
     * If false, the entire build will fail if this step fails. Otherwise, the
     * build will succeed, but this step will still have a failure status.
     * Error information will be reported in the `failureDetail` field.
     * `allowExitCodes` takes precedence over this field.
     */
    @JvmName("fvvangmikedrtkph")
    public suspend fun allowFailure(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowFailure = mapped
    }

    /**
     * @param value A list of arguments that will be presented to the step when it is started.
     * If the image used to run the step's container has an entrypoint, the args
     * are used as arguments to that entrypoint. If the image does not define an
     * entrypoint, the first element in args is used as the entrypoint, and the
     * remainder will be used as arguments.
     */
    @JvmName("feehxgfglemakaem")
    public suspend fun args(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.args = mapped
    }

    /**
     * @param values A list of arguments that will be presented to the step when it is started.
     * If the image used to run the step's container has an entrypoint, the args
     * are used as arguments to that entrypoint. If the image does not define an
     * entrypoint, the first element in args is used as the entrypoint, and the
     * remainder will be used as arguments.
     */
    @JvmName("ypivamxfeieiogsq")
    public suspend fun args(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.args = mapped
    }

    /**
     * @param value Working directory to use when running this step's container.
     * If this value is a relative path, it is relative to the build's working
     * directory. If this value is absolute, it may be outside the build's working
     * directory, in which case the contents of the path may not be persisted
     * across build step executions, unless a `volume` for that path is specified.
     * If the build specifies a `RepoSource` with `dir` and a step with a
     * `dir`,
     * which specifies an absolute path, the `RepoSource` `dir` is ignored
     * for the step's execution.
     */
    @JvmName("nptjfqdvmhwgeeeo")
    public suspend fun dir(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dir = mapped
    }

    /**
     * @param value Entrypoint to be used instead of the build step image's
     * default entrypoint.
     * If unset, the image's default entrypoint is used
     */
    @JvmName("takwiyqgwouqhrgx")
    public suspend fun entrypoint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.entrypoint = mapped
    }

    /**
     * @param value A list of environment variable definitions to be used when
     * running a step.
     * The elements are of the form "KEY=VALUE" for the environment variable
     * "KEY" being given the value "VALUE".
     */
    @JvmName("jsjbtjqvpvwmirnr")
    public suspend fun envs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.envs = mapped
    }

    /**
     * @param values A list of environment variable definitions to be used when
     * running a step.
     * The elements are of the form "KEY=VALUE" for the environment variable
     * "KEY" being given the value "VALUE".
     */
    @JvmName("fusijcbmovxpiqkr")
    public suspend fun envs(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.envs = mapped
    }

    /**
     * @param value Unique identifier for this build step, used in `wait_for` to
     * reference this build step as a dependency.
     */
    @JvmName("ctelkfhnshkofjff")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value The name of the container image that will run this particular build step.
     * If the image is available in the host's Docker daemon's cache, it will be
     * run directly. If not, the host will attempt to pull the image first, using
     * the builder service account's credentials if necessary.
     * The Docker daemon's cache will already have the latest versions of all of
     * the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders
     * for images and examples).
     * The Docker daemon will also have cached many of the layers for some popular
     * images, like "ubuntu", "debian", but they will be refreshed at the time
     * you attempt to use them.
     * If you built an image in a previous build step, it will be stored in the
     * host's Docker daemon's cache and is available to use as the name for a
     * later build step.
     */
    @JvmName("ihmsbyceoncebtgg")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value A shell script to be executed in the step.
     * When script is provided, the user cannot specify the entrypoint or args.
     */
    @JvmName("oyfmsxgvygtfmcrb")
    public suspend fun script(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.script = mapped
    }

    /**
     * @param value A list of environment variables which are encrypted using
     * a Cloud Key
     * Management Service crypto key. These values must be specified in
     * the build's `Secret`.
     */
    @JvmName("gdtrpdlhpcsgawef")
    public suspend fun secretEnvs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.secretEnvs = mapped
    }

    /**
     * @param values A list of environment variables which are encrypted using
     * a Cloud Key
     * Management Service crypto key. These values must be specified in
     * the build's `Secret`.
     */
    @JvmName("pcxycwrvwpifaklt")
    public suspend fun secretEnvs(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.secretEnvs = mapped
    }

    /**
     * @param value Time limit for executing this build step. If not defined,
     * the step has no
     * time limit and will be allowed to continue to run until either it
     * completes or the build itself times out.
     */
    @JvmName("qlmuqsokckxaqcjd")
    public suspend fun timeout(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeout = mapped
    }

    /**
     * @param value Output only. Stores timing information for executing this
     * build step.
     */
    @JvmName("neymfbxynovctplj")
    public suspend fun timing(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timing = mapped
    }

    /**
     * @param value List of volumes to mount into the build step.
     * Each volume is created as an empty volume prior to execution of the
     * build step. Upon completion of the build, volumes and their contents
     * are discarded.
     * Using a named volume in only one step is not valid as it is
     * indicative of a build request with an incorrect configuration.
     * Structure is documented below.
     */
    @JvmName("tldyfanavihxmykn")
    public suspend fun volumes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.volumes = mapped
    }

    /**
     * @param argument List of volumes to mount into the build step.
     * Each volume is created as an empty volume prior to execution of the
     * build step. Upon completion of the build, volumes and their contents
     * are discarded.
     * Using a named volume in only one step is not valid as it is
     * indicative of a build request with an incorrect configuration.
     * Structure is documented below.
     */
    @JvmName("barmrgnluipokakv")
    public suspend fun volumes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TriggerBuildStepVolumeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.volumes = mapped
    }

    /**
     * @param argument List of volumes to mount into the build step.
     * Each volume is created as an empty volume prior to execution of the
     * build step. Upon completion of the build, volumes and their contents
     * are discarded.
     * Using a named volume in only one step is not valid as it is
     * indicative of a build request with an incorrect configuration.
     * Structure is documented below.
     */
    @JvmName("sdfgvemtjscvbhpn")
    public suspend fun volumes(vararg argument: suspend TriggerBuildStepVolumeArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TriggerBuildStepVolumeArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.volumes = mapped
    }

    /**
     * @param argument List of volumes to mount into the build step.
     * Each volume is created as an empty volume prior to execution of the
     * build step. Upon completion of the build, volumes and their contents
     * are discarded.
     * Using a named volume in only one step is not valid as it is
     * indicative of a build request with an incorrect configuration.
     * Structure is documented below.
     */
    @JvmName("typyleffxkcbutsh")
    public suspend fun volumes(argument: suspend TriggerBuildStepVolumeArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TriggerBuildStepVolumeArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.volumes = mapped
    }

    /**
     * @param values List of volumes to mount into the build step.
     * Each volume is created as an empty volume prior to execution of the
     * build step. Upon completion of the build, volumes and their contents
     * are discarded.
     * Using a named volume in only one step is not valid as it is
     * indicative of a build request with an incorrect configuration.
     * Structure is documented below.
     */
    @JvmName("asgtwyxbvisvdwij")
    public suspend fun volumes(vararg values: TriggerBuildStepVolumeArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.volumes = mapped
    }

    /**
     * @param value The ID(s) of the step(s) that this build step depends on.
     * This build step will not start until all the build steps in `wait_for`
     * have completed successfully. If `wait_for` is empty, this build step
     * will start when all previous build steps in the `Build.Steps` list
     * have completed successfully.
     */
    @JvmName("wvkltqhccbqgwysh")
    public suspend fun waitFors(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.waitFors = mapped
    }

    /**
     * @param values The ID(s) of the step(s) that this build step depends on.
     * This build step will not start until all the build steps in `wait_for`
     * have completed successfully. If `wait_for` is empty, this build step
     * will start when all previous build steps in the `Build.Steps` list
     * have completed successfully.
     */
    @JvmName("ilyaxorajvnmgedc")
    public suspend fun waitFors(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.waitFors = mapped
    }

    internal fun build(): TriggerBuildStepArgs = TriggerBuildStepArgs(
        allowExitCodes = allowExitCodes,
        allowFailure = allowFailure,
        args = args,
        dir = dir,
        entrypoint = entrypoint,
        envs = envs,
        id = id,
        name = name ?: throw PulumiNullFieldException("name"),
        script = script,
        secretEnvs = secretEnvs,
        timeout = timeout,
        timing = timing,
        volumes = volumes,
        waitFors = waitFors,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy