/** * 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 an AWS Batch compute environment.

See * Also:

AWS * API Reference

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

The name of the compute environment.

*/ inline const Aws::String& GetComputeEnvironmentName() const{ return m_computeEnvironmentName; } /** *

The name of the compute environment.

*/ inline bool ComputeEnvironmentNameHasBeenSet() const { return m_computeEnvironmentNameHasBeenSet; } /** *

The name of the compute environment.

*/ inline void SetComputeEnvironmentName(const Aws::String& value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName = value; } /** *

The name of the compute environment.

*/ inline void SetComputeEnvironmentName(Aws::String&& value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName = std::move(value); } /** *

The name of the compute environment.

*/ inline void SetComputeEnvironmentName(const char* value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName.assign(value); } /** *

The name of the compute environment.

*/ inline ComputeEnvironmentDetail& WithComputeEnvironmentName(const Aws::String& value) { SetComputeEnvironmentName(value); return *this;} /** *

The name of the compute environment.

*/ inline ComputeEnvironmentDetail& WithComputeEnvironmentName(Aws::String&& value) { SetComputeEnvironmentName(std::move(value)); return *this;} /** *

The name of the compute environment.

*/ inline ComputeEnvironmentDetail& WithComputeEnvironmentName(const char* value) { SetComputeEnvironmentName(value); return *this;} /** *

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

*/ inline const Aws::String& GetComputeEnvironmentArn() const{ return m_computeEnvironmentArn; } /** *

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

*/ inline bool ComputeEnvironmentArnHasBeenSet() const { return m_computeEnvironmentArnHasBeenSet; } /** *

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

*/ inline void SetComputeEnvironmentArn(const Aws::String& value) { m_computeEnvironmentArnHasBeenSet = true; m_computeEnvironmentArn = value; } /** *

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

*/ inline void SetComputeEnvironmentArn(Aws::String&& value) { m_computeEnvironmentArnHasBeenSet = true; m_computeEnvironmentArn = std::move(value); } /** *

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

*/ inline void SetComputeEnvironmentArn(const char* value) { m_computeEnvironmentArnHasBeenSet = true; m_computeEnvironmentArn.assign(value); } /** *

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

*/ inline ComputeEnvironmentDetail& WithComputeEnvironmentArn(const Aws::String& value) { SetComputeEnvironmentArn(value); return *this;} /** *

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

*/ inline ComputeEnvironmentDetail& WithComputeEnvironmentArn(Aws::String&& value) { SetComputeEnvironmentArn(std::move(value)); return *this;} /** *

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

*/ inline ComputeEnvironmentDetail& WithComputeEnvironmentArn(const char* value) { SetComputeEnvironmentArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline const Aws::String& GetEcsClusterArn() const{ return m_ecsClusterArn; } /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline bool EcsClusterArnHasBeenSet() const { return m_ecsClusterArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline void SetEcsClusterArn(const Aws::String& value) { m_ecsClusterArnHasBeenSet = true; m_ecsClusterArn = value; } /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline void SetEcsClusterArn(Aws::String&& value) { m_ecsClusterArnHasBeenSet = true; m_ecsClusterArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline void SetEcsClusterArn(const char* value) { m_ecsClusterArnHasBeenSet = true; m_ecsClusterArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline ComputeEnvironmentDetail& WithEcsClusterArn(const Aws::String& value) { SetEcsClusterArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline ComputeEnvironmentDetail& WithEcsClusterArn(Aws::String&& value) { SetEcsClusterArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by * the compute environment.

*/ inline ComputeEnvironmentDetail& WithEcsClusterArn(const char* value) { SetEcsClusterArn(value); return *this;} /** *

The type of the compute environment.

*/ inline const CEType& GetType() const{ return m_type; } /** *

The type of the compute environment.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the compute environment.

*/ inline void SetType(const CEType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the compute environment.

*/ inline void SetType(CEType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the compute environment.

*/ inline ComputeEnvironmentDetail& WithType(const CEType& value) { SetType(value); return *this;} /** *

The type of the compute environment.

*/ inline ComputeEnvironmentDetail& WithType(CEType&& value) { SetType(std::move(value)); return *this;} /** *

The state of the compute environment. The valid values are * ENABLED or DISABLED.

If the state is * ENABLED, then the AWS Batch scheduler can attempt to place jobs * from an associated job queue on the compute resources within the environment. If * the compute environment is managed, then it can scale its instances out or in * automatically, based on the job queue demand.

If the state is * DISABLED, then the AWS Batch scheduler does not attempt to place * jobs within the environment. Jobs in a STARTING or * RUNNING state continue to progress normally. Managed compute * environments in the DISABLED state do not scale out. However, they * scale in to minvCpus value after instances become idle.

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

The state of the compute environment. The valid values are * ENABLED or DISABLED.

If the state is * ENABLED, then the AWS Batch scheduler can attempt to place jobs * from an associated job queue on the compute resources within the environment. If * the compute environment is managed, then it can scale its instances out or in * automatically, based on the job queue demand.

If the state is * DISABLED, then the AWS Batch scheduler does not attempt to place * jobs within the environment. Jobs in a STARTING or * RUNNING state continue to progress normally. Managed compute * environments in the DISABLED state do not scale out. However, they * scale in to minvCpus value after instances become idle.

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

The state of the compute environment. The valid values are * ENABLED or DISABLED.

If the state is * ENABLED, then the AWS Batch scheduler can attempt to place jobs * from an associated job queue on the compute resources within the environment. If * the compute environment is managed, then it can scale its instances out or in * automatically, based on the job queue demand.

If the state is * DISABLED, then the AWS Batch scheduler does not attempt to place * jobs within the environment. Jobs in a STARTING or * RUNNING state continue to progress normally. Managed compute * environments in the DISABLED state do not scale out. However, they * scale in to minvCpus value after instances become idle.

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

The state of the compute environment. The valid values are * ENABLED or DISABLED.

If the state is * ENABLED, then the AWS Batch scheduler can attempt to place jobs * from an associated job queue on the compute resources within the environment. If * the compute environment is managed, then it can scale its instances out or in * automatically, based on the job queue demand.

If the state is * DISABLED, then the AWS Batch scheduler does not attempt to place * jobs within the environment. Jobs in a STARTING or * RUNNING state continue to progress normally. Managed compute * environments in the DISABLED state do not scale out. However, they * scale in to minvCpus value after instances become idle.

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

The state of the compute environment. The valid values are * ENABLED or DISABLED.

If the state is * ENABLED, then the AWS Batch scheduler can attempt to place jobs * from an associated job queue on the compute resources within the environment. If * the compute environment is managed, then it can scale its instances out or in * automatically, based on the job queue demand.

If the state is * DISABLED, then the AWS Batch scheduler does not attempt to place * jobs within the environment. Jobs in a STARTING or * RUNNING state continue to progress normally. Managed compute * environments in the DISABLED state do not scale out. However, they * scale in to minvCpus value after instances become idle.

*/ inline ComputeEnvironmentDetail& WithState(const CEState& value) { SetState(value); return *this;} /** *

The state of the compute environment. The valid values are * ENABLED or DISABLED.

If the state is * ENABLED, then the AWS Batch scheduler can attempt to place jobs * from an associated job queue on the compute resources within the environment. If * the compute environment is managed, then it can scale its instances out or in * automatically, based on the job queue demand.

If the state is * DISABLED, then the AWS Batch scheduler does not attempt to place * jobs within the environment. Jobs in a STARTING or * RUNNING state continue to progress normally. Managed compute * environments in the DISABLED state do not scale out. However, they * scale in to minvCpus value after instances become idle.

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

The current status of the compute environment (for example, * CREATING or VALID).

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

The current status of the compute environment (for example, * CREATING or VALID).

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

The current status of the compute environment (for example, * CREATING or VALID).

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

The current status of the compute environment (for example, * CREATING or VALID).

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

The current status of the compute environment (for example, * CREATING or VALID).

*/ inline ComputeEnvironmentDetail& WithStatus(const CEStatus& value) { SetStatus(value); return *this;} /** *

The current status of the compute environment (for example, * CREATING or VALID).

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

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

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

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

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

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

*/ 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 compute environment.

*/ 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 compute environment.

*/ 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 compute environment.

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

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

*/ inline ComputeEnvironmentDetail& 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 compute environment.

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

The compute resources defined for the compute environment.

*/ inline const ComputeResource& GetComputeResources() const{ return m_computeResources; } /** *

The compute resources defined for the compute environment.

*/ inline bool ComputeResourcesHasBeenSet() const { return m_computeResourcesHasBeenSet; } /** *

The compute resources defined for the compute environment.

*/ inline void SetComputeResources(const ComputeResource& value) { m_computeResourcesHasBeenSet = true; m_computeResources = value; } /** *

The compute resources defined for the compute environment.

*/ inline void SetComputeResources(ComputeResource&& value) { m_computeResourcesHasBeenSet = true; m_computeResources = std::move(value); } /** *

The compute resources defined for the compute environment.

*/ inline ComputeEnvironmentDetail& WithComputeResources(const ComputeResource& value) { SetComputeResources(value); return *this;} /** *

The compute resources defined for the compute environment.

*/ inline ComputeEnvironmentDetail& WithComputeResources(ComputeResource&& value) { SetComputeResources(std::move(value)); return *this;} /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; } /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; } /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); } /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); } /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline ComputeEnvironmentDetail& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;} /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline ComputeEnvironmentDetail& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;} /** *

The service role associated with the compute environment that allows AWS * Batch to make calls to AWS API operations on your behalf.

*/ inline ComputeEnvironmentDetail& WithServiceRole(const char* value) { SetServiceRole(value); return *this;} private: Aws::String m_computeEnvironmentName; bool m_computeEnvironmentNameHasBeenSet; Aws::String m_computeEnvironmentArn; bool m_computeEnvironmentArnHasBeenSet; Aws::String m_ecsClusterArn; bool m_ecsClusterArnHasBeenSet; CEType m_type; bool m_typeHasBeenSet; CEState m_state; bool m_stateHasBeenSet; CEStatus m_status; bool m_statusHasBeenSet; Aws::String m_statusReason; bool m_statusReasonHasBeenSet; ComputeResource m_computeResources; bool m_computeResourcesHasBeenSet; Aws::String m_serviceRole; bool m_serviceRoleHasBeenSet; }; } // namespace Model } // namespace Batch } // namespace Aws