Class: Aws::Ec2::QEc2DescribeSnapshotsParser

Inherits:
AwsParser
  • Object
show all
Defined in:
lib/ec2/ec2.rb

Overview


PARSERS: EBS - Snapshots

Constant Summary

Constants inherited from AwsParser

AwsParser::DEFAULT_XML_LIBRARY

Instance Attribute Summary

Attributes inherited from AwsParser

#result, #xml_lib, #xmlpath

Instance Method Summary collapse

Methods inherited from AwsParser

#method_missing, #parse, #tag_end, #tag_start, #tagtext, #text, xml_lib, xml_lib=

Constructor Details

#initialize(params = {}) ⇒ QEc2DescribeSnapshotsParser

:nodoc:



2313
2314
2315
2316
# File 'lib/ec2/ec2.rb', line 2313

def initialize (params={})
  @inside_tagset = false
  super(params)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Aws::AwsParser

Instance Method Details

#resetObject



2356
2357
2358
# File 'lib/ec2/ec2.rb', line 2356

def reset
  @result = []
end

#tagend(name) ⇒ Object



2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
# File 'lib/ec2/ec2.rb', line 2327

def tagend(name)
  case name
    when 'volumeId' then
      @snapshot[:aws_volume_id] = @text
    when 'snapshotId' then
      @snapshot[:aws_id] = @text
    when 'status' then
      @snapshot[:aws_status] = @text
    when 'startTime' then
      @snapshot[:aws_started_at] = Time.parse(@text)
    when 'progress' then
      @snapshot[:aws_progress] = @text
    when 'description' then
      @snapshot[:aws_description] = @text
    when 'ownerId' then
      @snapshot[:aws_owner] = @text
    when 'volumeSize' then
      @snapshot[:aws_volume_size] = @text.to_i
    when 'tagSet' then
      @inside_tagset = false
    when 'key' then
      @key = ('aws_tag_' + @text).to_sym
    when 'value' then
      @snapshot[@key] = @text
    when 'item' then
      @result << @snapshot unless @inside_tagset
  end
end

#tagstart(name, attributes) ⇒ Object



2318
2319
2320
2321
2322
2323
2324
2325
# File 'lib/ec2/ec2.rb', line 2318

def tagstart(name, attributes)
  case name
    when 'tagSet'
      @inside_tagset = true
    when 'item'
      @snapshot = {} unless @inside_tagset
  end
end