fog-vcloud-director 0.1.10 → 0.2.0

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.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +4 -240
  4. data/.rubocop_local.yml +1 -0
  5. data/.travis.yml +5 -10
  6. data/README.md +3 -0
  7. data/docs/examples-vm-reconfigure.md +39 -0
  8. data/docs/vm-to-reconfigure.xml +373 -0
  9. data/fog-vcloud-director.gemspec +4 -1
  10. data/lib/fog/vcloud_director.rb +14 -1
  11. data/lib/fog/vcloud_director/compute.rb +34 -8
  12. data/lib/fog/vcloud_director/core.rb +0 -3
  13. data/lib/fog/vcloud_director/generators/compute/org_vdc_network.rb +1 -1
  14. data/lib/fog/vcloud_director/generators/compute/reconfigure_vm.rb +110 -0
  15. data/lib/fog/vcloud_director/generators/compute/vapp.rb +0 -1
  16. data/lib/fog/vcloud_director/models/compute/catalog.rb +0 -2
  17. data/lib/fog/vcloud_director/models/compute/catalog_item.rb +0 -2
  18. data/lib/fog/vcloud_director/models/compute/catalog_items.rb +0 -1
  19. data/lib/fog/vcloud_director/models/compute/catalogs.rb +0 -1
  20. data/lib/fog/vcloud_director/models/compute/custom_field.rb +0 -2
  21. data/lib/fog/vcloud_director/models/compute/disk.rb +1 -2
  22. data/lib/fog/vcloud_director/models/compute/disks.rb +0 -1
  23. data/lib/fog/vcloud_director/models/compute/media.rb +0 -2
  24. data/lib/fog/vcloud_director/models/compute/medias.rb +0 -1
  25. data/lib/fog/vcloud_director/models/compute/network.rb +0 -2
  26. data/lib/fog/vcloud_director/models/compute/networks.rb +0 -1
  27. data/lib/fog/vcloud_director/models/compute/organization.rb +0 -2
  28. data/lib/fog/vcloud_director/models/compute/organizations.rb +0 -1
  29. data/lib/fog/vcloud_director/models/compute/tag.rb +1 -2
  30. data/lib/fog/vcloud_director/models/compute/tags.rb +0 -1
  31. data/lib/fog/vcloud_director/models/compute/task.rb +0 -2
  32. data/lib/fog/vcloud_director/models/compute/tasks.rb +0 -1
  33. data/lib/fog/vcloud_director/models/compute/template_vm.rb +0 -1
  34. data/lib/fog/vcloud_director/models/compute/template_vms.rb +2 -3
  35. data/lib/fog/vcloud_director/models/compute/vapp.rb +25 -8
  36. data/lib/fog/vcloud_director/models/compute/vapp_template.rb +0 -2
  37. data/lib/fog/vcloud_director/models/compute/vapp_templates.rb +0 -1
  38. data/lib/fog/vcloud_director/models/compute/vapps.rb +0 -1
  39. data/lib/fog/vcloud_director/models/compute/vdc.rb +0 -2
  40. data/lib/fog/vcloud_director/models/compute/vdcs.rb +0 -1
  41. data/lib/fog/vcloud_director/models/compute/vm.rb +10 -30
  42. data/lib/fog/vcloud_director/models/compute/vm_customization.rb +0 -2
  43. data/lib/fog/vcloud_director/models/compute/vm_customizations.rb +0 -1
  44. data/lib/fog/vcloud_director/models/compute/vm_network.rb +0 -2
  45. data/lib/fog/vcloud_director/models/compute/vm_networks.rb +0 -1
  46. data/lib/fog/vcloud_director/models/compute/vms.rb +1 -2
  47. data/lib/fog/vcloud_director/parsers/compute/vapp.rb +93 -0
  48. data/lib/fog/vcloud_director/parsers/compute/vm.rb +3 -62
  49. data/lib/fog/vcloud_director/parsers/compute/vm_parser_helper.rb +47 -0
  50. data/lib/fog/vcloud_director/parsers/compute/vms.rb +2 -23
  51. data/lib/fog/vcloud_director/query.rb +0 -1
  52. data/lib/fog/vcloud_director/requests/compute/delete_vapp.rb +1 -1
  53. data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp.rb +1 -1
  54. data/lib/fog/vcloud_director/requests/compute/get_template_vm.rb +1 -47
  55. data/lib/fog/vcloud_director/requests/compute/get_template_vms.rb +0 -13
  56. data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +4 -3
  57. data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata.rb +1 -1
  58. data/lib/fog/vcloud_director/requests/compute/get_vapp_owner.rb +1 -1
  59. data/lib/fog/vcloud_director/requests/compute/get_vm.rb +0 -46
  60. data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +1 -1
  61. data/lib/fog/vcloud_director/requests/compute/post_power_on_vapp.rb +2 -2
  62. data/lib/fog/vcloud_director/requests/compute/post_reconfigure_vm.rb +4 -84
  63. data/lib/fog/vcloud_director/requests/compute/post_update_vapp_metadata.rb +1 -1
  64. data/lib/fog/vcloud_director/requests/compute/put_cpu.rb +1 -1
  65. data/lib/fog/vcloud_director/requests/compute/put_memory.rb +1 -1
  66. data/lib/fog/vcloud_director/requests/compute/put_metadata_value.rb +1 -1
  67. data/lib/fog/vcloud_director/requests/compute/put_network_connection_system_section_vapp.rb +1 -1
  68. data/lib/fog/vcloud_director/requests/compute/put_vm.rb +1 -1
  69. data/lib/fog/vcloud_director/version.rb +1 -1
  70. data/spec/common_assertions.rb +42 -0
  71. data/spec/fixtures/vm.xml +419 -0
  72. data/spec/secrets.yaml.templ +3 -0
  73. data/spec/spec_helper.rb +5 -5
  74. data/spec/vcloud_director/generators/compute/compose_common_spec.rb +1 -6
  75. data/spec/vcloud_director/generators/compute/compose_vapp_spec.rb +67 -0
  76. data/spec/vcloud_director/generators/compute/create_snapshot_spec.rb +4 -0
  77. data/spec/vcloud_director/generators/compute/customization_spec.rb +4 -0
  78. data/spec/vcloud_director/generators/compute/disks_spec.rb +4 -0
  79. data/spec/vcloud_director/generators/compute/edge_gateway_service_configuration_spec.rb +4 -0
  80. data/spec/vcloud_director/generators/compute/instantiate_vapp_template_params_spec.rb +1 -4
  81. data/spec/vcloud_director/generators/compute/metadata_spec.rb +4 -0
  82. data/spec/vcloud_director/generators/compute/org_vdc_network_spec.rb +4 -0
  83. data/spec/vcloud_director/generators/compute/recompose_vapp_spec.rb +4 -0
  84. data/spec/vcloud_director/generators/compute/reconfigure_vm_spec.rb +117 -0
  85. data/spec/vcloud_director/generators/compute/vapp_spec.rb +4 -0
  86. data/spec/vcloud_director/generators/compute/vm_network_spec.rb +4 -0
  87. data/spec/vcloud_director/generators/compute/vm_spec.rb +4 -0
  88. data/spec/vcloud_director/models/compute/basic_spec.rb +44 -0
  89. data/spec/vcloud_director/models/compute/vapps_spec.rb +104 -0
  90. data/spec/vcloud_director/models/compute/vms_spec.rb +54 -0
  91. data/spec/vcloud_director/parsers/compute/disks_spec.rb +4 -0
  92. data/spec/vcloud_director/parsers/compute/metadata_spec.rb +4 -0
  93. data/spec/vcloud_director/parsers/compute/network_spec.rb +4 -0
  94. data/spec/vcloud_director/parsers/compute/vm_customization_spec.rb +4 -0
  95. data/spec/vcloud_director/parsers/compute/vm_network_spec.rb +4 -0
  96. data/spec/vcloud_director/parsers/compute/vm_parser_helper_spec.rb +4 -0
  97. data/spec/vcloud_director/parsers/compute/vm_spec.rb +4 -0
  98. data/spec/vcloud_director/parsers/compute/vms_by_metadata_spec.rb +4 -0
  99. data/spec/vcloud_director/parsers/compute/vms_spec.rb +4 -0
  100. data/spec/vcloud_director/requests/compute/basic_spec.rb +212 -0
  101. data/spec/vcloud_director/requests/compute/get_vapp_spec.rb +11 -0
  102. data/spec/vcloud_director/requests/compute/get_vdc_spec.rb +10 -0
  103. data/spec/vcloud_director/requests/compute/instantiate_vapp_template_spec.rb +1 -3
  104. data/spec/vcloud_director/requests/compute/post_reconfigure_vm_spec.rb +26 -0
  105. data/spec/vcr_cassettes/authentication.yml +48 -0
  106. data/spec/vcr_cassettes/get_vapp.yml +937 -0
  107. data/spec/vcr_cassettes/get_vapps-expired.yml +918 -0
  108. data/spec/vcr_cassettes/get_vapps-novms.yml +215 -0
  109. data/spec/vcr_cassettes/get_vapps.yml +118 -0
  110. data/spec/vcr_cassettes/get_vdc.yml +118 -0
  111. data/spec/vcr_cassettes/get_vm.yml +398 -0
  112. data/spec/vcr_cassettes/post_reconfigure_vm-virtual_hardware.yml +445 -0
  113. data/spec/vcr_spec_helper.rb +34 -0
  114. data/tasks/test.rake +3 -10
  115. metadata +129 -5
  116. data/lib/fog/vcloud_director/requests/compute/get_vms.rb +0 -41
  117. data/spec/vcloud_director/spec_helper.rb +0 -13
@@ -13,7 +13,7 @@ module Fog
13
13
  # * body<~Hash>:
14
14
  #
15
15
  # @see #get_vapp
16
- def get_vm(id)
16
+ def get_template_vm(id)
17
17
  request(
18
18
  :expects => 200,
19
19
  :idempotent => true,
@@ -23,52 +23,6 @@ module Fog
23
23
  )
24
24
  end
25
25
  end
26
- class Mock
27
- def get_vm(id)
28
- vapp = get_vapp(id).body
29
- vm = parse_vapp_to_vm(vapp)
30
- body = {:type => vapp[:type], :vm => vm}
31
- Excon::Response.new(
32
- :status => 200,
33
- :headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
34
- :body => body
35
- )
36
- end
37
-
38
- # Mock equivalent of Fog::Parsers::Compute::VcloudDirector::Vm
39
- def parse_vapp_to_vm(vapp)
40
- parser = Fog::Parsers::Compute::VcloudDirector::Vm.new
41
- vm = vapp.select {|k| [:href, :name, :status, :type].include? k}
42
- network = vapp[:NetworkConnectionSection]
43
- vm.merge({
44
- :id => vapp[:href].split('/').last,
45
- :status => parser.human_status(vapp[:status]),
46
- :ip_address => network[:NetworkConnection][:IpAddress],
47
- :description => vapp[:Description],
48
- :cpu => get_hardware(vapp, 3),
49
- :memory => get_hardware(vapp, 4),
50
- :disks => get_disks(vapp),
51
- :links => [vapp[:GuestCustomizationSection][:Link]],
52
- })
53
- end
54
-
55
- def get_hardware(vapp, resource_type)
56
- hardware = vapp[:"ovf:VirtualHardwareSection"][:"ovf:Item"]
57
- item = hardware.find {|h| h[:"rasd:ResourceType"].to_i == resource_type}
58
- if item and item.key? :"rasd:VirtualQuantity"
59
- item[:"rasd:VirtualQuantity"].to_i
60
- else
61
- nil
62
- end
63
- end
64
-
65
- def get_disks(vapp)
66
- hardware = vapp[:"ovf:VirtualHardwareSection"][:"ovf:Item"]
67
- disks = hardware.select {|h| h[:"rasd:ResourceType"].to_i == 17}
68
- disks.map {|d| {d[:"rasd:ElementName"] => d[:"rasd:HostResource"][:ns12_capacity].to_i}}
69
- end
70
-
71
- end
72
26
  end
73
27
  end
74
28
  end
@@ -23,19 +23,6 @@ module Fog
23
23
  )
24
24
  end
25
25
  end
26
- class Mock
27
- def get_vms(id)
28
- vapptemplate = get_vapp(id).body
29
- parser = Fog::Parsers::Compute::VcloudDirector::Vms.new
30
- vms = vapp[:Children][:Vm].map {|child| parse_vapp_to_vm(child) }
31
- body = {:type => vapp[:type], :vms => vms}
32
- Excon::Response.new(
33
- :status => 200,
34
- :headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
35
- :body => body
36
- )
37
- end
38
- end
39
26
  end
40
27
  end
41
28
  end
@@ -5,20 +5,21 @@ module Fog
5
5
  # Retrieve a vApp or VM.
6
6
  #
7
7
  # @param [String] id Object identifier of the vApp or VM.
8
+ # @param [Class or Symbol] parser, see compute.rb#request() documentation for details.
8
9
  # @return [Excon::Response]
9
10
  # * body<~Hash>:
10
11
  #
11
12
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VApp.html
12
13
  # @since vCloud API version 0.9
13
- def get_vapp(id)
14
+ def get_vapp(id, parser: Fog::Parsers::Compute::VcloudDirector::Vapp)
14
15
  response = request(
15
16
  :expects => 200,
16
17
  :idempotent => true,
17
18
  :method => 'GET',
18
- :parser => Fog::ToHashDocument.new,
19
+ :parser => parser,
19
20
  :path => "vApp/#{id}"
20
21
  )
21
- ensure_list! response.body, :Children, :Vm
22
+ ensure_list!(response.body, :Children, :Vm) if parser == Fog::ToHashDocument
22
23
  response
23
24
  end
24
25
  end
@@ -60,7 +60,7 @@ module Fog
60
60
  def get_metadata_entries(metadata, id)
61
61
  metadata_entries = []
62
62
 
63
- for key, value in metadata do
63
+ for key, _ in metadata do
64
64
  metadata_entries << {:type=>"application/vnd.vmware.vcloud.metadata.value+xml",
65
65
  :href=>make_href("vApp/#{id}/metadata/#{key}"),
66
66
  :Link=>
@@ -26,7 +26,7 @@ module Fog
26
26
 
27
27
  type = 'application/vnd.vmware.vcloud.owner+xml'
28
28
 
29
- unless vapp = data[:vapps][id]
29
+ unless data[:vapps][id]
30
30
  raise Fog::Compute::VcloudDirector::Forbidden.new(
31
31
  'This operation is denied.'
32
32
  )
@@ -23,52 +23,6 @@ module Fog
23
23
  )
24
24
  end
25
25
  end
26
- class Mock
27
- def get_vm(id)
28
- vapp = get_vapp(id).body
29
- vm = parse_vapp_to_vm(vapp)
30
- body = {:type => vapp[:type], :vm => vm}
31
- Excon::Response.new(
32
- :status => 200,
33
- :headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
34
- :body => body
35
- )
36
- end
37
-
38
- # Mock equivalent of Fog::Parsers::Compute::VcloudDirector::Vm
39
- def parse_vapp_to_vm(vapp)
40
- parser = Fog::Parsers::Compute::VcloudDirector::Vm.new
41
- vm = vapp.select {|k| [:href, :name, :status, :type].include? k}
42
- network = vapp[:NetworkConnectionSection]
43
- vm.merge({
44
- :id => vapp[:href].split('/').last,
45
- :status => parser.human_status(vapp[:status]),
46
- :ip_address => network[:NetworkConnection][:IpAddress],
47
- :description => vapp[:Description],
48
- :cpu => get_hardware(vapp, 3),
49
- :memory => get_hardware(vapp, 4),
50
- :disks => get_disks(vapp),
51
- :links => [vapp[:GuestCustomizationSection][:Link]],
52
- })
53
- end
54
-
55
- def get_hardware(vapp, resource_type)
56
- hardware = vapp[:"ovf:VirtualHardwareSection"][:"ovf:Item"]
57
- item = hardware.find {|h| h[:"rasd:ResourceType"].to_i == resource_type}
58
- if item and item.key? :"rasd:VirtualQuantity"
59
- item[:"rasd:VirtualQuantity"].to_i
60
- else
61
- nil
62
- end
63
- end
64
-
65
- def get_disks(vapp)
66
- hardware = vapp[:"ovf:VirtualHardwareSection"][:"ovf:Item"]
67
- disks = hardware.select {|h| h[:"rasd:ResourceType"].to_i == 17}
68
- disks.map {|d| {d[:"rasd:ElementName"] => d[:"rasd:HostResource"][:ns12_capacity].to_i}}
69
- end
70
-
71
- end
72
26
  end
73
27
  end
74
28
  end
@@ -110,7 +110,7 @@ module Fog
110
110
  'No such template.'
111
111
  )
112
112
  end
113
- unless vdc = data[:vdcs][options[:vdc_id]]
113
+ unless data[:vdcs][options[:vdc_id]]
114
114
  raise Fog::Compute::VcloudDirector::Forbidden.new(
115
115
  'No such VDC.'
116
116
  )
@@ -33,7 +33,7 @@ module Fog
33
33
  end
34
34
  class Mock
35
35
  def post_power_on_vapp(id)
36
- unless vapp = data[:vapps][id]
36
+ unless data[:vapps][id]
37
37
  raise Fog::Compute::VcloudDirector::Forbidden.new(
38
38
  'This operation is denied.'
39
39
  )
@@ -65,7 +65,7 @@ module Fog
65
65
  :body => body
66
66
  )
67
67
  end
68
- end
68
+ end
69
69
  end
70
70
  end
71
71
  end
@@ -1,8 +1,9 @@
1
+ require 'fog/vcloud_director/generators/compute/reconfigure_vm'
2
+
1
3
  module Fog
2
4
  module Compute
3
5
  class VcloudDirector
4
6
  class Real
5
-
6
7
  # Updates VM configuration.
7
8
  #
8
9
  # This operation is asynchronous and returns a task that you can
@@ -13,8 +14,6 @@ module Fog
13
14
  #
14
15
  # @option options [String] :name Change the VM's name [required].
15
16
  # @option options [String] :description VM description
16
- # @option options [Integer] :cpu Number of CPUs
17
- # @option options [Integer] :memory Memory in MB
18
17
  #
19
18
  # @return [Excon::Response]
20
19
  # * body<~Hash>:
@@ -23,23 +22,9 @@ module Fog
23
22
  #
24
23
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-ReconfigureVm.html
25
24
  # @since vCloud API version 5.1
26
- def post_reconfigure_vm(id, options={})
27
-
28
- body = Nokogiri::XML::Builder.new do |xml|
29
- attrs = {
30
- :xmlns => 'http://www.vmware.com/vcloud/v1.5',
31
- 'xmlns:ovf' => 'http://schemas.dmtf.org/ovf/envelope/1',
32
- 'xmlns:rasd' => 'http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData',
33
- :name => options[:name]
34
- }
35
- xml.Vm(attrs) do
36
- xml.Description options[:description] if options[:description]
37
- virtual_hardware_section(xml, options)
38
- end
39
- end.to_xml
40
-
25
+ def post_reconfigure_vm(id, current, options)
41
26
  request(
42
- :body => body,
27
+ :body => Fog::Generators::Compute::VcloudDirector::ReconfigureVm.generate_xml(current, options),
43
28
  :expects => 202,
44
29
  :headers => {'Content-Type' => 'application/vnd.vmware.vcloud.vm+xml'},
45
30
  :method => 'POST',
@@ -47,71 +32,6 @@ module Fog
47
32
  :path => "vApp/#{id}/action/reconfigureVm"
48
33
  )
49
34
  end
50
-
51
- private
52
-
53
- def virtual_hardware_section(xml, options)
54
- return unless options[:cpu] or options[:memory]
55
- xml['ovf'].VirtualHardwareSection do
56
- xml['ovf'].Info 'Virtual Hardware Requirements'
57
- cpu_section(xml, options[:cpu]) if options[:cpu]
58
- memory_section(xml, options[:memory]) if options[:memory]
59
- end
60
- end
61
-
62
- def cpu_section(xml, cpu)
63
- xml['ovf'].Item do
64
- xml['rasd'].AllocationUnits 'hertz * 10 ^ 6'
65
- xml['rasd'].InstanceID 5
66
- xml['rasd'].ResourceType 3
67
- xml['rasd'].VirtualQuantity cpu.to_i
68
- end
69
- end
70
-
71
- def memory_section(xml, memory)
72
- xml['ovf'].Item do
73
- xml['rasd'].AllocationUnits 'byte * 2^20'
74
- xml['rasd'].InstanceID 6
75
- xml['rasd'].ResourceType 4
76
- xml['rasd'].VirtualQuantity memory.to_i
77
- end
78
- end
79
-
80
- end
81
-
82
- class Mock
83
- def post_reconfigure_vm(id, options={})
84
- unless vm = data[:vms][id]
85
- raise Fog::Compute::VcloudDirector::Forbidden.new(
86
- 'This operation is denied.'
87
- )
88
- end
89
-
90
- owner = {
91
- :href => make_href("vApp/#{id}"),
92
- :type => 'application/vnd.vmware.vcloud.vApp+xml'
93
- }
94
- task_id = enqueue_task(
95
- "Updating Virtual Machine #{data[:vms][id][:name]}(#{id})", 'vappUpdateVm', owner,
96
- :on_success => lambda do
97
- data[:vms][id][:name] = options[:name]
98
- data[:vms][id][:description] = options[:description] if options[:description]
99
- data[:vms][id][:cpu_count] = options[:cpu] if options[:cpu]
100
- data[:vms][id][:memory_in_mb] = options[:memory] if options[:memory]
101
- end
102
- )
103
- body = {
104
- :xmlns => xmlns,
105
- :xmlns_xsi => xmlns_xsi,
106
- :xsi_schemaLocation => xsi_schema_location,
107
- }.merge(task_body(task_id))
108
-
109
- Excon::Response.new(
110
- :status => 202,
111
- :headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
112
- :body => body
113
- )
114
- end
115
35
  end
116
36
  end
117
37
  end
@@ -49,7 +49,7 @@ module Fog
49
49
  end
50
50
  class Mock
51
51
  def post_update_vapp_metadata(id, metadata={})
52
- unless vm = data[:vms][id]
52
+ unless data[:vms][id]
53
53
  raise Fog::Compute::VcloudDirector::Forbidden.new(
54
54
  'This operation is denied.'
55
55
  )
@@ -53,7 +53,7 @@ EOF
53
53
  class Mock
54
54
 
55
55
  def put_cpu(id, num_cpus)
56
- unless vm = data[:vms][id]
56
+ unless data[:vms][id]
57
57
  raise Fog::Compute::VcloudDirector::Forbidden.new(
58
58
  'This operation is denied.'
59
59
  )
@@ -53,7 +53,7 @@ EOF
53
53
  class Mock
54
54
 
55
55
  def put_memory(id, memory)
56
- unless vm = data[:vms][id]
56
+ unless data[:vms][id]
57
57
  raise Fog::Compute::VcloudDirector::Forbidden.new(
58
58
  'This operation is denied.'
59
59
  )
@@ -4,7 +4,7 @@ module Fog
4
4
  class Real
5
5
  # deprecated Use {#put_vapp_metadata_item_metadata} instead.
6
6
  def put_metadata_value(vm_id, metadata_key, metadata_value)
7
- Fog::Logger.deprecation("#{self} => ##{put_metadata_value} is deprecated, use ##{put_vapp_metadata_item_metadata} instead [light_black](#{caller.first})[/]")
7
+ Fog::Logger.deprecation("#{self} => #put_metadata_value is deprecated, use #put_vapp_metadata_item_metadata instead [light_black](#{caller.first})[/]")
8
8
 
9
9
  body="
10
10
  <MetadataValue xmlns=\"http://www.vmware.com/vcloud/v1.5\">
@@ -118,7 +118,7 @@ module Fog
118
118
  end
119
119
  class Mock
120
120
  def put_network_connection_system_section_vapp(id, options={})
121
- unless vm = data[:vms][id]
121
+ unless data[:vms][id]
122
122
  raise Fog::Compute::VcloudDirector::Forbidden.new(
123
123
  'This operation is denied.'
124
124
  )
@@ -37,7 +37,7 @@ module Fog
37
37
  class Mock
38
38
 
39
39
  def put_vm(id, name, options)
40
- unless vm = data[:vms][id]
40
+ unless data[:vms][id]
41
41
  raise Fog::Compute::VcloudDirector::Forbidden.new(
42
42
  'This operation is denied.'
43
43
  )
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module VcloudDirector
3
- VERSION = "0.1.10".freeze
3
+ VERSION = "0.2.0".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,42 @@
1
+ def expect_vm(vm, vapp_id:, name:, status:, deployed:, os:, ip:, cpu:, cores_per_socket:, cpu_hot:, mem:, mem_hot:, num_hdds:, num_nics:)
2
+ vm.must_be_instance_of Fog::Compute::VcloudDirector::Vm
3
+ vm.type.must_equal 'application/vnd.vmware.vcloud.vm+xml'
4
+ vm.vapp_id.must_equal vapp_id
5
+ vm.name.must_equal name
6
+ vm.description.must_equal ''
7
+ vm.href.must_include '/api/vApp/vm-'
8
+ vm.status.must_equal status
9
+ vm.deployed.must_equal deployed
10
+ vm.operating_system.must_equal os
11
+ vm.ip_address.must_equal ip
12
+ vm.cpu.must_equal cpu
13
+ vm.cores_per_socket.must_equal cores_per_socket
14
+ vm.cpu_hot_add.must_equal cpu_hot
15
+ vm.memory.must_equal mem
16
+ vm.memory_hot_add.must_equal mem_hot
17
+ vm.hard_disks.size.must_equal num_hdds
18
+ vm.network_adapters.size.must_equal num_nics
19
+ end
20
+
21
+ # Basic vApp information which is provided when vApps are only listed for VDC.
22
+ def expect_vapp_skeleton(vapp, id:, name:)
23
+ vapp.must_be_instance_of Fog::Compute::VcloudDirector::Vapp
24
+ vapp.type.must_equal 'application/vnd.vmware.vcloud.vApp+xml'
25
+ vapp.href.must_include '/api/vApp/vapp-'
26
+ vapp.id.must_equal id
27
+ vapp.name.must_equal name
28
+ end
29
+
30
+ def expect_vapp(vapp, id:, name:, description:, deployed:, status:, h_status:, lease:, net_section:, net_config:, owner:, maintenance:, num_vms:)
31
+ expect_vapp_skeleton(vapp, :id => id, :name => name)
32
+ vapp.description.must_equal description
33
+ vapp.deployed.must_equal deployed
34
+ vapp.status.must_equal status
35
+ vapp.human_status.must_equal h_status
36
+ vapp.lease_settings.must_equal lease
37
+ vapp.network_section.must_equal net_section
38
+ vapp.network_config.must_equal net_config
39
+ vapp.owner.must_equal owner
40
+ vapp.maintenance.must_equal maintenance
41
+ vapp.vms.size.must_equal num_vms
42
+ end
@@ -0,0 +1,419 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <Vm xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:ns9="http://www.vmware.com/vcloud/networkservice/1.0" xmlns:ns10="http://www.vmware.com/vcloud/networkservice/common/1.0" xmlns:ns11="http://www.vmware.com/vcloud/networkservice/ipam/1.0" xmlns:ns12="http://www.vmware.com/vcloud/versions" needsCustomization="false" deployed="false" status="8" name="Databasy Machiny" id="urn:vcloud:vm:8dc9990c-a55a-418e-8e21-5942a20b93ef" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef" type="application/vnd.vmware.vcloud.vm+xml">
3
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/metadata" type="application/vnd.vmware.vcloud.metadata+xml"/>
4
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/productSections/" type="application/vnd.vmware.vcloud.productSections+xml"/>
5
+ <Link rel="screen:thumbnail" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/screen"/>
6
+ <Link rel="customizeAtNextPowerOn" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/action/customizeAtNextPowerOn"/>
7
+ <Link rel="up" href="https://10.12.0.18/api/vApp/vapp-fe8d013d-dd2f-4ac6-9e8a-3a4a18e0a62e" type="application/vnd.vmware.vcloud.vApp+xml"/>
8
+ <Description>DB Description</Description>
9
+ <Tasks>
10
+ <Task cancelRequested="false" endTime="2018-04-26T10:14:47.769+02:00" expiryTime="2018-07-25T10:14:42.767+02:00" operation="Updated Virtual Machine Databasy Machiny(8dc9990c-a55a-418e-8e21-5942a20b93ef)" operationName="vappUpdateVm" serviceNamespace="com.vmware.vcloud" startTime="2018-04-26T10:14:42.767+02:00" status="error" name="task" id="urn:vcloud:task:cff03716-2fce-4606-be1d-77e8a8180c85" href="https://10.12.0.18/api/task/cff03716-2fce-4606-be1d-77e8a8180c85" type="application/vnd.vmware.vcloud.task+xml">
11
+ <Owner href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef" name="Databasy Machiny" type="application/vnd.vmware.vcloud.vm+xml"/>
12
+ <Error majorErrorCode="500" message="[ 24e9f319-05bd-474e-bd1d-2b8bb3ea9c98 ] Unable to perform this action. Contact your cloud administrator." minorErrorCode="INTERNAL_SERVER_ERROR"/>
13
+ <User href="https://10.12.0.18/api/admin/user/4e1fe1f6-44a4-4ee8-a1ab-758d66a1e90d" name="system" type="application/vnd.vmware.admin.user+xml"/>
14
+ <Organization href="https://10.12.0.18/api/org/8f03aa58-b618-4c32-836b-dc6b612ed3a4" name="RedHat" type="application/vnd.vmware.vcloud.org+xml"/>
15
+ <Details> [ 24e9f319-05bd-474e-bd1d-2b8bb3ea9c98 ] Unable to perform this action. Contact your cloud administr...</Details>
16
+ </Task>
17
+ <Task cancelRequested="false" endTime="2018-04-26T15:33:26.945+02:00" expiryTime="2018-07-25T15:33:24.212+02:00" operation="Updated Virtual Machine Databasy Machiny(8dc9990c-a55a-418e-8e21-5942a20b93ef)" operationName="vappUpdateVm" serviceNamespace="com.vmware.vcloud" startTime="2018-04-26T15:33:24.212+02:00" status="error" name="task" id="urn:vcloud:task:689049a4-890c-4074-aa30-cb20ca6105c6" href="https://10.12.0.18/api/task/689049a4-890c-4074-aa30-cb20ca6105c6" type="application/vnd.vmware.vcloud.task+xml">
18
+ <Owner href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef" name="Databasy Machiny" type="application/vnd.vmware.vcloud.vm+xml"/>
19
+ <Error majorErrorCode="500" message="[ 48c6327b-d661-4947-bc71-bc5009e3d60d ] Unable to perform this action. Contact your cloud administrator." minorErrorCode="INTERNAL_SERVER_ERROR"/>
20
+ <User href="https://10.12.0.18/api/admin/user/e0d6e74d-efde-49fe-b19f-ace7e55b68dd" name="redhat" type="application/vnd.vmware.admin.user+xml"/>
21
+ <Organization href="https://10.12.0.18/api/org/8f03aa58-b618-4c32-836b-dc6b612ed3a4" name="RedHat" type="application/vnd.vmware.vcloud.org+xml"/>
22
+ <Details> [ 48c6327b-d661-4947-bc71-bc5009e3d60d ] Unable to perform this action. Contact your cloud administr...</Details>
23
+ </Task>
24
+ <Task cancelRequested="false" expiryTime="2018-07-25T15:36:23.440+02:00" operation="Updating Virtual Machine Databasy Machiny(8dc9990c-a55a-418e-8e21-5942a20b93ef)" operationName="vappUpdateVm" serviceNamespace="com.vmware.vcloud" startTime="2018-04-26T15:36:23.440+02:00" status="running" name="task" id="urn:vcloud:task:f4228017-9d2c-482b-b123-8360721e6f98" href="https://10.12.0.18/api/task/f4228017-9d2c-482b-b123-8360721e6f98" type="application/vnd.vmware.vcloud.task+xml">
25
+ <Link rel="task:cancel" href="https://10.12.0.18/api/task/f4228017-9d2c-482b-b123-8360721e6f98/action/cancel"/>
26
+ <Owner href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef" name="Databasy Machiny" type="application/vnd.vmware.vcloud.vm+xml"/>
27
+ <User href="https://10.12.0.18/api/admin/user/e0d6e74d-efde-49fe-b19f-ace7e55b68dd" name="redhat" type="application/vnd.vmware.admin.user+xml"/>
28
+ <Organization href="https://10.12.0.18/api/org/8f03aa58-b618-4c32-836b-dc6b612ed3a4" name="RedHat" type="application/vnd.vmware.vcloud.org+xml"/>
29
+ <Details/>
30
+ </Task>
31
+ </Tasks>
32
+ <ovf:VirtualHardwareSection xmlns:ns13="http://www.vmware.com/vcloud/v1.5" ovf:transport="" ns13:type="application/vnd.vmware.vcloud.virtualHardwareSection+xml" ns13:href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/">
33
+ <ovf:Info>Virtual hardware requirements</ovf:Info>
34
+ <ovf:System>
35
+ <vssd:AutomaticRecoveryAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
36
+ <vssd:AutomaticShutdownAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
37
+ <vssd:AutomaticStartupAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
38
+ <vssd:AutomaticStartupActionDelay xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
39
+ <vssd:AutomaticStartupActionSequenceNumber xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
40
+ <vssd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
41
+ <vssd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
42
+ <vssd:ConfigurationDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
43
+ <vssd:ConfigurationFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
44
+ <vssd:ConfigurationID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
45
+ <vssd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
46
+ <vssd:CreationTime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
47
+ <vssd:Description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
48
+ <vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
49
+ <vssd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
50
+ <vssd:InstanceID>0</vssd:InstanceID>
51
+ <vssd:LogDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
52
+ <vssd:RecoveryFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
53
+ <vssd:SnapshotDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
54
+ <vssd:SuspendDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
55
+ <vssd:SwapFileDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
56
+ <vssd:VirtualSystemIdentifier>Databasy Machiny</vssd:VirtualSystemIdentifier>
57
+ <vssd:VirtualSystemType>vmx-13</vssd:VirtualSystemType>
58
+ </ovf:System>
59
+ <ovf:Item>
60
+ <rasd:Address>00:50:56:01:01:2c</rasd:Address>
61
+ <rasd:AddressOnParent>0</rasd:AddressOnParent>
62
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
63
+ <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
64
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
65
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
66
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
67
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
68
+ <rasd:Connection ns13:ipAddressingMode="DHCP" ns13:primaryNetworkConnection="true">Localhost</rasd:Connection>
69
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
70
+ <rasd:Description>PCNet32 ethernet adapter on "Localhost"</rasd:Description>
71
+ <rasd:ElementName>Network adapter 0</rasd:ElementName>
72
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
73
+ <rasd:InstanceID>1</rasd:InstanceID>
74
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
75
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
76
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
77
+ <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
78
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
79
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
80
+ <rasd:ResourceSubType>PCNet32</rasd:ResourceSubType>
81
+ <rasd:ResourceType>10</rasd:ResourceType>
82
+ <rasd:VirtualQuantity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
83
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
84
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
85
+ </ovf:Item>
86
+ <ovf:Item>
87
+ <rasd:Address>00:50:56:01:01:2d</rasd:Address>
88
+ <rasd:AddressOnParent>1</rasd:AddressOnParent>
89
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
90
+ <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
91
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
92
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
93
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
94
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
95
+ <rasd:Connection ns13:ipAddressingMode="POOL" ns13:ipAddress="192.168.43.2" ns13:primaryNetworkConnection="false">RedHat Private network 43</rasd:Connection>
96
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
97
+ <rasd:Description>E1000s ethernet adapter on "RedHat Private network 43"</rasd:Description>
98
+ <rasd:ElementName>Network adapter 1</rasd:ElementName>
99
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
100
+ <rasd:InstanceID>2</rasd:InstanceID>
101
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
102
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
103
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
104
+ <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
105
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
106
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
107
+ <rasd:ResourceSubType>E1000E</rasd:ResourceSubType>
108
+ <rasd:ResourceType>10</rasd:ResourceType>
109
+ <rasd:VirtualQuantity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
110
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
111
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
112
+ </ovf:Item>
113
+ <ovf:Item>
114
+ <rasd:Address>0</rasd:Address>
115
+ <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
116
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
117
+ <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
118
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
119
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
120
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
121
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
122
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
123
+ <rasd:Description>SCSI Controller</rasd:Description>
124
+ <rasd:ElementName>SCSI Controller 0</rasd:ElementName>
125
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
126
+ <rasd:InstanceID>3</rasd:InstanceID>
127
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
128
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
129
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
130
+ <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
131
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
132
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
133
+ <rasd:ResourceSubType>lsilogicsas</rasd:ResourceSubType>
134
+ <rasd:ResourceType>6</rasd:ResourceType>
135
+ <rasd:VirtualQuantity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
136
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
137
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
138
+ </ovf:Item>
139
+ <ovf:Item>
140
+ <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
141
+ <rasd:AddressOnParent>0</rasd:AddressOnParent>
142
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
143
+ <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
144
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
145
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
146
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
147
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
148
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
149
+ <rasd:Description>Hard disk</rasd:Description>
150
+ <rasd:ElementName>Hard disk 1</rasd:ElementName>
151
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
152
+ <rasd:HostResource ns13:storageProfileHref="https://10.12.0.18/api/vdcStorageProfile/c87b2a7c-fcab-4f8a-bef3-3ece59366c38" ns13:busType="6" ns13:busSubType="lsilogicsas" ns13:capacity="1024" ns13:iops="0" ns13:storageProfileOverrideVmDefault="false"/>
153
+ <rasd:InstanceID>2000</rasd:InstanceID>
154
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
155
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
156
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
157
+ <rasd:Parent>3</rasd:Parent>
158
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
159
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
160
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
161
+ <rasd:ResourceType>17</rasd:ResourceType>
162
+ <rasd:VirtualQuantity>1073741824</rasd:VirtualQuantity>
163
+ <rasd:VirtualQuantityUnits>byte</rasd:VirtualQuantityUnits>
164
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
165
+ </ovf:Item>
166
+ <ovf:Item>
167
+ <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
168
+ <rasd:AddressOnParent>1</rasd:AddressOnParent>
169
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
170
+ <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
171
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
172
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
173
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
174
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
175
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
176
+ <rasd:Description>Hard disk</rasd:Description>
177
+ <rasd:ElementName>Hard disk 2</rasd:ElementName>
178
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
179
+ <rasd:HostResource ns13:storageProfileHref="https://10.12.0.18/api/vdcStorageProfile/c87b2a7c-fcab-4f8a-bef3-3ece59366c38" ns13:busType="6" ns13:busSubType="lsilogicsas" ns13:capacity="2048" ns13:iops="0" ns13:storageProfileOverrideVmDefault="false"/>
180
+ <rasd:InstanceID>2001</rasd:InstanceID>
181
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
182
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
183
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
184
+ <rasd:Parent>3</rasd:Parent>
185
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
186
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
187
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
188
+ <rasd:ResourceType>17</rasd:ResourceType>
189
+ <rasd:VirtualQuantity>2147483648</rasd:VirtualQuantity>
190
+ <rasd:VirtualQuantityUnits>byte</rasd:VirtualQuantityUnits>
191
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
192
+ </ovf:Item>
193
+ <ovf:Item>
194
+ <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
195
+ <rasd:AddressOnParent>2</rasd:AddressOnParent>
196
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
197
+ <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
198
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
199
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
200
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
201
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
202
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
203
+ <rasd:Description>Hard disk</rasd:Description>
204
+ <rasd:ElementName>Hard disk 3</rasd:ElementName>
205
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
206
+ <rasd:HostResource ns13:storageProfileHref="https://10.12.0.18/api/vdcStorageProfile/c87b2a7c-fcab-4f8a-bef3-3ece59366c38" ns13:busType="6" ns13:busSubType="lsilogicsas" ns13:capacity="3072" ns13:iops="0" ns13:storageProfileOverrideVmDefault="false"/>
207
+ <rasd:InstanceID>2002</rasd:InstanceID>
208
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
209
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
210
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
211
+ <rasd:Parent>3</rasd:Parent>
212
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
213
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
214
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
215
+ <rasd:ResourceType>17</rasd:ResourceType>
216
+ <rasd:VirtualQuantity>3221225472</rasd:VirtualQuantity>
217
+ <rasd:VirtualQuantityUnits>byte</rasd:VirtualQuantityUnits>
218
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
219
+ </ovf:Item>
220
+ <ovf:Item>
221
+ <rasd:Address>0</rasd:Address>
222
+ <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
223
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
224
+ <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
225
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
226
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
227
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
228
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
229
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
230
+ <rasd:Description>IDE Controller</rasd:Description>
231
+ <rasd:ElementName>IDE Controller 0</rasd:ElementName>
232
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
233
+ <rasd:InstanceID>4</rasd:InstanceID>
234
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
235
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
236
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
237
+ <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
238
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
239
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
240
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
241
+ <rasd:ResourceType>5</rasd:ResourceType>
242
+ <rasd:VirtualQuantity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
243
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
244
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
245
+ </ovf:Item>
246
+ <ovf:Item>
247
+ <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
248
+ <rasd:AddressOnParent>0</rasd:AddressOnParent>
249
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
250
+ <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
251
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
252
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
253
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
254
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
255
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
256
+ <rasd:Description>CD/DVD Drive</rasd:Description>
257
+ <rasd:ElementName>CD/DVD Drive 1</rasd:ElementName>
258
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
259
+ <rasd:HostResource/>
260
+ <rasd:InstanceID>3000</rasd:InstanceID>
261
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
262
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
263
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
264
+ <rasd:Parent>4</rasd:Parent>
265
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
266
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
267
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
268
+ <rasd:ResourceType>15</rasd:ResourceType>
269
+ <rasd:VirtualQuantity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
270
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
271
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
272
+ </ovf:Item>
273
+ <ovf:Item>
274
+ <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
275
+ <rasd:AddressOnParent>0</rasd:AddressOnParent>
276
+ <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
277
+ <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
278
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
279
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
280
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
281
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
282
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
283
+ <rasd:Description>Floppy Drive</rasd:Description>
284
+ <rasd:ElementName>Floppy Drive 1</rasd:ElementName>
285
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
286
+ <rasd:HostResource/>
287
+ <rasd:InstanceID>8000</rasd:InstanceID>
288
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
289
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
290
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
291
+ <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
292
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
293
+ <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
294
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
295
+ <rasd:ResourceType>14</rasd:ResourceType>
296
+ <rasd:VirtualQuantity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
297
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
298
+ <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
299
+ </ovf:Item>
300
+ <ovf:Item ns13:type="application/vnd.vmware.vcloud.rasdItem+xml" ns13:href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/cpu">
301
+ <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
302
+ <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
303
+ <rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
304
+ <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
305
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
306
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
307
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
308
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
309
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
310
+ <rasd:Description>Number of Virtual CPUs</rasd:Description>
311
+ <rasd:ElementName>2 virtual CPU(s)</rasd:ElementName>
312
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
313
+ <rasd:InstanceID>5</rasd:InstanceID>
314
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
315
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
316
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
317
+ <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
318
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
319
+ <rasd:Reservation>0</rasd:Reservation>
320
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
321
+ <rasd:ResourceType>3</rasd:ResourceType>
322
+ <rasd:VirtualQuantity>2</rasd:VirtualQuantity>
323
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
324
+ <rasd:Weight>0</rasd:Weight>
325
+ <vmw:CoresPerSocket ovf:required="false">1</vmw:CoresPerSocket>
326
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/cpu" type="application/vnd.vmware.vcloud.rasdItem+xml"/>
327
+ </ovf:Item>
328
+ <ovf:Item ns13:type="application/vnd.vmware.vcloud.rasdItem+xml" ns13:href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/memory">
329
+ <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
330
+ <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
331
+ <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
332
+ <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
333
+ <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
334
+ <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
335
+ <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
336
+ <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
337
+ <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
338
+ <rasd:Description>Memory Size</rasd:Description>
339
+ <rasd:ElementName>2048 MB of memory</rasd:ElementName>
340
+ <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
341
+ <rasd:InstanceID>6</rasd:InstanceID>
342
+ <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
343
+ <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
344
+ <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
345
+ <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
346
+ <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
347
+ <rasd:Reservation>0</rasd:Reservation>
348
+ <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
349
+ <rasd:ResourceType>4</rasd:ResourceType>
350
+ <rasd:VirtualQuantity>2048</rasd:VirtualQuantity>
351
+ <rasd:VirtualQuantityUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
352
+ <rasd:Weight>0</rasd:Weight>
353
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/memory" type="application/vnd.vmware.vcloud.rasdItem+xml"/>
354
+ </ovf:Item>
355
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/" type="application/vnd.vmware.vcloud.virtualHardwareSection+xml"/>
356
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/cpu" type="application/vnd.vmware.vcloud.rasdItem+xml"/>
357
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/cpu" type="application/vnd.vmware.vcloud.rasdItem+xml"/>
358
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/memory" type="application/vnd.vmware.vcloud.rasdItem+xml"/>
359
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/memory" type="application/vnd.vmware.vcloud.rasdItem+xml"/>
360
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/disks" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
361
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/disks" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
362
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/media" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
363
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/networkCards" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
364
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/networkCards" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
365
+ <Link rel="down" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/serialPorts" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
366
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/virtualHardwareSection/serialPorts" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
367
+ </ovf:VirtualHardwareSection>
368
+ <ovf:OperatingSystemSection xmlns:ns13="http://www.vmware.com/vcloud/v1.5" ovf:id="102" ns13:type="application/vnd.vmware.vcloud.operatingSystemSection+xml" vmw:osType="windows9Server64Guest" ns13:href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/operatingSystemSection/">
369
+ <ovf:Info>Specifies the operating system installed</ovf:Info>
370
+ <ovf:Description>Microsoft Windows Server 2016 (64-bit)</ovf:Description>
371
+ <Link rel="edit" href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/operatingSystemSection/" type="application/vnd.vmware.vcloud.operatingSystemSection+xml"/>
372
+ </ovf:OperatingSystemSection>
373
+ <NetworkConnectionSection href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/networkConnectionSection/" type="application/vnd.vmware.vcloud.networkConnectionSection+xml" ovf:required="false">
374
+ <ovf:Info>Specifies the available VM network connections</ovf:Info>
375
+ <PrimaryNetworkConnectionIndex>0</PrimaryNetworkConnectionIndex>
376
+ <NetworkConnection needsCustomization="false" network="Localhost">
377
+ <NetworkConnectionIndex>0</NetworkConnectionIndex>
378
+ <IsConnected>true</IsConnected>
379
+ <MACAddress>00:50:56:01:01:2c</MACAddress>
380
+ <IpAddressAllocationMode>DHCP</IpAddressAllocationMode>
381
+ <NetworkAdapterType>PCNet32</NetworkAdapterType>
382
+ </NetworkConnection>
383
+ <NetworkConnection needsCustomization="false" network="RedHat Private network 43">
384
+ <NetworkConnectionIndex>1</NetworkConnectionIndex>
385
+ <IpAddress>192.168.43.2</IpAddress>
386
+ <IsConnected>true</IsConnected>
387
+ <MACAddress>00:50:56:01:01:2d</MACAddress>
388
+ <IpAddressAllocationMode>POOL</IpAddressAllocationMode>
389
+ <NetworkAdapterType>E1000E</NetworkAdapterType>
390
+ </NetworkConnection>
391
+ </NetworkConnectionSection>
392
+ <GuestCustomizationSection href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/guestCustomizationSection/" type="application/vnd.vmware.vcloud.guestCustomizationSection+xml" ovf:required="false">
393
+ <ovf:Info>Specifies Guest OS Customization Settings</ovf:Info>
394
+ <Enabled>false</Enabled>
395
+ <ChangeSid>true</ChangeSid>
396
+ <VirtualMachineId>8dc9990c-a55a-418e-8e21-5942a20b93ef</VirtualMachineId>
397
+ <JoinDomainEnabled>false</JoinDomainEnabled>
398
+ <UseOrgSettings>false</UseOrgSettings>
399
+ <AdminPasswordEnabled>true</AdminPasswordEnabled>
400
+ <AdminPasswordAuto>true</AdminPasswordAuto>
401
+ <AdminAutoLogonEnabled>false</AdminAutoLogonEnabled>
402
+ <AdminAutoLogonCount>0</AdminAutoLogonCount>
403
+ <ResetPasswordRequired>false</ResetPasswordRequired>
404
+ <ComputerName>DatabseVM</ComputerName>
405
+ </GuestCustomizationSection>
406
+ <RuntimeInfoSection xmlns:ns13="http://www.vmware.com/vcloud/v1.5" ns13:type="application/vnd.vmware.vcloud.virtualHardwareSection+xml" ns13:href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/runtimeInfoSection">
407
+ <ovf:Info>Specifies Runtime info</ovf:Info>
408
+ </RuntimeInfoSection>
409
+ <SnapshotSection href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/snapshotSection" type="application/vnd.vmware.vcloud.snapshotSection+xml" ovf:required="false">
410
+ <ovf:Info>Snapshot information section</ovf:Info>
411
+ </SnapshotSection>
412
+ <DateCreated>2018-04-16T09:13:25.402+02:00</DateCreated>
413
+ <VAppScopedLocalId>af445e42-234d-41b2-9654-b36ac45ad71c</VAppScopedLocalId>
414
+ <VmCapabilities href="https://10.12.0.18/api/vApp/vm-8dc9990c-a55a-418e-8e21-5942a20b93ef/vmCapabilities/" type="application/vnd.vmware.vcloud.vmCapabilitiesSection+xml">
415
+ <MemoryHotAddEnabled>false</MemoryHotAddEnabled>
416
+ <CpuHotAddEnabled>false</CpuHotAddEnabled>
417
+ </VmCapabilities>
418
+ <StorageProfile href="https://10.12.0.18/api/vdcStorageProfile/c87b2a7c-fcab-4f8a-bef3-3ece59366c38" name="*" type="application/vnd.vmware.vcloud.vdcStorageProfile+xml"/>
419
+ </Vm>