netbox_interface – Creates or removes interfaces from Netbox
New in version 2.8.
Synopsis
- Creates or removes interfaces from Netbox
 
Requirements
The below requirements are needed on the host that executes this module.
- pynetbox
 
Parameters
| Parameter | Choices/Defaults | Comments | |
|---|---|---|---|
|   data    - / required    |    Defines the prefix configuration   |  ||
|   description    string    |    The description of the prefix   |  ||
|   device    string / required    |    Name of the device the interface will be associated with (case-sensitive)   |  ||
|   enabled    boolean    |   
  |    Sets whether interface shows enabled or disabled   |  |
|   form_factor    string    |    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   |  ||
|   lag    dictionary    |    Parent LAG interface will be a member of   |  ||
|   mac_address    string    |    The MAC address of the interface   |  ||
|   mgmt_only    boolean    |   
  |    This interface is used only for out-of-band management   |  |
|   mode    string    |   
  |    The mode of the interface   |  |
|   mtu    string    |    The MTU of the interface   |  ||
|   name    string / required    |    Name of the interface to be created   |  ||
|   tagged_vlans    list    |    A list of tagged VLANS to be assigned to interface. Mode must be set to either   Tagged or Tagged All
 |  ||
|   tags    list    |    Any tags that the prefix may need to be associated with   |  ||
|   untagged_vlan    dictionary    |    The untagged VLAN to be assigned to interface   |  ||
|   netbox_token    string / required    |    The token created within Netbox to authorize API access   |  ||
|   netbox_url    string / required    |    URL of the Netbox instance resolvable by Ansible control host   |  ||
|   state    string    |   
  |    Use   present or absent for adding or removing. |  |
|   validate_certs    boolean    |   
  |    If   no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. |  |
Notes
Note
- Tags should be defined as a YAML list
 - This should be ran with connection 
localand hostslocalhost 
Examples
- 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
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
|   interface    dictionary    |  on creation |   Serialized object as created or already existent within Netbox   |  
|   msg    string    |  always |   Message indicating failure or info about what has been achieved   |  
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
 - This module is maintained by the Ansible Community. [community]
 
Authors
- Mikhail Yohman (@FragmentedPacket)
 
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.9/modules/netbox_interface_module.html