List of usage examples for com.amazonaws.services.autoscaling.model AutoScalingGroup getAutoScalingGroupName
public String getAutoScalingGroupName()
The name of the Auto Scaling group.
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; }