fog-xenserver 0.0.1.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/CONTRIBUTING.md +18 -0
  6. data/CONTRIBUTORS.md +1 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE.md +20 -0
  9. data/README.md +29 -0
  10. data/Rakefile +2 -0
  11. data/fog-xenserver.gemspec +26 -0
  12. data/lib/fog.rb +3 -0
  13. data/lib/fog/compute.rb +7 -0
  14. data/lib/fog/xenserver.rb +1 -0
  15. data/lib/fog/xenserver/compute.rb +176 -0
  16. data/lib/fog/xenserver/core.rb +84 -0
  17. data/lib/fog/xenserver/examples/README.md +11 -0
  18. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +99 -0
  19. data/lib/fog/xenserver/examples/creating_servers.md +168 -0
  20. data/lib/fog/xenserver/examples/getting_started.md +163 -0
  21. data/lib/fog/xenserver/examples/networks-and-vlans.rb +45 -0
  22. data/lib/fog/xenserver/examples/storage_repositories.md +94 -0
  23. data/lib/fog/xenserver/models/compute/blob.rb +22 -0
  24. data/lib/fog/xenserver/models/compute/blobs.rb +25 -0
  25. data/lib/fog/xenserver/models/compute/bond.rb +23 -0
  26. data/lib/fog/xenserver/models/compute/bonds.rb +25 -0
  27. data/lib/fog/xenserver/models/compute/console.rb +29 -0
  28. data/lib/fog/xenserver/models/compute/consoles.rb +25 -0
  29. data/lib/fog/xenserver/models/compute/crash_dump.rb +19 -0
  30. data/lib/fog/xenserver/models/compute/crash_dumps.rb +25 -0
  31. data/lib/fog/xenserver/models/compute/dr_task.rb +17 -0
  32. data/lib/fog/xenserver/models/compute/dr_tasks.rb +25 -0
  33. data/lib/fog/xenserver/models/compute/gpu_group.rb +22 -0
  34. data/lib/fog/xenserver/models/compute/gpu_groups.rb +25 -0
  35. data/lib/fog/xenserver/models/compute/guest_metrics.rb +29 -0
  36. data/lib/fog/xenserver/models/compute/host.rb +159 -0
  37. data/lib/fog/xenserver/models/compute/host_cpu.rb +38 -0
  38. data/lib/fog/xenserver/models/compute/host_crash_dump.rb +20 -0
  39. data/lib/fog/xenserver/models/compute/host_crash_dumps.rb +25 -0
  40. data/lib/fog/xenserver/models/compute/host_metrics.rb +29 -0
  41. data/lib/fog/xenserver/models/compute/host_patch.rb +25 -0
  42. data/lib/fog/xenserver/models/compute/host_patchs.rb +25 -0
  43. data/lib/fog/xenserver/models/compute/hosts.rb +29 -0
  44. data/lib/fog/xenserver/models/compute/network.rb +92 -0
  45. data/lib/fog/xenserver/models/compute/networks.rb +33 -0
  46. data/lib/fog/xenserver/models/compute/pbd.rb +40 -0
  47. data/lib/fog/xenserver/models/compute/pbds.rb +33 -0
  48. data/lib/fog/xenserver/models/compute/pci.rb +22 -0
  49. data/lib/fog/xenserver/models/compute/pcis.rb +25 -0
  50. data/lib/fog/xenserver/models/compute/pgpu.rb +20 -0
  51. data/lib/fog/xenserver/models/compute/pgpus.rb +25 -0
  52. data/lib/fog/xenserver/models/compute/pif.rb +57 -0
  53. data/lib/fog/xenserver/models/compute/pif_metrics.rb +28 -0
  54. data/lib/fog/xenserver/models/compute/pifs.rb +33 -0
  55. data/lib/fog/xenserver/models/compute/pifs_metrics.rb +25 -0
  56. data/lib/fog/xenserver/models/compute/pool.rb +79 -0
  57. data/lib/fog/xenserver/models/compute/pool_patch.rb +24 -0
  58. data/lib/fog/xenserver/models/compute/pool_patchs.rb +25 -0
  59. data/lib/fog/xenserver/models/compute/pools.rb +33 -0
  60. data/lib/fog/xenserver/models/compute/role.rb +19 -0
  61. data/lib/fog/xenserver/models/compute/roles.rb +25 -0
  62. data/lib/fog/xenserver/models/compute/server.rb +250 -0
  63. data/lib/fog/xenserver/models/compute/server_appliance.rb +21 -0
  64. data/lib/fog/xenserver/models/compute/server_appliances.rb +25 -0
  65. data/lib/fog/xenserver/models/compute/servers.rb +68 -0
  66. data/lib/fog/xenserver/models/compute/storage_manager.rb +28 -0
  67. data/lib/fog/xenserver/models/compute/storage_managers.rb +25 -0
  68. data/lib/fog/xenserver/models/compute/storage_repositories.rb +31 -0
  69. data/lib/fog/xenserver/models/compute/storage_repository.rb +93 -0
  70. data/lib/fog/xenserver/models/compute/tunnel.rb +20 -0
  71. data/lib/fog/xenserver/models/compute/tunnels.rb +25 -0
  72. data/lib/fog/xenserver/models/compute/vbd.rb +91 -0
  73. data/lib/fog/xenserver/models/compute/vbd_metrics.rb +27 -0
  74. data/lib/fog/xenserver/models/compute/vbds.rb +33 -0
  75. data/lib/fog/xenserver/models/compute/vdi.rb +105 -0
  76. data/lib/fog/xenserver/models/compute/vdis.rb +29 -0
  77. data/lib/fog/xenserver/models/compute/vif.rb +60 -0
  78. data/lib/fog/xenserver/models/compute/vifs.rb +29 -0
  79. data/lib/fog/xenserver/models/compute/vlan.rb +81 -0
  80. data/lib/fog/xenserver/models/compute/vlans.rb +39 -0
  81. data/lib/fog/xenserver/models/compute/vmpp.rb +35 -0
  82. data/lib/fog/xenserver/models/compute/vmpps.rb +25 -0
  83. data/lib/fog/xenserver/models/compute/vtpm.rb +18 -0
  84. data/lib/fog/xenserver/models/compute/vtpms.rb +25 -0
  85. data/lib/fog/xenserver/parser.rb +36 -0
  86. data/lib/fog/xenserver/parsers/get_hosts.rb +19 -0
  87. data/lib/fog/xenserver/parsers/get_networks.rb +19 -0
  88. data/lib/fog/xenserver/parsers/get_pools.rb +19 -0
  89. data/lib/fog/xenserver/parsers/get_records.rb +19 -0
  90. data/lib/fog/xenserver/parsers/get_storage_repositories.rb +19 -0
  91. data/lib/fog/xenserver/parsers/get_vbds.rb +19 -0
  92. data/lib/fog/xenserver/parsers/get_vifs.rb +19 -0
  93. data/lib/fog/xenserver/parsers/get_vms.rb +20 -0
  94. data/lib/fog/xenserver/requests/compute/clone_server.rb +31 -0
  95. data/lib/fog/xenserver/requests/compute/create_network.rb +42 -0
  96. data/lib/fog/xenserver/requests/compute/create_server.rb +130 -0
  97. data/lib/fog/xenserver/requests/compute/create_sr.rb +72 -0
  98. data/lib/fog/xenserver/requests/compute/create_vbd.rb +40 -0
  99. data/lib/fog/xenserver/requests/compute/create_vdi.rb +33 -0
  100. data/lib/fog/xenserver/requests/compute/create_vif.rb +57 -0
  101. data/lib/fog/xenserver/requests/compute/create_vlan.rb +35 -0
  102. data/lib/fog/xenserver/requests/compute/destroy_network.rb +33 -0
  103. data/lib/fog/xenserver/requests/compute/destroy_server.rb +22 -0
  104. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +30 -0
  105. data/lib/fog/xenserver/requests/compute/destroy_vdi.rb +22 -0
  106. data/lib/fog/xenserver/requests/compute/destroy_vif.rb +22 -0
  107. data/lib/fog/xenserver/requests/compute/destroy_vlan.rb +32 -0
  108. data/lib/fog/xenserver/requests/compute/disable_host.rb +29 -0
  109. data/lib/fog/xenserver/requests/compute/eject_vbd.rb +22 -0
  110. data/lib/fog/xenserver/requests/compute/enable_host.rb +28 -0
  111. data/lib/fog/xenserver/requests/compute/get_record.rb +29 -0
  112. data/lib/fog/xenserver/requests/compute/get_records.rb +30 -0
  113. data/lib/fog/xenserver/requests/compute/insert_vbd.rb +22 -0
  114. data/lib/fog/xenserver/requests/compute/provision_server.rb +21 -0
  115. data/lib/fog/xenserver/requests/compute/reboot_host.rb +23 -0
  116. data/lib/fog/xenserver/requests/compute/reboot_server.rb +23 -0
  117. data/lib/fog/xenserver/requests/compute/scan_sr.rb +22 -0
  118. data/lib/fog/xenserver/requests/compute/set_affinity.rb +25 -0
  119. data/lib/fog/xenserver/requests/compute/set_attribute.rb +25 -0
  120. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +23 -0
  121. data/lib/fog/xenserver/requests/compute/shutdown_server.rb +23 -0
  122. data/lib/fog/xenserver/requests/compute/snapshot_revert.rb +22 -0
  123. data/lib/fog/xenserver/requests/compute/snapshot_server.rb +22 -0
  124. data/lib/fog/xenserver/requests/compute/start_server.rb +23 -0
  125. data/lib/fog/xenserver/requests/compute/start_vm.rb +25 -0
  126. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +25 -0
  127. data/lib/fog/xenserver/requests/compute/unplug_vbd.rb +30 -0
  128. data/lib/fog/xenserver/utilities.rb +8 -0
  129. data/lib/fog/xenserver/version.rb +5 -0
  130. metadata +228 -0
@@ -0,0 +1,30 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+
5
+ class Real
6
+
7
+ def unplug_vbd( vbd_ref, extra_args = {})
8
+ @connection.request({:parser => Fog::Parsers::XenServer::Base.new, :method => 'VBD.unplug'}, vbd_ref)
9
+ end
10
+
11
+ def unplug_force_vbd(ref, extra_args = {})
12
+ @connection.request({:parser => Fog::Parsers::XenServer::Base.new, :method => 'VBD.unplug_force'}, ref)
13
+ end
14
+
15
+ end
16
+
17
+ class Mock
18
+
19
+ def unplug_vbd(ref, extra_args = {})
20
+ Fog::Mock.not_implemented
21
+ end
22
+
23
+ def unplug_force_vbd(ref, extra_args = {})
24
+ Fog::Mock.not_implemented
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,8 @@
1
+ class Hash
2
+ def symbolize_keys!
3
+ keys.each do |key|
4
+ self[(key.to_sym rescue key)] = delete(key) if key.respond_to?(:to_sym) && !key.is_a?(Fixnum)
5
+ end
6
+ self
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module Fog
2
+ module Xenserver
3
+ VERSION = "0.0.1.alpha"
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,228 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fog-xenserver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.alpha
5
+ platform: ruby
6
+ authors:
7
+ - Paulo Henrique Lopes Ribeiro
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-06-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fog
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: fog-core
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Module for the 'fog' gem to support XENSERVER.
70
+ email: plribeiro3000@gmail.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - ".gitignore"
76
+ - ".ruby-gemset"
77
+ - ".ruby-version"
78
+ - CONTRIBUTING.md
79
+ - CONTRIBUTORS.md
80
+ - Gemfile
81
+ - LICENSE.md
82
+ - README.md
83
+ - Rakefile
84
+ - fog-xenserver.gemspec
85
+ - lib/fog.rb
86
+ - lib/fog/compute.rb
87
+ - lib/fog/xenserver.rb
88
+ - lib/fog/xenserver/compute.rb
89
+ - lib/fog/xenserver/core.rb
90
+ - lib/fog/xenserver/examples/README.md
91
+ - lib/fog/xenserver/examples/chage_default_storage_repository.md
92
+ - lib/fog/xenserver/examples/creating_servers.md
93
+ - lib/fog/xenserver/examples/getting_started.md
94
+ - lib/fog/xenserver/examples/networks-and-vlans.rb
95
+ - lib/fog/xenserver/examples/storage_repositories.md
96
+ - lib/fog/xenserver/models/compute/blob.rb
97
+ - lib/fog/xenserver/models/compute/blobs.rb
98
+ - lib/fog/xenserver/models/compute/bond.rb
99
+ - lib/fog/xenserver/models/compute/bonds.rb
100
+ - lib/fog/xenserver/models/compute/console.rb
101
+ - lib/fog/xenserver/models/compute/consoles.rb
102
+ - lib/fog/xenserver/models/compute/crash_dump.rb
103
+ - lib/fog/xenserver/models/compute/crash_dumps.rb
104
+ - lib/fog/xenserver/models/compute/dr_task.rb
105
+ - lib/fog/xenserver/models/compute/dr_tasks.rb
106
+ - lib/fog/xenserver/models/compute/gpu_group.rb
107
+ - lib/fog/xenserver/models/compute/gpu_groups.rb
108
+ - lib/fog/xenserver/models/compute/guest_metrics.rb
109
+ - lib/fog/xenserver/models/compute/host.rb
110
+ - lib/fog/xenserver/models/compute/host_cpu.rb
111
+ - lib/fog/xenserver/models/compute/host_crash_dump.rb
112
+ - lib/fog/xenserver/models/compute/host_crash_dumps.rb
113
+ - lib/fog/xenserver/models/compute/host_metrics.rb
114
+ - lib/fog/xenserver/models/compute/host_patch.rb
115
+ - lib/fog/xenserver/models/compute/host_patchs.rb
116
+ - lib/fog/xenserver/models/compute/hosts.rb
117
+ - lib/fog/xenserver/models/compute/network.rb
118
+ - lib/fog/xenserver/models/compute/networks.rb
119
+ - lib/fog/xenserver/models/compute/pbd.rb
120
+ - lib/fog/xenserver/models/compute/pbds.rb
121
+ - lib/fog/xenserver/models/compute/pci.rb
122
+ - lib/fog/xenserver/models/compute/pcis.rb
123
+ - lib/fog/xenserver/models/compute/pgpu.rb
124
+ - lib/fog/xenserver/models/compute/pgpus.rb
125
+ - lib/fog/xenserver/models/compute/pif.rb
126
+ - lib/fog/xenserver/models/compute/pif_metrics.rb
127
+ - lib/fog/xenserver/models/compute/pifs.rb
128
+ - lib/fog/xenserver/models/compute/pifs_metrics.rb
129
+ - lib/fog/xenserver/models/compute/pool.rb
130
+ - lib/fog/xenserver/models/compute/pool_patch.rb
131
+ - lib/fog/xenserver/models/compute/pool_patchs.rb
132
+ - lib/fog/xenserver/models/compute/pools.rb
133
+ - lib/fog/xenserver/models/compute/role.rb
134
+ - lib/fog/xenserver/models/compute/roles.rb
135
+ - lib/fog/xenserver/models/compute/server.rb
136
+ - lib/fog/xenserver/models/compute/server_appliance.rb
137
+ - lib/fog/xenserver/models/compute/server_appliances.rb
138
+ - lib/fog/xenserver/models/compute/servers.rb
139
+ - lib/fog/xenserver/models/compute/storage_manager.rb
140
+ - lib/fog/xenserver/models/compute/storage_managers.rb
141
+ - lib/fog/xenserver/models/compute/storage_repositories.rb
142
+ - lib/fog/xenserver/models/compute/storage_repository.rb
143
+ - lib/fog/xenserver/models/compute/tunnel.rb
144
+ - lib/fog/xenserver/models/compute/tunnels.rb
145
+ - lib/fog/xenserver/models/compute/vbd.rb
146
+ - lib/fog/xenserver/models/compute/vbd_metrics.rb
147
+ - lib/fog/xenserver/models/compute/vbds.rb
148
+ - lib/fog/xenserver/models/compute/vdi.rb
149
+ - lib/fog/xenserver/models/compute/vdis.rb
150
+ - lib/fog/xenserver/models/compute/vif.rb
151
+ - lib/fog/xenserver/models/compute/vifs.rb
152
+ - lib/fog/xenserver/models/compute/vlan.rb
153
+ - lib/fog/xenserver/models/compute/vlans.rb
154
+ - lib/fog/xenserver/models/compute/vmpp.rb
155
+ - lib/fog/xenserver/models/compute/vmpps.rb
156
+ - lib/fog/xenserver/models/compute/vtpm.rb
157
+ - lib/fog/xenserver/models/compute/vtpms.rb
158
+ - lib/fog/xenserver/parser.rb
159
+ - lib/fog/xenserver/parsers/get_hosts.rb
160
+ - lib/fog/xenserver/parsers/get_networks.rb
161
+ - lib/fog/xenserver/parsers/get_pools.rb
162
+ - lib/fog/xenserver/parsers/get_records.rb
163
+ - lib/fog/xenserver/parsers/get_storage_repositories.rb
164
+ - lib/fog/xenserver/parsers/get_vbds.rb
165
+ - lib/fog/xenserver/parsers/get_vifs.rb
166
+ - lib/fog/xenserver/parsers/get_vms.rb
167
+ - lib/fog/xenserver/requests/compute/clone_server.rb
168
+ - lib/fog/xenserver/requests/compute/create_network.rb
169
+ - lib/fog/xenserver/requests/compute/create_server.rb
170
+ - lib/fog/xenserver/requests/compute/create_sr.rb
171
+ - lib/fog/xenserver/requests/compute/create_vbd.rb
172
+ - lib/fog/xenserver/requests/compute/create_vdi.rb
173
+ - lib/fog/xenserver/requests/compute/create_vif.rb
174
+ - lib/fog/xenserver/requests/compute/create_vlan.rb
175
+ - lib/fog/xenserver/requests/compute/destroy_network.rb
176
+ - lib/fog/xenserver/requests/compute/destroy_server.rb
177
+ - lib/fog/xenserver/requests/compute/destroy_sr.rb
178
+ - lib/fog/xenserver/requests/compute/destroy_vdi.rb
179
+ - lib/fog/xenserver/requests/compute/destroy_vif.rb
180
+ - lib/fog/xenserver/requests/compute/destroy_vlan.rb
181
+ - lib/fog/xenserver/requests/compute/disable_host.rb
182
+ - lib/fog/xenserver/requests/compute/eject_vbd.rb
183
+ - lib/fog/xenserver/requests/compute/enable_host.rb
184
+ - lib/fog/xenserver/requests/compute/get_record.rb
185
+ - lib/fog/xenserver/requests/compute/get_records.rb
186
+ - lib/fog/xenserver/requests/compute/insert_vbd.rb
187
+ - lib/fog/xenserver/requests/compute/provision_server.rb
188
+ - lib/fog/xenserver/requests/compute/reboot_host.rb
189
+ - lib/fog/xenserver/requests/compute/reboot_server.rb
190
+ - lib/fog/xenserver/requests/compute/scan_sr.rb
191
+ - lib/fog/xenserver/requests/compute/set_affinity.rb
192
+ - lib/fog/xenserver/requests/compute/set_attribute.rb
193
+ - lib/fog/xenserver/requests/compute/shutdown_host.rb
194
+ - lib/fog/xenserver/requests/compute/shutdown_server.rb
195
+ - lib/fog/xenserver/requests/compute/snapshot_revert.rb
196
+ - lib/fog/xenserver/requests/compute/snapshot_server.rb
197
+ - lib/fog/xenserver/requests/compute/start_server.rb
198
+ - lib/fog/xenserver/requests/compute/start_vm.rb
199
+ - lib/fog/xenserver/requests/compute/unplug_pbd.rb
200
+ - lib/fog/xenserver/requests/compute/unplug_vbd.rb
201
+ - lib/fog/xenserver/utilities.rb
202
+ - lib/fog/xenserver/version.rb
203
+ homepage: https://github.com/zertico/fog-xenserver
204
+ licenses:
205
+ - MIT
206
+ metadata: {}
207
+ post_install_message:
208
+ rdoc_options: []
209
+ require_paths:
210
+ - lib
211
+ required_ruby_version: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ required_rubygems_version: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">"
219
+ - !ruby/object:Gem::Version
220
+ version: 1.3.1
221
+ requirements: []
222
+ rubyforge_project:
223
+ rubygems_version: 2.2.2
224
+ signing_key:
225
+ specification_version: 4
226
+ summary: This library can be used as a module for `fog` or as standalone provider
227
+ to use the XENSERVER in applications.
228
+ test_files: []