1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/vcloudng/parsers/compute/vm_customization.rb

55 lines
1.7 KiB
Ruby
Raw Normal View History

2013-06-24 13:46:30 +02:00
module Fog
module Parsers
module Compute
module Vcloudng
class VmCustomization < VcloudngParser
def reset
@response = { }
end
def start_element(name, attributes)
super
case name
when 'GuestCustomizationSection'
customizations = extract_attributes(attributes)
@response.merge!(customizations.reject {|key,value| !['href', 'type'].include?(key)})
@response['id'] = @response['href'].split('/').last
end
end
def end_element(name)
case name
when 'Enabled',
@response['enabled'] = (value == "true")
when 'ChangeSid'
@response['change_sid'] = (value == "true")
when 'JoinDomainEnabled'
@response['join_domain_enabled'] = (value == "true")
when 'UseOrgSettings'
@response['use_org_settings'] = (value == "true")
when 'AdminPasswordEnabled'
@response['admin_password_enabled'] = (value == "true")
when 'AdminPasswordAuto'
@response['admin_password_auto'] = (value == "true")
when 'ResetPasswordRequired'
@response['reset_password_required'] = (value == "true")
when 'VirtualMachineId'
@response['virtual_machine_id'] = value
when 'ComputerName'
@response['computer_name'] = value
when 'CustomizationScript'
@response['customization_script'] = value
@response['has_customization_script'] = !value.empty?
end
end
end
end
end
end
end