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

An object representing the details of an AWS Batch job queue.

See * Also:

AWS * API Reference

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

The name of the job queue.

*/ inline const Aws::String& GetJobQueueName() const{ return m_jobQueueName; } /** *

The name of the job queue.

*/ inline bool JobQueueNameHasBeenSet() const { return m_jobQueueNameHasBeenSet; } /** *

The name of the job queue.

*/ inline void SetJobQueueName(const Aws::String& value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName = value; } /** *

The name of the job queue.

*/ inline void SetJobQueueName(Aws::String&& value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName = std::move(value); } /** *

The name of the job queue.

*/ inline void SetJobQueueName(const char* value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName.assign(value); } /** *

The name of the job queue.

*/ inline JobQueueDetail& WithJobQueueName(const Aws::String& value) { SetJobQueueName(value); return *this;} /** *

The name of the job queue.

*/ inline JobQueueDetail& WithJobQueueName(Aws::String&& value) { SetJobQueueName(std::move(value)); return *this;} /** *

The name of the job queue.

*/ inline JobQueueDetail& WithJobQueueName(const char* value) { SetJobQueueName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline const Aws::String& GetJobQueueArn() const{ return m_jobQueueArn; } /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline bool JobQueueArnHasBeenSet() const { return m_jobQueueArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline void SetJobQueueArn(const Aws::String& value) { m_jobQueueArnHasBeenSet = true; m_jobQueueArn = value; } /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline void SetJobQueueArn(Aws::String&& value) { m_jobQueueArnHasBeenSet = true; m_jobQueueArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline void SetJobQueueArn(const char* value) { m_jobQueueArnHasBeenSet = true; m_jobQueueArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline JobQueueDetail& WithJobQueueArn(const Aws::String& value) { SetJobQueueArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline JobQueueDetail& WithJobQueueArn(Aws::String&& value) { SetJobQueueArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the job queue.

*/ inline JobQueueDetail& WithJobQueueArn(const char* value) { SetJobQueueArn(value); return *this;} /** *

Describes the ability of the queue to accept new jobs.

*/ inline const JQState& GetState() const{ return m_state; } /** *

Describes the ability of the queue to accept new jobs.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

Describes the ability of the queue to accept new jobs.

*/ inline void SetState(const JQState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

Describes the ability of the queue to accept new jobs.

*/ inline void SetState(JQState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

Describes the ability of the queue to accept new jobs.

*/ inline JobQueueDetail& WithState(const JQState& value) { SetState(value); return *this;} /** *

Describes the ability of the queue to accept new jobs.

*/ inline JobQueueDetail& WithState(JQState&& value) { SetState(std::move(value)); return *this;} /** *

The status of the job queue (for example, CREATING or * VALID).

*/ inline const JQStatus& GetStatus() const{ return m_status; } /** *

The status of the job queue (for example, CREATING or * VALID).

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the job queue (for example, CREATING or * VALID).

*/ inline void SetStatus(const JQStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the job queue (for example, CREATING or * VALID).

*/ inline void SetStatus(JQStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the job queue (for example, CREATING or * VALID).

*/ inline JobQueueDetail& WithStatus(const JQStatus& value) { SetStatus(value); return *this;} /** *

The status of the job queue (for example, CREATING or * VALID).

*/ inline JobQueueDetail& WithStatus(JQStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline JobQueueDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline JobQueueDetail& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *

A short, human-readable string to provide additional details about the * current status of the job queue.

*/ inline JobQueueDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *

The priority of the job queue.

*/ inline int GetPriority() const{ return m_priority; } /** *

The priority of the job queue.

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

The priority of the job queue.

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

The priority of the job queue.

*/ inline JobQueueDetail& WithPriority(int value) { SetPriority(value); return *this;} /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline const Aws::Vector& GetComputeEnvironmentOrder() const{ return m_computeEnvironmentOrder; } /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline bool ComputeEnvironmentOrderHasBeenSet() const { return m_computeEnvironmentOrderHasBeenSet; } /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline void SetComputeEnvironmentOrder(const Aws::Vector& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = value; } /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline void SetComputeEnvironmentOrder(Aws::Vector&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = std::move(value); } /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline JobQueueDetail& WithComputeEnvironmentOrder(const Aws::Vector& value) { SetComputeEnvironmentOrder(value); return *this;} /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline JobQueueDetail& WithComputeEnvironmentOrder(Aws::Vector&& value) { SetComputeEnvironmentOrder(std::move(value)); return *this;} /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline JobQueueDetail& AddComputeEnvironmentOrder(const ComputeEnvironmentOrder& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(value); return *this; } /** *

The compute environments that are attached to the job queue and the order in * which job placement is preferred. Compute environments are selected for job * placement in ascending order.

*/ inline JobQueueDetail& AddComputeEnvironmentOrder(ComputeEnvironmentOrder&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(std::move(value)); return *this; } private: Aws::String m_jobQueueName; bool m_jobQueueNameHasBeenSet; Aws::String m_jobQueueArn; bool m_jobQueueArnHasBeenSet; JQState m_state; bool m_stateHasBeenSet; JQStatus m_status; bool m_statusHasBeenSet; Aws::String m_statusReason; bool m_statusReasonHasBeenSet; int m_priority; bool m_priorityHasBeenSet; Aws::Vector m_computeEnvironmentOrder; bool m_computeEnvironmentOrderHasBeenSet; }; } // namespace Model } // namespace Batch } // namespace Aws