List of usage examples for com.amazonaws.services.ec2 AmazonEC2Client describeAvailabilityZones
@Override
public DescribeAvailabilityZonesResult describeAvailabilityZones()
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(); }