mmaeso

netbox_nb_lookup

Jun 3rd, 2022 (edited)
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 1.27 KB | None | 0 0
  1. ---
  2. - name: "Gather facts from Netbox"
  3.   hosts: device_roles_mpls_edge_router
  4.   connection: local
  5.   gather_facts: no
  6.   vars:
  7.     netbox_url: "http://netbox-demo:8500"
  8.     netbox_token: "<redacted>"
  9.  
  10.   tasks:
  11.   - name: "Get mpls_edge_routers"
  12.     set_fact:
  13.       routers: "{{ query('netbox.netbox.nb_lookup', 'devices', api_filter='role=mpls_edge_router', api_endpoint=netbox_url, token=netbox_token) }}"
  14.  
  15.   - name: "Print router names"
  16.     debug:
  17.       msg: "{{ routers | json_query('[*].value.name') }}"
  18.  
  19.   - name: "Get device interfaces"
  20.     set_fact:
  21.       interfaces: "{{ query('netbox.netbox.nb_lookup','interfaces', api_endpoint=netbox_url,token=netbox_token) }}"
  22.  
  23.   - name: "Print device interfaces"
  24.     debug:
  25.       msg: "{{ interfaces | json_query(querystr) }}"
  26.     vars:
  27.       querystr: "[?contains(value.device.name, '{{ inventory_hostname }}')].value.display"
  28.  
  29.   - name: "Get IP Information"
  30.     set_fact:
  31.       ip_address: "{{ query('netbox.netbox.nb_lookup','ip-addresses', api_endpoint=netbox_url,token=netbox_token) }}"
  32.  
  33.   - name: "Print IP Information"
  34.     debug:
  35.       msg: "{{ ip_address | to_json | from_json | json_query(querystr) }}"
  36.     vars:
  37.       querystr: "[?contains(value.assigned_object.device.name, '{{ inventory_hostname }}')]"
  38.  
Add Comment
Please, Sign In to add comment