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

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

package com.pulumi.gcp.bigquery.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.bigquery.inputs.TableExternalDataConfigurationBigtableOptionsColumnFamilyArgs.builder
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

/**
 *
 * @property columns A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
 * @property encoding The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it.
 * @property familyId Identifier of the column family.
 * @property onlyReadLatest If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column.
 * @property type The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive): "BYTES", "STRING", "INTEGER", "FLOAT", "BOOLEAN", "JSON". Default type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it.
 */
public data class TableExternalDataConfigurationBigtableOptionsColumnFamilyArgs(
    public val columns: Output>? = null,
    public val encoding: Output? = null,
    public val familyId: Output? = null,
    public val onlyReadLatest: Output? = null,
    public val type: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.bigquery.inputs.TableExternalDataConfigurationBigtableOptionsColumnFamilyArgs =
        com.pulumi.gcp.bigquery.inputs.TableExternalDataConfigurationBigtableOptionsColumnFamilyArgs.builder()
            .columns(
                columns?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .encoding(encoding?.applyValue({ args0 -> args0 }))
            .familyId(familyId?.applyValue({ args0 -> args0 }))
            .onlyReadLatest(onlyReadLatest?.applyValue({ args0 -> args0 }))
            .type(type?.applyValue({ args0 -> args0 })).build()
}

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

    private var encoding: Output? = null

    private var familyId: Output? = null

    private var onlyReadLatest: Output? = null

    private var type: Output? = null

    /**
     * @param value A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
     */
    @JvmName("bcjrixwpjjutvtiy")
    public suspend fun columns(`value`: Output>) {
        this.columns = value
    }

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

    /**
     * @param values A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
     */
    @JvmName("lyystkdacahfncrw")
    public suspend fun columns(values: List>) {
        this.columns = Output.all(values)
    }

    /**
     * @param value The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it.
     */
    @JvmName("vbsepcrtkojxnugl")
    public suspend fun encoding(`value`: Output) {
        this.encoding = value
    }

    /**
     * @param value Identifier of the column family.
     */
    @JvmName("kqdeakiasxtgopth")
    public suspend fun familyId(`value`: Output) {
        this.familyId = value
    }

    /**
     * @param value If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column.
     */
    @JvmName("nhsubewiljhpwuhc")
    public suspend fun onlyReadLatest(`value`: Output) {
        this.onlyReadLatest = value
    }

    /**
     * @param value The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive): "BYTES", "STRING", "INTEGER", "FLOAT", "BOOLEAN", "JSON". Default type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it.
     */
    @JvmName("jltnrmtjvsvapwnj")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
     */
    @JvmName("crurscvocxbsiymr")
    public suspend fun columns(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.columns = mapped
    }

    /**
     * @param argument A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
     */
    @JvmName("vuuyiipvjbywrjep")
    public suspend fun columns(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TableExternalDataConfigurationBigtableOptionsColumnFamilyColumnArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.columns = mapped
    }

    /**
     * @param argument A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
     */
    @JvmName("euenxhixwkegvdwi")
    public suspend fun columns(vararg argument: suspend TableExternalDataConfigurationBigtableOptionsColumnFamilyColumnArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TableExternalDataConfigurationBigtableOptionsColumnFamilyColumnArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.columns = mapped
    }

    /**
     * @param argument A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
     */
    @JvmName("ctevmoehblgltngw")
    public suspend fun columns(argument: suspend TableExternalDataConfigurationBigtableOptionsColumnFamilyColumnArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                TableExternalDataConfigurationBigtableOptionsColumnFamilyColumnArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.columns = mapped
    }

    /**
     * @param values A List of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as Other columns can be accessed as a list through column field.  Structure is documented below.
     */
    @JvmName("peywyhjllngxwpxe")
    public suspend fun columns(vararg values: TableExternalDataConfigurationBigtableOptionsColumnFamilyColumnArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.columns = mapped
    }

    /**
     * @param value The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it.
     */
    @JvmName("jfkpktnrjfhitxuc")
    public suspend fun encoding(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encoding = mapped
    }

    /**
     * @param value Identifier of the column family.
     */
    @JvmName("qnjajijmlpgjlrfs")
    public suspend fun familyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.familyId = mapped
    }

    /**
     * @param value If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column.
     */
    @JvmName("adgdcapvhrmykhwi")
    public suspend fun onlyReadLatest(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.onlyReadLatest = mapped
    }

    /**
     * @param value The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive): "BYTES", "STRING", "INTEGER", "FLOAT", "BOOLEAN", "JSON". Default type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it.
     */
    @JvmName("fuhfiwoisvrrwsgm")
    public suspend fun type(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): TableExternalDataConfigurationBigtableOptionsColumnFamilyArgs =
        TableExternalDataConfigurationBigtableOptionsColumnFamilyArgs(
            columns = columns,
            encoding = encoding,
            familyId = familyId,
            onlyReadLatest = onlyReadLatest,
            type = type,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy