
com.pulumi.gcp.datastream.kotlin.inputs.StreamDestinationConfigBigqueryDestinationConfigArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.datastream.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.datastream.inputs.StreamDestinationConfigBigqueryDestinationConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property appendOnly AppendOnly mode defines that the stream of changes (INSERT, UPDATE-INSERT, UPDATE-DELETE and DELETE
* events) to a source table will be written to the destination Google BigQuery table, retaining the
* historical state of the data.
* @property dataFreshness The guaranteed data freshness (in seconds) when querying tables created by the stream.
* Editing this field will only affect new tables created in the future, but existing tables
* will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.
* A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
* @property merge Merge mode defines that all changes to a table will be merged at the destination Google BigQuery
* table. This is the default write mode. When selected, BigQuery reflects the way the data is stored
* in the source database. With Merge mode, no historical record of the change events is kept.
* @property singleTargetDataset A single target dataset to which all data will be streamed.
* Structure is documented below.
* @property sourceHierarchyDatasets Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.
* Structure is documented below.
*/
public data class StreamDestinationConfigBigqueryDestinationConfigArgs(
public val appendOnly: Output? =
null,
public val dataFreshness: Output? = null,
public val merge: Output? = null,
public val singleTargetDataset: Output? = null,
public val sourceHierarchyDatasets: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.datastream.inputs.StreamDestinationConfigBigqueryDestinationConfigArgs =
com.pulumi.gcp.datastream.inputs.StreamDestinationConfigBigqueryDestinationConfigArgs.builder()
.appendOnly(appendOnly?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dataFreshness(dataFreshness?.applyValue({ args0 -> args0 }))
.merge(merge?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.singleTargetDataset(
singleTargetDataset?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.sourceHierarchyDatasets(
sourceHierarchyDatasets?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [StreamDestinationConfigBigqueryDestinationConfigArgs].
*/
@PulumiTagMarker
public class StreamDestinationConfigBigqueryDestinationConfigArgsBuilder internal constructor() {
private var appendOnly: Output? =
null
private var dataFreshness: Output? = null
private var merge: Output? = null
private var singleTargetDataset:
Output? = null
private var sourceHierarchyDatasets:
Output? = null
/**
* @param value AppendOnly mode defines that the stream of changes (INSERT, UPDATE-INSERT, UPDATE-DELETE and DELETE
* events) to a source table will be written to the destination Google BigQuery table, retaining the
* historical state of the data.
*/
@JvmName("ghdqyywohxeyijsr")
public suspend fun appendOnly(`value`: Output) {
this.appendOnly = value
}
/**
* @param value The guaranteed data freshness (in seconds) when querying tables created by the stream.
* Editing this field will only affect new tables created in the future, but existing tables
* will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.
* A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
*/
@JvmName("jmpavyfcvrmigeim")
public suspend fun dataFreshness(`value`: Output) {
this.dataFreshness = value
}
/**
* @param value Merge mode defines that all changes to a table will be merged at the destination Google BigQuery
* table. This is the default write mode. When selected, BigQuery reflects the way the data is stored
* in the source database. With Merge mode, no historical record of the change events is kept.
*/
@JvmName("wirviyvqexelfhqt")
public suspend fun merge(`value`: Output) {
this.merge = value
}
/**
* @param value A single target dataset to which all data will be streamed.
* Structure is documented below.
*/
@JvmName("baxrimwhqawgdcmc")
public suspend fun singleTargetDataset(`value`: Output) {
this.singleTargetDataset = value
}
/**
* @param value Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.
* Structure is documented below.
*/
@JvmName("hkhftyaefpobmvou")
public suspend fun sourceHierarchyDatasets(`value`: Output) {
this.sourceHierarchyDatasets = value
}
/**
* @param value AppendOnly mode defines that the stream of changes (INSERT, UPDATE-INSERT, UPDATE-DELETE and DELETE
* events) to a source table will be written to the destination Google BigQuery table, retaining the
* historical state of the data.
*/
@JvmName("rtgulnujfiwiauaf")
public suspend fun appendOnly(`value`: StreamDestinationConfigBigqueryDestinationConfigAppendOnlyArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.appendOnly = mapped
}
/**
* @param argument AppendOnly mode defines that the stream of changes (INSERT, UPDATE-INSERT, UPDATE-DELETE and DELETE
* events) to a source table will be written to the destination Google BigQuery table, retaining the
* historical state of the data.
*/
@JvmName("lfeolpqmevatwdyl")
public suspend fun appendOnly(argument: suspend StreamDestinationConfigBigqueryDestinationConfigAppendOnlyArgsBuilder.() -> Unit) {
val toBeMapped =
StreamDestinationConfigBigqueryDestinationConfigAppendOnlyArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.appendOnly = mapped
}
/**
* @param value The guaranteed data freshness (in seconds) when querying tables created by the stream.
* Editing this field will only affect new tables created in the future, but existing tables
* will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.
* A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
*/
@JvmName("hmxpqpjykqwttrwe")
public suspend fun dataFreshness(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dataFreshness = mapped
}
/**
* @param value Merge mode defines that all changes to a table will be merged at the destination Google BigQuery
* table. This is the default write mode. When selected, BigQuery reflects the way the data is stored
* in the source database. With Merge mode, no historical record of the change events is kept.
*/
@JvmName("iyridleclfvvqhcx")
public suspend fun merge(`value`: StreamDestinationConfigBigqueryDestinationConfigMergeArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.merge = mapped
}
/**
* @param argument Merge mode defines that all changes to a table will be merged at the destination Google BigQuery
* table. This is the default write mode. When selected, BigQuery reflects the way the data is stored
* in the source database. With Merge mode, no historical record of the change events is kept.
*/
@JvmName("muvbvxycjiuspxhq")
public suspend fun merge(argument: suspend StreamDestinationConfigBigqueryDestinationConfigMergeArgsBuilder.() -> Unit) {
val toBeMapped =
StreamDestinationConfigBigqueryDestinationConfigMergeArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.merge = mapped
}
/**
* @param value A single target dataset to which all data will be streamed.
* Structure is documented below.
*/
@JvmName("iqkipgugtptmmebm")
public suspend fun singleTargetDataset(`value`: StreamDestinationConfigBigqueryDestinationConfigSingleTargetDatasetArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.singleTargetDataset = mapped
}
/**
* @param argument A single target dataset to which all data will be streamed.
* Structure is documented below.
*/
@JvmName("ijcsaadsmgcywwcf")
public suspend fun singleTargetDataset(argument: suspend StreamDestinationConfigBigqueryDestinationConfigSingleTargetDatasetArgsBuilder.() -> Unit) {
val toBeMapped =
StreamDestinationConfigBigqueryDestinationConfigSingleTargetDatasetArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.singleTargetDataset = mapped
}
/**
* @param value Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.
* Structure is documented below.
*/
@JvmName("nmxiarvahpcrbikx")
public suspend fun sourceHierarchyDatasets(`value`: StreamDestinationConfigBigqueryDestinationConfigSourceHierarchyDatasetsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceHierarchyDatasets = mapped
}
/**
* @param argument Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.
* Structure is documented below.
*/
@JvmName("tqpriubbggrmybwv")
public suspend fun sourceHierarchyDatasets(argument: suspend StreamDestinationConfigBigqueryDestinationConfigSourceHierarchyDatasetsArgsBuilder.() -> Unit) {
val toBeMapped =
StreamDestinationConfigBigqueryDestinationConfigSourceHierarchyDatasetsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.sourceHierarchyDatasets = mapped
}
internal fun build(): StreamDestinationConfigBigqueryDestinationConfigArgs =
StreamDestinationConfigBigqueryDestinationConfigArgs(
appendOnly = appendOnly,
dataFreshness = dataFreshness,
merge = merge,
singleTargetDataset = singleTargetDataset,
sourceHierarchyDatasets = sourceHierarchyDatasets,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy