Class: Fog::Generators::Compute::VcloudDirector::Vm

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

Overview

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Vm

Returns a new instance of Vm



9
10
11
# File 'lib/fog/vcloud_director/generators/compute/vm.rb', line 9

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

Instance Attribute Details

#attrsObject (readonly)

Returns the value of attribute attrs



7
8
9
# File 'lib/fog/vcloud_director/generators/compute/vm.rb', line 7

def attrs
  @attrs
end

Instance Method Details

#generate_xmlObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fog/vcloud_director/generators/compute/vm.rb', line 13

def generate_xml
  attrs = @attrs
  Nokogiri::XML::Builder.new do
    Vm('xmlns' => 'http://www.vmware.com/vcloud/v1.5', 'name' => attrs[:name]) {
      Description attrs[:Description] if attrs.key?(:Description)
      if  attrs.key?(:StorageProfile)
        StorageProfile(
          'type' => 'application/vnd.vmware.vcloud.vdcStorageProfile+xml',
          'name' => attrs[:StorageProfile][:name],
          'href' => attrs[:StorageProfile][:href]
        )
      end
    }
  end.to_xml
end