Add interfaces to netbox
Mon Jul 04 2022 05:54:40 GMT+0000 (Coordinated Universal Time)
Saved by
@beerygaz
#netbox
#ansible
- name: Create interfaces
delegate_to: localhost
when: ansible_facts[item].speed is defined and not 'lo' == item
netbox.netbox.netbox_device_interface:
netbox_url: "{{ netbox_url }}"
netbox_token: "{{ netbox_token }}"
data:
device: "{{ inventory_hostname }}"
name: "{{ item }}"
type: "{{ speed_to_iftype[ ansible_facts[item].speed ] }}"
state: present
loop: "{{ ansible_interfaces }}"
- name: Create IP address
delegate_to: localhost
when: ansible_facts[item].ipv4.address is defined and not 'lo' == item
netbox.netbox.netbox_ip_address:
netbox_url: "{{ netbox_url }}"
netbox_token: "{{ netbox_token }}"
data:
address: "{{ ansible_facts[item].ipv4.address }}/{{ vars.ansible_facts[item].ipv4.netmask }}"
status: Active
dns_name: "{{ lookup('community.general.dig', ansible_facts[item].ipv4.address+'/PTR', '@ns.our.internal') | regex_replace('\\.$', '') }}"
assigned_object:
name: "{{ item }}"
device: "{{ inventory_hostname }}"
state: present
loop: "{{ ansible_interfaces }}"
content_copyCOPY
Comments