com.pulumi.gcp.pubsub.kotlin.inputs.LiteTopicRetentionConfigArgs.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.pubsub.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.pubsub.inputs.LiteTopicRetentionConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property perPartitionBytes The provisioned storage, in bytes, per partition. If the number of bytes stored
* in any of the topic's partitions grows beyond this value, older messages will be
* dropped to make room for newer ones, regardless of the value of period.
* @property period How long a published message is retained. If unset, messages will be retained as
* long as the bytes retained for each partition is below perPartitionBytes. A
* duration in seconds with up to nine fractional digits, terminated by 's'.
* Example: "3.5s".
*/
public data class LiteTopicRetentionConfigArgs(
public val perPartitionBytes: Output,
public val period: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.pubsub.inputs.LiteTopicRetentionConfigArgs =
com.pulumi.gcp.pubsub.inputs.LiteTopicRetentionConfigArgs.builder()
.perPartitionBytes(perPartitionBytes.applyValue({ args0 -> args0 }))
.period(period?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [LiteTopicRetentionConfigArgs].
*/
@PulumiTagMarker
public class LiteTopicRetentionConfigArgsBuilder internal constructor() {
private var perPartitionBytes: Output? = null
private var period: Output? = null
/**
* @param value The provisioned storage, in bytes, per partition. If the number of bytes stored
* in any of the topic's partitions grows beyond this value, older messages will be
* dropped to make room for newer ones, regardless of the value of period.
*/
@JvmName("nkjnouykscgmwpiw")
public suspend fun perPartitionBytes(`value`: Output) {
this.perPartitionBytes = value
}
/**
* @param value How long a published message is retained. If unset, messages will be retained as
* long as the bytes retained for each partition is below perPartitionBytes. A
* duration in seconds with up to nine fractional digits, terminated by 's'.
* Example: "3.5s".
*/
@JvmName("byimvneolcjuifry")
public suspend fun period(`value`: Output) {
this.period = value
}
/**
* @param value The provisioned storage, in bytes, per partition. If the number of bytes stored
* in any of the topic's partitions grows beyond this value, older messages will be
* dropped to make room for newer ones, regardless of the value of period.
*/
@JvmName("kbpttnswnetyyrrw")
public suspend fun perPartitionBytes(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.perPartitionBytes = mapped
}
/**
* @param value How long a published message is retained. If unset, messages will be retained as
* long as the bytes retained for each partition is below perPartitionBytes. A
* duration in seconds with up to nine fractional digits, terminated by 's'.
* Example: "3.5s".
*/
@JvmName("vikvewkwrogtckbj")
public suspend fun period(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.period = mapped
}
internal fun build(): LiteTopicRetentionConfigArgs = LiteTopicRetentionConfigArgs(
perPartitionBytes = perPartitionBytes ?: throw PulumiNullFieldException("perPartitionBytes"),
period = period,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy