class Fog::Parsers::AWS::CloudWatch::DescribeAlarmsForMetric

Public Instance Methods

end_element(name) click to toggle source
# File lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb, line 31
def end_element(name)
  case name
  when 'Name', 'Value'
    @dimension[name] = value
  when 'Period', 'EvaluationPeriods'
    @metric_alarms[name] = value.to_i
  when 'Threshold'
    @metric_alarms[name] = value.to_f
  when 'AlarmActions', 'OKActions', 'InsufficientDataActions'
    @metric_alarms[name] = value.to_s.strip
  when 'AlarmName', 'Namespace', 'MetricName', 'AlarmDescription', 'AlarmArn', 'Unit',
      'StateValue', 'Statistic', 'ComparisonOperator', 'StateReason', 'ActionsEnabled'
    @metric_alarms[name] = value
  when 'StateUpdatedTimestamp', 'AlarmConfigurationUpdatedTimestamp'
    @metric_alarms[name] = Time.parse value
  when 'Dimensions'
    @in_dimensions = false
  when 'NextToken'
    @response['ResponseMetadata'][name] = value
  when 'RequestId'
    @response['ResponseMetadata'][name] = value
  when 'member'
    if !@in_dimensions
      if @metric_alarms.key?('AlarmName')
        @response['DescribeAlarmsForMetricResult']['MetricAlarms']  << @metric_alarms
        reset_metric_alarms
      elsif @response['DescribeAlarmsForMetricResult']['MetricAlarms'].last != nil
        @response['DescribeAlarmsForMetricResult']['MetricAlarms'].last.merge!( @metric_alarms)
      end
    else
      @metric_alarms['Dimensions'] << @dimension
    end
  end
end
reset() click to toggle source
# File lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb, line 6
def reset
  @response = { 'DescribeAlarmsForMetricResult' => {'MetricAlarms' => []}, 'ResponseMetadata' => {} }
  reset_metric_alarms
end
reset_dimension() click to toggle source
# File lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb, line 15
def reset_dimension
  @dimension = {}
end
reset_metric_alarms() click to toggle source
# File lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb, line 11
def reset_metric_alarms
  @metric_alarms = {'Dimensions' => []}
end
start_element(name, attrs = []) click to toggle source
Calls superclass method
# File lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb, line 19
def start_element(name, attrs = [])
  super
  case name
  when 'Dimensions'
    @in_dimensions = true
  when 'member'
    if @in_dimensions
      reset_dimension
    end
  end
end