/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object that represents an Batch compute resource. For more information,
* see Compute
* environments in the Batch User Guide.See Also:
AWS
* API Reference
The type of compute environment: EC2
, SPOT
,
* FARGATE
, or FARGATE_SPOT
. For more information, see Compute
* environments in the Batch User Guide.
If you choose
* SPOT
, you must also specify an Amazon EC2 Spot Fleet role with the
* spotIamFleetRole
parameter. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
The type of compute environment: EC2
, SPOT
,
* FARGATE
, or FARGATE_SPOT
. For more information, see Compute
* environments in the Batch User Guide.
If you choose
* SPOT
, you must also specify an Amazon EC2 Spot Fleet role with the
* spotIamFleetRole
parameter. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
The type of compute environment: EC2
, SPOT
,
* FARGATE
, or FARGATE_SPOT
. For more information, see Compute
* environments in the Batch User Guide.
If you choose
* SPOT
, you must also specify an Amazon EC2 Spot Fleet role with the
* spotIamFleetRole
parameter. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
The type of compute environment: EC2
, SPOT
,
* FARGATE
, or FARGATE_SPOT
. For more information, see Compute
* environments in the Batch User Guide.
If you choose
* SPOT
, you must also specify an Amazon EC2 Spot Fleet role with the
* spotIamFleetRole
parameter. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
The type of compute environment: EC2
, SPOT
,
* FARGATE
, or FARGATE_SPOT
. For more information, see Compute
* environments in the Batch User Guide.
If you choose
* SPOT
, you must also specify an Amazon EC2 Spot Fleet role with the
* spotIamFleetRole
parameter. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
The type of compute environment: EC2
, SPOT
,
* FARGATE
, or FARGATE_SPOT
. For more information, see Compute
* environments in the Batch User Guide.
If you choose
* SPOT
, you must also specify an Amazon EC2 Spot Fleet role with the
* spotIamFleetRole
parameter. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
The allocation strategy to use for the compute resource if not enough * instances of the best fitting instance type can be allocated. This might be * because of availability of the instance type in the Region or Amazon * EC2 service limits. For more information, see Allocation * strategies in the Batch User Guide.
This parameter * isn't applicable to jobs that are running on Fargate resources. Don't specify * it.
Batch selects an
* instance type that best fits the needs of the jobs with a preference for the
* lowest-cost instance type. If additional instances of the selected instance type
* aren't available, Batch waits for the additional instances to be available. If
* there aren't enough instances available or the user is reaching Amazon
* EC2 service limits, additional jobs aren't run until the currently running
* jobs are completed. This allocation strategy keeps costs lower but can limit
* scaling. If you're using Spot Fleets with BEST_FIT
, the Spot Fleet
* IAM Role must be specified. Compute resources that use a BEST_FIT
* allocation strategy don't support infrastructure updates and can't update some
* parameters. For more information, see Updating
* compute environments in the Batch User Guide.
Batch selects additional instance types * that are large enough to meet the requirements of the jobs in the queue. Its * preference is for instance types with lower cost vCPUs. If additional instances * of the previously selected instance types aren't available, Batch selects new * instance types.
Batch selects * one or more instance types that are large enough to meet the requirements of the * jobs in the queue. Its preference is for instance types that are less likely to * be interrupted. This allocation strategy is only available for Spot Instance * compute resources.
With both
* BEST_FIT_PROGRESSIVE
and SPOT_CAPACITY_OPTIMIZED
* strategies using On-Demand or Spot Instances, and the BEST_FIT
* strategy using Spot Instances, Batch might need to exceed maxvCpus
* to meet your capacity requirements. In this event, Batch never exceeds
* maxvCpus
by more than a single instance.
The allocation strategy to use for the compute resource if not enough * instances of the best fitting instance type can be allocated. This might be * because of availability of the instance type in the Region or Amazon * EC2 service limits. For more information, see Allocation * strategies in the Batch User Guide.
This parameter * isn't applicable to jobs that are running on Fargate resources. Don't specify * it.
Batch selects an
* instance type that best fits the needs of the jobs with a preference for the
* lowest-cost instance type. If additional instances of the selected instance type
* aren't available, Batch waits for the additional instances to be available. If
* there aren't enough instances available or the user is reaching Amazon
* EC2 service limits, additional jobs aren't run until the currently running
* jobs are completed. This allocation strategy keeps costs lower but can limit
* scaling. If you're using Spot Fleets with BEST_FIT
, the Spot Fleet
* IAM Role must be specified. Compute resources that use a BEST_FIT
* allocation strategy don't support infrastructure updates and can't update some
* parameters. For more information, see Updating
* compute environments in the Batch User Guide.
Batch selects additional instance types * that are large enough to meet the requirements of the jobs in the queue. Its * preference is for instance types with lower cost vCPUs. If additional instances * of the previously selected instance types aren't available, Batch selects new * instance types.
Batch selects * one or more instance types that are large enough to meet the requirements of the * jobs in the queue. Its preference is for instance types that are less likely to * be interrupted. This allocation strategy is only available for Spot Instance * compute resources.
With both
* BEST_FIT_PROGRESSIVE
and SPOT_CAPACITY_OPTIMIZED
* strategies using On-Demand or Spot Instances, and the BEST_FIT
* strategy using Spot Instances, Batch might need to exceed maxvCpus
* to meet your capacity requirements. In this event, Batch never exceeds
* maxvCpus
by more than a single instance.
The allocation strategy to use for the compute resource if not enough * instances of the best fitting instance type can be allocated. This might be * because of availability of the instance type in the Region or Amazon * EC2 service limits. For more information, see Allocation * strategies in the Batch User Guide.
This parameter * isn't applicable to jobs that are running on Fargate resources. Don't specify * it.
Batch selects an
* instance type that best fits the needs of the jobs with a preference for the
* lowest-cost instance type. If additional instances of the selected instance type
* aren't available, Batch waits for the additional instances to be available. If
* there aren't enough instances available or the user is reaching Amazon
* EC2 service limits, additional jobs aren't run until the currently running
* jobs are completed. This allocation strategy keeps costs lower but can limit
* scaling. If you're using Spot Fleets with BEST_FIT
, the Spot Fleet
* IAM Role must be specified. Compute resources that use a BEST_FIT
* allocation strategy don't support infrastructure updates and can't update some
* parameters. For more information, see Updating
* compute environments in the Batch User Guide.
Batch selects additional instance types * that are large enough to meet the requirements of the jobs in the queue. Its * preference is for instance types with lower cost vCPUs. If additional instances * of the previously selected instance types aren't available, Batch selects new * instance types.
Batch selects * one or more instance types that are large enough to meet the requirements of the * jobs in the queue. Its preference is for instance types that are less likely to * be interrupted. This allocation strategy is only available for Spot Instance * compute resources.
With both
* BEST_FIT_PROGRESSIVE
and SPOT_CAPACITY_OPTIMIZED
* strategies using On-Demand or Spot Instances, and the BEST_FIT
* strategy using Spot Instances, Batch might need to exceed maxvCpus
* to meet your capacity requirements. In this event, Batch never exceeds
* maxvCpus
by more than a single instance.
The allocation strategy to use for the compute resource if not enough * instances of the best fitting instance type can be allocated. This might be * because of availability of the instance type in the Region or Amazon * EC2 service limits. For more information, see Allocation * strategies in the Batch User Guide.
This parameter * isn't applicable to jobs that are running on Fargate resources. Don't specify * it.
Batch selects an
* instance type that best fits the needs of the jobs with a preference for the
* lowest-cost instance type. If additional instances of the selected instance type
* aren't available, Batch waits for the additional instances to be available. If
* there aren't enough instances available or the user is reaching Amazon
* EC2 service limits, additional jobs aren't run until the currently running
* jobs are completed. This allocation strategy keeps costs lower but can limit
* scaling. If you're using Spot Fleets with BEST_FIT
, the Spot Fleet
* IAM Role must be specified. Compute resources that use a BEST_FIT
* allocation strategy don't support infrastructure updates and can't update some
* parameters. For more information, see Updating
* compute environments in the Batch User Guide.
Batch selects additional instance types * that are large enough to meet the requirements of the jobs in the queue. Its * preference is for instance types with lower cost vCPUs. If additional instances * of the previously selected instance types aren't available, Batch selects new * instance types.
Batch selects * one or more instance types that are large enough to meet the requirements of the * jobs in the queue. Its preference is for instance types that are less likely to * be interrupted. This allocation strategy is only available for Spot Instance * compute resources.
With both
* BEST_FIT_PROGRESSIVE
and SPOT_CAPACITY_OPTIMIZED
* strategies using On-Demand or Spot Instances, and the BEST_FIT
* strategy using Spot Instances, Batch might need to exceed maxvCpus
* to meet your capacity requirements. In this event, Batch never exceeds
* maxvCpus
by more than a single instance.
The allocation strategy to use for the compute resource if not enough * instances of the best fitting instance type can be allocated. This might be * because of availability of the instance type in the Region or Amazon * EC2 service limits. For more information, see Allocation * strategies in the Batch User Guide.
This parameter * isn't applicable to jobs that are running on Fargate resources. Don't specify * it.
Batch selects an
* instance type that best fits the needs of the jobs with a preference for the
* lowest-cost instance type. If additional instances of the selected instance type
* aren't available, Batch waits for the additional instances to be available. If
* there aren't enough instances available or the user is reaching Amazon
* EC2 service limits, additional jobs aren't run until the currently running
* jobs are completed. This allocation strategy keeps costs lower but can limit
* scaling. If you're using Spot Fleets with BEST_FIT
, the Spot Fleet
* IAM Role must be specified. Compute resources that use a BEST_FIT
* allocation strategy don't support infrastructure updates and can't update some
* parameters. For more information, see Updating
* compute environments in the Batch User Guide.
Batch selects additional instance types * that are large enough to meet the requirements of the jobs in the queue. Its * preference is for instance types with lower cost vCPUs. If additional instances * of the previously selected instance types aren't available, Batch selects new * instance types.
Batch selects * one or more instance types that are large enough to meet the requirements of the * jobs in the queue. Its preference is for instance types that are less likely to * be interrupted. This allocation strategy is only available for Spot Instance * compute resources.
With both
* BEST_FIT_PROGRESSIVE
and SPOT_CAPACITY_OPTIMIZED
* strategies using On-Demand or Spot Instances, and the BEST_FIT
* strategy using Spot Instances, Batch might need to exceed maxvCpus
* to meet your capacity requirements. In this event, Batch never exceeds
* maxvCpus
by more than a single instance.
The allocation strategy to use for the compute resource if not enough * instances of the best fitting instance type can be allocated. This might be * because of availability of the instance type in the Region or Amazon * EC2 service limits. For more information, see Allocation * strategies in the Batch User Guide.
This parameter * isn't applicable to jobs that are running on Fargate resources. Don't specify * it.
Batch selects an
* instance type that best fits the needs of the jobs with a preference for the
* lowest-cost instance type. If additional instances of the selected instance type
* aren't available, Batch waits for the additional instances to be available. If
* there aren't enough instances available or the user is reaching Amazon
* EC2 service limits, additional jobs aren't run until the currently running
* jobs are completed. This allocation strategy keeps costs lower but can limit
* scaling. If you're using Spot Fleets with BEST_FIT
, the Spot Fleet
* IAM Role must be specified. Compute resources that use a BEST_FIT
* allocation strategy don't support infrastructure updates and can't update some
* parameters. For more information, see Updating
* compute environments in the Batch User Guide.
Batch selects additional instance types * that are large enough to meet the requirements of the jobs in the queue. Its * preference is for instance types with lower cost vCPUs. If additional instances * of the previously selected instance types aren't available, Batch selects new * instance types.
Batch selects * one or more instance types that are large enough to meet the requirements of the * jobs in the queue. Its preference is for instance types that are less likely to * be interrupted. This allocation strategy is only available for Spot Instance * compute resources.
With both
* BEST_FIT_PROGRESSIVE
and SPOT_CAPACITY_OPTIMIZED
* strategies using On-Demand or Spot Instances, and the BEST_FIT
* strategy using Spot Instances, Batch might need to exceed maxvCpus
* to meet your capacity requirements. In this event, Batch never exceeds
* maxvCpus
by more than a single instance.
The minimum number of vCPUs that a compute environment should maintain (even
* if the compute environment is DISABLED
).
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline int GetMinvCpus() const{ return m_minvCpus; } /** *The minimum number of vCPUs that a compute environment should maintain (even
* if the compute environment is DISABLED
).
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline bool MinvCpusHasBeenSet() const { return m_minvCpusHasBeenSet; } /** *The minimum number of vCPUs that a compute environment should maintain (even
* if the compute environment is DISABLED
).
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline void SetMinvCpus(int value) { m_minvCpusHasBeenSet = true; m_minvCpus = value; } /** *The minimum number of vCPUs that a compute environment should maintain (even
* if the compute environment is DISABLED
).
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline ComputeResource& WithMinvCpus(int value) { SetMinvCpus(value); return *this;} /** *The maximum number of vCPUs that a compute environment can support.
*With both BEST_FIT_PROGRESSIVE
and
* SPOT_CAPACITY_OPTIMIZED
allocation strategies using On-Demand or
* Spot Instances, and the BEST_FIT
strategy using Spot Instances,
* Batch might need to exceed maxvCpus
to meet your capacity
* requirements. In this event, Batch never exceeds maxvCpus
by more
* than a single instance. For example, no more than a single instance from among
* those specified in your compute environment is allocated.
The maximum number of vCPUs that a compute environment can support.
*With both BEST_FIT_PROGRESSIVE
and
* SPOT_CAPACITY_OPTIMIZED
allocation strategies using On-Demand or
* Spot Instances, and the BEST_FIT
strategy using Spot Instances,
* Batch might need to exceed maxvCpus
to meet your capacity
* requirements. In this event, Batch never exceeds maxvCpus
by more
* than a single instance. For example, no more than a single instance from among
* those specified in your compute environment is allocated.
The maximum number of vCPUs that a compute environment can support.
*With both BEST_FIT_PROGRESSIVE
and
* SPOT_CAPACITY_OPTIMIZED
allocation strategies using On-Demand or
* Spot Instances, and the BEST_FIT
strategy using Spot Instances,
* Batch might need to exceed maxvCpus
to meet your capacity
* requirements. In this event, Batch never exceeds maxvCpus
by more
* than a single instance. For example, no more than a single instance from among
* those specified in your compute environment is allocated.
The maximum number of vCPUs that a compute environment can support.
*With both BEST_FIT_PROGRESSIVE
and
* SPOT_CAPACITY_OPTIMIZED
allocation strategies using On-Demand or
* Spot Instances, and the BEST_FIT
strategy using Spot Instances,
* Batch might need to exceed maxvCpus
to meet your capacity
* requirements. In this event, Batch never exceeds maxvCpus
by more
* than a single instance. For example, no more than a single instance from among
* those specified in your compute environment is allocated.
The desired number of vCPUS in the compute environment. Batch modifies this * value between the minimum and maximum values based on job queue demand.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline int GetDesiredvCpus() const{ return m_desiredvCpus; } /** *The desired number of vCPUS in the compute environment. Batch modifies this * value between the minimum and maximum values based on job queue demand.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline bool DesiredvCpusHasBeenSet() const { return m_desiredvCpusHasBeenSet; } /** *The desired number of vCPUS in the compute environment. Batch modifies this * value between the minimum and maximum values based on job queue demand.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetDesiredvCpus(int value) { m_desiredvCpusHasBeenSet = true; m_desiredvCpus = value; } /** *The desired number of vCPUS in the compute environment. Batch modifies this * value between the minimum and maximum values based on job queue demand.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithDesiredvCpus(int value) { SetDesiredvCpus(value); return *this;} /** *The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The instances types that can be launched. You can specify instance families
* to launch any instance type within those families (for example, c5
* or p3
), or you can specify specific sizes within a family (such as
* c5.8xlarge
). You can also choose optimal
to select
* instance types (from the C4, M4, and R4 instance families) that match the demand
* of your job queues.
This parameter isn't applicable to jobs that * are running on Fargate resources. Don't specify it.
When * you create a compute environment, the instance types that you select for the * compute environment must share the same architecture. For example, you can't mix * x86 and ARM instances in the same compute environment.
*Currently, optimal
uses instance types from the C4, M4, and R4
* instance families. In Regions that don't have instance types from those instance
* families, instance types from the C5, M5, and R5 instance families are used.
The VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline const Aws::VectorThe VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; } /** *The VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline void SetSubnets(const Aws::VectorThe VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline void SetSubnets(Aws::VectorThe VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline ComputeResource& WithSubnets(const Aws::VectorThe VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline ComputeResource& WithSubnets(Aws::VectorThe VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline ComputeResource& AddSubnets(const Aws::String& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } /** *The VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline ComputeResource& AddSubnets(Aws::String&& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(std::move(value)); return *this; } /** *The VPC subnets where the compute resources are launched. These subnets must * be within the same VPC. Fargate compute resources can contain up to 16 subnets. * For more information, see VPCs * and subnets in the Amazon VPC User Guide.
Batch on * Amazon EC2 and Batch on Amazon EKS support Local Zones. For more information, * see * Local Zones in the Amazon EC2 User Guide for Linux Instances, Amazon * EKS and Amazon Web Services Local Zones in the Amazon EKS User Guide * and * Amazon ECS clusters in Local Zones, Wavelength Zones, and Amazon Web Services * Outposts in the Amazon ECS Developer Guide.
Batch on Fargate * doesn't currently support Local Zones.
*/ inline ComputeResource& AddSubnets(const char* value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } /** *The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 security groups that are associated with instances launched in
* the compute environment. One or more security groups must be specified, either
* in securityGroupIds
or using a launch template referenced in
* launchTemplate
. This parameter is required for jobs that are
* running on Fargate resources and must contain at least one security group.
* Fargate doesn't support launch templates. If security groups are specified using
* both securityGroupIds
and launchTemplate
, the values
* in securityGroupIds
are used.
The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline const Aws::String& GetEc2KeyPair() const{ return m_ec2KeyPair; } /** *The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline bool Ec2KeyPairHasBeenSet() const { return m_ec2KeyPairHasBeenSet; } /** *The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetEc2KeyPair(const Aws::String& value) { m_ec2KeyPairHasBeenSet = true; m_ec2KeyPair = value; } /** *The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetEc2KeyPair(Aws::String&& value) { m_ec2KeyPairHasBeenSet = true; m_ec2KeyPair = std::move(value); } /** *The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetEc2KeyPair(const char* value) { m_ec2KeyPairHasBeenSet = true; m_ec2KeyPair.assign(value); } /** *The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithEc2KeyPair(const Aws::String& value) { SetEc2KeyPair(value); return *this;} /** *The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithEc2KeyPair(Aws::String&& value) { SetEc2KeyPair(std::move(value)); return *this;} /** *The Amazon EC2 key pair that's used for instances launched in the compute * environment. You can use this key pair to log in to your instances with SSH.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithEc2KeyPair(const char* value) { SetEc2KeyPair(value); return *this;} /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline const Aws::String& GetInstanceRole() const{ return m_instanceRole; } /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline bool InstanceRoleHasBeenSet() const { return m_instanceRoleHasBeenSet; } /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline void SetInstanceRole(const Aws::String& value) { m_instanceRoleHasBeenSet = true; m_instanceRole = value; } /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline void SetInstanceRole(Aws::String&& value) { m_instanceRoleHasBeenSet = true; m_instanceRole = std::move(value); } /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline void SetInstanceRole(const char* value) { m_instanceRoleHasBeenSet = true; m_instanceRole.assign(value); } /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline ComputeResource& WithInstanceRole(const Aws::String& value) { SetInstanceRole(value); return *this;} /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline ComputeResource& WithInstanceRole(Aws::String&& value) { SetInstanceRole(std::move(value)); return *this;} /** *The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
* environment. You can specify the short name or full Amazon Resource Name (ARN)
* of an instance profile. For example, ecsInstanceRole
or
* arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
*
. For more information, see Amazon
* ECS instance role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline ComputeResource& WithInstanceRole(const char* value) { SetInstanceRole(value); return *this;} /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline const Aws::MapKey-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetTags(const Aws::MapKey-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetTags(Aws::MapKey-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithTags(const Aws::MapKey-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithTags(Aws::MapKey-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *Key-value pair tags to be applied to EC2 resources that are launched in the
* compute environment. For Batch, these take the form of "String1":
* "String2"
, where String1
is the tag key and
* String2
is the tag value-for example, { "Name": "Batch
* Instance - C4OnDemand" }
. This is helpful for recognizing your Batch
* instances in the Amazon EC2 console. Updating these tags requires an
* infrastructure update to the compute environment. For more information, see Updating
* compute environments in the Batch User Guide. These tags aren't seen
* when using the Batch ListTagsForResource
API operation.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline const Aws::String& GetPlacementGroup() const{ return m_placementGroup; } /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline bool PlacementGroupHasBeenSet() const { return m_placementGroupHasBeenSet; } /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetPlacementGroup(const Aws::String& value) { m_placementGroupHasBeenSet = true; m_placementGroup = value; } /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetPlacementGroup(Aws::String&& value) { m_placementGroupHasBeenSet = true; m_placementGroup = std::move(value); } /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline void SetPlacementGroup(const char* value) { m_placementGroupHasBeenSet = true; m_placementGroup.assign(value); } /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithPlacementGroup(const Aws::String& value) { SetPlacementGroup(value); return *this;} /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithPlacementGroup(Aws::String&& value) { SetPlacementGroup(std::move(value)); return *this;} /** *The Amazon EC2 placement group to associate with your compute resources. If * you intend to submit multi-node parallel jobs to your compute environment, you * should consider creating a cluster placement group and associate it with your * compute resources. This keeps your multi-node parallel job on a logical grouping * of instances within a single Availability Zone with high network flow potential. * For more information, see Placement * groups in the Amazon EC2 User Guide for Linux Instances.
*This parameter isn't applicable to jobs that are running on Fargate * resources. Don't specify it.
*/ inline ComputeResource& WithPlacementGroup(const char* value) { SetPlacementGroup(value); return *this;} /** *The maximum percentage that a Spot Instance price can be when compared with * the On-Demand price for that instance type before instances are launched. For * example, if your maximum percentage is 20%, then the Spot price must be less * than 20% of the current On-Demand price for that Amazon EC2 instance. You always * pay the lowest (market) price and never more than your maximum percentage. If * you leave this field empty, the default value is 100% of the On-Demand price. * For most use cases, we recommend leaving this field empty.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline int GetBidPercentage() const{ return m_bidPercentage; } /** *The maximum percentage that a Spot Instance price can be when compared with * the On-Demand price for that instance type before instances are launched. For * example, if your maximum percentage is 20%, then the Spot price must be less * than 20% of the current On-Demand price for that Amazon EC2 instance. You always * pay the lowest (market) price and never more than your maximum percentage. If * you leave this field empty, the default value is 100% of the On-Demand price. * For most use cases, we recommend leaving this field empty.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline bool BidPercentageHasBeenSet() const { return m_bidPercentageHasBeenSet; } /** *The maximum percentage that a Spot Instance price can be when compared with * the On-Demand price for that instance type before instances are launched. For * example, if your maximum percentage is 20%, then the Spot price must be less * than 20% of the current On-Demand price for that Amazon EC2 instance. You always * pay the lowest (market) price and never more than your maximum percentage. If * you leave this field empty, the default value is 100% of the On-Demand price. * For most use cases, we recommend leaving this field empty.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline void SetBidPercentage(int value) { m_bidPercentageHasBeenSet = true; m_bidPercentage = value; } /** *The maximum percentage that a Spot Instance price can be when compared with * the On-Demand price for that instance type before instances are launched. For * example, if your maximum percentage is 20%, then the Spot price must be less * than 20% of the current On-Demand price for that Amazon EC2 instance. You always * pay the lowest (market) price and never more than your maximum percentage. If * you leave this field empty, the default value is 100% of the On-Demand price. * For most use cases, we recommend leaving this field empty.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline ComputeResource& WithBidPercentage(int value) { SetBidPercentage(value); return *this;} /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline const Aws::String& GetSpotIamFleetRole() const{ return m_spotIamFleetRole; } /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline bool SpotIamFleetRoleHasBeenSet() const { return m_spotIamFleetRoleHasBeenSet; } /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline void SetSpotIamFleetRole(const Aws::String& value) { m_spotIamFleetRoleHasBeenSet = true; m_spotIamFleetRole = value; } /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline void SetSpotIamFleetRole(Aws::String&& value) { m_spotIamFleetRoleHasBeenSet = true; m_spotIamFleetRole = std::move(value); } /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline void SetSpotIamFleetRole(const char* value) { m_spotIamFleetRoleHasBeenSet = true; m_spotIamFleetRole.assign(value); } /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline ComputeResource& WithSpotIamFleetRole(const Aws::String& value) { SetSpotIamFleetRole(value); return *this;} /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline ComputeResource& WithSpotIamFleetRole(Aws::String&& value) { SetSpotIamFleetRole(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
* to a SPOT
compute environment. This role is required if the
* allocation strategy set to BEST_FIT
or if the allocation strategy
* isn't specified. For more information, see Amazon
* EC2 spot fleet role in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
To tag your Spot Instances on creation, * the Spot Fleet IAM role specified here must use the newer * AmazonEC2SpotFleetTaggingRole managed policy. The previously recommended * AmazonEC2SpotFleetRole managed policy doesn't have the required * permissions to tag Spot Instances. For more information, see Spot * instances not tagged on creation in the Batch User Guide.
* */ inline ComputeResource& WithSpotIamFleetRole(const char* value) { SetSpotIamFleetRole(value); return *this;} /** *The launch template to use for your compute resources. Any other compute * resource parameters that you specify in a CreateComputeEnvironment API * operation override the same parameters in the launch template. You must specify * either the launch template ID or launch template name in the request, but not * both. For more information, see Launch * template support in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline const LaunchTemplateSpecification& GetLaunchTemplate() const{ return m_launchTemplate; } /** *The launch template to use for your compute resources. Any other compute * resource parameters that you specify in a CreateComputeEnvironment API * operation override the same parameters in the launch template. You must specify * either the launch template ID or launch template name in the request, but not * both. For more information, see Launch * template support in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; } /** *The launch template to use for your compute resources. Any other compute * resource parameters that you specify in a CreateComputeEnvironment API * operation override the same parameters in the launch template. You must specify * either the launch template ID or launch template name in the request, but not * both. For more information, see Launch * template support in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline void SetLaunchTemplate(const LaunchTemplateSpecification& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = value; } /** *The launch template to use for your compute resources. Any other compute * resource parameters that you specify in a CreateComputeEnvironment API * operation override the same parameters in the launch template. You must specify * either the launch template ID or launch template name in the request, but not * both. For more information, see Launch * template support in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline void SetLaunchTemplate(LaunchTemplateSpecification&& value) { m_launchTemplateHasBeenSet = true; m_launchTemplate = std::move(value); } /** *The launch template to use for your compute resources. Any other compute * resource parameters that you specify in a CreateComputeEnvironment API * operation override the same parameters in the launch template. You must specify * either the launch template ID or launch template name in the request, but not * both. For more information, see Launch * template support in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline ComputeResource& WithLaunchTemplate(const LaunchTemplateSpecification& value) { SetLaunchTemplate(value); return *this;} /** *The launch template to use for your compute resources. Any other compute * resource parameters that you specify in a CreateComputeEnvironment API * operation override the same parameters in the launch template. You must specify * either the launch template ID or launch template name in the request, but not * both. For more information, see Launch * template support in the Batch User Guide.
This * parameter isn't applicable to jobs that are running on Fargate resources. Don't * specify it.
*/ inline ComputeResource& WithLaunchTemplate(LaunchTemplateSpecification&& value) { SetLaunchTemplate(std::move(value)); return *this;} /** *Provides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline const Aws::VectorProvides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline bool Ec2ConfigurationHasBeenSet() const { return m_ec2ConfigurationHasBeenSet; } /** *Provides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline void SetEc2Configuration(const Aws::VectorProvides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline void SetEc2Configuration(Aws::VectorProvides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline ComputeResource& WithEc2Configuration(const Aws::VectorProvides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline ComputeResource& WithEc2Configuration(Aws::VectorProvides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline ComputeResource& AddEc2Configuration(const Ec2Configuration& value) { m_ec2ConfigurationHasBeenSet = true; m_ec2Configuration.push_back(value); return *this; } /** *Provides information that's used to select Amazon Machine Images (AMIs) for
* EC2 instances in the compute environment. If Ec2Configuration
isn't
* specified, the default is ECS_AL2
.
One or two values can be * provided.
This parameter isn't applicable to jobs that are running * on Fargate resources. Don't specify it.
*/ inline ComputeResource& AddEc2Configuration(Ec2Configuration&& value) { m_ec2ConfigurationHasBeenSet = true; m_ec2Configuration.push_back(std::move(value)); return *this; } private: CRType m_type; bool m_typeHasBeenSet = false; CRAllocationStrategy m_allocationStrategy; bool m_allocationStrategyHasBeenSet = false; int m_minvCpus; bool m_minvCpusHasBeenSet = false; int m_maxvCpus; bool m_maxvCpusHasBeenSet = false; int m_desiredvCpus; bool m_desiredvCpusHasBeenSet = false; Aws::Vector