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 xxx; 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/, " ")}</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