/**
* 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 Key Management Service. The
* key is stored in your account and is managed by KMS (KMS charges apply).
Server-side encryption type. The only supported value is:
* KMS
- Server-side encryption that uses Key Management Service. The
* key is stored in your account and is managed by KMS (KMS charges apply).
Server-side encryption type. The only supported value is:
* KMS
- Server-side encryption that uses Key Management Service. The
* key is stored in your account and is managed by KMS (KMS charges apply).
Server-side encryption type. The only supported value is:
* KMS
- Server-side encryption that uses Key Management Service. The
* key is stored in your account and is managed by KMS (KMS charges apply).
Server-side encryption type. The only supported value is:
* KMS
- Server-side encryption that uses Key Management Service. The
* key is stored in your account and is managed by KMS (KMS charges apply).
Server-side encryption type. The only supported value is:
* KMS
- Server-side encryption that uses Key Management Service. The
* key is stored in your account and is managed by KMS (KMS charges apply).
The KMS key ARN used for the KMS encryption.
*/ inline const Aws::String& GetKMSMasterKeyArn() const{ return m_kMSMasterKeyArn; } /** *The KMS key ARN used for the KMS encryption.
*/ inline bool KMSMasterKeyArnHasBeenSet() const { return m_kMSMasterKeyArnHasBeenSet; } /** *The KMS key ARN used for the KMS encryption.
*/ inline void SetKMSMasterKeyArn(const Aws::String& value) { m_kMSMasterKeyArnHasBeenSet = true; m_kMSMasterKeyArn = value; } /** *The KMS key ARN used for the KMS encryption.
*/ inline void SetKMSMasterKeyArn(Aws::String&& value) { m_kMSMasterKeyArnHasBeenSet = true; m_kMSMasterKeyArn = std::move(value); } /** *The KMS key ARN used for the KMS encryption.
*/ inline void SetKMSMasterKeyArn(const char* value) { m_kMSMasterKeyArnHasBeenSet = true; m_kMSMasterKeyArn.assign(value); } /** *The KMS key ARN used for the KMS encryption.
*/ inline SSEDescription& WithKMSMasterKeyArn(const Aws::String& value) { SetKMSMasterKeyArn(value); return *this;} /** *The KMS key ARN used for the KMS encryption.
*/ inline SSEDescription& WithKMSMasterKeyArn(Aws::String&& value) { SetKMSMasterKeyArn(std::move(value)); return *this;} /** *The KMS key ARN used for the 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 KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's KMS key is accessible again. * DynamoDB will initiate the table archival process when table's 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 KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's KMS key is accessible again. * DynamoDB will initiate the table archival process when table's 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 KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's KMS key is accessible again. * DynamoDB will initiate the table archival process when table's 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 KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's KMS key is accessible again. * DynamoDB will initiate the table archival process when table's 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 KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's KMS key is accessible again. * DynamoDB will initiate the table archival process when table's 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 KMS key was inaccessible. This attribute will automatically be * cleared when DynamoDB detects that the table's KMS key is accessible again. * DynamoDB will initiate the table archival process when table's 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 = false; SSEType m_sSEType; bool m_sSETypeHasBeenSet = false; Aws::String m_kMSMasterKeyArn; bool m_kMSMasterKeyArnHasBeenSet = false; Aws::Utils::DateTime m_inaccessibleEncryptionDateTime; bool m_inaccessibleEncryptionDateTimeHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws