lib/vagrant-openstack-provider/client/neutron.rb in vagrant-openstack-provider-0.2.0 vs lib/vagrant-openstack-provider/client/neutron.rb in vagrant-openstack-provider-0.3.0
- old
+ new
@@ -1,32 +1,45 @@
require 'log4r'
require 'restclient'
require 'json'
-require 'vagrant-openstack-provider/client/utils'
+require 'vagrant-openstack-provider/client/http_utils'
+require 'vagrant-openstack-provider/client/domain'
module VagrantPlugins
module Openstack
class NeutronClient
include Singleton
- include VagrantPlugins::Openstack::Utils
+ include VagrantPlugins::Openstack::HttpUtils
+ include VagrantPlugins::Openstack::Domain
def initialize
@logger = Log4r::Logger.new('vagrant_openstack::neutron')
@session = VagrantPlugins::Openstack.session
end
- def get_private_networks(env)
- authenticated(env) do
- networks_json = RestClient.get("#{@session.endpoints[:network]}/networks",
- 'X-Auth-Token' => @session.token,
- :accept => :json) { |res| handle_response(res) }
- networks = []
- JSON.parse(networks_json)['networks'].each do |n|
- networks << { id: n['id'], name: n['name'] } if n['tenant_id'].eql? @session.project_id
+ 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
- networks
end
+ JSON.parse(json)['versions']
+ end
+
+ def get_private_networks(env)
+ networks_json = get(env, "#{@session.endpoints[:network]}/networks")
+ networks = []
+ JSON.parse(networks_json)['networks'].each do |n|
+ networks << Item.new(n['id'], n['name']) if n['tenant_id'].eql? @session.project_id
+ end
+ networks
end
end
end
end