You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::CloudWatch::Resource

Inherits:
Resources::Resource show all
Defined in:
(unknown)

Overview

This class provides a resource oriented interface for CloudWatch. To create a resource object:

resource = Aws::CloudWatch::Resource.new

You can supply a client object with custom configuration that will be used for all resource operations. If you do not pass :client, a default client will be constructed.

client = Aws::CloudWatch::Client.new(region: 'us-west-2')
resource = Aws::CloudWatch::Resource.new(client: client)

Resource Resource Classes

Aws::CloudWatch::Resource has the following resource classes:

Instance Attribute Summary

Attributes inherited from Resources::Resource

#client, #identifiers

Instance Method Summary collapse

Methods inherited from Resources::Resource

add_data_attribute, add_identifier, #data, data_attributes, #data_loaded?, identifiers, #load, #wait_until

Methods included from Resources::OperationMethods

#add_batch_operation, #add_operation, #batch_operation, #batch_operation_names, #batch_operations, #operation, #operation_names, #operations

Constructor Details

#initialize(options = {}) ⇒ Object #initialize(options = {}) ⇒ Object

Overloads:

  • #initialize(options = {}) ⇒ Object

    Options Hash (options):

    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

  • #initialize(options = {}) ⇒ Object

    Options Hash (options):

    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

Instance Method Details

#alarm(name) ⇒ Alarm

Parameters:

Returns:

See Also:

#alarms(options = {}) ⇒ Collection<Alarm>

Returns a Collection of Alarm resources. No API requests are made until you call an enumerable method on the collection. Client#describe_alarms will be called multiple times until every Alarm has been yielded.

Examples:

Request syntax example with placeholder values


cloudwatch.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",
  max_records: 1,
  next_token: "NextToken",
})

Enumerating Alarm resources.

cloudwatch.alarms.each do |alarm|
  # yields each alarm
end

Enumerating Alarm resources with a limit.

cloudwatch.alarms.limit(10).each do |alarm|
  # yields at most 10 alarms
end

Batch operations callable on the returned collection


# calls Client#delete_alarms on each batch
cloudwatch.alarms.batch_delete!

# calls Client#disable_alarm_actions on each batch
cloudwatch.alarms.batch_disable_actions

# calls Client#enable_alarm_actions on each batch
cloudwatch.alarms.batch_enable_actions

Options Hash (options):

  • :alarm_names (Array<String>)

    The names of the alarms to retrieve information about.

  • :alarm_name_prefix (String)

    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.

  • :alarm_types (Array<String>)

    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.

  • :children_of_alarm_name (String)

    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.

    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.

  • :parents_of_alarm_name (String)

    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.

    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.

  • :state_value (String)

    Specify this parameter to receive information only about alarms that are currently in the state that you specify.

  • :action_prefix (String)

    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.

  • :max_records (Integer)

    The maximum number of alarm descriptions to retrieve.

  • :next_token (String)

    The token returned by a previous call to indicate that there is more data available.

Returns:

See Also:

#composite_alarm(name) ⇒ CompositeAlarm

Parameters:

Returns:

See Also:

#composite_alarms(options = {}) ⇒ Collection<CompositeAlarm>

Returns a Collection of CompositeAlarm resources. No API requests are made until you call an enumerable method on the collection. Client#describe_alarms will be called multiple times until every CompositeAlarm has been yielded.

Examples:

Request syntax example with placeholder values


cloudwatch.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",
  max_records: 1,
  next_token: "NextToken",
})

Enumerating CompositeAlarm resources.

cloudwatch.composite_alarms.each do |compositealarm|
  # yields each compositealarm
end

Enumerating CompositeAlarm resources with a limit.

cloudwatch.composite_alarms.limit(10).each do |compositealarm|
  # yields at most 10 composite_alarms
end

Batch operations callable on the returned collection


# calls Client#delete_alarms on each batch
cloudwatch.composite_alarms.batch_delete!

# calls Client#disable_alarm_actions on each batch
cloudwatch.composite_alarms.batch_disable_actions

# calls Client#enable_alarm_actions on each batch
cloudwatch.composite_alarms.batch_enable_actions

Options Hash (options):

  • :alarm_names (Array<String>)

    The names of the alarms to retrieve information about.

  • :alarm_name_prefix (String)

    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.

  • :alarm_types (Array<String>)

    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.

  • :children_of_alarm_name (String)

    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.

    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.

  • :parents_of_alarm_name (String)

    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.

    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.

  • :state_value (String)

    Specify this parameter to receive information only about alarms that are currently in the state that you specify.

  • :action_prefix (String)

    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.

  • :max_records (Integer)

    The maximum number of alarm descriptions to retrieve.

  • :next_token (String)

    The token returned by a previous call to indicate that there is more data available.

Returns:

See Also:

#metric(namespace, name) ⇒ Metric

Parameters:

Returns:

See Also:

#metrics(options = {}) ⇒ Collection<Metric>

Returns a Collection of Metric resources. No API requests are made until you call an enumerable method on the collection. Client#list_metrics will be called multiple times until every Metric has been yielded.

Examples:

Request syntax example with placeholder values


cloudwatch.metrics({
  namespace: "Namespace",
  metric_name: "MetricName",
  dimensions: [
    {
      name: "DimensionName", # required
      value: "DimensionValue",
    },
  ],
  next_token: "NextToken",
})

Enumerating Metric resources.

cloudwatch.metrics.each do |metric|
  # yields each metric
end

Enumerating Metric resources with a limit.

cloudwatch.metrics.limit(10).each do |metric|
  # yields at most 10 metrics
end

Options Hash (options):

  • :namespace (String)

    The namespace to filter against.

  • :metric_name (String)

    The name of the metric to filter against.

  • :dimensions (Array<Types::DimensionFilter>)

    The dimensions to filter against.

  • :next_token (String)

    The token returned by a previous call to indicate that there is more data available.

Returns:

See Also: