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:



2143
2144
2145
2146
# File 'lib/ec2/ec2.rb', line 2143

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



2186
2187
2188
# File 'lib/ec2/ec2.rb', line 2186

def reset
  @result = []
end

#tagend(name) ⇒ Object



2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
# File 'lib/ec2/ec2.rb', line 2157

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



2148
2149
2150
2151
2152
2153
2154
2155
# File 'lib/ec2/ec2.rb', line 2148

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