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

com.pulumi.gcp.bigquery.kotlin.inputs.TableExternalDataConfigurationBigtableOptionsArgs.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.13.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.TableExternalDataConfigurationBigtableOptionsArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property columnFamilies A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
 * @property ignoreUnspecifiedColumnFamilies If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false.
 * @property outputColumnFamiliesAsJson If field is true, then each column family will be read as a single JSON column. Otherwise they are read as a repeated cell structure containing timestamp/value tuples. The default value is false.
 * @property readRowkeyAsString If field is true, then the rowkey column families will be read and converted to string. Otherwise they are read with BYTES type values and users need to manually cast them with CAST if necessary. The default value is false.
 */
public data class TableExternalDataConfigurationBigtableOptionsArgs(
    public val columnFamilies: Output>? = null,
    public val ignoreUnspecifiedColumnFamilies: Output? = null,
    public val outputColumnFamiliesAsJson: Output? = null,
    public val readRowkeyAsString: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.bigquery.inputs.TableExternalDataConfigurationBigtableOptionsArgs =
        com.pulumi.gcp.bigquery.inputs.TableExternalDataConfigurationBigtableOptionsArgs.builder()
            .columnFamilies(
                columnFamilies?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .ignoreUnspecifiedColumnFamilies(ignoreUnspecifiedColumnFamilies?.applyValue({ args0 -> args0 }))
            .outputColumnFamiliesAsJson(outputColumnFamiliesAsJson?.applyValue({ args0 -> args0 }))
            .readRowkeyAsString(readRowkeyAsString?.applyValue({ args0 -> args0 })).build()
}

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

    private var ignoreUnspecifiedColumnFamilies: Output? = null

    private var outputColumnFamiliesAsJson: Output? = null

    private var readRowkeyAsString: Output? = null

    /**
     * @param value A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
     */
    @JvmName("ggtnqnogewajjejt")
    public suspend fun columnFamilies(`value`: Output>) {
        this.columnFamilies = value
    }

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

    /**
     * @param values A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
     */
    @JvmName("grfhygaidhdijysd")
    public suspend fun columnFamilies(values: List>) {
        this.columnFamilies = Output.all(values)
    }

    /**
     * @param value If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false.
     */
    @JvmName("uclhibscrubxyssi")
    public suspend fun ignoreUnspecifiedColumnFamilies(`value`: Output) {
        this.ignoreUnspecifiedColumnFamilies = value
    }

    /**
     * @param value If field is true, then each column family will be read as a single JSON column. Otherwise they are read as a repeated cell structure containing timestamp/value tuples. The default value is false.
     */
    @JvmName("dbtajqshvvjeeisv")
    public suspend fun outputColumnFamiliesAsJson(`value`: Output) {
        this.outputColumnFamiliesAsJson = value
    }

    /**
     * @param value If field is true, then the rowkey column families will be read and converted to string. Otherwise they are read with BYTES type values and users need to manually cast them with CAST if necessary. The default value is false.
     */
    @JvmName("ejmajqwiftxbkiud")
    public suspend fun readRowkeyAsString(`value`: Output) {
        this.readRowkeyAsString = value
    }

    /**
     * @param value A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
     */
    @JvmName("tjnjlufkjpunjgvt")
    public suspend fun columnFamilies(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.columnFamilies = mapped
    }

    /**
     * @param argument A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
     */
    @JvmName("nbtumofsxafpoara")
    public suspend fun columnFamilies(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            TableExternalDataConfigurationBigtableOptionsColumnFamilyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.columnFamilies = mapped
    }

    /**
     * @param argument A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
     */
    @JvmName("yammmmfuxhppxasr")
    public suspend fun columnFamilies(vararg argument: suspend TableExternalDataConfigurationBigtableOptionsColumnFamilyArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            TableExternalDataConfigurationBigtableOptionsColumnFamilyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.columnFamilies = mapped
    }

    /**
     * @param argument A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
     */
    @JvmName("crumajwgqusbtobs")
    public suspend fun columnFamilies(argument: suspend TableExternalDataConfigurationBigtableOptionsColumnFamilyArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                TableExternalDataConfigurationBigtableOptionsColumnFamilyArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.columnFamilies = mapped
    }

    /**
     * @param values A list of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable.  Structure is documented below.
     */
    @JvmName("odjmycepdbddoohk")
    public suspend fun columnFamilies(vararg values: TableExternalDataConfigurationBigtableOptionsColumnFamilyArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.columnFamilies = mapped
    }

    /**
     * @param value If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false.
     */
    @JvmName("qatqtrflripbqnbi")
    public suspend fun ignoreUnspecifiedColumnFamilies(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ignoreUnspecifiedColumnFamilies = mapped
    }

    /**
     * @param value If field is true, then each column family will be read as a single JSON column. Otherwise they are read as a repeated cell structure containing timestamp/value tuples. The default value is false.
     */
    @JvmName("kwbkyuijtnjdjkye")
    public suspend fun outputColumnFamiliesAsJson(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.outputColumnFamiliesAsJson = mapped
    }

    /**
     * @param value If field is true, then the rowkey column families will be read and converted to string. Otherwise they are read with BYTES type values and users need to manually cast them with CAST if necessary. The default value is false.
     */
    @JvmName("figwwmqccwmyyaxk")
    public suspend fun readRowkeyAsString(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.readRowkeyAsString = mapped
    }

    internal fun build(): TableExternalDataConfigurationBigtableOptionsArgs =
        TableExternalDataConfigurationBigtableOptionsArgs(
            columnFamilies = columnFamilies,
            ignoreUnspecifiedColumnFamilies = ignoreUnspecifiedColumnFamilies,
            outputColumnFamiliesAsJson = outputColumnFamiliesAsJson,
            readRowkeyAsString = readRowkeyAsString,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy