/** * 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 { /** *

Specifies the actions performed when the condition evaluates to * TRUE.

See Also:

AWS * API Reference

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

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline const Aws::Vector& GetEvents() const{ return m_events; } /** *

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** *

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline void SetEvents(const Aws::Vector& value) { m_eventsHasBeenSet = true; m_events = value; } /** *

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline void SetEvents(Aws::Vector&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } /** *

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline OnInputLifecycle& WithEvents(const Aws::Vector& value) { SetEvents(value); return *this;} /** *

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline OnInputLifecycle& WithEvents(Aws::Vector&& value) { SetEvents(std::move(value)); return *this;} /** *

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline OnInputLifecycle& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } /** *

Specifies the actions performed when the condition evaluates to * TRUE.

*/ inline OnInputLifecycle& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline const Aws::Vector& GetTransitionEvents() const{ return m_transitionEvents; } /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline bool TransitionEventsHasBeenSet() const { return m_transitionEventsHasBeenSet; } /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline void SetTransitionEvents(const Aws::Vector& value) { m_transitionEventsHasBeenSet = true; m_transitionEvents = value; } /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline void SetTransitionEvents(Aws::Vector&& value) { m_transitionEventsHasBeenSet = true; m_transitionEvents = std::move(value); } /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline OnInputLifecycle& WithTransitionEvents(const Aws::Vector& value) { SetTransitionEvents(value); return *this;} /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline OnInputLifecycle& WithTransitionEvents(Aws::Vector&& value) { SetTransitionEvents(std::move(value)); return *this;} /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline OnInputLifecycle& AddTransitionEvents(const TransitionEvent& value) { m_transitionEventsHasBeenSet = true; m_transitionEvents.push_back(value); return *this; } /** *

Specifies the actions performed, and the next state entered, when a * condition evaluates to TRUE.

*/ inline OnInputLifecycle& AddTransitionEvents(TransitionEvent&& value) { m_transitionEventsHasBeenSet = true; m_transitionEvents.push_back(std::move(value)); return *this; } private: Aws::Vector m_events; bool m_eventsHasBeenSet = false; Aws::Vector m_transitionEvents; bool m_transitionEventsHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws