networktocode.nautobot.vm_interface (5.1.1) — module

Creates or removes interfaces from virtual machines in Nautobot

| "added in version" 1.0.0 of networktocode.nautobot"

Authors: Benjamin Vergnaud (@bvergnaud)

Install collection

Install with ansible-galaxy collection install networktocode.nautobot:==5.1.1


Add to requirements.yml

  collections:
    - name: networktocode.nautobot
      version: 5.1.1

Description

Creates or removes interfaces from virtual machines in Nautobot


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
mtu:
    description:
    - The MTU of the interface
    required: false
    type: int
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

url:
    description:
    - 'The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000)'
    required: true
    type: str

mode:
    description:
    - The mode of the interface
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

name:
    description:
    - Name of the interface to be created
    required: true
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

tags:
    description:
    - Any tags that this item may need to be associated with
    elements: raw
    required: false
    type: list
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

state:
    choices:
    - absent
    - present
    default: present
    description:
    - Use C(present) or C(absent) for adding or removing.
    type: str

token:
    description:
    - The token created within Nautobot to authorize API access
    required: true
    type: str

status:
    description:
    - The status of the interface.
    - Required if I(state=present) and does not exist yet
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

enabled:
    description:
    - Sets whether interface shows enabled or disabled
    required: false
    type: bool
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

api_version:
    description:
    - API Version Nautobot REST API
    required: false
    type: str
    version_added: 4.1.0
    version_added_collection: networktocode.nautobot

description:
    description:
    - The description of the interface
    required: false
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

mac_address:
    description:
    - The MAC address of the interface
    required: false
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

query_params:
    description:
    - 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.
    elements: str
    required: false
    type: list
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

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)
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

custom_fields:
    description:
    - Must exist in Nautobot and in key/value format
    required: false
    type: dict
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

untagged_vlan:
    description:
    - The untagged VLAN to be assigned to interface
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

validate_certs:
    default: true
    description:
    - If C(no), SSL certificates will not be validated. This should only be used on personally
      controlled sites using self-signed certificates.
    required: false
    type: raw

virtual_machine:
    description:
    - Name of the virtual machine the interface will be associated with (case-sensitive)
    required: true
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

Outputs

interface:
  description: Serialized object as created or already existent within Nautobot
  returned: on creation
  type: dict
msg:
  description: Message indicating failure or info about what has been achieved
  returned: always
  type: str