networktocode.nautobot.prefix module – Creates or removes prefixes from Nautobot

Note

This module is part of the networktocode.nautobot collection (version 5.2.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.prefix.

New in networktocode.nautobot 1.0.0

Synopsis

  • Creates or removes prefixes from 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 prefix

first_available

boolean

added in networktocode.nautobot 3.0.0

If yes and state 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 absent.

Choices:

ip_version

integer

added in networktocode.nautobot 5.0.0

Specifies which address version the prefix prefix belongs to

location

any

added in networktocode.nautobot 3.0.0

Location that prefix is associated with

namespace

string

added in networktocode.nautobot 5.0.0

namespace that IP address is associated with. IPs are unique per namespaces.

Default: :ansible-option-default:`"Global"`

parent

any

added in networktocode.nautobot 3.0.0

Required if state is present and first_available is yes. Will get a new available prefix in this parent prefix.

prefix

any

added in networktocode.nautobot 3.0.0

Required if state is present and first_available is False. Will allocate or free this prefix.

prefix_length

integer

added in networktocode.nautobot 3.0.0

Required ONLY if state is present and first_available is yes.

Will get a new available prefix of the given prefix_length in this parent prefix.

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.

role

any

added in networktocode.nautobot 3.0.0

The role of the prefix

state

string

Use present or absent for adding or removing.

Choices:

status

any

added in networktocode.nautobot 3.0.0

The status of the prefix

Required if state=present and does not exist yet

tags

list / elements=any

added in networktocode.nautobot 3.0.0

Any tags that this item may need to be associated with

tenant

any

added in networktocode.nautobot 3.0.0

The tenant that the prefix will be assigned to

token

string / required

The token created within Nautobot to authorize API access

Can be omitted if the NAUTOBOT_TOKEN environment variable is configured.

type

string

added in networktocode.nautobot 5.0.0

url

string / required

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

Can be omitted if the NAUTOBOT_URL environment variable is configured.

validate_certs

any

If 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 NAUTOBOT_VALIDATE_CERTS environment variable is configured.

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

vlan

any

added in networktocode.nautobot 3.0.0

The VLAN the prefix will be assigned to

Notes

Note

  • Tags should be defined as a YAML list

  • This should be ran with connection local and hosts 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
        family: 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: yes

    - name: Create prefix within Nautobot with only required information
      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: yes

    - 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: yes

Return Values

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

Key

Description

msg

string

Message indicating failure or info about what has been achieved

Returned: always

prefix

dictionary

Serialized object as created or already existent within Nautobot

Returned: on creation

Authors

  • Mikhail Yohman (@FragmentedPacket)

  • Anthony Ruhier (@Anthony25)