crowbar-client 2.4.1 → 2.4.2

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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +18 -6
  4. data/lib/crowbar/client.rb +54 -0
  5. data/lib/crowbar/client/app.rb +3 -0
  6. data/lib/crowbar/client/app/backup.rb +62 -1
  7. data/lib/crowbar/client/app/barclamp.rb +10 -0
  8. data/lib/crowbar/client/app/base.rb +50 -0
  9. data/lib/crowbar/client/app/batch.rb +25 -0
  10. data/lib/crowbar/client/app/entry.rb +26 -1
  11. data/lib/crowbar/client/app/host_ip.rb +24 -0
  12. data/lib/crowbar/client/app/installer.rb +16 -1
  13. data/lib/crowbar/client/app/interface.rb +21 -0
  14. data/lib/crowbar/client/app/network.rb +3 -0
  15. data/lib/crowbar/client/app/node.rb +3 -0
  16. data/lib/crowbar/client/app/proposal.rb +3 -0
  17. data/lib/crowbar/client/app/repository.rb +3 -0
  18. data/lib/crowbar/client/app/role.rb +3 -0
  19. data/lib/crowbar/client/app/server.rb +56 -0
  20. data/lib/crowbar/client/app/virtual_ip.rb +24 -0
  21. data/lib/crowbar/client/command.rb +3 -0
  22. data/lib/crowbar/client/command/backup.rb +3 -0
  23. data/lib/crowbar/client/command/backup/create.rb +3 -0
  24. data/lib/crowbar/client/command/backup/delete.rb +3 -0
  25. data/lib/crowbar/client/command/backup/download.rb +3 -0
  26. data/lib/crowbar/client/command/backup/list.rb +3 -0
  27. data/lib/crowbar/client/command/backup/restore.rb +3 -0
  28. data/lib/crowbar/client/command/backup/upload.rb +3 -0
  29. data/lib/crowbar/client/command/barclamp.rb +3 -0
  30. data/lib/crowbar/client/command/barclamp/list.rb +3 -0
  31. data/lib/crowbar/client/command/base.rb +3 -0
  32. data/lib/crowbar/client/command/batch.rb +3 -0
  33. data/lib/crowbar/client/command/batch/build.rb +3 -0
  34. data/lib/crowbar/client/command/batch/export.rb +3 -0
  35. data/lib/crowbar/client/command/host_ip.rb +3 -0
  36. data/lib/crowbar/client/command/host_ip/allocate.rb +3 -0
  37. data/lib/crowbar/client/command/host_ip/deallocate.rb +3 -0
  38. data/lib/crowbar/client/command/installer.rb +3 -0
  39. data/lib/crowbar/client/command/installer/start.rb +3 -0
  40. data/lib/crowbar/client/command/installer/status.rb +3 -0
  41. data/lib/crowbar/client/command/interface.rb +3 -0
  42. data/lib/crowbar/client/command/interface/disable.rb +3 -0
  43. data/lib/crowbar/client/command/interface/enable.rb +3 -0
  44. data/lib/crowbar/client/command/node.rb +3 -0
  45. data/lib/crowbar/client/command/node/allocate.rb +4 -1
  46. data/lib/crowbar/client/command/node/delete.rb +3 -0
  47. data/lib/crowbar/client/command/node/group.rb +3 -0
  48. data/lib/crowbar/client/command/node/hardware.rb +4 -1
  49. data/lib/crowbar/client/command/node/identify.rb +4 -1
  50. data/lib/crowbar/client/command/node/list.rb +3 -0
  51. data/lib/crowbar/client/command/node/powercycle.rb +4 -1
  52. data/lib/crowbar/client/command/node/poweroff.rb +4 -1
  53. data/lib/crowbar/client/command/node/poweron.rb +4 -1
  54. data/lib/crowbar/client/command/node/reboot.rb +4 -1
  55. data/lib/crowbar/client/command/node/reinstall.rb +4 -1
  56. data/lib/crowbar/client/command/node/rename.rb +3 -0
  57. data/lib/crowbar/client/command/node/reset.rb +4 -1
  58. data/lib/crowbar/client/command/node/role.rb +3 -0
  59. data/lib/crowbar/client/command/node/show.rb +3 -0
  60. data/lib/crowbar/client/command/node/shutdown.rb +4 -1
  61. data/lib/crowbar/client/command/node/status.rb +3 -0
  62. data/lib/crowbar/client/command/node/transition.rb +3 -0
  63. data/lib/crowbar/client/command/proposal.rb +3 -0
  64. data/lib/crowbar/client/command/proposal/commit.rb +3 -0
  65. data/lib/crowbar/client/command/proposal/create.rb +3 -0
  66. data/lib/crowbar/client/command/proposal/delete.rb +3 -0
  67. data/lib/crowbar/client/command/proposal/dequeue.rb +3 -0
  68. data/lib/crowbar/client/command/proposal/edit.rb +3 -0
  69. data/lib/crowbar/client/command/proposal/list.rb +3 -0
  70. data/lib/crowbar/client/command/proposal/reset.rb +3 -0
  71. data/lib/crowbar/client/command/proposal/show.rb +3 -0
  72. data/lib/crowbar/client/command/repository.rb +3 -0
  73. data/lib/crowbar/client/command/repository/activate.rb +3 -0
  74. data/lib/crowbar/client/command/repository/activate_all.rb +3 -0
  75. data/lib/crowbar/client/command/repository/deactivate.rb +3 -0
  76. data/lib/crowbar/client/command/repository/deactivate_all.rb +3 -0
  77. data/lib/crowbar/client/command/repository/list.rb +3 -0
  78. data/lib/crowbar/client/command/role.rb +3 -0
  79. data/lib/crowbar/client/command/role/list.rb +3 -0
  80. data/lib/crowbar/client/command/role/show.rb +3 -0
  81. data/lib/crowbar/client/command/server.rb +5 -0
  82. data/lib/crowbar/client/command/server/api.rb +3 -0
  83. data/lib/crowbar/client/command/server/check.rb +75 -0
  84. data/lib/crowbar/client/command/virtual_ip.rb +3 -0
  85. data/lib/crowbar/client/command/virtual_ip/allocate.rb +3 -0
  86. data/lib/crowbar/client/command/virtual_ip/deallocate.rb +3 -0
  87. data/lib/crowbar/client/config.rb +128 -1
  88. data/lib/crowbar/client/filter.rb +3 -0
  89. data/lib/crowbar/client/filter/array.rb +3 -0
  90. data/lib/crowbar/client/filter/base.rb +3 -0
  91. data/lib/crowbar/client/filter/hash.rb +3 -0
  92. data/lib/crowbar/client/filter/subset.rb +3 -0
  93. data/lib/crowbar/client/formatter.rb +3 -0
  94. data/lib/crowbar/client/formatter/array.rb +3 -0
  95. data/lib/crowbar/client/formatter/base.rb +3 -0
  96. data/lib/crowbar/client/formatter/hash.rb +3 -0
  97. data/lib/crowbar/client/formatter/nested.rb +3 -0
  98. data/lib/crowbar/client/mixin.rb +3 -0
  99. data/lib/crowbar/client/mixin/barclamp.rb +3 -0
  100. data/lib/crowbar/client/mixin/filter.rb +3 -0
  101. data/lib/crowbar/client/mixin/format.rb +3 -0
  102. data/lib/crowbar/client/request.rb +3 -0
  103. data/lib/crowbar/client/request/backup.rb +3 -0
  104. data/lib/crowbar/client/request/backup/create.rb +18 -0
  105. data/lib/crowbar/client/request/backup/delete.rb +13 -0
  106. data/lib/crowbar/client/request/backup/download.rb +13 -0
  107. data/lib/crowbar/client/request/backup/list.rb +13 -0
  108. data/lib/crowbar/client/request/backup/restore.rb +13 -0
  109. data/lib/crowbar/client/request/backup/upload.rb +13 -0
  110. data/lib/crowbar/client/request/barclamp.rb +3 -0
  111. data/lib/crowbar/client/request/barclamp/list.rb +13 -0
  112. data/lib/crowbar/client/request/base.rb +42 -11
  113. data/lib/crowbar/client/request/batch.rb +3 -0
  114. data/lib/crowbar/client/request/batch/build.rb +13 -0
  115. data/lib/crowbar/client/request/batch/export.rb +18 -0
  116. data/lib/crowbar/client/request/host_ip.rb +3 -0
  117. data/lib/crowbar/client/request/host_ip/allocate.rb +18 -0
  118. data/lib/crowbar/client/request/host_ip/deallocate.rb +18 -0
  119. data/lib/crowbar/client/request/installer.rb +3 -0
  120. data/lib/crowbar/client/request/installer/start.rb +18 -0
  121. data/lib/crowbar/client/request/installer/status.rb +13 -0
  122. data/lib/crowbar/client/request/interface.rb +3 -0
  123. data/lib/crowbar/client/request/interface/disable.rb +18 -0
  124. data/lib/crowbar/client/request/interface/enable.rb +18 -0
  125. data/lib/crowbar/client/request/node.rb +33 -0
  126. data/lib/crowbar/client/request/node/action.rb +13 -0
  127. data/lib/crowbar/client/request/node/allocate.rb +29 -0
  128. data/lib/crowbar/client/request/node/delete.rb +13 -0
  129. data/lib/crowbar/client/request/node/group.rb +13 -0
  130. data/lib/crowbar/client/request/node/hardware.rb +29 -0
  131. data/lib/crowbar/client/request/node/identify.rb +29 -0
  132. data/lib/crowbar/client/request/node/list.rb +13 -0
  133. data/lib/crowbar/client/request/node/powercycle.rb +29 -0
  134. data/lib/crowbar/client/request/node/poweroff.rb +29 -0
  135. data/lib/crowbar/client/request/node/poweron.rb +29 -0
  136. data/lib/crowbar/client/request/node/reboot.rb +29 -0
  137. data/lib/crowbar/client/request/node/reinstall.rb +29 -0
  138. data/lib/crowbar/client/request/node/rename.rb +18 -0
  139. data/lib/crowbar/client/request/node/reset.rb +29 -0
  140. data/lib/crowbar/client/request/node/role.rb +18 -0
  141. data/lib/crowbar/client/request/node/show.rb +13 -0
  142. data/lib/crowbar/client/request/node/shutdown.rb +29 -0
  143. data/lib/crowbar/client/request/node/status.rb +13 -0
  144. data/lib/crowbar/client/request/node/transition.rb +18 -0
  145. data/lib/crowbar/client/request/party.rb +3 -0
  146. data/lib/crowbar/client/request/proposal.rb +3 -0
  147. data/lib/crowbar/client/request/proposal/commit.rb +13 -0
  148. data/lib/crowbar/client/request/proposal/create.rb +18 -0
  149. data/lib/crowbar/client/request/proposal/delete.rb +13 -0
  150. data/lib/crowbar/client/request/proposal/dequeue.rb +13 -0
  151. data/lib/crowbar/client/request/proposal/edit.rb +18 -0
  152. data/lib/crowbar/client/request/proposal/list.rb +13 -0
  153. data/lib/crowbar/client/request/proposal/reset.rb +13 -0
  154. data/lib/crowbar/client/request/proposal/show.rb +13 -0
  155. data/lib/crowbar/client/request/proposal/template.rb +13 -0
  156. data/lib/crowbar/client/request/repository.rb +3 -0
  157. data/lib/crowbar/client/request/repository/activate.rb +18 -0
  158. data/lib/crowbar/client/request/repository/activate_all.rb +13 -0
  159. data/lib/crowbar/client/request/repository/deactivate.rb +18 -0
  160. data/lib/crowbar/client/request/repository/deactivate_all.rb +13 -0
  161. data/lib/crowbar/client/request/repository/list.rb +13 -0
  162. data/lib/crowbar/client/request/role.rb +3 -0
  163. data/lib/crowbar/client/request/role/list.rb +13 -0
  164. data/lib/crowbar/client/request/role/show.rb +13 -0
  165. data/lib/crowbar/client/request/server.rb +5 -0
  166. data/lib/crowbar/client/request/server/api.rb +13 -0
  167. data/lib/crowbar/client/request/server/check.rb +49 -0
  168. data/lib/crowbar/client/request/virtual_ip.rb +3 -0
  169. data/lib/crowbar/client/request/virtual_ip/allocate.rb +18 -0
  170. data/lib/crowbar/client/request/virtual_ip/deallocate.rb +18 -0
  171. data/lib/crowbar/client/util.rb +3 -0
  172. data/lib/crowbar/client/util/editor.rb +3 -0
  173. data/lib/crowbar/client/util/runner.rb +3 -0
  174. data/lib/crowbar/client/version.rb +23 -1
  175. data/spec/crowbar/client/command/backup/create_spec.rb +8 -16
  176. data/spec/crowbar/client/command/backup/delete_spec.rb +8 -16
  177. data/spec/crowbar/client/command/backup/download_spec.rb +8 -16
  178. data/spec/crowbar/client/command/backup/list_spec.rb +7 -15
  179. data/spec/crowbar/client/command/backup/restore_spec.rb +8 -16
  180. data/spec/crowbar/client/command/backup/upload_spec.rb +11 -19
  181. data/spec/crowbar/client/command/barclamp/list_spec.rb +7 -15
  182. data/spec/crowbar/client/command/batch/build_spec.rb +11 -19
  183. data/spec/crowbar/client/command/batch/export_spec.rb +7 -15
  184. data/spec/crowbar/client/command/host_ip/allocate_spec.rb +7 -15
  185. data/spec/crowbar/client/command/host_ip/deallocate_spec.rb +7 -15
  186. data/spec/crowbar/client/command/installer/start_spec.rb +8 -16
  187. data/spec/crowbar/client/command/installer/status_spec.rb +7 -15
  188. data/spec/crowbar/client/command/interface/disable_spec.rb +7 -15
  189. data/spec/crowbar/client/command/interface/enable_spec.rb +7 -15
  190. data/spec/crowbar/client/command/node/allocate_spec.rb +7 -15
  191. data/spec/crowbar/client/command/node/delete_spec.rb +7 -15
  192. data/spec/crowbar/client/command/node/group_spec.rb +7 -15
  193. data/spec/crowbar/client/command/node/hardware_spec.rb +7 -15
  194. data/spec/crowbar/client/command/node/identify_spec.rb +7 -15
  195. data/spec/crowbar/client/command/node/list_spec.rb +9 -17
  196. data/spec/crowbar/client/command/node/powercycle_spec.rb +7 -15
  197. data/spec/crowbar/client/command/node/poweroff_spec.rb +7 -15
  198. data/spec/crowbar/client/command/node/poweron_spec.rb +7 -15
  199. data/spec/crowbar/client/command/node/reboot_spec.rb +7 -15
  200. data/spec/crowbar/client/command/node/reinstall_spec.rb +7 -15
  201. data/spec/crowbar/client/command/node/rename_spec.rb +7 -15
  202. data/spec/crowbar/client/command/node/reset_spec.rb +7 -15
  203. data/spec/crowbar/client/command/node/role_spec.rb +7 -15
  204. data/spec/crowbar/client/command/node/show_spec.rb +7 -15
  205. data/spec/crowbar/client/command/node/shutdown_spec.rb +7 -15
  206. data/spec/crowbar/client/command/node/status_spec.rb +7 -15
  207. data/spec/crowbar/client/command/node/transition_spec.rb +7 -15
  208. data/spec/crowbar/client/command/proposal/commit_spec.rb +7 -15
  209. data/spec/crowbar/client/command/proposal/delete_spec.rb +7 -15
  210. data/spec/crowbar/client/command/proposal/dequeue_spec.rb +7 -15
  211. data/spec/crowbar/client/command/proposal/list_spec.rb +7 -15
  212. data/spec/crowbar/client/command/proposal/reset_spec.rb +7 -15
  213. data/spec/crowbar/client/command/proposal/show_spec.rb +7 -15
  214. data/spec/crowbar/client/command/repository/activate_all_spec.rb +7 -15
  215. data/spec/crowbar/client/command/repository/activate_spec.rb +7 -15
  216. data/spec/crowbar/client/command/repository/deactivate_all_spec.rb +7 -15
  217. data/spec/crowbar/client/command/repository/deactivate_spec.rb +7 -15
  218. data/spec/crowbar/client/command/repository/list_spec.rb +7 -15
  219. data/spec/crowbar/client/command/role/list_spec.rb +7 -15
  220. data/spec/crowbar/client/command/role/show_spec.rb +7 -15
  221. data/spec/crowbar/client/command/server/api_spec.rb +7 -15
  222. data/spec/crowbar/client/command/server/check_spec.rb +31 -0
  223. data/spec/crowbar/client/command/virtual_ip/allocate_spec.rb +7 -15
  224. data/spec/crowbar/client/command/virtual_ip/deallocate_spec.rb +7 -15
  225. data/spec/crowbar/client/request/server/check_spec.rb +50 -0
  226. data/spec/support/command_examples.rb +59 -0
  227. metadata +117 -95
@@ -17,6 +17,9 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the batch request implementations
22
+ #
20
23
  module Batch
21
24
  autoload :Build,
22
25
  File.expand_path("../batch/build", __FILE__)
@@ -18,6 +18,9 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Batch
21
+ #
22
+ # Implementation for the batch build request
23
+ #
21
24
  class Build < Base
22
25
  def params
23
26
  {
@@ -30,10 +33,20 @@ module Crowbar
30
33
  }
31
34
  end
32
35
 
36
+ #
37
+ # HTTP method that gets used by the request
38
+ #
39
+ # @return [Symbol] the method for the request
40
+ #
33
41
  def method
34
42
  :post
35
43
  end
36
44
 
45
+ #
46
+ # Path to the API endpoint for the request
47
+ #
48
+ # @return [String] path to the API endpoint
49
+ #
37
50
  def url
38
51
  [
39
52
  "utils",
@@ -20,7 +20,15 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module Batch
23
+ #
24
+ # Implementation for the batch export request
25
+ #
23
26
  class Export < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  includes: attrs.includes,
@@ -28,10 +36,20 @@ module Crowbar
28
36
  )
29
37
  end
30
38
 
39
+ #
40
+ # HTTP method that gets used by the request
41
+ #
42
+ # @return [Symbol] the method for the request
43
+ #
31
44
  def method
32
45
  :post
33
46
  end
34
47
 
48
+ #
49
+ # Path to the API endpoint for the request
50
+ #
51
+ # @return [String] path to the API endpoint
52
+ #
35
53
  def url
36
54
  [
37
55
  "utils",
@@ -17,6 +17,9 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the host IP request implementations
22
+ #
20
23
  module HostIP
21
24
  autoload :Allocate,
22
25
  File.expand_path("../host_ip/allocate", __FILE__)
@@ -20,7 +20,15 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module HostIP
23
+ #
24
+ # Implementation for the host IP allocate request
25
+ #
23
26
  class Allocate < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  name: attrs.node,
@@ -30,10 +38,20 @@ module Crowbar
30
38
  )
31
39
  end
32
40
 
41
+ #
42
+ # HTTP method that gets used by the request
43
+ #
44
+ # @return [Symbol] the method for the request
45
+ #
33
46
  def method
34
47
  :post
35
48
  end
36
49
 
50
+ #
51
+ # Path to the API endpoint for the request
52
+ #
53
+ # @return [String] path to the API endpoint
54
+ #
37
55
  def url
38
56
  [
39
57
  "crowbar",
@@ -20,7 +20,15 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module HostIP
23
+ #
24
+ # Implementation for the host IP deallocate request
25
+ #
23
26
  class Deallocate < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  name: attrs.node,
@@ -28,10 +36,20 @@ module Crowbar
28
36
  )
29
37
  end
30
38
 
39
+ #
40
+ # HTTP method that gets used by the request
41
+ #
42
+ # @return [Symbol] the method for the request
43
+ #
31
44
  def method
32
45
  :post
33
46
  end
34
47
 
48
+ #
49
+ # Path to the API endpoint for the request
50
+ #
51
+ # @return [String] path to the API endpoint
52
+ #
35
53
  def url
36
54
  [
37
55
  "crowbar",
@@ -17,6 +17,9 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the installer request implementations
22
+ #
20
23
  module Installer
21
24
  autoload :Status,
22
25
  File.expand_path("../installer/status", __FILE__)
@@ -20,17 +20,35 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module Installer
23
+ #
24
+ # Implementation for the installer start request
25
+ #
23
26
  class Start < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  force: attrs.force
27
35
  )
28
36
  end
29
37
 
38
+ #
39
+ # HTTP method that gets used by the request
40
+ #
41
+ # @return [Symbol] the method for the request
42
+ #
30
43
  def method
31
44
  :post
32
45
  end
33
46
 
47
+ #
48
+ # Path to the API endpoint for the request
49
+ #
50
+ # @return [String] path to the API endpoint
51
+ #
34
52
  def url
35
53
  [
36
54
  "installer",
@@ -18,11 +18,24 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Installer
21
+ #
22
+ # Implementation for the installer status request
23
+ #
21
24
  class Status < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
22
30
  def method
23
31
  :get
24
32
  end
25
33
 
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
26
39
  def url
27
40
  [
28
41
  "installer",
@@ -17,6 +17,9 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the interface request implementations
22
+ #
20
23
  module Interface
21
24
  autoload :Disable,
22
25
  File.expand_path("../interface/disable", __FILE__)
@@ -20,7 +20,15 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module Interface
23
+ #
24
+ # Implementation for the interface disable request
25
+ #
23
26
  class Disable < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  name: attrs.node,
@@ -28,10 +36,20 @@ module Crowbar
28
36
  )
29
37
  end
30
38
 
39
+ #
40
+ # HTTP method that gets used by the request
41
+ #
42
+ # @return [Symbol] the method for the request
43
+ #
31
44
  def method
32
45
  :post
33
46
  end
34
47
 
48
+ #
49
+ # Path to the API endpoint for the request
50
+ #
51
+ # @return [String] path to the API endpoint
52
+ #
35
53
  def url
36
54
  [
37
55
  "crowbar",
@@ -20,7 +20,15 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module Interface
23
+ #
24
+ # Implementation for the interface enable request
25
+ #
23
26
  class Enable < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  name: attrs.node,
@@ -28,10 +36,20 @@ module Crowbar
28
36
  )
29
37
  end
30
38
 
39
+ #
40
+ # HTTP method that gets used by the request
41
+ #
42
+ # @return [Symbol] the method for the request
43
+ #
31
44
  def method
32
45
  :post
33
46
  end
34
47
 
48
+ #
49
+ # Path to the API endpoint for the request
50
+ #
51
+ # @return [String] path to the API endpoint
52
+ #
35
53
  def url
36
54
  [
37
55
  "crowbar",
@@ -17,28 +17,61 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the node request implementations
22
+ #
20
23
  module Node
21
24
  autoload :Action,
22
25
  File.expand_path("../node/action", __FILE__)
23
26
 
27
+ autoload :Allocate,
28
+ File.expand_path("../node/allocate", __FILE__)
29
+
24
30
  autoload :Delete,
25
31
  File.expand_path("../node/delete", __FILE__)
26
32
 
27
33
  autoload :Group,
28
34
  File.expand_path("../node/group", __FILE__)
29
35
 
36
+ autoload :Hardware,
37
+ File.expand_path("../node/hardware", __FILE__)
38
+
39
+ autoload :Identify,
40
+ File.expand_path("../node/identify", __FILE__)
41
+
30
42
  autoload :List,
31
43
  File.expand_path("../node/list", __FILE__)
32
44
 
45
+ autoload :Powercycle,
46
+ File.expand_path("../node/powercycle", __FILE__)
47
+
48
+ autoload :Poweroff,
49
+ File.expand_path("../node/poweroff", __FILE__)
50
+
51
+ autoload :Poweron,
52
+ File.expand_path("../node/poweron", __FILE__)
53
+
54
+ autoload :Reboot,
55
+ File.expand_path("../node/reboot", __FILE__)
56
+
57
+ autoload :Reinstall,
58
+ File.expand_path("../node/reinstall", __FILE__)
59
+
33
60
  autoload :Rename,
34
61
  File.expand_path("../node/rename", __FILE__)
35
62
 
63
+ autoload :Reset,
64
+ File.expand_path("../node/reset", __FILE__)
65
+
36
66
  autoload :Role,
37
67
  File.expand_path("../node/role", __FILE__)
38
68
 
39
69
  autoload :Show,
40
70
  File.expand_path("../node/show", __FILE__)
41
71
 
72
+ autoload :Shutdown,
73
+ File.expand_path("../node/shutdown", __FILE__)
74
+
42
75
  autoload :Status,
43
76
  File.expand_path("../node/status", __FILE__)
44
77
 
@@ -18,11 +18,24 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Node
21
+ #
22
+ # Implementation for the node action request
23
+ #
21
24
  class Action < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
22
30
  def method
23
31
  :post
24
32
  end
25
33
 
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
26
39
  def url
27
40
  [
28
41
  "crowbar",
@@ -0,0 +1,29 @@
1
+ #
2
+ # Copyright 2016, SUSE Linux GmbH
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ module Crowbar
18
+ module Client
19
+ module Request
20
+ module Node
21
+ #
22
+ # Implementation for the node allocate request
23
+ #
24
+ class Allocate < Action
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -18,11 +18,24 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Node
21
+ #
22
+ # Implementation for the node delete request
23
+ #
21
24
  class Delete < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
22
30
  def method
23
31
  :delete
24
32
  end
25
33
 
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
26
39
  def url
27
40
  [
28
41
  "crowbar",