Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- - name: "Gather facts from Netbox"
- hosts: device_roles_mpls_edge_router
- connection: local
- gather_facts: no
- vars:
- netbox_url: "http://netbox-demo:8500"
- netbox_token: "<redacted>"
- tasks:
- - name: "Get mpls_edge_routers"
- set_fact:
- routers: "{{ query('netbox.netbox.nb_lookup', 'devices', api_filter='role=mpls_edge_router', api_endpoint=netbox_url, token=netbox_token) }}"
- - name: "Print router names"
- debug:
- msg: "{{ routers | json_query('[*].value.name') }}"
- - name: "Get device interfaces"
- set_fact:
- interfaces: "{{ query('netbox.netbox.nb_lookup','interfaces', api_endpoint=netbox_url,token=netbox_token) }}"
- - name: "Print device interfaces"
- debug:
- msg: "{{ interfaces | json_query(querystr) }}"
- vars:
- querystr: "[?contains(value.device.name, '{{ inventory_hostname }}')].value.display"
- - name: "Get IP Information"
- set_fact:
- ip_address: "{{ query('netbox.netbox.nb_lookup','ip-addresses', api_endpoint=netbox_url,token=netbox_token) }}"
- - name: "Print IP Information"
- debug:
- msg: "{{ ip_address | to_json | from_json | json_query(querystr) }}"
- vars:
- querystr: "[?contains(value.assigned_object.device.name, '{{ inventory_hostname }}')]"
Add Comment
Please, Sign In to add comment