/** * 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 #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoT { namespace Model { class DescribeAuditMitigationActionsTaskResult { public: AWS_IOT_API DescribeAuditMitigationActionsTaskResult(); AWS_IOT_API DescribeAuditMitigationActionsTaskResult(const Aws::AmazonWebServiceResult& result); AWS_IOT_API DescribeAuditMitigationActionsTaskResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The current status of the task.

*/ inline const AuditMitigationActionsTaskStatus& GetTaskStatus() const{ return m_taskStatus; } /** *

The current status of the task.

*/ inline void SetTaskStatus(const AuditMitigationActionsTaskStatus& value) { m_taskStatus = value; } /** *

The current status of the task.

*/ inline void SetTaskStatus(AuditMitigationActionsTaskStatus&& value) { m_taskStatus = std::move(value); } /** *

The current status of the task.

*/ inline DescribeAuditMitigationActionsTaskResult& WithTaskStatus(const AuditMitigationActionsTaskStatus& value) { SetTaskStatus(value); return *this;} /** *

The current status of the task.

*/ inline DescribeAuditMitigationActionsTaskResult& WithTaskStatus(AuditMitigationActionsTaskStatus&& value) { SetTaskStatus(std::move(value)); return *this;} /** *

The date and time when the task was started.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The date and time when the task was started.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } /** *

The date and time when the task was started.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } /** *

The date and time when the task was started.

*/ inline DescribeAuditMitigationActionsTaskResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The date and time when the task was started.

*/ inline DescribeAuditMitigationActionsTaskResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

The date and time when the task was completed or canceled.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The date and time when the task was completed or canceled.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } /** *

The date and time when the task was completed or canceled.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } /** *

The date and time when the task was completed or canceled.

*/ inline DescribeAuditMitigationActionsTaskResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The date and time when the task was completed or canceled.

*/ inline DescribeAuditMitigationActionsTaskResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline const Aws::Map& GetTaskStatistics() const{ return m_taskStatistics; } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline void SetTaskStatistics(const Aws::Map& value) { m_taskStatistics = value; } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline void SetTaskStatistics(Aws::Map&& value) { m_taskStatistics = std::move(value); } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& WithTaskStatistics(const Aws::Map& value) { SetTaskStatistics(value); return *this;} /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& WithTaskStatistics(Aws::Map&& value) { SetTaskStatistics(std::move(value)); return *this;} /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddTaskStatistics(const Aws::String& key, const TaskStatisticsForAuditCheck& value) { m_taskStatistics.emplace(key, value); return *this; } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddTaskStatistics(Aws::String&& key, const TaskStatisticsForAuditCheck& value) { m_taskStatistics.emplace(std::move(key), value); return *this; } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddTaskStatistics(const Aws::String& key, TaskStatisticsForAuditCheck&& value) { m_taskStatistics.emplace(key, std::move(value)); return *this; } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddTaskStatistics(Aws::String&& key, TaskStatisticsForAuditCheck&& value) { m_taskStatistics.emplace(std::move(key), std::move(value)); return *this; } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddTaskStatistics(const char* key, TaskStatisticsForAuditCheck&& value) { m_taskStatistics.emplace(key, std::move(value)); return *this; } /** *

Aggregate counts of the results when the mitigation tasks were applied to the * findings for this audit mitigation actions task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddTaskStatistics(const char* key, const TaskStatisticsForAuditCheck& value) { m_taskStatistics.emplace(key, value); return *this; } /** *

Identifies the findings to which the mitigation actions are applied. This can * be by audit checks, by audit task, or a set of findings.

*/ inline const AuditMitigationActionsTaskTarget& GetTarget() const{ return m_target; } /** *

Identifies the findings to which the mitigation actions are applied. This can * be by audit checks, by audit task, or a set of findings.

*/ inline void SetTarget(const AuditMitigationActionsTaskTarget& value) { m_target = value; } /** *

Identifies the findings to which the mitigation actions are applied. This can * be by audit checks, by audit task, or a set of findings.

*/ inline void SetTarget(AuditMitigationActionsTaskTarget&& value) { m_target = std::move(value); } /** *

Identifies the findings to which the mitigation actions are applied. This can * be by audit checks, by audit task, or a set of findings.

*/ inline DescribeAuditMitigationActionsTaskResult& WithTarget(const AuditMitigationActionsTaskTarget& value) { SetTarget(value); return *this;} /** *

Identifies the findings to which the mitigation actions are applied. This can * be by audit checks, by audit task, or a set of findings.

*/ inline DescribeAuditMitigationActionsTaskResult& WithTarget(AuditMitigationActionsTaskTarget&& value) { SetTarget(std::move(value)); return *this;} /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline const Aws::Map>& GetAuditCheckToActionsMapping() const{ return m_auditCheckToActionsMapping; } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline void SetAuditCheckToActionsMapping(const Aws::Map>& value) { m_auditCheckToActionsMapping = value; } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline void SetAuditCheckToActionsMapping(Aws::Map>&& value) { m_auditCheckToActionsMapping = std::move(value); } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& WithAuditCheckToActionsMapping(const Aws::Map>& value) { SetAuditCheckToActionsMapping(value); return *this;} /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& WithAuditCheckToActionsMapping(Aws::Map>&& value) { SetAuditCheckToActionsMapping(std::move(value)); return *this;} /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& AddAuditCheckToActionsMapping(const Aws::String& key, const Aws::Vector& value) { m_auditCheckToActionsMapping.emplace(key, value); return *this; } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& AddAuditCheckToActionsMapping(Aws::String&& key, const Aws::Vector& value) { m_auditCheckToActionsMapping.emplace(std::move(key), value); return *this; } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& AddAuditCheckToActionsMapping(const Aws::String& key, Aws::Vector&& value) { m_auditCheckToActionsMapping.emplace(key, std::move(value)); return *this; } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& AddAuditCheckToActionsMapping(Aws::String&& key, Aws::Vector&& value) { m_auditCheckToActionsMapping.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& AddAuditCheckToActionsMapping(const char* key, Aws::Vector&& value) { m_auditCheckToActionsMapping.emplace(key, std::move(value)); return *this; } /** *

Specifies the mitigation actions that should be applied to specific audit * checks.

*/ inline DescribeAuditMitigationActionsTaskResult& AddAuditCheckToActionsMapping(const char* key, const Aws::Vector& value) { m_auditCheckToActionsMapping.emplace(key, value); return *this; } /** *

Specifies the mitigation actions and their parameters that are applied as * part of this task.

*/ inline const Aws::Vector& GetActionsDefinition() const{ return m_actionsDefinition; } /** *

Specifies the mitigation actions and their parameters that are applied as * part of this task.

*/ inline void SetActionsDefinition(const Aws::Vector& value) { m_actionsDefinition = value; } /** *

Specifies the mitigation actions and their parameters that are applied as * part of this task.

*/ inline void SetActionsDefinition(Aws::Vector&& value) { m_actionsDefinition = std::move(value); } /** *

Specifies the mitigation actions and their parameters that are applied as * part of this task.

*/ inline DescribeAuditMitigationActionsTaskResult& WithActionsDefinition(const Aws::Vector& value) { SetActionsDefinition(value); return *this;} /** *

Specifies the mitigation actions and their parameters that are applied as * part of this task.

*/ inline DescribeAuditMitigationActionsTaskResult& WithActionsDefinition(Aws::Vector&& value) { SetActionsDefinition(std::move(value)); return *this;} /** *

Specifies the mitigation actions and their parameters that are applied as * part of this task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddActionsDefinition(const MitigationAction& value) { m_actionsDefinition.push_back(value); return *this; } /** *

Specifies the mitigation actions and their parameters that are applied as * part of this task.

*/ inline DescribeAuditMitigationActionsTaskResult& AddActionsDefinition(MitigationAction&& value) { m_actionsDefinition.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeAuditMitigationActionsTaskResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeAuditMitigationActionsTaskResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeAuditMitigationActionsTaskResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: AuditMitigationActionsTaskStatus m_taskStatus; Aws::Utils::DateTime m_startTime; Aws::Utils::DateTime m_endTime; Aws::Map m_taskStatistics; AuditMitigationActionsTaskTarget m_target; Aws::Map> m_auditCheckToActionsMapping; Aws::Vector m_actionsDefinition; Aws::String m_requestId; }; } // namespace Model } // namespace IoT } // namespace Aws