/** * 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 #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

An object that represents an Batch compute environment.

See * Also:

AWS * API Reference

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

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

The name of the compute environment. It can be up to 128 characters long. It * can contain uppercase and lowercase letters, numbers, hyphens (-), and * underscores (_).

*/ 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 maximum number of VCPUs expected to be used for an unmanaged compute * environment.

*/ inline int GetUnmanagedvCpus() const{ return m_unmanagedvCpus; } /** *

The maximum number of VCPUs expected to be used for an unmanaged compute * environment.

*/ inline bool UnmanagedvCpusHasBeenSet() const { return m_unmanagedvCpusHasBeenSet; } /** *

The maximum number of VCPUs expected to be used for an unmanaged compute * environment.

*/ inline void SetUnmanagedvCpus(int value) { m_unmanagedvCpusHasBeenSet = true; m_unmanagedvCpus = value; } /** *

The maximum number of VCPUs expected to be used for an unmanaged compute * environment.

*/ inline ComputeEnvironmentDetail& WithUnmanagedvCpus(int value) { SetUnmanagedvCpus(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The tags applied to the compute environment.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags applied to the compute environment.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags applied to the compute environment.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags applied to the compute environment.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags applied to the compute environment.

*/ inline ComputeEnvironmentDetail& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The type of the compute environment: MANAGED or * UNMANAGED. For more information, see Compute * environments in the Batch User Guide.

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

The type of the compute environment: MANAGED or * UNMANAGED. For more information, see Compute * environments in the Batch User Guide.

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

The type of the compute environment: MANAGED or * UNMANAGED. For more information, see Compute * environments in the Batch User Guide.

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

The type of the compute environment: MANAGED or * UNMANAGED. For more information, see Compute * environments in the Batch User Guide.

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

The type of the compute environment: MANAGED or * UNMANAGED. For more information, see Compute * environments in the Batch User Guide.

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

The type of the compute environment: MANAGED or * UNMANAGED. For more information, see Compute * environments in the Batch User Guide.

*/ 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 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 Batch scheduler doesn't 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 don't scale out.

Compute environments * in a DISABLED state may continue to incur billing charges. To * prevent additional charges, turn off and then delete the compute environment. * For more information, see State * in the Batch User Guide.

When an instance is idle, the * instance scales down to the minvCpus value. However, the instance * size doesn't change. For example, consider a c5.8xlarge instance * with a minvCpus value of 4 and a * desiredvCpus value of 36. This instance doesn't scale * down to a c5.large instance.

*/ 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 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 Batch scheduler doesn't 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 don't scale out.

Compute environments * in a DISABLED state may continue to incur billing charges. To * prevent additional charges, turn off and then delete the compute environment. * For more information, see State * in the Batch User Guide.

When an instance is idle, the * instance scales down to the minvCpus value. However, the instance * size doesn't change. For example, consider a c5.8xlarge instance * with a minvCpus value of 4 and a * desiredvCpus value of 36. This instance doesn't scale * down to a c5.large instance.

*/ 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 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 Batch scheduler doesn't 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 don't scale out.

Compute environments * in a DISABLED state may continue to incur billing charges. To * prevent additional charges, turn off and then delete the compute environment. * For more information, see State * in the Batch User Guide.

When an instance is idle, the * instance scales down to the minvCpus value. However, the instance * size doesn't change. For example, consider a c5.8xlarge instance * with a minvCpus value of 4 and a * desiredvCpus value of 36. This instance doesn't scale * down to a c5.large instance.

*/ 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 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 Batch scheduler doesn't 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 don't scale out.

Compute environments * in a DISABLED state may continue to incur billing charges. To * prevent additional charges, turn off and then delete the compute environment. * For more information, see State * in the Batch User Guide.

When an instance is idle, the * instance scales down to the minvCpus value. However, the instance * size doesn't change. For example, consider a c5.8xlarge instance * with a minvCpus value of 4 and a * desiredvCpus value of 36. This instance doesn't scale * down to a c5.large instance.

*/ 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 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 Batch scheduler doesn't 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 don't scale out.

Compute environments * in a DISABLED state may continue to incur billing charges. To * prevent additional charges, turn off and then delete the compute environment. * For more information, see State * in the Batch User Guide.

When an instance is idle, the * instance scales down to the minvCpus value. However, the instance * size doesn't change. For example, consider a c5.8xlarge instance * with a minvCpus value of 4 and a * desiredvCpus value of 36. This instance doesn't scale * down to a c5.large instance.

*/ 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 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 Batch scheduler doesn't 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 don't scale out.

Compute environments * in a DISABLED state may continue to incur billing charges. To * prevent additional charges, turn off and then delete the compute environment. * For more information, see State * in the Batch User Guide.

When an instance is idle, the * instance scales down to the minvCpus value. However, the instance * size doesn't change. For example, consider a c5.8xlarge instance * with a minvCpus value of 4 and a * desiredvCpus value of 36. This instance doesn't scale * down to a c5.large instance.

*/ 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 for 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 for the current * status of the compute environment.

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

A short, human-readable string to provide additional details for 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 for 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 for 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 for 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 for 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 for 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. For more * information, see Compute * environments in the Batch User Guide.

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

The compute resources defined for the compute environment. For more * information, see Compute * environments in the Batch User Guide.

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

The compute resources defined for the compute environment. For more * information, see Compute * environments in the Batch User Guide.

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

The compute resources defined for the compute environment. For more * information, see Compute * environments in the Batch User Guide.

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

The compute resources defined for the compute environment. For more * information, see Compute * environments in the Batch User Guide.

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

The compute resources defined for the compute environment. For more * information, see Compute * environments in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

The service role that's associated with the compute environment that allows * Batch to make calls to Amazon Web Services API operations on your behalf. For * more information, see Batch * service IAM role in the Batch User Guide.

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

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

*/ inline const UpdatePolicy& GetUpdatePolicy() const{ return m_updatePolicy; } /** *

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

*/ inline bool UpdatePolicyHasBeenSet() const { return m_updatePolicyHasBeenSet; } /** *

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

*/ inline void SetUpdatePolicy(const UpdatePolicy& value) { m_updatePolicyHasBeenSet = true; m_updatePolicy = value; } /** *

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

*/ inline void SetUpdatePolicy(UpdatePolicy&& value) { m_updatePolicyHasBeenSet = true; m_updatePolicy = std::move(value); } /** *

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

*/ inline ComputeEnvironmentDetail& WithUpdatePolicy(const UpdatePolicy& value) { SetUpdatePolicy(value); return *this;} /** *

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

*/ inline ComputeEnvironmentDetail& WithUpdatePolicy(UpdatePolicy&& value) { SetUpdatePolicy(std::move(value)); return *this;} /** *

The configuration for the Amazon EKS cluster that supports the Batch compute * environment. Only specify this parameter if the * containerOrchestrationType is EKS.

*/ inline const EksConfiguration& GetEksConfiguration() const{ return m_eksConfiguration; } /** *

The configuration for the Amazon EKS cluster that supports the Batch compute * environment. Only specify this parameter if the * containerOrchestrationType is EKS.

*/ inline bool EksConfigurationHasBeenSet() const { return m_eksConfigurationHasBeenSet; } /** *

The configuration for the Amazon EKS cluster that supports the Batch compute * environment. Only specify this parameter if the * containerOrchestrationType is EKS.

*/ inline void SetEksConfiguration(const EksConfiguration& value) { m_eksConfigurationHasBeenSet = true; m_eksConfiguration = value; } /** *

The configuration for the Amazon EKS cluster that supports the Batch compute * environment. Only specify this parameter if the * containerOrchestrationType is EKS.

*/ inline void SetEksConfiguration(EksConfiguration&& value) { m_eksConfigurationHasBeenSet = true; m_eksConfiguration = std::move(value); } /** *

The configuration for the Amazon EKS cluster that supports the Batch compute * environment. Only specify this parameter if the * containerOrchestrationType is EKS.

*/ inline ComputeEnvironmentDetail& WithEksConfiguration(const EksConfiguration& value) { SetEksConfiguration(value); return *this;} /** *

The configuration for the Amazon EKS cluster that supports the Batch compute * environment. Only specify this parameter if the * containerOrchestrationType is EKS.

*/ inline ComputeEnvironmentDetail& WithEksConfiguration(EksConfiguration&& value) { SetEksConfiguration(std::move(value)); return *this;} /** *

The orchestration type of the compute environment. The valid values are * ECS (default) or EKS.

*/ inline const OrchestrationType& GetContainerOrchestrationType() const{ return m_containerOrchestrationType; } /** *

The orchestration type of the compute environment. The valid values are * ECS (default) or EKS.

*/ inline bool ContainerOrchestrationTypeHasBeenSet() const { return m_containerOrchestrationTypeHasBeenSet; } /** *

The orchestration type of the compute environment. The valid values are * ECS (default) or EKS.

*/ inline void SetContainerOrchestrationType(const OrchestrationType& value) { m_containerOrchestrationTypeHasBeenSet = true; m_containerOrchestrationType = value; } /** *

The orchestration type of the compute environment. The valid values are * ECS (default) or EKS.

*/ inline void SetContainerOrchestrationType(OrchestrationType&& value) { m_containerOrchestrationTypeHasBeenSet = true; m_containerOrchestrationType = std::move(value); } /** *

The orchestration type of the compute environment. The valid values are * ECS (default) or EKS.

*/ inline ComputeEnvironmentDetail& WithContainerOrchestrationType(const OrchestrationType& value) { SetContainerOrchestrationType(value); return *this;} /** *

The orchestration type of the compute environment. The valid values are * ECS (default) or EKS.

*/ inline ComputeEnvironmentDetail& WithContainerOrchestrationType(OrchestrationType&& value) { SetContainerOrchestrationType(std::move(value)); return *this;} /** *

Unique identifier for the compute environment.

*/ inline const Aws::String& GetUuid() const{ return m_uuid; } /** *

Unique identifier for the compute environment.

*/ inline bool UuidHasBeenSet() const { return m_uuidHasBeenSet; } /** *

Unique identifier for the compute environment.

*/ inline void SetUuid(const Aws::String& value) { m_uuidHasBeenSet = true; m_uuid = value; } /** *

Unique identifier for the compute environment.

*/ inline void SetUuid(Aws::String&& value) { m_uuidHasBeenSet = true; m_uuid = std::move(value); } /** *

Unique identifier for the compute environment.

*/ inline void SetUuid(const char* value) { m_uuidHasBeenSet = true; m_uuid.assign(value); } /** *

Unique identifier for the compute environment.

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

Unique identifier for the compute environment.

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

Unique identifier for the compute environment.

*/ inline ComputeEnvironmentDetail& WithUuid(const char* value) { SetUuid(value); return *this;} private: Aws::String m_computeEnvironmentName; bool m_computeEnvironmentNameHasBeenSet = false; Aws::String m_computeEnvironmentArn; bool m_computeEnvironmentArnHasBeenSet = false; int m_unmanagedvCpus; bool m_unmanagedvCpusHasBeenSet = false; Aws::String m_ecsClusterArn; bool m_ecsClusterArnHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; CEType m_type; bool m_typeHasBeenSet = false; CEState m_state; bool m_stateHasBeenSet = false; CEStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; ComputeResource m_computeResources; bool m_computeResourcesHasBeenSet = false; Aws::String m_serviceRole; bool m_serviceRoleHasBeenSet = false; UpdatePolicy m_updatePolicy; bool m_updatePolicyHasBeenSet = false; EksConfiguration m_eksConfiguration; bool m_eksConfigurationHasBeenSet = false; OrchestrationType m_containerOrchestrationType; bool m_containerOrchestrationTypeHasBeenSet = false; Aws::String m_uuid; bool m_uuidHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws