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

Contains information about the timeout configuration for a job.

See * Also:

AWS * API Reference

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

The amount of time, in minutes, that devices have to complete the job. The * timer starts when the job status is set to IN_PROGRESS. If the job * status doesn't change to a terminal state before the time expires, then the job * status is set to TIMED_OUT.

The timeout interval must be * between 1 minute and 7 days (10080 minutes).

*/ inline long long GetInProgressTimeoutInMinutes() const{ return m_inProgressTimeoutInMinutes; } /** *

The amount of time, in minutes, that devices have to complete the job. The * timer starts when the job status is set to IN_PROGRESS. If the job * status doesn't change to a terminal state before the time expires, then the job * status is set to TIMED_OUT.

The timeout interval must be * between 1 minute and 7 days (10080 minutes).

*/ inline bool InProgressTimeoutInMinutesHasBeenSet() const { return m_inProgressTimeoutInMinutesHasBeenSet; } /** *

The amount of time, in minutes, that devices have to complete the job. The * timer starts when the job status is set to IN_PROGRESS. If the job * status doesn't change to a terminal state before the time expires, then the job * status is set to TIMED_OUT.

The timeout interval must be * between 1 minute and 7 days (10080 minutes).

*/ inline void SetInProgressTimeoutInMinutes(long long value) { m_inProgressTimeoutInMinutesHasBeenSet = true; m_inProgressTimeoutInMinutes = value; } /** *

The amount of time, in minutes, that devices have to complete the job. The * timer starts when the job status is set to IN_PROGRESS. If the job * status doesn't change to a terminal state before the time expires, then the job * status is set to TIMED_OUT.

The timeout interval must be * between 1 minute and 7 days (10080 minutes).

*/ inline IoTJobTimeoutConfig& WithInProgressTimeoutInMinutes(long long value) { SetInProgressTimeoutInMinutes(value); return *this;} private: long long m_inProgressTimeoutInMinutes; bool m_inProgressTimeoutInMinutesHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws