Example usage for com.amazonaws.services.ec2 AmazonEC2Client describeAvailabilityZones

List of usage examples for com.amazonaws.services.ec2 AmazonEC2Client describeAvailabilityZones

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2 AmazonEC2Client describeAvailabilityZones.

Prototype

@Override
public DescribeAvailabilityZonesResult describeAvailabilityZones(DescribeAvailabilityZonesRequest request) 

Source Link

Document

Describes the Availability Zones that are available to you.

Usage

From source file:com.cloudera.director.aws.ec2.EC2InstanceTemplateConfigurationValidator.java

License:Apache License

/**
 * Validates the configured availability zone.
 *
 * @param client              the EC2 client
 * @param configuration       the configuration to be validated
 * @param accumulator         the exception condition accumulator
 * @param localizationContext the localization context
 *///from w  ww.  ja v  a  2s.co m
@VisibleForTesting
void checkAvailabilityZone(AmazonEC2Client client, Configured configuration,
        PluginExceptionConditionAccumulator accumulator, LocalizationContext localizationContext) {

    String zoneName = configuration.getConfigurationValue(AVAILABILITY_ZONE, localizationContext);
    if (zoneName != null) {
        LOG.info(">> Describing zone '{}'", zoneName);

        try {
            DescribeAvailabilityZonesResult result = client
                    .describeAvailabilityZones(new DescribeAvailabilityZonesRequest().withZoneNames(zoneName));

            checkCount(accumulator, AVAILABILITY_ZONE, localizationContext, "Availability zone",
                    result.getAvailabilityZones());
        } catch (AmazonServiceException e) {
            if (e.getErrorCode().equals(INVALID_PARAMETER_VALUE)
                    && e.getMessage().contains(INVALID_AVAILABILITY_ZONE)) {
                addError(accumulator, AVAILABILITY_ZONE, localizationContext, null,
                        INVALID_AVAILABILITY_ZONE_MSG, zoneName);
            } else {
                throw Throwables.propagate(e);
            }
        }
    }
}

From source file:org.excalibur.service.aws.ec2.EC2.java

License:Open Source License

private List<Zone> listAvailableZonesOfRegion(Region region) {
    checkNotNull(region);/*w w  w  .  j a v a 2 s.c  om*/
    checkState(!isNullOrEmpty(region.getName()));
    checkState(!isNullOrEmpty(region.getEndpoint()));

    List<Zone> zones = newArrayList();

    AmazonEC2Client client = new AmazonEC2Client(awsCredentials_);
    client.setEndpoint(region.getEndpoint());

    try {
        DescribeAvailabilityZonesResult availabilityZonesResult = client
                .describeAvailabilityZones(new DescribeAvailabilityZonesRequest().withFilters(
                        new com.amazonaws.services.ec2.model.Filter().withName("region-name")
                                .withValues(region.getName()),
                        new com.amazonaws.services.ec2.model.Filter().withName("state")
                                .withValues("available")));

        for (AvailabilityZone zone : availabilityZonesResult.getAvailabilityZones()) {
            zones.add(new Zone().setName(zone.getZoneName()).setRegion(region));
        }

        Collections.sort(zones);
    } catch (AmazonClientException exception) {
        LOG.warn("Error on listing the available zones of region [name:{}, endpoint:{}]. Error message: [{}]",
                region.getName(), region.getEndpoint(), exception.getMessage(), exception);
    }

    return zones;
}

From source file:org.finra.dm.dao.impl.Ec2OperationsImpl.java

License:Apache License

@Override
public DescribeAvailabilityZonesResult describeAvailabilityZones(AmazonEC2Client ec2Client,
        DescribeAvailabilityZonesRequest describeAvailabilityZonesRequest) {
    return ec2Client.describeAvailabilityZones(describeAvailabilityZonesRequest);
}