Sha256: 9ce722a9ab3ac6ef8c62e7d46089dcd561978f29b651ecdfbde78566cc165b68
Contents?: true
Size: 1.3 KB
Versions: 3
Compression:
Stored size: 1.3 KB
Contents
require 'fog/vcloud_director/parsers/compute/vm_parser_helper' module Fog module Parsers module Compute module VcloudDirector class Vms < VcloudDirectorParser include VmParserHelper def reset @vm = initialize_vm @in_operating_system = false @in_children = false @resource_type = nil @response = { :vms => [] } @links = [] end def start_element(name, attributes) super case name when 'Vm' parse_vm_attributes(attributes, @vm) when 'VApp' vapp = extract_attributes(attributes) @response.merge!(vapp.reject {|key,value| ![:href, :name, :size, :status, :type].include?(key)}) @response[:id] = @response[:href].split('/').last when 'Children' @in_children = true else parse_start_element name, attributes, @vm end end def end_element(name) if @in_children if name == 'Vm' @response[:vms] << @vm @vm = {} else parse_end_element name, @vm end end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems