Module: Idcf::Ilb::ClientExtensions::L7route

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

Overview

SDK APIs for l7route resource

Instance Method Summary collapse

Instance Method Details

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

Create a loadbalancer config’s l7route.

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

  • data (Hash)

    add l7route hash

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

    HTTP request headers

Options Hash (data):

  • :servers (Hash) — default: required
  • :pattern (String) — default: required

Returns:

  • (Array<Hash>)

    An array of [loadbalancer’s config server] hash



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

def create_l7route(lb_id, config_id, data, headers = {})
  Validators::L7route.validate_attributes!(data, :create)
  res = post!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes", data, headers)
  check_job(res.body["job_id"], headers, ["get_l7route", lb_id, config_id, res.body["resource_id"]], false)
end

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

Delete a [loadbalancer’s config l7route]

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

  • id (String)

    ID of loadbalancer’s config l7route

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

    HTTP request headers

Returns:

  • (Array<Hash>)

    An array of [loadbalancer’s config l7route] hash



49
50
51
52
# File 'lib/idcf/ilb/client_extensions/l7route.rb', line 49

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

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

Get of existing [loadbalancer’s config l7route]

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

  • id (String)

    ID of loadbalancer’s config l7route

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

    HTTP request headers

Returns:

  • (Array<Hash>)

    An array of [loadbalancer’s config l7route] hash



38
39
40
# File 'lib/idcf/ilb/client_extensions/l7route.rb', line 38

def get_l7route(lb_id, config_id, id, headers = {})
  get!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes/#{id}", {}, headers)
end

#l7routes(lb_id, config_id, headers = {}) ⇒ Array<Resources::L7route>

Get an array of existing l7routes objects.

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

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

    HTTP request headers

Returns:



76
77
78
79
80
# File 'lib/idcf/ilb/client_extensions/l7route.rb', line 76

def l7routes(lb_id, config_id, headers = {})
  list_l7routes(lb_id, config_id, headers).resources.map do |l7route|
    Resources::L7route.new(self, l7route)
  end
end

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

Get list of existing [loadbalancer’s config l7routes]

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 l7route] hash



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

def list_l7routes(lb_id, config_id, headers = {})
  get!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes", {}, headers)
end

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

Patch a l7route.

Parameters:

  • lb_id (String)

    ID of loadbalancer

  • config_id (String)

    ID of loadbalancer’s config

  • id (String)

    ID of loadbalancer’s config l7route

  • data (Hash)

    add l7route hash

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

    HTTP request headers

Options Hash (data):

  • :servers (Hash) — default: required
  • :pattern (String) — default: required

Returns:

  • (Array<Hash>)

    An array of [loadbalancer’s config server] hash



64
65
66
67
68
# File 'lib/idcf/ilb/client_extensions/l7route.rb', line 64

def patch_l7route(lb_id, config_id, id, data, headers = {})
  Validators::L7route.validate_attributes!(data, :patch)
  res = patch!("loadbalancers/#{lb_id}/configs/#{config_id}/l7routes/#{id}", data, headers)
  check_job(res.body["job_id"], headers, ["get_l7route", lb_id, config_id, id], false)
end