Sha256: 44c194149a6a94c162a8d9d159307de23f89df04b97b400419b1641e3252f29a
Contents?: true
Size: 1.54 KB
Versions: 8
Compression:
Stored size: 1.54 KB
Contents
module Fog module Parsers module AWS module Compute class DescribeVolumes < Fog::Parsers::Base def reset @attachment = {} @in_attachment_set = false @response = { 'volumeSet' => [] } @volume = { 'attachmentSet' => [] } end def start_element(name, attrs = []) super if name == 'attachmentSet' @in_attachment_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 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' => [] } when 'requestId' @response[name] = @value when 'size' @volume[name] = @value.to_i end end end end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems