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() 

Source Link

Usage

From source file:com.chimpler.example.hazelcast.AccountClient.java

License:Apache License

public static HazelcastInstance initHazelcastClient() throws Exception {
    ClientConfig hazelCastClientConfig = new ClientConfig();
    hazelCastClientConfig.getGroupConfig().setName("dev").setPassword("dev-pass");

    AWSCredentialsProvider awsCredentialProvider = new ClasspathPropertiesFileCredentialsProvider(
            "aws.properties");
    AmazonEC2Client ec2 = new AmazonEC2Client(awsCredentialProvider);
    DescribeAvailabilityZonesResult availabilityZonesResult = ec2.describeAvailabilityZones();
    System.out.println("You have access to " + availabilityZonesResult.getAvailabilityZones().size()
            + " Availability Zones.");

    DescribeInstancesResult describeInstancesRequest = ec2.describeInstances();

    for (Reservation reservation : describeInstancesRequest.getReservations()) {
        for (Instance instance : reservation.getInstances()) {
            for (GroupIdentifier group : instance.getSecurityGroups()) {
                if (group.getGroupName().equals("jclouds#hazelcast")) {
                    System.out.println("EC2 instance " + instance.getPublicIpAddress());
                    hazelCastClientConfig.addAddress(instance.getPublicIpAddress(),
                            instance.getPublicIpAddress() + ":5701");
                }/* ww  w .  ja v a 2  s.  c o  m*/
            }
        }
    }
    HazelcastInstance hazelCastClient = HazelcastClient.newHazelcastClient(hazelCastClientConfig);

    return hazelCastClient;
}

From source file:com.norbl.cbp.ppe.AmiDescription.java

License:Open Source License

/** Get the availability zones that the specific ami can
 *  run in.  Note that each ami resides and can be used in one
 *  and only one region (e.g. us-east). This method first
 *  determines the region from the ami, and then identifies
 *  the availability zones available in that region to the user.
 *
 * @param ec2Client/*from w  ww  . j a v  a 2  s.co  m*/
 * @param amiID
 * @return
 */
public static List<AvailabilityZone> getAvailabilityZones(AmazonEC2Client ec2Client, Region region) {

    ec2Client.setEndpoint(region.getEndpoint());
    return (ec2Client.describeAvailabilityZones().getAvailabilityZones());
}

From source file:com.norbl.cbp.ppe.AmiDescription.java

License:Open Source License

/**
 *
 * @param ec2Client/*ww  w. j a  v a 2 s  .com*/
 * @param zoneName
 * @return the zone that matches zoneName or <tt>null</tt>, which
 *  indicates that the zone is unspecified and any zone may be used.
 */
public static AvailabilityZone getAvailabilityZone(AmazonEC2Client ec2Client, String zoneName) {
    DescribeAvailabilityZonesResult r = ec2Client.describeAvailabilityZones();
    for (AvailabilityZone z : r.getAvailabilityZones()) {
        if (z.getZoneName().equals(zoneName))
            return (z);
    }
    return (null);
}

From source file:io.macgyver.plugin.cloud.aws.scanner.AvailabilityZoneScanner.java

License:Apache License

@Override
public void scan(Region region) {
    AmazonEC2Client c = getAWSServiceClient().createEC2Client(region);

    GraphNodeGarbageCollector gc = newGarbageCollector().region(region).label("AwsAvailabilityZone");
    DescribeAvailabilityZonesResult result = c.describeAvailabilityZones();
    result.getAvailabilityZones().forEach(it -> {

        try {/*from w w w.j  ava2 s . c o  m*/
            ObjectNode n = convertAwsObject(it, region);

            String cypher = "merge (y:AwsAvailabilityZone {aws_zoneName:{aws_zoneName}, aws_region:{aws_region}, aws_account:{aws_account}}) set y+={props} set y.updateTs=timestamp() return y";
            String mapToSubnetCypher = "match (x:AwsSubnet {aws_availabilityZone:{aws_zoneName}, aws_region:{aws_region}, aws_account:{aws_account}}), "
                    + "(y:AwsAvailabilityZone {aws_zoneName:{aws_zoneName}, aws_region:{aws_region}, aws_account:{aws_account}}) "
                    + "merge (x)-[r:RESIDES_IN]->(y) set r.updateTs=timestamp()";
            String mapToRegionCypher = "match (x:AwsRegion {aws_regionName:{aws_region}, aws_account:{aws_account}}), "
                    + "(y:AwsAvailabilityZone {aws_zoneName:{aws_zoneName}, aws_regionName:{aws_region}, aws_account:{aws_account}}) "
                    + "merge (x)-[r:CONTAINS]->(y) set r.updateTs=timestamp()";

            NeoRxClient neoRx = getNeoRxClient();
            Preconditions.checkNotNull(neoRx);

            neoRx.execCypher(cypher, "aws_zoneName", n.path("aws_zoneName").asText(), "aws_region",
                    n.path("aws_region").asText(), "aws_account", getAccountId(), "props", n)
                    .forEach(gc.MERGE_ACTION);
            neoRx.execCypher(mapToSubnetCypher, "aws_zoneName", n.path("aws_zoneName").asText(), "aws_region",
                    n.path("aws_region").asText(), "aws_account", getAccountId());
            neoRx.execCypher(mapToRegionCypher, "aws_zoneName", n.path("aws_zoneName").asText(), "aws_region",
                    n.path("aws_region").asText(), "aws_account", getAccountId());

        } catch (RuntimeException e) {
            logger.warn("problem scanning availability zones", e);
        }
    });
    gc.invoke();
}