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

http://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 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: * & & * < < * > > * " " * ' '



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