
com.pulumi.awsnative.healthlake.kotlin.inputs.FhirDatastoreKmsEncryptionConfigArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.healthlake.kotlin.inputs
import com.pulumi.awsnative.healthlake.inputs.FhirDatastoreKmsEncryptionConfigArgs.builder
import com.pulumi.awsnative.healthlake.kotlin.enums.FhirDatastoreKmsEncryptionConfigCmkType
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
/**
* The customer-managed-key (CMK) used when creating a Data Store. If a customer owned key is not specified, an AWS owned key will be used for encryption.
* @property cmkType The type of customer-managed-key (CMK) used for encryption. The two types of supported CMKs are customer owned CMKs and AWS owned CMKs.
* @property kmsKeyId The KMS encryption key id/alias used to encrypt the Data Store contents at rest.
*/
public data class FhirDatastoreKmsEncryptionConfigArgs(
public val cmkType: Output,
public val kmsKeyId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.healthlake.inputs.FhirDatastoreKmsEncryptionConfigArgs = com.pulumi.awsnative.healthlake.inputs.FhirDatastoreKmsEncryptionConfigArgs.builder()
.cmkType(cmkType.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.kmsKeyId(kmsKeyId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [FhirDatastoreKmsEncryptionConfigArgs].
*/
@PulumiTagMarker
public class FhirDatastoreKmsEncryptionConfigArgsBuilder internal constructor() {
private var cmkType: Output? = null
private var kmsKeyId: Output? = null
/**
* @param value The type of customer-managed-key (CMK) used for encryption. The two types of supported CMKs are customer owned CMKs and AWS owned CMKs.
*/
@JvmName("upgktrlklrgdjiny")
public suspend fun cmkType(`value`: Output) {
this.cmkType = value
}
/**
* @param value The KMS encryption key id/alias used to encrypt the Data Store contents at rest.
*/
@JvmName("dnipeewkddfwrnae")
public suspend fun kmsKeyId(`value`: Output) {
this.kmsKeyId = value
}
/**
* @param value The type of customer-managed-key (CMK) used for encryption. The two types of supported CMKs are customer owned CMKs and AWS owned CMKs.
*/
@JvmName("xjbeenuqthwgsroq")
public suspend fun cmkType(`value`: FhirDatastoreKmsEncryptionConfigCmkType) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.cmkType = mapped
}
/**
* @param value The KMS encryption key id/alias used to encrypt the Data Store contents at rest.
*/
@JvmName("hnoktyhpvimagypl")
public suspend fun kmsKeyId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kmsKeyId = mapped
}
internal fun build(): FhirDatastoreKmsEncryptionConfigArgs = FhirDatastoreKmsEncryptionConfigArgs(
cmkType = cmkType ?: throw PulumiNullFieldException("cmkType"),
kmsKeyId = kmsKeyId,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy