Class: VagrantPlugins::Openstack::NeutronClient

Inherits:
Object
  • Object
show all
Includes:
Singleton, Domain, HttpUtils
Defined in:
lib/vagrant-openstack-provider/client/neutron.rb

Instance Method Summary collapse

Methods included from HttpUtils

#delete, #get, #post

Methods included from HttpUtils::RequestLogger

#log_request, #log_response

Constructor Details

#initializeNeutronClient

Returns a new instance of NeutronClient.



15
16
17
18
# File 'lib/vagrant-openstack-provider/client/neutron.rb', line 15

def initialize
  @logger = Log4r::Logger.new('vagrant_openstack::neutron')
  @session = VagrantPlugins::Openstack.session
end

Instance Method Details

#get_all_networks(env) ⇒ Object



39
40
41
# File 'lib/vagrant-openstack-provider/client/neutron.rb', line 39

def get_all_networks(env)
  get_networks(env, true)
end

#get_api_version_list(_env) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/vagrant-openstack-provider/client/neutron.rb', line 20

def get_api_version_list(_env)
  json = RestClient.get(@session.endpoints[:network], 'X-Auth-Token' => @session.token, :accept => :json) do |response|
    log_response(response)
    case response.code
    when 200, 300
      response
    when 401
      fail Errors::AuthenticationFailed
    else
      fail Errors::VagrantOpenstackError, message: response.to_s
    end
  end
  JSON.parse(json)['versions']
end

#get_private_networks(env) ⇒ Object



35
36
37
# File 'lib/vagrant-openstack-provider/client/neutron.rb', line 35

def get_private_networks(env)
  get_networks(env, false)
end