List of usage examples for com.amazonaws.services.ec2.model Reservation getGroupNames
public java.util.List<String> getGroupNames()
One or more security group names.
From source file:com.lunabeat.dooper.ClusterList.java
License:Apache License
public static Map<String, Map<String, List<Instance>>> getClusterMap(ClusterConfig config) { HashMap<String, Map<String, List<Instance>>> clusterMap = new HashMap<String, Map<String, List<Instance>>>(); AmazonEC2Client ec2 = new AmazonEC2Client(config); DescribeSecurityGroupsRequest dsr = new DescribeSecurityGroupsRequest().withFilters( new Filter().withName(HadoopCluster.GROUP_NAME_KEY).withValues("*" + HadoopCluster.MASTER_SUFFIX)); DescribeSecurityGroupsResult groupsResult = ec2.describeSecurityGroups(dsr); if (groupsResult == null) return null; List<SecurityGroup> groups = groupsResult.getSecurityGroups(); ArrayList<String> groupNames = new ArrayList<String>(); for (SecurityGroup sg : groups) { groupNames.add(sg.getGroupName()); groupNames.add(sg.getGroupName().replace(HadoopCluster.MASTER_SUFFIX, "")); }/* w ww .j a v a 2s . co m*/ for (String group : groupNames) { String clusterName = group.replace(HadoopCluster.MASTER_SUFFIX, ""); if (clusterMap.get(clusterName) == null) clusterMap.put(clusterName, new HashMap<String, List<Instance>>()); if (clusterMap.get(clusterName).get(group) == null) clusterMap.get(clusterName).put(group, new ArrayList<Instance>()); } DescribeInstancesRequest dir = new DescribeInstancesRequest() .withFilters(new Filter().withName(HadoopCluster.GROUP_NAME_KEY).withValues(groupNames)); DescribeInstancesResult instanceResult = ec2.describeInstances(dir); if (instanceResult == null) return null; for (Reservation r : instanceResult.getReservations()) { String group = r.getGroupNames().get(0); String clusterName = group.replace(HadoopCluster.MASTER_SUFFIX, ""); if (clusterMap.get(clusterName) == null) clusterMap.put(clusterName, new HashMap<String, List<Instance>>()); if (clusterMap.get(clusterName).get(group) == null) clusterMap.get(clusterName).put(group, new ArrayList<Instance>()); for (Instance i : r.getInstances()) { clusterMap.get(clusterName).get(group).add(i); } } return clusterMap; }
From source file:com.lunabeat.dooper.HadoopCluster.java
License:Apache License
private void update() { //unless force == true check the holdtime and bail if it's too soon. Date now = new Date(); init();/* w w w. j a va 2 s . co m*/ //get master + slave info _slaves.clear(); _master = null; DescribeInstancesResult dir = _ec2.describeInstances(new DescribeInstancesRequest().withFilters( new Filter().withName(GROUP_NAME_KEY).withValues(getGroupName(), getMasterGroupName()))); for (Reservation r : dir.getReservations()) { String rid = r.getReservationId(); List<String> gnames = r.getGroupNames(); for (Instance i : r.getInstances()) { if (gnames.contains(getMasterGroupName())) { _master = new ClusterInstance(i, rid, gnames); } else { _slaves.add(new ClusterInstance(i, rid, gnames)); } } } }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
/** Gets {@link InstanceStatus}s for all instances owned by the * user. This list includes instances that are running or * pending, but not those that have been shutdown. * * @return/*from ww w.j ava 2 s .c o m*/ */ public List<InstanceStatus> getInstancesActive() { List<InstanceStatus> ins = new ArrayList<InstanceStatus>(); DescribeInstancesResult r = ec2Client.describeInstances(); for (Reservation res : r.getReservations()) { List<String> sgns = res.getGroupNames(); for (Instance in : res.getInstances()) { InstanceStatus s = new InstanceStatus(in, sgns); if (s.isActive()) ins.add(s); } } return (ins); }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
/** Gets {@link InstanceStatus}s for all instances owned by the * user, including any that are not active. * * @return//from ww w. ja va 2 s . co m */ public List<InstanceStatus> getInstancesAllListed() { List<InstanceStatus> ins = new ArrayList<InstanceStatus>(); DescribeInstancesResult r = ec2Client.describeInstances(); for (Reservation res : r.getReservations()) { List<String> sgns = res.getGroupNames(); for (Instance in : res.getInstances()) { InstanceStatus s = new InstanceStatus(in, sgns); ins.add(s); } } return (ins); }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
/** Returns status objects for instances listed in <tt>rir</tt> * that are 'active', i.e. have ec2 status 'running' pr * 'pending'./*from w w w .j a va 2s . co m*/ * * @param rir * @return */ public static List<InstanceStatus> getInstances(RunInstancesResult rir) { List<InstanceStatus> ins = new ArrayList<InstanceStatus>(); Reservation r = rir.getReservation(); for (Instance in : r.getInstances()) { InstanceStatus s = new InstanceStatus(in, r.getGroupNames()); if (s.isActive()) ins.add(s); } return (ins); }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
/** Returns status objects for instances listed in <tt>rir</tt> * that have ec2 status 'running'.// ww w.j a v a 2s.c o m * * @param rir * @return */ public static List<InstanceStatus> getRunningInstances(RunInstancesResult rir) { List<InstanceStatus> ins = new ArrayList<InstanceStatus>(); Reservation r = rir.getReservation(); for (Instance in : r.getInstances()) { InstanceStatus s = new InstanceStatus(in, r.getGroupNames()); if (s.isActive()) ins.add(s); } return (ins); }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
public List<InstanceStatus> getInstances(NetworkInfo ni) { List<InstanceStatus> statuses = new ArrayList<InstanceStatus>(); DescribeInstancesResult ir = ec2Client.describeInstances(); for (Reservation r : ir.getReservations()) { List<String> sgns = r.getGroupNames(); List<Instance> insL = r.getInstances(); for (Instance ins : insL) { InstanceStatus x = new InstanceStatus(ins, sgns); if (x.hasNetworkID(ni.ID)) statuses.add(x);//from w w w. ja va 2 s . c o m } } return (statuses); }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
/** Gets the networkNames of all ec2-mpi networks owned * by the user that are active. A network is defined * as 'active' if it's master ec2 instance is either * "pending" or "running"./* w w w . j av a2 s . c o m*/ * * @return */ public List<String> getActiveNetworkNames() { List<String> networkNames = new ArrayList<String>(); DescribeInstancesResult ir = ec2Client.describeInstances(); for (Reservation r : ir.getReservations()) { List<String> sgns = r.getGroupNames(); List<Instance> insL = r.getInstances(); for (Instance ins : insL) { InstanceStatus x = new InstanceStatus(ins, sgns); if (x.isActive()) { if (!networkNames.contains(x.getNetworkName())) networkNames.add(x.getNetworkName()); } } } return (networkNames); }
From source file:com.norbl.cbp.ppe.Ec2Wrangler.java
License:Open Source License
/** Returns the network IDs of active instances with the * network name./* ww w.j a v a 2 s. c o m*/ * * @param networkName * @return */ private List<String> getNetworkIDsForNetworkName(String networkName) { DescribeInstancesResult ir = ec2Client.describeInstances(); List<String> IDs = new ArrayList<String>(); for (Reservation r : ir.getReservations()) { List<String> sgns = r.getGroupNames(); List<Instance> insL = r.getInstances(); for (Instance ins : insL) { InstanceStatus x = new InstanceStatus(ins, sgns); if (x.isActive()) { String nwi = x.getNetworkName(); if ((nwi != null) && nwi.equals(networkName)) IDs.add(x.getNetworkID()); } } } return (IDs); }
From source file:com.norbl.cbp.ppe.SecurityGroupFactory.java
License:Open Source License
/** Gets a unique list of all security groups to which instances with * the networkID belong.// w w w . j a v a 2 s . co m * * @param networkID * @return */ public List<String> getSecurityGroups(NetworkInfo ni) { HashMap<String, String> sgHt = new HashMap<String, String>(); DescribeInstancesResult ir = ec2Client.describeInstances(); NEXT: for (Reservation r : ir.getReservations()) { List<String> sgs = r.getGroupNames(); List<Instance> insL = r.getInstances(); for (Instance ins : insL) { InstanceStatus x = new InstanceStatus(ins, sgs); if (x.hasNetworkID(ni.ID)) { for (String sg : sgs) sgHt.put(sg, sg); continue NEXT; } } } List<String> usgs = new ArrayList<String>(); for (Iterator<String> it = sgHt.keySet().iterator(); it.hasNext();) { usgs.add(it.next()); } return (usgs); }