Class: Fog::Generators::Compute::VcloudDirector::Customization

Inherits:
Object
  • Object
show all
Defined in:
lib/fog/vcloud_director/generators/compute/customization.rb

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Customization

Returns a new instance of Customization.



46
47
48
# File 'lib/fog/vcloud_director/generators/compute/customization.rb', line 46

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

Instance Method Details

#body(opts = {}) ⇒ Object

www.vmware.com/support/vcd/doc/rest-api-doc-1.5-html/types/GuestCustomizationSectionType.html CustomizationScript Script to run on guest customization. You could use xml escape sequence &#13; to make multiple lines script. The script could contain any UNICODE symbol by specifying its number in format &#xxxx; where xxxx is the number. The predefined symbols in the XML are: * & &amp; * < &lt; * > &gt; * “ &quot; * ‘ &apos;



76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/fog/vcloud_director/generators/compute/customization.rb', line 76

def body(opts={})
  body = "
    <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

#generate_xmlObject



50
51
52
53
54
55
56
# File 'lib/fog/vcloud_director/generators/compute/customization.rb', line 50

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

#headerObject



58
59
60
61
62
63
64
65
66
67
68
# File 'lib/fog/vcloud_director/generators/compute/customization.rb', line 58

def header
  '<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"
    ovf:required="false"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schemas.dmtf.org/ovf/envelope/1
      http://schemas.dmtf.org/ovf/envelope/1/dsp8023_1.1.0.xsd
      http://www.vmware.com/vcloud/v1.5
      http://zone01.bluelock.com/api/v1.5/schema/master.xsd">'
end

#tailObject



91
92
93
# File 'lib/fog/vcloud_director/generators/compute/customization.rb', line 91

def tail
  '</GuestCustomizationSection>'
end