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