aws-sdk-cloudwatch 1.59.0 → 1.81.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/query.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:cloudwatch)
@@ -73,8 +77,13 @@ module Aws::CloudWatch
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::Query)
86
+ add_plugin(Aws::CloudWatch::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::CloudWatch
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::CloudWatch
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::CloudWatch
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::CloudWatch
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::CloudWatch
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::CloudWatch
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::CloudWatch::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CloudWatch::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::CloudWatch
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::CloudWatch
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -344,7 +394,10 @@ module Aws::CloudWatch
344
394
  # composite alarms with one operation, but you can't delete two
345
395
  # composite alarms with one operation.
346
396
  #
347
- # In the event of an error, no alarms are deleted.
397
+ # If you specify an incorrect alarm name or make any other error in the
398
+ # operation, no alarms are deleted. To confirm that alarms were deleted
399
+ # successfully, you can use the [DescribeAlarms][1] operation after
400
+ # using `DeleteAlarms`.
348
401
  #
349
402
  # <note markdown="1"> It is possible to create a loop or cycle of composite alarms, where
350
403
  # composite alarm A depends on composite alarm B, and composite alarm B
@@ -357,15 +410,20 @@ module Aws::CloudWatch
357
410
  # the rule of one of the composite alarms in the cycle to remove a
358
411
  # dependency that creates the cycle. The simplest change to make to
359
412
  # break a cycle is to change the `AlarmRule` of one of the alarms to
360
- # `False`.
413
+ # `false`.
361
414
  #
362
415
  # Additionally, the evaluation of composite alarms stops if CloudWatch
363
416
  # detects a cycle in the evaluation path.
364
417
  #
365
418
  # </note>
366
419
  #
420
+ #
421
+ #
422
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html
423
+ #
367
424
  # @option params [required, Array<String>] :alarm_names
368
- # The alarms to be deleted.
425
+ # The alarms to be deleted. Do not enclose the alarm names in quote
426
+ # marks.
369
427
  #
370
428
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
371
429
  #
@@ -384,7 +442,14 @@ module Aws::CloudWatch
384
442
  req.send_request(options)
385
443
  end
386
444
 
387
- # Deletes the specified anomaly detection model from your account.
445
+ # Deletes the specified anomaly detection model from your account. For
446
+ # more information about how to delete an anomaly detection model, see
447
+ # [Deleting an anomaly detection model][1] in the *CloudWatch User
448
+ # Guide*.
449
+ #
450
+ #
451
+ #
452
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Anomaly_Detection_Alarm.html#Delete_Anomaly_Detection_Model
388
453
  #
389
454
  # @option params [String] :namespace
390
455
  # The namespace associated with the anomaly detection model to delete.
@@ -696,7 +761,15 @@ module Aws::CloudWatch
696
761
  # @option params [Array<String>] :alarm_types
697
762
  # Use this parameter to specify whether you want the operation to return
698
763
  # metric alarms or composite alarms. If you omit this parameter, only
699
- # metric alarms are returned.
764
+ # metric alarms are returned, even if composite alarms exist in the
765
+ # account.
766
+ #
767
+ # For example, if you omit this parameter or specify `MetricAlarms`, the
768
+ # operation returns only a list of metric alarms. It does not return any
769
+ # composite alarms, even if composite alarms exist in the account.
770
+ #
771
+ # If you specify `CompositeAlarms`, the operation returns only a list of
772
+ # composite alarms, and does not return any metric alarms.
700
773
  #
701
774
  # @option params [String] :children_of_alarm_name
702
775
  # If you use this parameter and specify the name of a composite alarm,
@@ -796,6 +869,12 @@ module Aws::CloudWatch
796
869
  # resp.composite_alarms[0].state_reason_data #=> String
797
870
  # resp.composite_alarms[0].state_updated_timestamp #=> Time
798
871
  # resp.composite_alarms[0].state_value #=> String, one of "OK", "ALARM", "INSUFFICIENT_DATA"
872
+ # resp.composite_alarms[0].state_transitioned_timestamp #=> Time
873
+ # resp.composite_alarms[0].actions_suppressed_by #=> String, one of "WaitPeriod", "ExtensionPeriod", "Alarm"
874
+ # resp.composite_alarms[0].actions_suppressed_reason #=> String
875
+ # resp.composite_alarms[0].actions_suppressor #=> String
876
+ # resp.composite_alarms[0].actions_suppressor_wait_period #=> Integer
877
+ # resp.composite_alarms[0].actions_suppressor_extension_period #=> Integer
799
878
  # resp.metric_alarms #=> Array
800
879
  # resp.metric_alarms[0].alarm_name #=> String
801
880
  # resp.metric_alarms[0].alarm_arn #=> String
@@ -843,6 +922,8 @@ module Aws::CloudWatch
843
922
  # resp.metric_alarms[0].metrics[0].period #=> Integer
844
923
  # resp.metric_alarms[0].metrics[0].account_id #=> String
845
924
  # resp.metric_alarms[0].threshold_metric_id #=> String
925
+ # resp.metric_alarms[0].evaluation_state #=> String, one of "PARTIAL_DATA"
926
+ # resp.metric_alarms[0].state_transitioned_timestamp #=> Time
846
927
  # resp.next_token #=> String
847
928
  #
848
929
  #
@@ -963,6 +1044,8 @@ module Aws::CloudWatch
963
1044
  # resp.metric_alarms[0].metrics[0].period #=> Integer
964
1045
  # resp.metric_alarms[0].metrics[0].account_id #=> String
965
1046
  # resp.metric_alarms[0].threshold_metric_id #=> String
1047
+ # resp.metric_alarms[0].evaluation_state #=> String, one of "PARTIAL_DATA"
1048
+ # resp.metric_alarms[0].state_transitioned_timestamp #=> Time
966
1049
  #
967
1050
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric AWS API Documentation
968
1051
  #
@@ -1018,6 +1101,8 @@ module Aws::CloudWatch
1018
1101
  # * {Types::DescribeAnomalyDetectorsOutput#anomaly_detectors #anomaly_detectors} => Array&lt;Types::AnomalyDetector&gt;
1019
1102
  # * {Types::DescribeAnomalyDetectorsOutput#next_token #next_token} => String
1020
1103
  #
1104
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1105
+ #
1021
1106
  # @example Request syntax with placeholder values
1022
1107
  #
1023
1108
  # resp = client.describe_anomaly_detectors({
@@ -1119,6 +1204,7 @@ module Aws::CloudWatch
1119
1204
  # resp.insight_rules[0].state #=> String
1120
1205
  # resp.insight_rules[0].schema #=> String
1121
1206
  # resp.insight_rules[0].definition #=> String
1207
+ # resp.insight_rules[0].managed_rule #=> Boolean
1122
1208
  #
1123
1209
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules AWS API Documentation
1124
1210
  #
@@ -1375,7 +1461,7 @@ module Aws::CloudWatch
1375
1461
  #
1376
1462
  # @option params [String] :order_by
1377
1463
  # Determines what statistic to use to rank the contributors. Valid
1378
- # values are SUM and MAXIMUM.
1464
+ # values are `Sum` and `Maximum`.
1379
1465
  #
1380
1466
  # @return [Types::GetInsightRuleReportOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1381
1467
  #
@@ -1431,19 +1517,30 @@ module Aws::CloudWatch
1431
1517
  req.send_request(options)
1432
1518
  end
1433
1519
 
1434
- # You can use the `GetMetricData` API to retrieve as many as 500
1435
- # different metrics in a single request, with a total of as many as
1436
- # 100,800 data points. You can also optionally perform math expressions
1437
- # on the values of the returned statistics, to create new time series
1438
- # that represent new insights into your data. For example, using Lambda
1439
- # metrics, you could divide the Errors metric by the Invocations metric
1440
- # to get an error rate time series. For more information about metric
1441
- # math expressions, see [Metric Math Syntax and Functions][1] in the
1442
- # *Amazon CloudWatch User Guide*.
1520
+ # You can use the `GetMetricData` API to retrieve CloudWatch metric
1521
+ # values. The operation can also include a CloudWatch Metrics Insights
1522
+ # query, and one or more metric math functions.
1523
+ #
1524
+ # A `GetMetricData` operation that does not include a query can retrieve
1525
+ # as many as 500 different metrics in a single request, with a total of
1526
+ # as many as 100,800 data points. You can also optionally perform metric
1527
+ # math expressions on the values of the returned statistics, to create
1528
+ # new time series that represent new insights into your data. For
1529
+ # example, using Lambda metrics, you could divide the Errors metric by
1530
+ # the Invocations metric to get an error rate time series. For more
1531
+ # information about metric math expressions, see [Metric Math Syntax and
1532
+ # Functions][1] in the *Amazon CloudWatch User Guide*.
1533
+ #
1534
+ # If you include a Metrics Insights query, each `GetMetricData`
1535
+ # operation can include only one query. But the same `GetMetricData`
1536
+ # operation can also retrieve other metrics. Metrics Insights queries
1537
+ # can query only the most recent three hours of metric data. For more
1538
+ # information about Metrics Insights, see [Query your metrics with
1539
+ # CloudWatch Metrics Insights][2].
1443
1540
  #
1444
1541
  # Calls to the `GetMetricData` API have a different pricing structure
1445
1542
  # than calls to `GetMetricStatistics`. For more information about
1446
- # pricing, see [Amazon CloudWatch Pricing][2].
1543
+ # pricing, see [Amazon CloudWatch Pricing][3].
1447
1544
  #
1448
1545
  # Amazon CloudWatch retains metric data as follows:
1449
1546
  #
@@ -1477,16 +1574,29 @@ module Aws::CloudWatch
1477
1574
  # collected, the results of the operation are null. CloudWatch does not
1478
1575
  # perform unit conversions.
1479
1576
  #
1577
+ # **Using Metrics Insights queries with metric math**
1578
+ #
1579
+ # You can't mix a Metric Insights query and metric math syntax in the
1580
+ # same expression, but you can reference results from a Metrics Insights
1581
+ # query within other Metric math expressions. A Metrics Insights query
1582
+ # without a **GROUP BY** clause returns a single time-series (TS), and
1583
+ # can be used as input for a metric math expression that expects a
1584
+ # single time series. A Metrics Insights query with a **GROUP BY**
1585
+ # clause returns an array of time-series (TS\[\]), and can be used as
1586
+ # input for a metric math expression that expects an array of time
1587
+ # series.
1588
+ #
1480
1589
  #
1481
1590
  #
1482
1591
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax
1483
- # [2]: https://aws.amazon.com/cloudwatch/pricing/
1592
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html
1593
+ # [3]: https://aws.amazon.com/cloudwatch/pricing/
1484
1594
  #
1485
1595
  # @option params [required, Array<Types::MetricDataQuery>] :metric_data_queries
1486
1596
  # The metric queries to be returned. A single `GetMetricData` call can
1487
1597
  # include as many as 500 `MetricDataQuery` structures. Each of these
1488
- # structures can specify either a metric to retrieve, or a math
1489
- # expression to perform on retrieved data.
1598
+ # structures can specify either a metric to retrieve, a Metrics Insights
1599
+ # query, or a math expression to perform on retrieved data.
1490
1600
  #
1491
1601
  # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1492
1602
  # The time stamp indicating the earliest data to be returned.
@@ -1610,7 +1720,7 @@ module Aws::CloudWatch
1610
1720
  # resp.metric_data_results[0].timestamps[0] #=> Time
1611
1721
  # resp.metric_data_results[0].values #=> Array
1612
1722
  # resp.metric_data_results[0].values[0] #=> Float
1613
- # resp.metric_data_results[0].status_code #=> String, one of "Complete", "InternalError", "PartialData"
1723
+ # resp.metric_data_results[0].status_code #=> String, one of "Complete", "InternalError", "PartialData", "Forbidden"
1614
1724
  # resp.metric_data_results[0].messages #=> Array
1615
1725
  # resp.metric_data_results[0].messages[0].code #=> String
1616
1726
  # resp.metric_data_results[0].messages[0].value #=> String
@@ -1859,6 +1969,8 @@ module Aws::CloudWatch
1859
1969
  # * {Types::GetMetricStreamOutput#creation_date #creation_date} => Time
1860
1970
  # * {Types::GetMetricStreamOutput#last_update_date #last_update_date} => Time
1861
1971
  # * {Types::GetMetricStreamOutput#output_format #output_format} => String
1972
+ # * {Types::GetMetricStreamOutput#statistics_configurations #statistics_configurations} => Array&lt;Types::MetricStreamStatisticsConfiguration&gt;
1973
+ # * {Types::GetMetricStreamOutput#include_linked_accounts_metrics #include_linked_accounts_metrics} => Boolean
1862
1974
  #
1863
1975
  # @example Request syntax with placeholder values
1864
1976
  #
@@ -1872,14 +1984,25 @@ module Aws::CloudWatch
1872
1984
  # resp.name #=> String
1873
1985
  # resp.include_filters #=> Array
1874
1986
  # resp.include_filters[0].namespace #=> String
1987
+ # resp.include_filters[0].metric_names #=> Array
1988
+ # resp.include_filters[0].metric_names[0] #=> String
1875
1989
  # resp.exclude_filters #=> Array
1876
1990
  # resp.exclude_filters[0].namespace #=> String
1991
+ # resp.exclude_filters[0].metric_names #=> Array
1992
+ # resp.exclude_filters[0].metric_names[0] #=> String
1877
1993
  # resp.firehose_arn #=> String
1878
1994
  # resp.role_arn #=> String
1879
1995
  # resp.state #=> String
1880
1996
  # resp.creation_date #=> Time
1881
1997
  # resp.last_update_date #=> Time
1882
1998
  # resp.output_format #=> String, one of "json", "opentelemetry0.7"
1999
+ # resp.statistics_configurations #=> Array
2000
+ # resp.statistics_configurations[0].include_metrics #=> Array
2001
+ # resp.statistics_configurations[0].include_metrics[0].namespace #=> String
2002
+ # resp.statistics_configurations[0].include_metrics[0].metric_name #=> String
2003
+ # resp.statistics_configurations[0].additional_statistics #=> Array
2004
+ # resp.statistics_configurations[0].additional_statistics[0] #=> String
2005
+ # resp.include_linked_accounts_metrics #=> Boolean
1883
2006
  #
1884
2007
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStream AWS API Documentation
1885
2008
  #
@@ -2033,6 +2156,55 @@ module Aws::CloudWatch
2033
2156
  req.send_request(options)
2034
2157
  end
2035
2158
 
2159
+ # Returns a list that contains the number of managed Contributor
2160
+ # Insights rules in your account.
2161
+ #
2162
+ # @option params [required, String] :resource_arn
2163
+ # The ARN of an Amazon Web Services resource that has managed
2164
+ # Contributor Insights rules.
2165
+ #
2166
+ # @option params [String] :next_token
2167
+ # Include this value to get the next set of rules if the value was
2168
+ # returned by the previous operation.
2169
+ #
2170
+ # @option params [Integer] :max_results
2171
+ # The maximum number of results to return in one operation. If you omit
2172
+ # this parameter, the default number is used. The default number is
2173
+ # `100`.
2174
+ #
2175
+ # @return [Types::ListManagedInsightRulesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2176
+ #
2177
+ # * {Types::ListManagedInsightRulesOutput#managed_rules #managed_rules} => Array&lt;Types::ManagedRuleDescription&gt;
2178
+ # * {Types::ListManagedInsightRulesOutput#next_token #next_token} => String
2179
+ #
2180
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2181
+ #
2182
+ # @example Request syntax with placeholder values
2183
+ #
2184
+ # resp = client.list_managed_insight_rules({
2185
+ # resource_arn: "AmazonResourceName", # required
2186
+ # next_token: "NextToken",
2187
+ # max_results: 1,
2188
+ # })
2189
+ #
2190
+ # @example Response structure
2191
+ #
2192
+ # resp.managed_rules #=> Array
2193
+ # resp.managed_rules[0].template_name #=> String
2194
+ # resp.managed_rules[0].resource_arn #=> String
2195
+ # resp.managed_rules[0].rule_state.rule_name #=> String
2196
+ # resp.managed_rules[0].rule_state.state #=> String
2197
+ # resp.next_token #=> String
2198
+ #
2199
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListManagedInsightRules AWS API Documentation
2200
+ #
2201
+ # @overload list_managed_insight_rules(params = {})
2202
+ # @param [Hash] params ({})
2203
+ def list_managed_insight_rules(params = {}, options = {})
2204
+ req = build_request(:list_managed_insight_rules, params)
2205
+ req.send_request(options)
2206
+ end
2207
+
2036
2208
  # Returns a list of metric streams in this account.
2037
2209
  #
2038
2210
  # @option params [String] :next_token
@@ -2078,15 +2250,20 @@ module Aws::CloudWatch
2078
2250
  end
2079
2251
 
2080
2252
  # List the specified metrics. You can use the returned metrics with
2081
- # [GetMetricData][1] or [GetMetricStatistics][2] to obtain statistical
2253
+ # [GetMetricData][1] or [GetMetricStatistics][2] to get statistical
2082
2254
  # data.
2083
2255
  #
2084
2256
  # Up to 500 results are returned for any one call. To retrieve
2085
2257
  # additional results, use the returned token with subsequent calls.
2086
2258
  #
2087
- # After you create a metric, allow up to 15 minutes before the metric
2088
- # appears. You can see statistics about the metric sooner by using
2089
- # [GetMetricData][1] or [GetMetricStatistics][2].
2259
+ # After you create a metric, allow up to 15 minutes for the metric to
2260
+ # appear. To see metric statistics sooner, use [GetMetricData][1] or
2261
+ # [GetMetricStatistics][2].
2262
+ #
2263
+ # If you are using CloudWatch cross-account observability, you can use
2264
+ # this operation in a monitoring account and view metrics from the
2265
+ # linked source accounts. For more information, see [CloudWatch
2266
+ # cross-account observability][3].
2090
2267
  #
2091
2268
  # `ListMetrics` doesn't return information about metrics if those
2092
2269
  # metrics haven't reported data in the past two weeks. To retrieve
@@ -2096,6 +2273,7 @@ module Aws::CloudWatch
2096
2273
  #
2097
2274
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html
2098
2275
  # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html
2276
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html
2099
2277
  #
2100
2278
  # @option params [String] :namespace
2101
2279
  # The metric namespace to filter against. Only the namespace that
@@ -2123,10 +2301,23 @@ module Aws::CloudWatch
2123
2301
  # metrics with last published data as much as 40 minutes more than the
2124
2302
  # specified time interval.
2125
2303
  #
2304
+ # @option params [Boolean] :include_linked_accounts
2305
+ # If you are using this operation in a monitoring account, specify
2306
+ # `true` to include metrics from source accounts in the returned data.
2307
+ #
2308
+ # The default is `false`.
2309
+ #
2310
+ # @option params [String] :owning_account
2311
+ # When you use this operation in a monitoring account, use this field to
2312
+ # return metrics only from one source account. To do so, specify that
2313
+ # source account ID in this field, and also specify `true` for
2314
+ # `IncludeLinkedAccounts`.
2315
+ #
2126
2316
  # @return [Types::ListMetricsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2127
2317
  #
2128
2318
  # * {Types::ListMetricsOutput#metrics #metrics} => Array&lt;Types::Metric&gt;
2129
2319
  # * {Types::ListMetricsOutput#next_token #next_token} => String
2320
+ # * {Types::ListMetricsOutput#owning_accounts #owning_accounts} => Array&lt;String&gt;
2130
2321
  #
2131
2322
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2132
2323
  #
@@ -2143,6 +2334,8 @@ module Aws::CloudWatch
2143
2334
  # ],
2144
2335
  # next_token: "NextToken",
2145
2336
  # recently_active: "PT3H", # accepts PT3H
2337
+ # include_linked_accounts: false,
2338
+ # owning_account: "AccountId",
2146
2339
  # })
2147
2340
  #
2148
2341
  # @example Response structure
@@ -2154,6 +2347,8 @@ module Aws::CloudWatch
2154
2347
  # resp.metrics[0].dimensions[0].name #=> String
2155
2348
  # resp.metrics[0].dimensions[0].value #=> String
2156
2349
  # resp.next_token #=> String
2350
+ # resp.owning_accounts #=> Array
2351
+ # resp.owning_accounts[0] #=> String
2157
2352
  #
2158
2353
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics AWS API Documentation
2159
2354
  #
@@ -2174,7 +2369,7 @@ module Aws::CloudWatch
2174
2369
  # `arn:aws:cloudwatch:Region:account-id:alarm:alarm-name `
2175
2370
  #
2176
2371
  # The ARN format of a Contributor Insights rule is
2177
- # `arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name `
2372
+ # `arn:aws:cloudwatch:Region:account-id:insight-rule/insight-rule-name `
2178
2373
  #
2179
2374
  # For more information about ARN format, see [ Resource Types Defined by
2180
2375
  # Amazon CloudWatch][1] in the *Amazon Web Services General Reference*.
@@ -2357,7 +2552,10 @@ module Aws::CloudWatch
2357
2552
  # rule are met.
2358
2553
  #
2359
2554
  # The alarms specified in a composite alarm's rule expression can
2360
- # include metric alarms and other composite alarms.
2555
+ # include metric alarms and other composite alarms. The rule expression
2556
+ # of a composite alarm can include as many as 100 underlying alarms. Any
2557
+ # single alarm can be included in the rule expressions of as many as 150
2558
+ # composite alarms.
2361
2559
  #
2362
2560
  # Using composite alarms can reduce alarm noise. You can create multiple
2363
2561
  # metric alarms, and also create a composite alarm and set up alerts
@@ -2379,7 +2577,7 @@ module Aws::CloudWatch
2379
2577
  # the rule of one of the composite alarms in the cycle to remove a
2380
2578
  # dependency that creates the cycle. The simplest change to make to
2381
2579
  # break a cycle is to change the `AlarmRule` of one of the alarms to
2382
- # `False`.
2580
+ # `false`.
2383
2581
  #
2384
2582
  # Additionally, the evaluation of composite alarms stops if CloudWatch
2385
2583
  # detects a cycle in the evaluation path.
@@ -2456,7 +2654,7 @@ module Aws::CloudWatch
2456
2654
  # Alarm names specified in `AlarmRule` can be surrounded with
2457
2655
  # double-quotes ("), but do not have to be.
2458
2656
  #
2459
- # The following are some examples of `AlarmRule`\:
2657
+ # The following are some examples of `AlarmRule`:
2460
2658
  #
2461
2659
  # * `ALARM(CPUUtilizationTooHigh) AND ALARM(DiskReadOpsTooHigh)`
2462
2660
  # specifies that the composite alarm goes into ALARM state only if
@@ -2503,6 +2701,26 @@ module Aws::CloudWatch
2503
2701
  # use them to scope user permissions, by granting a user permission to
2504
2702
  # access or change only resources with certain tag values.
2505
2703
  #
2704
+ # @option params [String] :actions_suppressor
2705
+ # Actions will be suppressed if the suppressor alarm is in the `ALARM`
2706
+ # state. `ActionsSuppressor` can be an AlarmName or an Amazon Resource
2707
+ # Name (ARN) from an existing alarm.
2708
+ #
2709
+ # @option params [Integer] :actions_suppressor_wait_period
2710
+ # The maximum time in seconds that the composite alarm waits for the
2711
+ # suppressor alarm to go into the `ALARM` state. After this time, the
2712
+ # composite alarm performs its actions.
2713
+ #
2714
+ # `WaitPeriod` is required only when `ActionsSuppressor` is specified.
2715
+ #
2716
+ # @option params [Integer] :actions_suppressor_extension_period
2717
+ # The maximum time in seconds that the composite alarm waits after
2718
+ # suppressor alarm goes out of the `ALARM` state. After this time, the
2719
+ # composite alarm performs its actions.
2720
+ #
2721
+ # `ExtensionPeriod` is required only when `ActionsSuppressor` is
2722
+ # specified.
2723
+ #
2506
2724
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2507
2725
  #
2508
2726
  # @example Request syntax with placeholder values
@@ -2521,6 +2739,9 @@ module Aws::CloudWatch
2521
2739
  # value: "TagValue", # required
2522
2740
  # },
2523
2741
  # ],
2742
+ # actions_suppressor: "AlarmArn",
2743
+ # actions_suppressor_wait_period: 1,
2744
+ # actions_suppressor_extension_period: 1,
2524
2745
  # })
2525
2746
  #
2526
2747
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutCompositeAlarm AWS API Documentation
@@ -2670,8 +2891,62 @@ module Aws::CloudWatch
2670
2891
  req.send_request(options)
2671
2892
  end
2672
2893
 
2894
+ # Creates a managed Contributor Insights rule for a specified Amazon Web
2895
+ # Services resource. When you enable a managed rule, you create a
2896
+ # Contributor Insights rule that collects data from Amazon Web Services
2897
+ # services. You cannot edit these rules with `PutInsightRule`. The rules
2898
+ # can be enabled, disabled, and deleted using `EnableInsightRules`,
2899
+ # `DisableInsightRules`, and `DeleteInsightRules`. If a previously
2900
+ # created managed rule is currently disabled, a subsequent call to this
2901
+ # API will re-enable it. Use `ListManagedInsightRules` to describe all
2902
+ # available rules.
2903
+ #
2904
+ # @option params [required, Array<Types::ManagedRule>] :managed_rules
2905
+ # A list of `ManagedRules` to enable.
2906
+ #
2907
+ # @return [Types::PutManagedInsightRulesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2908
+ #
2909
+ # * {Types::PutManagedInsightRulesOutput#failures #failures} => Array&lt;Types::PartialFailure&gt;
2910
+ #
2911
+ # @example Request syntax with placeholder values
2912
+ #
2913
+ # resp = client.put_managed_insight_rules({
2914
+ # managed_rules: [ # required
2915
+ # {
2916
+ # template_name: "TemplateName", # required
2917
+ # resource_arn: "AmazonResourceName", # required
2918
+ # tags: [
2919
+ # {
2920
+ # key: "TagKey", # required
2921
+ # value: "TagValue", # required
2922
+ # },
2923
+ # ],
2924
+ # },
2925
+ # ],
2926
+ # })
2927
+ #
2928
+ # @example Response structure
2929
+ #
2930
+ # resp.failures #=> Array
2931
+ # resp.failures[0].failure_resource #=> String
2932
+ # resp.failures[0].exception_type #=> String
2933
+ # resp.failures[0].failure_code #=> String
2934
+ # resp.failures[0].failure_description #=> String
2935
+ #
2936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutManagedInsightRules AWS API Documentation
2937
+ #
2938
+ # @overload put_managed_insight_rules(params = {})
2939
+ # @param [Hash] params ({})
2940
+ def put_managed_insight_rules(params = {}, options = {})
2941
+ req = build_request(:put_managed_insight_rules, params)
2942
+ req.send_request(options)
2943
+ end
2944
+
2673
2945
  # Creates or updates an alarm and associates it with the specified
2674
- # metric, metric math expression, or anomaly detection model.
2946
+ # metric, metric math expression, anomaly detection model, or Metrics
2947
+ # Insights query. For more information about using a Metrics Insights
2948
+ # query for an alarm, see [Create alarms on Metrics Insights
2949
+ # queries][1].
2675
2950
  #
2676
2951
  # Alarms based on anomaly detection models cannot have Auto Scaling
2677
2952
  # actions.
@@ -2688,17 +2963,21 @@ module Aws::CloudWatch
2688
2963
  # If you are an IAM user, you must have Amazon EC2 permissions for some
2689
2964
  # alarm operations:
2690
2965
  #
2691
- # * The `iam:CreateServiceLinkedRole` for all alarms with EC2 actions
2966
+ # * The `iam:CreateServiceLinkedRole` permission for all alarms with EC2
2967
+ # actions
2692
2968
  #
2693
- # * The `iam:CreateServiceLinkedRole` to create an alarm with Systems
2694
- # Manager OpsItem actions.
2969
+ # * The `iam:CreateServiceLinkedRole` permissions to create an alarm
2970
+ # with Systems Manager OpsItem or response plan actions.
2695
2971
  #
2696
2972
  # The first time you create an alarm in the Amazon Web Services
2697
2973
  # Management Console, the CLI, or by using the PutMetricAlarm API,
2698
2974
  # CloudWatch creates the necessary service-linked role for you. The
2699
2975
  # service-linked roles are called `AWSServiceRoleForCloudWatchEvents`
2700
2976
  # and `AWSServiceRoleForCloudWatchAlarms_ActionSSM`. For more
2701
- # information, see [Amazon Web Services service-linked role][1].
2977
+ # information, see [Amazon Web Services service-linked role][2].
2978
+ #
2979
+ # Each `PutMetricAlarm` action has a maximum uncompressed payload of 120
2980
+ # KB.
2702
2981
  #
2703
2982
  # **Cross-account alarms**
2704
2983
  #
@@ -2712,7 +2991,7 @@ module Aws::CloudWatch
2712
2991
  # **CloudWatch-CrossAccountSharingRole**. If it does not already have
2713
2992
  # this role, you must create it using the instructions in **Set up a
2714
2993
  # sharing account** in [ Cross-account cross-Region CloudWatch
2715
- # console][2]. The policy for that role must grant access to the ID of
2994
+ # console][3]. The policy for that role must grant access to the ID of
2716
2995
  # the account where you are creating the alarm.
2717
2996
  #
2718
2997
  # * The account where you are creating the alarm (the *monitoring
@@ -2720,16 +2999,20 @@ module Aws::CloudWatch
2720
2999
  # **AWSServiceRoleForCloudWatchCrossAccount** to allow CloudWatch to
2721
3000
  # assume the sharing role in the sharing account. If it does not, you
2722
3001
  # must create it following the directions in **Set up a monitoring
2723
- # account** in [ Cross-account cross-Region CloudWatch console][2].
3002
+ # account** in [ Cross-account cross-Region CloudWatch console][3].
2724
3003
  #
2725
3004
  #
2726
3005
  #
2727
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role
2728
- # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html#enable-cross-account-cross-Region
3006
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Metrics_Insights_Alarm.html
3007
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role
3008
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html#enable-cross-account-cross-Region
2729
3009
  #
2730
3010
  # @option params [required, String] :alarm_name
2731
3011
  # The name for the alarm. This name must be unique within the Region.
2732
3012
  #
3013
+ # The name must contain only UTF-8 characters, and can't contain ASCII
3014
+ # control characters
3015
+ #
2733
3016
  # @option params [String] :alarm_description
2734
3017
  # The description for the alarm.
2735
3018
  #
@@ -2740,67 +3023,134 @@ module Aws::CloudWatch
2740
3023
  # @option params [Array<String>] :ok_actions
2741
3024
  # The actions to execute when this alarm transitions to an `OK` state
2742
3025
  # from any other state. Each action is specified as an Amazon Resource
2743
- # Name (ARN).
3026
+ # Name (ARN). Valid values:
3027
+ #
3028
+ # **EC2 actions:**
3029
+ #
3030
+ # * `arn:aws:automate:region:ec2:stop`
3031
+ #
3032
+ # * `arn:aws:automate:region:ec2:terminate`
3033
+ #
3034
+ # * `arn:aws:automate:region:ec2:reboot`
3035
+ #
3036
+ # * `arn:aws:automate:region:ec2:recover`
3037
+ #
3038
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0`
3039
+ #
3040
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0`
3041
+ #
3042
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0`
3043
+ #
3044
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0`
2744
3045
  #
2745
- # Valid Values: `arn:aws:automate:region:ec2:stop` \|
2746
- # `arn:aws:automate:region:ec2:terminate` \|
2747
- # `arn:aws:automate:region:ec2:recover` \|
2748
- # `arn:aws:automate:region:ec2:reboot` \|
2749
- # `arn:aws:sns:region:account-id:sns-topic-name ` \|
2750
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
2751
- # `
2752
- #
2753
- # Valid Values (for use with IAM roles):
2754
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0`
2755
- # \|
2756
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0`
2757
- # \|
2758
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0`
2759
- # \|
2760
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0`
3046
+ # **Autoscaling action:**
3047
+ #
3048
+ # * `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3049
+ # `
3050
+ #
3051
+ # ^
3052
+ #
3053
+ # **SNS notification action:**
3054
+ #
3055
+ # * `arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3056
+ # `
3057
+ #
3058
+ # ^
3059
+ #
3060
+ # **SSM integration actions:**
3061
+ #
3062
+ # * `arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name
3063
+ # `
3064
+ #
3065
+ # * `arn:aws:ssm-incidents::account-id:responseplan/response-plan-name `
2761
3066
  #
2762
3067
  # @option params [Array<String>] :alarm_actions
2763
3068
  # The actions to execute when this alarm transitions to the `ALARM`
2764
3069
  # state from any other state. Each action is specified as an Amazon
2765
- # Resource Name (ARN).
3070
+ # Resource Name (ARN). Valid values:
3071
+ #
3072
+ # **EC2 actions:**
3073
+ #
3074
+ # * `arn:aws:automate:region:ec2:stop`
2766
3075
  #
2767
- # Valid Values: `arn:aws:automate:region:ec2:stop` \|
2768
- # `arn:aws:automate:region:ec2:terminate` \|
2769
- # `arn:aws:automate:region:ec2:recover` \|
2770
- # `arn:aws:automate:region:ec2:reboot` \|
2771
- # `arn:aws:sns:region:account-id:sns-topic-name ` \|
2772
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
2773
- # ` \| `arn:aws:ssm:region:account-id:opsitem:severity ` \|
2774
- # `arn:aws:ssm-incidents::account-id:response-plan:response-plan-name `
2775
- #
2776
- # Valid Values (for use with IAM roles):
2777
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0`
2778
- # \|
2779
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0`
2780
- # \|
2781
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0`
2782
- # \|
2783
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0`
3076
+ # * `arn:aws:automate:region:ec2:terminate`
3077
+ #
3078
+ # * `arn:aws:automate:region:ec2:reboot`
3079
+ #
3080
+ # * `arn:aws:automate:region:ec2:recover`
3081
+ #
3082
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0`
3083
+ #
3084
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0`
3085
+ #
3086
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0`
3087
+ #
3088
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0`
3089
+ #
3090
+ # **Autoscaling action:**
3091
+ #
3092
+ # * `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3093
+ # `
3094
+ #
3095
+ # ^
3096
+ #
3097
+ # **SNS notification action:**
3098
+ #
3099
+ # * `arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3100
+ # `
3101
+ #
3102
+ # ^
3103
+ #
3104
+ # **SSM integration actions:**
3105
+ #
3106
+ # * `arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name
3107
+ # `
3108
+ #
3109
+ # * `arn:aws:ssm-incidents::account-id:responseplan/response-plan-name `
2784
3110
  #
2785
3111
  # @option params [Array<String>] :insufficient_data_actions
2786
3112
  # The actions to execute when this alarm transitions to the
2787
3113
  # `INSUFFICIENT_DATA` state from any other state. Each action is
2788
- # specified as an Amazon Resource Name (ARN).
3114
+ # specified as an Amazon Resource Name (ARN). Valid values:
3115
+ #
3116
+ # **EC2 actions:**
3117
+ #
3118
+ # * `arn:aws:automate:region:ec2:stop`
3119
+ #
3120
+ # * `arn:aws:automate:region:ec2:terminate`
3121
+ #
3122
+ # * `arn:aws:automate:region:ec2:reboot`
3123
+ #
3124
+ # * `arn:aws:automate:region:ec2:recover`
3125
+ #
3126
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0`
3127
+ #
3128
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0`
2789
3129
  #
2790
- # Valid Values: `arn:aws:automate:region:ec2:stop` \|
2791
- # `arn:aws:automate:region:ec2:terminate` \|
2792
- # `arn:aws:automate:region:ec2:recover` \|
2793
- # `arn:aws:automate:region:ec2:reboot` \|
2794
- # `arn:aws:sns:region:account-id:sns-topic-name ` \|
2795
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
2796
- # `
2797
- #
2798
- # Valid Values (for use with IAM roles):
2799
- # `>arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0`
2800
- # \|
2801
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0`
2802
- # \|
2803
- # `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0`
3130
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0`
3131
+ #
3132
+ # * `arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0`
3133
+ #
3134
+ # **Autoscaling action:**
3135
+ #
3136
+ # * `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3137
+ # `
3138
+ #
3139
+ # ^
3140
+ #
3141
+ # **SNS notification action:**
3142
+ #
3143
+ # * `arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3144
+ # `
3145
+ #
3146
+ # ^
3147
+ #
3148
+ # **SSM integration actions:**
3149
+ #
3150
+ # * `arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name
3151
+ # `
3152
+ #
3153
+ # * `arn:aws:ssm-incidents::account-id:responseplan/response-plan-name `
2804
3154
  #
2805
3155
  # @option params [String] :metric_name
2806
3156
  # The name for the metric associated with the alarm. For each
@@ -2822,10 +3172,40 @@ module Aws::CloudWatch
2822
3172
  # either `Statistic` or `ExtendedStatistic,` but not both.
2823
3173
  #
2824
3174
  # @option params [String] :extended_statistic
2825
- # The percentile statistic for the metric specified in `MetricName`.
2826
- # Specify a value between p0.0 and p100. When you call `PutMetricAlarm`
2827
- # and specify a `MetricName`, you must specify either `Statistic` or
2828
- # `ExtendedStatistic,` but not both.
3175
+ # The extended statistic for the metric specified in `MetricName`. When
3176
+ # you call `PutMetricAlarm` and specify a `MetricName`, you must specify
3177
+ # either `Statistic` or `ExtendedStatistic` but not both.
3178
+ #
3179
+ # If you specify `ExtendedStatistic`, the following are valid values:
3180
+ #
3181
+ # * `p90`
3182
+ #
3183
+ # * `tm90`
3184
+ #
3185
+ # * `tc90`
3186
+ #
3187
+ # * `ts90`
3188
+ #
3189
+ # * `wm90`
3190
+ #
3191
+ # * `IQM`
3192
+ #
3193
+ # * `PR(n:m)` where n and m are values of the metric
3194
+ #
3195
+ # * `TC(X%:X%)` where X is between 10 and 90 inclusive.
3196
+ #
3197
+ # * `TM(X%:X%)` where X is between 10 and 90 inclusive.
3198
+ #
3199
+ # * `TS(X%:X%)` where X is between 10 and 90 inclusive.
3200
+ #
3201
+ # * `WM(X%:X%)` where X is between 10 and 90 inclusive.
3202
+ #
3203
+ # For more information about these extended statistics, see [CloudWatch
3204
+ # statistics definitions][1].
3205
+ #
3206
+ #
3207
+ #
3208
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html
2829
3209
  #
2830
3210
  # @option params [Array<Types::Dimension>] :dimensions
2831
3211
  # The dimensions for the metric specified in `MetricName`.
@@ -2873,7 +3253,7 @@ module Aws::CloudWatch
2873
3253
  #
2874
3254
  # However, if the metric is published with multiple types of units and
2875
3255
  # you don't specify a unit, the alarm's behavior is not defined and it
2876
- # behaves predictably.
3256
+ # behaves unpredictably.
2877
3257
  #
2878
3258
  # We recommend omitting `Unit` so that you don't inadvertently specify
2879
3259
  # an incorrect unit that is not published for this metric. Doing so
@@ -2923,6 +3303,13 @@ module Aws::CloudWatch
2923
3303
  #
2924
3304
  # Valid Values: `breaching | notBreaching | ignore | missing`
2925
3305
  #
3306
+ # <note markdown="1"> Alarms that evaluate metrics in the `AWS/DynamoDB` namespace always
3307
+ # `ignore` missing data even if you choose a different option for
3308
+ # `TreatMissingData`. When an `AWS/DynamoDB` metric has missing data,
3309
+ # alarms that evaluate that metric remain in their current state.
3310
+ #
3311
+ # </note>
3312
+ #
2926
3313
  #
2927
3314
  #
2928
3315
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data
@@ -2968,7 +3355,9 @@ module Aws::CloudWatch
2968
3355
  #
2969
3356
  # @option params [Array<Types::Tag>] :tags
2970
3357
  # A list of key-value pairs to associate with the alarm. You can
2971
- # associate as many as 50 tags with an alarm.
3358
+ # associate as many as 50 tags with an alarm. To be able to associate
3359
+ # tags with the alarm when you create the alarm, you must have the
3360
+ # `cloudwatch:TagResource` permission.
2972
3361
  #
2973
3362
  # Tags can help you organize and categorize your resources. You can also
2974
3363
  # use them to scope user permissions by granting a user permission to
@@ -3079,16 +3468,16 @@ module Aws::CloudWatch
3079
3468
  # `PutMetricData` request, and supports retrieving percentile statistics
3080
3469
  # on this data.
3081
3470
  #
3082
- # Each `PutMetricData` request is limited to 40 KB in size for HTTP POST
3471
+ # Each `PutMetricData` request is limited to 1 MB in size for HTTP POST
3083
3472
  # requests. You can send a payload compressed by gzip. Each request is
3084
- # also limited to no more than 20 different metrics.
3473
+ # also limited to no more than 1000 different metrics.
3085
3474
  #
3086
3475
  # Although the `Value` parameter accepts numbers of type `Double`,
3087
3476
  # CloudWatch rejects values that are either too small or too large.
3088
3477
  # Values must be in the range of -2^360 to 2^360. In addition, special
3089
3478
  # values (for example, NaN, +Infinity, -Infinity) are not supported.
3090
3479
  #
3091
- # You can use up to 10 dimensions per metric to further clarify what
3480
+ # You can use up to 30 dimensions per metric to further clarify what
3092
3481
  # data the metric collects. Each dimension consists of a Name and Value
3093
3482
  # pair. For more information about specifying dimensions, see
3094
3483
  # [Publishing Metrics][2] in the *Amazon CloudWatch User Guide*.
@@ -3123,14 +3512,15 @@ module Aws::CloudWatch
3123
3512
  # [4]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html
3124
3513
  #
3125
3514
  # @option params [required, String] :namespace
3126
- # The namespace for the metric data.
3515
+ # The namespace for the metric data. You can use ASCII characters for
3516
+ # the namespace, except for control characters which are not supported.
3127
3517
  #
3128
3518
  # To avoid conflicts with Amazon Web Services service namespaces, you
3129
3519
  # should not specify a namespace that begins with `AWS/`
3130
3520
  #
3131
3521
  # @option params [required, Array<Types::MetricDatum>] :metric_data
3132
- # The data for the metric. The array can include no more than 20 metrics
3133
- # per call.
3522
+ # The data for the metric. The array can include no more than 1000
3523
+ # metrics per call.
3134
3524
  #
3135
3525
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3136
3526
  #
@@ -3173,12 +3563,12 @@ module Aws::CloudWatch
3173
3563
  end
3174
3564
 
3175
3565
  # Creates or updates a metric stream. Metric streams can automatically
3176
- # stream CloudWatch metrics to Amazon Web Services destinations
3177
- # including Amazon S3 and to many third-party solutions.
3566
+ # stream CloudWatch metrics to Amazon Web Services destinations,
3567
+ # including Amazon S3, and to many third-party solutions.
3178
3568
  #
3179
3569
  # For more information, see [ Using Metric Streams][1].
3180
3570
  #
3181
- # To create a metric stream, you must be logged on to an account that
3571
+ # To create a metric stream, you must be signed in to an account that
3182
3572
  # has the `iam:PassRole` permission and either the
3183
3573
  # `CloudWatchFullAccess` policy or the `cloudwatch:PutMetricStream`
3184
3574
  # permission.
@@ -3194,13 +3584,27 @@ module Aws::CloudWatch
3194
3584
  # * Stream metrics from only the metric namespaces that you list in
3195
3585
  # `IncludeFilters`.
3196
3586
  #
3587
+ # By default, a metric stream always sends the `MAX`, `MIN`, `SUM`, and
3588
+ # `SAMPLECOUNT` statistics for each metric that is streamed. You can use
3589
+ # the `StatisticsConfigurations` parameter to have the metric stream
3590
+ # send additional statistics in the stream. Streaming additional
3591
+ # statistics incurs additional costs. For more information, see [Amazon
3592
+ # CloudWatch Pricing][2].
3593
+ #
3197
3594
  # When you use `PutMetricStream` to create a new metric stream, the
3198
3595
  # stream is created in the `running` state. If you use it to update an
3199
3596
  # existing stream, the state of the stream is not changed.
3200
3597
  #
3598
+ # If you are using CloudWatch cross-account observability and you create
3599
+ # a metric stream in a monitoring account, you can choose whether to
3600
+ # include metrics from source accounts in the stream. For more
3601
+ # information, see [CloudWatch cross-account observability][3].
3602
+ #
3201
3603
  #
3202
3604
  #
3203
3605
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html
3606
+ # [2]: https://aws.amazon.com/cloudwatch/pricing/
3607
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html
3204
3608
  #
3205
3609
  # @option params [required, String] :name
3206
3610
  # If you are creating a new metric stream, this is the name for the new
@@ -3227,15 +3631,16 @@ module Aws::CloudWatch
3227
3631
  # operation.
3228
3632
  #
3229
3633
  # @option params [required, String] :firehose_arn
3230
- # The ARN of the Amazon Kinesis Firehose delivery stream to use for this
3231
- # metric stream. This Amazon Kinesis Firehose delivery stream must
3232
- # already exist and must be in the same account as the metric stream.
3634
+ # The ARN of the Amazon Kinesis Data Firehose delivery stream to use for
3635
+ # this metric stream. This Amazon Kinesis Data Firehose delivery stream
3636
+ # must already exist and must be in the same account as the metric
3637
+ # stream.
3233
3638
  #
3234
3639
  # @option params [required, String] :role_arn
3235
3640
  # The ARN of an IAM role that this metric stream will use to access
3236
- # Amazon Kinesis Firehose resources. This IAM role must already exist
3237
- # and must be in the same account as the metric stream. This IAM role
3238
- # must include the following permissions:
3641
+ # Amazon Kinesis Data Firehose resources. This IAM role must already
3642
+ # exist and must be in the same account as the metric stream. This IAM
3643
+ # role must include the following permissions:
3239
3644
  #
3240
3645
  # * firehose:PutRecord
3241
3646
  #
@@ -3269,6 +3674,29 @@ module Aws::CloudWatch
3269
3674
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html
3270
3675
  # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_UntagResource.html
3271
3676
  #
3677
+ # @option params [Array<Types::MetricStreamStatisticsConfiguration>] :statistics_configurations
3678
+ # By default, a metric stream always sends the `MAX`, `MIN`, `SUM`, and
3679
+ # `SAMPLECOUNT` statistics for each metric that is streamed. You can use
3680
+ # this parameter to have the metric stream also send additional
3681
+ # statistics in the stream. This array can have up to 100 members.
3682
+ #
3683
+ # For each entry in this array, you specify one or more metrics and the
3684
+ # list of additional statistics to stream for those metrics. The
3685
+ # additional statistics that you can stream depend on the stream's
3686
+ # `OutputFormat`. If the `OutputFormat` is `json`, you can stream any
3687
+ # additional statistic that is supported by CloudWatch, listed in [
3688
+ # CloudWatch statistics definitions][1]. If the `OutputFormat` is
3689
+ # `opentelemetry0.7`, you can stream percentile statistics such as p95,
3690
+ # p99.9, and so on.
3691
+ #
3692
+ #
3693
+ #
3694
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.html
3695
+ #
3696
+ # @option params [Boolean] :include_linked_accounts_metrics
3697
+ # If you are creating a metric stream in a monitoring account, specify
3698
+ # `true` to include metrics from source accounts in the metric stream.
3699
+ #
3272
3700
  # @return [Types::PutMetricStreamOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3273
3701
  #
3274
3702
  # * {Types::PutMetricStreamOutput#arn #arn} => String
@@ -3280,11 +3708,13 @@ module Aws::CloudWatch
3280
3708
  # include_filters: [
3281
3709
  # {
3282
3710
  # namespace: "Namespace",
3711
+ # metric_names: ["MetricName"],
3283
3712
  # },
3284
3713
  # ],
3285
3714
  # exclude_filters: [
3286
3715
  # {
3287
3716
  # namespace: "Namespace",
3717
+ # metric_names: ["MetricName"],
3288
3718
  # },
3289
3719
  # ],
3290
3720
  # firehose_arn: "AmazonResourceName", # required
@@ -3296,6 +3726,18 @@ module Aws::CloudWatch
3296
3726
  # value: "TagValue", # required
3297
3727
  # },
3298
3728
  # ],
3729
+ # statistics_configurations: [
3730
+ # {
3731
+ # include_metrics: [ # required
3732
+ # {
3733
+ # namespace: "Namespace", # required
3734
+ # metric_name: "MetricName", # required
3735
+ # },
3736
+ # ],
3737
+ # additional_statistics: ["MetricStreamStatistic"], # required
3738
+ # },
3739
+ # ],
3740
+ # include_linked_accounts_metrics: false,
3299
3741
  # })
3300
3742
  #
3301
3743
  # @example Response structure
@@ -3454,7 +3896,7 @@ module Aws::CloudWatch
3454
3896
  # `arn:aws:cloudwatch:Region:account-id:alarm:alarm-name `
3455
3897
  #
3456
3898
  # The ARN format of a Contributor Insights rule is
3457
- # `arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name `
3899
+ # `arn:aws:cloudwatch:Region:account-id:insight-rule/insight-rule-name `
3458
3900
  #
3459
3901
  # For more information about ARN format, see [ Resource Types Defined by
3460
3902
  # Amazon CloudWatch][1] in the *Amazon Web Services General Reference*.
@@ -3498,7 +3940,7 @@ module Aws::CloudWatch
3498
3940
  # `arn:aws:cloudwatch:Region:account-id:alarm:alarm-name `
3499
3941
  #
3500
3942
  # The ARN format of a Contributor Insights rule is
3501
- # `arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name `
3943
+ # `arn:aws:cloudwatch:Region:account-id:insight-rule/insight-rule-name `
3502
3944
  #
3503
3945
  # For more information about ARN format, see [ Resource Types Defined by
3504
3946
  # Amazon CloudWatch][1] in the *Amazon Web Services General Reference*.
@@ -3541,7 +3983,7 @@ module Aws::CloudWatch
3541
3983
  params: params,
3542
3984
  config: config)
3543
3985
  context[:gem_name] = 'aws-sdk-cloudwatch'
3544
- context[:gem_version] = '1.59.0'
3986
+ context[:gem_version] = '1.81.0'
3545
3987
  Seahorse::Client::Request.new(handlers, context)
3546
3988
  end
3547
3989