aws-sdk-cloudwatch 1.32.0 → 1.33.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.
@@ -10,6 +10,17 @@ module Aws::CloudWatch
10
10
 
11
11
  extend Aws::Errors::DynamicErrors
12
12
 
13
+ class ConcurrentModificationException < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::CloudWatch::Types::ConcurrentModificationException] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ end
23
+
13
24
  class DashboardInvalidInputError < ServiceError
14
25
 
15
26
  # @param [Seahorse::Client::RequestContext] context
@@ -127,6 +138,17 @@ module Aws::CloudWatch
127
138
 
128
139
  end
129
140
 
141
+ class LimitExceededException < ServiceError
142
+
143
+ # @param [Seahorse::Client::RequestContext] context
144
+ # @param [String] message
145
+ # @param [Aws::CloudWatch::Types::LimitExceededException] data
146
+ def initialize(context, message, data = Aws::EmptyStructure.new)
147
+ super(context, message, data)
148
+ end
149
+
150
+ end
151
+
130
152
  class LimitExceededFault < ServiceError
131
153
 
132
154
  # @param [Seahorse::Client::RequestContext] context
@@ -375,7 +375,7 @@ module Aws::CloudWatch
375
375
  # `arn:aws:automate:region:ec2:recover` \|
376
376
  # `arn:aws:automate:region:ec2:reboot` \|
377
377
  # `arn:aws:sns:region:account-id:sns-topic-name ` \|
378
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
378
+ # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
379
379
  # `
380
380
  #
381
381
  # Valid Values (for use with IAM roles):
@@ -394,7 +394,7 @@ module Aws::CloudWatch
394
394
  # `arn:aws:automate:region:ec2:recover` \|
395
395
  # `arn:aws:automate:region:ec2:reboot` \|
396
396
  # `arn:aws:sns:region:account-id:sns-topic-name ` \|
397
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
397
+ # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
398
398
  # `
399
399
  #
400
400
  # Valid Values (for use with IAM roles):
@@ -413,7 +413,7 @@ module Aws::CloudWatch
413
413
  # `arn:aws:automate:region:ec2:recover` \|
414
414
  # `arn:aws:automate:region:ec2:reboot` \|
415
415
  # `arn:aws:sns:region:account-id:sns-topic-name ` \|
416
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
416
+ # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
417
417
  # `
418
418
  #
419
419
  # Valid Values (for use with IAM roles):
@@ -550,13 +550,17 @@ module Aws::CloudWatch
550
550
  # One item in the `Metrics` array is the expression that the alarm
551
551
  # watches. You designate this expression by setting `ReturnValue` to
552
552
  # true for this object in the array. For more information, see
553
- # MetricDataQuery.
553
+ # [MetricDataQuery][1].
554
554
  #
555
555
  # If you use the `Metrics` parameter, you cannot include the
556
556
  # `MetricName`, `Dimensions`, `Period`, `Namespace`, `Statistic`, or
557
557
  # `ExtendedStatistic` parameters of `PutMetricAlarm` in the same
558
558
  # operation. Instead, you retrieve the metrics you are using in your
559
559
  # math expression as part of the `Metrics` array.
560
+ #
561
+ #
562
+ #
563
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html
560
564
  # @option options [Array<Types::Tag>] :tags
561
565
  # A list of key-value pairs to associate with the alarm. You can
562
566
  # associate as many as 50 tags with an alarm.
@@ -35,19 +35,71 @@ module Aws::CloudWatch
35
35
  # alarms = cloud_watch.alarms({
36
36
  # alarm_names: ["AlarmName"],
37
37
  # alarm_name_prefix: "AlarmNamePrefix",
38
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
39
+ # children_of_alarm_name: "AlarmName",
40
+ # parents_of_alarm_name: "AlarmName",
38
41
  # state_value: "OK", # accepts OK, ALARM, INSUFFICIENT_DATA
39
42
  # action_prefix: "ActionPrefix",
40
43
  # })
41
44
  # @param [Hash] options ({})
42
45
  # @option options [Array<String>] :alarm_names
43
- # The names of the alarms.
46
+ # The names of the alarms to retrieve information about.
44
47
  # @option options [String] :alarm_name_prefix
45
- # The alarm name prefix. If this parameter is specified, you cannot
46
- # specify `AlarmNames`.
48
+ # An alarm name prefix. If you specify this parameter, you receive
49
+ # information about all alarms that have names that start with this
50
+ # prefix.
51
+ #
52
+ # If this parameter is specified, you cannot specify `AlarmNames`.
53
+ # @option options [Array<String>] :alarm_types
54
+ # Use this parameter to specify whether you want the operation to return
55
+ # metric alarms or composite alarms. If you omit this parameter, only
56
+ # metric alarms are returned.
57
+ # @option options [String] :children_of_alarm_name
58
+ # If you use this parameter and specify the name of a composite alarm,
59
+ # the operation returns information about the "children" alarms of the
60
+ # alarm you specify. These are the metric alarms and composite alarms
61
+ # referenced in the `AlarmRule` field of the composite alarm that you
62
+ # specify in `ChildrenOfAlarmName`. Information about the composite
63
+ # alarm that you name in `ChildrenOfAlarmName` is not returned.
64
+ #
65
+ # If you specify `ChildrenOfAlarmName`, you cannot specify any other
66
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
67
+ # you do so, you will receive a validation error.
68
+ #
69
+ # <note markdown="1"> Only the `Alarm Name`, `ARN`, `StateValue`
70
+ # (OK/ALARM/INSUFFICIENT\_DATA), and `StateUpdatedTimestamp` information
71
+ # are returned by this operation when you use this parameter. To get
72
+ # complete information about these alarms, perform another
73
+ # `DescribeAlarms` operation and specify the parent alarm names in the
74
+ # `AlarmNames` parameter.
75
+ #
76
+ # </note>
77
+ # @option options [String] :parents_of_alarm_name
78
+ # If you use this parameter and specify the name of a metric or
79
+ # composite alarm, the operation returns information about the
80
+ # "parent" alarms of the alarm you specify. These are the composite
81
+ # alarms that have `AlarmRule` parameters that reference the alarm named
82
+ # in `ParentsOfAlarmName`. Information about the alarm that you specify
83
+ # in `ParentsOfAlarmName` is not returned.
84
+ #
85
+ # If you specify `ParentsOfAlarmName`, you cannot specify any other
86
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
87
+ # you do so, you will receive a validation error.
88
+ #
89
+ # <note markdown="1"> Only the Alarm Name and ARN are returned by this operation when you
90
+ # use this parameter. To get complete information about these alarms,
91
+ # perform another `DescribeAlarms` operation and specify the parent
92
+ # alarm names in the `AlarmNames` parameter.
93
+ #
94
+ # </note>
47
95
  # @option options [String] :state_value
48
- # The state value to be used in matching alarms.
96
+ # Specify this parameter to receive information only about alarms that
97
+ # are currently in the state that you specify.
49
98
  # @option options [String] :action_prefix
50
- # The action name prefix.
99
+ # Use this parameter to filter the results of the operation to only
100
+ # those alarms that use a certain alarm action. For example, you could
101
+ # specify the ARN of an SNS topic to find all alarms that send
102
+ # notifications to that topic.
51
103
  # @return [Alarm::Collection]
52
104
  def alarms(options = {})
53
105
  batches = Enumerator.new do |y|
@@ -67,6 +119,104 @@ module Aws::CloudWatch
67
119
  Alarm::Collection.new(batches)
68
120
  end
69
121
 
122
+ # @param [String] name
123
+ # @return [CompositeAlarm]
124
+ def composite_alarm(name)
125
+ CompositeAlarm.new(
126
+ name: name,
127
+ client: @client
128
+ )
129
+ end
130
+
131
+ # @example Request syntax with placeholder values
132
+ #
133
+ # composite_alarms = cloud_watch.composite_alarms({
134
+ # alarm_names: ["AlarmName"],
135
+ # alarm_name_prefix: "AlarmNamePrefix",
136
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
137
+ # children_of_alarm_name: "AlarmName",
138
+ # parents_of_alarm_name: "AlarmName",
139
+ # state_value: "OK", # accepts OK, ALARM, INSUFFICIENT_DATA
140
+ # action_prefix: "ActionPrefix",
141
+ # })
142
+ # @param [Hash] options ({})
143
+ # @option options [Array<String>] :alarm_names
144
+ # The names of the alarms to retrieve information about.
145
+ # @option options [String] :alarm_name_prefix
146
+ # An alarm name prefix. If you specify this parameter, you receive
147
+ # information about all alarms that have names that start with this
148
+ # prefix.
149
+ #
150
+ # If this parameter is specified, you cannot specify `AlarmNames`.
151
+ # @option options [Array<String>] :alarm_types
152
+ # Use this parameter to specify whether you want the operation to return
153
+ # metric alarms or composite alarms. If you omit this parameter, only
154
+ # metric alarms are returned.
155
+ # @option options [String] :children_of_alarm_name
156
+ # If you use this parameter and specify the name of a composite alarm,
157
+ # the operation returns information about the "children" alarms of the
158
+ # alarm you specify. These are the metric alarms and composite alarms
159
+ # referenced in the `AlarmRule` field of the composite alarm that you
160
+ # specify in `ChildrenOfAlarmName`. Information about the composite
161
+ # alarm that you name in `ChildrenOfAlarmName` is not returned.
162
+ #
163
+ # If you specify `ChildrenOfAlarmName`, you cannot specify any other
164
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
165
+ # you do so, you will receive a validation error.
166
+ #
167
+ # <note markdown="1"> Only the `Alarm Name`, `ARN`, `StateValue`
168
+ # (OK/ALARM/INSUFFICIENT\_DATA), and `StateUpdatedTimestamp` information
169
+ # are returned by this operation when you use this parameter. To get
170
+ # complete information about these alarms, perform another
171
+ # `DescribeAlarms` operation and specify the parent alarm names in the
172
+ # `AlarmNames` parameter.
173
+ #
174
+ # </note>
175
+ # @option options [String] :parents_of_alarm_name
176
+ # If you use this parameter and specify the name of a metric or
177
+ # composite alarm, the operation returns information about the
178
+ # "parent" alarms of the alarm you specify. These are the composite
179
+ # alarms that have `AlarmRule` parameters that reference the alarm named
180
+ # in `ParentsOfAlarmName`. Information about the alarm that you specify
181
+ # in `ParentsOfAlarmName` is not returned.
182
+ #
183
+ # If you specify `ParentsOfAlarmName`, you cannot specify any other
184
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
185
+ # you do so, you will receive a validation error.
186
+ #
187
+ # <note markdown="1"> Only the Alarm Name and ARN are returned by this operation when you
188
+ # use this parameter. To get complete information about these alarms,
189
+ # perform another `DescribeAlarms` operation and specify the parent
190
+ # alarm names in the `AlarmNames` parameter.
191
+ #
192
+ # </note>
193
+ # @option options [String] :state_value
194
+ # Specify this parameter to receive information only about alarms that
195
+ # are currently in the state that you specify.
196
+ # @option options [String] :action_prefix
197
+ # Use this parameter to filter the results of the operation to only
198
+ # those alarms that use a certain alarm action. For example, you could
199
+ # specify the ARN of an SNS topic to find all alarms that send
200
+ # notifications to that topic.
201
+ # @return [CompositeAlarm::Collection]
202
+ def composite_alarms(options = {})
203
+ batches = Enumerator.new do |y|
204
+ resp = @client.describe_alarms(options)
205
+ resp.each_page do |page|
206
+ batch = []
207
+ page.data.composite_alarms.each do |c|
208
+ batch << CompositeAlarm.new(
209
+ name: c.alarm_name,
210
+ data: c,
211
+ client: @client
212
+ )
213
+ end
214
+ y.yield(batch)
215
+ end
216
+ end
217
+ CompositeAlarm::Collection.new(batches)
218
+ end
219
+
70
220
  # @param [String] namespace
71
221
  # @param [String] name
72
222
  # @return [Metric]
@@ -14,6 +14,10 @@ module Aws::CloudWatch
14
14
  # The descriptive name for the alarm.
15
15
  # @return [String]
16
16
  #
17
+ # @!attribute [rw] alarm_type
18
+ # The type of alarm, either metric alarm or composite alarm.
19
+ # @return [String]
20
+ #
17
21
  # @!attribute [rw] timestamp
18
22
  # The time stamp for the alarm history item.
19
23
  # @return [Time]
@@ -34,6 +38,7 @@ module Aws::CloudWatch
34
38
  #
35
39
  class AlarmHistoryItem < Struct.new(
36
40
  :alarm_name,
41
+ :alarm_type,
37
42
  :timestamp,
38
43
  :history_item_type,
39
44
  :history_summary,
@@ -131,6 +136,92 @@ module Aws::CloudWatch
131
136
  include Aws::Structure
132
137
  end
133
138
 
139
+ # The details about a composite alarm.
140
+ #
141
+ # @!attribute [rw] actions_enabled
142
+ # Indicates whether actions should be executed during any changes to
143
+ # the alarm state.
144
+ # @return [Boolean]
145
+ #
146
+ # @!attribute [rw] alarm_actions
147
+ # The actions to execute when this alarm transitions to the ALARM
148
+ # state from any other state. Each action is specified as an Amazon
149
+ # Resource Name (ARN).
150
+ # @return [Array<String>]
151
+ #
152
+ # @!attribute [rw] alarm_arn
153
+ # The Amazon Resource Name (ARN) of the alarm.
154
+ # @return [String]
155
+ #
156
+ # @!attribute [rw] alarm_configuration_updated_timestamp
157
+ # The time stamp of the last update to the alarm configuration.
158
+ # @return [Time]
159
+ #
160
+ # @!attribute [rw] alarm_description
161
+ # The description of the alarm.
162
+ # @return [String]
163
+ #
164
+ # @!attribute [rw] alarm_name
165
+ # The name of the alarm.
166
+ # @return [String]
167
+ #
168
+ # @!attribute [rw] alarm_rule
169
+ # The rule that this alarm uses to evaluate its alarm state.
170
+ # @return [String]
171
+ #
172
+ # @!attribute [rw] insufficient_data_actions
173
+ # The actions to execute when this alarm transitions to the
174
+ # INSUFFICIENT\_DATA state from any other state. Each action is
175
+ # specified as an Amazon Resource Name (ARN).
176
+ # @return [Array<String>]
177
+ #
178
+ # @!attribute [rw] ok_actions
179
+ # The actions to execute when this alarm transitions to the OK state
180
+ # from any other state. Each action is specified as an Amazon Resource
181
+ # Name (ARN).
182
+ # @return [Array<String>]
183
+ #
184
+ # @!attribute [rw] state_reason
185
+ # An explanation for the alarm state, in text format.
186
+ # @return [String]
187
+ #
188
+ # @!attribute [rw] state_reason_data
189
+ # An explanation for the alarm state, in JSON format.
190
+ # @return [String]
191
+ #
192
+ # @!attribute [rw] state_updated_timestamp
193
+ # The time stamp of the last update to the alarm state.
194
+ # @return [Time]
195
+ #
196
+ # @!attribute [rw] state_value
197
+ # The state value for the alarm.
198
+ # @return [String]
199
+ #
200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/CompositeAlarm AWS API Documentation
201
+ #
202
+ class CompositeAlarm < Struct.new(
203
+ :actions_enabled,
204
+ :alarm_actions,
205
+ :alarm_arn,
206
+ :alarm_configuration_updated_timestamp,
207
+ :alarm_description,
208
+ :alarm_name,
209
+ :alarm_rule,
210
+ :insufficient_data_actions,
211
+ :ok_actions,
212
+ :state_reason,
213
+ :state_reason_data,
214
+ :state_updated_timestamp,
215
+ :state_value)
216
+ include Aws::Structure
217
+ end
218
+
219
+ # More than one process tried to modify a resource at the same time.
220
+ #
221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ConcurrentModificationException AWS API Documentation
222
+ #
223
+ class ConcurrentModificationException < Aws::EmptyStructure; end
224
+
134
225
  # Represents a specific dashboard.
135
226
  #
136
227
  # @!attribute [rw] dashboard_name
@@ -353,7 +444,11 @@ module Aws::CloudWatch
353
444
  #
354
445
  # @!attribute [rw] rule_names
355
446
  # An array of the rule names to delete. If you need to find out the
356
- # names of your rules, use DescribeInsightRules.
447
+ # names of your rules, use [DescribeInsightRules][1].
448
+ #
449
+ #
450
+ #
451
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html
357
452
  # @return [Array<String>]
358
453
  #
359
454
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRulesInput AWS API Documentation
@@ -380,17 +475,25 @@ module Aws::CloudWatch
380
475
  #
381
476
  # {
382
477
  # alarm_name: "AlarmName",
478
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
383
479
  # history_item_type: "ConfigurationUpdate", # accepts ConfigurationUpdate, StateUpdate, Action
384
480
  # start_date: Time.now,
385
481
  # end_date: Time.now,
386
482
  # max_records: 1,
387
483
  # next_token: "NextToken",
484
+ # scan_by: "TimestampDescending", # accepts TimestampDescending, TimestampAscending
388
485
  # }
389
486
  #
390
487
  # @!attribute [rw] alarm_name
391
488
  # The name of the alarm.
392
489
  # @return [String]
393
490
  #
491
+ # @!attribute [rw] alarm_types
492
+ # Use this parameter to specify whether you want the operation to
493
+ # return metric alarms or composite alarms. If you omit this
494
+ # parameter, only metric alarms are returned.
495
+ # @return [Array<String>]
496
+ #
394
497
  # @!attribute [rw] history_item_type
395
498
  # The type of alarm histories to retrieve.
396
499
  # @return [String]
@@ -412,15 +515,24 @@ module Aws::CloudWatch
412
515
  # data available.
413
516
  # @return [String]
414
517
  #
518
+ # @!attribute [rw] scan_by
519
+ # Specified whether to return the newest or oldest alarm history
520
+ # first. Specify `TimestampDescending` to have the newest event
521
+ # history returned first, and specify `TimestampAscending` to have the
522
+ # oldest history returned first.
523
+ # @return [String]
524
+ #
415
525
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistoryInput AWS API Documentation
416
526
  #
417
527
  class DescribeAlarmHistoryInput < Struct.new(
418
528
  :alarm_name,
529
+ :alarm_types,
419
530
  :history_item_type,
420
531
  :start_date,
421
532
  :end_date,
422
533
  :max_records,
423
- :next_token)
534
+ :next_token,
535
+ :scan_by)
424
536
  include Aws::Structure
425
537
  end
426
538
 
@@ -521,6 +633,9 @@ module Aws::CloudWatch
521
633
  # {
522
634
  # alarm_names: ["AlarmName"],
523
635
  # alarm_name_prefix: "AlarmNamePrefix",
636
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
637
+ # children_of_alarm_name: "AlarmName",
638
+ # parents_of_alarm_name: "AlarmName",
524
639
  # state_value: "OK", # accepts OK, ALARM, INSUFFICIENT_DATA
525
640
  # action_prefix: "ActionPrefix",
526
641
  # max_records: 1,
@@ -528,20 +643,76 @@ module Aws::CloudWatch
528
643
  # }
529
644
  #
530
645
  # @!attribute [rw] alarm_names
531
- # The names of the alarms.
646
+ # The names of the alarms to retrieve information about.
532
647
  # @return [Array<String>]
533
648
  #
534
649
  # @!attribute [rw] alarm_name_prefix
535
- # The alarm name prefix. If this parameter is specified, you cannot
536
- # specify `AlarmNames`.
650
+ # An alarm name prefix. If you specify this parameter, you receive
651
+ # information about all alarms that have names that start with this
652
+ # prefix.
653
+ #
654
+ # If this parameter is specified, you cannot specify `AlarmNames`.
655
+ # @return [String]
656
+ #
657
+ # @!attribute [rw] alarm_types
658
+ # Use this parameter to specify whether you want the operation to
659
+ # return metric alarms or composite alarms. If you omit this
660
+ # parameter, only metric alarms are returned.
661
+ # @return [Array<String>]
662
+ #
663
+ # @!attribute [rw] children_of_alarm_name
664
+ # If you use this parameter and specify the name of a composite alarm,
665
+ # the operation returns information about the "children" alarms of
666
+ # the alarm you specify. These are the metric alarms and composite
667
+ # alarms referenced in the `AlarmRule` field of the composite alarm
668
+ # that you specify in `ChildrenOfAlarmName`. Information about the
669
+ # composite alarm that you name in `ChildrenOfAlarmName` is not
670
+ # returned.
671
+ #
672
+ # If you specify `ChildrenOfAlarmName`, you cannot specify any other
673
+ # parameters in the request except for `MaxRecords` and `NextToken`.
674
+ # If you do so, you will receive a validation error.
675
+ #
676
+ # <note markdown="1"> Only the `Alarm Name`, `ARN`, `StateValue`
677
+ # (OK/ALARM/INSUFFICIENT\_DATA), and `StateUpdatedTimestamp`
678
+ # information are returned by this operation when you use this
679
+ # parameter. To get complete information about these alarms, perform
680
+ # another `DescribeAlarms` operation and specify the parent alarm
681
+ # names in the `AlarmNames` parameter.
682
+ #
683
+ # </note>
684
+ # @return [String]
685
+ #
686
+ # @!attribute [rw] parents_of_alarm_name
687
+ # If you use this parameter and specify the name of a metric or
688
+ # composite alarm, the operation returns information about the
689
+ # "parent" alarms of the alarm you specify. These are the composite
690
+ # alarms that have `AlarmRule` parameters that reference the alarm
691
+ # named in `ParentsOfAlarmName`. Information about the alarm that you
692
+ # specify in `ParentsOfAlarmName` is not returned.
693
+ #
694
+ # If you specify `ParentsOfAlarmName`, you cannot specify any other
695
+ # parameters in the request except for `MaxRecords` and `NextToken`.
696
+ # If you do so, you will receive a validation error.
697
+ #
698
+ # <note markdown="1"> Only the Alarm Name and ARN are returned by this operation when you
699
+ # use this parameter. To get complete information about these alarms,
700
+ # perform another `DescribeAlarms` operation and specify the parent
701
+ # alarm names in the `AlarmNames` parameter.
702
+ #
703
+ # </note>
537
704
  # @return [String]
538
705
  #
539
706
  # @!attribute [rw] state_value
540
- # The state value to be used in matching alarms.
707
+ # Specify this parameter to receive information only about alarms that
708
+ # are currently in the state that you specify.
541
709
  # @return [String]
542
710
  #
543
711
  # @!attribute [rw] action_prefix
544
- # The action name prefix.
712
+ # Use this parameter to filter the results of the operation to only
713
+ # those alarms that use a certain alarm action. For example, you could
714
+ # specify the ARN of an SNS topic to find all alarms that send
715
+ # notifications to that topic.
545
716
  # @return [String]
546
717
  #
547
718
  # @!attribute [rw] max_records
@@ -558,6 +729,9 @@ module Aws::CloudWatch
558
729
  class DescribeAlarmsInput < Struct.new(
559
730
  :alarm_names,
560
731
  :alarm_name_prefix,
732
+ :alarm_types,
733
+ :children_of_alarm_name,
734
+ :parents_of_alarm_name,
561
735
  :state_value,
562
736
  :action_prefix,
563
737
  :max_records,
@@ -565,8 +739,13 @@ module Aws::CloudWatch
565
739
  include Aws::Structure
566
740
  end
567
741
 
742
+ # @!attribute [rw] composite_alarms
743
+ # The information about any composite alarms returned by the
744
+ # operation.
745
+ # @return [Array<Types::CompositeAlarm>]
746
+ #
568
747
  # @!attribute [rw] metric_alarms
569
- # The information for the specified alarms.
748
+ # The information about any metric alarms returned by the operation.
570
749
  # @return [Array<Types::MetricAlarm>]
571
750
  #
572
751
  # @!attribute [rw] next_token
@@ -577,6 +756,7 @@ module Aws::CloudWatch
577
756
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsOutput AWS API Documentation
578
757
  #
579
758
  class DescribeAlarmsOutput < Struct.new(
759
+ :composite_alarms,
580
760
  :metric_alarms,
581
761
  :next_token)
582
762
  include Aws::Structure
@@ -605,7 +785,7 @@ module Aws::CloudWatch
605
785
  #
606
786
  # @!attribute [rw] max_results
607
787
  # The maximum number of results to return in one operation. The
608
- # maximum value you can specify is 10.
788
+ # maximum value that you can specify is 100.
609
789
  #
610
790
  # To retrieve the remaining results, make another call with the
611
791
  # returned `NextToken` value.
@@ -778,7 +958,11 @@ module Aws::CloudWatch
778
958
  #
779
959
  # @!attribute [rw] rule_names
780
960
  # An array of the rule names to disable. If you need to find out the
781
- # names of your rules, use DescribeInsightRules.
961
+ # names of your rules, use [DescribeInsightRules][1].
962
+ #
963
+ #
964
+ #
965
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html
782
966
  # @return [Array<String>]
783
967
  #
784
968
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRulesInput AWS API Documentation
@@ -827,7 +1011,11 @@ module Aws::CloudWatch
827
1011
  #
828
1012
  # @!attribute [rw] rule_names
829
1013
  # An array of the rule names to enable. If you need to find out the
830
- # names of your rules, use DescribeInsightRules.
1014
+ # names of your rules, use [DescribeInsightRules][1].
1015
+ #
1016
+ #
1017
+ #
1018
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html
831
1019
  # @return [Array<String>]
832
1020
  #
833
1021
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRulesInput AWS API Documentation
@@ -874,8 +1062,12 @@ module Aws::CloudWatch
874
1062
  # @!attribute [rw] dashboard_body
875
1063
  # The detailed information about the dashboard, including what widgets
876
1064
  # are included and their location on the dashboard. For more
877
- # information about the `DashboardBody` syntax, see
878
- # CloudWatch-Dashboard-Body-Structure.
1065
+ # information about the `DashboardBody` syntax, see [Dashboard Body
1066
+ # Structure and Syntax][1].
1067
+ #
1068
+ #
1069
+ #
1070
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html
879
1071
  # @return [String]
880
1072
  #
881
1073
  # @!attribute [rw] dashboard_name
@@ -1063,7 +1255,7 @@ module Aws::CloudWatch
1063
1255
  #
1064
1256
  # @!attribute [rw] metric_data_queries
1065
1257
  # The metric queries to be returned. A single `GetMetricData` call can
1066
- # include as many as 100 `MetricDataQuery` structures. Each of these
1258
+ # include as many as 500 `MetricDataQuery` structures. Each of these
1067
1259
  # structures can specify either a metric to retrieve, or a math
1068
1260
  # expression to perform on retrieved data.
1069
1261
  # @return [Array<Types::MetricDataQuery>]
@@ -1359,11 +1551,15 @@ module Aws::CloudWatch
1359
1551
  # `MetricWidget` parameter in each `GetMetricWidgetImage` call.
1360
1552
  #
1361
1553
  # For more information about the syntax of `MetricWidget` see
1362
- # CloudWatch-Metric-Widget-Structure.
1554
+ # [GetMetricWidgetImage: Metric Widget Structure and Syntax][1].
1363
1555
  #
1364
1556
  # If any metric on the graph could not load all the requested data
1365
1557
  # points, an orange triangle with an exclamation point appears next to
1366
1558
  # the graph legend.
1559
+ #
1560
+ #
1561
+ #
1562
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html
1367
1563
  # @return [String]
1368
1564
  #
1369
1565
  # @!attribute [rw] output_format
@@ -1465,7 +1661,11 @@ module Aws::CloudWatch
1465
1661
  # If the rule contains a single key, then each unique contributor is
1466
1662
  # each unique value for this key.
1467
1663
  #
1468
- # For more information, see GetInsightRuleReport.
1664
+ # For more information, see [GetInsightRuleReport][1].
1665
+ #
1666
+ #
1667
+ #
1668
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html
1469
1669
  #
1470
1670
  # @!attribute [rw] keys
1471
1671
  # One of the log entry field keywords that is used to define
@@ -1494,8 +1694,13 @@ module Aws::CloudWatch
1494
1694
 
1495
1695
  # One data point related to one contributor.
1496
1696
  #
1497
- # For more information, see GetInsightRuleReport and
1498
- # InsightRuleContributor.
1697
+ # For more information, see [GetInsightRuleReport][1] and
1698
+ # [InsightRuleContributor][2].
1699
+ #
1700
+ #
1701
+ #
1702
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html
1703
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_InsightRuleContributor.html
1499
1704
  #
1500
1705
  # @!attribute [rw] timestamp
1501
1706
  # The timestamp of the data point.
@@ -1517,7 +1722,11 @@ module Aws::CloudWatch
1517
1722
  # One data point from the metric time series returned in a Contributor
1518
1723
  # Insights rule report.
1519
1724
  #
1520
- # For more information, see GetInsightRuleReport.
1725
+ # For more information, see [GetInsightRuleReport][1].
1726
+ #
1727
+ #
1728
+ #
1729
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html
1521
1730
  #
1522
1731
  # @!attribute [rw] timestamp
1523
1732
  # The timestamp of the data point.
@@ -1655,6 +1864,12 @@ module Aws::CloudWatch
1655
1864
  include Aws::Structure
1656
1865
  end
1657
1866
 
1867
+ # The operation exceeded one or more limits.
1868
+ #
1869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/LimitExceededException AWS API Documentation
1870
+ #
1871
+ class LimitExceededException < Aws::EmptyStructure; end
1872
+
1658
1873
  # The quota for alarms for this customer has already been reached.
1659
1874
  #
1660
1875
  # @!attribute [rw] message
@@ -1863,7 +2078,7 @@ module Aws::CloudWatch
1863
2078
  include Aws::Structure
1864
2079
  end
1865
2080
 
1866
- # Represents an alarm.
2081
+ # The details about a metric alarm.
1867
2082
  #
1868
2083
  # @!attribute [rw] alarm_name
1869
2084
  # The name of the alarm.
@@ -2038,7 +2253,7 @@ module Aws::CloudWatch
2038
2253
  # When used in `GetMetricData`, it indicates the metric data to return,
2039
2254
  # and whether this call is just retrieving a batch set of data for one
2040
2255
  # metric, or is performing a math expression on metric data. A single
2041
- # `GetMetricData` call can include up to 100 `MetricDataQuery`
2256
+ # `GetMetricData` call can include up to 500 `MetricDataQuery`
2042
2257
  # structures.
2043
2258
  #
2044
2259
  # When used in `PutMetricAlarm`, it enables you to create an alarm based
@@ -2156,11 +2371,6 @@ module Aws::CloudWatch
2156
2371
  # 60. High-resolution metrics are those metrics stored by a
2157
2372
  # `PutMetricData` operation that includes a `StorageResolution of 1
2158
2373
  # second`.
2159
- #
2160
- # If you are performing a `GetMetricData` operation, use this field
2161
- # only if you are specifying an `Expression`. Do not use this field
2162
- # when you are specifying a `MetricStat` in a `GetMetricData`
2163
- # operation.
2164
2374
  # @return [Integer]
2165
2375
  #
2166
2376
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDataQuery AWS API Documentation
@@ -2535,6 +2745,146 @@ module Aws::CloudWatch
2535
2745
  #
2536
2746
  class PutAnomalyDetectorOutput < Aws::EmptyStructure; end
2537
2747
 
2748
+ # @note When making an API call, you may pass PutCompositeAlarmInput
2749
+ # data as a hash:
2750
+ #
2751
+ # {
2752
+ # actions_enabled: false,
2753
+ # alarm_actions: ["ResourceName"],
2754
+ # alarm_description: "AlarmDescription",
2755
+ # alarm_name: "AlarmName", # required
2756
+ # alarm_rule: "AlarmRule", # required
2757
+ # insufficient_data_actions: ["ResourceName"],
2758
+ # ok_actions: ["ResourceName"],
2759
+ # tags: [
2760
+ # {
2761
+ # key: "TagKey", # required
2762
+ # value: "TagValue", # required
2763
+ # },
2764
+ # ],
2765
+ # }
2766
+ #
2767
+ # @!attribute [rw] actions_enabled
2768
+ # Indicates whether actions should be executed during any changes to
2769
+ # the alarm state of the composite alarm. The default is `TRUE`.
2770
+ # @return [Boolean]
2771
+ #
2772
+ # @!attribute [rw] alarm_actions
2773
+ # The actions to execute when this alarm transitions to the `ALARM`
2774
+ # state from any other state. Each action is specified as an Amazon
2775
+ # Resource Name (ARN).
2776
+ #
2777
+ # Valid Values: `arn:aws:sns:region:account-id:sns-topic-name `
2778
+ # @return [Array<String>]
2779
+ #
2780
+ # @!attribute [rw] alarm_description
2781
+ # The description for the composite alarm.
2782
+ # @return [String]
2783
+ #
2784
+ # @!attribute [rw] alarm_name
2785
+ # The name for the composite alarm. This name must be unique within
2786
+ # your AWS account.
2787
+ # @return [String]
2788
+ #
2789
+ # @!attribute [rw] alarm_rule
2790
+ # An expression that specifies which other alarms are to be evaluated
2791
+ # to determine this composite alarm's state. For each alarm that you
2792
+ # reference, you designate a function that specifies whether that
2793
+ # alarm needs to be in ALARM state, OK state, or INSUFFICIENT\_DATA
2794
+ # state. You can use operators (AND, OR and NOT) to combine multiple
2795
+ # functions in a single expression. You can use parenthesis to
2796
+ # logically group the functions in your expression.
2797
+ #
2798
+ # You can use either alarm names or ARNs to reference the other alarms
2799
+ # that are to be evaluated.
2800
+ #
2801
+ # Functions can include the following:
2802
+ #
2803
+ # * `ALARM("alarm-name or alarm-ARN")` is TRUE if the named alarm is
2804
+ # in ALARM state.
2805
+ #
2806
+ # * `OK("alarm-name or alarm-ARN")` is TRUE if the named alarm is in
2807
+ # OK state.
2808
+ #
2809
+ # * `INSUFFICIENT_DATA("alarm-name or alarm-ARN")` is TRUE if the
2810
+ # named alarm is in INSUFFICIENT\_DATA state.
2811
+ #
2812
+ # * `TRUE` always evaluates to TRUE.
2813
+ #
2814
+ # * `FALSE` always evaluates to FALSE.
2815
+ #
2816
+ # TRUE and FALSE are useful for testing a complex `AlarmRule`
2817
+ # structure, and for testing your alarm actions.
2818
+ #
2819
+ # Alarm names specified in `AlarmRule` can be surrounded with
2820
+ # double-quotes ("), but do not have to be.
2821
+ #
2822
+ # The following are some examples of `AlarmRule`\:
2823
+ #
2824
+ # * `ALARM(CPUUtilizationTooHigh) AND ALARM(DiskReadOpsTooHigh)`
2825
+ # specifies that the composite alarm goes into ALARM state only if
2826
+ # both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are in
2827
+ # ALARM state.
2828
+ #
2829
+ # * `ALARM(CPUUtilizationTooHigh) AND NOT ALARM(DeploymentInProgress)`
2830
+ # specifies that the alarm goes to ALARM state if
2831
+ # CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress
2832
+ # is not in ALARM state. This example reduces alarm noise during a
2833
+ # known deployment window.
2834
+ #
2835
+ # * `(ALARM(CPUUtilizationTooHigh) OR ALARM(DiskReadOpsTooHigh)) AND
2836
+ # OK(NetworkOutTooHigh)` goes into ALARM state if
2837
+ # CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and
2838
+ # if NetworkOutTooHigh is in OK state. This provides another example
2839
+ # of using a composite alarm to prevent noise. This rule ensures
2840
+ # that you are not notified with an alarm action on high CPU or disk
2841
+ # usage if a known network problem is also occurring.
2842
+ #
2843
+ # The `AlarmRule` can specify as many as 100 "children" alarms. The
2844
+ # `AlarmRule` expression can have as many as 500 elements. Elements
2845
+ # are child alarms, TRUE or FALSE statements, and parentheses.
2846
+ # @return [String]
2847
+ #
2848
+ # @!attribute [rw] insufficient_data_actions
2849
+ # The actions to execute when this alarm transitions to the
2850
+ # `INSUFFICIENT_DATA` state from any other state. Each action is
2851
+ # specified as an Amazon Resource Name (ARN).
2852
+ #
2853
+ # Valid Values: `arn:aws:sns:region:account-id:sns-topic-name `
2854
+ # @return [Array<String>]
2855
+ #
2856
+ # @!attribute [rw] ok_actions
2857
+ # The actions to execute when this alarm transitions to an `OK` state
2858
+ # from any other state. Each action is specified as an Amazon Resource
2859
+ # Name (ARN).
2860
+ #
2861
+ # Valid Values: `arn:aws:sns:region:account-id:sns-topic-name `
2862
+ # @return [Array<String>]
2863
+ #
2864
+ # @!attribute [rw] tags
2865
+ # A list of key-value pairs to associate with the composite alarm. You
2866
+ # can associate as many as 50 tags with an alarm.
2867
+ #
2868
+ # Tags can help you organize and categorize your resources. You can
2869
+ # also use them to scope user permissions, by granting a user
2870
+ # permission to access or change only resources with certain tag
2871
+ # values.
2872
+ # @return [Array<Types::Tag>]
2873
+ #
2874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutCompositeAlarmInput AWS API Documentation
2875
+ #
2876
+ class PutCompositeAlarmInput < Struct.new(
2877
+ :actions_enabled,
2878
+ :alarm_actions,
2879
+ :alarm_description,
2880
+ :alarm_name,
2881
+ :alarm_rule,
2882
+ :insufficient_data_actions,
2883
+ :ok_actions,
2884
+ :tags)
2885
+ include Aws::Structure
2886
+ end
2887
+
2538
2888
  # @note When making an API call, you may pass PutDashboardInput
2539
2889
  # data as a hash:
2540
2890
  #
@@ -2556,8 +2906,12 @@ module Aws::CloudWatch
2556
2906
  # including the widgets to include and their location on the
2557
2907
  # dashboard. This parameter is required.
2558
2908
  #
2559
- # For more information about the syntax, see
2560
- # CloudWatch-Dashboard-Body-Structure.
2909
+ # For more information about the syntax, see [Dashboard Body Structure
2910
+ # and Syntax][1].
2911
+ #
2912
+ #
2913
+ #
2914
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html
2561
2915
  # @return [String]
2562
2916
  #
2563
2917
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboardInput AWS API Documentation
@@ -2711,7 +3065,7 @@ module Aws::CloudWatch
2711
3065
  # `arn:aws:automate:region:ec2:recover` \|
2712
3066
  # `arn:aws:automate:region:ec2:reboot` \|
2713
3067
  # `arn:aws:sns:region:account-id:sns-topic-name ` \|
2714
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3068
+ # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
2715
3069
  # `
2716
3070
  #
2717
3071
  # Valid Values (for use with IAM roles):
@@ -2732,7 +3086,7 @@ module Aws::CloudWatch
2732
3086
  # `arn:aws:automate:region:ec2:recover` \|
2733
3087
  # `arn:aws:automate:region:ec2:reboot` \|
2734
3088
  # `arn:aws:sns:region:account-id:sns-topic-name ` \|
2735
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3089
+ # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
2736
3090
  # `
2737
3091
  #
2738
3092
  # Valid Values (for use with IAM roles):
@@ -2753,7 +3107,7 @@ module Aws::CloudWatch
2753
3107
  # `arn:aws:automate:region:ec2:recover` \|
2754
3108
  # `arn:aws:automate:region:ec2:reboot` \|
2755
3109
  # `arn:aws:sns:region:account-id:sns-topic-name ` \|
2756
- # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
3110
+ # `arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
2757
3111
  # `
2758
3112
  #
2759
3113
  # Valid Values (for use with IAM roles):
@@ -2932,13 +3286,17 @@ module Aws::CloudWatch
2932
3286
  # One item in the `Metrics` array is the expression that the alarm
2933
3287
  # watches. You designate this expression by setting `ReturnValue` to
2934
3288
  # true for this object in the array. For more information, see
2935
- # MetricDataQuery.
3289
+ # [MetricDataQuery][1].
2936
3290
  #
2937
3291
  # If you use the `Metrics` parameter, you cannot include the
2938
3292
  # `MetricName`, `Dimensions`, `Period`, `Namespace`, `Statistic`, or
2939
3293
  # `ExtendedStatistic` parameters of `PutMetricAlarm` in the same
2940
3294
  # operation. Instead, you retrieve the metrics you are using in your
2941
3295
  # math expression as part of the `Metrics` array.
3296
+ #
3297
+ #
3298
+ #
3299
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html
2942
3300
  # @return [Array<Types::MetricDataQuery>]
2943
3301
  #
2944
3302
  # @!attribute [rw] tags
@@ -3124,6 +3482,11 @@ module Aws::CloudWatch
3124
3482
  # @!attribute [rw] state_reason_data
3125
3483
  # The reason that this alarm is set to this specific state, in JSON
3126
3484
  # format.
3485
+ #
3486
+ # For SNS or EC2 alarm actions, this is just informational. But for
3487
+ # EC2 Auto Scaling or application Auto Scaling alarm actions, the Auto
3488
+ # Scaling policy uses the information in this field to take the
3489
+ # correct action.
3127
3490
  # @return [String]
3128
3491
  #
3129
3492
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmStateInput AWS API Documentation