Class: Morpheus::ContainersInterface
- Inherits:
-
APIClient
- Object
- APIClient
- Morpheus::ContainersInterface
- Defined in:
- lib/morpheus/api/containers_interface.rb
Overview
Containers API interface. All of the PUT methods support passing an array of IDs.
Instance Method Summary collapse
- #action(container_id, action_code, payload = {}) ⇒ Object
- #attach_floating_ip(container_id, payload = {}, headers = {}) ⇒ Object
- #available_actions(container_id) ⇒ Object
- #base_path ⇒ Object
- #clone_image(container_id, payload = {}, headers = {}) ⇒ Object
- #detach_floating_ip(container_id, payload = {}, headers = {}) ⇒ Object
- #eject(container_id, payload = {}) ⇒ Object
- #get(container_id) ⇒ Object
- #import(container_id, payload = {}, headers = {}) ⇒ Object
-
#list(params = {}) ⇒ Object
not used atm..
- #restart(container_id, payload = {}) ⇒ Object
- #start(container_id, payload = {}) ⇒ Object
- #stop(container_id, payload = {}) ⇒ Object
- #suspend(container_id, payload = {}) ⇒ Object
Instance Method Details
#action(container_id, action_code, payload = {}) ⇒ Object
111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/morpheus/api/containers_interface.rb', line 111 def action(container_id, action_code, payload={}) url, params = "", {} if container_id.is_a?(Array) url = "#{base_path}/action" params = {ids: container_id, code: action_code} else url = "#{base_path}/#{container_id}/action" params = {code: action_code} end headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :put, url: url, headers: headers, payload: payload.to_json} execute(opts) end |
#attach_floating_ip(container_id, payload = {}, headers = {}) ⇒ Object
135 136 137 138 |
# File 'lib/morpheus/api/containers_interface.rb', line 135 def attach_floating_ip(container_id, payload={}, headers={}) validate_id!(container_id) execute(method: :put, url: "#{base_path}/#{container_id}/attach-floating-ip", payload: payload, headers: headers) end |
#available_actions(container_id) ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/morpheus/api/containers_interface.rb', line 97 def available_actions(container_id) url, params = "", {} if container_id.is_a?(Array) url = "#{base_path}/actions" params = {ids: container_id} else url = "#{base_path}/#{container_id}/actions" params = {} end headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :get, url: url, headers: headers} execute(opts) end |
#base_path ⇒ Object
7 8 9 |
# File 'lib/morpheus/api/containers_interface.rb', line 7 def base_path "/api/containers" end |
#clone_image(container_id, payload = {}, headers = {}) ⇒ Object
130 131 132 133 |
# File 'lib/morpheus/api/containers_interface.rb', line 130 def clone_image(container_id, payload={}, headers={}) validate_id!(container_id) execute(method: :put, url: "#{base_path}/#{container_id}/clone-image", payload: payload, headers: headers) end |
#detach_floating_ip(container_id, payload = {}, headers = {}) ⇒ Object
140 141 142 143 |
# File 'lib/morpheus/api/containers_interface.rb', line 140 def detach_floating_ip(container_id, payload={}, headers={}) validate_id!(container_id) execute(method: :put, url: "#{base_path}/#{container_id}/detach-floating-ip", payload: payload, headers: headers) end |
#eject(container_id, payload = {}) ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/morpheus/api/containers_interface.rb', line 83 def eject(container_id, payload={}) url, params = "", {} if container_id.is_a?(Array) url = "#{base_path}/eject" params = {ids: container_id} else url = "#{base_path}/#{container_id}/eject" params = {} end headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :put, url: url, headers: headers, payload: payload.to_json} execute(opts) end |
#get(container_id) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/morpheus/api/containers_interface.rb', line 20 def get(container_id) url = "#{base_path}/#{container_id}" headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :get, url: url, headers: headers} execute(opts) end |
#import(container_id, payload = {}, headers = {}) ⇒ Object
125 126 127 128 |
# File 'lib/morpheus/api/containers_interface.rb', line 125 def import(container_id, payload={}, headers={}) validate_id!(container_id) execute(method: :put, url: "#{base_path}/#{container_id}/import", payload: payload, headers: headers) end |
#list(params = {}) ⇒ Object
not used atm.. index api needs some work, we should implement it so it just paginates all containers. right now you can to pass params as => [1,2,3]
13 14 15 16 17 18 |
# File 'lib/morpheus/api/containers_interface.rb', line 13 def list(params={}) url = "#{base_path}" headers = { params: params, authorization: "Bearer #{@access_token}" } opts = {method: :get, url: url, headers: headers} execute(opts) end |
#restart(container_id, payload = {}) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/morpheus/api/containers_interface.rb', line 55 def restart(container_id, payload={}) url, params = "", {} if container_id.is_a?(Array) url = "#{base_path}/restart" params = {ids: container_id} else url = "#{base_path}/#{container_id}/restart" params = {} end headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :put, url: url, headers: headers, payload: payload.to_json} execute(opts) end |
#start(container_id, payload = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/morpheus/api/containers_interface.rb', line 41 def start(container_id, payload={}) url, params = "", {} if container_id.is_a?(Array) url = "#{base_path}/start" params = {ids: container_id} else url = "#{base_path}/#{container_id}/start" params = {} end headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :put, url: url, headers: headers, payload: payload.to_json} execute(opts) end |
#stop(container_id, payload = {}) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/morpheus/api/containers_interface.rb', line 27 def stop(container_id, payload={}) url, params = "", {} if container_id.is_a?(Array) url = "#{base_path}/stop" params = {ids: container_id} else url = "#{base_path}/#{container_id}/stop" params = {} end headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :put, url: url, headers: headers, payload: payload.to_json} execute(opts) end |
#suspend(container_id, payload = {}) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/morpheus/api/containers_interface.rb', line 69 def suspend(container_id, payload={}) url, params = "", {} if container_id.is_a?(Array) url = "#{base_path}/suspend" params = {ids: container_id} else url = "#{base_path}/#{container_id}/suspend" params = {} end headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' } opts = {method: :put, url: url, headers: headers, payload: payload.to_json} execute(opts) end |