private boolean isResourceCoolingDown()

in cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/CloudWatchAlarmHandler.java [221:245]


	private boolean isResourceCoolingDown (V1ObjectMeta metadata, 
			ComparisonOperator operator, 
			ScalingBehavior scaleUpBehavior, 
			ScalingBehavior scaleDownBehavior) {
		
		Map<String, String> annotations = metadata.getAnnotations();
		if (annotations.containsKey(ANNOTATION_ALARM_TRIGGER_TIME)) {
			ScalingBehavior behavior = null;
			if (Objects.equals(operator, ComparisonOperator.GreaterThanOrEqualToThreshold) ||
			    Objects.equals(operator, ComparisonOperator.GreaterThanThreshold)) {
				behavior = scaleUpBehavior;
			} else if (Objects.equals(operator, ComparisonOperator.LessThanOrEqualToThreshold) ||
					   Objects.equals(operator, ComparisonOperator.LessThanThreshold)) {
				behavior = scaleDownBehavior;
			}
			
		    DateTime currentTime = new DateTime();
			String dateString = annotations.get(ANNOTATION_ALARM_TRIGGER_TIME);
			DateTime lastScalingTime = dateTimeFormatter.parseDateTime(dateString);
			long duration = new Duration (lastScalingTime, currentTime).getStandardSeconds();
			long coolDownDuration = behavior.getCoolDown();
			if (duration < coolDownDuration) return true;
		}
		return false;
	}