- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
API call for extattrs failing on records, but working on zones.
[ Edited ]- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-05-2023 05:41 PM - edited 09-05-2023 05:42 PM
Trying to pull external attributes on DNS objects but getting this error message. If I remove the extattrs that command works.
https://domain.com/wapi/v2.12/allrecords?zone=domain.com&creator=STATIC&_return_fields=comment,disable,name,type,zone,extattrs "Error": "AdmConProtoError: Unknown argument/field: 'extattrs'", "code": "Client.Ibap.Proto", "text": "Unknown argument/field: 'extattrs'" }
If that command is run on the zone level it returns the EAs without issue.
https://domain.com/wapi/v2.12/zone_auth?_return_as_object=1&_return_fields=fqdn,comment,disable,extattrs
Can someone help me understand what is broken here? My assumption is that extattrs is applied to any object but I can't seem to get that data when pulling DNS records.
Re: API call for extattrs failing on records, but working on zones.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-05-2023 07:34 PM
allrecords isn't really an object type, its a method to search for matching objects. Unfortunately extattrs cannot be returned with an allrecords search.
Instead, use the returned ref for each returned object, and query for its extattrs.
Or alternatively, you could do a CSV export of matching records, which will contain the EA values as CSV columns.
Here's the manual process for doing this via CSV:
start the export generation
curl -k1 -u admin:infoblox -X POST \
'https://gm.example.com/wapi/v2.12/fileop?_function=csv_export' \
-H 'Content-Type: application/json' -d \
'{
"_object":"allrecords",
"zone":"example.com",
"creator":"STATIC",
"view":"Internal DNS"
}'
which returns:
{ "token": "eJytjk0LgjAcxr9K7JybTp0vN8OCIBQiCLoMcUv/oM7miiL67rlDXbsEz+n38Lw8kbyPoB/cQC9R\nuvBY4ieRG0chDmjsU+otF+iqu9lCrTHjlBLiJRR7LMYxZsQyLkDL2vAzdJKDIlpeOAgnL4/Frsxy\nx01c5lIahWFAZzFyUoOsW+jEhOvphuYFUZmKy6FWAobGbq22xZf3SthrKM8OGd+vNx/DMjIZpatG\nEtOP/zoDwjb/CqLXG8LoXjc=\n", "url": "https://192.168.1.2/http_direct_file_io/req_id-DOWNLOAD-0906022755425426/Zonechilds.csv" }
Now download the given URL:
curl -k1 -u admin:infoblox -H "Content-type:application/force-download" -O \ 'https://192.168.1.2/http_direct_file_io/req_id-DOWNLOAD-0906022755425426/Zonechilds.csv'
then close the file on the GM's web server
curl -k1 -u admin:infoblox -X POST 'https://192.168.1.2/wapi/v2.12/fileop?_function=downloadcomplete' \ -H "Content-Type: application/json" -d '{ "token": "eJytjk0LgjAcxr9K7JybTp0vN8OCIBQiCLoMcUv/oM7miiL67rlDXbsEz+n38Lw8kbyPoB/cQC9R\nuvBY4ieRG0chDmjsU+otF+iqu9lCrTHjlBLiJRR7LMYxZsQyLkDL2vAzdJKDIlpeOAgnL4/Frsxy\nx01c5lIahWFAZzFyUoOsW+jEhOvphuYFUZmKy6FWAobGbq22xZf3SthrKM8OGd+vNx/DMjIZpatG\nEtOP/zoDwjb/CqLXG8LoXjc=\n"}'
Re: API call for extattrs failing on records, but working on zones.
[ Edited ]- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2023 06:33 AM - edited 09-06-2023 07:24 AM
So if allrecords isn't an object type, is there a call/search I can make similar on the DNS level that I do on the ZONE level to return all DNS objects with whatever extensible attribute they may or may not have? Without forking it to a CSV file?
FWIW I used your example and it worked well, just not sure if that process will work for what we are trying to do. Which is simply pull this data into a CMDB periodicially and look for deltas and track those on specific object types (zones, static DNS, etc..).
With some PS help I was able to figure it out, can change record:a to whatever kind of record you want. Wondering if there is a way to put all types in a sinlge call?
https://domain.com/wapi/v2.12/record:a?zone=domain.com&creator=STATIC&_return_fields=comment,disable,name,zone,extattrs