{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2010-08-01",
    "endpointPrefix": "monitoring",
    "protocol": "query",
    "serviceAbbreviation": "CloudWatch",
    "serviceFullName": "Amazon CloudWatch",
    "serviceId": "CloudWatch",
    "signatureVersion": "v4",
    "uid": "monitoring-2010-08-01",
    "xmlNamespace": "http://monitoring.amazonaws.com/doc/2010-08-01/"
  },
  "operations": {
    "DeleteAlarms": {
      "input": {
        "type": "structure",
        "required": [
          "AlarmNames"
        ],
        "members": {
          "AlarmNames": {
            "shape": "S2"
          }
        }
      }
    },
    "DeleteAnomalyDetector": {
      "input": {
        "type": "structure",
        "required": [
          "Namespace",
          "MetricName",
          "Stat"
        ],
        "members": {
          "Namespace": {},
          "MetricName": {},
          "Dimensions": {
            "shape": "S7"
          },
          "Stat": {}
        }
      },
      "output": {
        "resultWrapper": "DeleteAnomalyDetectorResult",
        "type": "structure",
        "members": {}
      }
    },
    "DeleteDashboards": {
      "input": {
        "type": "structure",
        "required": [
          "DashboardNames"
        ],
        "members": {
          "DashboardNames": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "resultWrapper": "DeleteDashboardsResult",
        "type": "structure",
        "members": {}
      }
    },
    "DescribeAlarmHistory": {
      "input": {
        "type": "structure",
        "members": {
          "AlarmName": {},
          "HistoryItemType": {},
          "StartDate": {
            "type": "timestamp"
          },
          "EndDate": {
            "type": "timestamp"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "resultWrapper": "DescribeAlarmHistoryResult",
        "type": "structure",
        "members": {
          "AlarmHistoryItems": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "AlarmName": {},
                "Timestamp": {
                  "type": "timestamp"
                },
                "HistoryItemType": {},
                "HistorySummary": {},
                "HistoryData": {}
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "DescribeAlarms": {
      "input": {
        "type": "structure",
        "members": {
          "AlarmNames": {
            "shape": "S2"
          },
          "AlarmNamePrefix": {},
          "StateValue": {},
          "ActionPrefix": {},
          "MaxRecords": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "resultWrapper": "DescribeAlarmsResult",
        "type": "structure",
        "members": {
          "MetricAlarms": {
            "shape": "Sw"
          },
          "NextToken": {}
        }
      }
    },
    "DescribeAlarmsForMetric": {
      "input": {
        "type": "structure",
        "required": [
          "MetricName",
          "Namespace"
        ],
        "members": {
          "MetricName": {},
          "Namespace": {},
          "Statistic": {},
          "ExtendedStatistic": {},
          "Dimensions": {
            "shape": "S7"
          },
          "Period": {
            "type": "integer"
          },
          "Unit": {}
        }
      },
      "output": {
        "resultWrapper": "DescribeAlarmsForMetricResult",
        "type": "structure",
        "members": {
          "MetricAlarms": {
            "shape": "Sw"
          }
        }
      }
    },
    "DescribeAnomalyDetectors": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          },
          "Namespace": {},
          "MetricName": {},
          "Dimensions": {
            "shape": "S7"
          }
        }
      },
      "output": {
        "resultWrapper": "DescribeAnomalyDetectorsResult",
        "type": "structure",
        "members": {
          "AnomalyDetectors": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Namespace": {},
                "MetricName": {},
                "Dimensions": {
                  "shape": "S7"
                },
                "Stat": {},
                "Configuration": {
                  "shape": "S1u"
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "DisableAlarmActions": {
      "input": {
        "type": "structure",
        "required": [
          "AlarmNames"
        ],
        "members": {
          "AlarmNames": {
            "shape": "S2"
          }
        }
      }
    },
    "EnableAlarmActions": {
      "input": {
        "type": "structure",
        "required": [
          "AlarmNames"
        ],
        "members": {
          "AlarmNames": {
            "shape": "S2"
          }
        }
      }
    },
    "GetDashboard": {
      "input": {
        "type": "structure",
        "required": [
          "DashboardName"
        ],
        "members": {
          "DashboardName": {}
        }
      },
      "output": {
        "resultWrapper": "GetDashboardResult",
        "type": "structure",
        "members": {
          "DashboardArn": {},
          "DashboardBody": {},
          "DashboardName": {}
        }
      }
    },
    "GetMetricData": {
      "input": {
        "type": "structure",
        "required": [
          "MetricDataQueries",
          "StartTime",
          "EndTime"
        ],
        "members": {
          "MetricDataQueries": {
            "shape": "S1f"
          },
          "StartTime": {
            "type": "timestamp"
          },
          "EndTime": {
            "type": "timestamp"
          },
          "NextToken": {},
          "ScanBy": {},
          "MaxDatapoints": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "GetMetricDataResult",
        "type": "structure",
        "members": {
          "MetricDataResults": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Label": {},
                "Timestamps": {
                  "type": "list",
                  "member": {
                    "type": "timestamp"
                  }
                },
                "Values": {
                  "type": "list",
                  "member": {
                    "type": "double"
                  }
                },
                "StatusCode": {},
                "Messages": {
                  "shape": "S2e"
                }
              }
            }
          },
          "NextToken": {},
          "Messages": {
            "shape": "S2e"
          }
        }
      }
    },
    "GetMetricStatistics": {
      "input": {
        "type": "structure",
        "required": [
          "Namespace",
          "MetricName",
          "StartTime",
          "EndTime",
          "Period"
        ],
        "members": {
          "Namespace": {},
          "MetricName": {},
          "Dimensions": {
            "shape": "S7"
          },
          "StartTime": {
            "type": "timestamp"
          },
          "EndTime": {
            "type": "timestamp"
          },
          "Period": {
            "type": "integer"
          },
          "Statistics": {
            "type": "list",
            "member": {}
          },
          "ExtendedStatistics": {
            "type": "list",
            "member": {}
          },
          "Unit": {}
        }
      },
      "output": {
        "resultWrapper": "GetMetricStatisticsResult",
        "type": "structure",
        "members": {
          "Label": {},
          "Datapoints": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Timestamp": {
                  "type": "timestamp"
                },
                "SampleCount": {
                  "type": "double"
                },
                "Average": {
                  "type": "double"
                },
                "Sum": {
                  "type": "double"
                },
                "Minimum": {
                  "type": "double"
                },
                "Maximum": {
                  "type": "double"
                },
                "Unit": {},
                "ExtendedStatistics": {
                  "type": "map",
                  "key": {},
                  "value": {
                    "type": "double"
                  }
                }
              },
              "xmlOrder": [
                "Timestamp",
                "SampleCount",
                "Average",
                "Sum",
                "Minimum",
                "Maximum",
                "Unit",
                "ExtendedStatistics"
              ]
            }
          }
        }
      }
    },
    "GetMetricWidgetImage": {
      "input": {
        "type": "structure",
        "required": [
          "MetricWidget"
        ],
        "members": {
          "MetricWidget": {},
          "OutputFormat": {}
        }
      },
      "output": {
        "resultWrapper": "GetMetricWidgetImageResult",
        "type": "structure",
        "members": {
          "MetricWidgetImage": {
            "type": "blob"
          }
        }
      }
    },
    "ListDashboards": {
      "input": {
        "type": "structure",
        "members": {
          "DashboardNamePrefix": {},
          "NextToken": {}
        }
      },
      "output": {
        "resultWrapper": "ListDashboardsResult",
        "type": "structure",
        "members": {
          "DashboardEntries": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "DashboardName": {},
                "DashboardArn": {},
                "LastModified": {
                  "type": "timestamp"
                },
                "Size": {
                  "type": "long"
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListMetrics": {
      "input": {
        "type": "structure",
        "members": {
          "Namespace": {},
          "MetricName": {},
          "Dimensions": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "Name"
              ],
              "members": {
                "Name": {},
                "Value": {}
              }
            }
          },
          "NextToken": {}
        }
      },
      "output": {
        "resultWrapper": "ListMetricsResult",
        "type": "structure",
        "members": {
          "Metrics": {
            "type": "list",
            "member": {
              "shape": "S1j"
            }
          },
          "NextToken": {}
        },
        "xmlOrder": [
          "Metrics",
          "NextToken"
        ]
      }
    },
    "ListTagsForResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceARN"
        ],
        "members": {
          "ResourceARN": {}
        }
      },
      "output": {
        "resultWrapper": "ListTagsForResourceResult",
        "type": "structure",
        "members": {
          "Tags": {
            "shape": "S39"
          }
        }
      }
    },
    "PutAnomalyDetector": {
      "input": {
        "type": "structure",
        "required": [
          "Namespace",
          "MetricName",
          "Stat"
        ],
        "members": {
          "Namespace": {},
          "MetricName": {},
          "Dimensions": {
            "shape": "S7"
          },
          "Stat": {},
          "Configuration": {
            "shape": "S1u"
          }
        }
      },
      "output": {
        "resultWrapper": "PutAnomalyDetectorResult",
        "type": "structure",
        "members": {}
      }
    },
    "PutDashboard": {
      "input": {
        "type": "structure",
        "required": [
          "DashboardName",
          "DashboardBody"
        ],
        "members": {
          "DashboardName": {},
          "DashboardBody": {}
        }
      },
      "output": {
        "resultWrapper": "PutDashboardResult",
        "type": "structure",
        "members": {
          "DashboardValidationMessages": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "DataPath": {},
                "Message": {}
              }
            }
          }
        }
      }
    },
    "PutMetricAlarm": {
      "input": {
        "type": "structure",
        "required": [
          "AlarmName",
          "EvaluationPeriods",
          "ComparisonOperator"
        ],
        "members": {
          "AlarmName": {},
          "AlarmDescription": {},
          "ActionsEnabled": {
            "type": "boolean"
          },
          "OKActions": {
            "shape": "S11"
          },
          "AlarmActions": {
            "shape": "S11"
          },
          "InsufficientDataActions": {
            "shape": "S11"
          },
          "MetricName": {},
          "Namespace": {},
          "Statistic": {},
          "ExtendedStatistic": {},
          "Dimensions": {
            "shape": "S7"
          },
          "Period": {
            "type": "integer"
          },
          "Unit": {},
          "EvaluationPeriods": {
            "type": "integer"
          },
          "DatapointsToAlarm": {
            "type": "integer"
          },
          "Threshold": {
            "type": "double"
          },
          "ComparisonOperator": {},
          "TreatMissingData": {},
          "EvaluateLowSampleCountPercentile": {},
          "Metrics": {
            "shape": "S1f"
          },
          "Tags": {
            "shape": "S39"
          },
          "ThresholdMetricId": {}
        }
      }
    },
    "PutMetricData": {
      "input": {
        "type": "structure",
        "required": [
          "Namespace",
          "MetricData"
        ],
        "members": {
          "Namespace": {},
          "MetricData": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "MetricName"
              ],
              "members": {
                "MetricName": {},
                "Dimensions": {
                  "shape": "S7"
                },
                "Timestamp": {
                  "type": "timestamp"
                },
                "Value": {
                  "type": "double"
                },
                "StatisticValues": {
                  "type": "structure",
                  "required": [
                    "SampleCount",
                    "Sum",
                    "Minimum",
                    "Maximum"
                  ],
                  "members": {
                    "SampleCount": {
                      "type": "double"
                    },
                    "Sum": {
                      "type": "double"
                    },
                    "Minimum": {
                      "type": "double"
                    },
                    "Maximum": {
                      "type": "double"
                    }
                  }
                },
                "Values": {
                  "type": "list",
                  "member": {
                    "type": "double"
                  }
                },
                "Counts": {
                  "type": "list",
                  "member": {
                    "type": "double"
                  }
                },
                "Unit": {},
                "StorageResolution": {
                  "type": "integer"
                }
              }
            }
          }
        }
      }
    },
    "SetAlarmState": {
      "input": {
        "type": "structure",
        "required": [
          "AlarmName",
          "StateValue",
          "StateReason"
        ],
        "members": {
          "AlarmName": {},
          "StateValue": {},
          "StateReason": {},
          "StateReasonData": {}
        }
      }
    },
    "TagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceARN",
          "Tags"
        ],
        "members": {
          "ResourceARN": {},
          "Tags": {
            "shape": "S39"
          }
        }
      },
      "output": {
        "resultWrapper": "TagResourceResult",
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceARN",
          "TagKeys"
        ],
        "members": {
          "ResourceARN": {},
          "TagKeys": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "resultWrapper": "UntagResourceResult",
        "type": "structure",
        "members": {}
      }
    }
  },
  "shapes": {
    "S2": {
      "type": "list",
      "member": {}
    },
    "S7": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Name",
          "Value"
        ],
        "members": {
          "Name": {},
          "Value": {}
        },
        "xmlOrder": [
          "Name",
          "Value"
        ]
      }
    },
    "Sw": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "AlarmName": {},
          "AlarmArn": {},
          "AlarmDescription": {},
          "AlarmConfigurationUpdatedTimestamp": {
            "type": "timestamp"
          },
          "ActionsEnabled": {
            "type": "boolean"
          },
          "OKActions": {
            "shape": "S11"
          },
          "AlarmActions": {
            "shape": "S11"
          },
          "InsufficientDataActions": {
            "shape": "S11"
          },
          "StateValue": {},
          "StateReason": {},
          "StateReasonData": {},
          "StateUpdatedTimestamp": {
            "type": "timestamp"
          },
          "MetricName": {},
          "Namespace": {},
          "Statistic": {},
          "ExtendedStatistic": {},
          "Dimensions": {
            "shape": "S7"
          },
          "Period": {
            "type": "integer"
          },
          "Unit": {},
          "EvaluationPeriods": {
            "type": "integer"
          },
          "DatapointsToAlarm": {
            "type": "integer"
          },
          "Threshold": {
            "type": "double"
          },
          "ComparisonOperator": {},
          "TreatMissingData": {},
          "EvaluateLowSampleCountPercentile": {},
          "Metrics": {
            "shape": "S1f"
          },
          "ThresholdMetricId": {}
        },
        "xmlOrder": [
          "AlarmName",
          "AlarmArn",
          "AlarmDescription",
          "AlarmConfigurationUpdatedTimestamp",
          "ActionsEnabled",
          "OKActions",
          "AlarmActions",
          "InsufficientDataActions",
          "StateValue",
          "StateReason",
          "StateReasonData",
          "StateUpdatedTimestamp",
          "MetricName",
          "Namespace",
          "Statistic",
          "Dimensions",
          "Period",
          "Unit",
          "EvaluationPeriods",
          "Threshold",
          "ComparisonOperator",
          "ExtendedStatistic",
          "TreatMissingData",
          "EvaluateLowSampleCountPercentile",
          "DatapointsToAlarm",
          "Metrics",
          "ThresholdMetricId"
        ]
      }
    },
    "S11": {
      "type": "list",
      "member": {}
    },
    "S1f": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {},
          "MetricStat": {
            "type": "structure",
            "required": [
              "Metric",
              "Period",
              "Stat"
            ],
            "members": {
              "Metric": {
                "shape": "S1j"
              },
              "Period": {
                "type": "integer"
              },
              "Stat": {},
              "Unit": {}
            }
          },
          "Expression": {},
          "Label": {},
          "ReturnData": {
            "type": "boolean"
          },
          "Period": {
            "type": "integer"
          }
        }
      }
    },
    "S1j": {
      "type": "structure",
      "members": {
        "Namespace": {},
        "MetricName": {},
        "Dimensions": {
          "shape": "S7"
        }
      },
      "xmlOrder": [
        "Namespace",
        "MetricName",
        "Dimensions"
      ]
    },
    "S1u": {
      "type": "structure",
      "members": {
        "ExcludedTimeRanges": {
          "type": "list",
          "member": {
            "type": "structure",
            "required": [
              "StartTime",
              "EndTime"
            ],
            "members": {
              "StartTime": {
                "type": "timestamp"
              },
              "EndTime": {
                "type": "timestamp"
              }
            },
            "xmlOrder": [
              "StartTime",
              "EndTime"
            ]
          }
        },
        "MetricTimezone": {}
      }
    },
    "S2e": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Code": {},
          "Value": {}
        }
      }
    },
    "S39": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Key",
          "Value"
        ],
        "members": {
          "Key": {},
          "Value": {}
        }
      }
    }
  }
}