/** * 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 { /** *

Specifies the infrastructure update policy for the compute environment. For * more information about infrastructure updates, see Updating * compute environments in the Batch User Guide.

See * Also:

AWS * API Reference

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

Specifies whether jobs are automatically terminated when the computer * environment infrastructure is updated. The default value is * false.

*/ inline bool GetTerminateJobsOnUpdate() const{ return m_terminateJobsOnUpdate; } /** *

Specifies whether jobs are automatically terminated when the computer * environment infrastructure is updated. The default value is * false.

*/ inline bool TerminateJobsOnUpdateHasBeenSet() const { return m_terminateJobsOnUpdateHasBeenSet; } /** *

Specifies whether jobs are automatically terminated when the computer * environment infrastructure is updated. The default value is * false.

*/ inline void SetTerminateJobsOnUpdate(bool value) { m_terminateJobsOnUpdateHasBeenSet = true; m_terminateJobsOnUpdate = value; } /** *

Specifies whether jobs are automatically terminated when the computer * environment infrastructure is updated. The default value is * false.

*/ inline UpdatePolicy& WithTerminateJobsOnUpdate(bool value) { SetTerminateJobsOnUpdate(value); return *this;} /** *

Specifies the job timeout (in minutes) when the compute environment * infrastructure is updated. The default value is 30.

*/ inline long long GetJobExecutionTimeoutMinutes() const{ return m_jobExecutionTimeoutMinutes; } /** *

Specifies the job timeout (in minutes) when the compute environment * infrastructure is updated. The default value is 30.

*/ inline bool JobExecutionTimeoutMinutesHasBeenSet() const { return m_jobExecutionTimeoutMinutesHasBeenSet; } /** *

Specifies the job timeout (in minutes) when the compute environment * infrastructure is updated. The default value is 30.

*/ inline void SetJobExecutionTimeoutMinutes(long long value) { m_jobExecutionTimeoutMinutesHasBeenSet = true; m_jobExecutionTimeoutMinutes = value; } /** *

Specifies the job timeout (in minutes) when the compute environment * infrastructure is updated. The default value is 30.

*/ inline UpdatePolicy& WithJobExecutionTimeoutMinutes(long long value) { SetJobExecutionTimeoutMinutes(value); return *this;} private: bool m_terminateJobsOnUpdate; bool m_terminateJobsOnUpdateHasBeenSet = false; long long m_jobExecutionTimeoutMinutes; bool m_jobExecutionTimeoutMinutesHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws