List of usage examples for com.amazonaws.services.autoscaling.model DescribeAutoScalingGroupsResult getAutoScalingGroups
public java.util.List<AutoScalingGroup> getAutoScalingGroups()
The groups.
From source file:virtualIT.java
License:Open Source License
private void deleteAutoScalingGroup(int userId) throws InterruptedException { System.out.println("delete auto scaling group for" + userId); DescribeAutoScalingGroupsRequest describeAutoScalingGroupsRequest = new DescribeAutoScalingGroupsRequest(); describeAutoScalingGroupsRequest.withAutoScalingGroupNames(virtualIT.autoScalingGroupName); DescribeAutoScalingGroupsResult describeAutoScalingGroupResult = autoScaleClient .describeAutoScalingGroups(describeAutoScalingGroupsRequest); List<AutoScalingGroup> groups = describeAutoScalingGroupResult.getAutoScalingGroups(); if (groups.size() == 0) return;// w w w. j av a2 s. c o m // waiting for auto scaling activities to complete //-- waitForAutoScalingActivities(user); // delete the pre-existed one DeleteAutoScalingGroupRequest deleteAutoScalingGroupRequest = new DeleteAutoScalingGroupRequest(); deleteAutoScalingGroupRequest.withAutoScalingGroupName(virtualIT.autoScalingGroupName); autoScaleClient.deleteAutoScalingGroup(deleteAutoScalingGroupRequest); System.out.println("deleting auto scaling group done for" + userId); }
From source file:com.bodybuilding.turbine.discovery.AsgTagInstanceDiscovery.java
License:Apache License
/** * Returns auto scaling groups that have the CLUSTER_TAG_KEY tag * @return collection of AutoScalingGroup that contain the CLUSTER_TAG_KEY *//* w w w . j a v a2 s . c o m*/ private Collection<AutoScalingGroup> findAutoscalingGroups() { String token = null; List<AutoScalingGroup> groupList = new ArrayList<>(); do { DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest(); request.setNextToken(token); DescribeAutoScalingGroupsResult result = asgClient.describeAutoScalingGroups(request); result.getAutoScalingGroups().stream().filter(a -> containsTag(a.getTags())).forEach(groupList::add); token = result.getNextToken(); } while (!Strings.isNullOrEmpty(token)); return groupList; }
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() }); }/*w w w . j a v 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.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()); }/*from w ww. j a v a 2 s . com*/ return autoScalingGroupNames; }
From source file:com.liferay.amazontools.AsgardAMIDeployer.java
License:Open Source License
protected String createAutoScalingGroup() throws Exception { DescribeAutoScalingGroupsResult describeAutoScalingGroupsResult = amazonAutoScalingClient .describeAutoScalingGroups(); List<AutoScalingGroup> autoScalingGroups = describeAutoScalingGroupsResult.getAutoScalingGroups(); int oldAutoScalingGroupsSize = autoScalingGroups.size(); String availabilityZone = properties.getProperty("availability.zone"); Map<String, String> parameters = new HashMap<String, String>(); parameters.put("checkHealth", "true"); parameters.put("imageId", getImageId(_imageName)); String asgardClusterName = properties.getProperty("asgard.cluster.name"); parameters.put("name", asgardClusterName); parameters.put("trafficAllowed", "true"); if (!_parallelDeployment) { parameters.put("desiredCapacity", "1"); parameters.put("min", "1"); }//from w ww . jav a2s .c o m _jsonWebServiceClient.doPost("/" + availabilityZone + "/cluster/createNextGroup", parameters); for (int i = 0; i < 30; i++) { describeAutoScalingGroupsResult = amazonAutoScalingClient.describeAutoScalingGroups(); autoScalingGroups = describeAutoScalingGroupsResult.getAutoScalingGroups(); int newAutoScalingGroupsSize = autoScalingGroups.size(); if (oldAutoScalingGroupsSize == newAutoScalingGroupsSize) { sleep(15); } else { break; } } String autoScalingGroupName = null; boolean created = false; int maxSize = 0; for (int i = 0; i < 30; i++) { String json = _jsonWebServiceClient.doGet( "/" + availabilityZone + "/cluster/show/" + asgardClusterName + ".json", Collections.<String, String>emptyMap()); JSONArray autoScalingGroupsJSONArray = new JSONArray(json); JSONObject autoScalingGroupJSONObject = autoScalingGroupsJSONArray .getJSONObject(autoScalingGroupsJSONArray.length() - 1); autoScalingGroupName = autoScalingGroupJSONObject.getString("autoScalingGroupName"); maxSize = autoScalingGroupJSONObject.getInt("maxSize"); List<String> instanceIds = new ArrayList<String>(); JSONArray instancesJSONArray = autoScalingGroupJSONObject.getJSONArray("instances"); for (int j = 0; j < instancesJSONArray.length(); j++) { JSONObject instanceJSONObject = instancesJSONArray.getJSONObject(j); instanceIds.add(instanceJSONObject.getString("instanceId")); } if (instanceIds.isEmpty() || !isInService(autoScalingGroupJSONObject)) { sleep(15); } else { CreateTagsRequest createTagsRequest = new CreateTagsRequest(); createTagsRequest.setResources(instanceIds); List<Tag> tags = new ArrayList<Tag>(); Tag tag = new Tag(); tag.withKey("Name"); tag.withValue(properties.getProperty("instance.name")); tags.add(tag); createTagsRequest.setTags(tags); amazonEC2Client.createTags(createTagsRequest); CreateOrUpdateTagsRequest createOrUpdateTagsRequest = new CreateOrUpdateTagsRequest(); com.amazonaws.services.autoscaling.model.Tag autoScalingTag = new com.amazonaws.services.autoscaling.model.Tag(); autoScalingTag.setKey("Name"); autoScalingTag.setPropagateAtLaunch(true); autoScalingTag.setResourceId(autoScalingGroupName); autoScalingTag.setResourceType("auto-scaling-group"); autoScalingTag.setValue(properties.getProperty("instance.name")); createOrUpdateTagsRequest.withTags(autoScalingTag); amazonAutoScalingClient.createOrUpdateTags(createOrUpdateTagsRequest); created = true; break; } } if (!created) { throw new RuntimeException("Unable to create Auto Scaling Group " + autoScalingGroupName); } if (!_parallelDeployment) { int minSize = Integer.parseInt(properties.getProperty("instance.min.size")); if (minSize > 1) { checkAutoScalingGroup(autoScalingGroupName, 1); parameters.clear(); parameters.put("maxSize", String.valueOf(maxSize)); parameters.put("minSize", String.valueOf(minSize)); parameters.put("name", autoScalingGroupName); _jsonWebServiceClient.doPost("/" + availabilityZone + "/cluster/resize", parameters); for (int i = 0; i < 30; i++) { String json = _jsonWebServiceClient.doGet( "/" + availabilityZone + "/cluster/show/" + asgardClusterName + ".json", Collections.<String, String>emptyMap()); JSONArray autoScalingGroupsJSONArray = new JSONArray(json); JSONObject autoScalingGroupJSONObject = autoScalingGroupsJSONArray .getJSONObject(autoScalingGroupsJSONArray.length() - 1); JSONArray instancesJSONArray = autoScalingGroupJSONObject.getJSONArray("instances"); if (instancesJSONArray.length() == 1) { sleep(15); } else { break; } } } } return autoScalingGroupName; }
From source file:com.liferay.amazontools.S3Cleaner.java
License:Open Source License
protected List<String> getLaunchConfigurationNames() { List<String> launchConfigurationNames = new ArrayList<>(); DescribeAutoScalingGroupsResult describeAutoScalingGroupsResult = amazonAutoScalingClient .describeAutoScalingGroups(); List<AutoScalingGroup> autoScalingGroups = describeAutoScalingGroupsResult.getAutoScalingGroups(); for (AutoScalingGroup autoScalingGroup : autoScalingGroups) { launchConfigurationNames.add(autoScalingGroup.getLaunchConfigurationName()); }/* w w w. j a v a 2s . c om*/ return launchConfigurationNames; }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
@Override public List<String> getRacMembership() { AmazonAutoScaling client = null;//from ww w . j av a 2 s . c om try { client = getAutoScalingClient(); DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(config.getASGName()); DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq); List<String> instanceIds = Lists.newArrayList(); for (AutoScalingGroup asg : res.getAutoScalingGroups()) { for (Instance ins : asg.getInstances()) if (!(ins.getLifecycleState().equalsIgnoreCase("Terminating") || ins.getLifecycleState().equalsIgnoreCase("shutting-down") || ins.getLifecycleState().equalsIgnoreCase("Terminated"))) instanceIds.add(ins.getInstanceId()); } logger.info(String.format("Querying Amazon returned following instance in the ASG: %s --> %s", config.getRack(), StringUtils.join(instanceIds, ","))); return instanceIds; } finally { if (client != null) client.shutdown(); } }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
@Override public List<String> getCrossAccountRacMembership() { AmazonAutoScaling client = null;/* ww w .ja v a 2 s .c o m*/ try { client = getCrossAccountAutoScalingClient(); DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(config.getASGName()); DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq); List<String> instanceIds = Lists.newArrayList(); for (AutoScalingGroup asg : res.getAutoScalingGroups()) { for (Instance ins : asg.getInstances()) if (!(ins.getLifecycleState().equalsIgnoreCase("Terminating") || ins.getLifecycleState().equalsIgnoreCase("shutting-down") || ins.getLifecycleState().equalsIgnoreCase("Terminated"))) instanceIds.add(ins.getInstanceId()); } logger.info( String.format("Querying Amazon returned following instance in the cross-account ASG: %s --> %s", config.getRack(), StringUtils.join(instanceIds, ","))); return instanceIds; } finally { if (client != null) client.shutdown(); } }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
/** * Actual membership AWS source of truth... *//*from www .j a v a 2 s. c om*/ @Override public int getRacMembershipSize() { AmazonAutoScaling client = null; try { client = getAutoScalingClient(); DescribeAutoScalingGroupsRequest asgReq = new DescribeAutoScalingGroupsRequest() .withAutoScalingGroupNames(config.getASGName()); DescribeAutoScalingGroupsResult res = client.describeAutoScalingGroups(asgReq); int size = 0; for (AutoScalingGroup asg : res.getAutoScalingGroups()) { size += asg.getMaxSize(); } logger.info(String.format("Query on ASG returning %d instances", size)); return size; } finally { if (client != null) client.shutdown(); } }
From source file:com.netflix.dynomitemanager.sidecore.aws.AWSMembership.java
License:Apache License
@Override public void expandRacMembership(int count) { AmazonAutoScaling client = null;/* ww w .j av a 2 s. c o m*/ 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(); } }