Use regions and availability zones - Amazon SDK for Java 1.x
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

The Amazon SDK for Java 1.x has entered maintenance mode as of July 31, 2024, and will reach end-of-support on December 31, 2025. We recommend that you migrate to the Amazon SDK for Java 2.x to continue receiving new features, availability improvements, and security updates.

Use regions and availability zones

Describe regions

To list the Regions available to your account, call the AmazonEC2Client’s describeRegions method. It returns a DescribeRegionsResult. Call the returned object’s getRegions method to get a list of Region objects that represent each Region.

Imports

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeRegionsResult; import com.amazonaws.services.ec2.model.Region; import com.amazonaws.services.ec2.model.AvailabilityZone; import com.amazonaws.services.ec2.model.DescribeAvailabilityZonesResult;

Code

DescribeRegionsResult regions_response = ec2.describeRegions(); for(Region region : regions_response.getRegions()) { System.out.printf( "Found region %s " + "with endpoint %s", region.getRegionName(), region.getEndpoint()); }

See the complete example.

Describe availability zones

To list each Availability Zone available to your account, call the AmazonEC2Client’s describeAvailabilityZones method. It returns a DescribeAvailabilityZonesResult. Call its getAvailabilityZones method to get a list of AvailabilityZone objects that represent each Availability Zone.

Imports

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeRegionsResult; import com.amazonaws.services.ec2.model.Region; import com.amazonaws.services.ec2.model.AvailabilityZone; import com.amazonaws.services.ec2.model.DescribeAvailabilityZonesResult;

Code

DescribeAvailabilityZonesResult zones_response = ec2.describeAvailabilityZones(); for(AvailabilityZone zone : zones_response.getAvailabilityZones()) { System.out.printf( "Found availability zone %s " + "with status %s " + "in region %s", zone.getZoneName(), zone.getState(), zone.getRegionName()); }

See the complete example.

Describe accounts

To describe your account, call the AmazonEC2Client’s describeAccountAttributes method. This method returns a DescribeAccountAttributesResult object. Invoke this objects getAccountAttributes method to get a list of AccountAttribute objects. You can iterate through the list to retrieve an AccountAttribute object.

You can get your account’s attribute values by invoking the AccountAttribute object’s getAttributeValues method. This method returns a list of AccountAttributeValue objects. You can iterate through this second list to display the value of attributes (see the following code example).

Imports

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.AccountAttributeValue; import com.amazonaws.services.ec2.model.DescribeAccountAttributesResult; import com.amazonaws.services.ec2.model.AccountAttribute; import java.util.List; import java.util.ListIterator;

Code

AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); try{ DescribeAccountAttributesResult accountResults = ec2.describeAccountAttributes(); List<AccountAttribute> accountList = accountResults.getAccountAttributes(); for (ListIterator iter = accountList.listIterator(); iter.hasNext(); ) { AccountAttribute attribute = (AccountAttribute) iter.next(); System.out.print("\n The name of the attribute is "+attribute.getAttributeName()); List<AccountAttributeValue> values = attribute.getAttributeValues(); //iterate through the attribute values for (ListIterator iterVals = values.listIterator(); iterVals.hasNext(); ) { AccountAttributeValue myValue = (AccountAttributeValue) iterVals.next(); System.out.print("\n The value of the attribute is "+myValue.getAttributeValue()); } } System.out.print("Done"); } catch (Exception e) { e.getStackTrace(); }

See the complete example on GitHub.

More information