Class: NSXDriver::NSXVClient
Overview
Class NSXVClient
Instance Attribute Summary collapse
-
#nsx_password ⇒ Object
Returns the value of attribute nsx_password.
-
#nsx_type ⇒ Object
Returns the value of attribute nsx_type.
-
#nsx_user ⇒ Object
Returns the value of attribute nsx_user.
-
#nsxmgr ⇒ Object
ATTIBUTES.
Instance Method Summary collapse
-
#add_headers(aditional_headers = []) ⇒ Object
Prepare headers.
- #delete(url, aditional_headers = [], valid_codes = []) ⇒ Object
-
#get(url, aditional_headers = [], valid_codes = []) ⇒ Object
METHODS.
- #get_full_response(url, aditional_headers = [], valid_codes = []) ⇒ Object
- #get_token(url, aditional_headers = [], valid_codes = []) ⇒ Object
-
#initialize(nsxmgr, nsx_user, nsx_password) ⇒ NSXVClient
constructor
CONSTRUCTORS.
-
#post(url, data, aditional_headers = [], valid_codes = []) ⇒ Object
Return: id of the created object.
- #put(url, data, aditional_headers = [], valid_codes = []) ⇒ Object
Methods inherited from NSXClient
#check_response, new_child, new_from_host, new_from_id
Constructor Details
#initialize(nsxmgr, nsx_user, nsx_password) ⇒ NSXVClient
CONSTRUCTORS
66 67 68 69 |
# 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 |
Instance Attribute Details
#nsx_password ⇒ Object
Returns the value of attribute nsx_password.
62 63 64 |
# File 'lib/nsxv_client.rb', line 62 def nsx_password @nsx_password end |
#nsx_type ⇒ Object
Returns the value of attribute nsx_type.
63 64 65 |
# File 'lib/nsxv_client.rb', line 63 def nsx_type @nsx_type end |
#nsx_user ⇒ Object
Returns the value of attribute nsx_user.
61 62 63 |
# File 'lib/nsxv_client.rb', line 61 def nsx_user @nsx_user end |
#nsxmgr ⇒ Object
ATTIBUTES
60 61 62 |
# File 'lib/nsxv_client.rb', line 60 def nsxmgr @nsxmgr end |
Instance Method Details
#add_headers(aditional_headers = []) ⇒ Object
Prepare headers
72 73 74 75 76 77 78 79 80 |
# 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 = []) ⇒ Object
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# 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 = []) ⇒ Object
METHODS
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# 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 = []) ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# 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 = []) ⇒ Object
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# 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 = []) ⇒ Object
Return: id of the created object
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# 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 = []) ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# 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 |