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

com.pulumi.awsnative.codepipeline.kotlin.PipelineArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.codepipeline.kotlin

import com.pulumi.awsnative.codepipeline.PipelineArgs.builder
import com.pulumi.awsnative.codepipeline.kotlin.enums.PipelineExecutionMode
import com.pulumi.awsnative.codepipeline.kotlin.enums.PipelineType
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineArtifactStoreArgs
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineArtifactStoreArgsBuilder
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineArtifactStoreMapArgs
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineArtifactStoreMapArgsBuilder
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineStageDeclarationArgs
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineStageDeclarationArgsBuilder
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineStageTransitionArgs
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineStageTransitionArgsBuilder
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineTriggerDeclarationArgs
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineTriggerDeclarationArgsBuilder
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineVariableDeclarationArgs
import com.pulumi.awsnative.codepipeline.kotlin.inputs.PipelineVariableDeclarationArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process.
 * @property artifactStore The S3 bucket where artifacts for the pipeline are stored.
 * @property artifactStores A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
 * @property disableInboundStageTransitions Represents the input of a DisableStageTransition action.
 * @property executionMode The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.
 * @property name The name of the pipeline.
 * @property pipelineType CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.
 * @property restartExecutionOnUpdate Indicates whether to rerun the CodePipeline pipeline after you update it.
 * @property roleArn The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn
 * @property stages Represents information about a stage and its definition.
 * @property tags Specifies the tags applied to the pipeline.
 * @property triggers The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
 * @property variables A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
 */
public data class PipelineArgs(
    public val artifactStore: Output? = null,
    public val artifactStores: Output>? = null,
    public val disableInboundStageTransitions: Output>? = null,
    public val executionMode: Output? = null,
    public val name: Output? = null,
    public val pipelineType: Output? = null,
    public val restartExecutionOnUpdate: Output? = null,
    public val roleArn: Output? = null,
    public val stages: Output>? = null,
    public val tags: Output>? = null,
    public val triggers: Output>? = null,
    public val variables: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.codepipeline.PipelineArgs =
        com.pulumi.awsnative.codepipeline.PipelineArgs.builder()
            .artifactStore(artifactStore?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .artifactStores(
                artifactStores?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .disableInboundStageTransitions(
                disableInboundStageTransitions?.applyValue({ args0 ->
                    args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .executionMode(executionMode?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .name(name?.applyValue({ args0 -> args0 }))
            .pipelineType(pipelineType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .restartExecutionOnUpdate(restartExecutionOnUpdate?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .stages(stages?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .triggers(
                triggers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .variables(
                variables?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [PipelineArgs].
 */
@PulumiTagMarker
public class PipelineArgsBuilder internal constructor() {
    private var artifactStore: Output? = null

    private var artifactStores: Output>? = null

    private var disableInboundStageTransitions: Output>? = null

    private var executionMode: Output? = null

    private var name: Output? = null

    private var pipelineType: Output? = null

    private var restartExecutionOnUpdate: Output? = null

    private var roleArn: Output? = null

    private var stages: Output>? = null

    private var tags: Output>? = null

    private var triggers: Output>? = null

    private var variables: Output>? = null

    /**
     * @param value The S3 bucket where artifacts for the pipeline are stored.
     */
    @JvmName("wdnxopfsvrjjkpbk")
    public suspend fun artifactStore(`value`: Output) {
        this.artifactStore = value
    }

    /**
     * @param value A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    @JvmName("uslelmrhhawfyfdx")
    public suspend fun artifactStores(`value`: Output>) {
        this.artifactStores = value
    }

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

    /**
     * @param values A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    @JvmName("bocmysndnjhgmtvf")
    public suspend fun artifactStores(values: List>) {
        this.artifactStores = Output.all(values)
    }

    /**
     * @param value Represents the input of a DisableStageTransition action.
     */
    @JvmName("chusccybgvroobhk")
    public suspend fun disableInboundStageTransitions(`value`: Output>) {
        this.disableInboundStageTransitions = value
    }

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

    /**
     * @param values Represents the input of a DisableStageTransition action.
     */
    @JvmName("ptwicepvjhhsehbc")
    public suspend fun disableInboundStageTransitions(values: List>) {
        this.disableInboundStageTransitions = Output.all(values)
    }

    /**
     * @param value The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.
     */
    @JvmName("matbqbmcymnlcfmt")
    public suspend fun executionMode(`value`: Output) {
        this.executionMode = value
    }

    /**
     * @param value The name of the pipeline.
     */
    @JvmName("wyrexbthxcqcjiwt")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.
     */
    @JvmName("dnetpncfncfxrrxf")
    public suspend fun pipelineType(`value`: Output) {
        this.pipelineType = value
    }

    /**
     * @param value Indicates whether to rerun the CodePipeline pipeline after you update it.
     */
    @JvmName("maxpxuovnogicpwq")
    public suspend fun restartExecutionOnUpdate(`value`: Output) {
        this.restartExecutionOnUpdate = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn
     */
    @JvmName("keexsrihsfsqqnyd")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value Represents information about a stage and its definition.
     */
    @JvmName("qbiplioxcqqaoafb")
    public suspend fun stages(`value`: Output>) {
        this.stages = value
    }

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

    /**
     * @param values Represents information about a stage and its definition.
     */
    @JvmName("pngykelltwcpjrdw")
    public suspend fun stages(values: List>) {
        this.stages = Output.all(values)
    }

    /**
     * @param value Specifies the tags applied to the pipeline.
     */
    @JvmName("jvnaaxncxvwayqdw")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

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

    /**
     * @param values Specifies the tags applied to the pipeline.
     */
    @JvmName("nltwlfkplshwtaxy")
    public suspend fun tags(values: List>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    @JvmName("urwvypbvnnrtlbpx")
    public suspend fun triggers(`value`: Output>) {
        this.triggers = value
    }

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

    /**
     * @param values The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    @JvmName("kspcxmvqfiefsrex")
    public suspend fun triggers(values: List>) {
        this.triggers = Output.all(values)
    }

    /**
     * @param value A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    @JvmName("nykagoypcnnwveng")
    public suspend fun variables(`value`: Output>) {
        this.variables = value
    }

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

    /**
     * @param values A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    @JvmName("fhtnrujsjrjfiwnv")
    public suspend fun variables(values: List>) {
        this.variables = Output.all(values)
    }

    /**
     * @param value The S3 bucket where artifacts for the pipeline are stored.
     */
    @JvmName("bvtxevqqcxdpgfcn")
    public suspend fun artifactStore(`value`: PipelineArtifactStoreArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.artifactStore = mapped
    }

    /**
     * @param argument The S3 bucket where artifacts for the pipeline are stored.
     */
    @JvmName("fhsxyrctdgofgopj")
    public suspend fun artifactStore(argument: suspend PipelineArtifactStoreArgsBuilder.() -> Unit) {
        val toBeMapped = PipelineArtifactStoreArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.artifactStore = mapped
    }

    /**
     * @param value A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    @JvmName("iewcdxijqniljtqo")
    public suspend fun artifactStores(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.artifactStores = mapped
    }

    /**
     * @param argument A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    @JvmName("mfxqvgspulxfsibo")
    public suspend fun artifactStores(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineArtifactStoreMapArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.artifactStores = mapped
    }

    /**
     * @param argument A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    @JvmName("xefyxleeqgcreuld")
    public suspend fun artifactStores(vararg argument: suspend PipelineArtifactStoreMapArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineArtifactStoreMapArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.artifactStores = mapped
    }

    /**
     * @param argument A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    @JvmName("wnwullvspwpdlnkv")
    public suspend fun artifactStores(argument: suspend PipelineArtifactStoreMapArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipelineArtifactStoreMapArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.artifactStores = mapped
    }

    /**
     * @param values A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    @JvmName("rxtlcoukopgkueso")
    public suspend fun artifactStores(vararg values: PipelineArtifactStoreMapArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.artifactStores = mapped
    }

    /**
     * @param value Represents the input of a DisableStageTransition action.
     */
    @JvmName("rnhjsoonsekwtrwi")
    public suspend fun disableInboundStageTransitions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableInboundStageTransitions = mapped
    }

    /**
     * @param argument Represents the input of a DisableStageTransition action.
     */
    @JvmName("qggcinlqafvkhvxw")
    public suspend fun disableInboundStageTransitions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineStageTransitionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.disableInboundStageTransitions = mapped
    }

    /**
     * @param argument Represents the input of a DisableStageTransition action.
     */
    @JvmName("teinkjrlrvesipvp")
    public suspend fun disableInboundStageTransitions(vararg argument: suspend PipelineStageTransitionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineStageTransitionArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.disableInboundStageTransitions = mapped
    }

    /**
     * @param argument Represents the input of a DisableStageTransition action.
     */
    @JvmName("fegrpvhejdilkftp")
    public suspend fun disableInboundStageTransitions(argument: suspend PipelineStageTransitionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipelineStageTransitionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.disableInboundStageTransitions = mapped
    }

    /**
     * @param values Represents the input of a DisableStageTransition action.
     */
    @JvmName("rxmcmhunmowcrebo")
    public suspend fun disableInboundStageTransitions(vararg values: PipelineStageTransitionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.disableInboundStageTransitions = mapped
    }

    /**
     * @param value The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.
     */
    @JvmName("cwmyavgonltjtlmf")
    public suspend fun executionMode(`value`: PipelineExecutionMode?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.executionMode = mapped
    }

    /**
     * @param value The name of the pipeline.
     */
    @JvmName("wjmjbrawgykpsiuj")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.
     */
    @JvmName("ilufubteljamtwfp")
    public suspend fun pipelineType(`value`: PipelineType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pipelineType = mapped
    }

    /**
     * @param value Indicates whether to rerun the CodePipeline pipeline after you update it.
     */
    @JvmName("kcbmqhnrufaeunfn")
    public suspend fun restartExecutionOnUpdate(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.restartExecutionOnUpdate = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn
     */
    @JvmName("mggnpyasdtgcgubp")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value Represents information about a stage and its definition.
     */
    @JvmName("kuevymnofhnvctmd")
    public suspend fun stages(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.stages = mapped
    }

    /**
     * @param argument Represents information about a stage and its definition.
     */
    @JvmName("fysvfwnhfsxerndc")
    public suspend fun stages(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineStageDeclarationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.stages = mapped
    }

    /**
     * @param argument Represents information about a stage and its definition.
     */
    @JvmName("ywvqjmbnqvxyhrix")
    public suspend fun stages(vararg argument: suspend PipelineStageDeclarationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineStageDeclarationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.stages = mapped
    }

    /**
     * @param argument Represents information about a stage and its definition.
     */
    @JvmName("ydfcwqqurtdjcqqe")
    public suspend fun stages(argument: suspend PipelineStageDeclarationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipelineStageDeclarationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.stages = mapped
    }

    /**
     * @param values Represents information about a stage and its definition.
     */
    @JvmName("ddiyovobjbkgasbk")
    public suspend fun stages(vararg values: PipelineStageDeclarationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.stages = mapped
    }

    /**
     * @param value Specifies the tags applied to the pipeline.
     */
    @JvmName("bybrgxatunyudmiw")
    public suspend fun tags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param argument Specifies the tags applied to the pipeline.
     */
    @JvmName("wtngawjqxnetjgpc")
    public suspend fun tags(argument: List Unit>) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument Specifies the tags applied to the pipeline.
     */
    @JvmName("txeusugdqwxtmwlr")
    public suspend fun tags(vararg argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument Specifies the tags applied to the pipeline.
     */
    @JvmName("nduhbocpajiesssx")
    public suspend fun tags(argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param values Specifies the tags applied to the pipeline.
     */
    @JvmName("iupgwamdckgxrhle")
    public suspend fun tags(vararg values: TagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    @JvmName("sadspsqxjejosksc")
    public suspend fun triggers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.triggers = mapped
    }

    /**
     * @param argument The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    @JvmName("vvmjovnuxbfwpbje")
    public suspend fun triggers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineTriggerDeclarationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.triggers = mapped
    }

    /**
     * @param argument The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    @JvmName("qvowonhbwykufncf")
    public suspend fun triggers(vararg argument: suspend PipelineTriggerDeclarationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineTriggerDeclarationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.triggers = mapped
    }

    /**
     * @param argument The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    @JvmName("mctmbnpuoukfjtjg")
    public suspend fun triggers(argument: suspend PipelineTriggerDeclarationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipelineTriggerDeclarationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.triggers = mapped
    }

    /**
     * @param values The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    @JvmName("alaehsswynncwnrt")
    public suspend fun triggers(vararg values: PipelineTriggerDeclarationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.triggers = mapped
    }

    /**
     * @param value A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    @JvmName("gixrhmwkyjcffjcb")
    public suspend fun variables(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.variables = mapped
    }

    /**
     * @param argument A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    @JvmName("uyutmnnmhbybicoc")
    public suspend fun variables(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineVariableDeclarationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.variables = mapped
    }

    /**
     * @param argument A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    @JvmName("fvmstdhuyhphjbkb")
    public suspend fun variables(vararg argument: suspend PipelineVariableDeclarationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineVariableDeclarationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.variables = mapped
    }

    /**
     * @param argument A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    @JvmName("qcnjoishuslokhvj")
    public suspend fun variables(argument: suspend PipelineVariableDeclarationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipelineVariableDeclarationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.variables = mapped
    }

    /**
     * @param values A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    @JvmName("fbcajkedpuuicfvm")
    public suspend fun variables(vararg values: PipelineVariableDeclarationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.variables = mapped
    }

    internal fun build(): PipelineArgs = PipelineArgs(
        artifactStore = artifactStore,
        artifactStores = artifactStores,
        disableInboundStageTransitions = disableInboundStageTransitions,
        executionMode = executionMode,
        name = name,
        pipelineType = pipelineType,
        restartExecutionOnUpdate = restartExecutionOnUpdate,
        roleArn = roleArn,
        stages = stages,
        tags = tags,
        triggers = triggers,
        variables = variables,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy