ovfparse 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -100,51 +100,24 @@ class VmCollection
100
100
  return [isValid, response]
101
101
  end
102
102
 
103
- def getVmName
104
- return virtualSystem['id'] || ''
103
+ def getCollectionName
104
+ return virtualSystemCollection['id'] || ''
105
105
  end
106
106
 
107
- def getVmDescription
108
- # ???
107
+ def getCollectionDescription
108
+ descNode = getChildByName(virtualSystemCollection, 'Info')
109
+ return descNode.nil? ? '' : descNode.content
109
110
  end
110
111
 
111
- def getVmDisks
112
- disks = Array.new
113
- filenames = Hash.new
114
- getChildrenByName(references, 'File').each { |node|
115
- filenames[node['id']] = node['href']
116
- }
117
-
118
- getChildrenByName(diskSection, 'Disk').each { |node|
119
- capacity = node['capacity']
120
- units = node['capacityAllocationUnits']
121
- if(units == "byte * 2^40")
122
- capacity = (capacity.to_i * 1099511627776).to_s
123
- elsif(units == "byte * 2^30")
124
- capacity = (capacity.to_i * 1073741824).to_s
125
- elsif(units == "byte * 2^20")
126
- capacity = (capacity.to_i * 1048576).to_s
127
- elsif(units == "byte * 2^10")
128
- capacity = (capacity.to_i * 1024).to_s
129
- end
130
- thin_size = node['populatedSize']
131
- disks.push({ 'name' => node['diskId'], 'location' => filenames[node['fileRef']], 'size' => capacity, 'thin_size' => (thin_size || "-1") })
132
- }
133
-
134
- return disks
135
- end
136
-
137
- def getVmNetworks
138
- networks = Array.new
139
- getChildrenByName(networkSection, 'Network').each { |node|
140
- descriptionNode = getChildByName(node, 'Description')
141
- text = descriptionNode.nil? ? '' : descriptionNode.text
142
- networks.push({'location' => node['name'], 'notes' => text })
143
- }
144
- return networks
112
+ def setCollectionName(newValue)
113
+ virtualSystem['ovf:id'] = newValue
114
+ nameNode = getChildByName(virtualSystemCollection, 'Name') ||
115
+ getChildByName(virtualSystemCollection, 'Info').add_next_sibling(xml.create_element('Name', {}))
116
+ nameNode.content = newValue
145
117
  end
146
118
 
147
- def getVirtualSystems
119
+ def setCollectionDescription(newValue)
120
+ getChildByName(virtualSystemCollection, 'Info').content = newValue
148
121
  end
149
122
 
150
123
  def self.constructFromVmPackages(packages)
@@ -304,7 +277,7 @@ class VmCollection
304
277
  xml.NetworkSection{
305
278
  xml.Info "List of logical networks"
306
279
  }
307
- xml.VirtualSystemCollection('ovf:id' => "vm_collection"){
280
+ xml.VirtualSystemCollection('id' => "vm_collection"){
308
281
  xml.Info "A collection of virtual machines"
309
282
  }
310
283
  }
@@ -313,6 +286,7 @@ class VmCollection
313
286
  xml.doc.children[0].add_previous_sibling(node)
314
287
  end
315
288
 
289
+ builder.doc.root.children[3].attribute("id").namespace = builder.doc.root.namespace_definitions.detect{ |ns| ns.prefix == "ovf"}
316
290
  newPackage = NewVmCollection.new
317
291
  newPackage.xml = builder.doc
318
292
  newPackage.loadElementRefs
@@ -351,6 +325,7 @@ class VmCollection
351
325
  }
352
326
 
353
327
  new_package.virtualSystem.children.unlink
328
+ new_package.virtualSystem['ovf:id'] = virtualSystem['id']
354
329
  new_package.virtualSystem.add_child(virtualSystem.clone.children)
355
330
  new_package.virtualSystem.children.each{ |child|
356
331
  child.namespace = new_package.virtualSystem.namespace
@@ -302,7 +302,6 @@ class VmPackage
302
302
  getChildByName(virtualSystem, 'OperatingSystemSection')['ovf:id'] = newValue.to_s
303
303
  end
304
304
 
305
-
306
305
  def setVmCPUs(newValue)
307
306
  setVirtualQuantity(3, newValue)
308
307
  end
@@ -622,10 +621,10 @@ class VmPackage
622
621
  xml.NetworkSection{
623
622
  xml.Info "List of logical networks"
624
623
  }
625
- xml.VirtualSystem('ovf:id' => "vm"){
624
+ xml.VirtualSystem('id' => "vm"){
626
625
  xml.Info "A virtual machine"
627
626
  xml.Name "New Virtual Machine"
628
- xml.OperatingSystemSection('ovf:id' => "94"){
627
+ xml.OperatingSystemSection('id' => "94"){
629
628
  xml.Info "The kind of guest operating system"
630
629
  }
631
630
  xml.VirtualHardwareSection{
@@ -659,15 +658,20 @@ class VmPackage
659
658
  xml.doc.children[0].add_previous_sibling(node)
660
659
  end
661
660
 
661
+ builder.doc.root.children[3].attribute("id").namespace = builder.doc.root.namespace_definitions.detect{ |ns| ns.prefix == "ovf"}
662
+ builder.doc.root.children[3].children[2].attribute("id").namespace = builder.doc.root.namespace_definitions.detect{ |ns| ns.prefix == "ovf"}
663
+
662
664
  newPackage = NewVmPackage.new
663
665
  newPackage.xml = builder.doc
664
666
  newPackage.loadElementRefs
665
667
  return newPackage
666
668
  end
667
669
 
668
- def write_xml(file)
669
- xml.write_xml_to(file)
670
- end
670
+ def writeXML(filename)
671
+ file = File.new(filename, "w")
672
+ file.puts(xml.to_s)
673
+ file.close
674
+ end
671
675
 
672
676
  # @todo make this a general purpose signing util
673
677
  def sign(signature)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ovfparse
3
3
  version: !ruby/object:Gem::Version
4
- hash: 57
4
+ hash: 63
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 1
10
- version: 0.9.1
9
+ - 2
10
+ version: 0.9.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jim Barkley
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-10 00:00:00 -04:00
18
+ date: 2011-10-11 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency