Module: Hyperb::Services

Includes:
Utils
Included in:
API
Defined in:
lib/hyperb/services/services.rb

Overview

services module

Instance Method Summary collapse

Methods included from Utils

#camelize, #check_arguments, #downcase_symbolize, #prepare_json, #underscore

Instance Method Details

#create_service(params = {}) ⇒ Hash

create a service

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

  • params (String) (defaults to: {})

    :image service name

  • params (String) (defaults to: {})

    :name image name

  • params (Fixnum) (defaults to: {})

    :replicas numer of replicas

  • params (Fixnum) (defaults to: {})

    :serviceport service port

  • params (Fixnum) (defaults to: {})

    :containerport container port

  • params (Hash) (defaults to: {})

    :labels hash containing labels

  • params (String) (defaults to: {})

    :entrypoint entrypoint

  • params (String) (defaults to: {})

    :cmd command

  • params (Boolean) (defaults to: {})

    :stdin keep STDIN open even if not attached.

  • params (Array) (defaults to: {})

    :env array of envs [“env=value”, [“env2=value”]]

  • params (String) (defaults to: {})

    :algorithm algorithm of the service, ‘roundrobin’, ‘leastconn’

  • params (String) (defaults to: {})

    :protocol prot

  • params (String) (defaults to: {})

    :workingdir working directory

  • params (Boolean) (defaults to: {})

    :sessionaffinity whether the service uses sticky sessions.

  • params (String) (defaults to: {})

    :securitygroups security group for the container.

Returns:

  • (Hash)

    Hash containing service information.

Raises:

See Also:



36
37
38
39
40
41
42
43
# File 'lib/hyperb/services/services.rb', line 36

def create_service(params = {})
  valid = check_arguments(params, 'name', 'image', 'replicas', 'serviceport', 'labels')
  raise ArgumentError, 'Invalid arguments.' unless valid
  path = '/services/create'
  body = {}
  body.merge!(params)
  downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, {}, 'post', body).perform))
end

#inspect_service(params = {}) ⇒ Object

inspect a service

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

Options Hash (params):

  • :name (String)

    service name.

Raises:

See Also:



72
73
74
75
76
77
# File 'lib/hyperb/services/services.rb', line 72

def inspect_service(params = {})
  valid = check_arguments(params, 'name')
  raise ArgumentError, 'Invalid arguments.' unless valid
  path = '/services/' + params[:name]
  downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, {}, 'get').perform))
end

#remove_service(params = {}) ⇒ Object

remove service

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

Options Hash (params):

  • :keep (String)

    if true, keep containers running while removing the service.

  • :name (String)

    service name.

Raises:

See Also:



55
56
57
58
59
60
61
# File 'lib/hyperb/services/services.rb', line 55

def remove_service(params = {})
  raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'name')
  path = '/services/' + params[:name]
  query = {}
  query[:keep] = params[:keep] if params.key?(:keep)
  Hyperb::Request.new(self, path, query, 'delete').perform
end

#servicesObject

list service

Raises:

See Also:



85
86
87
88
# File 'lib/hyperb/services/services.rb', line 85

def services
  path = '/services'
  downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, {}, 'get').perform))
end