aws-sdk-cloudwatch 1.32.0 → 1.33.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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