Class: Idcf::Ilb::Client

Overview

Client for IDCF ILB service

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Idcf::Ilb::ClientExtensions::Traffic

#get_traffic_by_loadbalancer, #list_traffics_by_account

Methods included from Idcf::Ilb::ClientExtensions::Log

#list_logs, #logs

Methods included from Idcf::Ilb::ClientExtensions::Limit

#get_limit, #limit

Methods included from Idcf::Ilb::ClientExtensions::Virtualmachine

#list_virtualmachines, #virtualmachines

Methods included from Idcf::Ilb::ClientExtensions::Network

#list_networks, #networks

Methods included from Idcf::Ilb::ClientExtensions::Fwgroup

#create_fwgroup, #delete_fwgroup, #fwgroups, #get_fwgroup, #list_fwgroups

Methods included from Idcf::Ilb::ClientExtensions::Sslpolicy

#create_sslpolicy, #delete_sslpolicy, #get_sslpolicy, #list_sslpolicies, #sslpolicies

Methods included from Idcf::Ilb::ClientExtensions::Sslalgorithm

#get_sslalgorithm, #list_sslalgorithms, #sslalgorithms, #sslalgorithms_ids

Methods included from Idcf::Ilb::ClientExtensions::Sslcert

#create_sslcert, #delete_sslcert, #get_sslcert, #list_sslcerts, #sslcerts, #upload_sslcert

Methods included from Idcf::Ilb::ClientExtensions::Job

#check_job, #get_job, #jobs, #list_jobs

Methods included from Idcf::Ilb::ClientExtensions::Server

#add_server, #delete_server, #list_servers

Methods included from Idcf::Ilb::ClientExtensions::Config

#configs, #create_config, #delete_config, #get_config, #list_configs, #patch_config

Methods included from Idcf::Ilb::ClientExtensions::Loadbalancer

#create_loadbalancer, #delete_loadbalancer, #get_loadbalancer, #list_loadbalancers, #loadbalancers, #update_loadbalancer

Constructor Details

#initialize(api_key:, secret_key:, host: "ilb.jp-east.idcfcloud.com", endpoint: "/api/v1", ssl: true, verify_ssl: true) ⇒ Client

The constructor of Ilb::Client uses keyword arguments.

Parameters:

  • api_key (String)

    API key for IDCF Cloud

  • secret_key (String)

    Secret key for IDCF Cloud



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/idcf/ilb/client.rb', line 29

def initialize(api_key:,
               secret_key:,
               host: "ilb.jp-east.idcfcloud.com",
               endpoint: "/api/v1",
               ssl: true,
               verify_ssl: true
              )

  @api_key    = api_key
  @secret_key = secret_key
  @host       = host
  @endpoint   = endpoint
  @ssl = ssl
  @verify_ssl = verify_ssl
end

Instance Attribute Details

#api_keyObject (readonly)

Returns the value of attribute api_key.



23
24
25
# File 'lib/idcf/ilb/client.rb', line 23

def api_key
  @api_key
end

#endpointObject (readonly)

Returns the value of attribute endpoint.



23
24
25
# File 'lib/idcf/ilb/client.rb', line 23

def endpoint
  @endpoint
end

#hostObject (readonly)

Returns the value of attribute host.



23
24
25
# File 'lib/idcf/ilb/client.rb', line 23

def host
  @host
end

#secret_keyObject (readonly)

Returns the value of attribute secret_key.



23
24
25
# File 'lib/idcf/ilb/client.rb', line 23

def secret_key
  @secret_key
end

#sslObject (readonly)

Returns the value of attribute ssl.



23
24
25
# File 'lib/idcf/ilb/client.rb', line 23

def ssl
  @ssl
end

Instance Method Details

#connectionObject



46
47
48
49
50
51
52
53
# File 'lib/idcf/ilb/client.rb', line 46

def connection
  @connection ||=
    Faraday.new(url: url_prefix, ssl: ssl_options) do |connection|
      connection.request :json
      connection.response :json
      connection.adapter Faraday.default_adapter
    end
end

#delete(resource, parameters = {}, headers = {}) ⇒ Response

Send DELETE request.

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



61
62
63
# File 'lib/idcf/ilb/client.rb', line 61

def delete(resource, parameters = {}, headers = {})
  send(:delete, resource, parameters, headers)
end

#delete!(resource, parameters = {}, headers = {}) ⇒ Response

Send DELETE request with handling error

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



71
72
73
# File 'lib/idcf/ilb/client.rb', line 71

def delete!(resource, parameters = {}, headers = {})
  send!(:delete, resource, parameters, headers)
end

#get(resource, parameters = {}, headers = {}) ⇒ Response

Send GET request

Parameters:

  • resource (String)

    Resource name

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

    Parameters

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

    HTTP request headers

Returns:



81
82
83
# File 'lib/idcf/ilb/client.rb', line 81

def get(resource, parameters = {}, headers = {})
  send(:get, resource, parameters, headers)
end

#get!(resource, parameters = {}, headers = {}) ⇒ Response

Send GET request with handling error

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



91
92
93
# File 'lib/idcf/ilb/client.rb', line 91

def get!(resource, parameters = {}, headers = {})
  send!(:get, resource, parameters, headers)
end

#patch(resource, parameters = {}, headers = {}) ⇒ Response

Send PATCH request

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



141
142
143
# File 'lib/idcf/ilb/client.rb', line 141

def patch(resource, parameters = {}, headers = {})
  send(:patch, resource, parameters, headers)
end

#patch!(resource, parameters = {}, headers = {}) ⇒ Response

Send PATCH request with handling error

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



151
152
153
# File 'lib/idcf/ilb/client.rb', line 151

def patch!(resource, parameters = {}, headers = {})
  send!(:patch, resource, parameters, headers)
end

#post(resource, parameters = {}, headers = {}) ⇒ Response

Send POST request

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



101
102
103
# File 'lib/idcf/ilb/client.rb', line 101

def post(resource, parameters = {}, headers = {})
  send(:post, resource, parameters, headers)
end

#post!(resource, parameters = {}, headers = {}) ⇒ Response

Send POST request with handling error

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



111
112
113
# File 'lib/idcf/ilb/client.rb', line 111

def post!(resource, parameters = {}, headers = {})
  send!(:post, resource, parameters, headers)
end

#put(resource, parameters = {}, headers = {}) ⇒ Response

Send PUT request

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



121
122
123
# File 'lib/idcf/ilb/client.rb', line 121

def put(resource, parameters = {}, headers = {})
  send(:put, resource, parameters, headers)
end

#put!(resource, parameters = {}, headers = {}) ⇒ Response

Send PUT request with handling error

Parameters:

  • resource (String)

    resource name

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

    request parameters

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

    HTTP request headers

Returns:



131
132
133
# File 'lib/idcf/ilb/client.rb', line 131

def put!(resource, parameters = {}, headers = {})
  send!(:put, resource, parameters, headers)
end