Example usage for com.amazonaws.services.ec2.model Reservation getGroupNames

List of usage examples for com.amazonaws.services.ec2.model Reservation getGroupNames

Introduction

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

Prototype


public java.util.List<String> getGroupNames() 

Source Link

Document

One or more security group names.

Usage

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);
}