aws-sdk-cloudwatch 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48d9aa663940824517dcdfdfa92aad12885b40b4
4
- data.tar.gz: 3e5cf0dc65052892ac7bd9b3a33f2ab403c7e025
3
+ metadata.gz: 685e98cfaecb5af8b1aee48655bb4d6521121e94
4
+ data.tar.gz: 17429224187972f355db51ff811ec87e284b7cef
5
5
  SHA512:
6
- metadata.gz: f4ffe66e229cf3a26b4894e9f164b53759348d33a08f06c436bc2d33b63765b6d2989db22da68a3e85c5af480fd2318f014d6c9439bfd0bc23bc0ab99c87e70d
7
- data.tar.gz: 75ee0e804f85db0fc3f55ce3a83015846b5337fb747fe9c08aad2603defa7d857da3367f6a20245a9d6a9d632e613197e4aab4fa67f34ccf8d7baa459c693314
6
+ metadata.gz: 29977d078d428b6d9430e2d65eaeb3a6686e41ebe75d2ae3d71525dbdda7ec5b616087a00341d56957c6f95b629a19def012f5e81984cfb9dc5ba8e1ee1e4166
7
+ data.tar.gz: ff00383f7f7a87dc97e29ca2332926e55f92bce485b08f0d7eaadf5bac18a9263c8e17f0dc95b14c4737d1169bf5e833b2c4b48249ac670346a339da121795f7
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-cloudwatch/customizations'
45
45
  # @service
46
46
  module Aws::CloudWatch
47
47
 
48
- GEM_VERSION = '1.4.0'
48
+ GEM_VERSION = '1.5.0'
49
49
 
50
50
  end
@@ -511,6 +511,114 @@ module Aws::CloudWatch
511
511
  req.send_request(options)
512
512
  end
513
513
 
514
+ # You can use the `GetMetricData` API to retrieve as many as 100
515
+ # different metrics in a single request, with a total of as many as
516
+ # 100,800 datapoints. You can also optionally perform math expressions
517
+ # on the values of the returned statistics, to create new time series
518
+ # that represent new insights into your data. For example, using Lambda
519
+ # metrics, you could divide the Errors metric by the Invocations metric
520
+ # to get an error rate time series. For more information about metric
521
+ # math expressions, see [Metric Math Syntax and Functions][1] in the
522
+ # *Amazon CloudWatch User Guide*.
523
+ #
524
+ # Calls to the `GetMetricData` API have a different pricing structure
525
+ # than calls to `GetMetricStatistics`. For more information about
526
+ # pricing, see [Amazon CloudWatch Pricing][2].
527
+ #
528
+ #
529
+ #
530
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax
531
+ # [2]: https://aws.amazon.com/cloudwatch/pricing/
532
+ #
533
+ # @option params [required, Array<Types::MetricDataQuery>] :metric_data_queries
534
+ # The metric queries to be returned. A single `GetMetricData` call can
535
+ # include as many as 100 `MetricDataQuery` structures. Each of these
536
+ # structures can specify either a metric to retrieve, or a math
537
+ # expression to perform on retrieved data.
538
+ #
539
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
540
+ # The time stamp indicating the earliest data to be returned.
541
+ #
542
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
543
+ # The time stamp indicating the latest data to be returned.
544
+ #
545
+ # @option params [String] :next_token
546
+ # Include this value, if it was returned by the previous call, to get
547
+ # the next set of data points.
548
+ #
549
+ # @option params [String] :scan_by
550
+ # The order in which data points should be returned.
551
+ # `TimestampDescending` returns the newest data first and paginates when
552
+ # the `MaxDatapoints` limit is reached. `TimestampAscending` returns the
553
+ # oldest data first and paginates when the `MaxDatapoints` limit is
554
+ # reached.
555
+ #
556
+ # @option params [Integer] :max_datapoints
557
+ # The maximum number of data points the request should return before
558
+ # paginating. If you omit this, the default of 100,800 is used.
559
+ #
560
+ # @return [Types::GetMetricDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
561
+ #
562
+ # * {Types::GetMetricDataOutput#metric_data_results #metric_data_results} => Array&lt;Types::MetricDataResult&gt;
563
+ # * {Types::GetMetricDataOutput#next_token #next_token} => String
564
+ #
565
+ # @example Request syntax with placeholder values
566
+ #
567
+ # resp = client.get_metric_data({
568
+ # metric_data_queries: [ # required
569
+ # {
570
+ # id: "MetricId", # required
571
+ # metric_stat: {
572
+ # metric: { # required
573
+ # namespace: "Namespace",
574
+ # metric_name: "MetricName",
575
+ # dimensions: [
576
+ # {
577
+ # name: "DimensionName", # required
578
+ # value: "DimensionValue", # required
579
+ # },
580
+ # ],
581
+ # },
582
+ # period: 1, # required
583
+ # stat: "Stat", # required
584
+ # unit: "Seconds", # accepts 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
585
+ # },
586
+ # expression: "MetricExpression",
587
+ # label: "MetricLabel",
588
+ # return_data: false,
589
+ # },
590
+ # ],
591
+ # start_time: Time.now, # required
592
+ # end_time: Time.now, # required
593
+ # next_token: "NextToken",
594
+ # scan_by: "TimestampDescending", # accepts TimestampDescending, TimestampAscending
595
+ # max_datapoints: 1,
596
+ # })
597
+ #
598
+ # @example Response structure
599
+ #
600
+ # resp.metric_data_results #=> Array
601
+ # resp.metric_data_results[0].id #=> String
602
+ # resp.metric_data_results[0].label #=> String
603
+ # resp.metric_data_results[0].timestamps #=> Array
604
+ # resp.metric_data_results[0].timestamps[0] #=> Time
605
+ # resp.metric_data_results[0].values #=> Array
606
+ # resp.metric_data_results[0].values[0] #=> Float
607
+ # resp.metric_data_results[0].status_code #=> String, one of "Complete", "InternalError", "PartialData"
608
+ # resp.metric_data_results[0].messages #=> Array
609
+ # resp.metric_data_results[0].messages[0].code #=> String
610
+ # resp.metric_data_results[0].messages[0].value #=> String
611
+ # resp.next_token #=> String
612
+ #
613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData AWS API Documentation
614
+ #
615
+ # @overload get_metric_data(params = {})
616
+ # @param [Hash] params ({})
617
+ def get_metric_data(params = {}, options = {})
618
+ req = build_request(:get_metric_data, params)
619
+ req.send_request(options)
620
+ end
621
+
514
622
  # Gets statistics for the specified metric.
515
623
  #
516
624
  # The maximum number of data points returned from a single call is
@@ -667,8 +775,8 @@ module Aws::CloudWatch
667
775
  # @option params [String] :unit
668
776
  # The unit for a given metric. Metrics may be reported in multiple
669
777
  # units. Not supplying a unit results in all units being returned. If
670
- # the metric only ever reports one unit, specifying a unit has no
671
- # effect.
778
+ # you specify only a unit that the metric does not report, the results
779
+ # of the call are null.
672
780
  #
673
781
  # @return [Types::GetMetricStatisticsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
674
782
  #
@@ -1028,7 +1136,7 @@ module Aws::CloudWatch
1028
1136
  #
1029
1137
  # Be sure to specify 10 or 30 only for metrics that are stored by a
1030
1138
  # `PutMetricData` call with a `StorageResolution` of 1. If you specify a
1031
- # Period of 10 or 30 for a metric that does not have sub-minute
1139
+ # period of 10 or 30 for a metric that does not have sub-minute
1032
1140
  # resolution, the alarm still attempts to gather data at the period rate
1033
1141
  # that you specify. In this case, it does not receive data for the
1034
1142
  # attempts that do not correspond to a one-minute data resolution, and
@@ -1059,12 +1167,24 @@ module Aws::CloudWatch
1059
1167
  #
1060
1168
  # @option params [required, Integer] :evaluation_periods
1061
1169
  # The number of periods over which data is compared to the specified
1062
- # threshold. An alarm's total current evaluation period can be no
1063
- # longer than one day, so this number multiplied by `Period` cannot be
1064
- # more than 86,400 seconds.
1170
+ # threshold. If you are setting an alarm which requires that a number of
1171
+ # consecutive data points be breaching to trigger the alarm, this value
1172
+ # specifies that number. If you are setting an "M out of N" alarm,
1173
+ # this value is the N.
1174
+ #
1175
+ # An alarm's total current evaluation period can be no longer than one
1176
+ # day, so this number multiplied by `Period` cannot be more than 86,400
1177
+ # seconds.
1065
1178
  #
1066
1179
  # @option params [Integer] :datapoints_to_alarm
1067
1180
  # The number of datapoints that must be breaching to trigger the alarm.
1181
+ # This is used only if you are setting an "M out of N" alarm. In that
1182
+ # case, this value is the M. For more information, see [Evaluating an
1183
+ # Alarm][1] in the *Amazon CloudWatch User Guide*.
1184
+ #
1185
+ #
1186
+ #
1187
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation
1068
1188
  #
1069
1189
  # @option params [required, Float] :threshold
1070
1190
  # The value against which the specified statistic is compared.
@@ -1284,7 +1404,7 @@ module Aws::CloudWatch
1284
1404
  params: params,
1285
1405
  config: config)
1286
1406
  context[:gem_name] = 'aws-sdk-cloudwatch'
1287
- context[:gem_version] = '1.4.0'
1407
+ context[:gem_version] = '1.5.0'
1288
1408
  Seahorse::Client::Request.new(handlers, context)
1289
1409
  end
1290
1410
 
@@ -38,6 +38,7 @@ module Aws::CloudWatch
38
38
  Datapoint = Shapes::StructureShape.new(name: 'Datapoint')
39
39
  DatapointValue = Shapes::FloatShape.new(name: 'DatapointValue')
40
40
  DatapointValueMap = Shapes::MapShape.new(name: 'DatapointValueMap')
41
+ DatapointValues = Shapes::ListShape.new(name: 'DatapointValues')
41
42
  Datapoints = Shapes::ListShape.new(name: 'Datapoints')
42
43
  DatapointsToAlarm = Shapes::IntegerShape.new(name: 'DatapointsToAlarm')
43
44
  DeleteAlarmsInput = Shapes::StructureShape.new(name: 'DeleteAlarmsInput')
@@ -65,6 +66,9 @@ module Aws::CloudWatch
65
66
  FaultDescription = Shapes::StringShape.new(name: 'FaultDescription')
66
67
  GetDashboardInput = Shapes::StructureShape.new(name: 'GetDashboardInput')
67
68
  GetDashboardOutput = Shapes::StructureShape.new(name: 'GetDashboardOutput')
69
+ GetMetricDataInput = Shapes::StructureShape.new(name: 'GetMetricDataInput')
70
+ GetMetricDataMaxDatapoints = Shapes::IntegerShape.new(name: 'GetMetricDataMaxDatapoints')
71
+ GetMetricDataOutput = Shapes::StructureShape.new(name: 'GetMetricDataOutput')
68
72
  GetMetricStatisticsInput = Shapes::StructureShape.new(name: 'GetMetricStatisticsInput')
69
73
  GetMetricStatisticsOutput = Shapes::StructureShape.new(name: 'GetMetricStatisticsOutput')
70
74
  HistoryData = Shapes::StringShape.new(name: 'HistoryData')
@@ -83,13 +87,24 @@ module Aws::CloudWatch
83
87
  ListMetricsOutput = Shapes::StructureShape.new(name: 'ListMetricsOutput')
84
88
  MaxRecords = Shapes::IntegerShape.new(name: 'MaxRecords')
85
89
  Message = Shapes::StringShape.new(name: 'Message')
90
+ MessageData = Shapes::StructureShape.new(name: 'MessageData')
91
+ MessageDataCode = Shapes::StringShape.new(name: 'MessageDataCode')
92
+ MessageDataValue = Shapes::StringShape.new(name: 'MessageDataValue')
86
93
  Metric = Shapes::StructureShape.new(name: 'Metric')
87
94
  MetricAlarm = Shapes::StructureShape.new(name: 'MetricAlarm')
88
95
  MetricAlarms = Shapes::ListShape.new(name: 'MetricAlarms')
89
96
  MetricData = Shapes::ListShape.new(name: 'MetricData')
97
+ MetricDataQueries = Shapes::ListShape.new(name: 'MetricDataQueries')
98
+ MetricDataQuery = Shapes::StructureShape.new(name: 'MetricDataQuery')
99
+ MetricDataResult = Shapes::StructureShape.new(name: 'MetricDataResult')
100
+ MetricDataResultMessages = Shapes::ListShape.new(name: 'MetricDataResultMessages')
101
+ MetricDataResults = Shapes::ListShape.new(name: 'MetricDataResults')
90
102
  MetricDatum = Shapes::StructureShape.new(name: 'MetricDatum')
103
+ MetricExpression = Shapes::StringShape.new(name: 'MetricExpression')
104
+ MetricId = Shapes::StringShape.new(name: 'MetricId')
91
105
  MetricLabel = Shapes::StringShape.new(name: 'MetricLabel')
92
106
  MetricName = Shapes::StringShape.new(name: 'MetricName')
107
+ MetricStat = Shapes::StructureShape.new(name: 'MetricStat')
93
108
  Metrics = Shapes::ListShape.new(name: 'Metrics')
94
109
  MissingRequiredParameterException = Shapes::StructureShape.new(name: 'MissingRequiredParameterException')
95
110
  Namespace = Shapes::StringShape.new(name: 'Namespace')
@@ -102,18 +117,23 @@ module Aws::CloudWatch
102
117
  ResourceList = Shapes::ListShape.new(name: 'ResourceList')
103
118
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
104
119
  ResourceNotFound = Shapes::StructureShape.new(name: 'ResourceNotFound')
120
+ ReturnData = Shapes::BooleanShape.new(name: 'ReturnData')
121
+ ScanBy = Shapes::StringShape.new(name: 'ScanBy')
105
122
  SetAlarmStateInput = Shapes::StructureShape.new(name: 'SetAlarmStateInput')
106
123
  Size = Shapes::IntegerShape.new(name: 'Size')
107
124
  StandardUnit = Shapes::StringShape.new(name: 'StandardUnit')
125
+ Stat = Shapes::StringShape.new(name: 'Stat')
108
126
  StateReason = Shapes::StringShape.new(name: 'StateReason')
109
127
  StateReasonData = Shapes::StringShape.new(name: 'StateReasonData')
110
128
  StateValue = Shapes::StringShape.new(name: 'StateValue')
111
129
  Statistic = Shapes::StringShape.new(name: 'Statistic')
112
130
  StatisticSet = Shapes::StructureShape.new(name: 'StatisticSet')
113
131
  Statistics = Shapes::ListShape.new(name: 'Statistics')
132
+ StatusCode = Shapes::StringShape.new(name: 'StatusCode')
114
133
  StorageResolution = Shapes::IntegerShape.new(name: 'StorageResolution')
115
134
  Threshold = Shapes::FloatShape.new(name: 'Threshold')
116
135
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
136
+ Timestamps = Shapes::ListShape.new(name: 'Timestamps')
117
137
  TreatMissingData = Shapes::StringShape.new(name: 'TreatMissingData')
118
138
 
119
139
  AlarmHistoryItem.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, location_name: "AlarmName"))
@@ -156,6 +176,8 @@ module Aws::CloudWatch
156
176
  DatapointValueMap.key = Shapes::ShapeRef.new(shape: ExtendedStatistic)
157
177
  DatapointValueMap.value = Shapes::ShapeRef.new(shape: DatapointValue)
158
178
 
179
+ DatapointValues.member = Shapes::ShapeRef.new(shape: DatapointValue)
180
+
159
181
  Datapoints.member = Shapes::ShapeRef.new(shape: Datapoint)
160
182
 
161
183
  DeleteAlarmsInput.add_member(:alarm_names, Shapes::ShapeRef.new(shape: AlarmNames, required: true, location_name: "AlarmNames"))
@@ -230,6 +252,18 @@ module Aws::CloudWatch
230
252
  GetDashboardOutput.add_member(:dashboard_name, Shapes::ShapeRef.new(shape: DashboardName, location_name: "DashboardName"))
231
253
  GetDashboardOutput.struct_class = Types::GetDashboardOutput
232
254
 
255
+ GetMetricDataInput.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
256
+ GetMetricDataInput.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "StartTime"))
257
+ GetMetricDataInput.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndTime"))
258
+ GetMetricDataInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
259
+ GetMetricDataInput.add_member(:scan_by, Shapes::ShapeRef.new(shape: ScanBy, location_name: "ScanBy"))
260
+ GetMetricDataInput.add_member(:max_datapoints, Shapes::ShapeRef.new(shape: GetMetricDataMaxDatapoints, location_name: "MaxDatapoints"))
261
+ GetMetricDataInput.struct_class = Types::GetMetricDataInput
262
+
263
+ GetMetricDataOutput.add_member(:metric_data_results, Shapes::ShapeRef.new(shape: MetricDataResults, location_name: "MetricDataResults"))
264
+ GetMetricDataOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
265
+ GetMetricDataOutput.struct_class = Types::GetMetricDataOutput
266
+
233
267
  GetMetricStatisticsInput.add_member(:namespace, Shapes::ShapeRef.new(shape: Namespace, required: true, location_name: "Namespace"))
234
268
  GetMetricStatisticsInput.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
235
269
  GetMetricStatisticsInput.add_member(:dimensions, Shapes::ShapeRef.new(shape: Dimensions, location_name: "Dimensions"))
@@ -263,6 +297,10 @@ module Aws::CloudWatch
263
297
  ListMetricsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
264
298
  ListMetricsOutput.struct_class = Types::ListMetricsOutput
265
299
 
300
+ MessageData.add_member(:code, Shapes::ShapeRef.new(shape: MessageDataCode, location_name: "Code"))
301
+ MessageData.add_member(:value, Shapes::ShapeRef.new(shape: MessageDataValue, location_name: "Value"))
302
+ MessageData.struct_class = Types::MessageData
303
+
266
304
  Metric.add_member(:namespace, Shapes::ShapeRef.new(shape: Namespace, location_name: "Namespace"))
267
305
  Metric.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "MetricName"))
268
306
  Metric.add_member(:dimensions, Shapes::ShapeRef.new(shape: Dimensions, location_name: "Dimensions"))
@@ -299,6 +337,27 @@ module Aws::CloudWatch
299
337
 
300
338
  MetricData.member = Shapes::ShapeRef.new(shape: MetricDatum)
301
339
 
340
+ MetricDataQueries.member = Shapes::ShapeRef.new(shape: MetricDataQuery)
341
+
342
+ MetricDataQuery.add_member(:id, Shapes::ShapeRef.new(shape: MetricId, required: true, location_name: "Id"))
343
+ MetricDataQuery.add_member(:metric_stat, Shapes::ShapeRef.new(shape: MetricStat, location_name: "MetricStat"))
344
+ MetricDataQuery.add_member(:expression, Shapes::ShapeRef.new(shape: MetricExpression, location_name: "Expression"))
345
+ MetricDataQuery.add_member(:label, Shapes::ShapeRef.new(shape: MetricLabel, location_name: "Label"))
346
+ MetricDataQuery.add_member(:return_data, Shapes::ShapeRef.new(shape: ReturnData, location_name: "ReturnData"))
347
+ MetricDataQuery.struct_class = Types::MetricDataQuery
348
+
349
+ MetricDataResult.add_member(:id, Shapes::ShapeRef.new(shape: MetricId, location_name: "Id"))
350
+ MetricDataResult.add_member(:label, Shapes::ShapeRef.new(shape: MetricLabel, location_name: "Label"))
351
+ MetricDataResult.add_member(:timestamps, Shapes::ShapeRef.new(shape: Timestamps, location_name: "Timestamps"))
352
+ MetricDataResult.add_member(:values, Shapes::ShapeRef.new(shape: DatapointValues, location_name: "Values"))
353
+ MetricDataResult.add_member(:status_code, Shapes::ShapeRef.new(shape: StatusCode, location_name: "StatusCode"))
354
+ MetricDataResult.add_member(:messages, Shapes::ShapeRef.new(shape: MetricDataResultMessages, location_name: "Messages"))
355
+ MetricDataResult.struct_class = Types::MetricDataResult
356
+
357
+ MetricDataResultMessages.member = Shapes::ShapeRef.new(shape: MessageData)
358
+
359
+ MetricDataResults.member = Shapes::ShapeRef.new(shape: MetricDataResult)
360
+
302
361
  MetricDatum.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
303
362
  MetricDatum.add_member(:dimensions, Shapes::ShapeRef.new(shape: Dimensions, location_name: "Dimensions"))
304
363
  MetricDatum.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
@@ -308,6 +367,12 @@ module Aws::CloudWatch
308
367
  MetricDatum.add_member(:storage_resolution, Shapes::ShapeRef.new(shape: StorageResolution, location_name: "StorageResolution"))
309
368
  MetricDatum.struct_class = Types::MetricDatum
310
369
 
370
+ MetricStat.add_member(:metric, Shapes::ShapeRef.new(shape: Metric, required: true, location_name: "Metric"))
371
+ MetricStat.add_member(:period, Shapes::ShapeRef.new(shape: Period, required: true, location_name: "Period"))
372
+ MetricStat.add_member(:stat, Shapes::ShapeRef.new(shape: Stat, required: true, location_name: "Stat"))
373
+ MetricStat.add_member(:unit, Shapes::ShapeRef.new(shape: StandardUnit, location_name: "Unit"))
374
+ MetricStat.struct_class = Types::MetricStat
375
+
311
376
  Metrics.member = Shapes::ShapeRef.new(shape: Metric)
312
377
 
313
378
  PutDashboardInput.add_member(:dashboard_name, Shapes::ShapeRef.new(shape: DashboardName, required: true, location_name: "DashboardName"))
@@ -358,6 +423,8 @@ module Aws::CloudWatch
358
423
 
359
424
  Statistics.member = Shapes::ShapeRef.new(shape: Statistic)
360
425
 
426
+ Timestamps.member = Shapes::ShapeRef.new(shape: Timestamp)
427
+
361
428
 
362
429
  # @api private
363
430
  API = Seahorse::Model::Api.new.tap do |api|
@@ -457,6 +524,15 @@ module Aws::CloudWatch
457
524
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceFault)
458
525
  end)
459
526
 
527
+ api.add_operation(:get_metric_data, Seahorse::Model::Operation.new.tap do |o|
528
+ o.name = "GetMetricData"
529
+ o.http_method = "POST"
530
+ o.http_request_uri = "/"
531
+ o.input = Shapes::ShapeRef.new(shape: GetMetricDataInput)
532
+ o.output = Shapes::ShapeRef.new(shape: GetMetricDataOutput)
533
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextToken)
534
+ end)
535
+
460
536
  api.add_operation(:get_metric_statistics, Seahorse::Model::Operation.new.tap do |o|
461
537
  o.name = "GetMetricStatistics"
462
538
  o.http_method = "POST"
@@ -281,8 +281,8 @@ module Aws::CloudWatch
281
281
  # @option options [String] :unit
282
282
  # The unit for a given metric. Metrics may be reported in multiple
283
283
  # units. Not supplying a unit results in all units being returned. If
284
- # the metric only ever reports one unit, specifying a unit has no
285
- # effect.
284
+ # you specify only a unit that the metric does not report, the results
285
+ # of the call are null.
286
286
  # @return [Types::GetMetricStatisticsOutput]
287
287
  def get_statistics(options = {})
288
288
  options = options.merge(
@@ -400,7 +400,7 @@ module Aws::CloudWatch
400
400
  #
401
401
  # Be sure to specify 10 or 30 only for metrics that are stored by a
402
402
  # `PutMetricData` call with a `StorageResolution` of 1. If you specify a
403
- # Period of 10 or 30 for a metric that does not have sub-minute
403
+ # period of 10 or 30 for a metric that does not have sub-minute
404
404
  # resolution, the alarm still attempts to gather data at the period rate
405
405
  # that you specify. In this case, it does not receive data for the
406
406
  # attempts that do not correspond to a one-minute data resolution, and
@@ -429,11 +429,23 @@ module Aws::CloudWatch
429
429
  # `INSUFFICIENT DATA` state.
430
430
  # @option options [required, Integer] :evaluation_periods
431
431
  # The number of periods over which data is compared to the specified
432
- # threshold. An alarm's total current evaluation period can be no
433
- # longer than one day, so this number multiplied by `Period` cannot be
434
- # more than 86,400 seconds.
432
+ # threshold. If you are setting an alarm which requires that a number of
433
+ # consecutive data points be breaching to trigger the alarm, this value
434
+ # specifies that number. If you are setting an "M out of N" alarm,
435
+ # this value is the N.
436
+ #
437
+ # An alarm's total current evaluation period can be no longer than one
438
+ # day, so this number multiplied by `Period` cannot be more than 86,400
439
+ # seconds.
435
440
  # @option options [Integer] :datapoints_to_alarm
436
441
  # The number of datapoints that must be breaching to trigger the alarm.
442
+ # This is used only if you are setting an "M out of N" alarm. In that
443
+ # case, this value is the M. For more information, see [Evaluating an
444
+ # Alarm][1] in the *Amazon CloudWatch User Guide*.
445
+ #
446
+ #
447
+ #
448
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation
437
449
  # @option options [required, Float] :threshold
438
450
  # The value against which the specified statistic is compared.
439
451
  # @option options [required, String] :comparison_operator
@@ -516,6 +516,102 @@ module Aws::CloudWatch
516
516
  include Aws::Structure
517
517
  end
518
518
 
519
+ # @note When making an API call, you may pass GetMetricDataInput
520
+ # data as a hash:
521
+ #
522
+ # {
523
+ # metric_data_queries: [ # required
524
+ # {
525
+ # id: "MetricId", # required
526
+ # metric_stat: {
527
+ # metric: { # required
528
+ # namespace: "Namespace",
529
+ # metric_name: "MetricName",
530
+ # dimensions: [
531
+ # {
532
+ # name: "DimensionName", # required
533
+ # value: "DimensionValue", # required
534
+ # },
535
+ # ],
536
+ # },
537
+ # period: 1, # required
538
+ # stat: "Stat", # required
539
+ # unit: "Seconds", # accepts 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
540
+ # },
541
+ # expression: "MetricExpression",
542
+ # label: "MetricLabel",
543
+ # return_data: false,
544
+ # },
545
+ # ],
546
+ # start_time: Time.now, # required
547
+ # end_time: Time.now, # required
548
+ # next_token: "NextToken",
549
+ # scan_by: "TimestampDescending", # accepts TimestampDescending, TimestampAscending
550
+ # max_datapoints: 1,
551
+ # }
552
+ #
553
+ # @!attribute [rw] metric_data_queries
554
+ # The metric queries to be returned. A single `GetMetricData` call can
555
+ # include as many as 100 `MetricDataQuery` structures. Each of these
556
+ # structures can specify either a metric to retrieve, or a math
557
+ # expression to perform on retrieved data.
558
+ # @return [Array<Types::MetricDataQuery>]
559
+ #
560
+ # @!attribute [rw] start_time
561
+ # The time stamp indicating the earliest data to be returned.
562
+ # @return [Time]
563
+ #
564
+ # @!attribute [rw] end_time
565
+ # The time stamp indicating the latest data to be returned.
566
+ # @return [Time]
567
+ #
568
+ # @!attribute [rw] next_token
569
+ # Include this value, if it was returned by the previous call, to get
570
+ # the next set of data points.
571
+ # @return [String]
572
+ #
573
+ # @!attribute [rw] scan_by
574
+ # The order in which data points should be returned.
575
+ # `TimestampDescending` returns the newest data first and paginates
576
+ # when the `MaxDatapoints` limit is reached. `TimestampAscending`
577
+ # returns the oldest data first and paginates when the `MaxDatapoints`
578
+ # limit is reached.
579
+ # @return [String]
580
+ #
581
+ # @!attribute [rw] max_datapoints
582
+ # The maximum number of data points the request should return before
583
+ # paginating. If you omit this, the default of 100,800 is used.
584
+ # @return [Integer]
585
+ #
586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricDataInput AWS API Documentation
587
+ #
588
+ class GetMetricDataInput < Struct.new(
589
+ :metric_data_queries,
590
+ :start_time,
591
+ :end_time,
592
+ :next_token,
593
+ :scan_by,
594
+ :max_datapoints)
595
+ include Aws::Structure
596
+ end
597
+
598
+ # @!attribute [rw] metric_data_results
599
+ # The metrics that are returned, including the metric name, namespace,
600
+ # and dimensions.
601
+ # @return [Array<Types::MetricDataResult>]
602
+ #
603
+ # @!attribute [rw] next_token
604
+ # A token that marks the next batch of returned results.
605
+ # @return [String]
606
+ #
607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricDataOutput AWS API Documentation
608
+ #
609
+ class GetMetricDataOutput < Struct.new(
610
+ :metric_data_results,
611
+ :next_token)
612
+ include Aws::Structure
613
+ end
614
+
519
615
  # @note When making an API call, you may pass GetMetricStatisticsInput
520
616
  # data as a hash:
521
617
  #
@@ -641,8 +737,8 @@ module Aws::CloudWatch
641
737
  # @!attribute [rw] unit
642
738
  # The unit for a given metric. Metrics may be reported in multiple
643
739
  # units. Not supplying a unit results in all units being returned. If
644
- # the metric only ever reports one unit, specifying a unit has no
645
- # effect.
740
+ # you specify only a unit that the metric does not report, the results
741
+ # of the call are null.
646
742
  # @return [String]
647
743
  #
648
744
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatisticsInput AWS API Documentation
@@ -780,8 +876,41 @@ module Aws::CloudWatch
780
876
  include Aws::Structure
781
877
  end
782
878
 
879
+ # A message returned by the `GetMetricData`API, including a code and a
880
+ # description.
881
+ #
882
+ # @!attribute [rw] code
883
+ # The error code or status code associated with the message.
884
+ # @return [String]
885
+ #
886
+ # @!attribute [rw] value
887
+ # The message text.
888
+ # @return [String]
889
+ #
890
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MessageData AWS API Documentation
891
+ #
892
+ class MessageData < Struct.new(
893
+ :code,
894
+ :value)
895
+ include Aws::Structure
896
+ end
897
+
783
898
  # Represents a specific metric.
784
899
  #
900
+ # @note When making an API call, you may pass Metric
901
+ # data as a hash:
902
+ #
903
+ # {
904
+ # namespace: "Namespace",
905
+ # metric_name: "MetricName",
906
+ # dimensions: [
907
+ # {
908
+ # name: "DimensionName", # required
909
+ # value: "DimensionValue", # required
910
+ # },
911
+ # ],
912
+ # }
913
+ #
785
914
  # @!attribute [rw] namespace
786
915
  # The namespace of the metric.
787
916
  # @return [String]
@@ -954,6 +1083,147 @@ module Aws::CloudWatch
954
1083
  include Aws::Structure
955
1084
  end
956
1085
 
1086
+ # This structure indicates the metric data to return, and whether this
1087
+ # call is just retrieving a batch set of data for one metric, or is
1088
+ # performing a math expression on metric data. A single `GetMetricData`
1089
+ # call can include up to 100 `MetricDataQuery` structures.
1090
+ #
1091
+ # @note When making an API call, you may pass MetricDataQuery
1092
+ # data as a hash:
1093
+ #
1094
+ # {
1095
+ # id: "MetricId", # required
1096
+ # metric_stat: {
1097
+ # metric: { # required
1098
+ # namespace: "Namespace",
1099
+ # metric_name: "MetricName",
1100
+ # dimensions: [
1101
+ # {
1102
+ # name: "DimensionName", # required
1103
+ # value: "DimensionValue", # required
1104
+ # },
1105
+ # ],
1106
+ # },
1107
+ # period: 1, # required
1108
+ # stat: "Stat", # required
1109
+ # unit: "Seconds", # accepts 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
1110
+ # },
1111
+ # expression: "MetricExpression",
1112
+ # label: "MetricLabel",
1113
+ # return_data: false,
1114
+ # }
1115
+ #
1116
+ # @!attribute [rw] id
1117
+ # A short name used to tie this structure to the results in the
1118
+ # response. This name must be unique within a single call to
1119
+ # `GetMetricData`. If you are performing math expressions on this set
1120
+ # of data, this name represents that data and can serve as a variable
1121
+ # in the mathematical expression. The valid characters are letters,
1122
+ # numbers, and underscore. The first character must be a lowercase
1123
+ # letter.
1124
+ # @return [String]
1125
+ #
1126
+ # @!attribute [rw] metric_stat
1127
+ # The metric to be returned, along with statistics, period, and units.
1128
+ # Use this parameter only if this structure is performing a data
1129
+ # retrieval and not performing a math expression on the returned data.
1130
+ #
1131
+ # Within one MetricDataQuery structure, you must specify either
1132
+ # `Expression` or `MetricStat` but not both.
1133
+ # @return [Types::MetricStat]
1134
+ #
1135
+ # @!attribute [rw] expression
1136
+ # The math expression to be performed on the returned data, if this
1137
+ # structure is performing a math expression. For more information
1138
+ # about metric math expressions, see [Metric Math Syntax and
1139
+ # Functions][1] in the *Amazon CloudWatch User Guide*.
1140
+ #
1141
+ # Within one MetricDataQuery structure, you must specify either
1142
+ # `Expression` or `MetricStat` but not both.
1143
+ #
1144
+ #
1145
+ #
1146
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax
1147
+ # @return [String]
1148
+ #
1149
+ # @!attribute [rw] label
1150
+ # A human-readable label for this metric or expression. This is
1151
+ # especially useful if this is an expression, so that you know what
1152
+ # the value represents. If the metric or expression is shown in a
1153
+ # CloudWatch dashboard widget, the label is shown. If Label is
1154
+ # omitted, CloudWatch generates a default.
1155
+ # @return [String]
1156
+ #
1157
+ # @!attribute [rw] return_data
1158
+ # Indicates whether to return the time stamps and raw data values of
1159
+ # this metric. If you are performing this call just to do math
1160
+ # expressions and do not also need the raw data returned, you can
1161
+ # specify `False`. If you omit this, the default of `True` is used.
1162
+ # @return [Boolean]
1163
+ #
1164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDataQuery AWS API Documentation
1165
+ #
1166
+ class MetricDataQuery < Struct.new(
1167
+ :id,
1168
+ :metric_stat,
1169
+ :expression,
1170
+ :label,
1171
+ :return_data)
1172
+ include Aws::Structure
1173
+ end
1174
+
1175
+ # A `GetMetricData` call returns an array of `MetricDataResult`
1176
+ # structures. Each of these structures includes the data points for that
1177
+ # metric, along with the time stamps of those data points and other
1178
+ # identifying information.
1179
+ #
1180
+ # @!attribute [rw] id
1181
+ # The short name you specified to represent this metric.
1182
+ # @return [String]
1183
+ #
1184
+ # @!attribute [rw] label
1185
+ # The human-readable label associated with the data.
1186
+ # @return [String]
1187
+ #
1188
+ # @!attribute [rw] timestamps
1189
+ # The time stamps for the data points, formatted in Unix timestamp
1190
+ # format. The number of time stamps always matches the number of
1191
+ # values and the value for Timestamps\[x\] is Values\[x\].
1192
+ # @return [Array<Time>]
1193
+ #
1194
+ # @!attribute [rw] values
1195
+ # The data points for the metric corresponding to `Timestamps`. The
1196
+ # number of values always matches the number of time stamps and the
1197
+ # time stamp for Values\[x\] is Timestamps\[x\].
1198
+ # @return [Array<Float>]
1199
+ #
1200
+ # @!attribute [rw] status_code
1201
+ # The status of the returned data. `Complete` indicates that all data
1202
+ # points in the requested time range were returned. `PartialData`
1203
+ # means that an incomplete set of data points were returned. You can
1204
+ # use the `NextToken` value that was returned and repeat your request
1205
+ # to get more data points. `NextToken` is not returned if you are
1206
+ # performing a math expression. `InternalError` indicates that an
1207
+ # error occurred. Retry your request using `NextToken`, if present.
1208
+ # @return [String]
1209
+ #
1210
+ # @!attribute [rw] messages
1211
+ # A list of messages with additional information about the data
1212
+ # returned.
1213
+ # @return [Array<Types::MessageData>]
1214
+ #
1215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDataResult AWS API Documentation
1216
+ #
1217
+ class MetricDataResult < Struct.new(
1218
+ :id,
1219
+ :label,
1220
+ :timestamps,
1221
+ :values,
1222
+ :status_code,
1223
+ :messages)
1224
+ include Aws::Structure
1225
+ end
1226
+
957
1227
  # Encapsulates the information sent to either create a metric or add new
958
1228
  # values to be aggregated into an existing metric.
959
1229
  #
@@ -1042,6 +1312,56 @@ module Aws::CloudWatch
1042
1312
  include Aws::Structure
1043
1313
  end
1044
1314
 
1315
+ # This structure defines the metric to be returned, along with the
1316
+ # statistics, period, and units.
1317
+ #
1318
+ # @note When making an API call, you may pass MetricStat
1319
+ # data as a hash:
1320
+ #
1321
+ # {
1322
+ # metric: { # required
1323
+ # namespace: "Namespace",
1324
+ # metric_name: "MetricName",
1325
+ # dimensions: [
1326
+ # {
1327
+ # name: "DimensionName", # required
1328
+ # value: "DimensionValue", # required
1329
+ # },
1330
+ # ],
1331
+ # },
1332
+ # period: 1, # required
1333
+ # stat: "Stat", # required
1334
+ # unit: "Seconds", # accepts 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
1335
+ # }
1336
+ #
1337
+ # @!attribute [rw] metric
1338
+ # The metric to return, including the metric name, namespace, and
1339
+ # dimensions.
1340
+ # @return [Types::Metric]
1341
+ #
1342
+ # @!attribute [rw] period
1343
+ # The period to use when retrieving the metric.
1344
+ # @return [Integer]
1345
+ #
1346
+ # @!attribute [rw] stat
1347
+ # The statistic to return. It can include any CloudWatch statistic or
1348
+ # extended statistic.
1349
+ # @return [String]
1350
+ #
1351
+ # @!attribute [rw] unit
1352
+ # The unit to use for the returned data points.
1353
+ # @return [String]
1354
+ #
1355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricStat AWS API Documentation
1356
+ #
1357
+ class MetricStat < Struct.new(
1358
+ :metric,
1359
+ :period,
1360
+ :stat,
1361
+ :unit)
1362
+ include Aws::Structure
1363
+ end
1364
+
1045
1365
  # @note When making an API call, you may pass PutDashboardInput
1046
1366
  # data as a hash:
1047
1367
  #
@@ -1230,7 +1550,7 @@ module Aws::CloudWatch
1230
1550
  #
1231
1551
  # Be sure to specify 10 or 30 only for metrics that are stored by a
1232
1552
  # `PutMetricData` call with a `StorageResolution` of 1. If you specify
1233
- # a Period of 10 or 30 for a metric that does not have sub-minute
1553
+ # a period of 10 or 30 for a metric that does not have sub-minute
1234
1554
  # resolution, the alarm still attempts to gather data at the period
1235
1555
  # rate that you specify. In this case, it does not receive data for
1236
1556
  # the attempts that do not correspond to a one-minute data resolution,
@@ -1264,14 +1584,25 @@ module Aws::CloudWatch
1264
1584
  #
1265
1585
  # @!attribute [rw] evaluation_periods
1266
1586
  # The number of periods over which data is compared to the specified
1267
- # threshold. An alarm's total current evaluation period can be no
1268
- # longer than one day, so this number multiplied by `Period` cannot be
1269
- # more than 86,400 seconds.
1587
+ # threshold. If you are setting an alarm which requires that a number
1588
+ # of consecutive data points be breaching to trigger the alarm, this
1589
+ # value specifies that number. If you are setting an "M out of N"
1590
+ # alarm, this value is the N.
1591
+ #
1592
+ # An alarm's total current evaluation period can be no longer than
1593
+ # one day, so this number multiplied by `Period` cannot be more than
1594
+ # 86,400 seconds.
1270
1595
  # @return [Integer]
1271
1596
  #
1272
1597
  # @!attribute [rw] datapoints_to_alarm
1273
1598
  # The number of datapoints that must be breaching to trigger the
1274
- # alarm.
1599
+ # alarm. This is used only if you are setting an "M out of N" alarm.
1600
+ # In that case, this value is the M. For more information, see
1601
+ # [Evaluating an Alarm][1] in the *Amazon CloudWatch User Guide*.
1602
+ #
1603
+ #
1604
+ #
1605
+ # [1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation
1275
1606
  # @return [Integer]
1276
1607
  #
1277
1608
  # @!attribute [rw] threshold
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-cloudwatch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-19 00:00:00.000000000 Z
11
+ date: 2018-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  version: '0'
79
79
  requirements: []
80
80
  rubyforge_project:
81
- rubygems_version: 2.5.1
81
+ rubygems_version: 2.5.2.2
82
82
  signing_key:
83
83
  specification_version: 4
84
84
  summary: AWS SDK for Ruby - CloudWatch