Example usage for com.amazonaws.services.ec2.model DescribeAvailabilityZonesRequest DescribeAvailabilityZonesRequest

List of usage examples for com.amazonaws.services.ec2.model DescribeAvailabilityZonesRequest DescribeAvailabilityZonesRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model DescribeAvailabilityZonesRequest DescribeAvailabilityZonesRequest.

Prototype

DescribeAvailabilityZonesRequest

Source Link

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 w w  .j  av  a2 s.  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:com.vmware.photon.controller.model.adapters.awsadapter.AWSEndpointAdapterService.java

License:Open Source License

private BiConsumer<AuthCredentialsServiceState, BiConsumer<ServiceErrorResponse, Throwable>> validate(
        EndpointConfigRequest body) {//from   ww w . j ava2 s.  c om

    return (credentials, callback) -> {
        String regionId = body.endpointProperties.get(REGION_KEY);
        AmazonEC2AsyncClient client = AWSUtils.getAsyncClient(credentials, regionId,
                this.clientManager.getExecutor(getHost()));

        // make a call to validate credentials
        client.describeAvailabilityZonesAsync(new DescribeAvailabilityZonesRequest(),
                new AsyncHandler<DescribeAvailabilityZonesRequest, DescribeAvailabilityZonesResult>() {
                    @Override
                    public void onError(Exception e) {
                        if (e instanceof AmazonServiceException) {
                            AmazonServiceException ase = (AmazonServiceException) e;
                            if (ase.getStatusCode() == STATUS_CODE_UNAUTHORIZED) {
                                ServiceErrorResponse r = Utils.toServiceErrorResponse(e);
                                r.statusCode = STATUS_CODE_UNAUTHORIZED;
                                callback.accept(r, e);
                            }
                            return;
                        }

                        callback.accept(null, e);
                    }

                    @Override
                    public void onSuccess(DescribeAvailabilityZonesRequest request,
                            DescribeAvailabilityZonesResult describeAvailabilityZonesResult) {
                        callback.accept(null, null);
                    }
                });
    };
}

From source file:com.vmware.photon.controller.model.adapters.awsadapter.AWSInstanceService.java

License:Open Source License

private void validateAWSCredentials(final AWSAllocation aws) {
    if (aws.computeRequest.isMockRequest) {
        aws.awsOperation.complete();/*  w ww. j  a  va2s .c  o m*/
        return;
    }

    aws.amazonEC2Client = this.clientManager.getOrCreateEC2Client(aws.parentAuth, getRequestRegionId(aws), this,
            aws.computeRequest.taskReference, false);

    // make a call to validate credentials
    aws.amazonEC2Client.describeAvailabilityZonesAsync(new DescribeAvailabilityZonesRequest(),
            new AsyncHandler<DescribeAvailabilityZonesRequest, DescribeAvailabilityZonesResult>() {
                @Override
                public void onError(Exception e) {
                    if (e instanceof AmazonServiceException) {
                        AmazonServiceException ase = (AmazonServiceException) e;
                        if (ase.getStatusCode() == STATUS_CODE_UNAUTHORIZED) {
                            ServiceErrorResponse r = Utils.toServiceErrorResponse(e);
                            r.statusCode = STATUS_CODE_UNAUTHORIZED;
                            aws.awsOperation.fail(e, r);
                        }
                        return;
                    }

                    aws.awsOperation.fail(e);
                }

                @Override
                public void onSuccess(DescribeAvailabilityZonesRequest request,
                        DescribeAvailabilityZonesResult describeAvailabilityZonesResult) {
                    aws.awsOperation.complete();
                }
            });
}

From source file:eu.optimis.interopt.provider.aws.AmazonClient.java

License:Apache License

private List<AvailabilityZone> describeAZs(String endpoint, AmazonEC2 ec2) {

    ec2.setEndpoint(endpoint);//from   w ww.  ja  va  2 s  . c  o  m

    List<Filter> filters = new LinkedList<Filter>();
    List<String> states = new LinkedList<String>();
    states.add("available");
    filters.add(new Filter("state", states));

    DescribeAvailabilityZonesRequest req = new DescribeAvailabilityZonesRequest();
    req.setFilters(filters);

    return (ArrayList<AvailabilityZone>) ec2.describeAvailabilityZones(req).getAvailabilityZones();
}

From source file:jp.aws.test.ec2.EC2Instance.java

License:Apache License

/**
 * ?/*  www  . j av  a 2  s . com*/
 *
 * @return
 * @note - "any"=????????????
 */
public List<String> getAvailabilityZones() {
    List<String> itemList = new ArrayList<String>();

    DescribeAvailabilityZonesRequest request = new DescribeAvailabilityZonesRequest();
    DescribeAvailabilityZonesResult describeAvailabilityZonesResult = this.clientManager.ec2()
            .describeAvailabilityZones(request);
    List<AvailabilityZone> availabilityZones = describeAvailabilityZonesResult.getAvailabilityZones();

    itemList.add("any");
    for (AvailabilityZone az : availabilityZones) {
        itemList.add(az.getZoneName());
    }

    return itemList;
}

From source file:jp.primecloud.auto.aws.typica.EucaEc2Client.java

License:Open Source License

@Override
public DescribeAvailabilityZonesResult describeAvailabilityZones() {
    return describeAvailabilityZones(new DescribeAvailabilityZonesRequest());
}

From source file:jp.primecloud.auto.process.aws.AwsCommonProcess.java

License:Open Source License

public List<AvailabilityZone> describeAvailabilityZones(AwsProcessClient awsProcessClient) {
    DescribeAvailabilityZonesRequest request = new DescribeAvailabilityZonesRequest();
    DescribeAvailabilityZonesResult result = awsProcessClient.getEc2Client().describeAvailabilityZones(request);
    List<AvailabilityZone> availabilityZones = result.getAvailabilityZones();

    return availabilityZones;
}

From source file:jp.primecloud.auto.service.impl.AwsDescribeServiceImpl.java

License:Open Source License

/**
 * {@inheritDoc}//from   w  w  w  .  j  a  va 2s  . co m
 */
@Override
public List<AvailabilityZone> getAvailabilityZones(Long userNo, Long platformNo) {
    // ?
    AwsProcessClient awsProcessClient = awsProcessClientFactory.createAwsProcessClient(userNo, platformNo);
    DescribeAvailabilityZonesRequest request = new DescribeAvailabilityZonesRequest();
    DescribeAvailabilityZonesResult result = awsProcessClient.getEc2Client().describeAvailabilityZones(request);
    List<AvailabilityZone> availabilityZones = result.getAvailabilityZones();

    // 
    Collections.sort(availabilityZones, Comparators.COMPARATOR_AVAILABILITY_ZONE);

    return availabilityZones;
}

From source file:org.apache.stratos.aws.extension.AWSHelper.java

License:Apache License

public List<String> getAvailabilityZonesFromRegion(final String region) {

    DescribeAvailabilityZonesRequest availabilityZonesReq = new DescribeAvailabilityZonesRequest();
    List<Filter> availabilityZoneFilters = new ArrayList<Filter>();
    availabilityZoneFilters.add(new Filter("region-name", new ArrayList<String>() {
        {//ww w.  jav a2 s. c  o  m
            add(region);
        }
    }));
    availabilityZoneFilters.add(new Filter("state", new ArrayList<String>() {
        {
            add("available");
        }
    }));

    ec2Client.setEndpoint(String.format(Constants.EC2_ENDPOINT_URL_FORMAT, region));
    DescribeAvailabilityZonesResult availabilityZonesRes = null;

    try {
        availabilityZonesRes = ec2Client.describeAvailabilityZones(availabilityZonesReq);

    } catch (AmazonServiceException e) {
        log.error(e.getMessage(), e);

    } catch (AmazonClientException e) {
        log.error(e.getMessage(), e);
    }

    List<String> availabilityZones = null;

    if (availabilityZonesRes != null) {
        availabilityZones = new ArrayList<>();
        for (AvailabilityZone zone : availabilityZonesRes.getAvailabilityZones()) {
            availabilityZones.add(zone.getZoneName());
        }
    } else {
        log.error("Unable to retrieve the active availability zones for region " + region);
    }

    return availabilityZones;
}

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

License:Open Source License

private Zone getZoneByName(String zoneName) {
    checkState(!isNullOrEmpty(zoneName));

    try {//w w w . ja v a2 s. c om
        DescribeAvailabilityZonesResult zones = ec2_.describeAvailabilityZones(
                new DescribeAvailabilityZonesRequest().withZoneNames(zoneName).withFilters(
                        new Filter().withName("region-name").withValues(credentials_.getRegion().getName())));

        if (zones != null && zones.getAvailabilityZones().size() == 1) {
            //available | impaired | unavailable
            AvailabilityZone availabilityZone = zones.getAvailabilityZones().get(0);
            return new Zone().setName(availabilityZone.getZoneName()).setRegion(credentials_.getRegion())
                    .setStatus(availabilityZone.getState());
        }

    } catch (AmazonClientException exception) {
        LOG.debug("Invalid zone [{}]! Error message: [{}]", zoneName, exception.getMessage(), exception);
    }

    return null;
}