Beispiel #1
0
  /**
   * Describes one or more auto scaling groups
   *
   * @param autoScalingGroupNames a auto scaling group name
   * @return autoScaling group descriptions
   * @throws AutoScalingException wraps checked exceptions
   */
  public List<AutoScalingGroup> describeAutoScalingGroups(List<String> autoScalingGroupNames)
      throws AutoScalingException {
    Map<String, String> params = new HashMap<String, String>();
    if (autoScalingGroupNames != null && autoScalingGroupNames.size() > 0) {
      int i = 0;
      for (String name : autoScalingGroupNames) {
        params.put("AutoScalingGroupNames.member." + (i + 1), name);
        i++;
      }
    }
    HttpGet method = new HttpGet();
    DescribeAutoScalingGroupsResponse response =
        makeRequestInt(
            method, "DescribeAutoScalingGroups", params, DescribeAutoScalingGroupsResponse.class);

    List<com.xerox.amazonws.typica.autoscale.jaxb.AutoScalingGroup> result =
        response.getDescribeAutoScalingGroupsResult().getAutoScalingGroups().getMembers();
    List<AutoScalingGroup> ret = new ArrayList<AutoScalingGroup>();
    for (com.xerox.amazonws.typica.autoscale.jaxb.AutoScalingGroup group : result) {
      List<String> zones = new ArrayList<String>();
      for (String zone : group.getAvailabilityZones().getMembers()) {
        zones.add(zone);
      }
      AutoScalingGroup newGroup =
          new AutoScalingGroup(
              group.getAutoScalingGroupName(),
              group.getLaunchConfigurationName(),
              group.getMinSize().intValue(),
              group.getMaxSize().intValue(),
              group.getDesiredCapacity().intValue(),
              group.getCooldown().intValue(),
              zones,
              group.getCreatedTime().toGregorianCalendar());
      List<com.xerox.amazonws.typica.autoscale.jaxb.Instance> instList =
          group.getInstances().getMembers();
      for (com.xerox.amazonws.typica.autoscale.jaxb.Instance inst : instList) {
        newGroup.addInstance(inst.getInstanceId(), inst.getLifecycleState());
      }
      ret.add(newGroup);
    }
    return ret;
  }
 @Override
 protected AutoScalingGroup exampleWithName(
     final OwnerFullName ownerFullName, final String name) {
   return AutoScalingGroup.named(ownerFullName, name);
 }
 @Override
 protected AutoScalingGroup exampleWithUuid(final String uuid) {
   return AutoScalingGroup.withUuid(uuid);
 }
 @Override
 protected AutoScalingGroup exampleWithOwner(final OwnerFullName ownerFullName) {
   return AutoScalingGroup.withOwner(ownerFullName);
 }