Use AWS Regions and Availability Zones - AWS SDK for Java 2.x

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 DescribeRegionsResponse. Call the returned object’s regions method to get a list of Region objects that represent each 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 on GitHub.

Describe availability zones

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

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 on GitHub.

Describe accounts

To list EC2-related information about your account, call the Ec2Client’s describeAccountAttributes method. This method returns a DescribeAccountAttributesResponse object. Invoke this objects accountAttributes 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 attributeValues 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 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 on GitHub.

More information