### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When calling 

`cloudWatchClient.EnableAlarmActions(&cloudwatch.EnableAlarmActionsInput{AlarmNames: alarmNames})`

with golang I receive a SerializationError with bytes in the error message saying: 

`<!DOCTYPE HTM |UBLIC "-//W3C//DTD HTML 3.2 Final//EN">.<title>500 Internal Server Error</title>.<h1>Internal Server Error</h1>.<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.`

I believe this is a bug, since other cloudwatch operations like "DescribeAlarms" work flawlessly with the same client.

### Expected Behavior

I expected the call to go through without any errors

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

Start localstack, create alarms and call cloudwatch "EnableAlarmActions"

### Environment

_No response_

### Anything else?

_No response_
"""Evaluates if the threshold is exceeded for the configured alarm and given metric values
    :param metric_values: values to compare against threshold
    :param alarm_details: Alarm Description, as returned from describe_alarms
    :return: True if threshold is exceeded, else False
    """
    threshold = alarm_details["Threshold"]
    comparison_operator = alarm_details["ComparisonOperator"]
    treat_missing_data = alarm_details.get("TreatMissingData", "missing")
    evaluation_periods = alarm_details.get("EvaluationPeriods")
    datapoints_to_alarm = alarm_details.get("DatapointsToAlarm", evaluation_periods)
    evaluated_datapoints = []
    for value in metric_values:
        if value is None:
            if treat_missing_data == "breaching":
                evaluated_datapoints.append(True)
            elif treat_missing_data == "notBreaching":
                evaluated_datapoints.append(False)
            
        else:
            evaluated_datapoints.append(COMPARISON_OPS.get(comparison_operator)(value, threshold))
    sum_breaching = evaluated_datapoints.count(True)
    if sum_breaching >= datapoints_to_alarm:
        return True
    return False
def is_triggering_premature_alarm(metric_values: List[float], alarm_details: MetricAlarm) -> bool: