View a markdown version of this page

Use DescribeComputeEnvironments with an AWS SDK or CLI - AWS SDK Code Examples

There are more AWS SDK examples available in the AWS Doc SDK Examples GitHub repo.

Use DescribeComputeEnvironments with an AWS SDK or CLI

The following code examples show how to use DescribeComputeEnvironments.

Action examples are code excerpts from larger programs and must be run in context. You can see this action in context in the following code examples:

CLI
AWS CLI

To describe a compute environment

This example describes the P2OnDemand compute environment.

Command:

aws batch describe-compute-environments --compute-environments P2OnDemand

Output:

{ "computeEnvironments": [ { "status": "VALID", "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand", "computeResources": { "subnets": [ "subnet-220c0e0a", "subnet-1a95556d", "subnet-978f6dce" ], "tags": { "Name": "Batch Instance - P2OnDemand" }, "desiredvCpus": 48, "minvCpus": 0, "instanceTypes": [ "p2" ], "securityGroupIds": [ "sg-cf5093b2" ], "instanceRole": "ecsInstanceRole", "maxvCpus": 128, "type": "EC2", "ec2KeyPair": "id_rsa" }, "statusReason": "ComputeEnvironment Healthy", "ecsClusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/P2OnDemand_Batch_2c06f29d-d1fe-3a49-879d-42394c86effc", "state": "ENABLED", "computeEnvironmentName": "P2OnDemand", "type": "MANAGED" } ] }
Java
SDK for Java 2.x
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

/** * Checks the status of the specified compute environment. * * @param computeEnvironmentName the name of the compute environment to check * @return a CompletableFuture containing the status of the compute environment, or "ERROR" if an exception occurs */ public CompletableFuture<String> checkComputeEnvironmentsStatus(String computeEnvironmentName) { if (computeEnvironmentName == null || computeEnvironmentName.isEmpty()) { throw new IllegalArgumentException("Compute environment name cannot be null or empty"); } DescribeComputeEnvironmentsRequest environmentsRequest = DescribeComputeEnvironmentsRequest.builder() .computeEnvironments(computeEnvironmentName) .build(); CompletableFuture<DescribeComputeEnvironmentsResponse> response = getAsyncClient().describeComputeEnvironments(environmentsRequest); response.whenComplete((resp, ex) -> { if (ex != null) { String errorMessage = "Unexpected error occurred: " + ex.getMessage(); throw new RuntimeException(errorMessage, ex); } }); return response.thenApply(resp -> resp.computeEnvironments().stream() .map(env -> env.statusAsString()) .findFirst() .orElse("UNKNOWN")); }
Python
SDK for Python (Boto3)
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

def describe_compute_environments( self, compute_environment_names: Optional[list] = None ) -> list: """ Describes one or more compute environments. :param compute_environment_names: Optional list of compute environment names or ARNs to describe. If None, describes all compute environments. :return: A list of compute environment detail dictionaries. """ try: params = {} if compute_environment_names is not None: params["computeEnvironments"] = compute_environment_names response = self.batch_client.describe_compute_environments(**params) environments = response.get("computeEnvironments", []) logger.info("Described %d compute environment(s).", len(environments)) return environments except ClientError as err: logger.error( "Error describing compute environments: %s", err.response["Error"]["Message"], ) raise