/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the configuration settings for retrieving occurrences of sensitive
* data reported by findings, and the status of the configuration for an Amazon
* Macie account. When you enable the configuration for the first time, your
* request must specify an Key Management Service (KMS) key. Otherwise, an error
* occurs. Macie uses the specified key to encrypt the sensitive data that you
* retrieve.See Also:
AWS
* API Reference
The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline RevealConfiguration& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline RevealConfiguration& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt * sensitive data that's retrieved. The key must be an existing, customer managed, * symmetric encryption key that's in the same Amazon Web Services Region as the * Amazon Macie account.
If this value specifies an alias, it must include * the following prefix: alias/. If this value specifies a key that's owned by * another Amazon Web Services account, it must specify the ARN of the key or the * ARN of the key's alias.
*/ inline RevealConfiguration& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *The status of the configuration for the Amazon Macie account. In a request, * valid values are: ENABLED, enable the configuration for the account; and, * DISABLED, disable the configuration for the account. In a response, possible * values are: ENABLED, the configuration is currently enabled for the account; * and, DISABLED, the configuration is currently disabled for the account.
*/ inline const RevealStatus& GetStatus() const{ return m_status; } /** *The status of the configuration for the Amazon Macie account. In a request, * valid values are: ENABLED, enable the configuration for the account; and, * DISABLED, disable the configuration for the account. In a response, possible * values are: ENABLED, the configuration is currently enabled for the account; * and, DISABLED, the configuration is currently disabled for the account.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the configuration for the Amazon Macie account. In a request, * valid values are: ENABLED, enable the configuration for the account; and, * DISABLED, disable the configuration for the account. In a response, possible * values are: ENABLED, the configuration is currently enabled for the account; * and, DISABLED, the configuration is currently disabled for the account.
*/ inline void SetStatus(const RevealStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the configuration for the Amazon Macie account. In a request, * valid values are: ENABLED, enable the configuration for the account; and, * DISABLED, disable the configuration for the account. In a response, possible * values are: ENABLED, the configuration is currently enabled for the account; * and, DISABLED, the configuration is currently disabled for the account.
*/ inline void SetStatus(RevealStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the configuration for the Amazon Macie account. In a request, * valid values are: ENABLED, enable the configuration for the account; and, * DISABLED, disable the configuration for the account. In a response, possible * values are: ENABLED, the configuration is currently enabled for the account; * and, DISABLED, the configuration is currently disabled for the account.
*/ inline RevealConfiguration& WithStatus(const RevealStatus& value) { SetStatus(value); return *this;} /** *The status of the configuration for the Amazon Macie account. In a request, * valid values are: ENABLED, enable the configuration for the account; and, * DISABLED, disable the configuration for the account. In a response, possible * values are: ENABLED, the configuration is currently enabled for the account; * and, DISABLED, the configuration is currently disabled for the account.
*/ inline RevealConfiguration& WithStatus(RevealStatus&& value) { SetStatus(std::move(value)); return *this;} private: Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; RevealStatus m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws