### 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_
)
        
        return
    if is_triggering_premature_alarm(metric_values, alarm_details):
        if treat_missing_data == "missing":
            update_alarm_state(
                client,
                alarm_name,
                alarm_state,
                STATE_ALARM,
                f"{THRESHOLD_CROSSED}: premature alarm for missing datapoints",
            )
        
        return
    
    collected_datapoints = [val for val in reversed(metric_values) if val is not None]
    
    evaluation_periods = alarm_details["EvaluationPeriods"]
    while len(collected_datapoints) < evaluation_periods and treat_missing_data in (
        "breaching",
        "notBreaching",
    ):
        
        
        collected_datapoints.append(None)
    if is_threshold_exceeded(collected_datapoints, alarm_details):
        update_alarm_state(client, alarm_name, alarm_state, STATE_ALARM, THRESHOLD_CROSSED)
    else:
        update_alarm_state(client, alarm_name, alarm_state, STATE_OK, THRESHOLD_OK)