Module: Hyperb::Containers
Overview
wrapper for containers api
Instance Method Summary collapse
-
#container_logs(params = {}) ⇒ HTTP::Response::Body
container logs.
-
#container_stats(params = {}) ⇒ HTTP::Response::Body
container stats.
-
#containers(params = {}) ⇒ Hyperb::Container
list existing containers.
-
#create_container(params = {}) ⇒ Hash
create a container.
-
#inspect_container(params = {}) ⇒ Hash
inspect a container.
-
#kill_container(params = {}) ⇒ Object
kill a container.
-
#remove_container(params = {}) ⇒ Hash
remove the container id.
-
#rename_container(params = {}) ⇒ Object
rename a container.
-
#start_container(params = {}) ⇒ Object
start a container.
-
#stop_container(params = {}) ⇒ Object
stop the container id.
Methods included from Utils
#camelize, #check_arguments, #downcase_symbolize, #prepare_json, #underscore
Instance Method Details
#container_logs(params = {}) ⇒ HTTP::Response::Body
container logs
190 191 192 193 194 195 196 197 |
# File 'lib/hyperb/containers/containers.rb', line 190 def container_logs(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id') path = '/containers/' + params[:id] + '/logs' query = {} params.delete(:id) query.merge!(params) Hyperb::Request.new(self, path, query, 'get').perform end |
#container_stats(params = {}) ⇒ HTTP::Response::Body
container stats
213 214 215 216 217 218 219 |
# File 'lib/hyperb/containers/containers.rb', line 213 def container_stats(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id') path = '/containers/' + params[:id] + '/stats' query = {} query[:stream] = params[:stream] if params.key?(:stream) Hyperb::Request.new(self, path, query, 'get').perform end |
#containers(params = {}) ⇒ Hyperb::Container
list existing containers
TODO: @option params [Hash] :filters JSON encoded value of the filters.
31 32 33 34 35 36 37 |
# File 'lib/hyperb/containers/containers.rb', line 31 def containers(params = {}) path = '/containers/json' query = {} query.merge!(params) response = JSON.parse(Hyperb::Request.new(self, path, query, 'get').perform) response.map { |container| Hyperb::Container.new(container) } end |
#create_container(params = {}) ⇒ Hash
create a container
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/hyperb/containers/containers.rb', line 111 def create_container(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'image') path = '/containers/create' query = {} # set default size, otherwise container can't be started body = { labels: { sh_hyper_instancetype: 's1' } } # parse host_config options if params.key?(:host_config) body[camelize(:host_config)] = setup_host_config(params) params.delete(:host_config) end query[:name] = params[:name] if params.key?(:name) params.delete(:name) body.merge!(params) downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, query, 'post', body).perform)) end |
#inspect_container(params = {}) ⇒ Hash
inspect a container
145 146 147 148 149 150 151 152 |
# File 'lib/hyperb/containers/containers.rb', line 145 def inspect_container(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id') path = '/containers/' + params[:id] + '/json' query = {} query[:size] = params[:size] if params.key?(:size) response = JSON.parse(Hyperb::Request.new(self, path, query, 'get').perform) downcase_symbolize(response) end |
#kill_container(params = {}) ⇒ Object
kill a container
232 233 234 235 236 237 238 |
# File 'lib/hyperb/containers/containers.rb', line 232 def kill_container(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id') path = '/containers/' + params[:id] + '/kill' query = {} query[:signal] = params[:signal] if params.key?(:signal) Hyperb::Request.new(self, path, query, 'post').perform end |
#remove_container(params = {}) ⇒ Hash
remove the container id
74 75 76 77 78 79 80 81 82 |
# File 'lib/hyperb/containers/containers.rb', line 74 def remove_container(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id') path = '/containers/' + params[:id] query = {} query[:v] = params[:v] if params.key?(:v) query[:force] = params[:force] if params.key?(:force) response = JSON.parse(Hyperb::Request.new(self, path, query, 'delete').perform) downcase_symbolize(response) end |
#rename_container(params = {}) ⇒ Object
rename a container
251 252 253 254 255 256 257 |
# File 'lib/hyperb/containers/containers.rb', line 251 def rename_container(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'name', 'id') path = '/containers/' + params[:id] + '/rename' query = {} query[:name] = params[:name] if params.key?(:name) Hyperb::Request.new(self, path, query, 'post').perform end |
#start_container(params = {}) ⇒ Object
start a container
165 166 167 168 169 |
# File 'lib/hyperb/containers/containers.rb', line 165 def start_container(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id') path = '/containers/' + params[:id] + '/start' Hyperb::Request.new(self, path, {}, 'post').perform end |
#stop_container(params = {}) ⇒ Object
stop the container id
51 52 53 54 55 56 57 |
# File 'lib/hyperb/containers/containers.rb', line 51 def stop_container(params = {}) raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id') path = '/containers/' + params[:id] + '/stop' query = {} query[:t] = params[:t] if params.key?(:t) Hyperb::Request.new(self, path, query, 'post').perform end |