def alarms(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_alarms(options)
        resp.each_page do |page|
          batch = []
          page.data.metric_alarms.each do |m|
            batch << Alarm.new(
              name: m.alarm_name,
              data: m,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Alarm::Collection.new(batches)
    end
def alarms(options = {})
      batches = Enumerator.new do |y|
        resp = @client.describe_alarms(options)
        resp.each_page do |page|
          batch = []
          page.data.metric_alarms.each do |m|
            batch << Alarm.new(
              name: m.alarm_name,
              data: m,
              client: @client
            )
          end
          y.yield(batch)
        end
      end
      Alarm::Collection.new(batches)
    end
@example Request syntax with placeholder values

   alarms = cloud_watch.alarms({
     alarm_names: ["AlarmName"],
     alarm_name_prefix: "AlarmNamePrefix",
     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.
 @option options [String] :alarm_name_prefix
   The alarm name prefix. If this parameter is specified, you cannot
   specify `AlarmNames`.
 @option options [String] :state_value
   The state value to be used in matching alarms.
 @option options [String] :action_prefix
   The action name prefix.
 @return [Alarm::Collection]