Example usage for com.amazonaws.services.autoscaling.model DescribeAutoScalingGroupsRequest DescribeAutoScalingGroupsRequest

List of usage examples for com.amazonaws.services.autoscaling.model DescribeAutoScalingGroupsRequest DescribeAutoScalingGroupsRequest

Introduction

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

Prototype

DescribeAutoScalingGroupsRequest

Source Link

Usage

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 ww .  ja  v a 2  s . com*/
    // 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
 *//*from w  w w.ja va2  s  . c  om*/
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

@Override
public String retrieveDetails(ResourceDetailRequest detailRequest) {

    String response = null;//from  w w  w  .  ja  v a 2 s  .co m

    try {

        AmazonAutoScaling asClient = new AmazonAutoScalingClient(credentials);
        asClient.setRegion(Region.getRegion(Regions.fromName(detailRequest.getRegion())));

        DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest();
        request.setAutoScalingGroupNames(Collections.singletonList(detailRequest.getResourceName()));

        DescribeAutoScalingGroupsResult result = asClient.describeAutoScalingGroups(request);
        buildUI(result);

    } catch (IllegalArgumentException | AmazonClientException e) {
        LOGGER.log(Level.WARNING, "Problem retrieving AS detail from AWS", e);
        response = e.getMessage();
    }

    return response;
}

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

License:Apache License

@Override
public List<String> getRacMembership() {
    AmazonAutoScaling client = null;/*  w  ww  . j  a v  a 2s  .  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;/*from  w  ww  . j a v a 2s  . 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  w  w w.  j  a  va  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;/*from  ww w . j  ava 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();
    }
}

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

License:Apache License

public DescribeAutoScalingGroupsResult describeAutoScalingGroups() {
    return describeAutoScalingGroups(new DescribeAutoScalingGroupsRequest());
}

From source file:com.netflix.eureka.aws.AwsAsgUtil.java

License:Apache License

/**
 * Queries AWS to get the autoscaling information given the asgName.
 *
 * @param asgName/*from  ww w  .j  av a 2 s .c o m*/
 *            - The name of the ASG.
 * @return - The auto scaling group information.
 */
private AutoScalingGroup retrieveAutoScalingGroup(String asgName) {
    if (Strings.isNullOrEmpty(asgName)) {
        logger.warn("null asgName specified, not attempting to retrieve AutoScalingGroup from AWS");
        return null;
    }
    // You can pass one name or a list of names in the request
    DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest()
            .withAutoScalingGroupNames(asgName);
    DescribeAutoScalingGroupsResult result = awsClient.describeAutoScalingGroups(request);
    List<AutoScalingGroup> asgs = result.getAutoScalingGroups();
    if (asgs.isEmpty()) {
        return null;
    } else {
        return asgs.get(0);
    }
}

From source file:com.netflix.eureka.aws.AwsAsgUtil.java

License:Apache License

private AutoScalingGroup retrieveAutoScalingGroupCrossAccount(String asgAccount, String asgName) {
    logger.debug("Getting cross account ASG for asgName: " + asgName + ", asgAccount: " + asgAccount);

    Credentials credentials = stsCredentials.get(asgAccount);

    if (credentials == null || credentials.getExpiration().getTime() < System.currentTimeMillis() + 1000) {
        stsCredentials.put(asgAccount, initializeStsSession(asgAccount));
        credentials = stsCredentials.get(asgAccount);
    }//from  w  w w.  j  a  v a  2s.c  om

    ClientConfiguration clientConfiguration = new ClientConfiguration()
            .withConnectionTimeout(serverConfig.getASGQueryTimeoutMs());

    AmazonAutoScaling autoScalingClient = new AmazonAutoScalingClient(
            new BasicSessionCredentials(credentials.getAccessKeyId(), credentials.getSecretAccessKey(),
                    credentials.getSessionToken()),
            clientConfiguration);

    String region = clientConfig.getRegion();
    if (!region.equals("us-east-1")) {
        autoScalingClient.setEndpoint("autoscaling." + region + ".amazonaws.com");
    }

    DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest()
            .withAutoScalingGroupNames(asgName);
    DescribeAutoScalingGroupsResult result = autoScalingClient.describeAutoScalingGroups(request);
    List<AutoScalingGroup> asgs = result.getAutoScalingGroups();
    if (asgs.isEmpty()) {
        return null;
    } else {
        return asgs.get(0);
    }
}