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

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

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

package com.pulumi.awsnative.datapipeline.kotlin

import com.pulumi.awsnative.datapipeline.PipelineArgs.builder
import com.pulumi.awsnative.datapipeline.kotlin.inputs.PipelineObjectArgs
import com.pulumi.awsnative.datapipeline.kotlin.inputs.PipelineObjectArgsBuilder
import com.pulumi.awsnative.datapipeline.kotlin.inputs.PipelineParameterObjectArgs
import com.pulumi.awsnative.datapipeline.kotlin.inputs.PipelineParameterObjectArgsBuilder
import com.pulumi.awsnative.datapipeline.kotlin.inputs.PipelineParameterValueArgs
import com.pulumi.awsnative.datapipeline.kotlin.inputs.PipelineParameterValueArgsBuilder
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

/**
 * An example resource schema demonstrating some basic constructs and validation rules.
 * @property activate Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to true.
 * @property description A description of the pipeline.
 * @property name The name of the pipeline.
 * @property parameterObjects The parameter objects used with the pipeline.
 * @property parameterValues The parameter values used with the pipeline.
 * @property pipelineObjects The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
 * @property pipelineTags A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
 */
public data class PipelineArgs(
    public val activate: Output? = null,
    public val description: Output? = null,
    public val name: Output? = null,
    public val parameterObjects: Output>? = null,
    public val parameterValues: Output>? = null,
    public val pipelineObjects: Output>? = null,
    public val pipelineTags: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.datapipeline.PipelineArgs =
        com.pulumi.awsnative.datapipeline.PipelineArgs.builder()
            .activate(activate?.applyValue({ args0 -> args0 }))
            .description(description?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .parameterObjects(
                parameterObjects?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .parameterValues(
                parameterValues?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .pipelineObjects(
                pipelineObjects?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .pipelineTags(
                pipelineTags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

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

    private var description: Output? = null

    private var name: Output? = null

    private var parameterObjects: Output>? = null

    private var parameterValues: Output>? = null

    private var pipelineObjects: Output>? = null

    private var pipelineTags: Output>? = null

    /**
     * @param value Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to true.
     */
    @JvmName("ldkbqhklvgffaodg")
    public suspend fun activate(`value`: Output) {
        this.activate = value
    }

    /**
     * @param value A description of the pipeline.
     */
    @JvmName("dpsxfgcdlicaaouj")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

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

    /**
     * @param value The parameter objects used with the pipeline.
     */
    @JvmName("emwilnfdconqqfps")
    public suspend fun parameterObjects(`value`: Output>) {
        this.parameterObjects = value
    }

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

    /**
     * @param values The parameter objects used with the pipeline.
     */
    @JvmName("frtilcuwfeysfnkr")
    public suspend fun parameterObjects(values: List>) {
        this.parameterObjects = Output.all(values)
    }

    /**
     * @param value The parameter values used with the pipeline.
     */
    @JvmName("tpwgmqhhkcmathqq")
    public suspend fun parameterValues(`value`: Output>) {
        this.parameterValues = value
    }

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

    /**
     * @param values The parameter values used with the pipeline.
     */
    @JvmName("mdjwlsbbumdggafk")
    public suspend fun parameterValues(values: List>) {
        this.parameterValues = Output.all(values)
    }

    /**
     * @param value The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("vqgmyfmnepxcejas")
    public suspend fun pipelineObjects(`value`: Output>) {
        this.pipelineObjects = value
    }

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

    /**
     * @param values The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("cnqlmhvultthmasi")
    public suspend fun pipelineObjects(values: List>) {
        this.pipelineObjects = Output.all(values)
    }

    /**
     * @param value A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("owdtfelaykjmonxw")
    public suspend fun pipelineTags(`value`: Output>) {
        this.pipelineTags = value
    }

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

    /**
     * @param values A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("riwjawkencjwqapj")
    public suspend fun pipelineTags(values: List>) {
        this.pipelineTags = Output.all(values)
    }

    /**
     * @param value Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to true.
     */
    @JvmName("nocotgyrpvcwhcxb")
    public suspend fun activate(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.activate = mapped
    }

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

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

    /**
     * @param value The parameter objects used with the pipeline.
     */
    @JvmName("hdwqkgdwdvimycom")
    public suspend fun parameterObjects(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.parameterObjects = mapped
    }

    /**
     * @param argument The parameter objects used with the pipeline.
     */
    @JvmName("jgxhpskhexsicork")
    public suspend fun parameterObjects(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineParameterObjectArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.parameterObjects = mapped
    }

    /**
     * @param argument The parameter objects used with the pipeline.
     */
    @JvmName("tthhuvjylthhxvai")
    public suspend fun parameterObjects(vararg argument: suspend PipelineParameterObjectArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineParameterObjectArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.parameterObjects = mapped
    }

    /**
     * @param argument The parameter objects used with the pipeline.
     */
    @JvmName("hpstbtgherhenmhl")
    public suspend fun parameterObjects(argument: suspend PipelineParameterObjectArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipelineParameterObjectArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.parameterObjects = mapped
    }

    /**
     * @param values The parameter objects used with the pipeline.
     */
    @JvmName("bjqupfhadnyxolpa")
    public suspend fun parameterObjects(vararg values: PipelineParameterObjectArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.parameterObjects = mapped
    }

    /**
     * @param value The parameter values used with the pipeline.
     */
    @JvmName("pbmrlloihfhvepgk")
    public suspend fun parameterValues(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.parameterValues = mapped
    }

    /**
     * @param argument The parameter values used with the pipeline.
     */
    @JvmName("ycrkcwwhndvvpasr")
    public suspend fun parameterValues(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineParameterValueArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.parameterValues = mapped
    }

    /**
     * @param argument The parameter values used with the pipeline.
     */
    @JvmName("unmhyfxjllfjbsvu")
    public suspend fun parameterValues(vararg argument: suspend PipelineParameterValueArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineParameterValueArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.parameterValues = mapped
    }

    /**
     * @param argument The parameter values used with the pipeline.
     */
    @JvmName("dbjcvuwujrkianqe")
    public suspend fun parameterValues(argument: suspend PipelineParameterValueArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(PipelineParameterValueArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.parameterValues = mapped
    }

    /**
     * @param values The parameter values used with the pipeline.
     */
    @JvmName("ajfwqgmserepxtck")
    public suspend fun parameterValues(vararg values: PipelineParameterValueArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.parameterValues = mapped
    }

    /**
     * @param value The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("gyysddjotvvkwldn")
    public suspend fun pipelineObjects(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pipelineObjects = mapped
    }

    /**
     * @param argument The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("xyyutrwpickxwpcm")
    public suspend fun pipelineObjects(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipelineObjectArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.pipelineObjects = mapped
    }

    /**
     * @param argument The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("mfyiruxixvsdqxkp")
    public suspend fun pipelineObjects(vararg argument: suspend PipelineObjectArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipelineObjectArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.pipelineObjects = mapped
    }

    /**
     * @param argument The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("ipchdeoybxffwlkf")
    public suspend fun pipelineObjects(argument: suspend PipelineObjectArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(PipelineObjectArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.pipelineObjects = mapped
    }

    /**
     * @param values The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see Editing Your Pipeline in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("oncrlydtuktdrbpb")
    public suspend fun pipelineObjects(vararg values: PipelineObjectArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.pipelineObjects = mapped
    }

    /**
     * @param value A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("ruysfkugjgadqvyq")
    public suspend fun pipelineTags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pipelineTags = mapped
    }

    /**
     * @param argument A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("bbyoimvygttitdkp")
    public suspend fun pipelineTags(argument: List Unit>) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.pipelineTags = mapped
    }

    /**
     * @param argument A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("jbucnfwcwhwsiyei")
    public suspend fun pipelineTags(vararg argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.pipelineTags = mapped
    }

    /**
     * @param argument A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("quhylytkrijhgfnr")
    public suspend fun pipelineTags(argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.pipelineTags = mapped
    }

    /**
     * @param values A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see Controlling Access to Pipelines and Resources in the AWS Data Pipeline Developer Guide.
     */
    @JvmName("gyrpslhwgnlfxvml")
    public suspend fun pipelineTags(vararg values: TagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.pipelineTags = mapped
    }

    internal fun build(): PipelineArgs = PipelineArgs(
        activate = activate,
        description = description,
        name = name,
        parameterObjects = parameterObjects,
        parameterValues = parameterValues,
        pipelineObjects = pipelineObjects,
        pipelineTags = pipelineTags,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy