networktocode.nautobot.vm_interface module – Creates or removes interfaces from virtual machines in Nautobot

Note

This module is part of the networktocode.nautobot collection (version 5.1.1).

To install it, use: ansible-galaxy collection install networktocode.nautobot. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: networktocode.nautobot.vm_interface.

New in networktocode.nautobot 1.0.0

Synopsis

  • Creates or removes interfaces from virtual machines in Nautobot

Requirements

The below requirements are needed on the host that executes this module.

  • pynautobot

Parameters

Parameter

Comments

api_version

string

added in networktocode.nautobot 4.1.0

API Version Nautobot REST API

custom_fields

dictionary

added in networktocode.nautobot 3.0.0

Must exist in Nautobot and in key/value format

description

string

added in networktocode.nautobot 3.0.0

The description of the interface

enabled

boolean

added in networktocode.nautobot 3.0.0

Sets whether interface shows enabled or disabled

Choices:

mac_address

string

added in networktocode.nautobot 3.0.0

The MAC address of the interface

mode

any

added in networktocode.nautobot 3.0.0

The mode of the interface

mtu

integer

added in networktocode.nautobot 3.0.0

The MTU of the interface

name

string / required

added in networktocode.nautobot 3.0.0

Name of the interface to be created

query_params

list / elements=string

added in networktocode.nautobot 3.0.0

This can be used to override the specified values in ALLOWED_QUERY_PARAMS that is defined

in plugins/module_utils/utils.py and provides control to users on what may make

an object unique in their environment.

state

string

Use present or absent for adding or removing.

Choices:

status

any

added in networktocode.nautobot 3.0.0

The status of the interface.

Required if state=present and does not exist yet

tagged_vlans

any

added in networktocode.nautobot 3.0.0

A list of tagged VLANS to be assigned to interface. Mode must be set to either Tagged or Tagged All

tags

list / elements=any

added in networktocode.nautobot 3.0.0

Any tags that this item may need to be associated with

token

string / required

The token created within Nautobot to authorize API access

untagged_vlan

any

added in networktocode.nautobot 3.0.0

The untagged VLAN to be assigned to interface

url

string / required

The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000)

validate_certs

any

If no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

Default: :ansible-option-default:`true`

virtual_machine

any / required

added in networktocode.nautobot 3.0.0

Name of the virtual machine the interface will be associated with (case-sensitive)

Notes

Note

  • Tags should be defined as a YAML list

  • This should be ran with connection local and hosts localhost

Examples

- name: "Test Nautobot interface module"
  connection: local
  hosts: localhost
  gather_facts: False
  tasks:
    - name: Create interface within Nautobot with only required information
      networktocode.nautobot.vm_interface:
        url: http://nautobot.local
        token: thisIsMyToken
        virtual_machine: test100
        name: GigabitEthernet1
        state: present

    - name: Delete interface within nautobot
      networktocode.nautobot.vm_interface:
        url: http://nautobot.local
        token: thisIsMyToken
        virtual_machine: test100
        name: GigabitEthernet1
        state: absent

    - name: Create interface as a trunk port
      networktocode.nautobot.vm_interface:
        url: http://nautobot.local
        token: thisIsMyToken
        virtual_machine: test100
        name: GigabitEthernet25
        enabled: false
        untagged_vlan:
          name: Wireless
          location: "{{ test_location['key'] }}"
        tagged_vlans:
          - name: Data
            location: "{{ test_location['key'] }}"
          - name: VoIP
            location: "{{ test_location['key'] }}"
        mtu: 1600
        mode: Tagged
        state: present

    - name: |
        Create an interface and update custom_field data point,
        setting the value to True
      networktocode.nautobot.vm_interface:
        url: http://nautobot.local
        token: thisIsMyToken
        virtual_machine: test100
        name: GigabitEthernet26
        enabled: false
        custom_fields:
          monitored: True

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

interface

dictionary

Serialized object as created or already existent within Nautobot

Returned: on creation

msg

string

Message indicating failure or info about what has been achieved

Returned: always

Authors

  • Benjamin Vergnaud (@bvergnaud)