1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/iotevents/IoTEvents_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/iotevents/model/State.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace IoTEvents 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Information that defines how a detector operates.</p><p><h3>See Also:</h3> 30 * <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DetectorModelDefinition">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_IOTEVENTS_API DetectorModelDefinition 35 { 36 public: 37 DetectorModelDefinition(); 38 DetectorModelDefinition(Aws::Utils::Json::JsonView jsonValue); 39 DetectorModelDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>Information about the states of the detector.</p> 45 */ GetStates()46 inline const Aws::Vector<State>& GetStates() const{ return m_states; } 47 48 /** 49 * <p>Information about the states of the detector.</p> 50 */ StatesHasBeenSet()51 inline bool StatesHasBeenSet() const { return m_statesHasBeenSet; } 52 53 /** 54 * <p>Information about the states of the detector.</p> 55 */ SetStates(const Aws::Vector<State> & value)56 inline void SetStates(const Aws::Vector<State>& value) { m_statesHasBeenSet = true; m_states = value; } 57 58 /** 59 * <p>Information about the states of the detector.</p> 60 */ SetStates(Aws::Vector<State> && value)61 inline void SetStates(Aws::Vector<State>&& value) { m_statesHasBeenSet = true; m_states = std::move(value); } 62 63 /** 64 * <p>Information about the states of the detector.</p> 65 */ WithStates(const Aws::Vector<State> & value)66 inline DetectorModelDefinition& WithStates(const Aws::Vector<State>& value) { SetStates(value); return *this;} 67 68 /** 69 * <p>Information about the states of the detector.</p> 70 */ WithStates(Aws::Vector<State> && value)71 inline DetectorModelDefinition& WithStates(Aws::Vector<State>&& value) { SetStates(std::move(value)); return *this;} 72 73 /** 74 * <p>Information about the states of the detector.</p> 75 */ AddStates(const State & value)76 inline DetectorModelDefinition& AddStates(const State& value) { m_statesHasBeenSet = true; m_states.push_back(value); return *this; } 77 78 /** 79 * <p>Information about the states of the detector.</p> 80 */ AddStates(State && value)81 inline DetectorModelDefinition& AddStates(State&& value) { m_statesHasBeenSet = true; m_states.push_back(std::move(value)); return *this; } 82 83 84 /** 85 * <p>The state that is entered at the creation of each detector (instance).</p> 86 */ GetInitialStateName()87 inline const Aws::String& GetInitialStateName() const{ return m_initialStateName; } 88 89 /** 90 * <p>The state that is entered at the creation of each detector (instance).</p> 91 */ InitialStateNameHasBeenSet()92 inline bool InitialStateNameHasBeenSet() const { return m_initialStateNameHasBeenSet; } 93 94 /** 95 * <p>The state that is entered at the creation of each detector (instance).</p> 96 */ SetInitialStateName(const Aws::String & value)97 inline void SetInitialStateName(const Aws::String& value) { m_initialStateNameHasBeenSet = true; m_initialStateName = value; } 98 99 /** 100 * <p>The state that is entered at the creation of each detector (instance).</p> 101 */ SetInitialStateName(Aws::String && value)102 inline void SetInitialStateName(Aws::String&& value) { m_initialStateNameHasBeenSet = true; m_initialStateName = std::move(value); } 103 104 /** 105 * <p>The state that is entered at the creation of each detector (instance).</p> 106 */ SetInitialStateName(const char * value)107 inline void SetInitialStateName(const char* value) { m_initialStateNameHasBeenSet = true; m_initialStateName.assign(value); } 108 109 /** 110 * <p>The state that is entered at the creation of each detector (instance).</p> 111 */ WithInitialStateName(const Aws::String & value)112 inline DetectorModelDefinition& WithInitialStateName(const Aws::String& value) { SetInitialStateName(value); return *this;} 113 114 /** 115 * <p>The state that is entered at the creation of each detector (instance).</p> 116 */ WithInitialStateName(Aws::String && value)117 inline DetectorModelDefinition& WithInitialStateName(Aws::String&& value) { SetInitialStateName(std::move(value)); return *this;} 118 119 /** 120 * <p>The state that is entered at the creation of each detector (instance).</p> 121 */ WithInitialStateName(const char * value)122 inline DetectorModelDefinition& WithInitialStateName(const char* value) { SetInitialStateName(value); return *this;} 123 124 private: 125 126 Aws::Vector<State> m_states; 127 bool m_statesHasBeenSet; 128 129 Aws::String m_initialStateName; 130 bool m_initialStateNameHasBeenSet; 131 }; 132 133 } // namespace Model 134 } // namespace IoTEvents 135 } // namespace Aws 136