Example usage for com.amazonaws.services.autoscaling.model ScalingActivityStatusCode Successful

List of usage examples for com.amazonaws.services.autoscaling.model ScalingActivityStatusCode Successful

Introduction

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

Prototype

ScalingActivityStatusCode Successful

To view the source code for com.amazonaws.services.autoscaling.model ScalingActivityStatusCode Successful.

Click Source Link

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.
 */// www . j a v a2 s  . 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;
    }
}