class Fog::Generators::Compute::VcloudDirector::Customization

@see pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/types/GuestCustomizationSectionType.html<br><br></vcloud:GuestCustomizationSection>
<vcloud:ComputerName>DEVWEB-001</vcloud:ComputerName>
<vcloud:ResetPasswordRequired>false</vcloud:ResetPasswordRequired>
<vcloud:AdminPasswordAuto>true</vcloud:AdminPasswordAuto>
<vcloud:AdminPasswordEnabled>true</vcloud:AdminPasswordEnabled>
<vcloud:UseOrgSettings>false</vcloud:UseOrgSettings>
<vcloud:JoinDomainEnabled>false</vcloud:JoinDomainEnabled>
<vcloud:VirtualMachineId>55cc91f2-7e12-48d4-ad90-6f637a51fd88</vcloud:VirtualMachineId>
<vcloud:ChangeSid>true</vcloud:ChangeSid>
<vcloud:Enabled>true</vcloud:Enabled>
<ovf:Info>Specifies Guest OS Customization Settings</ovf:Info>
type=“application/vnd.vmware.vcloud.guestCustomizationSection+xml”>
ovf:required=“false”
href=“vcloud.example.com/api/vApp/vm-55cc91f2-7e12-48d4-ad90-6f637a51fd88/guestCustomizationSection/”
xmlns:vcloud=“www.vmware.com/vcloud/v1.5
xmlns:ovf=“schemas.dmtf.org/ovf/envelope/1
<vcloud:GuestCustomizationSection
This is what it generates:
:computer_name=>“DEVWEB-001”}
:has_customization_script=>true,
:customization_script=>“holanmundo”,
:reset_password_required=>false,
:admin_password_auto=>true,
:admin_password_enabled=>false,
:use_org_settings=>false,
:join_domain_enabled=>false,
:virtual_machine_id=>“2bbbf556-55dc-4974-82e6-aa6e814f0b64”,
:change_sid=>false,
:enabled=>false,
:id=>“vm-2bbbf556-55dc-4974-82e6-aa6e814f0b64”,
example.com/api/vApp/vm-2bbbf556-55dc-4974-82e6-aa6e814f0b64/guestCustomizationSection/”,
:href=>
{:type=>“application/vnd.vmware.vcloud.guestCustomizationSection+xml”,
#get_vm_customization:
This is the data structure it accepts, this is the output of

def body(opts={})

* ' '
* " "
* > >
* < <
* & &
symbols in the XML are:
number in format &#xxxx; where xxxx is the number. The predefined
The script could contain any UNICODE symbol by specifying its
could use XML escape sequence to make multiple lines script.
CustomizationScript: Script to run on guest customization. You

The order matters: http://communities.vmware.com/thread/448760?start=0&tstart=0
def body(opts={})
  <<-END
    <ovf:Info>Specifies Guest OS Customization Settings</ovf:Info>
    <Enabled>#{opts[:enabled]}</Enabled>
    <ChangeSid>#{opts[:change_sid]}</ChangeSid>
    <VirtualMachineId>#{opts[:virtual_machine_id]}</VirtualMachineId>
    <JoinDomainEnabled>#{opts[:join_domain_enabled]}</JoinDomainEnabled>
    <UseOrgSettings>#{opts[:use_org_settings]}</UseOrgSettings>
    <AdminPasswordEnabled>#{opts[:admin_password_enabled]}</AdminPasswordEnabled>
    <AdminPasswordAuto>#{opts[:admin_password_auto]}</AdminPasswordAuto>
    <ResetPasswordRequired>#{opts[:reset_password_required]}</ResetPasswordRequired>
    <CustomizationScript>#{CGI::escapeHTML(opts[:customization_script]).gsub(/\r/, "&#13;")}</CustomizationScript>
    <ComputerName>#{opts[:computer_name]}</ComputerName>
  END
end

def generate_xml

def generate_xml
  output = ""
  output << header
  output << body(@attrs)
  output << tail
  output
end

def header

def header
  <<-END
  <GuestCustomizationSection xmlns="http://www.vmware.com/vcloud/v1.5"
    xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
    type="application/vnd.vmware.vcloud.guestCustomizationSection+xml">
  END
end

def initialize(attrs={})

def initialize(attrs={})
  @attrs = attrs
end

def tail

def tail
  <<-END
  </GuestCustomizationSection>
  END
end