prefix¶
Collection Note
This module is part of the networktocode.nautobot collection. To install the collection, use:
Added in version1.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)