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
metadata CHANGED
@@ -1,35 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-hyperv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Olofsson
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2018-05-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: fog-core
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '1.42'
20
- - - "<"
16
+ - - "~>"
21
17
  - !ruby/object:Gem::Version
22
- version: '3.0'
18
+ version: '2'
23
19
  type: :runtime
24
20
  prerelease: false
25
21
  version_requirements: !ruby/object:Gem::Requirement
26
22
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '1.42'
30
- - - "<"
23
+ - - "~>"
31
24
  - !ruby/object:Gem::Version
32
- version: '3.0'
25
+ version: '2'
33
26
  - !ruby/object:Gem::Dependency
34
27
  name: fog-json
35
28
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +65,34 @@ dependencies:
72
65
  - - ">="
73
66
  - !ruby/object:Gem::Version
74
67
  version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: minitest-mock
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: minitest-reporters
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.8.0
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 1.8.0
75
96
  - !ruby/object:Gem::Dependency
76
97
  name: rake
77
98
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +107,48 @@ dependencies:
86
107
  - - ">="
87
108
  - !ruby/object:Gem::Version
88
109
  version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rubocop
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: rubocop-minitest
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: rubocop-rake
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
89
152
  description: This library wraps Hyper-V in the `fog` concepts.
90
153
  email:
91
154
  - alexander.olofsson@liu.se
@@ -93,99 +156,122 @@ executables: []
93
156
  extensions: []
94
157
  extra_rdoc_files: []
95
158
  files:
96
- - ".gitignore"
97
- - ".travis.yml"
98
- - CHANGELOG.md
99
- - Gemfile
100
159
  - LICENSE
101
160
  - README.md
102
- - Rakefile
103
- - fog-hyperv.gemspec
104
161
  - lib/fog/bin/hyperv.rb
105
- - lib/fog/collection.rb
106
162
  - lib/fog/hyperv.rb
163
+ - lib/fog/hyperv/collection.rb
107
164
  - lib/fog/hyperv/compute.rb
108
- - lib/fog/hyperv/fog_extensions/enum.rb
109
- - lib/fog/hyperv/models/compute/bios.rb
110
- - lib/fog/hyperv/models/compute/cluster.rb
111
- - lib/fog/hyperv/models/compute/clusters.rb
112
- - lib/fog/hyperv/models/compute/com_port.rb
113
- - lib/fog/hyperv/models/compute/dvd_drive.rb
114
- - lib/fog/hyperv/models/compute/dvd_drives.rb
115
- - lib/fog/hyperv/models/compute/firmware.rb
116
- - lib/fog/hyperv/models/compute/floppy_drive.rb
117
- - lib/fog/hyperv/models/compute/floppy_drives.rb
118
- - lib/fog/hyperv/models/compute/hard_drive.rb
119
- - lib/fog/hyperv/models/compute/hard_drives.rb
120
- - lib/fog/hyperv/models/compute/host.rb
121
- - lib/fog/hyperv/models/compute/hosts.rb
122
- - lib/fog/hyperv/models/compute/network_adapter.rb
123
- - lib/fog/hyperv/models/compute/network_adapters.rb
124
- - lib/fog/hyperv/models/compute/server.rb
125
- - lib/fog/hyperv/models/compute/servers.rb
126
- - lib/fog/hyperv/models/compute/switch.rb
127
- - lib/fog/hyperv/models/compute/switches.rb
128
- - lib/fog/hyperv/models/compute/vhd.rb
129
- - lib/fog/hyperv/models/compute/vhds.rb
130
- - lib/fog/hyperv/requests/compute/add_vm_dvd_drive.rb
131
- - lib/fog/hyperv/requests/compute/add_vm_hard_disk_drive.rb
132
- - lib/fog/hyperv/requests/compute/add_vm_network_adapter.rb
133
- - lib/fog/hyperv/requests/compute/connect_vm_network_adapter.rb
134
- - lib/fog/hyperv/requests/compute/disconnect_vm_network_adapter.rb
135
- - lib/fog/hyperv/requests/compute/get_cluster.rb
136
- - lib/fog/hyperv/requests/compute/get_cluster_node.rb
137
- - lib/fog/hyperv/requests/compute/get_vhd.rb
138
- - lib/fog/hyperv/requests/compute/get_vm.rb
139
- - lib/fog/hyperv/requests/compute/get_vm_bios.rb
140
- - lib/fog/hyperv/requests/compute/get_vm_dvd_drive.rb
141
- - lib/fog/hyperv/requests/compute/get_vm_firmware.rb
142
- - lib/fog/hyperv/requests/compute/get_vm_floppy_disk_drive.rb
143
- - lib/fog/hyperv/requests/compute/get_vm_group.rb
144
- - lib/fog/hyperv/requests/compute/get_vm_hard_disk_drive.rb
145
- - lib/fog/hyperv/requests/compute/get_vm_host.rb
146
- - lib/fog/hyperv/requests/compute/get_vm_host_cluster.rb
147
- - lib/fog/hyperv/requests/compute/get_vm_network_adapter.rb
148
- - lib/fog/hyperv/requests/compute/get_vm_switch.rb
149
- - lib/fog/hyperv/requests/compute/mock_files/get_cluster.json
150
- - lib/fog/hyperv/requests/compute/mock_files/get_cluster_node.json
151
- - lib/fog/hyperv/requests/compute/mock_files/get_vhd.json
152
- - lib/fog/hyperv/requests/compute/mock_files/get_vm.json
153
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_bios.json
154
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_dvd_drive.json
155
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_firmware.json
156
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_floppy_disk_drive.json
157
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_hard_disk_drive.json
158
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_host.json
159
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_network_adapter.json
160
- - lib/fog/hyperv/requests/compute/mock_files/get_vm_switch.json
161
- - lib/fog/hyperv/requests/compute/new_vhd.rb
162
- - lib/fog/hyperv/requests/compute/new_vm.rb
163
- - lib/fog/hyperv/requests/compute/new_vm_switch.rb
164
- - lib/fog/hyperv/requests/compute/remove_item.rb
165
- - lib/fog/hyperv/requests/compute/remove_vm.rb
166
- - lib/fog/hyperv/requests/compute/remove_vm_dvd_drive.rb
167
- - lib/fog/hyperv/requests/compute/remove_vm_hard_disk_drive.rb
168
- - lib/fog/hyperv/requests/compute/remove_vm_network_adapter.rb
169
- - lib/fog/hyperv/requests/compute/restart_vm.rb
170
- - lib/fog/hyperv/requests/compute/set_vm.rb
171
- - lib/fog/hyperv/requests/compute/set_vm_bios.rb
172
- - lib/fog/hyperv/requests/compute/set_vm_dvd_drive.rb
173
- - lib/fog/hyperv/requests/compute/set_vm_firmware.rb
174
- - lib/fog/hyperv/requests/compute/set_vm_hard_disk_drive.rb
175
- - lib/fog/hyperv/requests/compute/set_vm_network_adapter.rb
176
- - lib/fog/hyperv/requests/compute/set_vm_network_adapter_vlan.rb
177
- - lib/fog/hyperv/requests/compute/set_vm_switch.rb
178
- - lib/fog/hyperv/requests/compute/start_vm.rb
179
- - lib/fog/hyperv/requests/compute/stop_vm.rb
165
+ - lib/fog/hyperv/compute/models/bios.rb
166
+ - lib/fog/hyperv/compute/models/cluster.rb
167
+ - lib/fog/hyperv/compute/models/clusters.rb
168
+ - lib/fog/hyperv/compute/models/com_port.rb
169
+ - lib/fog/hyperv/compute/models/com_ports.rb
170
+ - lib/fog/hyperv/compute/models/dvd_drive.rb
171
+ - lib/fog/hyperv/compute/models/dvd_drives.rb
172
+ - lib/fog/hyperv/compute/models/firmware.rb
173
+ - lib/fog/hyperv/compute/models/floppy_drive.rb
174
+ - lib/fog/hyperv/compute/models/floppy_drives.rb
175
+ - lib/fog/hyperv/compute/models/hard_drive.rb
176
+ - lib/fog/hyperv/compute/models/hard_drives.rb
177
+ - lib/fog/hyperv/compute/models/host.rb
178
+ - lib/fog/hyperv/compute/models/hosts.rb
179
+ - lib/fog/hyperv/compute/models/network_adapter.rb
180
+ - lib/fog/hyperv/compute/models/network_adapter_vlan.rb
181
+ - lib/fog/hyperv/compute/models/network_adapters.rb
182
+ - lib/fog/hyperv/compute/models/security.rb
183
+ - lib/fog/hyperv/compute/models/server.rb
184
+ - lib/fog/hyperv/compute/models/servers.rb
185
+ - lib/fog/hyperv/compute/models/switch.rb
186
+ - lib/fog/hyperv/compute/models/switches.rb
187
+ - lib/fog/hyperv/compute/models/vhd.rb
188
+ - lib/fog/hyperv/compute/models/vhds.rb
189
+ - lib/fog/hyperv/compute/requests/add_vm_dvd_drive.rb
190
+ - lib/fog/hyperv/compute/requests/add_vm_hard_disk_drive.rb
191
+ - lib/fog/hyperv/compute/requests/add_vm_network_adapter.rb
192
+ - lib/fog/hyperv/compute/requests/connect_vm_network_adapter.rb
193
+ - lib/fog/hyperv/compute/requests/disable_vm_tpm.rb
194
+ - lib/fog/hyperv/compute/requests/disconnect_vm_network_adapter.rb
195
+ - lib/fog/hyperv/compute/requests/enable_vm_tpm.rb
196
+ - lib/fog/hyperv/compute/requests/get_cluster.rb
197
+ - lib/fog/hyperv/compute/requests/get_cluster_node.rb
198
+ - lib/fog/hyperv/compute/requests/get_vhd.rb
199
+ - lib/fog/hyperv/compute/requests/get_vm.rb
200
+ - lib/fog/hyperv/compute/requests/get_vm_bios.rb
201
+ - lib/fog/hyperv/compute/requests/get_vm_com_port.rb
202
+ - lib/fog/hyperv/compute/requests/get_vm_dvd_drive.rb
203
+ - lib/fog/hyperv/compute/requests/get_vm_firmware.rb
204
+ - lib/fog/hyperv/compute/requests/get_vm_floppy_disk_drive.rb
205
+ - lib/fog/hyperv/compute/requests/get_vm_group.rb
206
+ - lib/fog/hyperv/compute/requests/get_vm_hard_disk_drive.rb
207
+ - lib/fog/hyperv/compute/requests/get_vm_host.rb
208
+ - lib/fog/hyperv/compute/requests/get_vm_host_cluster.rb
209
+ - lib/fog/hyperv/compute/requests/get_vm_host_sbt.rb
210
+ - lib/fog/hyperv/compute/requests/get_vm_key_protector.rb
211
+ - lib/fog/hyperv/compute/requests/get_vm_network_adapter.rb
212
+ - lib/fog/hyperv/compute/requests/get_vm_network_adapter_vlan.rb
213
+ - lib/fog/hyperv/compute/requests/get_vm_security.rb
214
+ - lib/fog/hyperv/compute/requests/get_vm_switch.rb
215
+ - lib/fog/hyperv/compute/requests/mock_files/get_cluster.json
216
+ - lib/fog/hyperv/compute/requests/mock_files/get_cluster_node.json
217
+ - lib/fog/hyperv/compute/requests/mock_files/get_vhd.json
218
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm.json
219
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_bios.json
220
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_dvd_drive.json
221
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_firmware.json
222
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_floppy_disk_drive.json
223
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_hard_disk_drive.json
224
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_host.json
225
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_network_adapter.json
226
+ - lib/fog/hyperv/compute/requests/mock_files/get_vm_switch.json
227
+ - lib/fog/hyperv/compute/requests/new_vhd.rb
228
+ - lib/fog/hyperv/compute/requests/new_vm.rb
229
+ - lib/fog/hyperv/compute/requests/new_vm_switch.rb
230
+ - lib/fog/hyperv/compute/requests/optimize_vhd.rb
231
+ - lib/fog/hyperv/compute/requests/remove_item.rb
232
+ - lib/fog/hyperv/compute/requests/remove_vm.rb
233
+ - lib/fog/hyperv/compute/requests/remove_vm_dvd_drive.rb
234
+ - lib/fog/hyperv/compute/requests/remove_vm_hard_disk_drive.rb
235
+ - lib/fog/hyperv/compute/requests/remove_vm_network_adapter.rb
236
+ - lib/fog/hyperv/compute/requests/remove_vm_switch.rb
237
+ - lib/fog/hyperv/compute/requests/rename_vm.rb
238
+ - lib/fog/hyperv/compute/requests/rename_vm_network_adapter.rb
239
+ - lib/fog/hyperv/compute/requests/rename_vm_switch.rb
240
+ - lib/fog/hyperv/compute/requests/resize_vhd.rb
241
+ - lib/fog/hyperv/compute/requests/restart_vm.rb
242
+ - lib/fog/hyperv/compute/requests/resume_vm.rb
243
+ - lib/fog/hyperv/compute/requests/save_vm.rb
244
+ - lib/fog/hyperv/compute/requests/set_vm.rb
245
+ - lib/fog/hyperv/compute/requests/set_vm_bios.rb
246
+ - lib/fog/hyperv/compute/requests/set_vm_com_port.rb
247
+ - lib/fog/hyperv/compute/requests/set_vm_dvd_drive.rb
248
+ - lib/fog/hyperv/compute/requests/set_vm_firmware.rb
249
+ - lib/fog/hyperv/compute/requests/set_vm_floppy_disk_drive.rb
250
+ - lib/fog/hyperv/compute/requests/set_vm_hard_disk_drive.rb
251
+ - lib/fog/hyperv/compute/requests/set_vm_key_protector.rb
252
+ - lib/fog/hyperv/compute/requests/set_vm_network_adapter.rb
253
+ - lib/fog/hyperv/compute/requests/set_vm_network_adapter_vlan.rb
254
+ - lib/fog/hyperv/compute/requests/set_vm_security.rb
255
+ - lib/fog/hyperv/compute/requests/set_vm_switch.rb
256
+ - lib/fog/hyperv/compute/requests/start_vm.rb
257
+ - lib/fog/hyperv/compute/requests/stop_vm.rb
258
+ - lib/fog/hyperv/compute/requests/suspend_vm.rb
259
+ - lib/fog/hyperv/compute/requests/update_vm.rb
260
+ - lib/fog/hyperv/constants.rb
261
+ - lib/fog/hyperv/fog_extensions/associations/collection.rb
262
+ - lib/fog/hyperv/fog_extensions/attributes/datetime.rb
263
+ - lib/fog/hyperv/fog_extensions/attributes/enum.rb
264
+ - lib/fog/hyperv/fog_extensions/attributes/enumarray.rb
265
+ - lib/fog/hyperv/fog_extensions/attributes/timespan.rb
266
+ - lib/fog/hyperv/model.rb
267
+ - lib/fog/hyperv/utils/powershell.rb
268
+ - lib/fog/hyperv/utils/winrm.rb
180
269
  - lib/fog/hyperv/version.rb
181
- - lib/fog/model.rb
182
- - test/fog/hyperv_test.rb
183
- - test/test_helper.rb
184
- homepage: https://github.com/ananace/fog-hyperv
270
+ homepage: https://gitlab.liu.se/ITI/fog-hyperv
185
271
  licenses:
186
272
  - MIT
187
- metadata: {}
188
- post_install_message:
273
+ metadata:
274
+ rubygems_mfa_required: 'true'
189
275
  rdoc_options: []
190
276
  require_paths:
191
277
  - lib
@@ -193,18 +279,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
279
  requirements:
194
280
  - - ">="
195
281
  - !ruby/object:Gem::Version
196
- version: '0'
282
+ version: '3.0'
197
283
  required_rubygems_version: !ruby/object:Gem::Requirement
198
284
  requirements:
199
285
  - - ">="
200
286
  - !ruby/object:Gem::Version
201
287
  version: '0'
202
288
  requirements: []
203
- rubyforge_project:
204
- rubygems_version: 2.7.6
205
- signing_key:
289
+ rubygems_version: 3.6.9
206
290
  specification_version: 4
207
291
  summary: Module for the `fog` gem to support Microsoft Hyper-V.
208
- test_files:
209
- - test/fog/hyperv_test.rb
210
- - test/test_helper.rb
292
+ test_files: []
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- /vendor/
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- ---
2
- before_install: gem install bundler
3
- language: ruby
4
- notifications:
5
- email: false
6
- rvm:
7
- - 2.0.0
8
- - 2.1.9
9
- - 2.2.6
10
- - 2.4.0
11
- sudo: false
data/CHANGELOG.md DELETED
@@ -1,52 +0,0 @@
1
- ## v0.0.9 2018-05-15
2
-
3
- - Add support for Fog-Core v2.0+
4
-
5
- ## v0.0.8 2018-04-06
6
-
7
- - Fix issues due to a lost `to_s` call
8
- - Fix enum handling
9
- - Improve Ruby 2.4 support
10
- - Add support for baking PS option maps in commands
11
- - Default to using the cluster if one, and only one, is available
12
- - Support adding legacy network adapters
13
-
14
- ## v0.0.7 2018-01-22
15
-
16
- - Add a temporary VM-wide VLAN assignment method
17
- - Add the missing SetVM-NetworkAdapterVlan file
18
-
19
- ## v0.0.6 2018-01-15
20
-
21
- - Ensure that computer and cluster names are always present in collections
22
- - Allow caching direct assignment of computer/cluster
23
- - More enum fixes to standardise key and value types
24
- - Add a check for cluster support
25
- - Make sure to not pass along internal variables to the PSRemoting shell
26
-
27
- ## v0.0.5 2017-11-14
28
-
29
- - Remove lefover debugging outputs
30
-
31
- ## v0.0.4 2017-11-14
32
-
33
- - Adds support for the Kerberos transport
34
- - Implements a first prototype for multi-hop when not using Kerberos/CredSSP
35
- - Fixes issues in the saving of a few models
36
- - Fixes a major issue when a VM ends up in a state with a large numerical value
37
- - An issue in the enum code made input validity checking unable to differentiate between hashes and arrays
38
-
39
- ## v0.0.3 2017-08-30
40
-
41
- - Fixes handling of BIOS/Firmware
42
- - Skips unnecessary Hyper-V calls when checking dirty status
43
- - Adds some possible interface improvements when dealing with clusters
44
-
45
- ## v0.0.2 2017-08-28
46
-
47
- - Reduces `fog-core` dependency to 1.42
48
- - Disables `status` attribute for network adapters, due to Hyper-V 6.3 issues
49
-
50
- ## v0.0.1 2017-08-25
51
-
52
- - Initial release
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in fog-hyperv.gemspec
4
- gemspec
data/Rakefile DELETED
@@ -1,10 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
3
-
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList['test/**/*_test.rb']
8
- end
9
-
10
- task :default => :test
data/fog-hyperv.gemspec DELETED
@@ -1,25 +0,0 @@
1
- require File.join(File.expand_path('lib', __dir__), 'fog/hyperv/version')
2
-
3
- Gem::Specification.new do |spec|
4
- spec.name = 'fog-hyperv'
5
- spec.version = Fog::Hyperv::VERSION
6
- spec.authors = ['Alexander Olofsson']
7
- spec.email = ['alexander.olofsson@liu.se']
8
-
9
- spec.summary = 'Module for the `fog` gem to support Microsoft Hyper-V.'
10
- spec.description = 'This library wraps Hyper-V in the `fog` concepts.'
11
- spec.homepage = 'https://github.com/ananace/fog-hyperv'
12
- spec.license = 'MIT'
13
-
14
- spec.files = `git ls-files -z`.split("\x0")
15
- spec.test_files = spec.files.grep(%r{^test\/})
16
-
17
- spec.require_paths = ['lib']
18
-
19
- spec.add_runtime_dependency 'fog-core', '>= 1.42', '< 3.0'
20
- spec.add_runtime_dependency 'fog-json', '~> 1'
21
- spec.add_runtime_dependency 'winrm', '~> 2'
22
-
23
- spec.add_development_dependency 'minitest'
24
- spec.add_development_dependency 'rake'
25
- end
@@ -1,152 +0,0 @@
1
- require 'fog/core/collection'
2
-
3
- module Fog
4
- module Hyperv
5
- class Collection < Fog::Collection
6
- def self.get_method(method = nil)
7
- @get_method ||= method
8
- end
9
-
10
- def self.requires
11
- @requires ||= []
12
- end
13
-
14
- def self.requires?(req)
15
- requires.include? req
16
- end
17
-
18
- def all(filters = {})
19
- requires(*self.class.requires)
20
- data = service.send(method, search_attributes.merge(filters))
21
- data = [] unless data
22
-
23
- load [data].flatten
24
- end
25
-
26
- def get(filters = {})
27
- data = all(filters).first
28
- data if data
29
- rescue Fog::Hyperv::Errors::PSError => err
30
- raise Fog::Errors::NotFound, err if err.message =~ /Hyper-V was unable to find|^No .* is found/
31
- raise err
32
- end
33
-
34
- def new(options = {})
35
- requires(*self.class.requires)
36
- super(creation_attributes.merge(options))
37
- end
38
-
39
- def create(attributes = {})
40
- object = new(attributes)
41
- object.save
42
- object
43
- end
44
-
45
- protected
46
-
47
- def search_attributes
48
- attributes.dup.merge(
49
- _return_fields: model.attributes - model.lazy_attributes,
50
- _json_depth: 1
51
- )
52
- end
53
-
54
- def creation_attributes
55
- attributes.dup
56
- end
57
-
58
- private
59
-
60
- def method
61
- self.class.get_method
62
- end
63
- end
64
-
65
- class ComputerCollection < Fog::Hyperv::Collection
66
- def self.requires_computer
67
- requires << :computer
68
- end
69
-
70
- attr_accessor :cluster
71
- attr_accessor :computer
72
-
73
- def new(attributes = {})
74
- object = super
75
- object.computer_name ||= computer.name if computer && object.respond_to?(:computer_name)
76
- object
77
- end
78
-
79
- protected
80
-
81
- def creation_attributes
82
- attrs = super
83
- attrs[:cluster] = cluster if cluster
84
- attrs[:computer] = computer if computer
85
- attrs[:computer_name] = computer.name if computer
86
- attrs
87
- end
88
-
89
- def search_attributes
90
- attrs = super
91
- attrs.delete :cluster
92
- attrs.delete :computer
93
- attrs[:computer_name] ||= cluster.hosts.map(&:name) if cluster
94
- attrs[:computer_name] ||= computer.name if computer
95
- attrs
96
- end
97
- end
98
-
99
- class VMCollection < Fog::Hyperv::ComputerCollection
100
- def self.match_on(attr = nil)
101
- @match_on ||= attr
102
- end
103
-
104
- def self.requires_vm
105
- requires << :vm
106
- end
107
-
108
- attr_accessor :vm
109
-
110
- def new(attributes = {})
111
- object = super
112
- object.computer_name ||= vm.computer_name if vm && object.respond_to?(:computer_name)
113
- # Ensure both ID and Name are populated, regardless of `match_on`
114
- object.vm_id ||= vm.id if vm && object.respond_to?(:vm_id)
115
- object.vm_name ||= vm.name if vm && object.respond_to?(:vm_name)
116
- object
117
- end
118
-
119
- def inspect
120
- # To avoid recursing on VM
121
- to_s
122
- end
123
-
124
- protected
125
-
126
- def creation_attributes
127
- attrs = super
128
- attrs[:vm] = vm if vm
129
- attrs[:computer_name] = vm.computer_name if vm && vm.computer_name
130
- attrs[:cluster_name] = vm.cluster_name if vm && vm.cluster_name
131
-
132
- attrs
133
- end
134
-
135
- def search_attributes
136
- attrs = super
137
- attrs.delete :vm
138
- if vm
139
- attrs[:computer_name] ||= vm.computer_name
140
- attrs[match] = vm.send(match)
141
- end
142
- attrs
143
- end
144
-
145
- private
146
-
147
- def match
148
- self.class.match_on || :vm_name
149
- end
150
- end
151
- end
152
- end