/** * 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 AuditManager { namespace Model { /** */ class UpdateSettingsRequest : public AuditManagerRequest { public: AWS_AUDITMANAGER_API UpdateSettingsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateSettings"; } AWS_AUDITMANAGER_API Aws::String SerializePayload() const override; /** *

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

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

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

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

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

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

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

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

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

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

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

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

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

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

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager * sends notifications to.

*/ inline UpdateSettingsRequest& 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 UpdateSettingsRequest& WithDefaultAssessmentReportsDestination(const AssessmentReportsDestination& value) { SetDefaultAssessmentReportsDestination(value); return *this;} /** *

The default S3 destination bucket for storing assessment reports.

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

A list of the default audit owners.

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

A list of the default audit owners.

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

A list of the default audit owners.

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

A list of the default audit owners.

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

A list of the default audit owners.

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

A list of the default audit owners.

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

A list of the default audit owners.

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

A list of the default audit owners.

*/ inline UpdateSettingsRequest& 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 UpdateSettingsRequest& WithKmsKey(const Aws::String& value) { SetKmsKey(value); return *this;} /** *

The KMS key details.

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

The KMS key details.

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

Specifies whether the evidence finder feature is enabled. Change this * attribute to enable or disable evidence finder.

When you use * this attribute to disable evidence finder, Audit Manager deletes the event data * store that’s used to query your evidence data. As a result, you can’t re-enable * evidence finder and use the feature again. Your only alternative is to deregister * and then re-register * Audit Manager.

*/ inline bool GetEvidenceFinderEnabled() const{ return m_evidenceFinderEnabled; } /** *

Specifies whether the evidence finder feature is enabled. Change this * attribute to enable or disable evidence finder.

When you use * this attribute to disable evidence finder, Audit Manager deletes the event data * store that’s used to query your evidence data. As a result, you can’t re-enable * evidence finder and use the feature again. Your only alternative is to deregister * and then re-register * Audit Manager.

*/ inline bool EvidenceFinderEnabledHasBeenSet() const { return m_evidenceFinderEnabledHasBeenSet; } /** *

Specifies whether the evidence finder feature is enabled. Change this * attribute to enable or disable evidence finder.

When you use * this attribute to disable evidence finder, Audit Manager deletes the event data * store that’s used to query your evidence data. As a result, you can’t re-enable * evidence finder and use the feature again. Your only alternative is to deregister * and then re-register * Audit Manager.

*/ inline void SetEvidenceFinderEnabled(bool value) { m_evidenceFinderEnabledHasBeenSet = true; m_evidenceFinderEnabled = value; } /** *

Specifies whether the evidence finder feature is enabled. Change this * attribute to enable or disable evidence finder.

When you use * this attribute to disable evidence finder, Audit Manager deletes the event data * store that’s used to query your evidence data. As a result, you can’t re-enable * evidence finder and use the feature again. Your only alternative is to deregister * and then re-register * Audit Manager.

*/ inline UpdateSettingsRequest& WithEvidenceFinderEnabled(bool value) { SetEvidenceFinderEnabled(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 UpdateSettingsRequest& 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 UpdateSettingsRequest& 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 UpdateSettingsRequest& WithDefaultExportDestination(const DefaultExportDestination& value) { SetDefaultExportDestination(value); return *this;} /** *

The default S3 destination bucket for storing evidence finder exports.

*/ inline UpdateSettingsRequest& WithDefaultExportDestination(DefaultExportDestination&& value) { SetDefaultExportDestination(std::move(value)); return *this;} private: 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; bool m_evidenceFinderEnabled; bool m_evidenceFinderEnabledHasBeenSet = false; DeregistrationPolicy m_deregistrationPolicy; bool m_deregistrationPolicyHasBeenSet = false; DefaultExportDestination m_defaultExportDestination; bool m_defaultExportDestinationHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws