Use AWS Regions and Availability Zones
Describe Regions
To list the Regions available to your account, call the Ec2Client’s
describeRegions
method. It returns a DescribeRegionsResponseregions
method
to get a list of Region
Imports
import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeRegionsResponse; import software.amazon.awssdk.services.ec2.model.DescribeAvailabilityZonesResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception;
Code
try { DescribeRegionsResponse regionsResponse = ec2.describeRegions(); regionsResponse.regions().forEach(region -> { System.out.printf( "Found Region %s with endpoint %s%n", region.regionName(), region.endpoint()); System.out.println(); });
See the complete example
Describe availability zones
To list each Availability Zone available to your account, call the Ec2Client’s
describeAvailabilityZones
method. It returns a DescribeAvailabilityZonesResponseavailabilityZones
method to get a list of AvailabilityZone
Imports
import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeRegionsResponse; import software.amazon.awssdk.services.ec2.model.DescribeAvailabilityZonesResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception;
Code
Create the Ec2Client.
software.amazon.awssdk.regions.Region region = software.amazon.awssdk.regions.Region.US_EAST_1; Ec2Client ec2 = Ec2Client.builder() .region(region) .build();
Then call describeAvailabilityZones() and retrieve results.
DescribeAvailabilityZonesResponse zonesResponse = ec2.describeAvailabilityZones(); zonesResponse.availabilityZones().forEach(zone -> { System.out.printf( "Found Availability Zone %s with status %s in region %s%n", zone.zoneName(), zone.state(), zone.regionName() ); System.out.println(); });
See the complete example
Describe accounts
To list EC2-related information about your account, call the Ec2Client’s
describeAccountAttributes
method. This method returns a DescribeAccountAttributesResponseaccountAttributes
method to get a list of AccountAttributeAccountAttribute
object.
You can get your account’s attribute values by invoking the
AccountAttribute
object’s attributeValues
method. This method
returns a list of AccountAttributeValue
Imports
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeAccountAttributesResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception;
Code
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeAccountAttributesResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DescribeAccount { public static void main(String[] args) { Region region = Region.US_EAST_1; Ec2Client ec2 = Ec2Client.builder() .region(region) .build(); describeEC2Account(ec2); System.out.print("Done"); ec2.close(); } public static void describeEC2Account(Ec2Client ec2) { try { DescribeAccountAttributesResponse accountResults = ec2.describeAccountAttributes(); accountResults.accountAttributes().forEach(attribute -> { System.out.print("\n The name of the attribute is " + attribute.attributeName()); attribute.attributeValues().forEach( myValue -> System.out.print("\n The value of the attribute is " + myValue.attributeValue())); }); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
See the complete example
More information
-
Regions and Availability Zones in the Amazon EC2 User Guide for Linux Instances
-
DescribeRegions in the Amazon EC2 API Reference
-
DescribeAvailabilityZones in the Amazon EC2 API Reference