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