git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

cloudwatch.d.ts (38741B)


      1 import {Request} from '../lib/request';
      2 import {Response} from '../lib/response';
      3 import {AWSError} from '../lib/error';
      4 import {Service} from '../lib/service';
      5 import {ServiceConfigurationOptions} from '../lib/service';
      6 import {ConfigBase as Config} from '../lib/config';
      7 interface Blob {}
      8 declare class CloudWatch extends Service {
      9   /**
     10    * Constructs a service object. This object has one method for each API operation.
     11    */
     12   constructor(options?: CloudWatch.Types.ClientConfiguration)
     13   config: Config & CloudWatch.Types.ClientConfiguration;
     14   /**
     15    * Deletes the specified alarms. In the event of an error, no alarms are deleted.
     16    */
     17   deleteAlarms(params: CloudWatch.Types.DeleteAlarmsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     18   /**
     19    * Deletes the specified alarms. In the event of an error, no alarms are deleted.
     20    */
     21   deleteAlarms(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     22   /**
     23    * Retrieves the history for the specified alarm. You can filter the results by date range or item type. If an alarm name is not specified, the histories for all alarms are returned. Note that Amazon CloudWatch retains the history of an alarm even if you delete the alarm.
     24    */
     25   describeAlarmHistory(params: CloudWatch.Types.DescribeAlarmHistoryInput, callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmHistoryOutput) => void): Request<CloudWatch.Types.DescribeAlarmHistoryOutput, AWSError>;
     26   /**
     27    * Retrieves the history for the specified alarm. You can filter the results by date range or item type. If an alarm name is not specified, the histories for all alarms are returned. Note that Amazon CloudWatch retains the history of an alarm even if you delete the alarm.
     28    */
     29   describeAlarmHistory(callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmHistoryOutput) => void): Request<CloudWatch.Types.DescribeAlarmHistoryOutput, AWSError>;
     30   /**
     31    * Retrieves the specified alarms. If no alarms are specified, all alarms are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action.
     32    */
     33   describeAlarms(params: CloudWatch.Types.DescribeAlarmsInput, callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmsOutput) => void): Request<CloudWatch.Types.DescribeAlarmsOutput, AWSError>;
     34   /**
     35    * Retrieves the specified alarms. If no alarms are specified, all alarms are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action.
     36    */
     37   describeAlarms(callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmsOutput) => void): Request<CloudWatch.Types.DescribeAlarmsOutput, AWSError>;
     38   /**
     39    * Retrieves the alarms for the specified metric. Specify a statistic, period, or unit to filter the results.
     40    */
     41   describeAlarmsForMetric(params: CloudWatch.Types.DescribeAlarmsForMetricInput, callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmsForMetricOutput) => void): Request<CloudWatch.Types.DescribeAlarmsForMetricOutput, AWSError>;
     42   /**
     43    * Retrieves the alarms for the specified metric. Specify a statistic, period, or unit to filter the results.
     44    */
     45   describeAlarmsForMetric(callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmsForMetricOutput) => void): Request<CloudWatch.Types.DescribeAlarmsForMetricOutput, AWSError>;
     46   /**
     47    * Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes.
     48    */
     49   disableAlarmActions(params: CloudWatch.Types.DisableAlarmActionsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     50   /**
     51    * Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes.
     52    */
     53   disableAlarmActions(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     54   /**
     55    * Enables the actions for the specified alarms.
     56    */
     57   enableAlarmActions(params: CloudWatch.Types.EnableAlarmActionsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     58   /**
     59    * Enables the actions for the specified alarms.
     60    */
     61   enableAlarmActions(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     62   /**
     63    * Gets statistics for the specified metric. Amazon CloudWatch retains metric data as follows:   Data points with a period of 60 seconds (1 minute) are available for 15 days   Data points with a period of 300 seconds (5 minute) are available for 63 days   Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months)   Note that CloudWatch started retaining 5-minute and 1-hour metric data as of 9 July 2016. The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, Amazon CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. A period can be as short as one minute (60 seconds). Note that data points are not returned in chronological order. Amazon CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, Amazon CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned. For a list of metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.
     64    */
     65   getMetricStatistics(params: CloudWatch.Types.GetMetricStatisticsInput, callback?: (err: AWSError, data: CloudWatch.Types.GetMetricStatisticsOutput) => void): Request<CloudWatch.Types.GetMetricStatisticsOutput, AWSError>;
     66   /**
     67    * Gets statistics for the specified metric. Amazon CloudWatch retains metric data as follows:   Data points with a period of 60 seconds (1 minute) are available for 15 days   Data points with a period of 300 seconds (5 minute) are available for 63 days   Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months)   Note that CloudWatch started retaining 5-minute and 1-hour metric data as of 9 July 2016. The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, Amazon CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. A period can be as short as one minute (60 seconds). Note that data points are not returned in chronological order. Amazon CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, Amazon CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned. For a list of metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.
     68    */
     69   getMetricStatistics(callback?: (err: AWSError, data: CloudWatch.Types.GetMetricStatisticsOutput) => void): Request<CloudWatch.Types.GetMetricStatisticsOutput, AWSError>;
     70   /**
     71    * List the specified metrics. You can use the returned metrics with GetMetricStatistics to obtain statistical data. Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls. After you create a metric, allow up to fifteen minutes before the metric appears. Statistics about the metric, however, are available sooner using GetMetricStatistics.
     72    */
     73   listMetrics(params: CloudWatch.Types.ListMetricsInput, callback?: (err: AWSError, data: CloudWatch.Types.ListMetricsOutput) => void): Request<CloudWatch.Types.ListMetricsOutput, AWSError>;
     74   /**
     75    * List the specified metrics. You can use the returned metrics with GetMetricStatistics to obtain statistical data. Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls. After you create a metric, allow up to fifteen minutes before the metric appears. Statistics about the metric, however, are available sooner using GetMetricStatistics.
     76    */
     77   listMetrics(callback?: (err: AWSError, data: CloudWatch.Types.ListMetricsOutput) => void): Request<CloudWatch.Types.ListMetricsOutput, AWSError>;
     78   /**
     79    * Creates or updates an alarm and associates it with the specified metric. Optionally, this operation can associate one or more Amazon SNS resources with the alarm. When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is evaluated and its state is set appropriately. Any actions associated with the state are then executed. When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. If you are an AWS Identity and Access Management (IAM) user, you must have Amazon EC2 permissions for some operations:    ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics    ec2:StopInstances for alarms with stop actions    ec2:TerminateInstances for alarms with terminate actions    ec2:DescribeInstanceRecoveryAttribute and ec2:RecoverInstances for alarms with recover actions   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. However, if you are later granted the required permissions, the alarm actions that you created earlier will be performed. If you are using an IAM role (for example, 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. 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. Note that you must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role. After this IAM role is created, you can create stop, terminate, or reboot alarms using a command-line interface or an API.
     80    */
     81   putMetricAlarm(params: CloudWatch.Types.PutMetricAlarmInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     82   /**
     83    * Creates or updates an alarm and associates it with the specified metric. Optionally, this operation can associate one or more Amazon SNS resources with the alarm. When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is evaluated and its state is set appropriately. Any actions associated with the state are then executed. When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. If you are an AWS Identity and Access Management (IAM) user, you must have Amazon EC2 permissions for some operations:    ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics    ec2:StopInstances for alarms with stop actions    ec2:TerminateInstances for alarms with terminate actions    ec2:DescribeInstanceRecoveryAttribute and ec2:RecoverInstances for alarms with recover actions   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. However, if you are later granted the required permissions, the alarm actions that you created earlier will be performed. If you are using an IAM role (for example, 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. 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. Note that you must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role. After this IAM role is created, you can create stop, terminate, or reboot alarms using a command-line interface or an API.
     84    */
     85   putMetricAlarm(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     86   /**
     87    * 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 ListMetrics. Each PutMetricData request is limited to 8 KB in size for HTTP GET requests and is limited to 40 KB in size for HTTP POST requests. Although the Value parameter accepts numbers of type Double, 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. Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricStatistics from the time they are submitted.
     88    */
     89   putMetricData(params: CloudWatch.Types.PutMetricDataInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     90   /**
     91    * 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 ListMetrics. Each PutMetricData request is limited to 8 KB in size for HTTP GET requests and is limited to 40 KB in size for HTTP POST requests. Although the Value parameter accepts numbers of type Double, 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. Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricStatistics from the time they are submitted.
     92    */
     93   putMetricData(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     94   /**
     95    * Temporarily sets the state of an alarm for testing purposes. When the updated state 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 state to ALARM 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 History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.
     96    */
     97   setAlarmState(params: CloudWatch.Types.SetAlarmStateInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     98   /**
     99    * Temporarily sets the state of an alarm for testing purposes. When the updated state 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 state to ALARM 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 History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.
    100    */
    101   setAlarmState(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    102   /**
    103    * Waits for the alarmExists state by periodically calling the underlying CloudWatch.describeAlarmsoperation every 5 seconds (at most 40 times).
    104    */
    105   waitFor(state: "alarmExists", params: CloudWatch.Types.DescribeAlarmsInput, callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmsOutput) => void): Request<CloudWatch.Types.DescribeAlarmsOutput, AWSError>;
    106   /**
    107    * Waits for the alarmExists state by periodically calling the underlying CloudWatch.describeAlarmsoperation every 5 seconds (at most 40 times).
    108    */
    109   waitFor(state: "alarmExists", callback?: (err: AWSError, data: CloudWatch.Types.DescribeAlarmsOutput) => void): Request<CloudWatch.Types.DescribeAlarmsOutput, AWSError>;
    110 }
    111 declare namespace CloudWatch.Types {
    112   export type ActionPrefix = string;
    113   export type ActionsEnabled = boolean;
    114   export type AlarmArn = string;
    115   export type AlarmDescription = string;
    116   export interface AlarmHistoryItem {
    117     /**
    118      * The descriptive name for the alarm.
    119      */
    120     AlarmName?: AlarmName;
    121     /**
    122      * The time stamp for the alarm history item.
    123      */
    124     Timestamp?: Timestamp;
    125     /**
    126      * The type of alarm history item.
    127      */
    128     HistoryItemType?: HistoryItemType;
    129     /**
    130      * A summary of the alarm history, in text format.
    131      */
    132     HistorySummary?: HistorySummary;
    133     /**
    134      * Data about the alarm, in JSON format.
    135      */
    136     HistoryData?: HistoryData;
    137   }
    138   export type AlarmHistoryItems = AlarmHistoryItem[];
    139   export type AlarmName = string;
    140   export type AlarmNamePrefix = string;
    141   export type AlarmNames = AlarmName[];
    142   export type AwsQueryErrorMessage = string;
    143   export type ComparisonOperator = "GreaterThanOrEqualToThreshold"|"GreaterThanThreshold"|"LessThanThreshold"|"LessThanOrEqualToThreshold"|string;
    144   export interface Datapoint {
    145     /**
    146      * The time stamp used for the data point.
    147      */
    148     Timestamp?: Timestamp;
    149     /**
    150      * The number of metric values that contributed to the aggregate value of this data point.
    151      */
    152     SampleCount?: DatapointValue;
    153     /**
    154      * The average of the metric values that correspond to the data point.
    155      */
    156     Average?: DatapointValue;
    157     /**
    158      * The sum of the metric values for the data point.
    159      */
    160     Sum?: DatapointValue;
    161     /**
    162      * The minimum metric value for the data point.
    163      */
    164     Minimum?: DatapointValue;
    165     /**
    166      * The maximum metric value for the data point.
    167      */
    168     Maximum?: DatapointValue;
    169     /**
    170      * The standard unit for the data point.
    171      */
    172     Unit?: StandardUnit;
    173     /**
    174      * The percentile statistic for the data point.
    175      */
    176     ExtendedStatistics?: DatapointValueMap;
    177   }
    178   export type DatapointValue = number;
    179   export type DatapointValueMap = {[key: string]: DatapointValue};
    180   export type Datapoints = Datapoint[];
    181   export interface DeleteAlarmsInput {
    182     /**
    183      * The alarms to be deleted.
    184      */
    185     AlarmNames: AlarmNames;
    186   }
    187   export interface DescribeAlarmHistoryInput {
    188     /**
    189      * The name of the alarm.
    190      */
    191     AlarmName?: AlarmName;
    192     /**
    193      * The type of alarm histories to retrieve.
    194      */
    195     HistoryItemType?: HistoryItemType;
    196     /**
    197      * The starting date to retrieve alarm history.
    198      */
    199     StartDate?: Timestamp;
    200     /**
    201      * The ending date to retrieve alarm history.
    202      */
    203     EndDate?: Timestamp;
    204     /**
    205      * The maximum number of alarm history records to retrieve.
    206      */
    207     MaxRecords?: MaxRecords;
    208     /**
    209      * The token returned by a previous call to indicate that there is more data available.
    210      */
    211     NextToken?: NextToken;
    212   }
    213   export interface DescribeAlarmHistoryOutput {
    214     /**
    215      * The alarm histories, in JSON format.
    216      */
    217     AlarmHistoryItems?: AlarmHistoryItems;
    218     /**
    219      * The token that marks the start of the next batch of returned results.
    220      */
    221     NextToken?: NextToken;
    222   }
    223   export interface DescribeAlarmsForMetricInput {
    224     /**
    225      * The name of the metric.
    226      */
    227     MetricName: MetricName;
    228     /**
    229      * The namespace of the metric.
    230      */
    231     Namespace: Namespace;
    232     /**
    233      * The statistic for the metric, other than percentiles. For percentile statistics, use ExtendedStatistics.
    234      */
    235     Statistic?: Statistic;
    236     /**
    237      * The percentile statistic for the metric. Specify a value between p0.0 and p100.
    238      */
    239     ExtendedStatistic?: ExtendedStatistic;
    240     /**
    241      * The dimensions associated with the metric. If the metric has any associated dimensions, you must specify them in order for the call to succeed.
    242      */
    243     Dimensions?: Dimensions;
    244     /**
    245      * The period, in seconds, over which the statistic is applied.
    246      */
    247     Period?: Period;
    248     /**
    249      * The unit for the metric.
    250      */
    251     Unit?: StandardUnit;
    252   }
    253   export interface DescribeAlarmsForMetricOutput {
    254     /**
    255      * The information for each alarm with the specified metric.
    256      */
    257     MetricAlarms?: MetricAlarms;
    258   }
    259   export interface DescribeAlarmsInput {
    260     /**
    261      * The names of the alarms.
    262      */
    263     AlarmNames?: AlarmNames;
    264     /**
    265      * The alarm name prefix. You cannot specify AlarmNames if this parameter is specified.
    266      */
    267     AlarmNamePrefix?: AlarmNamePrefix;
    268     /**
    269      * The state value to be used in matching alarms.
    270      */
    271     StateValue?: StateValue;
    272     /**
    273      * The action name prefix.
    274      */
    275     ActionPrefix?: ActionPrefix;
    276     /**
    277      * The maximum number of alarm descriptions to retrieve.
    278      */
    279     MaxRecords?: MaxRecords;
    280     /**
    281      * The token returned by a previous call to indicate that there is more data available.
    282      */
    283     NextToken?: NextToken;
    284   }
    285   export interface DescribeAlarmsOutput {
    286     /**
    287      * The information for the specified alarms.
    288      */
    289     MetricAlarms?: MetricAlarms;
    290     /**
    291      * The token that marks the start of the next batch of returned results.
    292      */
    293     NextToken?: NextToken;
    294   }
    295   export interface Dimension {
    296     /**
    297      * The name of the dimension.
    298      */
    299     Name: DimensionName;
    300     /**
    301      * The value representing the dimension measurement.
    302      */
    303     Value: DimensionValue;
    304   }
    305   export interface DimensionFilter {
    306     /**
    307      * The dimension name to be matched.
    308      */
    309     Name: DimensionName;
    310     /**
    311      * The value of the dimension to be matched.
    312      */
    313     Value?: DimensionValue;
    314   }
    315   export type DimensionFilters = DimensionFilter[];
    316   export type DimensionName = string;
    317   export type DimensionValue = string;
    318   export type Dimensions = Dimension[];
    319   export interface DisableAlarmActionsInput {
    320     /**
    321      * The names of the alarms.
    322      */
    323     AlarmNames: AlarmNames;
    324   }
    325   export interface EnableAlarmActionsInput {
    326     /**
    327      * The names of the alarms.
    328      */
    329     AlarmNames: AlarmNames;
    330   }
    331   export type ErrorMessage = string;
    332   export type EvaluationPeriods = number;
    333   export type ExtendedStatistic = string;
    334   export type ExtendedStatistics = ExtendedStatistic[];
    335   export type FaultDescription = string;
    336   export interface GetMetricStatisticsInput {
    337     /**
    338      * The namespace of the metric, with or without spaces.
    339      */
    340     Namespace: Namespace;
    341     /**
    342      * The name of the metric, with or without spaces.
    343      */
    344     MetricName: MetricName;
    345     /**
    346      * The dimensions. CloudWatch treats each unique combination of dimensions as a separate metric. You can't retrieve statistics using combinations of dimensions that were not specially published. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide.
    347      */
    348     Dimensions?: Dimensions;
    349     /**
    350      * The time stamp that determines the first data point to return. Note that start times are evaluated relative to the time that CloudWatch receives the request. The value specified is inclusive; results include data points with the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z). CloudWatch rounds the specified time stamp as follows:   Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.   Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.   Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.  
    351      */
    352     StartTime: Timestamp;
    353     /**
    354      * The time stamp that determines the last data point to return. The value specified is exclusive; results will include data points up to the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).
    355      */
    356     EndTime: Timestamp;
    357     /**
    358      * The granularity, in seconds, of the returned data points. A period can be as short as one minute (60 seconds) and must be a multiple of 60. The default value is 60. If the StartTime parameter specifies a time stamp that is greater than 15 days ago, you must specify the period as follows or no data points in that time range is returned:   Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).   Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).  
    359      */
    360     Period: Period;
    361     /**
    362      * The metric statistics, other than percentile. For percentile statistics, use ExtendedStatistic.
    363      */
    364     Statistics?: Statistics;
    365     /**
    366      * The percentile statistics. Specify values between p0.0 and p100.
    367      */
    368     ExtendedStatistics?: ExtendedStatistics;
    369     /**
    370      * The 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 has no effect.
    371      */
    372     Unit?: StandardUnit;
    373   }
    374   export interface GetMetricStatisticsOutput {
    375     /**
    376      * A label for the specified metric.
    377      */
    378     Label?: MetricLabel;
    379     /**
    380      * The data points for the specified metric.
    381      */
    382     Datapoints?: Datapoints;
    383   }
    384   export type HistoryData = string;
    385   export type HistoryItemType = "ConfigurationUpdate"|"StateUpdate"|"Action"|string;
    386   export type HistorySummary = string;
    387   export interface ListMetricsInput {
    388     /**
    389      * The namespace to filter against.
    390      */
    391     Namespace?: Namespace;
    392     /**
    393      * The name of the metric to filter against.
    394      */
    395     MetricName?: MetricName;
    396     /**
    397      * The dimensions to filter against.
    398      */
    399     Dimensions?: DimensionFilters;
    400     /**
    401      * The token returned by a previous call to indicate that there is more data available.
    402      */
    403     NextToken?: NextToken;
    404   }
    405   export interface ListMetricsOutput {
    406     /**
    407      * The metrics.
    408      */
    409     Metrics?: Metrics;
    410     /**
    411      * The token that marks the start of the next batch of returned results.
    412      */
    413     NextToken?: NextToken;
    414   }
    415   export type MaxRecords = number;
    416   export interface Metric {
    417     /**
    418      * The namespace of the metric.
    419      */
    420     Namespace?: Namespace;
    421     /**
    422      * The name of the metric.
    423      */
    424     MetricName?: MetricName;
    425     /**
    426      * The dimensions for the metric.
    427      */
    428     Dimensions?: Dimensions;
    429   }
    430   export interface MetricAlarm {
    431     /**
    432      * The name of the alarm.
    433      */
    434     AlarmName?: AlarmName;
    435     /**
    436      * The Amazon Resource Name (ARN) of the alarm.
    437      */
    438     AlarmArn?: AlarmArn;
    439     /**
    440      * The description of the alarm.
    441      */
    442     AlarmDescription?: AlarmDescription;
    443     /**
    444      * The time stamp of the last update to the alarm configuration.
    445      */
    446     AlarmConfigurationUpdatedTimestamp?: Timestamp;
    447     /**
    448      * Indicates whether actions should be executed during any changes to the alarm state.
    449      */
    450     ActionsEnabled?: ActionsEnabled;
    451     /**
    452      * The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).
    453      */
    454     OKActions?: ResourceList;
    455     /**
    456      * The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).
    457      */
    458     AlarmActions?: ResourceList;
    459     /**
    460      * The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).
    461      */
    462     InsufficientDataActions?: ResourceList;
    463     /**
    464      * The state value for the alarm.
    465      */
    466     StateValue?: StateValue;
    467     /**
    468      * An explanation for the alarm state, in text format.
    469      */
    470     StateReason?: StateReason;
    471     /**
    472      * An explanation for the alarm state, in JSON format.
    473      */
    474     StateReasonData?: StateReasonData;
    475     /**
    476      * The time stamp of the last update to the alarm state.
    477      */
    478     StateUpdatedTimestamp?: Timestamp;
    479     /**
    480      * The name of the metric associated with the alarm.
    481      */
    482     MetricName?: MetricName;
    483     /**
    484      * The namespace of the metric associated with the alarm.
    485      */
    486     Namespace?: Namespace;
    487     /**
    488      * The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic.
    489      */
    490     Statistic?: Statistic;
    491     /**
    492      * The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
    493      */
    494     ExtendedStatistic?: ExtendedStatistic;
    495     /**
    496      * The dimensions for the metric associated with the alarm.
    497      */
    498     Dimensions?: Dimensions;
    499     /**
    500      * The period, in seconds, over which the statistic is applied.
    501      */
    502     Period?: Period;
    503     /**
    504      * The unit of the metric associated with the alarm.
    505      */
    506     Unit?: StandardUnit;
    507     /**
    508      * The number of periods over which data is compared to the specified threshold.
    509      */
    510     EvaluationPeriods?: EvaluationPeriods;
    511     /**
    512      * The value to compare with the specified statistic.
    513      */
    514     Threshold?: Threshold;
    515     /**
    516      * The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.
    517      */
    518     ComparisonOperator?: ComparisonOperator;
    519   }
    520   export type MetricAlarms = MetricAlarm[];
    521   export type MetricData = MetricDatum[];
    522   export interface MetricDatum {
    523     /**
    524      * The name of the metric.
    525      */
    526     MetricName: MetricName;
    527     /**
    528      * The dimensions associated with the metric.
    529      */
    530     Dimensions?: Dimensions;
    531     /**
    532      * The time the metric data was received, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.
    533      */
    534     Timestamp?: Timestamp;
    535     /**
    536      * The value for the metric. Although the parameter accepts numbers of type Double, 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 (for example, NaN, +Infinity, -Infinity) are not supported.
    537      */
    538     Value?: DatapointValue;
    539     /**
    540      * The statistical values for the metric.
    541      */
    542     StatisticValues?: StatisticSet;
    543     /**
    544      * The unit of the metric.
    545      */
    546     Unit?: StandardUnit;
    547   }
    548   export type MetricLabel = string;
    549   export type MetricName = string;
    550   export type Metrics = Metric[];
    551   export type Namespace = string;
    552   export type NextToken = string;
    553   export type Period = number;
    554   export interface PutMetricAlarmInput {
    555     /**
    556      * The name for the alarm. This name must be unique within the AWS account.
    557      */
    558     AlarmName: AlarmName;
    559     /**
    560      * The description for the alarm.
    561      */
    562     AlarmDescription?: AlarmDescription;
    563     /**
    564      * Indicates whether actions should be executed during any changes to the alarm state.
    565      */
    566     ActionsEnabled?: ActionsEnabled;
    567     /**
    568      * The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0
    569      */
    570     OKActions?: ResourceList;
    571     /**
    572      * The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0
    573      */
    574     AlarmActions?: ResourceList;
    575     /**
    576      * The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0
    577      */
    578     InsufficientDataActions?: ResourceList;
    579     /**
    580      * The name for the metric associated with the alarm.
    581      */
    582     MetricName: MetricName;
    583     /**
    584      * The namespace for the metric associated with the alarm.
    585      */
    586     Namespace: Namespace;
    587     /**
    588      * The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic.
    589      */
    590     Statistic?: Statistic;
    591     /**
    592      * The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
    593      */
    594     ExtendedStatistic?: ExtendedStatistic;
    595     /**
    596      * The dimensions for the metric associated with the alarm.
    597      */
    598     Dimensions?: Dimensions;
    599     /**
    600      * The period, in seconds, over which the specified statistic is applied.
    601      */
    602     Period: Period;
    603     /**
    604      * The unit of measure for the statistic. 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. If you specify a unit, you must use a unit that is appropriate for the metric. Otherwise, the Amazon CloudWatch alarm can get stuck in the INSUFFICIENT DATA state. 
    605      */
    606     Unit?: StandardUnit;
    607     /**
    608      * The number of periods over which data is compared to the specified threshold.
    609      */
    610     EvaluationPeriods: EvaluationPeriods;
    611     /**
    612      * The value against which the specified statistic is compared.
    613      */
    614     Threshold: Threshold;
    615     /**
    616      *  The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.
    617      */
    618     ComparisonOperator: ComparisonOperator;
    619   }
    620   export interface PutMetricDataInput {
    621     /**
    622      * The namespace for the metric data. You cannot specify a namespace that begins with "AWS/". Namespaces that begin with "AWS/" are reserved for use by Amazon Web Services products.
    623      */
    624     Namespace: Namespace;
    625     /**
    626      * The data for the metric.
    627      */
    628     MetricData: MetricData;
    629   }
    630   export type ResourceList = ResourceName[];
    631   export type ResourceName = string;
    632   export interface SetAlarmStateInput {
    633     /**
    634      * The name for the alarm. This name must be unique within the AWS account. The maximum length is 255 characters.
    635      */
    636     AlarmName: AlarmName;
    637     /**
    638      * The value of the state.
    639      */
    640     StateValue: StateValue;
    641     /**
    642      * The reason that this alarm is set to this specific state, in text format.
    643      */
    644     StateReason: StateReason;
    645     /**
    646      * The reason that this alarm is set to this specific state, in JSON format.
    647      */
    648     StateReasonData?: StateReasonData;
    649   }
    650   export type 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"|string;
    651   export type StateReason = string;
    652   export type StateReasonData = string;
    653   export type StateValue = "OK"|"ALARM"|"INSUFFICIENT_DATA"|string;
    654   export type Statistic = "SampleCount"|"Average"|"Sum"|"Minimum"|"Maximum"|string;
    655   export interface StatisticSet {
    656     /**
    657      * The number of samples used for the statistic set.
    658      */
    659     SampleCount: DatapointValue;
    660     /**
    661      * The sum of values for the sample set.
    662      */
    663     Sum: DatapointValue;
    664     /**
    665      * The minimum value of the sample set.
    666      */
    667     Minimum: DatapointValue;
    668     /**
    669      * The maximum value of the sample set.
    670      */
    671     Maximum: DatapointValue;
    672   }
    673   export type Statistics = Statistic[];
    674   export type Threshold = number;
    675   export type Timestamp = Date;
    676   /**
    677    * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
    678    */
    679   export type apiVersion = "2010-08-01"|"latest"|string;
    680   export interface ClientApiVersions {
    681     /**
    682      * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
    683      */
    684     apiVersion?: apiVersion;
    685   }
    686   export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
    687 }
    688 export = CloudWatch;