/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AuditManager { namespace Model { /** *

The settings object that holds all supported Audit Manager settings. *

See Also:

AWS * API Reference

*/ class Settings { public: AWS_AUDITMANAGER_API Settings(); AWS_AUDITMANAGER_API Settings(Aws::Utils::Json::JsonView jsonValue); AWS_AUDITMANAGER_API Settings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_AUDITMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies whether Organizations is enabled.

*/ inline bool GetIsAwsOrgEnabled() const{ return m_isAwsOrgEnabled; } /** *

Specifies whether Organizations is enabled.

*/ inline bool IsAwsOrgEnabledHasBeenSet() const { return m_isAwsOrgEnabledHasBeenSet; } /** *

Specifies whether Organizations is enabled.

*/ inline void SetIsAwsOrgEnabled(bool value) { m_isAwsOrgEnabledHasBeenSet = true; m_isAwsOrgEnabled = value; } /** *

Specifies whether Organizations is enabled.

*/ inline Settings& WithIsAwsOrgEnabled(bool value) { SetIsAwsOrgEnabled(value); return *this;} /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline const Aws::String& GetSnsTopic() const{ return m_snsTopic; } /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline bool SnsTopicHasBeenSet() const { return m_snsTopicHasBeenSet; } /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline void SetSnsTopic(const Aws::String& value) { m_snsTopicHasBeenSet = true; m_snsTopic = value; } /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline void SetSnsTopic(Aws::String&& value) { m_snsTopicHasBeenSet = true; m_snsTopic = std::move(value); } /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline void SetSnsTopic(const char* value) { m_snsTopicHasBeenSet = true; m_snsTopic.assign(value); } /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline Settings& WithSnsTopic(const Aws::String& value) { SetSnsTopic(value); return *this;} /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline Settings& WithSnsTopic(Aws::String&& value) { SetSnsTopic(std::move(value)); return *this;} /** *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ inline Settings& WithSnsTopic(const char* value) { SetSnsTopic(value); return *this;} /** *

The default S3 destination bucket for storing assessment reports.

*/ inline const AssessmentReportsDestination& GetDefaultAssessmentReportsDestination() const{ return m_defaultAssessmentReportsDestination; } /** *

The default S3 destination bucket for storing assessment reports.

*/ inline bool DefaultAssessmentReportsDestinationHasBeenSet() const { return m_defaultAssessmentReportsDestinationHasBeenSet; } /** *

The default S3 destination bucket for storing assessment reports.

*/ inline void SetDefaultAssessmentReportsDestination(const AssessmentReportsDestination& value) { m_defaultAssessmentReportsDestinationHasBeenSet = true; m_defaultAssessmentReportsDestination = value; } /** *

The default S3 destination bucket for storing assessment reports.

*/ inline void SetDefaultAssessmentReportsDestination(AssessmentReportsDestination&& value) { m_defaultAssessmentReportsDestinationHasBeenSet = true; m_defaultAssessmentReportsDestination = std::move(value); } /** *

The default S3 destination bucket for storing assessment reports.

*/ inline Settings& WithDefaultAssessmentReportsDestination(const AssessmentReportsDestination& value) { SetDefaultAssessmentReportsDestination(value); return *this;} /** *

The default S3 destination bucket for storing assessment reports.

*/ inline Settings& WithDefaultAssessmentReportsDestination(AssessmentReportsDestination&& value) { SetDefaultAssessmentReportsDestination(std::move(value)); return *this;} /** *

The designated default audit owners.

*/ inline const Aws::Vector& GetDefaultProcessOwners() const{ return m_defaultProcessOwners; } /** *

The designated default audit owners.

*/ inline bool DefaultProcessOwnersHasBeenSet() const { return m_defaultProcessOwnersHasBeenSet; } /** *

The designated default audit owners.

*/ inline void SetDefaultProcessOwners(const Aws::Vector& value) { m_defaultProcessOwnersHasBeenSet = true; m_defaultProcessOwners = value; } /** *

The designated default audit owners.

*/ inline void SetDefaultProcessOwners(Aws::Vector&& value) { m_defaultProcessOwnersHasBeenSet = true; m_defaultProcessOwners = std::move(value); } /** *

The designated default audit owners.

*/ inline Settings& WithDefaultProcessOwners(const Aws::Vector& value) { SetDefaultProcessOwners(value); return *this;} /** *

The designated default audit owners.

*/ inline Settings& WithDefaultProcessOwners(Aws::Vector&& value) { SetDefaultProcessOwners(std::move(value)); return *this;} /** *

The designated default audit owners.

*/ inline Settings& AddDefaultProcessOwners(const Role& value) { m_defaultProcessOwnersHasBeenSet = true; m_defaultProcessOwners.push_back(value); return *this; } /** *

The designated default audit owners.

*/ inline Settings& AddDefaultProcessOwners(Role&& value) { m_defaultProcessOwnersHasBeenSet = true; m_defaultProcessOwners.push_back(std::move(value)); return *this; } /** *

The KMS key details.

*/ inline const Aws::String& GetKmsKey() const{ return m_kmsKey; } /** *

The KMS key details.

*/ inline bool KmsKeyHasBeenSet() const { return m_kmsKeyHasBeenSet; } /** *

The KMS key details.

*/ inline void SetKmsKey(const Aws::String& value) { m_kmsKeyHasBeenSet = true; m_kmsKey = value; } /** *

The KMS key details.

*/ inline void SetKmsKey(Aws::String&& value) { m_kmsKeyHasBeenSet = true; m_kmsKey = std::move(value); } /** *

The KMS key details.

*/ inline void SetKmsKey(const char* value) { m_kmsKeyHasBeenSet = true; m_kmsKey.assign(value); } /** *

The KMS key details.

*/ inline Settings& WithKmsKey(const Aws::String& value) { SetKmsKey(value); return *this;} /** *

The KMS key details.

*/ inline Settings& WithKmsKey(Aws::String&& value) { SetKmsKey(std::move(value)); return *this;} /** *

The KMS key details.

*/ inline Settings& WithKmsKey(const char* value) { SetKmsKey(value); return *this;} /** *

The current evidence finder status and event data store details.

*/ inline const EvidenceFinderEnablement& GetEvidenceFinderEnablement() const{ return m_evidenceFinderEnablement; } /** *

The current evidence finder status and event data store details.

*/ inline bool EvidenceFinderEnablementHasBeenSet() const { return m_evidenceFinderEnablementHasBeenSet; } /** *

The current evidence finder status and event data store details.

*/ inline void SetEvidenceFinderEnablement(const EvidenceFinderEnablement& value) { m_evidenceFinderEnablementHasBeenSet = true; m_evidenceFinderEnablement = value; } /** *

The current evidence finder status and event data store details.

*/ inline void SetEvidenceFinderEnablement(EvidenceFinderEnablement&& value) { m_evidenceFinderEnablementHasBeenSet = true; m_evidenceFinderEnablement = std::move(value); } /** *

The current evidence finder status and event data store details.

*/ inline Settings& WithEvidenceFinderEnablement(const EvidenceFinderEnablement& value) { SetEvidenceFinderEnablement(value); return *this;} /** *

The current evidence finder status and event data store details.

*/ inline Settings& WithEvidenceFinderEnablement(EvidenceFinderEnablement&& value) { SetEvidenceFinderEnablement(std::move(value)); return *this;} /** *

The deregistration policy for your Audit Manager data. You can use this * attribute to determine how your data is handled when you deregister Audit * Manager.

*/ inline const DeregistrationPolicy& GetDeregistrationPolicy() const{ return m_deregistrationPolicy; } /** *

The deregistration policy for your Audit Manager data. You can use this * attribute to determine how your data is handled when you deregister Audit * Manager.

*/ inline bool DeregistrationPolicyHasBeenSet() const { return m_deregistrationPolicyHasBeenSet; } /** *

The deregistration policy for your Audit Manager data. You can use this * attribute to determine how your data is handled when you deregister Audit * Manager.

*/ inline void SetDeregistrationPolicy(const DeregistrationPolicy& value) { m_deregistrationPolicyHasBeenSet = true; m_deregistrationPolicy = value; } /** *

The deregistration policy for your Audit Manager data. You can use this * attribute to determine how your data is handled when you deregister Audit * Manager.

*/ inline void SetDeregistrationPolicy(DeregistrationPolicy&& value) { m_deregistrationPolicyHasBeenSet = true; m_deregistrationPolicy = std::move(value); } /** *

The deregistration policy for your Audit Manager data. You can use this * attribute to determine how your data is handled when you deregister Audit * Manager.

*/ inline Settings& WithDeregistrationPolicy(const DeregistrationPolicy& value) { SetDeregistrationPolicy(value); return *this;} /** *

The deregistration policy for your Audit Manager data. You can use this * attribute to determine how your data is handled when you deregister Audit * Manager.

*/ inline Settings& WithDeregistrationPolicy(DeregistrationPolicy&& value) { SetDeregistrationPolicy(std::move(value)); return *this;} /** *

The default S3 destination bucket for storing evidence finder exports.

*/ inline const DefaultExportDestination& GetDefaultExportDestination() const{ return m_defaultExportDestination; } /** *

The default S3 destination bucket for storing evidence finder exports.

*/ inline bool DefaultExportDestinationHasBeenSet() const { return m_defaultExportDestinationHasBeenSet; } /** *

The default S3 destination bucket for storing evidence finder exports.

*/ inline void SetDefaultExportDestination(const DefaultExportDestination& value) { m_defaultExportDestinationHasBeenSet = true; m_defaultExportDestination = value; } /** *

The default S3 destination bucket for storing evidence finder exports.

*/ inline void SetDefaultExportDestination(DefaultExportDestination&& value) { m_defaultExportDestinationHasBeenSet = true; m_defaultExportDestination = std::move(value); } /** *

The default S3 destination bucket for storing evidence finder exports.

*/ inline Settings& WithDefaultExportDestination(const DefaultExportDestination& value) { SetDefaultExportDestination(value); return *this;} /** *

The default S3 destination bucket for storing evidence finder exports.

*/ inline Settings& WithDefaultExportDestination(DefaultExportDestination&& value) { SetDefaultExportDestination(std::move(value)); return *this;} private: bool m_isAwsOrgEnabled; bool m_isAwsOrgEnabledHasBeenSet = false; Aws::String m_snsTopic; bool m_snsTopicHasBeenSet = false; AssessmentReportsDestination m_defaultAssessmentReportsDestination; bool m_defaultAssessmentReportsDestinationHasBeenSet = false; Aws::Vector m_defaultProcessOwners; bool m_defaultProcessOwnersHasBeenSet = false; Aws::String m_kmsKey; bool m_kmsKeyHasBeenSet = false; EvidenceFinderEnablement m_evidenceFinderEnablement; bool m_evidenceFinderEnablementHasBeenSet = false; DeregistrationPolicy m_deregistrationPolicy; bool m_deregistrationPolicyHasBeenSet = false; DefaultExportDestination m_defaultExportDestination; bool m_defaultExportDestinationHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws