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

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

package com.pulumi.gcp.dataproc.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.dataproc.inputs.WorkflowTemplateParameterArgs.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 description Brief description of the parameter. Must not exceed 1024 characters.
 * @property fields Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths. A field path is similar in syntax to a .sparkJob.args
 * @property name Required. Parameter name. The parameter name is used as the key, and paired with the parameter value, which are passed to the template when the template is instantiated. The name must contain only capital letters (A-Z), numbers (0-9), and underscores (_), and must not start with a number. The maximum length is 40 characters.
 * @property validation Validation rules to be applied to this parameter's value.
 */
public data class WorkflowTemplateParameterArgs(
    public val description: Output? = null,
    public val fields: Output>,
    public val name: Output,
    public val validation: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.dataproc.inputs.WorkflowTemplateParameterArgs =
        com.pulumi.gcp.dataproc.inputs.WorkflowTemplateParameterArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .fields(fields.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .name(name.applyValue({ args0 -> args0 }))
            .validation(validation?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [WorkflowTemplateParameterArgs].
 */
@PulumiTagMarker
public class WorkflowTemplateParameterArgsBuilder internal constructor() {
    private var description: Output? = null

    private var fields: Output>? = null

    private var name: Output? = null

    private var validation: Output? = null

    /**
     * @param value Brief description of the parameter. Must not exceed 1024 characters.
     */
    @JvmName("hqinhpmmdujnrkib")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths. A field path is similar in syntax to a .sparkJob.args
     */
    @JvmName("lxwwhqdwgxlqopnu")
    public suspend fun fields(`value`: Output>) {
        this.fields = value
    }

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

    /**
     * @param values Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths. A field path is similar in syntax to a .sparkJob.args
     */
    @JvmName("gurqbbwepetvecym")
    public suspend fun fields(values: List>) {
        this.fields = Output.all(values)
    }

    /**
     * @param value Required. Parameter name. The parameter name is used as the key, and paired with the parameter value, which are passed to the template when the template is instantiated. The name must contain only capital letters (A-Z), numbers (0-9), and underscores (_), and must not start with a number. The maximum length is 40 characters.
     */
    @JvmName("fceepwtynkdpkltq")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Validation rules to be applied to this parameter's value.
     */
    @JvmName("gtxndndirbirlina")
    public suspend fun validation(`value`: Output) {
        this.validation = value
    }

    /**
     * @param value Brief description of the parameter. Must not exceed 1024 characters.
     */
    @JvmName("onpnixjvrkcudnoh")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths. A field path is similar in syntax to a .sparkJob.args
     */
    @JvmName("glmwoxaamwmcyspq")
    public suspend fun fields(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.fields = mapped
    }

    /**
     * @param values Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths. A field path is similar in syntax to a .sparkJob.args
     */
    @JvmName("yiohxqgkygnaavgf")
    public suspend fun fields(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.fields = mapped
    }

    /**
     * @param value Required. Parameter name. The parameter name is used as the key, and paired with the parameter value, which are passed to the template when the template is instantiated. The name must contain only capital letters (A-Z), numbers (0-9), and underscores (_), and must not start with a number. The maximum length is 40 characters.
     */
    @JvmName("tiryurxalhnubwic")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Validation rules to be applied to this parameter's value.
     */
    @JvmName("tpvanybkmkkjcggf")
    public suspend fun validation(`value`: WorkflowTemplateParameterValidationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.validation = mapped
    }

    /**
     * @param argument Validation rules to be applied to this parameter's value.
     */
    @JvmName("noutlaakeplblwtq")
    public suspend fun validation(argument: suspend WorkflowTemplateParameterValidationArgsBuilder.() -> Unit) {
        val toBeMapped = WorkflowTemplateParameterValidationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.validation = mapped
    }

    internal fun build(): WorkflowTemplateParameterArgs = WorkflowTemplateParameterArgs(
        description = description,
        fields = fields ?: throw PulumiNullFieldException("fields"),
        name = name ?: throw PulumiNullFieldException("name"),
        validation = validation,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy