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

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

Introduction

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

Prototype


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

Source Link

Document

One or more load balancers associated with the group.

Usage

From source file:com.haskins.cloudtrailviewer.dialog.resourcedetail.detailpanels.AsGroupDetail.java

License:Open Source License

private void buildUI(DescribeAutoScalingGroupsResult detail) {

    JTabbedPane tabs = new JTabbedPane();
    tabs.add("AS Group", primaryScrollPane);
    tabs.add("Tags", tagsScrollPane);

    this.add(tabs, BorderLayout.CENTER);

    List<AutoScalingGroup> groups = detail.getAutoScalingGroups();
    if (!groups.isEmpty()) {
        AutoScalingGroup group = groups.get(0);

        if (group.getAutoScalingGroupARN() != null) {
            primaryTableModel.addRow(new Object[] { "AutoScaling Group Arn", group.getAutoScalingGroupARN() });
        }/*ww w  .  j av  a 2 s.  c  om*/
        if (group.getAutoScalingGroupName() != null) {
            primaryTableModel
                    .addRow(new Object[] { "AutoScaling Group Name", group.getAutoScalingGroupName() });
        }

        if (!group.getAvailabilityZones().isEmpty()) {

            StringBuilder azs = new StringBuilder();
            for (String az : group.getAvailabilityZones()) {
                azs.append(az).append(", ");
            }

            primaryTableModel.addRow(new Object[] { "Availability Zones", azs.toString() });
        }

        if (group.getCreatedTime() != null) {
            primaryTableModel.addRow(new Object[] { "Created", getDateString(group.getCreatedTime()) });
        }
        if (group.getDefaultCooldown() != null) {
            primaryTableModel.addRow(new Object[] { "Default Cooldown", group.getDefaultCooldown() });
        }
        if (group.getDesiredCapacity() != null) {
            primaryTableModel.addRow(new Object[] { "Desired Capacity", group.getDesiredCapacity() });
        }
        if (group.getHealthCheckGracePeriod() != null) {
            primaryTableModel
                    .addRow(new Object[] { "HealthCheck Grace Period", group.getHealthCheckGracePeriod() });
        }
        if (group.getHealthCheckType() != null) {
            primaryTableModel.addRow(new Object[] { "HealthCheck Type", group.getHealthCheckType() });
        }

        if (!group.getInstances().isEmpty()) {

            StringBuilder instances = new StringBuilder();
            for (Instance instance : group.getInstances()) {
                instances.append(instance.getInstanceId()).append(", ");
            }

            primaryTableModel.addRow(new Object[] { "Instances", instances.toString() });
        }

        if (group.getLaunchConfigurationName() != null) {
            primaryTableModel
                    .addRow(new Object[] { "Launch Configuration Name", group.getLaunchConfigurationName() });
        }

        if (!group.getLoadBalancerNames().isEmpty()) {

            StringBuilder instances = new StringBuilder();
            for (String instance : group.getLoadBalancerNames()) {
                instances.append(instance).append(", ");
            }

            primaryTableModel.addRow(new Object[] { "LoadBalancer names", instances.toString() });
        }

        if (group.getMaxSize() != null) {
            primaryTableModel.addRow(new Object[] { "Max Size", group.getMaxSize() });
        }
        if (group.getMinSize() != null) {
            primaryTableModel.addRow(new Object[] { "Min Size", group.getMinSize() });
        }
        if (group.getPlacementGroup() != null) {
            primaryTableModel.addRow(new Object[] { "Placement Group", group.getPlacementGroup() });
        }
        if (group.getVPCZoneIdentifier() != null) {
            primaryTableModel.addRow(new Object[] { "VPC Zone Identifier", group.getVPCZoneIdentifier() });
        }

        List<TagDescription> tags = group.getTags();
        for (TagDescription tag : tags) {
            tagsTableModel.addRow(new Object[] { tag.getKey(), tag.getValue() });
        }
    }
}

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  ww  w.j a va2  s . c  om

    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:com.netflix.simianarmy.aws.janitor.crawler.ELBJanitorCrawler.java

License:Apache License

private Map<String, List<String>> buildELBtoASGMap() {
    AWSClient awsClient = getAWSClient();
    LOGGER.info(String.format("Getting all ELBs associated with ASGs in region %s", awsClient.region()));

    List<AutoScalingGroup> autoScalingGroupList = awsClient.describeAutoScalingGroups();
    HashMap<String, List<String>> asgMap = new HashMap<>();
    for (AutoScalingGroup asg : autoScalingGroupList) {
        String asgName = asg.getAutoScalingGroupName();
        if (asg.getLoadBalancerNames() != null) {
            for (String elbName : asg.getLoadBalancerNames()) {
                List<String> asgList = asgMap.get(elbName);
                if (asgList == null) {
                    asgList = new ArrayList<>();
                    asgMap.put(elbName, asgList);
                }/*from w  w  w  .j a  va2  s.c  om*/
                asgList.add(asgName);
                LOGGER.debug(String.format("Found ASG %s associated with ELB %s", asgName, elbName));
            }
        }
    }
    return asgMap;
}

From source file:com.netflix.spinnaker.clouddriver.aws.deploy.handlers.MigrateServerGroupStrategy.java

License:Apache License

protected List<MigrateLoadBalancerResult> generateTargetLoadBalancers(AutoScalingGroup sourceGroup) {
    return sourceGroup.getLoadBalancerNames().stream().map(this::getMigrateLoadBalancerResult)
            .collect(Collectors.toList());
}

From source file:com.netflix.spinnaker.clouddriver.aws.event.DefaultAfterResizeEventHandler.java

License:Apache License

/**
 * There is an opportunity to expedite a resize to zero by explicitly terminating instances
 * (server group _must not_ be attached to a load balancer nor have any life cycle hooks)
 *///from   w ww.  j  a  v a  2s.c o  m
@Override
public void handle(AfterResizeEvent event) {
    AutoScalingGroup autoScalingGroup = event.getAutoScalingGroup();

    if (event.getCapacity() == null || event.getCapacity().getDesired() == null) {
        return;
    }

    if (event.getCapacity().getDesired() > 0) {
        return;
    }

    if (!autoScalingGroup.getLoadBalancerNames().isEmpty()
            || !autoScalingGroup.getTargetGroupARNs().isEmpty()) {
        event.getTask().updateStatus(PHASE,
                "Skipping explicit instance termination, server group is attached to one or more load balancers");
        return;
    }

    try {
        List<LifecycleHook> existingLifecycleHooks = fetchTerminatingLifecycleHooks(
                event.getAmazonAutoScaling(), autoScalingGroup.getAutoScalingGroupName());
        if (!existingLifecycleHooks.isEmpty()) {
            event.getTask().updateStatus(PHASE,
                    "Skipping explicit instance termination, server group has one or more lifecycle hooks");
            return;
        }
    } catch (Exception e) {
        log.error("Unable to fetch lifecycle hooks (serverGroupName: {}, arn: {})",
                autoScalingGroup.getAutoScalingGroupName(), autoScalingGroup.getAutoScalingGroupARN(), e);

        event.getTask().updateStatus(PHASE, String.format(
                "Skipping explicit instance termination, unable to fetch lifecycle hooks (reason: '%s')",
                e.getMessage()));
        return;
    }

    terminateInstancesInAutoScalingGroup(event.getTask(), event.getAmazonEC2(), event.getAutoScalingGroup());
}

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();/*ww w . j a  va2s  .c  om*/

}

From source file:tools.descartes.bungee.cloud.aws.AWSImpl.java

License:Apache License

AutoScalingGroup getAutoScaleGroupForHostName(String hostName) {
    AutoScalingGroup autoScaleGroup = null;
    LoadBalancerDescription lb = getLoadBalancerForHostName(hostName);
    if (lb != null) {
        DescribeAutoScalingGroupsResult describeAutoScalingGroups = autoScale.describeAutoScalingGroups();
        for (AutoScalingGroup group : describeAutoScalingGroups.getAutoScalingGroups()) {
            if (group.getLoadBalancerNames().contains(lb.getLoadBalancerName())) {
                autoScaleGroup = group;//from w  w w.  j a va 2  s .co m
            }
        }
    }
    return autoScaleGroup;
}