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

Information needed to set the timer.

See Also:

AWS * API Reference

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

The name of the timer.

*/ inline const Aws::String& GetTimerName() const{ return m_timerName; } /** *

The name of the timer.

*/ inline bool TimerNameHasBeenSet() const { return m_timerNameHasBeenSet; } /** *

The name of the timer.

*/ inline void SetTimerName(const Aws::String& value) { m_timerNameHasBeenSet = true; m_timerName = value; } /** *

The name of the timer.

*/ inline void SetTimerName(Aws::String&& value) { m_timerNameHasBeenSet = true; m_timerName = std::move(value); } /** *

The name of the timer.

*/ inline void SetTimerName(const char* value) { m_timerNameHasBeenSet = true; m_timerName.assign(value); } /** *

The name of the timer.

*/ inline SetTimerAction& WithTimerName(const Aws::String& value) { SetTimerName(value); return *this;} /** *

The name of the timer.

*/ inline SetTimerAction& WithTimerName(Aws::String&& value) { SetTimerName(std::move(value)); return *this;} /** *

The name of the timer.

*/ inline SetTimerAction& WithTimerName(const char* value) { SetTimerName(value); return *this;} /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline const Aws::String& GetDurationExpression() const{ return m_durationExpression; } /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline bool DurationExpressionHasBeenSet() const { return m_durationExpressionHasBeenSet; } /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline void SetDurationExpression(const Aws::String& value) { m_durationExpressionHasBeenSet = true; m_durationExpression = value; } /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline void SetDurationExpression(Aws::String&& value) { m_durationExpressionHasBeenSet = true; m_durationExpression = std::move(value); } /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline void SetDurationExpression(const char* value) { m_durationExpressionHasBeenSet = true; m_durationExpression.assign(value); } /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline SetTimerAction& WithDurationExpression(const Aws::String& value) { SetDurationExpression(value); return *this;} /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline SetTimerAction& WithDurationExpression(Aws::String&& value) { SetDurationExpression(std::move(value)); return *this;} /** *

The duration of the timer, in seconds. You can use a string expression that * includes numbers, variables ($variable.<variable-name>), and * input values ($input.<input-name>.<path-to-datum>) as * the duration. The range of the duration is 1-31622400 seconds. To ensure * accuracy, the minimum duration is 60 seconds. The evaluated result of the * duration is rounded down to the nearest whole number.

*/ inline SetTimerAction& WithDurationExpression(const char* value) { SetDurationExpression(value); return *this;} private: Aws::String m_timerName; bool m_timerNameHasBeenSet = false; Aws::String m_durationExpression; bool m_durationExpressionHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws