crowbar-client 2.4.1 → 2.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +18 -6
- data/lib/crowbar/client.rb +54 -0
- data/lib/crowbar/client/app.rb +3 -0
- data/lib/crowbar/client/app/backup.rb +62 -1
- data/lib/crowbar/client/app/barclamp.rb +10 -0
- data/lib/crowbar/client/app/base.rb +50 -0
- data/lib/crowbar/client/app/batch.rb +25 -0
- data/lib/crowbar/client/app/entry.rb +26 -1
- data/lib/crowbar/client/app/host_ip.rb +24 -0
- data/lib/crowbar/client/app/installer.rb +16 -1
- data/lib/crowbar/client/app/interface.rb +21 -0
- data/lib/crowbar/client/app/network.rb +3 -0
- data/lib/crowbar/client/app/node.rb +3 -0
- data/lib/crowbar/client/app/proposal.rb +3 -0
- data/lib/crowbar/client/app/repository.rb +3 -0
- data/lib/crowbar/client/app/role.rb +3 -0
- data/lib/crowbar/client/app/server.rb +56 -0
- data/lib/crowbar/client/app/virtual_ip.rb +24 -0
- data/lib/crowbar/client/command.rb +3 -0
- data/lib/crowbar/client/command/backup.rb +3 -0
- data/lib/crowbar/client/command/backup/create.rb +3 -0
- data/lib/crowbar/client/command/backup/delete.rb +3 -0
- data/lib/crowbar/client/command/backup/download.rb +3 -0
- data/lib/crowbar/client/command/backup/list.rb +3 -0
- data/lib/crowbar/client/command/backup/restore.rb +3 -0
- data/lib/crowbar/client/command/backup/upload.rb +3 -0
- data/lib/crowbar/client/command/barclamp.rb +3 -0
- data/lib/crowbar/client/command/barclamp/list.rb +3 -0
- data/lib/crowbar/client/command/base.rb +3 -0
- data/lib/crowbar/client/command/batch.rb +3 -0
- data/lib/crowbar/client/command/batch/build.rb +3 -0
- data/lib/crowbar/client/command/batch/export.rb +3 -0
- data/lib/crowbar/client/command/host_ip.rb +3 -0
- data/lib/crowbar/client/command/host_ip/allocate.rb +3 -0
- data/lib/crowbar/client/command/host_ip/deallocate.rb +3 -0
- data/lib/crowbar/client/command/installer.rb +3 -0
- data/lib/crowbar/client/command/installer/start.rb +3 -0
- data/lib/crowbar/client/command/installer/status.rb +3 -0
- data/lib/crowbar/client/command/interface.rb +3 -0
- data/lib/crowbar/client/command/interface/disable.rb +3 -0
- data/lib/crowbar/client/command/interface/enable.rb +3 -0
- data/lib/crowbar/client/command/node.rb +3 -0
- data/lib/crowbar/client/command/node/allocate.rb +4 -1
- data/lib/crowbar/client/command/node/delete.rb +3 -0
- data/lib/crowbar/client/command/node/group.rb +3 -0
- data/lib/crowbar/client/command/node/hardware.rb +4 -1
- data/lib/crowbar/client/command/node/identify.rb +4 -1
- data/lib/crowbar/client/command/node/list.rb +3 -0
- data/lib/crowbar/client/command/node/powercycle.rb +4 -1
- data/lib/crowbar/client/command/node/poweroff.rb +4 -1
- data/lib/crowbar/client/command/node/poweron.rb +4 -1
- data/lib/crowbar/client/command/node/reboot.rb +4 -1
- data/lib/crowbar/client/command/node/reinstall.rb +4 -1
- data/lib/crowbar/client/command/node/rename.rb +3 -0
- data/lib/crowbar/client/command/node/reset.rb +4 -1
- data/lib/crowbar/client/command/node/role.rb +3 -0
- data/lib/crowbar/client/command/node/show.rb +3 -0
- data/lib/crowbar/client/command/node/shutdown.rb +4 -1
- data/lib/crowbar/client/command/node/status.rb +3 -0
- data/lib/crowbar/client/command/node/transition.rb +3 -0
- data/lib/crowbar/client/command/proposal.rb +3 -0
- data/lib/crowbar/client/command/proposal/commit.rb +3 -0
- data/lib/crowbar/client/command/proposal/create.rb +3 -0
- data/lib/crowbar/client/command/proposal/delete.rb +3 -0
- data/lib/crowbar/client/command/proposal/dequeue.rb +3 -0
- data/lib/crowbar/client/command/proposal/edit.rb +3 -0
- data/lib/crowbar/client/command/proposal/list.rb +3 -0
- data/lib/crowbar/client/command/proposal/reset.rb +3 -0
- data/lib/crowbar/client/command/proposal/show.rb +3 -0
- data/lib/crowbar/client/command/repository.rb +3 -0
- data/lib/crowbar/client/command/repository/activate.rb +3 -0
- data/lib/crowbar/client/command/repository/activate_all.rb +3 -0
- data/lib/crowbar/client/command/repository/deactivate.rb +3 -0
- data/lib/crowbar/client/command/repository/deactivate_all.rb +3 -0
- data/lib/crowbar/client/command/repository/list.rb +3 -0
- data/lib/crowbar/client/command/role.rb +3 -0
- data/lib/crowbar/client/command/role/list.rb +3 -0
- data/lib/crowbar/client/command/role/show.rb +3 -0
- data/lib/crowbar/client/command/server.rb +5 -0
- data/lib/crowbar/client/command/server/api.rb +3 -0
- data/lib/crowbar/client/command/server/check.rb +75 -0
- data/lib/crowbar/client/command/virtual_ip.rb +3 -0
- data/lib/crowbar/client/command/virtual_ip/allocate.rb +3 -0
- data/lib/crowbar/client/command/virtual_ip/deallocate.rb +3 -0
- data/lib/crowbar/client/config.rb +128 -1
- data/lib/crowbar/client/filter.rb +3 -0
- data/lib/crowbar/client/filter/array.rb +3 -0
- data/lib/crowbar/client/filter/base.rb +3 -0
- data/lib/crowbar/client/filter/hash.rb +3 -0
- data/lib/crowbar/client/filter/subset.rb +3 -0
- data/lib/crowbar/client/formatter.rb +3 -0
- data/lib/crowbar/client/formatter/array.rb +3 -0
- data/lib/crowbar/client/formatter/base.rb +3 -0
- data/lib/crowbar/client/formatter/hash.rb +3 -0
- data/lib/crowbar/client/formatter/nested.rb +3 -0
- data/lib/crowbar/client/mixin.rb +3 -0
- data/lib/crowbar/client/mixin/barclamp.rb +3 -0
- data/lib/crowbar/client/mixin/filter.rb +3 -0
- data/lib/crowbar/client/mixin/format.rb +3 -0
- data/lib/crowbar/client/request.rb +3 -0
- data/lib/crowbar/client/request/backup.rb +3 -0
- data/lib/crowbar/client/request/backup/create.rb +18 -0
- data/lib/crowbar/client/request/backup/delete.rb +13 -0
- data/lib/crowbar/client/request/backup/download.rb +13 -0
- data/lib/crowbar/client/request/backup/list.rb +13 -0
- data/lib/crowbar/client/request/backup/restore.rb +13 -0
- data/lib/crowbar/client/request/backup/upload.rb +13 -0
- data/lib/crowbar/client/request/barclamp.rb +3 -0
- data/lib/crowbar/client/request/barclamp/list.rb +13 -0
- data/lib/crowbar/client/request/base.rb +42 -11
- data/lib/crowbar/client/request/batch.rb +3 -0
- data/lib/crowbar/client/request/batch/build.rb +13 -0
- data/lib/crowbar/client/request/batch/export.rb +18 -0
- data/lib/crowbar/client/request/host_ip.rb +3 -0
- data/lib/crowbar/client/request/host_ip/allocate.rb +18 -0
- data/lib/crowbar/client/request/host_ip/deallocate.rb +18 -0
- data/lib/crowbar/client/request/installer.rb +3 -0
- data/lib/crowbar/client/request/installer/start.rb +18 -0
- data/lib/crowbar/client/request/installer/status.rb +13 -0
- data/lib/crowbar/client/request/interface.rb +3 -0
- data/lib/crowbar/client/request/interface/disable.rb +18 -0
- data/lib/crowbar/client/request/interface/enable.rb +18 -0
- data/lib/crowbar/client/request/node.rb +33 -0
- data/lib/crowbar/client/request/node/action.rb +13 -0
- data/lib/crowbar/client/request/node/allocate.rb +29 -0
- data/lib/crowbar/client/request/node/delete.rb +13 -0
- data/lib/crowbar/client/request/node/group.rb +13 -0
- data/lib/crowbar/client/request/node/hardware.rb +29 -0
- data/lib/crowbar/client/request/node/identify.rb +29 -0
- data/lib/crowbar/client/request/node/list.rb +13 -0
- data/lib/crowbar/client/request/node/powercycle.rb +29 -0
- data/lib/crowbar/client/request/node/poweroff.rb +29 -0
- data/lib/crowbar/client/request/node/poweron.rb +29 -0
- data/lib/crowbar/client/request/node/reboot.rb +29 -0
- data/lib/crowbar/client/request/node/reinstall.rb +29 -0
- data/lib/crowbar/client/request/node/rename.rb +18 -0
- data/lib/crowbar/client/request/node/reset.rb +29 -0
- data/lib/crowbar/client/request/node/role.rb +18 -0
- data/lib/crowbar/client/request/node/show.rb +13 -0
- data/lib/crowbar/client/request/node/shutdown.rb +29 -0
- data/lib/crowbar/client/request/node/status.rb +13 -0
- data/lib/crowbar/client/request/node/transition.rb +18 -0
- data/lib/crowbar/client/request/party.rb +3 -0
- data/lib/crowbar/client/request/proposal.rb +3 -0
- data/lib/crowbar/client/request/proposal/commit.rb +13 -0
- data/lib/crowbar/client/request/proposal/create.rb +18 -0
- data/lib/crowbar/client/request/proposal/delete.rb +13 -0
- data/lib/crowbar/client/request/proposal/dequeue.rb +13 -0
- data/lib/crowbar/client/request/proposal/edit.rb +18 -0
- data/lib/crowbar/client/request/proposal/list.rb +13 -0
- data/lib/crowbar/client/request/proposal/reset.rb +13 -0
- data/lib/crowbar/client/request/proposal/show.rb +13 -0
- data/lib/crowbar/client/request/proposal/template.rb +13 -0
- data/lib/crowbar/client/request/repository.rb +3 -0
- data/lib/crowbar/client/request/repository/activate.rb +18 -0
- data/lib/crowbar/client/request/repository/activate_all.rb +13 -0
- data/lib/crowbar/client/request/repository/deactivate.rb +18 -0
- data/lib/crowbar/client/request/repository/deactivate_all.rb +13 -0
- data/lib/crowbar/client/request/repository/list.rb +13 -0
- data/lib/crowbar/client/request/role.rb +3 -0
- data/lib/crowbar/client/request/role/list.rb +13 -0
- data/lib/crowbar/client/request/role/show.rb +13 -0
- data/lib/crowbar/client/request/server.rb +5 -0
- data/lib/crowbar/client/request/server/api.rb +13 -0
- data/lib/crowbar/client/request/server/check.rb +49 -0
- data/lib/crowbar/client/request/virtual_ip.rb +3 -0
- data/lib/crowbar/client/request/virtual_ip/allocate.rb +18 -0
- data/lib/crowbar/client/request/virtual_ip/deallocate.rb +18 -0
- data/lib/crowbar/client/util.rb +3 -0
- data/lib/crowbar/client/util/editor.rb +3 -0
- data/lib/crowbar/client/util/runner.rb +3 -0
- data/lib/crowbar/client/version.rb +23 -1
- data/spec/crowbar/client/command/backup/create_spec.rb +8 -16
- data/spec/crowbar/client/command/backup/delete_spec.rb +8 -16
- data/spec/crowbar/client/command/backup/download_spec.rb +8 -16
- data/spec/crowbar/client/command/backup/list_spec.rb +7 -15
- data/spec/crowbar/client/command/backup/restore_spec.rb +8 -16
- data/spec/crowbar/client/command/backup/upload_spec.rb +11 -19
- data/spec/crowbar/client/command/barclamp/list_spec.rb +7 -15
- data/spec/crowbar/client/command/batch/build_spec.rb +11 -19
- data/spec/crowbar/client/command/batch/export_spec.rb +7 -15
- data/spec/crowbar/client/command/host_ip/allocate_spec.rb +7 -15
- data/spec/crowbar/client/command/host_ip/deallocate_spec.rb +7 -15
- data/spec/crowbar/client/command/installer/start_spec.rb +8 -16
- data/spec/crowbar/client/command/installer/status_spec.rb +7 -15
- data/spec/crowbar/client/command/interface/disable_spec.rb +7 -15
- data/spec/crowbar/client/command/interface/enable_spec.rb +7 -15
- data/spec/crowbar/client/command/node/allocate_spec.rb +7 -15
- data/spec/crowbar/client/command/node/delete_spec.rb +7 -15
- data/spec/crowbar/client/command/node/group_spec.rb +7 -15
- data/spec/crowbar/client/command/node/hardware_spec.rb +7 -15
- data/spec/crowbar/client/command/node/identify_spec.rb +7 -15
- data/spec/crowbar/client/command/node/list_spec.rb +9 -17
- data/spec/crowbar/client/command/node/powercycle_spec.rb +7 -15
- data/spec/crowbar/client/command/node/poweroff_spec.rb +7 -15
- data/spec/crowbar/client/command/node/poweron_spec.rb +7 -15
- data/spec/crowbar/client/command/node/reboot_spec.rb +7 -15
- data/spec/crowbar/client/command/node/reinstall_spec.rb +7 -15
- data/spec/crowbar/client/command/node/rename_spec.rb +7 -15
- data/spec/crowbar/client/command/node/reset_spec.rb +7 -15
- data/spec/crowbar/client/command/node/role_spec.rb +7 -15
- data/spec/crowbar/client/command/node/show_spec.rb +7 -15
- data/spec/crowbar/client/command/node/shutdown_spec.rb +7 -15
- data/spec/crowbar/client/command/node/status_spec.rb +7 -15
- data/spec/crowbar/client/command/node/transition_spec.rb +7 -15
- data/spec/crowbar/client/command/proposal/commit_spec.rb +7 -15
- data/spec/crowbar/client/command/proposal/delete_spec.rb +7 -15
- data/spec/crowbar/client/command/proposal/dequeue_spec.rb +7 -15
- data/spec/crowbar/client/command/proposal/list_spec.rb +7 -15
- data/spec/crowbar/client/command/proposal/reset_spec.rb +7 -15
- data/spec/crowbar/client/command/proposal/show_spec.rb +7 -15
- data/spec/crowbar/client/command/repository/activate_all_spec.rb +7 -15
- data/spec/crowbar/client/command/repository/activate_spec.rb +7 -15
- data/spec/crowbar/client/command/repository/deactivate_all_spec.rb +7 -15
- data/spec/crowbar/client/command/repository/deactivate_spec.rb +7 -15
- data/spec/crowbar/client/command/repository/list_spec.rb +7 -15
- data/spec/crowbar/client/command/role/list_spec.rb +7 -15
- data/spec/crowbar/client/command/role/show_spec.rb +7 -15
- data/spec/crowbar/client/command/server/api_spec.rb +7 -15
- data/spec/crowbar/client/command/server/check_spec.rb +31 -0
- data/spec/crowbar/client/command/virtual_ip/allocate_spec.rb +7 -15
- data/spec/crowbar/client/command/virtual_ip/deallocate_spec.rb +7 -15
- data/spec/crowbar/client/request/server/check_spec.rb +50 -0
- data/spec/support/command_examples.rb +59 -0
- metadata +117 -95
@@ -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",
|
@@ -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",
|
@@ -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",
|
@@ -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",
|