/** * 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 IoTEvents { namespace Model { /** *

Information that defines how a detector operates.

See Also:

* AWS * API Reference

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

Information about the states of the detector.

*/ inline const Aws::Vector& GetStates() const{ return m_states; } /** *

Information about the states of the detector.

*/ inline bool StatesHasBeenSet() const { return m_statesHasBeenSet; } /** *

Information about the states of the detector.

*/ inline void SetStates(const Aws::Vector& value) { m_statesHasBeenSet = true; m_states = value; } /** *

Information about the states of the detector.

*/ inline void SetStates(Aws::Vector&& value) { m_statesHasBeenSet = true; m_states = std::move(value); } /** *

Information about the states of the detector.

*/ inline DetectorModelDefinition& WithStates(const Aws::Vector& value) { SetStates(value); return *this;} /** *

Information about the states of the detector.

*/ inline DetectorModelDefinition& WithStates(Aws::Vector&& value) { SetStates(std::move(value)); return *this;} /** *

Information about the states of the detector.

*/ inline DetectorModelDefinition& AddStates(const State& value) { m_statesHasBeenSet = true; m_states.push_back(value); return *this; } /** *

Information about the states of the detector.

*/ inline DetectorModelDefinition& AddStates(State&& value) { m_statesHasBeenSet = true; m_states.push_back(std::move(value)); return *this; } /** *

The state that is entered at the creation of each detector (instance).

*/ inline const Aws::String& GetInitialStateName() const{ return m_initialStateName; } /** *

The state that is entered at the creation of each detector (instance).

*/ inline bool InitialStateNameHasBeenSet() const { return m_initialStateNameHasBeenSet; } /** *

The state that is entered at the creation of each detector (instance).

*/ inline void SetInitialStateName(const Aws::String& value) { m_initialStateNameHasBeenSet = true; m_initialStateName = value; } /** *

The state that is entered at the creation of each detector (instance).

*/ inline void SetInitialStateName(Aws::String&& value) { m_initialStateNameHasBeenSet = true; m_initialStateName = std::move(value); } /** *

The state that is entered at the creation of each detector (instance).

*/ inline void SetInitialStateName(const char* value) { m_initialStateNameHasBeenSet = true; m_initialStateName.assign(value); } /** *

The state that is entered at the creation of each detector (instance).

*/ inline DetectorModelDefinition& WithInitialStateName(const Aws::String& value) { SetInitialStateName(value); return *this;} /** *

The state that is entered at the creation of each detector (instance).

*/ inline DetectorModelDefinition& WithInitialStateName(Aws::String&& value) { SetInitialStateName(std::move(value)); return *this;} /** *

The state that is entered at the creation of each detector (instance).

*/ inline DetectorModelDefinition& WithInitialStateName(const char* value) { SetInitialStateName(value); return *this;} private: Aws::Vector m_states; bool m_statesHasBeenSet = false; Aws::String m_initialStateName; bool m_initialStateNameHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws