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

com.pulumi.googlenative.bigquery.v2.kotlin.inputs.BigtableColumnFamilyArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.googlenative.bigquery.v2.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.bigquery.v2.inputs.BigtableColumnFamilyArgs.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 [Optional] Lists 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.
 * @property encoding [Optional] 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 [Optional] 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 [Optional] 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 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 BigtableColumnFamilyArgs(
    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.googlenative.bigquery.v2.inputs.BigtableColumnFamilyArgs =
        com.pulumi.googlenative.bigquery.v2.inputs.BigtableColumnFamilyArgs.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 [BigtableColumnFamilyArgs].
 */
@PulumiTagMarker
public class BigtableColumnFamilyArgsBuilder 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 [Optional] Lists 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.
     */
    @JvmName("wfswxdoojksobwnp")
    public suspend fun columns(`value`: Output>) {
        this.columns = value
    }

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

    /**
     * @param values [Optional] Lists 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.
     */
    @JvmName("kpcphvhnxwoiveqn")
    public suspend fun columns(values: List>) {
        this.columns = Output.all(values)
    }

    /**
     * @param value [Optional] 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("hgofflplsiborvbc")
    public suspend fun encoding(`value`: Output) {
        this.encoding = value
    }

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

    /**
     * @param value [Optional] 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("ikxxqijuvnoiyjpp")
    public suspend fun onlyReadLatest(`value`: Output) {
        this.onlyReadLatest = value
    }

    /**
     * @param value [Optional] 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 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("kajsblmlnfotcpok")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value [Optional] Lists 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.
     */
    @JvmName("wtyjictxxphnpyvh")
    public suspend fun columns(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.columns = mapped
    }

    /**
     * @param argument [Optional] Lists 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.
     */
    @JvmName("xfhvjcjnxsnaofnj")
    public suspend fun columns(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            BigtableColumnArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.columns = mapped
    }

    /**
     * @param argument [Optional] Lists 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.
     */
    @JvmName("bavcuwghnrdimhar")
    public suspend fun columns(vararg argument: suspend BigtableColumnArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            BigtableColumnArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.columns = mapped
    }

    /**
     * @param argument [Optional] Lists 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.
     */
    @JvmName("huyqgltcupsfvxig")
    public suspend fun columns(argument: suspend BigtableColumnArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(BigtableColumnArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.columns = mapped
    }

    /**
     * @param values [Optional] Lists 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.
     */
    @JvmName("fjbkthpifdnpgbuu")
    public suspend fun columns(vararg values: BigtableColumnArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.columns = mapped
    }

    /**
     * @param value [Optional] 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("rahcsbtqrblucqok")
    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("xawgqhulcpuuearp")
    public suspend fun familyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.familyId = mapped
    }

    /**
     * @param value [Optional] 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("hckohyjlybwdamjt")
    public suspend fun onlyReadLatest(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.onlyReadLatest = mapped
    }

    /**
     * @param value [Optional] 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 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("bpfyolabqammqvvx")
    public suspend fun type(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy