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

com.pulumi.azure.streamanalytics.kotlin.inputs.ReferenceInputBlobSerializationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.streamanalytics.kotlin.inputs

import com.pulumi.azure.streamanalytics.inputs.ReferenceInputBlobSerializationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property encoding The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.
 * > **NOTE:** This is required when `type` is set to `Csv` or `Json`.
 * @property fieldDelimiter The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `	` (tab), `|` (pipe) and `;`.
 * > **NOTE:** This is required when `type` is set to `Csv`.
 * @property type The serialization format used for the reference data. Possible values are `Avro`, `Csv` and `Json`.
 */
public data class ReferenceInputBlobSerializationArgs(
    public val encoding: Output? = null,
    public val fieldDelimiter: Output? = null,
    public val type: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.streamanalytics.inputs.ReferenceInputBlobSerializationArgs =
        com.pulumi.azure.streamanalytics.inputs.ReferenceInputBlobSerializationArgs.builder()
            .encoding(encoding?.applyValue({ args0 -> args0 }))
            .fieldDelimiter(fieldDelimiter?.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ReferenceInputBlobSerializationArgs].
 */
@PulumiTagMarker
public class ReferenceInputBlobSerializationArgsBuilder internal constructor() {
    private var encoding: Output? = null

    private var fieldDelimiter: Output? = null

    private var type: Output? = null

    /**
     * @param value The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.
     * > **NOTE:** This is required when `type` is set to `Csv` or `Json`.
     */
    @JvmName("fclohamiwtxowygw")
    public suspend fun encoding(`value`: Output) {
        this.encoding = value
    }

    /**
     * @param value The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `	` (tab), `|` (pipe) and `;`.
     * > **NOTE:** This is required when `type` is set to `Csv`.
     */
    @JvmName("ldifnkkmkeyqhbqf")
    public suspend fun fieldDelimiter(`value`: Output) {
        this.fieldDelimiter = value
    }

    /**
     * @param value The serialization format used for the reference data. Possible values are `Avro`, `Csv` and `Json`.
     */
    @JvmName("kmckxbfjqsotoiiy")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value The encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. It currently can only be set to `UTF8`.
     * > **NOTE:** This is required when `type` is set to `Csv` or `Json`.
     */
    @JvmName("domxujinefbtcbgd")
    public suspend fun encoding(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encoding = mapped
    }

    /**
     * @param value The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), `	` (tab), `|` (pipe) and `;`.
     * > **NOTE:** This is required when `type` is set to `Csv`.
     */
    @JvmName("tgksagvxisvhfdls")
    public suspend fun fieldDelimiter(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.fieldDelimiter = mapped
    }

    /**
     * @param value The serialization format used for the reference data. Possible values are `Avro`, `Csv` and `Json`.
     */
    @JvmName("mnnrbqvvsojhruke")
    public suspend fun type(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): ReferenceInputBlobSerializationArgs = ReferenceInputBlobSerializationArgs(
        encoding = encoding,
        fieldDelimiter = fieldDelimiter,
        type = type ?: throw PulumiNullFieldException("type"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy