` for details.
To use it in a playbook, specify: :code:`netbox.netbox.netbox_prefix`.
.. version_added
.. rst-class:: ansible-version-added
New in netbox.netbox 0.1.0
.. contents::
:local:
:depth: 1
.. Deprecated
Synopsis
--------
.. Description
- Creates or removes prefixes from NetBox
.. Aliases
.. Requirements
.. _ansible_collections.netbox.netbox.netbox_prefix_module_requirements:
Requirements
------------
The below requirements are needed on the host that executes this module.
- pynetbox
.. Options
Parameters
----------
.. tabularcolumns:: \X{1}{3}\X{2}{3}
.. list-table::
:width: 100%
:widths: auto
:header-rows: 1
:class: longtable ansible-option-table
* - Parameter
- Comments
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-cert:
.. rst-class:: ansible-option-title
**cert**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
- .. raw:: html
Certificate path
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data:
.. rst-class:: ansible-option-title
**data**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`dictionary` / :ansible-option-required:`required`
.. raw:: html
- .. raw:: html
Defines the prefix configuration
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/comments:
.. rst-class:: ansible-option-title
**comments**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
:ansible-option-versionadded:`added in netbox.netbox 3.10.0`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Comments that may include additional information in regards to the prefix
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/custom_fields:
.. rst-class:: ansible-option-title
**custom_fields**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`dictionary`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Must exist in NetBox and in key/value format
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/description:
.. rst-class:: ansible-option-title
**description**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
The description of the prefix
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/family:
.. rst-class:: ansible-option-title
**family**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`integer`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Specifies which address family the prefix prefix belongs to
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/is_pool:
.. rst-class:: ansible-option-title
**is_pool**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
All IP Addresses within this prefix are considered usable
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`false`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/mark_utilized:
.. rst-class:: ansible-option-title
**mark_utilized**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
:ansible-option-versionadded:`added in netbox.netbox 3.8.0`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Treat as 100% utilized
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`false`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/parent:
.. rst-class:: ansible-option-title
**parent**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Required if state is :literal:`present` and first\_available is :literal:`yes`. Will get a new available prefix in this parent prefix.
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/prefix:
.. rst-class:: ansible-option-title
**prefix**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Required if state is :literal:`present` and first\_available is False. Will allocate or free this prefix.
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/prefix_length:
.. rst-class:: ansible-option-title
**prefix_length**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`integer`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Required ONLY if state is :literal:`present` and first\_available is :literal:`yes`.
Will get a new available prefix of the given prefix\_length in this parent prefix.
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/prefix_role:
.. rst-class:: ansible-option-title
**prefix_role**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
The role of the prefix
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/scope:
.. rst-class:: ansible-option-title
**scope**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
:ansible-option-versionadded:`added in netbox.netbox 3.21.0`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Object related to scope type (NetBox 4.2+)
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/scope_type:
.. rst-class:: ansible-option-title
**scope_type**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
:ansible-option-versionadded:`added in netbox.netbox 3.21.0`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Type of scope to be applied (NetBox 4.2+)
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`"dcim.location"`
- :ansible-option-choices-entry:`"dcim.rack"`
- :ansible-option-choices-entry:`"dcim.region"`
- :ansible-option-choices-entry:`"dcim.site"`
- :ansible-option-choices-entry:`"dcim.sitegroup"`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/site:
.. rst-class:: ansible-option-title
**site**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Site that prefix is associated with (Deprecated in NetBox 4.2+)
Will be removed in version 5.0.0
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/status:
.. rst-class:: ansible-option-title
**status**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
The status of the prefix
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/tags:
.. rst-class:: ansible-option-title
**tags**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Any tags that the prefix may need to be associated with
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/tenant:
.. rst-class:: ansible-option-title
**tenant**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
The tenant that the prefix will be assigned to
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/vlan:
.. rst-class:: ansible-option-title
**vlan**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
The VLAN the prefix will be assigned to
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-data/vrf:
.. rst-class:: ansible-option-title
**vrf**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
VRF that prefix is associated with
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-first_available:
.. rst-class:: ansible-option-title
**first_available**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
- .. raw:: html
If :literal:`yes` and state :literal:`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 :literal:`absent`.
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry-default:`false` :ansible-option-choices-default-mark:`← (default)`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-headers:
.. rst-class:: ansible-option-title
**headers**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`dictionary`
.. raw:: html
- .. raw:: html
Dictionary of headers to be passed to the NetBox API.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-netbox_token:
.. rst-class:: ansible-option-title
**netbox_token**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string` / :ansible-option-required:`required`
.. raw:: html
- .. raw:: html
The NetBox API token.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-netbox_url:
.. rst-class:: ansible-option-title
**netbox_url**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string` / :ansible-option-required:`required`
.. raw:: html
- .. raw:: html
The URL of the NetBox instance.
Must be accessible by the Ansible control host.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-query_params:
.. rst-class:: ansible-option-title
**query_params**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=string`
.. raw:: html
- .. raw:: html
This can be used to override the specified values in ALLOWED\_QUERY\_PARAMS that are defined
in plugins/module\_utils/netbox\_utils.py and provides control to users on what may make
an object unique in their environment.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-state:
.. rst-class:: ansible-option-title
**state**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
The state of the object.
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)`
- :ansible-option-choices-entry:`"absent"`
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__parameter-validate_certs:
.. rst-class:: ansible-option-title
**validate_certs**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`any`
.. raw:: html
- .. raw:: html
If :literal:`no`\ , SSL certificates will not be validated.
This should only be used on personally controlled sites using a self-signed certificates.
.. rst-class:: ansible-option-line
:ansible-option-default-bold:`Default:` :ansible-option-default:`true`
.. raw:: html
.. Attributes
.. Notes
Notes
-----
.. note::
- Tags should be defined as a YAML list
- This should be ran with connection :literal:`local` and hosts :literal:`localhost`
.. Seealso
.. Examples
Examples
--------
.. code-block:: yaml+jinja
- name: "Test NetBox prefix module"
connection: local
hosts: localhost
gather_facts: false
tasks:
- name: Create prefix within NetBox with only required information before deleting it
netbox.netbox.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.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.netbox.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.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: true
- name: Create prefix within NetBox with only required information
netbox.netbox.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.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: true
- name: Get a new /24 inside 10.157.0.0/19 within NetBox with additional values
netbox.netbox.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: true
- name: Create prefix with scope (NetBox 4.2+)
netbox.netbox.netbox_prefix:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 10.156.32.0/19
scope_type: "dcim.site"
scope: Test Site
vrf: Test VRF
tenant: Test Tenant
status: Reserved
description: Test description
state: present
.. Facts
.. Return values
Return Values
-------------
Common return values are documented :ref:`here `, the following are the fields unique to this module:
.. tabularcolumns:: \X{1}{3}\X{2}{3}
.. list-table::
:width: 100%
:widths: auto
:header-rows: 1
:class: longtable ansible-option-table
* - Key
- Description
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__return-msg:
.. rst-class:: ansible-option-title
**msg**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
Message indicating failure or info about what has been achieved
.. rst-class:: ansible-option-line
:ansible-option-returned-bold:`Returned:` always
.. raw:: html
* - .. raw:: html
.. _ansible_collections.netbox.netbox.netbox_prefix_module__return-prefix:
.. rst-class:: ansible-option-title
**prefix**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`dictionary`
.. raw:: html
- .. raw:: html
Serialized object as created or already existent within NetBox
.. rst-class:: ansible-option-line
:ansible-option-returned-bold:`Returned:` on creation
.. raw:: html
.. Status (Presently only deprecated)
.. Authors
Authors
~~~~~~~
- Mikhail Yohman (@FragmentedPacket)
- Anthony Ruhier (@Anthony25)
.. Extra links
Collection links
~~~~~~~~~~~~~~~~
.. ansible-links::
- title: "Issue Tracker"
url: "https://github.com/netbox-community/ansible_modules/issues"
external: true
- title: "Repository (Sources)"
url: "https://github.com/netbox-community/ansible_modules"
external: true
.. Parsing errors