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

Describes which mitigation actions should be executed.

See * Also:

AWS * API Reference

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

The unique identifier of the task.

*/ inline const Aws::String& GetTaskId() const{ return m_taskId; } /** *

The unique identifier of the task.

*/ inline bool TaskIdHasBeenSet() const { return m_taskIdHasBeenSet; } /** *

The unique identifier of the task.

*/ inline void SetTaskId(const Aws::String& value) { m_taskIdHasBeenSet = true; m_taskId = value; } /** *

The unique identifier of the task.

*/ inline void SetTaskId(Aws::String&& value) { m_taskIdHasBeenSet = true; m_taskId = std::move(value); } /** *

The unique identifier of the task.

*/ inline void SetTaskId(const char* value) { m_taskIdHasBeenSet = true; m_taskId.assign(value); } /** *

The unique identifier of the task.

*/ inline DetectMitigationActionExecution& WithTaskId(const Aws::String& value) { SetTaskId(value); return *this;} /** *

The unique identifier of the task.

*/ inline DetectMitigationActionExecution& WithTaskId(Aws::String&& value) { SetTaskId(std::move(value)); return *this;} /** *

The unique identifier of the task.

*/ inline DetectMitigationActionExecution& WithTaskId(const char* value) { SetTaskId(value); return *this;} /** *

The unique identifier of the violation.

*/ inline const Aws::String& GetViolationId() const{ return m_violationId; } /** *

The unique identifier of the violation.

*/ inline bool ViolationIdHasBeenSet() const { return m_violationIdHasBeenSet; } /** *

The unique identifier of the violation.

*/ inline void SetViolationId(const Aws::String& value) { m_violationIdHasBeenSet = true; m_violationId = value; } /** *

The unique identifier of the violation.

*/ inline void SetViolationId(Aws::String&& value) { m_violationIdHasBeenSet = true; m_violationId = std::move(value); } /** *

The unique identifier of the violation.

*/ inline void SetViolationId(const char* value) { m_violationIdHasBeenSet = true; m_violationId.assign(value); } /** *

The unique identifier of the violation.

*/ inline DetectMitigationActionExecution& WithViolationId(const Aws::String& value) { SetViolationId(value); return *this;} /** *

The unique identifier of the violation.

*/ inline DetectMitigationActionExecution& WithViolationId(Aws::String&& value) { SetViolationId(std::move(value)); return *this;} /** *

The unique identifier of the violation.

*/ inline DetectMitigationActionExecution& WithViolationId(const char* value) { SetViolationId(value); return *this;} /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline const Aws::String& GetActionName() const{ return m_actionName; } /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; } /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline void SetActionName(const Aws::String& value) { m_actionNameHasBeenSet = true; m_actionName = value; } /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline void SetActionName(Aws::String&& value) { m_actionNameHasBeenSet = true; m_actionName = std::move(value); } /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline void SetActionName(const char* value) { m_actionNameHasBeenSet = true; m_actionName.assign(value); } /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline DetectMitigationActionExecution& WithActionName(const Aws::String& value) { SetActionName(value); return *this;} /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline DetectMitigationActionExecution& WithActionName(Aws::String&& value) { SetActionName(std::move(value)); return *this;} /** *

The friendly name that uniquely identifies the mitigation action.

*/ inline DetectMitigationActionExecution& WithActionName(const char* value) { SetActionName(value); return *this;} /** *

The name of the thing.

*/ inline const Aws::String& GetThingName() const{ return m_thingName; } /** *

The name of the thing.

*/ inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; } /** *

The name of the thing.

*/ inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; } /** *

The name of the thing.

*/ inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); } /** *

The name of the thing.

*/ inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); } /** *

The name of the thing.

*/ inline DetectMitigationActionExecution& WithThingName(const Aws::String& value) { SetThingName(value); return *this;} /** *

The name of the thing.

*/ inline DetectMitigationActionExecution& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;} /** *

The name of the thing.

*/ inline DetectMitigationActionExecution& WithThingName(const char* value) { SetThingName(value); return *this;} /** *

The date a mitigation action was started.

*/ inline const Aws::Utils::DateTime& GetExecutionStartDate() const{ return m_executionStartDate; } /** *

The date a mitigation action was started.

*/ inline bool ExecutionStartDateHasBeenSet() const { return m_executionStartDateHasBeenSet; } /** *

The date a mitigation action was started.

*/ inline void SetExecutionStartDate(const Aws::Utils::DateTime& value) { m_executionStartDateHasBeenSet = true; m_executionStartDate = value; } /** *

The date a mitigation action was started.

*/ inline void SetExecutionStartDate(Aws::Utils::DateTime&& value) { m_executionStartDateHasBeenSet = true; m_executionStartDate = std::move(value); } /** *

The date a mitigation action was started.

*/ inline DetectMitigationActionExecution& WithExecutionStartDate(const Aws::Utils::DateTime& value) { SetExecutionStartDate(value); return *this;} /** *

The date a mitigation action was started.

*/ inline DetectMitigationActionExecution& WithExecutionStartDate(Aws::Utils::DateTime&& value) { SetExecutionStartDate(std::move(value)); return *this;} /** *

The date a mitigation action ended.

*/ inline const Aws::Utils::DateTime& GetExecutionEndDate() const{ return m_executionEndDate; } /** *

The date a mitigation action ended.

*/ inline bool ExecutionEndDateHasBeenSet() const { return m_executionEndDateHasBeenSet; } /** *

The date a mitigation action ended.

*/ inline void SetExecutionEndDate(const Aws::Utils::DateTime& value) { m_executionEndDateHasBeenSet = true; m_executionEndDate = value; } /** *

The date a mitigation action ended.

*/ inline void SetExecutionEndDate(Aws::Utils::DateTime&& value) { m_executionEndDateHasBeenSet = true; m_executionEndDate = std::move(value); } /** *

The date a mitigation action ended.

*/ inline DetectMitigationActionExecution& WithExecutionEndDate(const Aws::Utils::DateTime& value) { SetExecutionEndDate(value); return *this;} /** *

The date a mitigation action ended.

*/ inline DetectMitigationActionExecution& WithExecutionEndDate(Aws::Utils::DateTime&& value) { SetExecutionEndDate(std::move(value)); return *this;} /** *

The status of a mitigation action.

*/ inline const DetectMitigationActionExecutionStatus& GetStatus() const{ return m_status; } /** *

The status of a mitigation action.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of a mitigation action.

*/ inline void SetStatus(const DetectMitigationActionExecutionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of a mitigation action.

*/ inline void SetStatus(DetectMitigationActionExecutionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of a mitigation action.

*/ inline DetectMitigationActionExecution& WithStatus(const DetectMitigationActionExecutionStatus& value) { SetStatus(value); return *this;} /** *

The status of a mitigation action.

*/ inline DetectMitigationActionExecution& WithStatus(DetectMitigationActionExecutionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The error code of a mitigation action.

*/ inline const Aws::String& GetErrorCode() const{ return m_errorCode; } /** *

The error code of a mitigation action.

*/ inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } /** *

The error code of a mitigation action.

*/ inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } /** *

The error code of a mitigation action.

*/ inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } /** *

The error code of a mitigation action.

*/ inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); } /** *

The error code of a mitigation action.

*/ inline DetectMitigationActionExecution& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;} /** *

The error code of a mitigation action.

*/ inline DetectMitigationActionExecution& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;} /** *

The error code of a mitigation action.

*/ inline DetectMitigationActionExecution& WithErrorCode(const char* value) { SetErrorCode(value); return *this;} /** *

The message of a mitigation action.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

The message of a mitigation action.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

The message of a mitigation action.

*/ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } /** *

The message of a mitigation action.

*/ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

The message of a mitigation action.

*/ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } /** *

The message of a mitigation action.

*/ inline DetectMitigationActionExecution& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

The message of a mitigation action.

*/ inline DetectMitigationActionExecution& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

The message of a mitigation action.

*/ inline DetectMitigationActionExecution& WithMessage(const char* value) { SetMessage(value); return *this;} private: Aws::String m_taskId; bool m_taskIdHasBeenSet = false; Aws::String m_violationId; bool m_violationIdHasBeenSet = false; Aws::String m_actionName; bool m_actionNameHasBeenSet = false; Aws::String m_thingName; bool m_thingNameHasBeenSet = false; Aws::Utils::DateTime m_executionStartDate; bool m_executionStartDateHasBeenSet = false; Aws::Utils::DateTime m_executionEndDate; bool m_executionEndDateHasBeenSet = false; DetectMitigationActionExecutionStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_errorCode; bool m_errorCodeHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws