com.pulumi.gcp.datastream.kotlin.inputs.StreamDestinationConfigGcsDestinationConfigArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@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.StreamDestinationConfigGcsDestinationConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property avroFileFormat AVRO file format configuration.
* @property fileRotationInterval The maximum duration for which new events are added before a file is closed and a new file is created.
* A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
* @property fileRotationMb The maximum file size to be saved in the bucket.
* @property jsonFileFormat JSON file format configuration.
* Structure is documented below.
* @property path Path inside the Cloud Storage bucket to write data to.
*/
public data class StreamDestinationConfigGcsDestinationConfigArgs(
public val avroFileFormat: Output? =
null,
public val fileRotationInterval: Output? = null,
public val fileRotationMb: Output? = null,
public val jsonFileFormat: Output? =
null,
public val path: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.datastream.inputs.StreamDestinationConfigGcsDestinationConfigArgs =
com.pulumi.gcp.datastream.inputs.StreamDestinationConfigGcsDestinationConfigArgs.builder()
.avroFileFormat(avroFileFormat?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.fileRotationInterval(fileRotationInterval?.applyValue({ args0 -> args0 }))
.fileRotationMb(fileRotationMb?.applyValue({ args0 -> args0 }))
.jsonFileFormat(jsonFileFormat?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.path(path?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [StreamDestinationConfigGcsDestinationConfigArgs].
*/
@PulumiTagMarker
public class StreamDestinationConfigGcsDestinationConfigArgsBuilder internal constructor() {
private var avroFileFormat: Output? =
null
private var fileRotationInterval: Output? = null
private var fileRotationMb: Output? = null
private var jsonFileFormat: Output? =
null
private var path: Output? = null
/**
* @param value AVRO file format configuration.
*/
@JvmName("ahoeckoeixqoxyde")
public suspend fun avroFileFormat(`value`: Output) {
this.avroFileFormat = value
}
/**
* @param value The maximum duration for which new events are added before a file is closed and a new file is created.
* A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
*/
@JvmName("bsxmayoglxtnsfbm")
public suspend fun fileRotationInterval(`value`: Output) {
this.fileRotationInterval = value
}
/**
* @param value The maximum file size to be saved in the bucket.
*/
@JvmName("hpmeyouxutspulqd")
public suspend fun fileRotationMb(`value`: Output) {
this.fileRotationMb = value
}
/**
* @param value JSON file format configuration.
* Structure is documented below.
*/
@JvmName("osiitjdblhgpuofk")
public suspend fun jsonFileFormat(`value`: Output) {
this.jsonFileFormat = value
}
/**
* @param value Path inside the Cloud Storage bucket to write data to.
*/
@JvmName("hfmdfnjublgfppxo")
public suspend fun path(`value`: Output) {
this.path = value
}
/**
* @param value AVRO file format configuration.
*/
@JvmName("kavyswdeimfcablg")
public suspend fun avroFileFormat(`value`: StreamDestinationConfigGcsDestinationConfigAvroFileFormatArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.avroFileFormat = mapped
}
/**
* @param argument AVRO file format configuration.
*/
@JvmName("ueeedewqmkiajgpn")
public suspend fun avroFileFormat(argument: suspend StreamDestinationConfigGcsDestinationConfigAvroFileFormatArgsBuilder.() -> Unit) {
val toBeMapped =
StreamDestinationConfigGcsDestinationConfigAvroFileFormatArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.avroFileFormat = mapped
}
/**
* @param value The maximum duration for which new events are added before a file is closed and a new file is created.
* A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s.
*/
@JvmName("dkenrafbqnqxqyrt")
public suspend fun fileRotationInterval(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.fileRotationInterval = mapped
}
/**
* @param value The maximum file size to be saved in the bucket.
*/
@JvmName("kqbmiehghijvedoa")
public suspend fun fileRotationMb(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.fileRotationMb = mapped
}
/**
* @param value JSON file format configuration.
* Structure is documented below.
*/
@JvmName("txnyqkccgybkthaw")
public suspend fun jsonFileFormat(`value`: StreamDestinationConfigGcsDestinationConfigJsonFileFormatArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.jsonFileFormat = mapped
}
/**
* @param argument JSON file format configuration.
* Structure is documented below.
*/
@JvmName("occmotskrwlrgjam")
public suspend fun jsonFileFormat(argument: suspend StreamDestinationConfigGcsDestinationConfigJsonFileFormatArgsBuilder.() -> Unit) {
val toBeMapped =
StreamDestinationConfigGcsDestinationConfigJsonFileFormatArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.jsonFileFormat = mapped
}
/**
* @param value Path inside the Cloud Storage bucket to write data to.
*/
@JvmName("vwtnudlhmtvyatcc")
public suspend fun path(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.path = mapped
}
internal fun build(): StreamDestinationConfigGcsDestinationConfigArgs =
StreamDestinationConfigGcsDestinationConfigArgs(
avroFileFormat = avroFileFormat,
fileRotationInterval = fileRotationInterval,
fileRotationMb = fileRotationMb,
jsonFileFormat = jsonFileFormat,
path = path,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy