Skip to content

ip_address_to_interface

Collection Note

This module is part of the networktocode.nautobot collection. To install the collection, use:

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

Synopsis

  • Creates or removes IP address to interface association from Nautobot

Requirements

The following Python packages are needed on the host that executes this module:

Parameters

Parameter Data Type Environment Variable Comments
api_version str API Version Nautobot REST API
Version Added: 4.1.0
interface raw Device interface to associate with an IP.
Version Added: 5.0.0
ip_address
required
raw IP address to associate with an interface.
Version Added: 5.0.0
query_params list 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.
Version Added: 3.0.0
state str Use C(present) or C(absent) for adding, or removing.
token
required
str The token created within Nautobot to authorize API access Can be omitted if the E(NAUTOBOT_TOKEN) environment variable is configured.
url
required
str The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) Can be omitted if the E(NAUTOBOT_URL) environment variable is configured.
validate_certs raw If C(no), SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. Can be omitted if the E(NAUTOBOT_VALIDATE_CERTS) environment variable is configured.
vm_interface raw VM interface to associate with an IP.
Version Added: 5.0.0

Notes

Note

  • Tags should be defined as a YAML list
  • This should be ran with connection C(local) and hosts C(localhost)

Examples

- name: "Test Nautobot IP address to interface module"
  connection: local
  hosts: localhost
  gather_facts: False

  tasks:
    - name: "Add IP address on GigabitEthernet4 - test100"
      networktocode.nautobot.ip_address_to_interface:
        url: "{{ nautobot_url }}"
        token: "{{ nautobot_token }}"
        ip_address: "{{ ip_address['key'] }}"
        interface:
          name: GigabitEthernet4
          device: test100
      vars:
        ip_address: "{{ lookup('networktocode.nautobot.lookup', 'ip-addresses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='address=10.100.0.1/32') }}"

    - name: "Delete IP address on GigabitEthernet4 - test100"
      networktocode.nautobot.ip_address_to_interface:
        url: "{{ nautobot_url }}"
        token: "{{ nautobot_token }}"
        ip_address: "{{ ip_address['key'] }}"
        interface:
          name: GigabitEthernet4
          device: test100
        state: absent
      vars:
        ip_address: "{{ lookup('networktocode.nautobot.lookup', 'ip-addresses', api_endpoint=nautobot_url, token=nautobot_token, api_filter='address=10.100.0.1/32') }}"

Return Values

Key Data Type Description Returned
ip_address_to_interface dict Serialized object as created or already existent within Nautobot on creation
msg str Message indicating failure or info about what has been achieved always

Authors

  • Mikhail Yohman (@fragmentedpacket)
  • Anthony Ruhier (@anthony25)