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

Information about the current state of the detector instance.

See * Also:

AWS * API Reference

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

The name of the state.

*/ inline const Aws::String& GetStateName() const{ return m_stateName; } /** *

The name of the state.

*/ inline bool StateNameHasBeenSet() const { return m_stateNameHasBeenSet; } /** *

The name of the state.

*/ inline void SetStateName(const Aws::String& value) { m_stateNameHasBeenSet = true; m_stateName = value; } /** *

The name of the state.

*/ inline void SetStateName(Aws::String&& value) { m_stateNameHasBeenSet = true; m_stateName = std::move(value); } /** *

The name of the state.

*/ inline void SetStateName(const char* value) { m_stateNameHasBeenSet = true; m_stateName.assign(value); } /** *

The name of the state.

*/ inline DetectorState& WithStateName(const Aws::String& value) { SetStateName(value); return *this;} /** *

The name of the state.

*/ inline DetectorState& WithStateName(Aws::String&& value) { SetStateName(std::move(value)); return *this;} /** *

The name of the state.

*/ inline DetectorState& WithStateName(const char* value) { SetStateName(value); return *this;} /** *

The current values of the detector's variables.

*/ inline const Aws::Vector& GetVariables() const{ return m_variables; } /** *

The current values of the detector's variables.

*/ inline bool VariablesHasBeenSet() const { return m_variablesHasBeenSet; } /** *

The current values of the detector's variables.

*/ inline void SetVariables(const Aws::Vector& value) { m_variablesHasBeenSet = true; m_variables = value; } /** *

The current values of the detector's variables.

*/ inline void SetVariables(Aws::Vector&& value) { m_variablesHasBeenSet = true; m_variables = std::move(value); } /** *

The current values of the detector's variables.

*/ inline DetectorState& WithVariables(const Aws::Vector& value) { SetVariables(value); return *this;} /** *

The current values of the detector's variables.

*/ inline DetectorState& WithVariables(Aws::Vector&& value) { SetVariables(std::move(value)); return *this;} /** *

The current values of the detector's variables.

*/ inline DetectorState& AddVariables(const Variable& value) { m_variablesHasBeenSet = true; m_variables.push_back(value); return *this; } /** *

The current values of the detector's variables.

*/ inline DetectorState& AddVariables(Variable&& value) { m_variablesHasBeenSet = true; m_variables.push_back(std::move(value)); return *this; } /** *

The current state of the detector's timers.

*/ inline const Aws::Vector& GetTimers() const{ return m_timers; } /** *

The current state of the detector's timers.

*/ inline bool TimersHasBeenSet() const { return m_timersHasBeenSet; } /** *

The current state of the detector's timers.

*/ inline void SetTimers(const Aws::Vector& value) { m_timersHasBeenSet = true; m_timers = value; } /** *

The current state of the detector's timers.

*/ inline void SetTimers(Aws::Vector&& value) { m_timersHasBeenSet = true; m_timers = std::move(value); } /** *

The current state of the detector's timers.

*/ inline DetectorState& WithTimers(const Aws::Vector& value) { SetTimers(value); return *this;} /** *

The current state of the detector's timers.

*/ inline DetectorState& WithTimers(Aws::Vector&& value) { SetTimers(std::move(value)); return *this;} /** *

The current state of the detector's timers.

*/ inline DetectorState& AddTimers(const Timer& value) { m_timersHasBeenSet = true; m_timers.push_back(value); return *this; } /** *

The current state of the detector's timers.

*/ inline DetectorState& AddTimers(Timer&& value) { m_timersHasBeenSet = true; m_timers.push_back(std::move(value)); return *this; } private: Aws::String m_stateName; bool m_stateNameHasBeenSet = false; Aws::Vector m_variables; bool m_variablesHasBeenSet = false; Aws::Vector m_timers; bool m_timersHasBeenSet = false; }; } // namespace Model } // namespace IoTEventsData } // namespace Aws