/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains metadata about an KMS key.See Also:
AWS
* API Reference
The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline const Aws::String& GetAWSAccountId() const{ return m_aWSAccountId; } /** *The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline bool AWSAccountIdHasBeenSet() const { return m_aWSAccountIdHasBeenSet; } /** *The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline void SetAWSAccountId(const Aws::String& value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId = value; } /** *The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline void SetAWSAccountId(Aws::String&& value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId = std::move(value); } /** *The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline void SetAWSAccountId(const char* value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId.assign(value); } /** *The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline AwsKmsKeyDetails& WithAWSAccountId(const Aws::String& value) { SetAWSAccountId(value); return *this;} /** *The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline AwsKmsKeyDetails& WithAWSAccountId(Aws::String&& value) { SetAWSAccountId(std::move(value)); return *this;} /** *The twelve-digit account ID of the Amazon Web Services account that owns the * KMS key.
*/ inline AwsKmsKeyDetails& WithAWSAccountId(const char* value) { SetAWSAccountId(value); return *this;} /** *Indicates when the KMS key was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the KMS key was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the KMS key was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the KMS key was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The globally unique identifier for the KMS key.
*/ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** *The globally unique identifier for the KMS key.
*/ inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } /** *The globally unique identifier for the KMS key.
*/ inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } /** *The globally unique identifier for the KMS key.
*/ inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } /** *The globally unique identifier for the KMS key.
*/ inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } /** *The globally unique identifier for the KMS key.
*/ inline AwsKmsKeyDetails& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** *The globally unique identifier for the KMS key.
*/ inline AwsKmsKeyDetails& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** *The globally unique identifier for the KMS key.
*/ inline AwsKmsKeyDetails& WithKeyId(const char* value) { SetKeyId(value); return *this;} /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline const Aws::String& GetKeyManager() const{ return m_keyManager; } /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline bool KeyManagerHasBeenSet() const { return m_keyManagerHasBeenSet; } /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline void SetKeyManager(const Aws::String& value) { m_keyManagerHasBeenSet = true; m_keyManager = value; } /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline void SetKeyManager(Aws::String&& value) { m_keyManagerHasBeenSet = true; m_keyManager = std::move(value); } /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline void SetKeyManager(const char* value) { m_keyManagerHasBeenSet = true; m_keyManager.assign(value); } /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline AwsKmsKeyDetails& WithKeyManager(const Aws::String& value) { SetKeyManager(value); return *this;} /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline AwsKmsKeyDetails& WithKeyManager(Aws::String&& value) { SetKeyManager(std::move(value)); return *this;} /** *The manager of the KMS key. KMS keys in your Amazon Web Services account are * either customer managed or Amazon Web Services managed.
*/ inline AwsKmsKeyDetails& WithKeyManager(const char* value) { SetKeyManager(value); return *this;} /** *The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The state of the KMS key. Valid values are as follows:
* Disabled
Enabled
PendingDeletion
PendingImport
*
Unavailable
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
The source of the KMS key material.
When this value is
* AWS_KMS
, KMS created the key material.
When this value is
* EXTERNAL
, the key material was imported from your existing key
* management infrastructure or the KMS key lacks key material.
When this
* value is AWS_CLOUDHSM
, the key material was created in the CloudHSM
* cluster associated with a custom key store.
A description of the KMS key.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the KMS key.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the KMS key.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the KMS key.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the KMS key.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the KMS key.
*/ inline AwsKmsKeyDetails& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the KMS key.
*/ inline AwsKmsKeyDetails& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the KMS key.
*/ inline AwsKmsKeyDetails& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Whether the key has key rotation enabled.
*/ inline bool GetKeyRotationStatus() const{ return m_keyRotationStatus; } /** *Whether the key has key rotation enabled.
*/ inline bool KeyRotationStatusHasBeenSet() const { return m_keyRotationStatusHasBeenSet; } /** *Whether the key has key rotation enabled.
*/ inline void SetKeyRotationStatus(bool value) { m_keyRotationStatusHasBeenSet = true; m_keyRotationStatus = value; } /** *Whether the key has key rotation enabled.
*/ inline AwsKmsKeyDetails& WithKeyRotationStatus(bool value) { SetKeyRotationStatus(value); return *this;} private: Aws::String m_aWSAccountId; bool m_aWSAccountIdHasBeenSet = false; double m_creationDate; bool m_creationDateHasBeenSet = false; Aws::String m_keyId; bool m_keyIdHasBeenSet = false; Aws::String m_keyManager; bool m_keyManagerHasBeenSet = false; Aws::String m_keyState; bool m_keyStateHasBeenSet = false; Aws::String m_origin; bool m_originHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_keyRotationStatus; bool m_keyRotationStatusHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws