/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The description of the server-side encryption status on the specified
* table.See Also:
AWS
* API Reference
Represents the current state of server-side encryption. The only supported * values are:
ENABLED - Server-side encryption is
* enabled.
UPDATING - Server-side encryption is
* being updated.
Represents the current state of server-side encryption. The only supported * values are:
ENABLED - Server-side encryption is
* enabled.
UPDATING - Server-side encryption is
* being updated.
Represents the current state of server-side encryption. The only supported * values are:
ENABLED - Server-side encryption is
* enabled.
UPDATING - Server-side encryption is
* being updated.
Represents the current state of server-side encryption. The only supported * values are:
ENABLED - Server-side encryption is
* enabled.
UPDATING - Server-side encryption is
* being updated.
Represents the current state of server-side encryption. The only supported * values are:
ENABLED - Server-side encryption is
* enabled.
UPDATING - Server-side encryption is
* being updated.
Represents the current state of server-side encryption. The only supported * values are:
ENABLED - Server-side encryption is
* enabled.
UPDATING - Server-side encryption is
* being updated.
Server-side encryption type. The only supported value is:
* KMS - Server-side encryption that uses AWS Key Management Service.
* The key is stored in your account and is managed by AWS KMS (AWS KMS charges
* apply).
Server-side encryption type. The only supported value is:
* KMS - Server-side encryption that uses AWS Key Management Service.
* The key is stored in your account and is managed by AWS KMS (AWS KMS charges
* apply).
Server-side encryption type. The only supported value is:
* KMS - Server-side encryption that uses AWS Key Management Service.
* The key is stored in your account and is managed by AWS KMS (AWS KMS charges
* apply).
Server-side encryption type. The only supported value is:
* KMS - Server-side encryption that uses AWS Key Management Service.
* The key is stored in your account and is managed by AWS KMS (AWS KMS charges
* apply).
Server-side encryption type. The only supported value is:
* KMS - Server-side encryption that uses AWS Key Management Service.
* The key is stored in your account and is managed by AWS KMS (AWS KMS charges
* apply).
Server-side encryption type. The only supported value is:
* KMS - Server-side encryption that uses AWS Key Management Service.
* The key is stored in your account and is managed by AWS KMS (AWS KMS charges
* apply).
The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline const Aws::String& GetKMSMasterKeyArn() const{ return m_kMSMasterKeyArn; } /** *The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline bool KMSMasterKeyArnHasBeenSet() const { return m_kMSMasterKeyArnHasBeenSet; } /** *The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline void SetKMSMasterKeyArn(const Aws::String& value) { m_kMSMasterKeyArnHasBeenSet = true; m_kMSMasterKeyArn = value; } /** *The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline void SetKMSMasterKeyArn(Aws::String&& value) { m_kMSMasterKeyArnHasBeenSet = true; m_kMSMasterKeyArn = std::move(value); } /** *The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline void SetKMSMasterKeyArn(const char* value) { m_kMSMasterKeyArnHasBeenSet = true; m_kMSMasterKeyArn.assign(value); } /** *The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline SSEDescription& WithKMSMasterKeyArn(const Aws::String& value) { SetKMSMasterKeyArn(value); return *this;} /** *The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline SSEDescription& WithKMSMasterKeyArn(Aws::String&& value) { SetKMSMasterKeyArn(std::move(value)); return *this;} /** *The AWS KMS customer master key (CMK) ARN used for the AWS KMS * encryption.
*/ inline SSEDescription& WithKMSMasterKeyArn(const char* value) { SetKMSMasterKeyArn(value); return *this;} /** *Indicates the time, in UNIX epoch date format, when DynamoDB detected that * the table's AWS KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's AWS KMS key is accessible again. * DynamoDB will initiate the table archival process when table's AWS KMS key * remains inaccessible for more than seven days from this date.
*/ inline const Aws::Utils::DateTime& GetInaccessibleEncryptionDateTime() const{ return m_inaccessibleEncryptionDateTime; } /** *Indicates the time, in UNIX epoch date format, when DynamoDB detected that * the table's AWS KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's AWS KMS key is accessible again. * DynamoDB will initiate the table archival process when table's AWS KMS key * remains inaccessible for more than seven days from this date.
*/ inline bool InaccessibleEncryptionDateTimeHasBeenSet() const { return m_inaccessibleEncryptionDateTimeHasBeenSet; } /** *Indicates the time, in UNIX epoch date format, when DynamoDB detected that * the table's AWS KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's AWS KMS key is accessible again. * DynamoDB will initiate the table archival process when table's AWS KMS key * remains inaccessible for more than seven days from this date.
*/ inline void SetInaccessibleEncryptionDateTime(const Aws::Utils::DateTime& value) { m_inaccessibleEncryptionDateTimeHasBeenSet = true; m_inaccessibleEncryptionDateTime = value; } /** *Indicates the time, in UNIX epoch date format, when DynamoDB detected that * the table's AWS KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's AWS KMS key is accessible again. * DynamoDB will initiate the table archival process when table's AWS KMS key * remains inaccessible for more than seven days from this date.
*/ inline void SetInaccessibleEncryptionDateTime(Aws::Utils::DateTime&& value) { m_inaccessibleEncryptionDateTimeHasBeenSet = true; m_inaccessibleEncryptionDateTime = std::move(value); } /** *Indicates the time, in UNIX epoch date format, when DynamoDB detected that * the table's AWS KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's AWS KMS key is accessible again. * DynamoDB will initiate the table archival process when table's AWS KMS key * remains inaccessible for more than seven days from this date.
*/ inline SSEDescription& WithInaccessibleEncryptionDateTime(const Aws::Utils::DateTime& value) { SetInaccessibleEncryptionDateTime(value); return *this;} /** *Indicates the time, in UNIX epoch date format, when DynamoDB detected that * the table's AWS KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's AWS KMS key is accessible again. * DynamoDB will initiate the table archival process when table's AWS KMS key * remains inaccessible for more than seven days from this date.
*/ inline SSEDescription& WithInaccessibleEncryptionDateTime(Aws::Utils::DateTime&& value) { SetInaccessibleEncryptionDateTime(std::move(value)); return *this;} private: SSEStatus m_status; bool m_statusHasBeenSet; SSEType m_sSEType; bool m_sSETypeHasBeenSet; Aws::String m_kMSMasterKeyArn; bool m_kMSMasterKeyArnHasBeenSet; Aws::Utils::DateTime m_inaccessibleEncryptionDateTime; bool m_inaccessibleEncryptionDateTimeHasBeenSet; }; } // namespace Model } // namespace DynamoDB } // namespace Aws