Class: Fog::Generators::Compute::VcloudDirector::MetadataBase

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

Direct Known Subclasses

MetadataV15, MetadataV51

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ MetadataBase

Returns a new instance of MetadataBase.



29
30
31
# File 'lib/fog/vcloud_director/generators/compute/metadata.rb', line 29

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

Instance Attribute Details

#attrsObject (readonly)

Returns the value of attribute attrs.



27
28
29
# File 'lib/fog/vcloud_director/generators/compute/metadata.rb', line 27

def attrs
  @attrs
end

Instance Method Details

#add_item(k, v) ⇒ Object



43
44
45
# File 'lib/fog/vcloud_director/generators/compute/metadata.rb', line 43

def add_item(k,v)
  @attrs[:metadata].merge!(Hash[k,v])
end

#generate_xmlObject



33
34
35
36
37
38
39
40
41
# File 'lib/fog/vcloud_director/generators/compute/metadata.rb', line 33

def generate_xml
  output = ""
  output << header
  attrs[:metadata].each_pair do |k,v|
    output << (k,v)
  end
  output << tail
  output
end

#headerObject

1.5



48
49
50
51
52
53
54
# File 'lib/fog/vcloud_director/generators/compute/metadata.rb', line 48

def header
  '<Metadata xmlns="http://www.vmware.com/vcloud/v1.5"
    type="application/vnd.vmware.vcloud.metadata+xml"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://10.194.1.65/api/v1.5/schema/master.xsd">
    '
end

#metadata_entryObject



56
57
58
# File 'lib/fog/vcloud_director/generators/compute/metadata.rb', line 56

def 
  raise "This is an abstract class. Use the appropriate subclass"
end

#tailObject

5.1 def header '' end



69
70
71
# File 'lib/fog/vcloud_director/generators/compute/metadata.rb', line 69

def tail
  '</Metadata>'
end