Module: Idcf::Ilb::ClientExtensions::Server

Included in:
Idcf::Ilb::Client
Defined in:
lib/idcf/ilb/client_extensions/server.rb

Overview

SDK APIs for server resource

Instance Method Summary collapse

Instance Method Details

#add_server(lb_id, config_id, data, headers = {}) ⇒ Array<Hash>

Add a loadbalancer config’s server.

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

  • data (Hash)

    add server hash

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

    HTTP request headers

Options Hash (data):

  • :ipaddress (String) — default: required
  • :port (Integer) — default: required

Returns:

  • (Array<Hash>)

    An array of [loadbalancer’s config server] hash



15
16
17
18
19
# File 'lib/idcf/ilb/client_extensions/server.rb', line 15

def add_server(lb_id, config_id, data, headers = {})
  Validators::Server.validate_attributes!(data, :add)
  res = post!("loadbalancers/#{lb_id}/configs/#{config_id}/servers", data, headers)
  check_job(res.body["job_id"], headers, ["list_servers", lb_id, config_id], false)
end

#delete_server(lb_id, config_id, id, headers = {}) ⇒ Array<Hash>

Delete a [loadbalancer’s config server]

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

  • id (String)

    ID of loadbalancer’s config server

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

    HTTP request headers

Returns:

  • (Array<Hash>)

    An array of [loadbalancer’s config server] hash



39
40
41
42
# File 'lib/idcf/ilb/client_extensions/server.rb', line 39

def delete_server(lb_id, config_id, id, headers = {})
  res = delete!("loadbalancers/#{lb_id}/configs/#{config_id}/servers/#{id}", {}, headers)
  check_job(res.body["job_id"], headers, ["list_servers", lb_id, config_id], false)
end

#list_servers(lb_id, config_id, headers = {}) ⇒ Array<Hash>

Get list of existing [loadbalancer’s config servers]

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

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

    HTTP request headers

Returns:

  • (Array<Hash>)

    An array of [loadbalancer’s config server] hash



27
28
29
30
# File 'lib/idcf/ilb/client_extensions/server.rb', line 27

def list_servers(lb_id, config_id, headers = {})
  res = get!("loadbalancers/#{lb_id}/configs/#{config_id}/servers", {}, headers)
  res.body
end