fog-hyperv 0.0.9 → 0.1.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 (183) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -2
  3. data/lib/fog/bin/hyperv.rb +6 -4
  4. data/lib/fog/hyperv/collection.rb +89 -0
  5. data/lib/fog/hyperv/compute/models/bios.rb +70 -0
  6. data/lib/fog/hyperv/compute/models/cluster.rb +60 -0
  7. data/lib/fog/hyperv/compute/models/clusters.rb +21 -0
  8. data/lib/fog/hyperv/compute/models/com_port.rb +78 -0
  9. data/lib/fog/hyperv/compute/models/com_ports.rb +29 -0
  10. data/lib/fog/hyperv/compute/models/dvd_drive.rb +126 -0
  11. data/lib/fog/hyperv/compute/models/dvd_drives.rb +29 -0
  12. data/lib/fog/hyperv/compute/models/firmware.rb +78 -0
  13. data/lib/fog/hyperv/compute/models/floppy_drive.rb +64 -0
  14. data/lib/fog/hyperv/compute/models/floppy_drives.rb +18 -0
  15. data/lib/fog/hyperv/compute/models/hard_drive.rb +187 -0
  16. data/lib/fog/hyperv/compute/models/hard_drives.rb +28 -0
  17. data/lib/fog/hyperv/compute/models/host.rb +66 -0
  18. data/lib/fog/hyperv/compute/models/hosts.rb +13 -0
  19. data/lib/fog/hyperv/compute/models/network_adapter.rb +362 -0
  20. data/lib/fog/hyperv/compute/models/network_adapter_vlan.rb +172 -0
  21. data/lib/fog/hyperv/compute/models/network_adapters.rb +32 -0
  22. data/lib/fog/hyperv/compute/models/security.rb +121 -0
  23. data/lib/fog/hyperv/compute/models/server.rb +466 -0
  24. data/lib/fog/hyperv/compute/models/servers.rb +18 -0
  25. data/lib/fog/hyperv/compute/models/switch.rb +117 -0
  26. data/lib/fog/hyperv/compute/models/switches.rb +20 -0
  27. data/lib/fog/hyperv/compute/models/vhd.rb +210 -0
  28. data/lib/fog/hyperv/compute/models/vhds.rb +28 -0
  29. data/lib/fog/hyperv/compute/requests/add_vm_dvd_drive.rb +15 -0
  30. data/lib/fog/hyperv/compute/requests/add_vm_hard_disk_drive.rb +15 -0
  31. data/lib/fog/hyperv/compute/requests/add_vm_network_adapter.rb +24 -0
  32. data/lib/fog/hyperv/compute/requests/connect_vm_network_adapter.rb +41 -0
  33. data/lib/fog/hyperv/compute/requests/disable_vm_tpm.rb +16 -0
  34. data/lib/fog/hyperv/compute/requests/disconnect_vm_network_adapter.rb +29 -0
  35. data/lib/fog/hyperv/compute/requests/enable_vm_tpm.rb +16 -0
  36. data/lib/fog/hyperv/compute/requests/get_cluster.rb +11 -0
  37. data/lib/fog/hyperv/compute/requests/get_cluster_node.rb +22 -0
  38. data/lib/fog/hyperv/compute/requests/get_vhd.rb +32 -0
  39. data/lib/fog/hyperv/compute/requests/get_vm.rb +18 -0
  40. data/lib/fog/hyperv/compute/requests/get_vm_bios.rb +21 -0
  41. data/lib/fog/hyperv/compute/requests/get_vm_com_port.rb +17 -0
  42. data/lib/fog/hyperv/compute/requests/get_vm_dvd_drive.rb +25 -0
  43. data/lib/fog/hyperv/compute/requests/get_vm_firmware.rb +21 -0
  44. data/lib/fog/hyperv/compute/requests/get_vm_floppy_disk_drive.rb +16 -0
  45. data/lib/fog/hyperv/compute/requests/get_vm_group.rb +20 -0
  46. data/lib/fog/hyperv/compute/requests/get_vm_hard_disk_drive.rb +24 -0
  47. data/lib/fog/hyperv/compute/requests/get_vm_host.rb +9 -0
  48. data/lib/fog/hyperv/compute/requests/get_vm_host_cluster.rb +21 -0
  49. data/lib/fog/hyperv/compute/requests/get_vm_host_sbt.rb +10 -0
  50. data/lib/fog/hyperv/compute/requests/get_vm_key_protector.rb +16 -0
  51. data/lib/fog/hyperv/compute/requests/get_vm_network_adapter.rb +41 -0
  52. data/lib/fog/hyperv/compute/requests/get_vm_network_adapter_vlan.rb +41 -0
  53. data/lib/fog/hyperv/compute/requests/get_vm_security.rb +15 -0
  54. data/lib/fog/hyperv/compute/requests/get_vm_switch.rb +10 -0
  55. data/lib/fog/hyperv/compute/requests/mock_files/get_vm.json +4 -0
  56. data/lib/fog/hyperv/compute/requests/new_vhd.rb +9 -0
  57. data/lib/fog/hyperv/compute/requests/new_vm.rb +12 -0
  58. data/lib/fog/hyperv/compute/requests/new_vm_switch.rb +11 -0
  59. data/lib/fog/hyperv/compute/requests/optimize_vhd.rb +9 -0
  60. data/lib/fog/hyperv/compute/requests/remove_item.rb +10 -0
  61. data/lib/fog/hyperv/compute/requests/remove_vm.rb +16 -0
  62. data/lib/fog/hyperv/compute/requests/remove_vm_dvd_drive.rb +17 -0
  63. data/lib/fog/hyperv/compute/requests/remove_vm_hard_disk_drive.rb +17 -0
  64. data/lib/fog/hyperv/compute/requests/remove_vm_network_adapter.rb +29 -0
  65. data/lib/fog/hyperv/compute/requests/remove_vm_switch.rb +9 -0
  66. data/lib/fog/hyperv/compute/requests/rename_vm.rb +16 -0
  67. data/lib/fog/hyperv/compute/requests/rename_vm_network_adapter.rb +25 -0
  68. data/lib/fog/hyperv/compute/requests/rename_vm_switch.rb +9 -0
  69. data/lib/fog/hyperv/compute/requests/resize_vhd.rb +9 -0
  70. data/lib/fog/hyperv/compute/requests/restart_vm.rb +22 -0
  71. data/lib/fog/hyperv/compute/requests/resume_vm.rb +22 -0
  72. data/lib/fog/hyperv/compute/requests/save_vm.rb +22 -0
  73. data/lib/fog/hyperv/compute/requests/set_vm.rb +15 -0
  74. data/lib/fog/hyperv/compute/requests/set_vm_bios.rb +15 -0
  75. data/lib/fog/hyperv/compute/requests/set_vm_com_port.rb +16 -0
  76. data/lib/fog/hyperv/compute/requests/set_vm_dvd_drive.rb +16 -0
  77. data/lib/fog/hyperv/compute/requests/set_vm_firmware.rb +15 -0
  78. data/lib/fog/hyperv/compute/requests/set_vm_floppy_disk_drive.rb +16 -0
  79. data/lib/fog/hyperv/compute/requests/set_vm_hard_disk_drive.rb +16 -0
  80. data/lib/fog/hyperv/compute/requests/set_vm_key_protector.rb +15 -0
  81. data/lib/fog/hyperv/compute/requests/set_vm_network_adapter.rb +25 -0
  82. data/lib/fog/hyperv/compute/requests/set_vm_network_adapter_vlan.rb +25 -0
  83. data/lib/fog/hyperv/compute/requests/set_vm_security.rb +17 -0
  84. data/lib/fog/hyperv/compute/requests/set_vm_switch.rb +9 -0
  85. data/lib/fog/hyperv/compute/requests/start_vm.rb +22 -0
  86. data/lib/fog/hyperv/compute/requests/stop_vm.rb +22 -0
  87. data/lib/fog/hyperv/compute/requests/suspend_vm.rb +22 -0
  88. data/lib/fog/hyperv/compute/requests/update_vm.rb +22 -0
  89. data/lib/fog/hyperv/compute.rb +206 -387
  90. data/lib/fog/hyperv/constants.rb +24 -0
  91. data/lib/fog/hyperv/fog_extensions/associations/collection.rb +11 -0
  92. data/lib/fog/hyperv/fog_extensions/attributes/datetime.rb +28 -0
  93. data/lib/fog/hyperv/fog_extensions/attributes/enum.rb +139 -0
  94. data/lib/fog/hyperv/fog_extensions/attributes/enumarray.rb +149 -0
  95. data/lib/fog/hyperv/fog_extensions/attributes/timespan.rb +27 -0
  96. data/lib/fog/hyperv/model.rb +142 -0
  97. data/lib/fog/hyperv/utils/powershell.rb +88 -0
  98. data/lib/fog/hyperv/utils/winrm.rb +233 -0
  99. data/lib/fog/hyperv/version.rb +4 -1
  100. data/lib/fog/hyperv.rb +51 -44
  101. metadata +187 -105
  102. data/.gitignore +0 -10
  103. data/.travis.yml +0 -11
  104. data/CHANGELOG.md +0 -52
  105. data/Gemfile +0 -4
  106. data/Rakefile +0 -10
  107. data/fog-hyperv.gemspec +0 -25
  108. data/lib/fog/collection.rb +0 -152
  109. data/lib/fog/hyperv/fog_extensions/enum.rb +0 -85
  110. data/lib/fog/hyperv/models/compute/bios.rb +0 -61
  111. data/lib/fog/hyperv/models/compute/cluster.rb +0 -64
  112. data/lib/fog/hyperv/models/compute/clusters.rb +0 -15
  113. data/lib/fog/hyperv/models/compute/com_port.rb +0 -22
  114. data/lib/fog/hyperv/models/compute/dvd_drive.rb +0 -92
  115. data/lib/fog/hyperv/models/compute/dvd_drives.rb +0 -12
  116. data/lib/fog/hyperv/models/compute/firmware.rb +0 -53
  117. data/lib/fog/hyperv/models/compute/floppy_drive.rb +0 -53
  118. data/lib/fog/hyperv/models/compute/floppy_drives.rb +0 -12
  119. data/lib/fog/hyperv/models/compute/hard_drive.rb +0 -110
  120. data/lib/fog/hyperv/models/compute/hard_drives.rb +0 -11
  121. data/lib/fog/hyperv/models/compute/host.rb +0 -45
  122. data/lib/fog/hyperv/models/compute/hosts.rb +0 -15
  123. data/lib/fog/hyperv/models/compute/network_adapter.rb +0 -145
  124. data/lib/fog/hyperv/models/compute/network_adapters.rb +0 -19
  125. data/lib/fog/hyperv/models/compute/server.rb +0 -220
  126. data/lib/fog/hyperv/models/compute/servers.rb +0 -21
  127. data/lib/fog/hyperv/models/compute/switch.rb +0 -65
  128. data/lib/fog/hyperv/models/compute/switches.rb +0 -15
  129. data/lib/fog/hyperv/models/compute/vhd.rb +0 -101
  130. data/lib/fog/hyperv/models/compute/vhds.rb +0 -16
  131. data/lib/fog/hyperv/requests/compute/add_vm_dvd_drive.rb +0 -12
  132. data/lib/fog/hyperv/requests/compute/add_vm_hard_disk_drive.rb +0 -12
  133. data/lib/fog/hyperv/requests/compute/add_vm_network_adapter.rb +0 -12
  134. data/lib/fog/hyperv/requests/compute/connect_vm_network_adapter.rb +0 -12
  135. data/lib/fog/hyperv/requests/compute/disconnect_vm_network_adapter.rb +0 -12
  136. data/lib/fog/hyperv/requests/compute/get_cluster.rb +0 -11
  137. data/lib/fog/hyperv/requests/compute/get_cluster_node.rb +0 -19
  138. data/lib/fog/hyperv/requests/compute/get_vhd.rb +0 -34
  139. data/lib/fog/hyperv/requests/compute/get_vm.rb +0 -20
  140. data/lib/fog/hyperv/requests/compute/get_vm_bios.rb +0 -21
  141. data/lib/fog/hyperv/requests/compute/get_vm_dvd_drive.rb +0 -20
  142. data/lib/fog/hyperv/requests/compute/get_vm_firmware.rb +0 -19
  143. data/lib/fog/hyperv/requests/compute/get_vm_floppy_disk_drive.rb +0 -20
  144. data/lib/fog/hyperv/requests/compute/get_vm_group.rb +0 -23
  145. data/lib/fog/hyperv/requests/compute/get_vm_hard_disk_drive.rb +0 -20
  146. data/lib/fog/hyperv/requests/compute/get_vm_host.rb +0 -12
  147. data/lib/fog/hyperv/requests/compute/get_vm_host_cluster.rb +0 -25
  148. data/lib/fog/hyperv/requests/compute/get_vm_network_adapter.rb +0 -27
  149. data/lib/fog/hyperv/requests/compute/get_vm_switch.rb +0 -27
  150. data/lib/fog/hyperv/requests/compute/mock_files/get_vm.json +0 -1
  151. data/lib/fog/hyperv/requests/compute/new_vhd.rb +0 -12
  152. data/lib/fog/hyperv/requests/compute/new_vm.rb +0 -15
  153. data/lib/fog/hyperv/requests/compute/new_vm_switch.rb +0 -13
  154. data/lib/fog/hyperv/requests/compute/remove_item.rb +0 -13
  155. data/lib/fog/hyperv/requests/compute/remove_vm.rb +0 -15
  156. data/lib/fog/hyperv/requests/compute/remove_vm_dvd_drive.rb +0 -12
  157. data/lib/fog/hyperv/requests/compute/remove_vm_hard_disk_drive.rb +0 -12
  158. data/lib/fog/hyperv/requests/compute/remove_vm_network_adapter.rb +0 -12
  159. data/lib/fog/hyperv/requests/compute/restart_vm.rb +0 -15
  160. data/lib/fog/hyperv/requests/compute/set_vm.rb +0 -12
  161. data/lib/fog/hyperv/requests/compute/set_vm_bios.rb +0 -13
  162. data/lib/fog/hyperv/requests/compute/set_vm_dvd_drive.rb +0 -12
  163. data/lib/fog/hyperv/requests/compute/set_vm_firmware.rb +0 -13
  164. data/lib/fog/hyperv/requests/compute/set_vm_hard_disk_drive.rb +0 -12
  165. data/lib/fog/hyperv/requests/compute/set_vm_network_adapter.rb +0 -12
  166. data/lib/fog/hyperv/requests/compute/set_vm_network_adapter_vlan.rb +0 -12
  167. data/lib/fog/hyperv/requests/compute/set_vm_switch.rb +0 -13
  168. data/lib/fog/hyperv/requests/compute/start_vm.rb +0 -15
  169. data/lib/fog/hyperv/requests/compute/stop_vm.rb +0 -15
  170. data/lib/fog/model.rb +0 -91
  171. data/test/fog/hyperv_test.rb +0 -7
  172. data/test/test_helper.rb +0 -4
  173. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_cluster.json +0 -0
  174. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_cluster_node.json +0 -0
  175. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vhd.json +0 -0
  176. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_bios.json +0 -0
  177. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_dvd_drive.json +0 -0
  178. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_firmware.json +0 -0
  179. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_floppy_disk_drive.json +0 -0
  180. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_hard_disk_drive.json +0 -0
  181. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_host.json +0 -0
  182. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_network_adapter.json +0 -0
  183. /data/lib/fog/hyperv/{requests/compute → compute/requests}/mock_files/get_vm_switch.json +0 -0
@@ -1,19 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_cluster_node(options = {})
6
- run_shell('Get-ClusterNode', options)
7
- end
8
- end
9
-
10
- class Mock
11
- def get_cluster_node(args = {})
12
- data = handle_mock_response args
13
- data = data.find { |n| n[:name] == args[:name] } if args[:name]
14
- data
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,34 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vhd(options = {})
6
- requires_one options, :vm_id, :path, :disk_number
7
- run_shell('Get-VHD', options)
8
- end
9
- end
10
-
11
- class Mock
12
- def get_vhd(args = {})
13
- requires_one args, :vm_id, :path, :disk_number
14
- data = handle_mock_response args
15
-
16
- if args[:vm_id]
17
- data = case args[:vm_id].downcase
18
- when '20ff7fe3-fd54-425c-aa97-fbf3c2e7a868'
19
- data[1..-1]
20
- when '416e49fd-28dd-413c-9743-aa3e69e4807d'
21
- data[0]
22
- end
23
- elsif args[:path]
24
- data = data.find { |d| d[:path].casecmp(args[:path]).zero? }
25
- elsif args[:disk_number]
26
- Fog::Mock.not_implemented
27
- end
28
-
29
- data
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm(options = {})
6
- run_shell('Get-VM', options)
7
- end
8
- end
9
-
10
- class Mock
11
- def get_vm(args = {})
12
- data = handle_mock_response args
13
- data = data.find { |v| v[:name].casecmp(args[:name]).zero? } if args[:name]
14
- data = data.find { |v| v[:id].casecmp(args[:id]).zero? } if args[:id]
15
- data
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,21 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_bios(options = {})
6
- requires options, :vm_name
7
- run_shell('Get-VMBios', options)
8
- end
9
- end
10
-
11
- class Mock
12
- def get_vm_bios(args = {})
13
- requires args, :vm_name
14
-
15
- handle_mock_response(args).find { |b| b[:vm_name].casecmp(args[:vm_name]).zero? }
16
- end
17
- end
18
- end
19
- end
20
- end
21
-
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_dvd_drive(options = {})
6
- requires options, :vm_name
7
- run_shell('Get-VMDvdDrive', options)
8
- end
9
- end
10
-
11
- class Mock
12
- def get_vm_dvd_drive(options = {})
13
- requires options, :vm_name
14
-
15
- handle_mock_response(args).find { |b| b[:vm_name].casecmp(args[:vm_name]).zero? }
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,19 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_firmware(options = {})
6
- requires options, :vm_name
7
- run_shell('Get-VMFirmware', options)
8
- end
9
- end
10
-
11
- class Mock
12
- def get_vm_firmware(args = {})
13
- handle_mock_response(args).find { |b| b[:vm_name].casecmp(args[:vm_name]).zero? }
14
- end
15
- end
16
- end
17
- end
18
- end
19
-
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_floppy_disk_drive(options = {})
6
- requires options, :vm_name
7
- run_shell('Get-VMFloppyDiskDrive', options)
8
- end
9
- end
10
-
11
- class Mock
12
- def get_vm_floppy_disk_drive(options = {})
13
- requires options, :vm_name
14
-
15
- handle_mock_response(args).find { |b| b[:vm_name].casecmp(args[:vm_name]).zero? }
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,23 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_group(options = {})
6
- requires_version '10.0'
7
-
8
- run_shell('Get-VMGroup', options)
9
- end
10
- end
11
-
12
- class Mock
13
- def get_vm_group(options = {})
14
- requires_version '10.0'
15
-
16
- # TODO
17
- Fog::Mock.not_implemented
18
- end
19
- end
20
- end
21
- end
22
- end
23
-
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_hard_disk_drive(options = {})
6
- requires options, :vm_name
7
- run_shell('Get-VMHardDiskDrive', options)
8
- end
9
- end
10
-
11
- class Mock
12
- def get_vm_hard_disk_drive(args = {})
13
- requires args, :vm_name
14
-
15
- handle_mock_response(args).find { |b| b[:vm_name].casecmp(args[:vm_name]).zero? }
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_host(options = {})
6
- # TODO: Reject unavailable arguments?
7
- run_shell('Get-VMHost', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,25 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_host_cluster(options = {})
6
- requires_version '10.0'
7
- requires options, :cluster_name
8
-
9
- run_shell('Get-VMHostCluster', options)
10
- end
11
- end
12
-
13
- class Mock
14
- def get_vm_host_cluster(options = {})
15
- requires_version '10.0'
16
- requires options, :cluster_name
17
-
18
- # TODO
19
- Fog::Mock.not_implemented
20
- end
21
- end
22
- end
23
- end
24
- end
25
-
@@ -1,27 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_network_adapter(options = {})
6
- requires_one options, :vm_name, :all, :management_os
7
- run_shell('Get-VMNetworkAdapter', options)
8
- end
9
- end
10
-
11
- class Mock
12
- def get_vm_network_adapter(args = {})
13
- requires_one args, :vm_name, :all, :management_os
14
-
15
- data = handle_mock_response(args)
16
- if args[:all]
17
- data
18
- elsif args[:vm_name]
19
- data.find { |i| i[:vm_name].casecmp(args[:vm_name]).zero? }
20
- elsif args[:management_os]
21
- data.find { |i| i[:is_management_os] }
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,27 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def get_vm_switch(options = {})
6
- if options[:_quick_query]
7
- search = {}
8
- search[:element_name] = options[:name] if options[:name]
9
- search[:name] = options[:id].upcase if options[:id]
10
- data = run_wql('SELECT ElementName,Name FROM Msvm_VirtualEthernetSwitch', search)
11
- nil if data.empty?
12
- data[:xml_fragment].map do |sw|
13
- {
14
- id: sw[:name].downcase,
15
- computer_name: options[:computer_name],
16
- name: sw[:element_name],
17
- }
18
- end
19
- else
20
- run_shell('Get-VMSwitch', options)
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
-
@@ -1 +0,0 @@
1
- [{"Id":"416e49fd-28dd-413c-9743-aa3e69e4807d","Name":"mockvm1","State":3,"IntegrationServicesState":"","OperationalStatus":[2],"PrimaryOperationalStatus":2,"SecondaryOperationalStatus":null,"StatusDescriptions":["Operating normally"],"PrimaryStatusDescription":"Operating normally","SecondaryStatusDescription":null,"Status":"Operating normally","Heartbeat":null,"ReplicationState":0,"ReplicationHealth":0,"ReplicationMode":0,"CPUUsage":0,"MemoryAssigned":0,"MemoryDemand":0,"MemoryStatus":"","SmartPagingFileInUse":false,"Uptime":{"Ticks":0,"Days":0,"Hours":0,"Milliseconds":0,"Minutes":0,"Seconds":0,"TotalDays":0,"TotalHours":0,"TotalMilliseconds":0,"TotalMinutes":0,"TotalSeconds":0},"IntegrationServicesVersion":null,"ResourceMeteringEnabled":false,"ConfigurationLocation":"C:\\Hyper-V","SnapshotFileLocation":"C:\\Hyper-V","AutomaticStartAction":4,"AutomaticStopAction":3,"AutomaticStartDelay":0,"SmartPagingFilePath":"C:\\Hyper-V","NumaAligned":null,"NumaNodesCount":1,"NumaSocketCount":1,"Key":{"Id":"416e49fd-28dd-413c-9743-aa3e69e4807d"},"IsDeleted":false,"ComputerName":"MOCK-HOST","Version":"5.0","Notes":"","Generation":1,"Path":"C:\\Hyper-V","CreationTime":"\/Date(1488869314761)\/","IsClustered":false,"SizeOfSystemFiles":46832,"ParentSnapshotId":null,"ParentSnapshotName":null,"MemoryStartup":4294967296,"DynamicMemoryEnabled":true,"MemoryMinimum":536870912,"MemoryMaximum":1099511627776,"ProcessorCount":4,"RemoteFxAdapter":null,"NetworkAdapters":["Microsoft.HyperV.PowerShell.VMNetworkAdapter"],"FibreChannelHostBusAdapters":"","ComPort1":{"Path":"","ComputerName":"MOCK-HOST","Name":"COM1","Id":"Microsoft:416E49FD-28DD-413C-9743-AA3E69E4807D\\8E3A359F-559A-4B6A-98A9-1690A6100ED7\\0","IsDeleted":false,"VMId":"416e49fd-28dd-413c-9743-aa3e69e4807d","VMName":"mockvm1","VMSnapshotId":"00000000-0000-0000-0000-000000000000","VMSnapshotName":null,"Key":null},"ComPort2":{"Path":"","ComputerName":"MOCK-HOST","Name":"COM2","Id":"Microsoft:416E49FD-28DD-413C-9743-AA3E69E4807D\\8E3A359F-559A-4B6A-98A9-1690A6100ED7\\1","IsDeleted":false,"VMId":"416e49fd-28dd-413c-9743-aa3e69e4807d","VMName":"mockvm1","VMSnapshotId":"00000000-0000-0000-0000-000000000000","VMSnapshotName":null,"Key":null},"FloppyDrive":{"PoolName":null,"Path":null,"Disk":null,"ComputerName":"mock-host","Name":"DisketteDrive","Id":"Microsoft:416E49FD-28DD-413C-9743-AA3E69E4807D\\8F0D2762-0B00-4E04-AF4F-19010527CB93\\0\\0\\D","IsDeleted":false,"VMId":"416e49fd-28dd-413c-9743-aa3e69e4807d","VMName":"mockvm1","VMSnapshotId":"00000000-0000-0000-0000-000000000000","VMSnapshotName":null,"Key":null},"DVDDrives":["Microsoft.HyperV.PowerShell.DvdDrive"],"HardDrives":["Microsoft.HyperV.PowerShell.HardDiskDrive"],"VMIntegrationService":["Microsoft.HyperV.PowerShell.VMIntegrationComponent","Microsoft.HyperV.PowerShell.VMIntegrationComponent","Microsoft.HyperV.PowerShell.DataExchangeComponent","Microsoft.HyperV.PowerShell.ShutdownComponent","Microsoft.HyperV.PowerShell.VMIntegrationComponent","Microsoft.HyperV.PowerShell.GuestServiceInterfaceComponent"],"VMName":"mockvm1","VMId":"416e49fd-28dd-413c-9743-aa3e69e4807d"},{"Id":"20ff7fe3-fd54-425c-aa97-fbf3c2e7a868","Name":"mockvm2","State":2,"IntegrationServicesState":"","OperationalStatus":"Ok","PrimaryOperationalStatus":2,"SecondaryOperationalStatus":null,"StatusDescriptions":"Operating normally","PrimaryStatusDescription":"Operating normally","SecondaryStatusDescription":null,"Status":"Operating normally","Heartbeat":1,"ReplicationState":0,"ReplicationHealth":0,"ReplicationMode":0,"CPUUsage":0,"MemoryAssigned":4294967296,"MemoryDemand":0,"MemoryStatus":"","SmartPagingFileInUse":false,"Uptime":"6.02:21:14","IntegrationServicesVersion":null,"ResourceMeteringEnabled":false,"ConfigurationLocation":"C:\\Hyper-V","SnapshotFileLocation":"C:\\Hyper-V","AutomaticStartAction":4,"AutomaticStopAction":3,"AutomaticStartDelay":0,"SmartPagingFilePath":"C:\\Hyper-V","NumaAligned":false,"NumaNodesCount":1,"NumaSocketCount":1,"Key":"Microsoft.HyperV.PowerShell.VirtualMachineObjectKey","IsDeleted":false,"ComputerName":"mock-host","Version":"5.0","Notes":"","Generation":2,"Path":"C:\\Hyper-V","CreationTime":"\/Date(1488869316886)\/","IsClustered":false,"SizeOfSystemFiles":56228,"ParentSnapshotId":null,"ParentSnapshotName":null,"MemoryStartup":4294967296,"DynamicMemoryEnabled":true,"MemoryMinimum":536870912,"MemoryMaximum":1099511627776,"ProcessorCount":4,"RemoteFxAdapter":null,"NetworkAdapters":"Microsoft.HyperV.PowerShell.VMNetworkAdapter","FibreChannelHostBusAdapters":"","ComPort1":"Microsoft.HyperV.PowerShell.VMComPort","ComPort2":"Microsoft.HyperV.PowerShell.VMComPort","FloppyDrive":null,"DVDDrives":"","HardDrives":"Microsoft.HyperV.PowerShell.HardDiskDrive Microsoft.HyperV.PowerShell.HardDiskDrive","VMIntegrationService":"Microsoft.HyperV.PowerShell.VMIntegrationComponent Microsoft.HyperV.PowerShell.VMIntegrationComponent Microsoft.HyperV.PowerShell.DataExchangeComponent Microsoft.HyperV.PowerShell.ShutdownComponent Microsoft.HyperV.PowerShell.VMIntegrationComponent Microsoft.HyperV.PowerShell.GuestServiceInterfaceComponent","VMName":"mockvm2","VMId":"20ff7fe3-fd54-425c-aa97-fbf3c2e7a868"}]
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def new_vhd(options = {})
6
- requires options, :path, :size_bytes
7
- run_shell('New-VHD', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,15 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def new_vm(options = {})
6
- options[:memory_startup_bytes] = options.delete :memory_startup if options.key? :memory_startup
7
-
8
- requires options, :new_vhd_path, :new_vhd_size_bytes \
9
- if options[:new_whd_path] || options[:new_vhd_size_bytes]
10
- run_shell('New-VM', options)
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,13 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def new_vm_switch(options = {})
6
- requires options, :name
7
- requires_one options, :net_adapter_name, :net_adapter_interface_description
8
- run_shell('New-VMSwitch', options)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def remove_item(options = {})
6
- # TODO: Really lock this method down, validation is good.
7
- requires options, :path
8
- run_shell('Remove-Item', options.merge(force: true, _skip_json: true)).exitcode.zero?
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,15 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def remove_vm(options = {})
6
- # TODO: Handle -VMId/-Id too;
7
- #
8
- # Get-VM -Id <guid> | Remove-VM
9
- requires options, :name
10
- run_shell('Remove-VM', options.merge(force: true, _skip_json: true)).exitcode.zero?
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def remove_vm_dvd_drive(options = {})
6
- requires options, :vm_name, :controller_number, :controller_location
7
- run_shell('Remove-VMDvdDrive', options.merge(_skip_json: true)).exitcode.zero?
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def remove_vm_hard_disk_drive(options = {})
6
- requires options, :vm_name, :controller_type, :controller_number, :controller_location
7
- run_shell('Remove-VMHardDiskDrive', options.merge(_skip_json: true)).exitcode.zero?
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def remove_vm_network_adapter(options = {})
6
- requires_one options, :vm_name, :management_os
7
- run_shell('Remove-VMNetworkAdapter', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,15 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def restart_vm(options = {})
6
- # TODO: Handle -VMId/-Id too;
7
- #
8
- # Get-VM -Id <guid> | Start-VM
9
- requires options, :name
10
- run_shell('Restart-VM', options.merge(_skip_json: true)).exitcode.zero?
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm(options = {})
6
- requires options, :name
7
- run_shell('Set-VM', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,13 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm_bios(options = {})
6
- requires options, :vm_name
7
- run_shell('Set-VMBios', options)
8
- end
9
- end
10
- end
11
- end
12
- end
13
-
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm_dvd_drive(options = {})
6
- requires options, :vm_name
7
- run_shell('Set-VMDvdDrive', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,13 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm_firmware(options = {})
6
- requires options, :vm_name
7
- run_shell('Set-VMFirmware', options)
8
- end
9
- end
10
- end
11
- end
12
- end
13
-
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm_hard_disk_drive(options = {})
6
- requires options, :vm_name
7
- run_shell('Set-VMHardDiskDrive', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm_network_adapter(options = {})
6
- requires_one options, :vm_name, :management_os
7
- run_shell('Set-VMNetworkAdapter', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm_network_adapter_vlan(options = {})
6
- requires_one options, :vm_name, :management_os
7
- run_shell('Set-VMNetworkAdapterVlan', options)
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,13 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def set_vm_switch(options = {})
6
- requires options, :name
7
- run_shell('Set-VMSwitch', options)
8
- end
9
- end
10
- end
11
- end
12
- end
13
-
@@ -1,15 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def start_vm(options = {})
6
- # TODO: Handle -VMId/-Id too;
7
- #
8
- # Get-VM -Id <guid> | Start-VM
9
- requires options, :name
10
- run_shell('Start-VM', options.merge(_skip_json: true)).exitcode.zero?
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Hyperv
4
- class Real
5
- def stop_vm(options = {})
6
- # TODO: Handle -VMId/-Id too;
7
- #
8
- # Get-VM -Id <guid> | Stop-VM
9
- requires options, :name
10
- run_shell('Stop-VM', options.merge(_skip_json: true)).exitcode.zero?
11
- end
12
- end
13
- end
14
- end
15
- end