class Morpheus::ContainersInterface
Containers API interface. All of the PUT methods support passing an array of IDs.
Public Instance Methods
action(container_id, action_code, payload={})
click to toggle source
# 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={})
click to toggle source
# 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)
click to toggle source
# 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()
click to toggle source
# File lib/morpheus/api/containers_interface.rb, line 7 def base_path "/api/containers" end
clone_image(container_id, payload={}, headers={})
click to toggle source
# 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={})
click to toggle source
# 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={})
click to toggle source
# 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)
click to toggle source
# 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={})
click to toggle source
# 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={})
click to toggle source
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 {:ids => [1,2,3]}
# 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={})
click to toggle source
# 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={})
click to toggle source
# 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={})
click to toggle source
# 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={})
click to toggle source
# 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