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

com.pulumi.awsnative.dynamodb.kotlin.outputs.TableSseSpecification.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.dynamodb.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress

/**
 * Represents the settings used to enable server-side encryption.
 * @property kmsMasterKeyId The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key ``alias/aws/dynamodb``.
 * @property sseEnabled Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to ``KMS`` and an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
 * @property sseType Server-side encryption type. The only supported value is:
 *   +   ``KMS`` - Server-side encryption that uses KMSlong. The key is stored in your account and is managed by KMS (KMS charges apply).
 */
public data class TableSseSpecification(
    public val kmsMasterKeyId: String? = null,
    public val sseEnabled: Boolean,
    public val sseType: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.dynamodb.outputs.TableSseSpecification): TableSseSpecification = TableSseSpecification(
            kmsMasterKeyId = javaType.kmsMasterKeyId().map({ args0 -> args0 }).orElse(null),
            sseEnabled = javaType.sseEnabled(),
            sseType = javaType.sseType().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy