com.pulumi.awsnative.iotanalytics.kotlin.inputs.ChannelStorageArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-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.awsnative.iotanalytics.kotlin.inputs
import com.pulumi.awsnative.iotanalytics.inputs.ChannelStorageArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property customerManagedS3 Used to store channel data in an S3 bucket that you manage. If customer managed storage is selected, the `retentionPeriod` parameter is ignored. You can't change the choice of S3 storage after the data store is created.
* @property serviceManagedS3 Used to store channel data in an S3 bucket managed by AWS IoT Analytics . You can't change the choice of S3 storage after the data store is created.
*/
public data class ChannelStorageArgs(
public val customerManagedS3: Output? = null,
public val serviceManagedS3: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.iotanalytics.inputs.ChannelStorageArgs =
com.pulumi.awsnative.iotanalytics.inputs.ChannelStorageArgs.builder()
.customerManagedS3(customerManagedS3?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.serviceManagedS3(
serviceManagedS3?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [ChannelStorageArgs].
*/
@PulumiTagMarker
public class ChannelStorageArgsBuilder internal constructor() {
private var customerManagedS3: Output? = null
private var serviceManagedS3: Output? = null
/**
* @param value Used to store channel data in an S3 bucket that you manage. If customer managed storage is selected, the `retentionPeriod` parameter is ignored. You can't change the choice of S3 storage after the data store is created.
*/
@JvmName("pcbitllbxfyphakm")
public suspend fun customerManagedS3(`value`: Output) {
this.customerManagedS3 = value
}
/**
* @param value Used to store channel data in an S3 bucket managed by AWS IoT Analytics . You can't change the choice of S3 storage after the data store is created.
*/
@JvmName("wvldefyaigbomvan")
public suspend fun serviceManagedS3(`value`: Output) {
this.serviceManagedS3 = value
}
/**
* @param value Used to store channel data in an S3 bucket that you manage. If customer managed storage is selected, the `retentionPeriod` parameter is ignored. You can't change the choice of S3 storage after the data store is created.
*/
@JvmName("hntosrtaiofvvacv")
public suspend fun customerManagedS3(`value`: ChannelCustomerManagedS3Args?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.customerManagedS3 = mapped
}
/**
* @param argument Used to store channel data in an S3 bucket that you manage. If customer managed storage is selected, the `retentionPeriod` parameter is ignored. You can't change the choice of S3 storage after the data store is created.
*/
@JvmName("knpcgackdmneodfh")
public suspend fun customerManagedS3(argument: suspend ChannelCustomerManagedS3ArgsBuilder.() -> Unit) {
val toBeMapped = ChannelCustomerManagedS3ArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.customerManagedS3 = mapped
}
/**
* @param value Used to store channel data in an S3 bucket managed by AWS IoT Analytics . You can't change the choice of S3 storage after the data store is created.
*/
@JvmName("aqqmsqiintaaotvv")
public suspend fun serviceManagedS3(`value`: ChannelServiceManagedS3Args?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serviceManagedS3 = mapped
}
/**
* @param argument Used to store channel data in an S3 bucket managed by AWS IoT Analytics . You can't change the choice of S3 storage after the data store is created.
*/
@JvmName("janklfbryrpevehf")
public suspend fun serviceManagedS3(argument: suspend ChannelServiceManagedS3ArgsBuilder.() -> Unit) {
val toBeMapped = ChannelServiceManagedS3ArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.serviceManagedS3 = mapped
}
internal fun build(): ChannelStorageArgs = ChannelStorageArgs(
customerManagedS3 = customerManagedS3,
serviceManagedS3 = serviceManagedS3,
)
}