Note
This plugin is part of the netbox.netbox collection (version 3.3.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
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
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
cert raw | Certificate path | ||
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=raw | 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. |
Note
local
and hosts localhost
- 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
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 |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/netbox/netbox/netbox_prefix_module.html