Example usage for com.amazonaws.services.autoscaling.model DescribeScalingActivitiesResult getActivities

List of usage examples for com.amazonaws.services.autoscaling.model DescribeScalingActivitiesResult getActivities

Introduction

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

Prototype


public java.util.List<Activity> getActivities() 

Source Link

Document

The scaling activities.

Usage

From source file:virtualIT.java

License:Open Source License

private static void waitForAutoScalingActivities(int userId) throws InterruptedException {
    DescribeScalingActivitiesRequest describeScalingActivitiesRequest = new DescribeScalingActivitiesRequest();
    describeScalingActivitiesRequest.withAutoScalingGroupName(virtualIT.autoScalingGroupName);

    System.out.println("waiting for all auto scaling activites of [{}] to accomplish" + userId);
    while (true) {
        boolean allDone = true;
        //logger.debug(".");
        Thread.currentThread().sleep(COMM_RETRY_WAITING_TIME);

        DescribeScalingActivitiesResult scalingActivitiesResult = autoScaleClient
                .describeScalingActivities(describeScalingActivitiesRequest);
        for (Activity activity : scalingActivitiesResult.getActivities()) {
            if ("InProgress".equals(activity.getStatusCode())) {
                allDone = false;/*from w ww.java 2s  .  c  o  m*/
            }
        }
        if (allDone)
            break;
    }

}

From source file:com.netflix.spinnaker.clouddriver.aws.lifecycle.LaunchFailureNotificationCleanupAgent.java

License:Apache License

/**
 * Fetch scaling activities and determine if the most recent activity was successful.
 *
 * A successful scaling activity is sufficient to indicate that a server group is no longer having launch failures.
 *///from   w w w  .ja  v a  2 s. c  o m
protected boolean hasLaunchFailures(AmazonAutoScaling amazonAutoScaling, EntityTags entityTags) {
    EntityTags.EntityRef entityRef = entityTags.getEntityRef();

    try {
        DescribeScalingActivitiesResult describeScalingActivitiesResult = amazonAutoScaling
                .describeScalingActivities(new DescribeScalingActivitiesRequest()
                        .withAutoScalingGroupName(entityRef.getEntityId()));

        List<Activity> activities = describeScalingActivitiesResult.getActivities();
        return !activities.isEmpty()
                && !activities.get(0).getStatusCode().equals(ScalingActivityStatusCode.Successful.toString());
    } catch (Exception e) {
        AmazonServiceException amazonServiceException = amazonServiceException(e);
        if (amazonServiceException != null) {
            if (amazonServiceException.getErrorMessage().toLowerCase().contains("name not found")) {
                return false;
            }
        }

        throw e;
    }
}

From source file:com.pinterest.arcee.autoscaling.AwsAutoScaleGroupManager.java

License:Apache License

@Override
public ScalingActivitiesBean getScalingActivity(String groupName, int pageSize, String token) throws Exception {
    DescribeScalingActivitiesRequest request = new DescribeScalingActivitiesRequest();
    request.setAutoScalingGroupName(groupName);
    request.setMaxRecords(pageSize);// w ww .  j  ava  2  s  .c  o m
    if (!token.isEmpty()) {
        request.setNextToken(token);
    }

    DescribeScalingActivitiesResult result = aasClient.describeScalingActivities(request);
    List<Activity> activities = result.getActivities();
    ScalingActivitiesBean scalingActivitiesInfo = new ScalingActivitiesBean();
    scalingActivitiesInfo.setActivities(new ArrayList<>());

    for (Activity activity : activities) {
        ScalingActivityBean scalingActivity = new ScalingActivityBean();
        scalingActivity.setDescription(activity.getDescription());
        scalingActivity.setCause(activity.getCause());
        if (activity.getStartTime() != null) {
            scalingActivity.setScalingTime(activity.getStartTime().getTime());
        } else {
            scalingActivity.setScalingTime(0);
        }
        scalingActivity.setStatus(activity.getStatusCode());
        scalingActivitiesInfo.addScalingActivity(scalingActivity);
    }

    scalingActivitiesInfo.setNextToken(result.getNextToken());
    return scalingActivitiesInfo;
}