Skip to content

prefix

Collection Note

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

ansible-galaxy collection install networktocode.nautobot
Added in version 1.0.0.

You need further requirements to be able to use this module, see the Requirements section for details.

Synopsis

  • Creates or removes prefixes from Nautobot

Requirements

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

Parameters

Parameter Defaults / Choices Comments
api_version
str
API Version Nautobot REST API
Version Added: 4.1.0
custom_fields
dict
Must exist in Nautobot and in key/value format
Version Added: 3.0.0
description
str
The description of the prefix
Version Added: 3.0.0
first_available
bool
If C(yes) and state C(present), if an parent is given, it will get the first available prefix of the given prefix_length inside the given parent (and namespace, if given). Unused with state C(absent).
Version Added: 3.0.0
id
str
The UUID of the object to operate on
Version Added: 5.13.0
ip_version
int
Specifies which address version the prefix prefix belongs to
Version Added: 5.0.0
location
raw
The single location the prefix will be associated to
If you want to associate multiple locations, use the C(prefix_location) module
Using this parameter will override the C(api_version) option to C(2.0)
Version Added: 3.0.0
namespace
str
Default: Global
namespace that IP address is associated with. IPs are unique per namespaces.
Version Added: 5.0.0
parent
raw
Required if state is C(present) and first_available is C(yes). Will get a new available prefix in this parent prefix.
Version Added: 3.0.0
prefix
raw
Required if state is C(present) and first_available is False. Will allocate or free this prefix.
Version Added: 3.0.0
prefix_length
int
Required ONLY if state is C(present) and first_available is C(yes). Will get a new available prefix of the given prefix_length in this parent prefix.
Version Added: 3.0.0
query_params
list / elements=str
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
role
raw
The role of the prefix
Version Added: 3.0.0
state
str
Default: present
Choices: absent, present
Use C(present) or C(absent) for adding or removing.
status
raw
The status of the prefix
Required if I(state=present) and does not exist yet
Version Added: 3.0.0
tags
list / elements=raw
Any tags that this item may need to be associated with
Version Added: 3.0.0
tenant
raw
The tenant that the prefix will be assigned to
Version Added: 3.0.0
token
str
required
The token created within Nautobot to authorize API access
Can be omitted if the E(NAUTOBOT_TOKEN) environment variable is configured.
type
str
Choices: Container, Network, Pool Prefix type
Version Added: 5.0.0
url
str
required
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
Default: True
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.
vlan
raw
The VLAN the prefix will be assigned to
Version Added: 3.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 prefix module"
  connection: local
  hosts: localhost
  gather_facts: false

  tasks:
    - name: Create prefix within Nautobot with only required information
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        prefix: 10.156.0.0/19
        status: active
        state: present

    - name: Delete prefix within nautobot
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        prefix: 10.156.0.0/19
        state: absent

    - name: Create prefix with several specified options
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        ip_version: 4
        prefix: 10.156.32.0/19
        location: My Location
        tenant: Test Tenant
        vlan:
          name: Test VLAN
          location: My Location
          tenant: Test Tenant
          vlan_group: Test Vlan Group
        status: Reserved
        role: Network of care
        description: Test description
        type: Pool
        tags:
          - Schnozzberry
        state: present

    - name: Get a new /24 inside 10.156.0.0/19 within Nautobot - Parent doesn't exist
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        parent: 10.156.0.0/19
        prefix_length: 24
        state: present
        first_available: true

    - name: Create prefix within Nautobot
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        prefix: 10.156.0.0/19
        state: present

    - name: Get a new /24 inside 10.156.0.0/19 within Nautobot
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        parent: 10.156.0.0/19
        prefix_length: 24
        state: present
        first_available: true

    - name: Get a new /24 inside 10.157.0.0/19 within Nautobot with additional values
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        parent: 10.157.0.0/19
        prefix_length: 24
        location:
          name: My Location
          parent: Parent Location
        state: present
        first_available: true

    - name: Delete prefix by id
      networktocode.nautobot.prefix:
        url: http://nautobot.local
        token: thisIsMyToken
        id: 00000000-0000-0000-0000-000000000000
        state: absent

Return Values

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

Authors

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