![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.kinesis.kotlin.inputs.StreamEncryptionArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.kinesis.kotlin.inputs
import com.pulumi.awsnative.kinesis.inputs.StreamEncryptionArgs.builder
import com.pulumi.awsnative.kinesis.kotlin.enums.StreamEncryptionEncryptionType
import com.pulumi.core.Output
import com.pulumi.core.Output.of
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
/**
* When specified, enables or updates server-side encryption using an AWS KMS key for a specified stream. Removing this property from your stack template and updating your stack disables encryption.
* @property encryptionType The encryption type to use. The only valid value is KMS.
* @property keyId The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by "alias/".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.
*/
public data class StreamEncryptionArgs(
public val encryptionType: Output,
public val keyId: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.kinesis.inputs.StreamEncryptionArgs =
com.pulumi.awsnative.kinesis.inputs.StreamEncryptionArgs.builder()
.encryptionType(encryptionType.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.keyId(keyId.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [StreamEncryptionArgs].
*/
@PulumiTagMarker
public class StreamEncryptionArgsBuilder internal constructor() {
private var encryptionType: Output? = null
private var keyId: Output? = null
/**
* @param value The encryption type to use. The only valid value is KMS.
*/
@JvmName("nrxhdfwidswoknai")
public suspend fun encryptionType(`value`: Output) {
this.encryptionType = value
}
/**
* @param value The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by "alias/".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.
*/
@JvmName("yubygcvyxjpjsoif")
public suspend fun keyId(`value`: Output) {
this.keyId = value
}
/**
* @param value The encryption type to use. The only valid value is KMS.
*/
@JvmName("uidsfrpvyhwfcfkl")
public suspend fun encryptionType(`value`: StreamEncryptionEncryptionType) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.encryptionType = mapped
}
/**
* @param value The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by "alias/".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.
*/
@JvmName("vifqnkjolrvsdqhk")
public suspend fun keyId(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.keyId = mapped
}
internal fun build(): StreamEncryptionArgs = StreamEncryptionArgs(
encryptionType = encryptionType ?: throw PulumiNullFieldException("encryptionType"),
keyId = keyId ?: throw PulumiNullFieldException("keyId"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy