netbox.netbox.netbox_prefix – Creates or removes prefixes from Netbox
Note
This plugin is part of the netbox.netbox collection (version 1.2.0).
To install it use: ansible-galaxy collection install netbox.netbox.
To use it in a playbook, specify: netbox.netbox.netbox_prefix.
New in version 0.1.0: of netbox.netbox
Synopsis
- Creates or removes prefixes from Netbox
Requirements
The below requirements are needed on the host that executes this module.
- pynetbox
Parameters
| Parameter | Choices/Defaults | Comments | |
|---|---|---|---|
| data dictionary / required | Defines the prefix configuration | ||
| custom_fields dictionary | Must exist in Netbox and in key/value format | ||
| description string | The description of the prefix | ||
| family integer | Specifies which address family the prefix prefix belongs to | ||
| is_pool boolean |
| All IP Addresses within this prefix are considered usable | |
| parent raw | Required if state is present and first_available is yes. Will get a new available prefix in this parent prefix. | ||
| prefix raw | Required if state is present and first_available is False. Will allocate or free this prefix. | ||
| prefix_length integer | 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. | ||
| prefix_role raw | The role of the prefix | ||
| site raw | Site that prefix is associated with | ||
| status raw | The status of the prefix | ||
| tags list / elements=string | Any tags that the prefix may need to be associated with | ||
| tenant raw | The tenant that the prefix will be assigned to | ||
| vlan raw | The VLAN the prefix will be assigned to | ||
| vrf raw | VRF that prefix is associated with | ||
| first_available boolean |
| 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 vrf, if given). Unused with state absent. | |
| netbox_token string / required | The token created within Netbox to authorize API access | ||
| netbox_url string / required | URL of the Netbox instance resolvable by Ansible control host | ||
| query_params list / elements=string | This can be used to override the specified values in ALLOWED_QUERY_PARAMS that is defined in plugins/module_utils/netbox_utils.py and provides control to users on what may make an object unique in their environment. | ||
| state string |
| Use present or absent for adding or removing. | |
| validate_certs raw | Default: "yes" | If no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. | |
Notes
Note
- Tags should be defined as a YAML list
- This should be ran with connection
localand hostslocalhost
Examples
- name: "Test Netbox prefix module"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create prefix within Netbox with only required information
netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 10.156.0.0/19
state: present
- name: Delete prefix within netbox
netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 10.156.0.0/19
state: absent
- name: Create prefix with several specified options
netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
family: 4
prefix: 10.156.32.0/19
site: Test Site
vrf: Test VRF
tenant: Test Tenant
vlan:
name: Test VLAN
site: Test Site
tenant: Test Tenant
vlan_group: Test Vlan Group
status: Reserved
prefix_role: Network of care
description: Test description
is_pool: true
tags:
- Schnozzberry
state: present
- name: Get a new /24 inside 10.156.0.0/19 within Netbox - Parent doesn't exist
netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
parent: 10.156.0.0/19
prefix_length: 24
state: present
first_available: yes
- name: Create prefix within Netbox with only required information
netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 10.156.0.0/19
state: present
- name: Get a new /24 inside 10.156.0.0/19 within Netbox
netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
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 Netbox with additional values
netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
parent: 10.157.0.0/19
prefix_length: 24
vrf: Test VRF
site: Test Site
state: present
first_available: yes
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| msg string | always | Message indicating failure or info about what has been achieved |
| prefix dictionary | on creation | Serialized object as created or already existent within Netbox |
Authors
- Mikhail Yohman (@FragmentedPacket)
- Anthony Ruhier (@Anthony25)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/netbox/netbox/netbox_prefix_module.html