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

com.pulumi.gcp.diagflow.kotlin.inputs.CxIntentParameterArgs.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.diagflow.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.diagflow.inputs.CxIntentParameterArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property entityType The entity type of the parameter.
 * Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
 * @property id The unique identifier of the parameter. This field is used by training phrases to annotate their parts.
 * @property isList Indicates whether the parameter represents a list of values.
 * @property redact Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging.
 * Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
 */
public data class CxIntentParameterArgs(
    public val entityType: Output,
    public val id: Output,
    public val isList: Output? = null,
    public val redact: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.diagflow.inputs.CxIntentParameterArgs =
        com.pulumi.gcp.diagflow.inputs.CxIntentParameterArgs.builder()
            .entityType(entityType.applyValue({ args0 -> args0 }))
            .id(id.applyValue({ args0 -> args0 }))
            .isList(isList?.applyValue({ args0 -> args0 }))
            .redact(redact?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [CxIntentParameterArgs].
 */
@PulumiTagMarker
public class CxIntentParameterArgsBuilder internal constructor() {
    private var entityType: Output? = null

    private var id: Output? = null

    private var isList: Output? = null

    private var redact: Output? = null

    /**
     * @param value The entity type of the parameter.
     * Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
     */
    @JvmName("sivyxxebjpwlcvhy")
    public suspend fun entityType(`value`: Output) {
        this.entityType = value
    }

    /**
     * @param value The unique identifier of the parameter. This field is used by training phrases to annotate their parts.
     */
    @JvmName("jexxvnwkeouuxkfk")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value Indicates whether the parameter represents a list of values.
     */
    @JvmName("bajowcmyvihpwtyw")
    public suspend fun isList(`value`: Output) {
        this.isList = value
    }

    /**
     * @param value Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging.
     * Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
     */
    @JvmName("cephhnohnijjxntw")
    public suspend fun redact(`value`: Output) {
        this.redact = value
    }

    /**
     * @param value The entity type of the parameter.
     * Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
     */
    @JvmName("tsnhxcaxfjjaamwi")
    public suspend fun entityType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.entityType = mapped
    }

    /**
     * @param value The unique identifier of the parameter. This field is used by training phrases to annotate their parts.
     */
    @JvmName("gbijojtoocrsipgk")
    public suspend fun id(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value Indicates whether the parameter represents a list of values.
     */
    @JvmName("pvyeixjsrqjaehay")
    public suspend fun isList(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isList = mapped
    }

    /**
     * @param value Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging.
     * Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
     */
    @JvmName("laetjogypcomoxhs")
    public suspend fun redact(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.redact = mapped
    }

    internal fun build(): CxIntentParameterArgs = CxIntentParameterArgs(
        entityType = entityType ?: throw PulumiNullFieldException("entityType"),
        id = id ?: throw PulumiNullFieldException("id"),
        isList = isList,
        redact = redact,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy