Updates an Batch compute environment.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
update-compute-environment
--compute-environment <value>
[--state <value>]
[--compute-resources <value>]
[--service-role <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--compute-environment
(string)
The name or full Amazon Resource Name (ARN) of the compute environment to update.
--state
(string)
The state of the compute environment. Compute environments in the
ENABLED
state can accept jobs from a queue and scale in or out automatically based on the workload demand of its associated queues.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 aSTARTING
orRUNNING
state continue to progress normally. Managed compute environments in theDISABLED
state don’t scale out. However, they scale in tominvCpus
value after instances become idle.Possible values:
ENABLED
DISABLED
--compute-resources
(structure)
Details of the compute resources managed by the compute environment. Required for a managed compute environment. For more information, see Compute Environments in the Batch User Guide .
minvCpus -> (integer)
The minimum number of Amazon EC2 vCPUs that an environment should maintain.
Note
This parameter isn’t applicable to jobs that are running on Fargate resources, and shouldn’t be specified.
maxvCpus -> (integer)
The maximum number of Amazon EC2 vCPUs that an environment can reach.
Note
With both
BEST_FIT_PROGRESSIVE
andSPOT_CAPACITY_OPTIMIZED
allocation strategies, Batch might need to exceedmaxvCpus
to meet your capacity requirements. In this event, Batch never exceedsmaxvCpus
by more than a single instance. That is, no more than a single instance from among those specified in your compute environment.desiredvCpus -> (integer)
The desired number of Amazon EC2 vCPUS in the compute environment.
Note
This parameter isn’t applicable to jobs that are running on Fargate resources, and shouldn’t be specified.
subnets -> (list)
The VPC subnets where the compute resources are launched. Fargate compute resources can contain up to 16 subnets. Providing an empty list will be handled as if this parameter wasn’t specified and no change is made. This can’t be specified for EC2 compute resources. For more information, see VPCs and Subnets in the Amazon VPC User Guide .
(string)
securityGroupIds -> (list)
The Amazon EC2 security groups associated with instances launched in the compute environment. This parameter is required for Fargate compute resources, where it can contain up to 5 security groups. This can’t be specified for EC2 compute resources. Providing an empty list is handled as if this parameter wasn’t specified and no change is made.
(string)
Shorthand Syntax:
minvCpus=integer,maxvCpus=integer,desiredvCpus=integer,subnets=string,string,securityGroupIds=string,string
JSON Syntax:
{
"minvCpus": integer,
"maxvCpus": integer,
"desiredvCpus": integer,
"subnets": ["string", ...],
"securityGroupIds": ["string", ...]
}
--service-role
(string)
The full Amazon Resource Name (ARN) of the IAM role that allows Batch to make calls to other Amazon Web Services services on your behalf. For more information, see Batch service IAM role in the Batch User Guide .
Warning
If the compute environment has a service-linked role, it can’t be changed to use a regular IAM role. Likewise, if the compute environment has a regular IAM role, it can’t be changed to use a service-linked role.
If your specified role has a path other than
/
, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path.Note
Depending on how you created your Batch service role, its ARN might contain the
service-role
path prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn’t use theservice-role
path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To update a compute environment
This example disables the P2OnDemand compute environment so it can be deleted.
Command:
aws batch update-compute-environment --compute-environment P2OnDemand --state DISABLED
Output:
{
"computeEnvironmentName": "P2OnDemand",
"computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand"
}
computeEnvironmentName -> (string)
The name of the compute environment. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.
computeEnvironmentArn -> (string)
The Amazon Resource Name (ARN) of the compute environment.