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::L7route

#create_l7route, #delete_l7route, #get_l7route, #l7routes, #list_l7routes, #patch_l7route

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



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

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.



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

def api_key
  @api_key
end

#endpointObject (readonly)

Returns the value of attribute endpoint.



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

def endpoint
  @endpoint
end

#hostObject (readonly)

Returns the value of attribute host.



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

def host
  @host
end

#secret_keyObject (readonly)

Returns the value of attribute secret_key.



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

def secret_key
  @secret_key
end

#sslObject (readonly)

Returns the value of attribute ssl.



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

def ssl
  @ssl
end

Instance Method Details

#connectionObject



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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:



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

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