lib/aws-sdk-cloudwatch/resource.rb in aws-sdk-cloudwatch-1.32.0 vs lib/aws-sdk-cloudwatch/resource.rb in aws-sdk-cloudwatch-1.33.0
- old
+ new
@@ -33,23 +33,75 @@
# @example Request syntax with placeholder values
#
# alarms = cloud_watch.alarms({
# alarm_names: ["AlarmName"],
# alarm_name_prefix: "AlarmNamePrefix",
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
+ # children_of_alarm_name: "AlarmName",
+ # parents_of_alarm_name: "AlarmName",
# state_value: "OK", # accepts OK, ALARM, INSUFFICIENT_DATA
# action_prefix: "ActionPrefix",
# })
# @param [Hash] options ({})
# @option options [Array<String>] :alarm_names
- # The names of the alarms.
+ # The names of the alarms to retrieve information about.
# @option options [String] :alarm_name_prefix
- # The alarm name prefix. If this parameter is specified, you cannot
- # specify `AlarmNames`.
+ # An alarm name prefix. If you specify this parameter, you receive
+ # information about all alarms that have names that start with this
+ # prefix.
+ #
+ # If this parameter is specified, you cannot specify `AlarmNames`.
+ # @option options [Array<String>] :alarm_types
+ # Use this parameter to specify whether you want the operation to return
+ # metric alarms or composite alarms. If you omit this parameter, only
+ # metric alarms are returned.
+ # @option options [String] :children_of_alarm_name
+ # If you use this parameter and specify the name of a composite alarm,
+ # the operation returns information about the "children" alarms of the
+ # alarm you specify. These are the metric alarms and composite alarms
+ # referenced in the `AlarmRule` field of the composite alarm that you
+ # specify in `ChildrenOfAlarmName`. Information about the composite
+ # alarm that you name in `ChildrenOfAlarmName` is not returned.
+ #
+ # If you specify `ChildrenOfAlarmName`, you cannot specify any other
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
+ # you do so, you will receive a validation error.
+ #
+ # <note markdown="1"> Only the `Alarm Name`, `ARN`, `StateValue`
+ # (OK/ALARM/INSUFFICIENT\_DATA), and `StateUpdatedTimestamp` information
+ # are returned by this operation when you use this parameter. To get
+ # complete information about these alarms, perform another
+ # `DescribeAlarms` operation and specify the parent alarm names in the
+ # `AlarmNames` parameter.
+ #
+ # </note>
+ # @option options [String] :parents_of_alarm_name
+ # If you use this parameter and specify the name of a metric or
+ # composite alarm, the operation returns information about the
+ # "parent" alarms of the alarm you specify. These are the composite
+ # alarms that have `AlarmRule` parameters that reference the alarm named
+ # in `ParentsOfAlarmName`. Information about the alarm that you specify
+ # in `ParentsOfAlarmName` is not returned.
+ #
+ # If you specify `ParentsOfAlarmName`, you cannot specify any other
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
+ # you do so, you will receive a validation error.
+ #
+ # <note markdown="1"> Only the Alarm Name and ARN are returned by this operation when you
+ # use this parameter. To get complete information about these alarms,
+ # perform another `DescribeAlarms` operation and specify the parent
+ # alarm names in the `AlarmNames` parameter.
+ #
+ # </note>
# @option options [String] :state_value
- # The state value to be used in matching alarms.
+ # Specify this parameter to receive information only about alarms that
+ # are currently in the state that you specify.
# @option options [String] :action_prefix
- # The action name prefix.
+ # Use this parameter to filter the results of the operation to only
+ # those alarms that use a certain alarm action. For example, you could
+ # specify the ARN of an SNS topic to find all alarms that send
+ # notifications to that topic.
# @return [Alarm::Collection]
def alarms(options = {})
batches = Enumerator.new do |y|
resp = @client.describe_alarms(options)
resp.each_page do |page|
@@ -63,9 +115,107 @@
end
y.yield(batch)
end
end
Alarm::Collection.new(batches)
+ end
+
+ # @param [String] name
+ # @return [CompositeAlarm]
+ def composite_alarm(name)
+ CompositeAlarm.new(
+ name: name,
+ client: @client
+ )
+ end
+
+ # @example Request syntax with placeholder values
+ #
+ # composite_alarms = cloud_watch.composite_alarms({
+ # alarm_names: ["AlarmName"],
+ # alarm_name_prefix: "AlarmNamePrefix",
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
+ # children_of_alarm_name: "AlarmName",
+ # parents_of_alarm_name: "AlarmName",
+ # state_value: "OK", # accepts OK, ALARM, INSUFFICIENT_DATA
+ # action_prefix: "ActionPrefix",
+ # })
+ # @param [Hash] options ({})
+ # @option options [Array<String>] :alarm_names
+ # The names of the alarms to retrieve information about.
+ # @option options [String] :alarm_name_prefix
+ # An alarm name prefix. If you specify this parameter, you receive
+ # information about all alarms that have names that start with this
+ # prefix.
+ #
+ # If this parameter is specified, you cannot specify `AlarmNames`.
+ # @option options [Array<String>] :alarm_types
+ # Use this parameter to specify whether you want the operation to return
+ # metric alarms or composite alarms. If you omit this parameter, only
+ # metric alarms are returned.
+ # @option options [String] :children_of_alarm_name
+ # If you use this parameter and specify the name of a composite alarm,
+ # the operation returns information about the "children" alarms of the
+ # alarm you specify. These are the metric alarms and composite alarms
+ # referenced in the `AlarmRule` field of the composite alarm that you
+ # specify in `ChildrenOfAlarmName`. Information about the composite
+ # alarm that you name in `ChildrenOfAlarmName` is not returned.
+ #
+ # If you specify `ChildrenOfAlarmName`, you cannot specify any other
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
+ # you do so, you will receive a validation error.
+ #
+ # <note markdown="1"> Only the `Alarm Name`, `ARN`, `StateValue`
+ # (OK/ALARM/INSUFFICIENT\_DATA), and `StateUpdatedTimestamp` information
+ # are returned by this operation when you use this parameter. To get
+ # complete information about these alarms, perform another
+ # `DescribeAlarms` operation and specify the parent alarm names in the
+ # `AlarmNames` parameter.
+ #
+ # </note>
+ # @option options [String] :parents_of_alarm_name
+ # If you use this parameter and specify the name of a metric or
+ # composite alarm, the operation returns information about the
+ # "parent" alarms of the alarm you specify. These are the composite
+ # alarms that have `AlarmRule` parameters that reference the alarm named
+ # in `ParentsOfAlarmName`. Information about the alarm that you specify
+ # in `ParentsOfAlarmName` is not returned.
+ #
+ # If you specify `ParentsOfAlarmName`, you cannot specify any other
+ # parameters in the request except for `MaxRecords` and `NextToken`. If
+ # you do so, you will receive a validation error.
+ #
+ # <note markdown="1"> Only the Alarm Name and ARN are returned by this operation when you
+ # use this parameter. To get complete information about these alarms,
+ # perform another `DescribeAlarms` operation and specify the parent
+ # alarm names in the `AlarmNames` parameter.
+ #
+ # </note>
+ # @option options [String] :state_value
+ # Specify this parameter to receive information only about alarms that
+ # are currently in the state that you specify.
+ # @option options [String] :action_prefix
+ # Use this parameter to filter the results of the operation to only
+ # those alarms that use a certain alarm action. For example, you could
+ # specify the ARN of an SNS topic to find all alarms that send
+ # notifications to that topic.
+ # @return [CompositeAlarm::Collection]
+ def composite_alarms(options = {})
+ batches = Enumerator.new do |y|
+ resp = @client.describe_alarms(options)
+ resp.each_page do |page|
+ batch = []
+ page.data.composite_alarms.each do |c|
+ batch << CompositeAlarm.new(
+ name: c.alarm_name,
+ data: c,
+ client: @client
+ )
+ end
+ y.yield(batch)
+ end
+ end
+ CompositeAlarm::Collection.new(batches)
end
# @param [String] namespace
# @param [String] name
# @return [Metric]