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

An object that represents a job timeout configuration.

See * Also:

AWS * API Reference

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

The job timeout time (in seconds) that's measured from the job attempt's * startedAt timestamp. After this time passes, Batch terminates your * jobs if they aren't finished. The minimum value for the timeout is 60 * seconds.

For array jobs, the timeout applies to the child jobs, not to * the parent array job.

For multi-node parallel (MNP) jobs, the timeout * applies to the whole job, not to the individual nodes.

*/ inline int GetAttemptDurationSeconds() const{ return m_attemptDurationSeconds; } /** *

The job timeout time (in seconds) that's measured from the job attempt's * startedAt timestamp. After this time passes, Batch terminates your * jobs if they aren't finished. The minimum value for the timeout is 60 * seconds.

For array jobs, the timeout applies to the child jobs, not to * the parent array job.

For multi-node parallel (MNP) jobs, the timeout * applies to the whole job, not to the individual nodes.

*/ inline bool AttemptDurationSecondsHasBeenSet() const { return m_attemptDurationSecondsHasBeenSet; } /** *

The job timeout time (in seconds) that's measured from the job attempt's * startedAt timestamp. After this time passes, Batch terminates your * jobs if they aren't finished. The minimum value for the timeout is 60 * seconds.

For array jobs, the timeout applies to the child jobs, not to * the parent array job.

For multi-node parallel (MNP) jobs, the timeout * applies to the whole job, not to the individual nodes.

*/ inline void SetAttemptDurationSeconds(int value) { m_attemptDurationSecondsHasBeenSet = true; m_attemptDurationSeconds = value; } /** *

The job timeout time (in seconds) that's measured from the job attempt's * startedAt timestamp. After this time passes, Batch terminates your * jobs if they aren't finished. The minimum value for the timeout is 60 * seconds.

For array jobs, the timeout applies to the child jobs, not to * the parent array job.

For multi-node parallel (MNP) jobs, the timeout * applies to the whole job, not to the individual nodes.

*/ inline JobTimeout& WithAttemptDurationSeconds(int value) { SetAttemptDurationSeconds(value); return *this;} private: int m_attemptDurationSeconds; bool m_attemptDurationSecondsHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws