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

The configuration for an application to automatically stop after a certain * amount of time being idle.

See Also:

AWS * API Reference

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

Enables the application to automatically stop after a certain amount of time * being idle. Defaults to true.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Enables the application to automatically stop after a certain amount of time * being idle. Defaults to true.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Enables the application to automatically stop after a certain amount of time * being idle. Defaults to true.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Enables the application to automatically stop after a certain amount of time * being idle. Defaults to true.

*/ inline AutoStopConfig& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The amount of idle time in minutes after which your application will * automatically stop. Defaults to 15 minutes.

*/ inline int GetIdleTimeoutMinutes() const{ return m_idleTimeoutMinutes; } /** *

The amount of idle time in minutes after which your application will * automatically stop. Defaults to 15 minutes.

*/ inline bool IdleTimeoutMinutesHasBeenSet() const { return m_idleTimeoutMinutesHasBeenSet; } /** *

The amount of idle time in minutes after which your application will * automatically stop. Defaults to 15 minutes.

*/ inline void SetIdleTimeoutMinutes(int value) { m_idleTimeoutMinutesHasBeenSet = true; m_idleTimeoutMinutes = value; } /** *

The amount of idle time in minutes after which your application will * automatically stop. Defaults to 15 minutes.

*/ inline AutoStopConfig& WithIdleTimeoutMinutes(int value) { SetIdleTimeoutMinutes(value); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; int m_idleTimeoutMinutes; bool m_idleTimeoutMinutesHasBeenSet = false; }; } // namespace Model } // namespace EMRServerless } // namespace Aws