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

Describes a request to create or edit the StopInstanceOnIdle * add-on.

This add-on only applies to Lightsail for Research * resources.

See Also:

AWS * API Reference

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

The value to compare with the duration.

*/ inline const Aws::String& GetThreshold() const{ return m_threshold; } /** *

The value to compare with the duration.

*/ inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; } /** *

The value to compare with the duration.

*/ inline void SetThreshold(const Aws::String& value) { m_thresholdHasBeenSet = true; m_threshold = value; } /** *

The value to compare with the duration.

*/ inline void SetThreshold(Aws::String&& value) { m_thresholdHasBeenSet = true; m_threshold = std::move(value); } /** *

The value to compare with the duration.

*/ inline void SetThreshold(const char* value) { m_thresholdHasBeenSet = true; m_threshold.assign(value); } /** *

The value to compare with the duration.

*/ inline StopInstanceOnIdleRequest& WithThreshold(const Aws::String& value) { SetThreshold(value); return *this;} /** *

The value to compare with the duration.

*/ inline StopInstanceOnIdleRequest& WithThreshold(Aws::String&& value) { SetThreshold(std::move(value)); return *this;} /** *

The value to compare with the duration.

*/ inline StopInstanceOnIdleRequest& WithThreshold(const char* value) { SetThreshold(value); return *this;} /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline const Aws::String& GetDuration() const{ return m_duration; } /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline void SetDuration(const Aws::String& value) { m_durationHasBeenSet = true; m_duration = value; } /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline void SetDuration(Aws::String&& value) { m_durationHasBeenSet = true; m_duration = std::move(value); } /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline void SetDuration(const char* value) { m_durationHasBeenSet = true; m_duration.assign(value); } /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline StopInstanceOnIdleRequest& WithDuration(const Aws::String& value) { SetDuration(value); return *this;} /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline StopInstanceOnIdleRequest& WithDuration(Aws::String&& value) { SetDuration(std::move(value)); return *this;} /** *

The amount of idle time in minutes after which your virtual computer will * automatically stop.

*/ inline StopInstanceOnIdleRequest& WithDuration(const char* value) { SetDuration(value); return *this;} private: Aws::String m_threshold; bool m_thresholdHasBeenSet = false; Aws::String m_duration; bool m_durationHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws