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

com.pulumi.azurenative.datafactory.kotlin.inputs.AvroDatasetArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.datafactory.kotlin.inputs

import com.pulumi.azurenative.datafactory.inputs.AvroDatasetArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Any
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Avro dataset.
 * @property annotations List of tags that can be used for describing the Dataset.
 * @property avroCompressionCodec The data avroCompressionCodec. Type: string (or Expression with resultType string).
 * @property avroCompressionLevel
 * @property description Dataset description.
 * @property folder The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 * @property linkedServiceName Linked service reference.
 * @property location The location of the avro storage.
 * @property parameters Parameters for dataset.
 * @property schema Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 * @property structure Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 * @property type Type of dataset.
 * Expected value is 'Avro'.
 */
public data class AvroDatasetArgs(
    public val annotations: Output>? = null,
    public val avroCompressionCodec: Output? = null,
    public val avroCompressionLevel: Output? = null,
    public val description: Output? = null,
    public val folder: Output? = null,
    public val linkedServiceName: Output,
    public val location: Output,
    public val parameters: Output>? = null,
    public val schema: Output? = null,
    public val structure: Output? = null,
    public val type: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.datafactory.inputs.AvroDatasetArgs =
        com.pulumi.azurenative.datafactory.inputs.AvroDatasetArgs.builder()
            .annotations(annotations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .avroCompressionCodec(avroCompressionCodec?.applyValue({ args0 -> args0 }))
            .avroCompressionLevel(avroCompressionLevel?.applyValue({ args0 -> args0 }))
            .description(description?.applyValue({ args0 -> args0 }))
            .folder(folder?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .linkedServiceName(linkedServiceName.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .location(location.applyValue({ args0 -> args0 }))
            .parameters(
                parameters?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value.let({ args0 -> args0.toJava() }))
                    }).toMap()
                }),
            )
            .schema(schema?.applyValue({ args0 -> args0 }))
            .structure(structure?.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AvroDatasetArgs].
 */
@PulumiTagMarker
public class AvroDatasetArgsBuilder internal constructor() {
    private var annotations: Output>? = null

    private var avroCompressionCodec: Output? = null

    private var avroCompressionLevel: Output? = null

    private var description: Output? = null

    private var folder: Output? = null

    private var linkedServiceName: Output? = null

    private var location: Output? = null

    private var parameters: Output>? = null

    private var schema: Output? = null

    private var structure: Output? = null

    private var type: Output? = null

    /**
     * @param value List of tags that can be used for describing the Dataset.
     */
    @JvmName("hxolajornubqfxoc")
    public suspend fun annotations(`value`: Output>) {
        this.annotations = value
    }

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

    /**
     * @param values List of tags that can be used for describing the Dataset.
     */
    @JvmName("urywkyxsqelswtev")
    public suspend fun annotations(values: List>) {
        this.annotations = Output.all(values)
    }

    /**
     * @param value The data avroCompressionCodec. Type: string (or Expression with resultType string).
     */
    @JvmName("nahhlaogjpjpybpm")
    public suspend fun avroCompressionCodec(`value`: Output) {
        this.avroCompressionCodec = value
    }

    /**
     * @param value
     */
    @JvmName("vbbmmgvvvlefvvnm")
    public suspend fun avroCompressionLevel(`value`: Output) {
        this.avroCompressionLevel = value
    }

    /**
     * @param value Dataset description.
     */
    @JvmName("ogdmyvcqgtbthvtn")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
     */
    @JvmName("fgngylnmrrrasyas")
    public suspend fun folder(`value`: Output) {
        this.folder = value
    }

    /**
     * @param value Linked service reference.
     */
    @JvmName("boafgnwyaaccwlst")
    public suspend fun linkedServiceName(`value`: Output) {
        this.linkedServiceName = value
    }

    /**
     * @param value The location of the avro storage.
     */
    @JvmName("uwiyketwbhxrvitb")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value Parameters for dataset.
     */
    @JvmName("pgcowqtwijhthksm")
    public suspend fun parameters(`value`: Output>) {
        this.parameters = value
    }

    /**
     * @param value Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
     */
    @JvmName("ldmprltpueisclbq")
    public suspend fun schema(`value`: Output) {
        this.schema = value
    }

    /**
     * @param value Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
     */
    @JvmName("qpmkwccvbjqmgmne")
    public suspend fun structure(`value`: Output) {
        this.structure = value
    }

    /**
     * @param value Type of dataset.
     * Expected value is 'Avro'.
     */
    @JvmName("xkanuxdvmlrfquaj")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value List of tags that can be used for describing the Dataset.
     */
    @JvmName("hjdjnouqcuiukkou")
    public suspend fun annotations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param values List of tags that can be used for describing the Dataset.
     */
    @JvmName("vcmfojquwqejllgl")
    public suspend fun annotations(vararg values: Any) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param value The data avroCompressionCodec. Type: string (or Expression with resultType string).
     */
    @JvmName("irishxhaegylcuni")
    public suspend fun avroCompressionCodec(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.avroCompressionCodec = mapped
    }

    /**
     * @param value
     */
    @JvmName("yfajvhhybssqpjij")
    public suspend fun avroCompressionLevel(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.avroCompressionLevel = mapped
    }

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

    /**
     * @param value The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
     */
    @JvmName("thdcqwtvbkbttvoj")
    public suspend fun folder(`value`: DatasetFolderArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.folder = mapped
    }

    /**
     * @param argument The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
     */
    @JvmName("dbklbpqwhtgwfxbk")
    public suspend fun folder(argument: suspend DatasetFolderArgsBuilder.() -> Unit) {
        val toBeMapped = DatasetFolderArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.folder = mapped
    }

    /**
     * @param value Linked service reference.
     */
    @JvmName("inuwcykxpwpbkfvw")
    public suspend fun linkedServiceName(`value`: LinkedServiceReferenceArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.linkedServiceName = mapped
    }

    /**
     * @param argument Linked service reference.
     */
    @JvmName("pkwxbfigxtqynigy")
    public suspend fun linkedServiceName(argument: suspend LinkedServiceReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = LinkedServiceReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.linkedServiceName = mapped
    }

    /**
     * @param value The location of the avro storage.
     */
    @JvmName("cussdjtwonmveptn")
    public suspend fun location(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value Parameters for dataset.
     */
    @JvmName("ckhiacrelvlraybn")
    public suspend fun parameters(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.parameters = mapped
    }

    /**
     * @param argument Parameters for dataset.
     */
    @JvmName("damkmiyykdrwwndi")
    public suspend fun parameters(vararg argument: Pair Unit>) {
        val toBeMapped = argument.toList().map { (left, right) ->
            left to
                ParameterSpecificationArgsBuilder().applySuspend { right() }.build()
        }.toMap()
        val mapped = of(toBeMapped)
        this.parameters = mapped
    }

    /**
     * @param values Parameters for dataset.
     */
    @JvmName("oahbngwscynpcmrw")
    public fun parameters(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.parameters = mapped
    }

    /**
     * @param value Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
     */
    @JvmName("outrumnvncusabgw")
    public suspend fun schema(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.schema = mapped
    }

    /**
     * @param value Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
     */
    @JvmName("sfyuupjvgikeoyrd")
    public suspend fun structure(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.structure = mapped
    }

    /**
     * @param value Type of dataset.
     * Expected value is 'Avro'.
     */
    @JvmName("riyoybyigkjludha")
    public suspend fun type(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): AvroDatasetArgs = AvroDatasetArgs(
        annotations = annotations,
        avroCompressionCodec = avroCompressionCodec,
        avroCompressionLevel = avroCompressionLevel,
        description = description,
        folder = folder,
        linkedServiceName = linkedServiceName ?: throw PulumiNullFieldException("linkedServiceName"),
        location = location ?: throw PulumiNullFieldException("location"),
        parameters = parameters,
        schema = schema,
        structure = structure,
        type = type ?: throw PulumiNullFieldException("type"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy