ansible / ansible.builtin / v2.9.7 / module / netbox_interface Creates or removes interfaces from Netbox | "added in version" 2.8 of ansible.builtin" Authors: Mikhail Yohman (@FragmentedPacket) preview | supported by communityansible.builtin.netbox_interface (v2.9.7) — module
pip
Install with pip install ansible==2.9.7
Creates or removes interfaces from Netbox
- name: "Test Netbox interface module" connection: local hosts: localhost gather_facts: False tasks: - name: Create interface within Netbox with only required information netbox_interface: netbox_url: http://netbox.local netbox_token: thisIsMyToken data: device: test100 name: GigabitEthernet1 state: present - name: Delete interface within netbox netbox_interface: netbox_url: http://netbox.local netbox_token: thisIsMyToken data: device: test100 name: GigabitEthernet1 state: absent - name: Create LAG with several specified options netbox_interface: netbox_url: http://netbox.local netbox_token: thisIsMyToken data: device: test100 name: port-channel1 form_factor: Link Aggregation Group (LAG) mtu: 1600 mgmt_only: false mode: Access state: present - name: Create interface and assign it to parent LAG netbox_interface: netbox_url: http://netbox.local netbox_token: thisIsMyToken data: device: test100 name: GigabitEthernet1 enabled: false form_factor: 1000Base-t (1GE) lag: name: port-channel1 mtu: 1600 mgmt_only: false mode: Access state: present - name: Create interface as a trunk port netbox_interface: netbox_url: http://netbox.local netbox_token: thisIsMyToken data: device: test100 name: GigabitEthernet25 enabled: false form_factor: 1000Base-t (1GE) untagged_vlan: name: Wireless site: Test Site tagged_vlans: - name: Data site: Test Site - name: VoIP site: Test Site mtu: 1600 mgmt_only: true mode: Tagged state: present
data: description: - Defines the prefix configuration required: true suboptions: description: description: - The description of the prefix type: str device: description: - Name of the device the interface will be associated with (case-sensitive) required: true type: str enabled: description: - Sets whether interface shows enabled or disabled type: bool form_factor: description: - 'Form factor of the interface: ex. 1000Base-T (1GE), Virtual, 10GBASE-T (10GE) This has to be specified exactly as what is found within UI ' type: str lag: description: - Parent LAG interface will be a member of type: dict mac_address: description: - The MAC address of the interface type: str mgmt_only: description: - This interface is used only for out-of-band management type: bool mode: choices: - Access - Tagged - Tagged All description: - The mode of the interface type: str mtu: description: - The MTU of the interface type: str name: description: - Name of the interface to be created required: true type: str tagged_vlans: description: - A list of tagged VLANS to be assigned to interface. Mode must be set to either C(Tagged) or C(Tagged All) type: list tags: description: - Any tags that the prefix may need to be associated with type: list untagged_vlan: description: - The untagged VLAN to be assigned to interface type: dict state: choices: - absent - present default: present description: - Use C(present) or C(absent) for adding or removing. type: str netbox_url: description: - URL of the Netbox instance resolvable by Ansible control host required: true type: str netbox_token: description: - The token created within Netbox to authorize API access required: true type: str validate_certs: default: 'yes' description: - 'If C(no), SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. ' type: bool
interface: description: Serialized object as created or already existent within Netbox returned: on creation type: dict msg: description: Message indicating failure or info about what has been achieved returned: always type: str