{
  "version": "2.0",
  "service": "<p>Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the applications you run on AWS in real-time. You can use CloudWatch to collect and track metrics, which are the variables you want to measure for your resources and applications.</p> <p>CloudWatch alarms send notifications or automatically make changes to the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon Elastic Compute Cloud (Amazon EC2) instances and then use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money.</p> <p>In addition to monitoring the built-in metrics that come with AWS, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.</p>",
  "operations": {
    "DeleteAlarms": "<p>Deletes all specified alarms. In the event of an error, no alarms are deleted.</p>",
    "DescribeAlarmHistory": "<p>Retrieves history for the specified alarm. Filter alarms by date range or item type. If an alarm name is not specified, Amazon CloudWatch returns histories for all of the owner's alarms.</p> <note> <p>Amazon CloudWatch retains the history of an alarm for two weeks, whether or not you delete the alarm.</p> </note>",
    "DescribeAlarms": "<p>Retrieves alarms with the specified names. If no name is specified, all alarms for the user are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action.</p>",
    "DescribeAlarmsForMetric": "<p>Retrieves all alarms for a single metric. Specify a statistic, period, or unit to filter the set of alarms further.</p>",
    "DisableAlarmActions": "<p>Disables actions for the specified alarms. When an alarm's actions are disabled the alarm's state may change, but none of the alarm's actions will execute.</p>",
    "EnableAlarmActions": "<p>Enables actions for the specified alarms.</p>",
    "GetMetricStatistics": "<p>Gets statistics for the specified metric.</p> <p> The maximum number of data points that can be queried is 50,850, whereas the maximum number of data points returned from a single <code>GetMetricStatistics</code> request is 1,440. If you make a request that generates more than 1,440 data points, Amazon CloudWatch returns an error. In such a case, you can alter the request by narrowing the specified time range or increasing the specified period. A period can be as short as one minute (60 seconds) or as long as one day (86,400 seconds). Alternatively, you can make multiple requests across adjacent time ranges. <code>GetMetricStatistics</code> does not return the data in chronological order. </p> <p> Amazon CloudWatch aggregates data points based on the length of the <code>period</code> that you specify. For example, if you request statistics with a one-minute granularity, Amazon CloudWatch aggregates data points with time stamps that fall within the same one-minute period. In such a case, the data points queried can greatly outnumber the data points returned. </p> <p> The following examples show various statistics allowed by the data point query maximum of 50,850 when you call <code>GetMetricStatistics</code> on Amazon EC2 instances with detailed (one-minute) monitoring enabled: </p> <ul> <li> <p>Statistics for up to 400 instances for a span of one hour</p> </li> <li> <p>Statistics for up to 35 instances over a span of 24 hours</p> </li> <li> <p>Statistics for up to 2 instances over a span of 2 weeks</p> </li> </ul> <p> For information about the namespace, metric names, and dimensions that other Amazon Web Services products use to send metrics to CloudWatch, go to <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html\">Amazon CloudWatch Metrics, Namespaces, and Dimensions Reference</a> in the <i>Amazon CloudWatch Developer Guide</i>. </p>",
    "ListMetrics": "<p> Returns a list of valid metrics stored for the AWS account owner. Returned metrics can be used with <a>GetMetricStatistics</a> to obtain statistical data for a given metric. </p> <note> <p> Up to 500 results are returned for any one call. To retrieve further results, use returned <code>NextToken</code> values with subsequent <code>ListMetrics</code> operations.</p> </note> <note> <p> If you create a metric with <a>PutMetricData</a>, allow up to fifteen minutes for the metric to appear in calls to <code>ListMetrics</code>. Statistics about the metric, however, are available sooner using <a>GetMetricStatistics</a>.</p> </note>",
    "PutMetricAlarm": "<p>Creates or updates an alarm and associates it with the specified Amazon CloudWatch metric. Optionally, this operation can associate one or more Amazon SNS resources with the alarm.</p> <p> When this operation creates an alarm, the alarm state is immediately set to <code>INSUFFICIENT_DATA</code>. The alarm is evaluated and its <code>StateValue</code> is set appropriately. Any actions associated with the <code>StateValue</code> are then executed. </p> <note> <p>When updating an existing alarm, its <code>StateValue</code> is left unchanged, but it completely overwrites the alarm's previous configuration.</p> </note> <note> <p>If you are using an AWS Identity and Access Management (IAM) account to create or modify an alarm, you must have the following Amazon EC2 permissions:</p> <ul> <li> <p> <code>ec2:DescribeInstanceStatus</code> and <code>ec2:DescribeInstances</code> for all alarms on Amazon EC2 instance status metrics.</p> </li> <li> <p> <code>ec2:StopInstances</code> for alarms with stop actions.</p> </li> <li> <p> <code>ec2:TerminateInstances</code> for alarms with terminate actions.</p> </li> <li> <p> <code>ec2:DescribeInstanceRecoveryAttribute</code>, and <code>ec2:RecoverInstances</code> for alarms with recover actions.</p> </li> </ul> <p>If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm but the stop or terminate actions won't be performed on the Amazon EC2 instance. However, if you are later granted permission to use the associated Amazon EC2 APIs, the alarm actions you created earlier will be performed. For more information about IAM permissions, see <a href=\"http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html\">Permissions and Policies</a> in <i>Using IAM</i>.</p> <p>If you are using an IAM role (e.g., an Amazon EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.</p> <p>If you are using temporary security credentials granted using the AWS Security Token Service (AWS STS), you cannot stop or terminate an Amazon EC2 instance using alarm actions.</p> </note>",
    "PutMetricData": "<p> Publishes metric data points to Amazon CloudWatch. Amazon CloudWatch associates the data points with the specified metric. If the specified metric does not exist, Amazon CloudWatch creates the metric. When Amazon CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to <a>ListMetrics</a>. </p> <p> Each <code>PutMetricData</code> request is limited to 8 KB in size for HTTP GET requests and is limited to 40 KB in size for HTTP POST requests. </p> <important> <p>Although the <code>Value</code> parameter accepts numbers of type <code>Double</code>, Amazon CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are not supported.</p> </important> <p>Data that is timestamped 24 hours or more in the past may take in excess of 48 hours to become available from submission time using <code>GetMetricStatistics</code>.</p>",
    "SetAlarmState": "<p> Temporarily sets the state of an alarm for testing purposes. When the updated <code>StateValue</code> differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm's state to <b>ALARM</b> sends an Amazon SNS message. The alarm returns to its actual state (often within seconds). Because the alarm state change happens very quickly, it is typically only visible in the alarm's <b>History</b> tab in the Amazon CloudWatch console or through <code>DescribeAlarmHistory</code>. </p>"
  },
  "shapes": {
    "ActionPrefix": {
      "base": null,
      "refs": {
        "DescribeAlarmsInput$ActionPrefix": "<p>The action name prefix.</p>"
      }
    },
    "ActionsEnabled": {
      "base": null,
      "refs": {
        "MetricAlarm$ActionsEnabled": "<p>Indicates whether actions should be executed during any changes to the alarm's state.</p>",
        "PutMetricAlarmInput$ActionsEnabled": "<p>Indicates whether or not actions should be executed during any changes to the alarm's state.</p>"
      }
    },
    "AlarmArn": {
      "base": null,
      "refs": {
        "MetricAlarm$AlarmArn": "<p>The Amazon Resource Name (ARN) of the alarm.</p>"
      }
    },
    "AlarmDescription": {
      "base": null,
      "refs": {
        "MetricAlarm$AlarmDescription": "<p>The description for the alarm.</p>",
        "PutMetricAlarmInput$AlarmDescription": "<p>The description for the alarm.</p>"
      }
    },
    "AlarmHistoryItem": {
      "base": "<p> The <code>AlarmHistoryItem</code> data type contains descriptive information about the history of a specific alarm. If you call <a>DescribeAlarmHistory</a>, Amazon CloudWatch returns this data type as part of the DescribeAlarmHistoryResult data type. </p>",
      "refs": {
        "AlarmHistoryItems$member": null
      }
    },
    "AlarmHistoryItems": {
      "base": null,
      "refs": {
        "DescribeAlarmHistoryOutput$AlarmHistoryItems": "<p>A list of alarm histories in JSON format.</p>"
      }
    },
    "AlarmName": {
      "base": null,
      "refs": {
        "AlarmHistoryItem$AlarmName": "<p>The descriptive name for the alarm.</p>",
        "AlarmNames$member": null,
        "DescribeAlarmHistoryInput$AlarmName": "<p>The name of the alarm.</p>",
        "MetricAlarm$AlarmName": "<p>The name of the alarm.</p>",
        "PutMetricAlarmInput$AlarmName": "<p>The descriptive name for the alarm. This name must be unique within the user's AWS account</p>",
        "SetAlarmStateInput$AlarmName": "<p>The descriptive name for the alarm. This name must be unique within the user's AWS account. The maximum length is 255 characters.</p>"
      }
    },
    "AlarmNamePrefix": {
      "base": null,
      "refs": {
        "DescribeAlarmsInput$AlarmNamePrefix": "<p>The alarm name prefix. <code>AlarmNames</code> cannot be specified if this parameter is specified.</p>"
      }
    },
    "AlarmNames": {
      "base": null,
      "refs": {
        "DeleteAlarmsInput$AlarmNames": "<p>A list of alarms to be deleted.</p>",
        "DescribeAlarmsInput$AlarmNames": "<p>A list of alarm names to retrieve information for.</p>",
        "DisableAlarmActionsInput$AlarmNames": "<p>The names of the alarms to disable actions for.</p>",
        "EnableAlarmActionsInput$AlarmNames": "<p>The names of the alarms to enable actions for.</p>"
      }
    },
    "AwsQueryErrorMessage": {
      "base": null,
      "refs": {
        "InvalidParameterCombinationException$message": "<p/>",
        "InvalidParameterValueException$message": "<p/>",
        "MissingRequiredParameterException$message": "<p/>"
      }
    },
    "ComparisonOperator": {
      "base": null,
      "refs": {
        "MetricAlarm$ComparisonOperator": "<p> The arithmetic operation to use when comparing the specified <code>Statistic</code> and <code>Threshold</code>. The specified <code>Statistic</code> value is used as the first operand. </p>",
        "PutMetricAlarmInput$ComparisonOperator": "<p> The arithmetic operation to use when comparing the specified <code>Statistic</code> and <code>Threshold</code>. The specified <code>Statistic</code> value is used as the first operand. </p>"
      }
    },
    "Datapoint": {
      "base": "<p> The <code>Datapoint</code> data type encapsulates the statistical data that Amazon CloudWatch computes from metric data. </p>",
      "refs": {
        "Datapoints$member": null
      }
    },
    "DatapointValue": {
      "base": null,
      "refs": {
        "Datapoint$SampleCount": "<p>The number of metric values that contributed to the aggregate value of this datapoint.</p>",
        "Datapoint$Average": "<p>The average of metric values that correspond to the datapoint.</p>",
        "Datapoint$Sum": "<p>The sum of metric values used for the datapoint.</p>",
        "Datapoint$Minimum": "<p>The minimum metric value used for the datapoint.</p>",
        "Datapoint$Maximum": "<p>The maximum of the metric value used for the datapoint.</p>",
        "MetricDatum$Value": "<p>The value for the metric.</p> <important> <p>Although the <code>Value</code> parameter accepts numbers of type <code>Double</code>, Amazon CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are not supported.</p> </important>",
        "StatisticSet$SampleCount": "<p>The number of samples used for the statistic set.</p>",
        "StatisticSet$Sum": "<p>The sum of values for the sample set.</p>",
        "StatisticSet$Minimum": "<p>The minimum value of the sample set.</p>",
        "StatisticSet$Maximum": "<p>The maximum value of the sample set.</p>"
      }
    },
    "Datapoints": {
      "base": null,
      "refs": {
        "GetMetricStatisticsOutput$Datapoints": "<p>The datapoints for the specified metric.</p>"
      }
    },
    "DeleteAlarmsInput": {
      "base": "<p>Describes the inputs for DeleteAlarms.</p>",
      "refs": {
      }
    },
    "DescribeAlarmHistoryInput": {
      "base": "<p>Describes the inputs for DescribeAlarmHistory.</p>",
      "refs": {
      }
    },
    "DescribeAlarmHistoryOutput": {
      "base": "<p> The output for <a>DescribeAlarmHistory</a>. </p>",
      "refs": {
      }
    },
    "DescribeAlarmsForMetricInput": {
      "base": "<p>Describes the inputs for DescribeAlarmsForMetric.</p>",
      "refs": {
      }
    },
    "DescribeAlarmsForMetricOutput": {
      "base": "<p> The output for <a>DescribeAlarmsForMetric</a>. </p>",
      "refs": {
      }
    },
    "DescribeAlarmsInput": {
      "base": "<p>Describes the inputs for DescribeAlarms.</p>",
      "refs": {
      }
    },
    "DescribeAlarmsOutput": {
      "base": "<p>The output for <a>DescribeAlarms</a>.</p>",
      "refs": {
      }
    },
    "Dimension": {
      "base": "<p> The <code>Dimension</code> data type further expands on the identity of a metric using a Name, Value pair. </p> <p>For examples that use one or more dimensions, see <a>PutMetricData</a>.</p>",
      "refs": {
        "Dimensions$member": null
      }
    },
    "DimensionFilter": {
      "base": "<p> The <code>DimensionFilter</code> data type is used to filter <a>ListMetrics</a> results. </p>",
      "refs": {
        "DimensionFilters$member": null
      }
    },
    "DimensionFilters": {
      "base": null,
      "refs": {
        "ListMetricsInput$Dimensions": "<p>A list of dimensions to filter against.</p>"
      }
    },
    "DimensionName": {
      "base": null,
      "refs": {
        "Dimension$Name": "<p>The name of the dimension.</p>",
        "DimensionFilter$Name": "<p>The dimension name to be matched.</p>"
      }
    },
    "DimensionValue": {
      "base": null,
      "refs": {
        "Dimension$Value": "<p>The value representing the dimension measurement</p>",
        "DimensionFilter$Value": "<p>The value of the dimension to be matched.</p> <note> <p>Specifying a <code>Name</code> without specifying a <code>Value</code> returns all values associated with that <code>Name</code>.</p> </note>"
      }
    },
    "Dimensions": {
      "base": null,
      "refs": {
        "DescribeAlarmsForMetricInput$Dimensions": "<p>The list of dimensions associated with the metric. If the metric has any associated dimensions, you must specify them in order for the DescribeAlarmsForMetric to succeed.</p>",
        "GetMetricStatisticsInput$Dimensions": "<p>A list of dimensions describing qualities of the metric.</p>",
        "Metric$Dimensions": "<p>A list of dimensions associated with the metric.</p>",
        "MetricAlarm$Dimensions": "<p>The list of dimensions associated with the alarm's associated metric.</p>",
        "MetricDatum$Dimensions": "<p>A list of dimensions associated with the metric. Note, when using the Dimensions value in a query, you need to append .member.N to it (e.g., Dimensions.member.N).</p>",
        "PutMetricAlarmInput$Dimensions": "<p>The dimensions for the alarm's associated metric.</p>"
      }
    },
    "DisableAlarmActionsInput": {
      "base": "<p/>",
      "refs": {
      }
    },
    "EnableAlarmActionsInput": {
      "base": "<p>Describes the inputs for EnableAlarmActions.</p>",
      "refs": {
      }
    },
    "ErrorMessage": {
      "base": null,
      "refs": {
        "InvalidFormatFault$message": "<p/>",
        "InvalidNextToken$message": "<p/>",
        "LimitExceededFault$message": "<p/>",
        "ResourceNotFound$message": "<p/>"
      }
    },
    "EvaluationPeriods": {
      "base": null,
      "refs": {
        "MetricAlarm$EvaluationPeriods": "<p>The number of periods over which data is compared to the specified threshold.</p>",
        "PutMetricAlarmInput$EvaluationPeriods": "<p>The number of periods over which data is compared to the specified threshold.</p>"
      }
    },
    "FaultDescription": {
      "base": null,
      "refs": {
        "InternalServiceFault$Message": "<p/>"
      }
    },
    "GetMetricStatisticsInput": {
      "base": "<p>Describes the inputs for GetMetricStatistics.</p>",
      "refs": {
      }
    },
    "GetMetricStatisticsOutput": {
      "base": "<p> The output for <a>GetMetricStatistics</a>. </p>",
      "refs": {
      }
    },
    "HistoryData": {
      "base": null,
      "refs": {
        "AlarmHistoryItem$HistoryData": "<p>Machine-readable data about the alarm in JSON format.</p>"
      }
    },
    "HistoryItemType": {
      "base": null,
      "refs": {
        "AlarmHistoryItem$HistoryItemType": "<p>The type of alarm history item.</p>",
        "DescribeAlarmHistoryInput$HistoryItemType": "<p>The type of alarm histories to retrieve.</p>"
      }
    },
    "HistorySummary": {
      "base": null,
      "refs": {
        "AlarmHistoryItem$HistorySummary": "<p>A human-readable summary of the alarm history.</p>"
      }
    },
    "InternalServiceFault": {
      "base": "<p>Indicates that the request processing has failed due to some unknown error, exception, or failure.</p>",
      "refs": {
      }
    },
    "InvalidFormatFault": {
      "base": "<p>Data was not syntactically valid JSON.</p>",
      "refs": {
      }
    },
    "InvalidNextToken": {
      "base": "<p>The next token specified is invalid.</p>",
      "refs": {
      }
    },
    "InvalidParameterCombinationException": {
      "base": "<p>Parameters that must not be used together were used together.</p>",
      "refs": {
      }
    },
    "InvalidParameterValueException": {
      "base": "<p>Bad or out-of-range value was supplied for the input parameter.</p>",
      "refs": {
      }
    },
    "LimitExceededFault": {
      "base": "<p>The quota for alarms for this customer has already been reached.</p>",
      "refs": {
      }
    },
    "ListMetricsInput": {
      "base": "<p>Describes the inputs for ListMetrics.</p>",
      "refs": {
      }
    },
    "ListMetricsOutput": {
      "base": "<p> The output for <a>ListMetrics</a>. </p>",
      "refs": {
      }
    },
    "MaxRecords": {
      "base": null,
      "refs": {
        "DescribeAlarmHistoryInput$MaxRecords": "<p>The maximum number of alarm history records to retrieve.</p>",
        "DescribeAlarmsInput$MaxRecords": "<p>The maximum number of alarm descriptions to retrieve.</p>"
      }
    },
    "Metric": {
      "base": "<p> The <code>Metric</code> data type contains information about a specific metric. If you call <a>ListMetrics</a>, Amazon CloudWatch returns information contained by this data type. </p> <p>The example in the Examples section publishes two metrics named buffers and latency. Both metrics are in the examples namespace. Both metrics have two dimensions, InstanceID and InstanceType.</p>",
      "refs": {
        "Metrics$member": null
      }
    },
    "MetricAlarm": {
      "base": "<p> The <a>MetricAlarm</a> data type represents an alarm. You can use <a>PutMetricAlarm</a> to create or update an alarm. </p>",
      "refs": {
        "MetricAlarms$member": null
      }
    },
    "MetricAlarms": {
      "base": null,
      "refs": {
        "DescribeAlarmsForMetricOutput$MetricAlarms": "<p>A list of information for each alarm with the specified metric.</p>",
        "DescribeAlarmsOutput$MetricAlarms": "<p>A list of information for the specified alarms.</p>"
      }
    },
    "MetricData": {
      "base": null,
      "refs": {
        "PutMetricDataInput$MetricData": "<p>A list of data describing the metric.</p>"
      }
    },
    "MetricDatum": {
      "base": "<p> The <code>MetricDatum</code> data type encapsulates the information sent with <a>PutMetricData</a> to either create a new metric or add new values to be aggregated into an existing metric. </p>",
      "refs": {
        "MetricData$member": null
      }
    },
    "MetricLabel": {
      "base": null,
      "refs": {
        "GetMetricStatisticsOutput$Label": "<p>A label describing the specified metric.</p>"
      }
    },
    "MetricName": {
      "base": null,
      "refs": {
        "DescribeAlarmsForMetricInput$MetricName": "<p>The name of the metric.</p>",
        "GetMetricStatisticsInput$MetricName": "<p>The name of the metric, with or without spaces.</p>",
        "ListMetricsInput$MetricName": "<p>The name of the metric to filter against.</p>",
        "Metric$MetricName": "<p>The name of the metric.</p>",
        "MetricAlarm$MetricName": "<p>The name of the alarm's metric.</p>",
        "MetricDatum$MetricName": "<p>The name of the metric.</p>",
        "PutMetricAlarmInput$MetricName": "<p>The name for the alarm's associated metric.</p>"
      }
    },
    "Metrics": {
      "base": null,
      "refs": {
        "ListMetricsOutput$Metrics": "<p>A list of metrics used to generate statistics for an AWS account.</p>"
      }
    },
    "MissingRequiredParameterException": {
      "base": "<p>An input parameter that is mandatory for processing the request is not supplied.</p>",
      "refs": {
      }
    },
    "Namespace": {
      "base": null,
      "refs": {
        "DescribeAlarmsForMetricInput$Namespace": "<p>The namespace of the metric.</p>",
        "GetMetricStatisticsInput$Namespace": "<p>The namespace of the metric, with or without spaces.</p>",
        "ListMetricsInput$Namespace": "<p>The namespace to filter against.</p>",
        "Metric$Namespace": "<p>The namespace of the metric.</p>",
        "MetricAlarm$Namespace": "<p>The namespace of alarm's associated metric.</p>",
        "PutMetricAlarmInput$Namespace": "<p>The namespace for the alarm's associated metric.</p>",
        "PutMetricDataInput$Namespace": "<p>The namespace for the metric data.</p> <note> <p>You cannot specify a namespace that begins with \"AWS/\". Namespaces that begin with \"AWS/\" are reserved for other Amazon Web Services products that send metrics to Amazon CloudWatch.</p> </note>"
      }
    },
    "NextToken": {
      "base": null,
      "refs": {
        "DescribeAlarmHistoryInput$NextToken": "<p>The token returned by a previous call to indicate that there is more data available.</p>",
        "DescribeAlarmHistoryOutput$NextToken": "<p>A string that marks the start of the next batch of returned results.</p>",
        "DescribeAlarmsInput$NextToken": "<p>The token returned by a previous call to indicate that there is more data available.</p>",
        "DescribeAlarmsOutput$NextToken": "<p>A string that marks the start of the next batch of returned results.</p>",
        "ListMetricsInput$NextToken": "<p>The token returned by a previous call to indicate that there is more data available.</p>",
        "ListMetricsOutput$NextToken": "<p>A string that marks the start of the next batch of returned results.</p>"
      }
    },
    "Period": {
      "base": null,
      "refs": {
        "DescribeAlarmsForMetricInput$Period": "<p>The period in seconds over which the statistic is applied.</p>",
        "GetMetricStatisticsInput$Period": "<p> The granularity, in seconds, of the returned datapoints. A <code>Period</code> can be as short as one minute (60 seconds) or as long as one day (86,400 seconds), and must be a multiple of 60. The default value is 60. </p>",
        "MetricAlarm$Period": "<p>The period in seconds over which the statistic is applied.</p>",
        "PutMetricAlarmInput$Period": "<p>The period in seconds over which the specified statistic is applied.</p>"
      }
    },
    "PutMetricAlarmInput": {
      "base": "<p>Describes the inputs for PutMetricAlarm.</p>",
      "refs": {
      }
    },
    "PutMetricDataInput": {
      "base": "<p>Describes the inputs for PutMetricData.</p>",
      "refs": {
      }
    },
    "ResourceList": {
      "base": null,
      "refs": {
        "MetricAlarm$OKActions": "<p> The list of actions to execute when this alarm transitions into an <code>OK</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN). </p>",
        "MetricAlarm$AlarmActions": "<p> The list of actions to execute when this alarm transitions into an <code>ALARM</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN). </p>",
        "MetricAlarm$InsufficientDataActions": "<p> The list of actions to execute when this alarm transitions into an <code>INSUFFICIENT_DATA</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN). </p> <important> <p>The current WSDL lists this attribute as <code>UnknownActions</code>.</p> </important>",
        "PutMetricAlarmInput$OKActions": "<p> The list of actions to execute when this alarm transitions into an <code>OK</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN). </p> <p>Valid Values: arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:stop | arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:terminate | arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:recover</p> <p>Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Reboot/1.0</p> <p> <b>Note:</b> You must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the <b>EC2ActionsAccess</b> IAM role for the first time. After this IAM role is created, you can create stop, terminate, or reboot alarms using the CLI.</p>",
        "PutMetricAlarmInput$AlarmActions": "<p> The list of actions to execute when this alarm transitions into an <code>ALARM</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN). </p> <p>Valid Values: arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:stop | arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:terminate | arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:recover</p> <p>Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Reboot/1.0</p> <p> <b>Note:</b> You must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the <b>EC2ActionsAccess</b> IAM role for the first time. After this IAM role is created, you can create stop, terminate, or reboot alarms using the CLI.</p>",
        "PutMetricAlarmInput$InsufficientDataActions": "<p> The list of actions to execute when this alarm transitions into an <code>INSUFFICIENT_DATA</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN). </p> <p>Valid Values: arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:stop | arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:terminate | arn:aws:automate:<i>region (e.g., us-east-1)</i>:ec2:recover</p> <p>Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{<i>customer-account</i>}:action/actions/AWS_EC2.InstanceId.Reboot/1.0</p> <p> <b>Note:</b> You must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the <b>EC2ActionsAccess</b> IAM role for the first time. After this IAM role is created, you can create stop, terminate, or reboot alarms using the CLI.</p>"
      }
    },
    "ResourceName": {
      "base": null,
      "refs": {
        "ResourceList$member": null
      }
    },
    "ResourceNotFound": {
      "base": "<p>The named resource does not exist.</p>",
      "refs": {
      }
    },
    "SetAlarmStateInput": {
      "base": "<p>Describes the inputs for SetAlarmState.</p>",
      "refs": {
      }
    },
    "StandardUnit": {
      "base": null,
      "refs": {
        "Datapoint$Unit": "<p>The standard unit used for the datapoint.</p>",
        "DescribeAlarmsForMetricInput$Unit": "<p>The unit for the metric.</p>",
        "GetMetricStatisticsInput$Unit": "<p>The specific unit for a given metric. Metrics may be reported in multiple units. Not supplying a unit results in all units being returned. If the metric only ever reports one unit, specifying a unit will have no effect.</p>",
        "MetricAlarm$Unit": "<p>The unit of the alarm's associated metric.</p>",
        "MetricDatum$Unit": "<p>The unit of the metric.</p>",
        "PutMetricAlarmInput$Unit": "<p>The statistic's unit of measure. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately.</p> <p> <b>Note:</b> If you specify a unit, you must use a unit that is appropriate for the metric. Otherwise, this can cause an Amazon CloudWatch alarm to get stuck in the INSUFFICIENT DATA state. </p>"
      }
    },
    "StateReason": {
      "base": null,
      "refs": {
        "MetricAlarm$StateReason": "<p>A human-readable explanation for the alarm's state.</p>",
        "SetAlarmStateInput$StateReason": "<p>The reason that this alarm is set to this specific state (in human-readable text format)</p>"
      }
    },
    "StateReasonData": {
      "base": null,
      "refs": {
        "MetricAlarm$StateReasonData": "<p>An explanation for the alarm's state in machine-readable JSON format</p>",
        "SetAlarmStateInput$StateReasonData": "<p>The reason that this alarm is set to this specific state (in machine-readable JSON format)</p>"
      }
    },
    "StateValue": {
      "base": null,
      "refs": {
        "DescribeAlarmsInput$StateValue": "<p>The state value to be used in matching alarms.</p>",
        "MetricAlarm$StateValue": "<p>The state value for the alarm.</p>",
        "SetAlarmStateInput$StateValue": "<p>The value of the state.</p>"
      }
    },
    "Statistic": {
      "base": null,
      "refs": {
        "DescribeAlarmsForMetricInput$Statistic": "<p>The statistic for the metric.</p>",
        "MetricAlarm$Statistic": "<p>The statistic to apply to the alarm's associated metric.</p>",
        "PutMetricAlarmInput$Statistic": "<p>The statistic to apply to the alarm's associated metric.</p>",
        "Statistics$member": null
      }
    },
    "StatisticSet": {
      "base": "<p> The <code>StatisticSet</code> data type describes the <code>StatisticValues</code> component of <a>MetricDatum</a>, and represents a set of statistics that describes a specific metric. </p>",
      "refs": {
        "MetricDatum$StatisticValues": "<p>A set of statistical values describing the metric.</p>"
      }
    },
    "Statistics": {
      "base": null,
      "refs": {
        "GetMetricStatisticsInput$Statistics": "<p> The metric statistics to return. For information about specific statistics returned by GetMetricStatistics, see <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Statistic\">Statistics</a> in the <i>Amazon CloudWatch Developer Guide</i>. </p>"
      }
    },
    "Threshold": {
      "base": null,
      "refs": {
        "MetricAlarm$Threshold": "<p>The value against which the specified statistic is compared.</p>",
        "PutMetricAlarmInput$Threshold": "<p>The value against which the specified statistic is compared.</p>"
      }
    },
    "Timestamp": {
      "base": null,
      "refs": {
        "AlarmHistoryItem$Timestamp": "<p>The time stamp for the alarm history item.</p>",
        "Datapoint$Timestamp": "<p>The time stamp used for the datapoint.</p>",
        "DescribeAlarmHistoryInput$StartDate": "<p>The starting date to retrieve alarm history.</p>",
        "DescribeAlarmHistoryInput$EndDate": "<p>The ending date to retrieve alarm history.</p>",
        "GetMetricStatisticsInput$StartTime": "<p>The time stamp to use for determining the first datapoint to return. The value specified is inclusive; results include datapoints with the time stamp specified. The time stamp must be in ISO 8601 UTC format (e.g., 2014-09-03T23:00:00Z).</p> <note> <p>The specified start time is rounded down to the nearest value. Datapoints are returned for start times up to two weeks in the past. Specified start times that are more than two weeks in the past will not return datapoints for metrics that are older than two weeks.</p> <p>Data that is timestamped 24 hours or more in the past may take in excess of 48 hours to become available from submission time using <code>GetMetricStatistics</code>.</p> </note>",
        "GetMetricStatisticsInput$EndTime": "<p>The time stamp to use for determining the last datapoint to return. The value specified is exclusive; results will include datapoints up to the time stamp specified. The time stamp must be in ISO 8601 UTC format (e.g., 2014-09-03T23:00:00Z).</p>",
        "MetricAlarm$AlarmConfigurationUpdatedTimestamp": "<p>The time stamp of the last update to the alarm configuration.</p>",
        "MetricAlarm$StateUpdatedTimestamp": "<p>The time stamp of the last update to the alarm's state.</p>",
        "MetricDatum$Timestamp": "<p>The time stamp used for the metric in ISO 8601 Universal Coordinated Time (UTC) format. If not specified, the default value is set to the time the metric data was received.</p>"
      }
    }
  }
}
