Example usage for com.amazonaws.services.autoscaling AmazonAutoScaling describeScalingActivities

List of usage examples for com.amazonaws.services.autoscaling AmazonAutoScaling describeScalingActivities

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling AmazonAutoScaling describeScalingActivities.

Prototype

DescribeScalingActivitiesResult describeScalingActivities(
        DescribeScalingActivitiesRequest describeScalingActivitiesRequest);

Source Link

Document

Describes one or more scaling activities for the specified Auto Scaling group.

Usage

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 . j  av  a 2s . c om*/
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;
    }
}