orphan: |
---|
netbox.netbox.netbox_device_interface module -- Creates or removes interfaces on devices from NetBox
Note
This module is part of the netbox.netbox collection (version 3.12.0).
To install it, use: ansible-galaxy collection install netbox.netbox
.
You need further requirements to be able to use this module,
see :ref:`Requirements <ansible_collections.netbox.netbox.netbox_device_interface_module_requirements>` for details.
To use it in a playbook, specify: netbox.netbox.netbox_device_interface
.
.. rst-class:: ansible-version-added
New in netbox.netbox 0.1.0
- Creates or removes interfaces from NetBox
The below requirements are needed on the host that executes this module.
- pynetbox
.. rst-class:: ansible-option-table
Parameter | Comments |
---|---|
Certificate path |
|
Defines the interface configuration |
|
Bridge the interface will connected to |
|
must exist in NetBox |
|
The description of the interface |
|
Name of the device the interface will be associated with (case-sensitive) |
|
The duplex of the interface .. rst-class:: ansible-option-line Choices: |
|
Sets whether interface shows enabled or disabled .. rst-class:: ansible-option-line Choices: |
|
|
|
Physical label of the interface |
|
Parent LAG interface will be a member of |
|
The MAC address of the interface |
|
Mark an interface as connected without a cable attached (netbox >= 2.11 required) .. rst-class:: ansible-option-line Choices: |
|
This interface is used only for out-of-band management .. rst-class:: ansible-option-line Choices: |
|
The mode of the interface |
|
The MTU of the interface |
|
Name of the interface to be created |
|
The device's parent interface |
|
This interface has PoE ability (NetBox release 3.3 and later) |
|
This interface's power type (NetBox release 3.3 and later) |
|
The speed of the interface |
|
A list of tagged VLANS to be assigned to interface. Mode must be set to either |
|
Any tags that the interface may need to be associated with |
|
|
|
The untagged VLAN to be assigned to interface |
|
The VRF of the interface |
|
The NetBox API token. |
|
The URL of the NetBox instance. Must be accessible by the Ansible control host. |
|
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that are defined in plugins/module_utils/netbox_utils.py and provides control to users on what may make an object unique in their environment. |
|
The state of the object. .. rst-class:: ansible-option-line Choices: |
|
.. rst-class:: ansible-option-line Choices: |
|
If This should only be used on personally controlled sites using a self-signed certificates. .. rst-class:: ansible-option-line Default: :ansible-option-default:`true` |
Note
- Tags should be defined as a YAML list
- This should be ran with connection
local
and hostslocalhost
- name: "Test NetBox interface module"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create interface within NetBox with only required information
netbox.netbox.netbox_device_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
device: test100
name: GigabitEthernet1
state: present
- name: Delete interface within netbox
netbox.netbox.netbox_device_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
device: test100
name: GigabitEthernet1
state: absent
- name: Create LAG with several specified options
netbox.netbox.netbox_device_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
device: test100
name: port-channel1
type: Link Aggregation Group (LAG)
mtu: 1600
mgmt_only: false
mode: Access
state: present
- name: Create interface and assign it to parent LAG
netbox.netbox.netbox_device_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
device: test100
name: GigabitEthernet1
enabled: false
type: 1000Base-t (1GE)
lag:
name: port-channel1
mtu: 1600
mgmt_only: false
mode: Access
state: present
- name: Create interface as a trunk port
netbox.netbox.netbox_device_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
device: test100
name: GigabitEthernet25
enabled: false
type: 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
- name: Update interface on child device on virtual chassis
netbox.netbox.netbox_device_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
device: test100
name: GigabitEthernet2/0/1
enabled: false
update_vc_child: True
- name: Mark interface as connected without a cable (netbox >= 2.11 required)
netbox.netbox.netbox_device_interface:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
device: test100
name: GigabitEthernet1
mark_connected: true
state: present
Common return values are documented :ref:`here <common_return_values>`, the following are the fields unique to this module:
.. rst-class:: ansible-option-table
Key | Description |
---|---|
Serialized object as created or already existent within NetBox .. rst-class:: ansible-option-line Returned: on creation |
|
Message indicating failure or info about what has been achieved .. rst-class:: ansible-option-line Returned: always |
- Mikhail Yohman (@FragmentedPacket)