
com.pulumi.awsnative.kms.kotlin.enums.KeyUsage.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.kms.kotlin.enums
import com.pulumi.kotlin.ConvertibleToJava
import kotlin.Suppress
/**
* Determines the [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. The default value is ``ENCRYPT_DECRYPT``. This property is required for asymmetric KMS keys and HMAC KMS keys. You can't change the ``KeyUsage`` value after the KMS key is created.
* If you change the value of the ``KeyUsage`` property on an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing an immutable property value.
* Select only one valid value.
* + For symmetric encryption KMS keys, omit the property or specify ``ENCRYPT_DECRYPT``.
* + For asymmetric KMS keys with RSA key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.
* + For asymmetric KMS keys with ECC key material, specify ``SIGN_VERIFY``.
* + For asymmetric KMS keys with SM2 (China Regions only) key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.
* + For HMAC KMS keys, specify ``GENERATE_VERIFY_MAC``.
*/
public enum class KeyUsage(
public val javaValue: com.pulumi.awsnative.kms.enums.KeyUsage,
) : ConvertibleToJava {
EncryptDecrypt(com.pulumi.awsnative.kms.enums.KeyUsage.EncryptDecrypt),
SignVerify(com.pulumi.awsnative.kms.enums.KeyUsage.SignVerify),
GenerateVerifyMac(com.pulumi.awsnative.kms.enums.KeyUsage.GenerateVerifyMac),
KeyAgreement(com.pulumi.awsnative.kms.enums.KeyUsage.KeyAgreement),
;
override fun toJava(): com.pulumi.awsnative.kms.enums.KeyUsage = javaValue
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.kms.enums.KeyUsage): KeyUsage =
KeyUsage.values().first { it.javaValue == javaType }
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy