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

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

Introduction

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

Prototype


public String getAutoScalingGroupName() 

Source Link

Document

The name of the Auto Scaling group.

Usage

From source file:com.eucalyptus.tests.awssdk.CloudCleaner.java

License:Open Source License

@Test
public void clean() throws Exception {
    testInfo(this.getClass().getSimpleName());
    getCloudInfo();/*from ww w.  ja v  a 2  s.  c  o m*/

    //Terminate All instances
    List<String> instancesToTerminate = new ArrayList<String>();
    DescribeInstancesResult result = ec2.describeInstances();
    List<Reservation> reservations = result.getReservations();
    if (reservations.size() > 0) {
        print("Found instances to terminate");
        for (Reservation reservation : reservations) {
            List<Instance> instances = reservation.getInstances();
            for (Instance instance : instances) {
                print("Terminating: " + instance.getInstanceId());
                instancesToTerminate.add(instance.getInstanceId());
            }
        }
        TerminateInstancesRequest term = new TerminateInstancesRequest();
        term.setInstanceIds(instancesToTerminate);
        ec2.terminateInstances(term);
    } else {
        print("No instances found");
    }

    // delete all keypairs
    if (getKeyPairCount() > 0) {
        print("Found Keypairs to delete");
        DescribeKeyPairsResult describeKeyPairsResult = ec2.describeKeyPairs();
        for (KeyPairInfo keypair : describeKeyPairsResult.getKeyPairs()) {
            deleteKeyPair(keypair.getKeyName());
        }
    } else {
        print("No keypairs found");
    }

    // delete all groups except default group
    List<SecurityGroup> groups = describeSecurityGroups();
    if (groups.size() > 1) {
        print("Found security groups to delete");
        for (SecurityGroup group : groups) {
            if (!group.getGroupName().equals("default")) {
                deleteSecurityGroup(group.getGroupName());
            }
        }
    } else {
        print("No Security Groups found (other than default)");
    }

    // delete all policies
    List<ScalingPolicy> policies = describePolicies();
    if (policies.size() > 0) {
        print("Found Policies to delete");
        for (ScalingPolicy policy : policies) {
            deletePolicy(policy.getPolicyName());
        }
    } else {
        print("No auto scaling policies found");
    }

    // delete launch configs
    List<LaunchConfiguration> lcs = describeLaunchConfigs();
    if (lcs.size() > 0) {
        print("Found Launch Configs to delete");
        for (LaunchConfiguration lc : lcs) {
            deleteLaunchConfig(lc.getLaunchConfigurationName());
        }
    } else {
        print("No launch configs found");
    }

    // delete autoscaling groups
    List<AutoScalingGroup> asGroups = describeAutoScalingGroups();
    if (asGroups.size() > 0) {
        print("Found Auto Scaling Groups to delete");
        for (AutoScalingGroup asg : asGroups) {
            deleteAutoScalingGroup(asg.getAutoScalingGroupName(), true);
        }
    } else {
        print("No auto scaling groups found");
    }

    // delete volumes
    List<Volume> volumes = ec2.describeVolumes().getVolumes();
    if (volumes.size() > 0) {
        print("Found volumes to delete");
        for (Volume vol : volumes) {
            deleteVolume(vol.getVolumeId());
        }
    } else {
        print("No volumes found");
    }

    //delete snapshots
    List<Snapshot> snapshots = ec2.describeSnapshots().getSnapshots();
    if (snapshots.size() > 0) {
        print("Found snapshots to delete");
        for (Snapshot snap : snapshots) {
            deleteSnapshot(snap.getSnapshotId());
        }
    } else {
        print("No volumes found");
    }
}

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  a v  a  2s.  c  o m
        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.liferay.amazontools.AlarmCleaner.java

License:Open Source License

public List<String> getActiveAutoScalingGroupNames() {
    List<String> autoScalingGroupNames = new ArrayList<>();

    DescribeAutoScalingGroupsResult describeAutoScalingGroupsResult = amazonAutoScalingClient
            .describeAutoScalingGroups();

    List<AutoScalingGroup> autoScalingGroups = describeAutoScalingGroupsResult.getAutoScalingGroups();

    for (AutoScalingGroup autoScalingGroup : autoScalingGroups) {
        autoScalingGroupNames.add(autoScalingGroup.getAutoScalingGroupName());
    }//  w  ww .j av a  2s . c o  m

    return autoScalingGroupNames;
}

From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java

License:Apache License

@Override
public void expandRacMembership(int count) {
    AmazonAutoScaling client = null;//from www .ja v a  2s.  c  om
    try {
        client = getAutoScalingClient();
        DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest()
                .withAutoScalingGroupNames(config.getASGName());
        DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq);
        AutoScalingGroup asg = res.getAutoScalingGroups().get(0);
        UpdateAutoScalingGroupRequest ureq = new UpdateAutoScalingGroupRequest();
        ureq.setAutoScalingGroupName(asg.getAutoScalingGroupName());
        ureq.setMinSize(asg.getMinSize() + 1);
        ureq.setMaxSize(asg.getMinSize() + 1);
        ureq.setDesiredCapacity(asg.getMinSize() + 1);
        client.updateAutoScalingGroup(ureq);
    } finally {
        if (client != null)
            client.shutdown();
    }
}

From source file:com.netflix.edda.EddaAutoScalingClient.java

License:Apache License

public DescribeAutoScalingGroupsResult describeAutoScalingGroups(DescribeAutoScalingGroupsRequest request) {
    TypeReference<List<AutoScalingGroup>> ref = new TypeReference<List<AutoScalingGroup>>() {
    };//from   ww w  . j a  v a  2  s  .c o  m
    String url = config.url() + "/api/v2/aws/autoScalingGroups;_expand";
    try {
        List<AutoScalingGroup> autoScalingGroups = parse(ref, doGet(url));

        List<String> names = request.getAutoScalingGroupNames();
        if (shouldFilter(names)) {
            List<AutoScalingGroup> asgs = new ArrayList<AutoScalingGroup>();
            for (AutoScalingGroup asg : autoScalingGroups) {
                if (matches(names, asg.getAutoScalingGroupName()))
                    asgs.add(asg);
            }
            autoScalingGroups = asgs;
        }

        return new DescribeAutoScalingGroupsResult().withAutoScalingGroups(autoScalingGroups);
    } catch (IOException e) {
        throw new AmazonClientException("Faled to parse " + url, e);
    }
}

From source file:com.netflix.simianarmy.aws.chaos.ASGChaosCrawler.java

License:Apache License

@Override
public List<InstanceGroup> groups(String... names) {
    List<InstanceGroup> list = new LinkedList<InstanceGroup>();
    for (AutoScalingGroup asg : awsClient.describeAutoScalingGroups(names)) {
        InstanceGroup ig = new BasicInstanceGroup(asg.getAutoScalingGroupName(), Types.ASG, awsClient.region());
        for (Instance inst : asg.getInstances()) {
            ig.addInstance(inst.getInstanceId());
        }/*ww  w  .j a va 2  s  .c  o m*/
        list.add(ig);
    }
    return list;
}

From source file:com.netflix.simianarmy.aws.conformity.crawler.AWSClusterCrawler.java

License:Apache License

/**
 * In this implementation, every auto scaling group is considered a cluster.
 * @param clusterNames/* w w  w. j  a  va  2  s  . c  o  m*/
 *          the cluster names
 * @return the list of clusters matching the names, when names are empty, return all clusters
 */
@Override
public List<Cluster> clusters(String... clusterNames) {
    List<Cluster> list = Lists.newArrayList();
    for (Map.Entry<String, AWSClient> entry : regionToAwsClient.entrySet()) {
        String region = entry.getKey();
        AWSClient awsClient = entry.getValue();
        Set<String> asgInstances = Sets.newHashSet();
        LOGGER.info(String.format("Crawling clusters in region %s", region));
        for (AutoScalingGroup asg : awsClient.describeAutoScalingGroups(clusterNames)) {
            List<String> instances = Lists.newArrayList();
            for (Instance instance : asg.getInstances()) {
                instances.add(instance.getInstanceId());
                asgInstances.add(instance.getInstanceId());
            }
            com.netflix.simianarmy.conformity.AutoScalingGroup conformityAsg = new com.netflix.simianarmy.conformity.AutoScalingGroup(
                    asg.getAutoScalingGroupName(), instances.toArray(new String[instances.size()]));

            for (SuspendedProcess sp : asg.getSuspendedProcesses()) {
                if ("AddToLoadBalancer".equals(sp.getProcessName())) {
                    LOGGER.info(String.format("ASG %s is suspended: %s", asg.getAutoScalingGroupName(),
                            asg.getSuspendedProcesses()));
                    conformityAsg.setSuspended(true);
                }
            }
            Cluster cluster = new Cluster(asg.getAutoScalingGroupName(), region, conformityAsg);
            updateCluster(cluster);
            list.add(cluster);
        }
        //Cluster containing all solo instances
        Set<String> instances = Sets.newHashSet();
        for (com.amazonaws.services.ec2.model.Instance awsInstance : awsClient.describeInstances()) {
            if (!asgInstances.contains(awsInstance.getInstanceId())) {
                LOGGER.info(String.format("Adding instance %s to soloInstances cluster.",
                        awsInstance.getInstanceId()));
                instances.add(awsInstance.getInstanceId());
            }
        }
        //Only create cluster if we have solo instances.
        if (!instances.isEmpty()) {
            Cluster cluster = new Cluster("SoloInstances", region, instances);
            updateCluster(cluster);
            list.add(cluster);
        }
    }
    return list;
}

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 av a2  s.  co 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: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);
                }/* w  w  w  .j a  v a 2s.  co  m*/
                asgList.add(asgName);
                LOGGER.debug(String.format("Found ASG %s associated with ELB %s", asgName, elbName));
            }
        }
    }
    return asgMap;
}

From source file:com.netflix.simianarmy.client.chef.ChefGroups.java

License:Apache License

/**
 * Get all AutoScalingGroup's that have been added.
 *///from  ww w .j  av a 2 s.c  o m
public List<AutoScalingGroup> asList() {
    ArrayList<AutoScalingGroup> list = new ArrayList<AutoScalingGroup>(map.values());
    Collections.sort(list, new Comparator<AutoScalingGroup>() {
        @Override
        public int compare(AutoScalingGroup o1, AutoScalingGroup o2) {
            return o1.getAutoScalingGroupName().compareTo(o2.getAutoScalingGroupName());
        }
    });
    return list;
}