All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.cassandra.kotlin.outputs.TableEncryptionSpecification.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.cassandra.kotlin.outputs

import com.pulumi.awsnative.cassandra.kotlin.enums.TableEncryptionType
import kotlin.String
import kotlin.Suppress

/**
 * Represents the settings used to enable server-side encryption
 * @property encryptionType The encryption at rest options for the table.
 * - *AWS owned key* (default) - `AWS_OWNED_KMS_KEY`
 * - *Customer managed key* - `CUSTOMER_MANAGED_KMS_KEY`
 * > If you choose `CUSTOMER_MANAGED_KMS_KEY` , a `kms_key_identifier` in the format of a key ARN is required.
 * Valid values: `CUSTOMER_MANAGED_KMS_KEY` | `AWS_OWNED_KMS_KEY` .
 * @property kmsKeyIdentifier Requires a `kms_key_identifier` in the format of a key ARN.
 */
public data class TableEncryptionSpecification(
    public val encryptionType: TableEncryptionType,
    public val kmsKeyIdentifier: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.cassandra.outputs.TableEncryptionSpecification): TableEncryptionSpecification = TableEncryptionSpecification(
            encryptionType = javaType.encryptionType().let({ args0 ->
                com.pulumi.awsnative.cassandra.kotlin.enums.TableEncryptionType.Companion.toKotlin(args0)
            }),
            kmsKeyIdentifier = javaType.kmsKeyIdentifier().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy