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

The order that compute environments are tried in for job placement within a * queue. Compute environments are tried in ascending order. For example, if two * compute environments are associated with a job queue, the compute environment * with a lower order integer value is tried for job placement first. Compute * environments must be in the VALID state before you can associate * them with a job queue. All of the compute environments must be either EC2 * (EC2 or SPOT) or Fargate (FARGATE or * FARGATE_SPOT); EC2 and Fargate compute environments can't be * mixed.

All compute environments that are associated with a job * queue must share the same architecture. Batch doesn't support mixing compute * environment architecture types in a single job queue.

See * Also:

AWS * API Reference

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

The order of the compute environment. Compute environments are tried in * ascending order. For example, if two compute environments are associated with a * job queue, the compute environment with a lower order integer value * is tried for job placement first.

*/ inline int GetOrder() const{ return m_order; } /** *

The order of the compute environment. Compute environments are tried in * ascending order. For example, if two compute environments are associated with a * job queue, the compute environment with a lower order integer value * is tried for job placement first.

*/ inline bool OrderHasBeenSet() const { return m_orderHasBeenSet; } /** *

The order of the compute environment. Compute environments are tried in * ascending order. For example, if two compute environments are associated with a * job queue, the compute environment with a lower order integer value * is tried for job placement first.

*/ inline void SetOrder(int value) { m_orderHasBeenSet = true; m_order = value; } /** *

The order of the compute environment. Compute environments are tried in * ascending order. For example, if two compute environments are associated with a * job queue, the compute environment with a lower order integer value * is tried for job placement first.

*/ inline ComputeEnvironmentOrder& WithOrder(int value) { SetOrder(value); return *this;} /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline const Aws::String& GetComputeEnvironment() const{ return m_computeEnvironment; } /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline bool ComputeEnvironmentHasBeenSet() const { return m_computeEnvironmentHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline void SetComputeEnvironment(const Aws::String& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = value; } /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline void SetComputeEnvironment(Aws::String&& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = std::move(value); } /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline void SetComputeEnvironment(const char* value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment.assign(value); } /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline ComputeEnvironmentOrder& WithComputeEnvironment(const Aws::String& value) { SetComputeEnvironment(value); return *this;} /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline ComputeEnvironmentOrder& WithComputeEnvironment(Aws::String&& value) { SetComputeEnvironment(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the compute environment.

*/ inline ComputeEnvironmentOrder& WithComputeEnvironment(const char* value) { SetComputeEnvironment(value); return *this;} private: int m_order; bool m_orderHasBeenSet = false; Aws::String m_computeEnvironment; bool m_computeEnvironmentHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws