/** * 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. */ 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; } }