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

Information about the batch policy.

See Also:

AWS * API Reference

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

The amount of time, in seconds, to wait for the batch to complete.

If * a batch times out, and there are pending requests that were failing due to an * internal failure (like InternalServiceError), they will be moved to * the failed list and the batch status will be Failed. If the pending * requests were failing for any other reason, the failed pending requests will be * moved to the failed list and the batch status will be TimedOut. *

*/ inline long long GetTimeoutInSeconds() const{ return m_timeoutInSeconds; } /** *

The amount of time, in seconds, to wait for the batch to complete.

If * a batch times out, and there are pending requests that were failing due to an * internal failure (like InternalServiceError), they will be moved to * the failed list and the batch status will be Failed. If the pending * requests were failing for any other reason, the failed pending requests will be * moved to the failed list and the batch status will be TimedOut. *

*/ inline bool TimeoutInSecondsHasBeenSet() const { return m_timeoutInSecondsHasBeenSet; } /** *

The amount of time, in seconds, to wait for the batch to complete.

If * a batch times out, and there are pending requests that were failing due to an * internal failure (like InternalServiceError), they will be moved to * the failed list and the batch status will be Failed. If the pending * requests were failing for any other reason, the failed pending requests will be * moved to the failed list and the batch status will be TimedOut. *

*/ inline void SetTimeoutInSeconds(long long value) { m_timeoutInSecondsHasBeenSet = true; m_timeoutInSeconds = value; } /** *

The amount of time, in seconds, to wait for the batch to complete.

If * a batch times out, and there are pending requests that were failing due to an * internal failure (like InternalServiceError), they will be moved to * the failed list and the batch status will be Failed. If the pending * requests were failing for any other reason, the failed pending requests will be * moved to the failed list and the batch status will be TimedOut. *

*/ inline BatchPolicy& WithTimeoutInSeconds(long long value) { SetTimeoutInSeconds(value); return *this;} /** *

The number of active simulation jobs create as part of the batch that can be * in an active state at the same time.

Active states include: * Pending,Preparing, Running, * Restarting, RunningFailed and * Terminating. All other states are terminal states.

*/ inline int GetMaxConcurrency() const{ return m_maxConcurrency; } /** *

The number of active simulation jobs create as part of the batch that can be * in an active state at the same time.

Active states include: * Pending,Preparing, Running, * Restarting, RunningFailed and * Terminating. All other states are terminal states.

*/ inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; } /** *

The number of active simulation jobs create as part of the batch that can be * in an active state at the same time.

Active states include: * Pending,Preparing, Running, * Restarting, RunningFailed and * Terminating. All other states are terminal states.

*/ inline void SetMaxConcurrency(int value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; } /** *

The number of active simulation jobs create as part of the batch that can be * in an active state at the same time.

Active states include: * Pending,Preparing, Running, * Restarting, RunningFailed and * Terminating. All other states are terminal states.

*/ inline BatchPolicy& WithMaxConcurrency(int value) { SetMaxConcurrency(value); return *this;} private: long long m_timeoutInSeconds; bool m_timeoutInSecondsHasBeenSet = false; int m_maxConcurrency; bool m_maxConcurrencyHasBeenSet = false; }; } // namespace Model } // namespace RoboMaker } // namespace Aws