class NSXDriver::NSXVClient
Class NSXVClient
Attributes
nsx_password[RW]
nsx_type[RW]
nsx_user[RW]
nsxmgr[RW]
ATTIBUTES
Public Class Methods
new(nsxmgr, nsx_user, nsx_password)
click to toggle source
CONSTRUCTORS
Calls superclass method
NSXDriver::NSXClient::new
# File lib/nsxv_client.rb, line 66 def initialize(nsxmgr, nsx_user, nsx_password) super(nsxmgr, nsx_user, nsx_password) @nsx_type = NSXConstants::NSXV end
Public Instance Methods
add_headers(aditional_headers = [])
click to toggle source
Prepare headers
# File lib/nsxv_client.rb, line 72 def add_headers(aditional_headers = []) headers = NSXConstants::HEADER_XML.clone unless aditional_headers.empty? aditional_headers.each do |header| headers[header.keys[0]] = header.values[0] end end headers end
delete(url, aditional_headers = [], valid_codes = [])
click to toggle source
# File lib/nsxv_client.rb, line 153 def delete(url, aditional_headers = [], valid_codes = []) if valid_codes.empty? valid_codes = [NSXConstants::CODE_OK, NSXConstants::CODE_NO_CONTENT] end uri = URI.parse(@nsxmgr + url) headers = add_headers(aditional_headers) request = Net::HTTP::Delete.new(uri.request_uri, headers) request.basic_auth(@nsx_user, @nsx_password) response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| https.request(request) end check_response(response, valid_codes) end
get(url, aditional_headers = [], valid_codes = [])
click to toggle source
METHODS
# File lib/nsxv_client.rb, line 83 def get(url, aditional_headers = [], valid_codes = []) if valid_codes.empty? valid_codes = [NSXConstants::CODE_OK, NSXConstants::CODE_NO_CONTENT] end uri = URI.parse(@nsxmgr + url) headers = add_headers(aditional_headers) request = Net::HTTP::Get.new(uri.request_uri, headers) request.basic_auth(@nsx_user, @nsx_password) response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| https.request(request) end response = check_response(response, valid_codes) Nokogiri::XML response.body end
get_full_response(url, aditional_headers = [], valid_codes = [])
click to toggle source
# File lib/nsxv_client.rb, line 100 def get_full_response(url, aditional_headers = [], valid_codes = []) if valid_codes.empty? valid_codes = [NSXConstants::CODE_OK, NSXConstants::CODE_NO_CONTENT] end uri = URI.parse(@nsxmgr + url) headers = add_headers(aditional_headers) request = Net::HTTP::Get.new(uri.request_uri, headers) request.basic_auth(@nsx_user, @nsx_password) response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| https.request(request) end check_response(response, valid_codes) end
get_token(url, aditional_headers = [], valid_codes = [])
click to toggle source
# File lib/nsxv_client.rb, line 169 def get_token(url, aditional_headers = [], valid_codes = []) if valid_codes.empty? valid_codes = [NSXConstants::CODE_OK] end uri = URI.parse(@nsxmgr + url) headers = add_headers(aditional_headers) request = Net::HTTP::Post.new(uri.request_uri, headers) request.basic_auth(@nsx_user, @nsx_password) response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| https.request(request) end response = check_response(response, valid_codes) response_xml = Nokogiri::XML response.body token = response_xml.xpath('//authToken/value').text { 'token' => token }.to_json end
post(url, data, aditional_headers = [], valid_codes = [])
click to toggle source
Return: id of the created object
# File lib/nsxv_client.rb, line 117 def post(url, data, aditional_headers = [], valid_codes = []) if valid_codes.empty? valid_codes = [NSXConstants::CODE_CREATED, NSXConstants::CODE_OK] end uri = URI.parse(@nsxmgr + url) headers = add_headers(aditional_headers) request = Net::HTTP::Post.new(uri.request_uri, headers) request.body = data request.basic_auth(@nsx_user, @nsx_password) response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| https.request(request) end response = check_response(response, valid_codes) response.body end
put(url, data, aditional_headers = [], valid_codes = [])
click to toggle source
# File lib/nsxv_client.rb, line 135 def put(url, data, aditional_headers = [], valid_codes = []) if valid_codes.empty? valid_codes = [NSXConstants::CODE_CREATED, NSXConstants::CODE_OK] end uri = URI.parse(@nsxmgr + url) headers = add_headers(aditional_headers) request = Net::HTTP::Put.new(uri.request_uri, headers) request.body = data request.basic_auth(@nsx_user, @nsx_password) response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| https.request(request) end response = check_response(response, valid_codes) response.body end