Beispiel #1
0
  /**
   * Describe a set of specific instances.
   *
   * @param instanceIds the instance ids
   * @return the instances
   */
  public List<Instance> describeInstances(String... instanceIds) {
    if (instanceIds == null || instanceIds.length == 0) {
      LOGGER.info("Getting all EC2 instances.");
    } else {
      LOGGER.info(String.format("Getting EC2 instances for %d ids.", instanceIds.length));
    }

    List<Instance> instances = new LinkedList<Instance>();

    AmazonEC2 ec2Client = ec2Client();
    DescribeInstancesRequest request = new DescribeInstancesRequest();
    if (instanceIds != null) {
      request.withInstanceIds(Arrays.asList(instanceIds));
    }
    DescribeInstancesResult result = ec2Client.describeInstances(request);
    for (Reservation reservation : result.getReservations()) {
      instances.addAll(reservation.getInstances());
    }

    LOGGER.info(String.format("Got %d EC2 instances.", instances.size()));
    return instances;
  }