Sha256: b1a067cd5b43f54c2a5c26d5dd2e6cc69545abaa8b59db2effb50da75203737c
Contents?: true
Size: 1.98 KB
Versions: 10
Compression:
Stored size: 1.98 KB
Contents
module Fog module Parsers module AWS module Compute class DescribeVolumes < Fog::Parsers::Base def reset @attachment = {} @in_attachment_set = false @response = { 'volumeSet' => [] } @tag = {} @volume = { 'attachmentSet' => [], 'tagSet' => {} } end def start_element(name, attrs = []) super case name when 'attachmentSet' @in_attachment_set = true when 'tagSet' @in_tag_set = true end end def end_element(name) if @in_attachment_set case name when 'attachmentSet' @in_attachment_set = false when 'attachTime' @attachment[name] = Time.parse(@value) when 'device', 'instanceId', 'status', 'volumeId' @attachment[name] = @value when 'item' @volume['attachmentSet'] << @attachment @attachment = {} end elsif @in_tag_set case name when 'key', 'value' @tag[name] = @value when 'item' @volume['tagSet'][@tag['key']] = @tag['value'] @tag = {} when 'tagSet' @in_tag_set = false end else case name when 'availabilityZone', 'snapshotId', 'status', 'volumeId' @volume[name] = @value when 'createTime' @volume[name] = Time.parse(@value) when 'item' @response['volumeSet'] << @volume @volume = { 'attachmentSet' => [], 'tagSet' => {} } when 'requestId' @response[name] = @value when 'size' @volume[name] = @value.to_i end end end end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems