fog-vcloud-director 0.1.10 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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>