
<!-- BEGIN overcast:capabilities -->

# CloudWatch operations

15 of 17 listed operations are implemented. Back to [CloudWatch](/docs/services/cloudwatch/index.md).

## Summary

| Category | ✅ Supported | ❌ Unsupported |
| --- | --- | --- |
| General | 15 | 2 |

---

## Endpoints

### General

| Operation                 | Status         | Notes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | AWS Docs                                                                                                  |
| --- | --- | --- | --- |
| `DeleteAlarms` | ✅ Supported | Deletes one or more alarms by name, along with their history | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DeleteAlarms.html) |
| `DescribeAlarmHistory` | ✅ Supported | Returns StateUpdate, ConfigurationUpdate and Action items; filters by alarm name, item type, date range, MaxRecords and ScanBy. The most recent 100 items per alarm are retained | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html) |
| `DescribeAlarms` | ✅ Supported | Lists alarms, supports filtering; reports the evaluator's live StateValue, StateReason and StateReasonData | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) |
| `DescribeAlarmsForMetric` | ✅ Supported | Lists alarms for a specific metric | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmsForMetric.html) |
| `DisableAlarmActions` | ✅ Supported | Clears ActionsEnabled so transitions stop firing actions | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DisableAlarmActions.html) |
| `EnableAlarmActions` | ✅ Supported | Sets ActionsEnabled so transitions fire actions again | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_EnableAlarmActions.html) |
| `GetMetricData` | ✅ Supported | Returns query-based metric values over time ranges, over all three protocols the model declares — Query, awsJson1_0 (primary, #886) and Smithy RPC v2 CBOR (#1280) — from one shared evaluation core, so an SDK gets the same result whichever it negotiates. Merges custom PutMetricData points with automatically-recorded service metrics (AWS/Lambda's Invocations/Errors/Duration/Throttles/ConcurrentExecutions pilot) from internal/metrics, read-through, when service-metrics collection is enabled | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) |
| `GetMetricStatistics` | ✅ Supported | Returns aggregated datapoints by period, over Query, awsJson and rpcv2Cbor alike (#1280). Merges custom PutMetricData points with automatically-recorded service metrics from internal/metrics, so an alarm on e.g. AWS/Lambda Errors evaluates against real invocation outcomes | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) |
| `ListMetrics` | ✅ Supported | Lists available metrics over Query, awsJson and rpcv2Cbor (#1280), merging custom PutMetricData series with automatically-recorded service metrics | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html) |
| `ListTagsForResource` | ✅ Supported | Lists tags for an alarm, over the Query, JSON and rpcv2Cbor protocols (#1280). Alarms are the only taggable CloudWatch resource Overcast emulates, so any other ResourceARN is ResourceNotFoundException — or InvalidParameterValue when it is not a CloudWatch ARN at all | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListTagsForResource.html) |
| `PutMetricAlarm` | ✅ Supported | Creates or updates a single-metric alarm, which is then evaluated automatically (Threshold, ComparisonOperator, Period, EvaluationPeriods, DatapointsToAlarm, Dimensions, TreatMissingData). Metric-math/multi-metric alarms, anomaly detection (ThresholdMetricId) and extended statistics are created but never evaluated, and say so in the alarm's StateReason and an x-overcast-emulation-limitation response header; PromQL alarms (EvaluationCriteria) are still refused with 501. Tags are applied at creation only and validated against the same rules as TagResource, so a create carrying an invalid tag set fails rather than leaving an untagged alarm | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) |
| `PutMetricData` | ✅ Supported | Publishes metric data points | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html) |
| `SetAlarmState` | ✅ Supported | Forces an alarm's state and fires that state's actions; the forced state is held against the evaluator for one evaluation range | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_SetAlarmState.html) |
| `PutAnomalyDetector` | ❌ Unsupported | stub; returns 501 — there is no anomaly-detection model behind the emulator | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutAnomalyDetector.html) |
| `PutCompositeAlarm` | ❌ Unsupported | stub; returns 501 — composite alarm rules are not evaluated | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) |
| `TagResource` | ✅ Supported | Adds or updates tags on an alarm, over the Query, JSON and rpcv2Cbor protocols (#1280). Tagging an alarm that does not exist is ResourceNotFoundException, as on AWS. Tag sets are validated — 50 tags per resource, keys 1-128 characters and not aws:-prefixed, values up to 256 — and a rejected set is not written | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html) |
| `UntagResource` | ✅ Supported | Removes tags from an alarm, over the Query, JSON and rpcv2Cbor protocols (#1280). A key that is not present is ignored; an alarm that does not exist is ResourceNotFoundException | [docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_UntagResource.html) |

## Related

- [CloudWatch](/docs/services/cloudwatch/index.md) — quick start, what works, and the differences from AWS
- [All service pages](/docs/services/index.md)

<!-- END overcast:capabilities -->
