---
updatedAt: 2025-11-12T01:04:48.000Z
agentTools:
  projectIndex: https://public.docs.kivera.io/llms.txt
---

# MONITORING

<Embed url="https://docs.aws.amazon.com/" title="AWS documentation" provider="docs.aws.amazon.com" href="https://docs.aws.amazon.com/" />

# DeleteAlarms

```erlang
valid {
    input.Body.AlarmNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteAnomalyDetector

```erlang
enum_StandardUnit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]

valid {
    input.Body.Namespace == STRING
    input.Body.MetricName == STRING
    input.Body.Dimensions[_].Name == STRING
    input.Body.Dimensions[_].Value == STRING
    input.Body.Stat == STRING
    input.Body.SingleMetricAnomalyDetector.AccountId == STRING
    input.Body.SingleMetricAnomalyDetector.Namespace == STRING
    input.Body.SingleMetricAnomalyDetector.MetricName == STRING
    input.Body.SingleMetricAnomalyDetector.Dimensions[_].Name == STRING
    input.Body.SingleMetricAnomalyDetector.Dimensions[_].Value == STRING
    input.Body.SingleMetricAnomalyDetector.Stat == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Id == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.Namespace == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.MetricName == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.Dimensions[_].Name == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.Dimensions[_].Value == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Period == INTEGER
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Stat == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Unit == enum_StandardUnit[_]
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Expression == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Label == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].ReturnData == BOOLEAN
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Period == INTEGER
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].AccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteDashboards

```erlang
valid {
    input.Body.DashboardNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteInsightRules

```erlang
valid {
    input.Body.RuleNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteMetricStream

```erlang
valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeAlarmContributors

```erlang
valid {
    input.Body.AlarmName == STRING
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeAlarmHistory

```erlang
enum_AlarmType := [ "CompositeAlarm", "MetricAlarm" ]
enum_HistoryItemType := [ "ConfigurationUpdate", "StateUpdate", "Action", "AlarmContributorStateUpdate", "AlarmContributorAction" ]
enum_ScanBy := [ "TimestampDescending", "TimestampAscending" ]

valid {
    input.Body.AlarmName == STRING
    input.Body.AlarmContributorId == STRING
    input.Body.AlarmTypes[_] == enum_AlarmType[_]
    input.Body.HistoryItemType == enum_HistoryItemType[_]
    input.Body.StartDate == TIMESTAMP
    input.Body.EndDate == TIMESTAMP
    input.Body.MaxRecords == INTEGER
    input.Body.NextToken == STRING
    input.Body.ScanBy == enum_ScanBy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeAlarms

```erlang
enum_AlarmType := [ "CompositeAlarm", "MetricAlarm" ]
enum_StateValue := [ "OK", "ALARM", "INSUFFICIENT_DATA" ]

valid {
    input.Body.AlarmNames[_] == STRING
    input.Body.AlarmNamePrefix == STRING
    input.Body.AlarmTypes[_] == enum_AlarmType[_]
    input.Body.ChildrenOfAlarmName == STRING
    input.Body.ParentsOfAlarmName == STRING
    input.Body.StateValue == enum_StateValue[_]
    input.Body.ActionPrefix == STRING
    input.Body.MaxRecords == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeAlarmsForMetric

```erlang
enum_StandardUnit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]
enum_Statistic := [ "SampleCount", "Average", "Sum", "Minimum", "Maximum" ]

valid {
    input.Body.MetricName == STRING
    input.Body.Namespace == STRING
    input.Body.Statistic == enum_Statistic[_]
    input.Body.ExtendedStatistic == STRING
    input.Body.Dimensions[_].Name == STRING
    input.Body.Dimensions[_].Value == STRING
    input.Body.Period == INTEGER
    input.Body.Unit == enum_StandardUnit[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeAnomalyDetectors

```erlang
enum_AnomalyDetectorType := [ "SINGLE_METRIC", "METRIC_MATH" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Namespace == STRING
    input.Body.MetricName == STRING
    input.Body.Dimensions[_].Name == STRING
    input.Body.Dimensions[_].Value == STRING
    input.Body.AnomalyDetectorTypes[_] == enum_AnomalyDetectorType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeInsightRules

```erlang
valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DisableAlarmActions

```erlang
valid {
    input.Body.AlarmNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DisableInsightRules

```erlang
valid {
    input.Body.RuleNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# EnableAlarmActions

```erlang
valid {
    input.Body.AlarmNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# EnableInsightRules

```erlang
valid {
    input.Body.RuleNames[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetDashboard

```erlang
valid {
    input.Body.DashboardName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetInsightRuleReport

```erlang
valid {
    input.Body.RuleName == STRING
    input.Body.StartTime == TIMESTAMP
    input.Body.EndTime == TIMESTAMP
    input.Body.Period == INTEGER
    input.Body.MaxContributorCount == INTEGER
    input.Body.Metrics[_] == STRING
    input.Body.OrderBy == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetMetricData

```erlang
enum_ScanBy := [ "TimestampDescending", "TimestampAscending" ]
enum_StandardUnit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]

valid {
    input.Body.MetricDataQueries[_].Id == STRING
    input.Body.MetricDataQueries[_].MetricStat.Metric.Namespace == STRING
    input.Body.MetricDataQueries[_].MetricStat.Metric.MetricName == STRING
    input.Body.MetricDataQueries[_].MetricStat.Metric.Dimensions[_].Name == STRING
    input.Body.MetricDataQueries[_].MetricStat.Metric.Dimensions[_].Value == STRING
    input.Body.MetricDataQueries[_].MetricStat.Period == INTEGER
    input.Body.MetricDataQueries[_].MetricStat.Stat == STRING
    input.Body.MetricDataQueries[_].MetricStat.Unit == enum_StandardUnit[_]
    input.Body.MetricDataQueries[_].Expression == STRING
    input.Body.MetricDataQueries[_].Label == STRING
    input.Body.MetricDataQueries[_].ReturnData == BOOLEAN
    input.Body.MetricDataQueries[_].Period == INTEGER
    input.Body.MetricDataQueries[_].AccountId == STRING
    input.Body.StartTime == TIMESTAMP
    input.Body.EndTime == TIMESTAMP
    input.Body.NextToken == STRING
    input.Body.ScanBy == enum_ScanBy[_]
    input.Body.MaxDatapoints == INTEGER
    input.Body.LabelOptions.Timezone == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetMetricStatistics

```erlang
enum_StandardUnit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]
enum_Statistic := [ "SampleCount", "Average", "Sum", "Minimum", "Maximum" ]

valid {
    input.Body.Namespace == STRING
    input.Body.MetricName == STRING
    input.Body.Dimensions[_].Name == STRING
    input.Body.Dimensions[_].Value == STRING
    input.Body.StartTime == TIMESTAMP
    input.Body.EndTime == TIMESTAMP
    input.Body.Period == INTEGER
    input.Body.Statistics[_] == enum_Statistic[_]
    input.Body.ExtendedStatistics[_] == STRING
    input.Body.Unit == enum_StandardUnit[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetMetricStream

```erlang
valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetMetricWidgetImage

```erlang
valid {
    input.Body.MetricWidget == STRING
    input.Body.OutputFormat == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListDashboards

```erlang
valid {
    input.Body.DashboardNamePrefix == STRING
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListManagedInsightRules

```erlang
valid {
    input.Body.ResourceARN == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListMetricStreams

```erlang
valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListMetrics

```erlang
enum_RecentlyActive := [ "PT3H" ]

valid {
    input.Body.Namespace == STRING
    input.Body.MetricName == STRING
    input.Body.Dimensions[_].Name == STRING
    input.Body.Dimensions[_].Value == STRING
    input.Body.NextToken == STRING
    input.Body.RecentlyActive == enum_RecentlyActive[_]
    input.Body.IncludeLinkedAccounts == BOOLEAN
    input.Body.OwningAccount == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListTagsForResource

```erlang
valid {
    input.Body.ResourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutAnomalyDetector

```erlang
enum_StandardUnit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]

valid {
    input.Body.Namespace == STRING
    input.Body.MetricName == STRING
    input.Body.Dimensions[_].Name == STRING
    input.Body.Dimensions[_].Value == STRING
    input.Body.Stat == STRING
    input.Body.Configuration.ExcludedTimeRanges[_].StartTime == TIMESTAMP
    input.Body.Configuration.ExcludedTimeRanges[_].EndTime == TIMESTAMP
    input.Body.Configuration.MetricTimezone == STRING
    input.Body.MetricCharacteristics.PeriodicSpikes == BOOLEAN
    input.Body.SingleMetricAnomalyDetector.AccountId == STRING
    input.Body.SingleMetricAnomalyDetector.Namespace == STRING
    input.Body.SingleMetricAnomalyDetector.MetricName == STRING
    input.Body.SingleMetricAnomalyDetector.Dimensions[_].Name == STRING
    input.Body.SingleMetricAnomalyDetector.Dimensions[_].Value == STRING
    input.Body.SingleMetricAnomalyDetector.Stat == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Id == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.Namespace == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.MetricName == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.Dimensions[_].Name == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Metric.Dimensions[_].Value == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Period == INTEGER
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Stat == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].MetricStat.Unit == enum_StandardUnit[_]
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Expression == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Label == STRING
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].ReturnData == BOOLEAN
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].Period == INTEGER
    input.Body.MetricMathAnomalyDetector.MetricDataQueries[_].AccountId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutCompositeAlarm

```erlang
valid {
    input.Body.ActionsEnabled == BOOLEAN
    input.Body.AlarmActions[_] == STRING
    input.Body.AlarmDescription == STRING
    input.Body.AlarmName == STRING
    input.Body.AlarmRule == STRING
    input.Body.InsufficientDataActions[_] == STRING
    input.Body.OKActions[_] == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ActionsSuppressor == STRING
    input.Body.ActionsSuppressorWaitPeriod == INTEGER
    input.Body.ActionsSuppressorExtensionPeriod == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutDashboard

```erlang
valid {
    input.Body.DashboardName == STRING
    input.Body.DashboardBody == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutInsightRule

```erlang
valid {
    input.Body.RuleName == STRING
    input.Body.RuleState == STRING
    input.Body.RuleDefinition == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ApplyOnTransformedLogs == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutManagedInsightRules

```erlang
valid {
    input.Body.ManagedRules[_].TemplateName == STRING
    input.Body.ManagedRules[_].ResourceARN == STRING
    input.Body.ManagedRules[_].Tags[_].Key == STRING
    input.Body.ManagedRules[_].Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutMetricAlarm

```erlang
enum_ComparisonOperator := [ "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold", "LessThanLowerOrGreaterThanUpperThreshold", "LessThanLowerThreshold", "GreaterThanUpperThreshold" ]
enum_StandardUnit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]
enum_Statistic := [ "SampleCount", "Average", "Sum", "Minimum", "Maximum" ]

valid {
    input.Body.AlarmName == STRING
    input.Body.AlarmDescription == STRING
    input.Body.ActionsEnabled == BOOLEAN
    input.Body.OKActions[_] == STRING
    input.Body.AlarmActions[_] == STRING
    input.Body.InsufficientDataActions[_] == STRING
    input.Body.MetricName == STRING
    input.Body.Namespace == STRING
    input.Body.Statistic == enum_Statistic[_]
    input.Body.ExtendedStatistic == STRING
    input.Body.Dimensions[_].Name == STRING
    input.Body.Dimensions[_].Value == STRING
    input.Body.Period == INTEGER
    input.Body.Unit == enum_StandardUnit[_]
    input.Body.EvaluationPeriods == INTEGER
    input.Body.DatapointsToAlarm == INTEGER
    input.Body.Threshold == DOUBLE
    input.Body.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.TreatMissingData == STRING
    input.Body.EvaluateLowSampleCountPercentile == STRING
    input.Body.Metrics[_].Id == STRING
    input.Body.Metrics[_].MetricStat.Metric.Namespace == STRING
    input.Body.Metrics[_].MetricStat.Metric.MetricName == STRING
    input.Body.Metrics[_].MetricStat.Metric.Dimensions[_].Name == STRING
    input.Body.Metrics[_].MetricStat.Metric.Dimensions[_].Value == STRING
    input.Body.Metrics[_].MetricStat.Period == INTEGER
    input.Body.Metrics[_].MetricStat.Stat == STRING
    input.Body.Metrics[_].MetricStat.Unit == enum_StandardUnit[_]
    input.Body.Metrics[_].Expression == STRING
    input.Body.Metrics[_].Label == STRING
    input.Body.Metrics[_].ReturnData == BOOLEAN
    input.Body.Metrics[_].Period == INTEGER
    input.Body.Metrics[_].AccountId == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ThresholdMetricId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutMetricData

```erlang
enum_StandardUnit := [ "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None" ]

valid {
    input.Body.Namespace == STRING
    input.Body.MetricData[_].MetricName == STRING
    input.Body.MetricData[_].Dimensions[_].Name == STRING
    input.Body.MetricData[_].Dimensions[_].Value == STRING
    input.Body.MetricData[_].Timestamp == TIMESTAMP
    input.Body.MetricData[_].Value == DOUBLE
    input.Body.MetricData[_].StatisticValues.SampleCount == DOUBLE
    input.Body.MetricData[_].StatisticValues.Sum == DOUBLE
    input.Body.MetricData[_].StatisticValues.Minimum == DOUBLE
    input.Body.MetricData[_].StatisticValues.Maximum == DOUBLE
    input.Body.MetricData[_].Values[_] == DOUBLE
    input.Body.MetricData[_].Counts[_] == DOUBLE
    input.Body.MetricData[_].Unit == enum_StandardUnit[_]
    input.Body.MetricData[_].StorageResolution == INTEGER
    input.Body.EntityMetricData[_].Entity.KeyAttributes.STRING == STRING
    input.Body.EntityMetricData[_].Entity.Attributes.STRING == STRING
    input.Body.EntityMetricData[_].MetricData[_].MetricName == STRING
    input.Body.EntityMetricData[_].MetricData[_].Dimensions[_].Name == STRING
    input.Body.EntityMetricData[_].MetricData[_].Dimensions[_].Value == STRING
    input.Body.EntityMetricData[_].MetricData[_].Timestamp == TIMESTAMP
    input.Body.EntityMetricData[_].MetricData[_].Value == DOUBLE
    input.Body.EntityMetricData[_].MetricData[_].StatisticValues.SampleCount == DOUBLE
    input.Body.EntityMetricData[_].MetricData[_].StatisticValues.Sum == DOUBLE
    input.Body.EntityMetricData[_].MetricData[_].StatisticValues.Minimum == DOUBLE
    input.Body.EntityMetricData[_].MetricData[_].StatisticValues.Maximum == DOUBLE
    input.Body.EntityMetricData[_].MetricData[_].Values[_] == DOUBLE
    input.Body.EntityMetricData[_].MetricData[_].Counts[_] == DOUBLE
    input.Body.EntityMetricData[_].MetricData[_].Unit == enum_StandardUnit[_]
    input.Body.EntityMetricData[_].MetricData[_].StorageResolution == INTEGER
    input.Body.StrictEntityValidation == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutMetricStream

```erlang
enum_MetricStreamOutputFormat := [ "json", "opentelemetry0.7", "opentelemetry1.0" ]

valid {
    input.Body.Name == STRING
    input.Body.IncludeFilters[_].Namespace == STRING
    input.Body.IncludeFilters[_].MetricNames[_] == STRING
    input.Body.ExcludeFilters[_].Namespace == STRING
    input.Body.ExcludeFilters[_].MetricNames[_] == STRING
    input.Body.FirehoseArn == STRING
    input.Body.RoleArn == STRING
    input.Body.OutputFormat == enum_MetricStreamOutputFormat[_]
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.StatisticsConfigurations[_].IncludeMetrics[_].Namespace == STRING
    input.Body.StatisticsConfigurations[_].IncludeMetrics[_].MetricName == STRING
    input.Body.StatisticsConfigurations[_].AdditionalStatistics[_] == STRING
    input.Body.IncludeLinkedAccountsMetrics == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SetAlarmState

```erlang
enum_StateValue := [ "OK", "ALARM", "INSUFFICIENT_DATA" ]

valid {
    input.Body.AlarmName == STRING
    input.Body.StateValue == enum_StateValue[_]
    input.Body.StateReason == STRING
    input.Body.StateReasonData == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartMetricStreams

```erlang
valid {
    input.Body.Names[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StopMetricStreams

```erlang
valid {
    input.Body.Names[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# TagResource

```erlang
valid {
    input.Body.ResourceARN == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UntagResource

```erlang
valid {
    input.Body.ResourceARN == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```