module PaloAlto::V6::AddressApi
Public Instance Methods
addresses()
click to toggle source
Parse out the addresses from a response to query for addresses
Returns¶ ↑
* +Array+ - Array of Models::Address instances
Raises¶ ↑
* +Exception+ - Raises an exception if the request is unsuccessful
# File lib/palo_alto/v6/address_api.rb, line 15 def addresses address_list = [] # configure options for the request options = {} options[:url] = self.endpoint options[:method] = :post options[:payload] = { type: "config", action: "show", key: self.auth_key, xpath: "/config/devices/entry/vsys/entry" } html_result = Helpers::Rest.make_request(options) raise "Error obtaining address XML" if html_result.nil? # parse the XML data data = Nokogiri::XML(html_result) if data.xpath('//response/@status').to_s == "success" data.xpath('//response/result/entry/address/entry').each do |address| address_list << PaloAlto::Models::Address.new(name: address.xpath('@name').to_s, ip: address.xpath('ip-netmask').first.content) end else raise "Error in response XML: #{data.inspect}" end address_list end