Example usage for com.amazonaws.services.autoscaling.model AutoScalingGroup getStatus

List of usage examples for com.amazonaws.services.autoscaling.model AutoScalingGroup getStatus

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling.model AutoScalingGroup getStatus.

Prototype


public String getStatus() 

Source Link

Document

The current state of the group when DeleteAutoScalingGroup is in progress.

Usage

From source file:com.netflix.simianarmy.aws.janitor.crawler.ASGJanitorCrawler.java

License:Apache License

private List<Resource> getASGResources(String... asgNames) {
    AWSClient awsClient = getAWSClient();

    List<LaunchConfiguration> launchConfigurations = awsClient.describeLaunchConfigurations();
    for (LaunchConfiguration lc : launchConfigurations) {
        nameToLaunchConfig.put(lc.getLaunchConfigurationName(), lc);
    }/*from  w  w  w  . j a va  2s .  c o  m*/

    List<Resource> resources = new LinkedList<Resource>();
    for (AutoScalingGroup asg : awsClient.describeAutoScalingGroups(asgNames)) {
        Resource asgResource = new AWSResource().withId(asg.getAutoScalingGroupName())
                .withResourceType(AWSResourceType.ASG).withRegion(awsClient.region())
                .withLaunchTime(asg.getCreatedTime());
        for (TagDescription tag : asg.getTags()) {
            asgResource.setTag(tag.getKey(), tag.getValue());
        }
        asgResource.setDescription(String.format("%d instances", asg.getInstances().size()));
        asgResource.setOwnerEmail(getOwnerEmailForResource(asgResource));
        if (asg.getStatus() != null) {
            ((AWSResource) asgResource).setAWSResourceState(asg.getStatus());
        }
        Integer maxSize = asg.getMaxSize();
        if (maxSize != null) {
            asgResource.setAdditionalField(ASG_FIELD_MAX_SIZE, String.valueOf(maxSize));
        }
        // Adds instances and ELBs as additional fields.
        List<String> instances = new ArrayList<String>();
        for (Instance instance : asg.getInstances()) {
            instances.add(instance.getInstanceId());
        }
        asgResource.setAdditionalField(ASG_FIELD_INSTANCES, StringUtils.join(instances, ","));
        asgResource.setAdditionalField(ASG_FIELD_ELBS, StringUtils.join(asg.getLoadBalancerNames(), ","));
        String lcName = asg.getLaunchConfigurationName();
        LaunchConfiguration lc = nameToLaunchConfig.get(lcName);
        if (lc != null) {
            asgResource.setAdditionalField(ASG_FIELD_LC_NAME, lcName);
        }
        if (lc != null && lc.getCreatedTime() != null) {
            asgResource.setAdditionalField(ASG_FIELD_LC_CREATION_TIME,
                    String.valueOf(lc.getCreatedTime().getTime()));
        }
        // sets the field for the time when the ASG's traffic is suspended from ELB
        for (SuspendedProcess sp : asg.getSuspendedProcesses()) {
            if ("AddToLoadBalancer".equals(sp.getProcessName())) {
                String suspensionTime = getSuspensionTimeString(sp.getSuspensionReason());
                if (suspensionTime != null) {
                    LOGGER.info(String.format("Suspension time of ASG %s is %s", asg.getAutoScalingGroupName(),
                            suspensionTime));
                    asgResource.setAdditionalField(ASG_FIELD_SUSPENSION_TIME, suspensionTime);
                    break;
                }
            }
        }
        resources.add(asgResource);
    }
    return resources;
}

From source file:org.xmlsh.aws.asDescribeGroups.java

License:BSD License

private void write(AutoScalingGroup group) throws XMLStreamException {
    startElement("group");
    attribute("group-arn", group.getAutoScalingGroupARN());
    attribute("name", group.getAutoScalingGroupName());

    attribute("create-time", group.getCreatedTime());
    attribute("default-cooldown", group.getDefaultCooldown());
    attribute("desired-capacity", group.getDesiredCapacity());

    attribute("health-check-grace-period", group.getHealthCheckGracePeriod());
    attribute("health-check-type", group.getHealthCheckType());

    attribute("launch-configuration-name", group.getLaunchConfigurationName());

    attribute("max-size", group.getMaxSize());
    attribute("min-size", group.getMinSize());
    attribute("placement-group", group.getPlacementGroup());

    attribute("status", group.getStatus());

    attribute("vpc-zone-id", group.getVPCZoneIdentifier());
    writeStringList("termination-policies", "termination-policy", "name", group.getTerminationPolicies());

    writeZones(group.getAvailabilityZones());
    writeMetrics(group.getEnabledMetrics());
    writeInstances(group.getInstances());
    writeELBNames(group.getLoadBalancerNames());
    writeSuspendedProcesses(group.getSuspendedProcesses());
    writeTagDescriptions(group.getTags());
    endElement();/* w  w  w  .j av  a  2s .  c om*/

}