This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files

212 lines
6.7 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotevents/IoTEvents_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iotevents/model/OnInputLifecycle.h>
#include <aws/iotevents/model/OnEnterLifecycle.h>
#include <aws/iotevents/model/OnExitLifecycle.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTEvents
{
namespace Model
{
/**
* <p>Information that defines a state of a detector.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/State">AWS API
* Reference</a></p>
*/
class AWS_IOTEVENTS_API State
{
public:
State();
State(Aws::Utils::Json::JsonView jsonValue);
State& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the state.</p>
*/
inline const Aws::String& GetStateName() const{ return m_stateName; }
/**
* <p>The name of the state.</p>
*/
inline bool StateNameHasBeenSet() const { return m_stateNameHasBeenSet; }
/**
* <p>The name of the state.</p>
*/
inline void SetStateName(const Aws::String& value) { m_stateNameHasBeenSet = true; m_stateName = value; }
/**
* <p>The name of the state.</p>
*/
inline void SetStateName(Aws::String&& value) { m_stateNameHasBeenSet = true; m_stateName = std::move(value); }
/**
* <p>The name of the state.</p>
*/
inline void SetStateName(const char* value) { m_stateNameHasBeenSet = true; m_stateName.assign(value); }
/**
* <p>The name of the state.</p>
*/
inline State& WithStateName(const Aws::String& value) { SetStateName(value); return *this;}
/**
* <p>The name of the state.</p>
*/
inline State& WithStateName(Aws::String&& value) { SetStateName(std::move(value)); return *this;}
/**
* <p>The name of the state.</p>
*/
inline State& WithStateName(const char* value) { SetStateName(value); return *this;}
/**
* <p>When an input is received and the <code>condition</code> is TRUE, perform the
* specified <code>actions</code>.</p>
*/
inline const OnInputLifecycle& GetOnInput() const{ return m_onInput; }
/**
* <p>When an input is received and the <code>condition</code> is TRUE, perform the
* specified <code>actions</code>.</p>
*/
inline bool OnInputHasBeenSet() const { return m_onInputHasBeenSet; }
/**
* <p>When an input is received and the <code>condition</code> is TRUE, perform the
* specified <code>actions</code>.</p>
*/
inline void SetOnInput(const OnInputLifecycle& value) { m_onInputHasBeenSet = true; m_onInput = value; }
/**
* <p>When an input is received and the <code>condition</code> is TRUE, perform the
* specified <code>actions</code>.</p>
*/
inline void SetOnInput(OnInputLifecycle&& value) { m_onInputHasBeenSet = true; m_onInput = std::move(value); }
/**
* <p>When an input is received and the <code>condition</code> is TRUE, perform the
* specified <code>actions</code>.</p>
*/
inline State& WithOnInput(const OnInputLifecycle& value) { SetOnInput(value); return *this;}
/**
* <p>When an input is received and the <code>condition</code> is TRUE, perform the
* specified <code>actions</code>.</p>
*/
inline State& WithOnInput(OnInputLifecycle&& value) { SetOnInput(std::move(value)); return *this;}
/**
* <p>When entering this state, perform these <code>actions</code> if the
* <code>condition</code> is TRUE.</p>
*/
inline const OnEnterLifecycle& GetOnEnter() const{ return m_onEnter; }
/**
* <p>When entering this state, perform these <code>actions</code> if the
* <code>condition</code> is TRUE.</p>
*/
inline bool OnEnterHasBeenSet() const { return m_onEnterHasBeenSet; }
/**
* <p>When entering this state, perform these <code>actions</code> if the
* <code>condition</code> is TRUE.</p>
*/
inline void SetOnEnter(const OnEnterLifecycle& value) { m_onEnterHasBeenSet = true; m_onEnter = value; }
/**
* <p>When entering this state, perform these <code>actions</code> if the
* <code>condition</code> is TRUE.</p>
*/
inline void SetOnEnter(OnEnterLifecycle&& value) { m_onEnterHasBeenSet = true; m_onEnter = std::move(value); }
/**
* <p>When entering this state, perform these <code>actions</code> if the
* <code>condition</code> is TRUE.</p>
*/
inline State& WithOnEnter(const OnEnterLifecycle& value) { SetOnEnter(value); return *this;}
/**
* <p>When entering this state, perform these <code>actions</code> if the
* <code>condition</code> is TRUE.</p>
*/
inline State& WithOnEnter(OnEnterLifecycle&& value) { SetOnEnter(std::move(value)); return *this;}
/**
* <p>When exiting this state, perform these <code>actions</code> if the specified
* <code>condition</code> is <code>TRUE</code>.</p>
*/
inline const OnExitLifecycle& GetOnExit() const{ return m_onExit; }
/**
* <p>When exiting this state, perform these <code>actions</code> if the specified
* <code>condition</code> is <code>TRUE</code>.</p>
*/
inline bool OnExitHasBeenSet() const { return m_onExitHasBeenSet; }
/**
* <p>When exiting this state, perform these <code>actions</code> if the specified
* <code>condition</code> is <code>TRUE</code>.</p>
*/
inline void SetOnExit(const OnExitLifecycle& value) { m_onExitHasBeenSet = true; m_onExit = value; }
/**
* <p>When exiting this state, perform these <code>actions</code> if the specified
* <code>condition</code> is <code>TRUE</code>.</p>
*/
inline void SetOnExit(OnExitLifecycle&& value) { m_onExitHasBeenSet = true; m_onExit = std::move(value); }
/**
* <p>When exiting this state, perform these <code>actions</code> if the specified
* <code>condition</code> is <code>TRUE</code>.</p>
*/
inline State& WithOnExit(const OnExitLifecycle& value) { SetOnExit(value); return *this;}
/**
* <p>When exiting this state, perform these <code>actions</code> if the specified
* <code>condition</code> is <code>TRUE</code>.</p>
*/
inline State& WithOnExit(OnExitLifecycle&& value) { SetOnExit(std::move(value)); return *this;}
private:
Aws::String m_stateName;
bool m_stateNameHasBeenSet;
OnInputLifecycle m_onInput;
bool m_onInputHasBeenSet;
OnEnterLifecycle m_onEnter;
bool m_onEnterHasBeenSet;
OnExitLifecycle m_onExit;
bool m_onExitHasBeenSet;
};
} // namespace Model
} // namespace IoTEvents
} // namespace Aws