Class: BrocadeVRouter::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/brocade_vrouter/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url: nil, connection_options: nil, basic_auth: nil, logger: nil) ⇒ Client

Returns a new instance of Client.



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/brocade_vrouter/client.rb', line 5

def initialize(url: nil, connection_options: nil, basic_auth: nil, logger: nil)
  config = BrocadeVRouter.config
  url ||= config.url
  connection_options ||= config.connection_options
  basic_auth ||= config.basic_auth

  @connection = Faraday.new(url, connection_options) do |f|
    f.adapter config.adapter
    f.basic_auth(*basic_auth) if basic_auth
  end

  @logger = logger || config.logger
end

Instance Attribute Details

#connectionObject (readonly)

Returns the value of attribute connection.



3
4
5
# File 'lib/brocade_vrouter/client.rb', line 3

def connection
  @connection
end

#loggerObject (readonly)

Returns the value of attribute logger.



3
4
5
# File 'lib/brocade_vrouter/client.rb', line 3

def logger
  @logger
end

Instance Method Details

#close(commit: false, save: false) ⇒ Object



36
37
38
# File 'lib/brocade_vrouter/client.rb', line 36

def close(commit: false, save: false)
  close_configuration(commit: commit, save: save) if @current_conf
end

#close_configuration(commit:, save:) ⇒ Object



40
41
42
43
44
45
# File 'lib/brocade_vrouter/client.rb', line 40

def close_configuration(commit:, save:)
  @current_conf.commit if commit
  @current_conf.save if save
  @current_conf.close
  @current_conf = nil
end

#configuration(raise_on_fail: nil, &blk) ⇒ Object Also known as: configure



19
20
21
22
23
24
# File 'lib/brocade_vrouter/client.rb', line 19

def configuration(raise_on_fail: nil, &blk)
  raise_on_fail = BrocadeVRouter.config.raise_on_fail if raise_on_fail.nil?
  @current_conf ||= Configurator.new connection, logger: logger
  @current_conf.raise_on_fail = raise_on_fail
  block_given? ? @current_conf.perform(&blk) : @current_conf
end

#get(path) ⇒ Object



26
27
28
# File 'lib/brocade_vrouter/client.rb', line 26

def get(path)
  configuration.get(path)
end

#urlObject



32
33
34
# File 'lib/brocade_vrouter/client.rb', line 32

def url
  connection.url_prefix
end