Class EncryptionSpecification

java.lang.Object
software.amazon.awssdk.services.keyspaces.model.EncryptionSpecification
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<EncryptionSpecification.Builder,EncryptionSpecification>

@Generated("software.amazon.awssdk:codegen") public final class EncryptionSpecification extends Object implements SdkPojo, Serializable, ToCopyableBuilder<EncryptionSpecification.Builder,EncryptionSpecification>

Amazon Keyspaces encrypts and decrypts the table data at rest transparently and integrates with Key Management Service for storing and managing the encryption key. You can choose one of the following KMS keys (KMS keys):

  • Amazon Web Services owned key - This is the default encryption type. The key is owned by Amazon Keyspaces (no additional charge).

  • Customer managed key - This key is stored in your account and is created, owned, and managed by you. You have full control over the customer managed key (KMS charges apply).

For more information about encryption at rest in Amazon Keyspaces, see Encryption at rest in the Amazon Keyspaces Developer Guide.

For more information about KMS, see KMS management service concepts in the Key Management Service Developer Guide.

See Also:
  • Method Details

    • type

      public final EncryptionType type()

      The encryption option specified for the table. You can choose one of the following KMS keys (KMS keys):

      • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

      • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

      The default is type:AWS_OWNED_KMS_KEY.

      For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

      If the service returns an enum value that is not available in the current SDK version, type will return EncryptionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The encryption option specified for the table. You can choose one of the following KMS keys (KMS keys):

      • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

      • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

      The default is type:AWS_OWNED_KMS_KEY.

      For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

      See Also:
    • typeAsString

      public final String typeAsString()

      The encryption option specified for the table. You can choose one of the following KMS keys (KMS keys):

      • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

      • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

      The default is type:AWS_OWNED_KMS_KEY.

      For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

      If the service returns an enum value that is not available in the current SDK version, type will return EncryptionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The encryption option specified for the table. You can choose one of the following KMS keys (KMS keys):

      • type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.

      • type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is created, owned, and managed by you. This option requires the kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as input.

      The default is type:AWS_OWNED_KMS_KEY.

      For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.

      See Also:
    • kmsKeyIdentifier

      public final String kmsKeyIdentifier()

      The Amazon Resource Name (ARN) of the customer managed KMS key, for example kms_key_identifier:ARN.

      Returns:
      The Amazon Resource Name (ARN) of the customer managed KMS key, for example kms_key_identifier:ARN.
    • toBuilder

      public EncryptionSpecification.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<EncryptionSpecification.Builder,EncryptionSpecification>
      Returns:
      a builder for type T
    • builder

      public static EncryptionSpecification.Builder builder()
    • serializableBuilderClass

      public static Class<? extends EncryptionSpecification.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.