ip_address¶
Collection Note
This module is part of the networktocode.nautobot collection. To install the collection, use:
You need further requirements to be able to use this module, see the Requirements section for details.Synopsis¶
- Creates or removes IP addresses from Nautobot
Requirements¶
The following Python packages are needed on the host that executes this module:
Parameters¶
Parameter | Data Type | Environment Variable | Comments |
---|---|---|---|
address | str | Required if state is C(present) Version Added: 3.0.0 |
|
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 interface Version Added: 3.0.0 |
|
dns_name | str | Hostname or FQDN Version Added: 3.0.0 |
|
namespace | str | namespace that IP address is associated with. IPs are unique per namespaces. | |
Version Added: 5.0.0 |
|||
nat_inside | raw | The inside IP address this IP is assigned to Version Added: 3.0.0 |
|
parent | raw | With state C(new), it will force to get the next available IP in | |
this prefix. | |||
Required if state is C(present) or C(new) when no address is given. | |||
Unused if an address is specified. | |||
Version Added: 3.0.0 |
|||
query_params | list | 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 IP address Version Added: 3.0.0 |
|
state | str | Use C(present), C(new) or C(absent) for adding, force adding or removing. | |
C(present) will check if the IP is already created, and return it if | |||
true. C(new) will force to create it anyway (useful for anycasts, for | |||
example). | |||
status | raw | The status of the IP address Required if I(state=present) and does not exist yet Version Added: 3.0.0 |
|
tags | list | Any tags that this item may need to be associated with Version Added: 3.0.0 |
|
tenant | raw | The tenant that the device will be assigned to Version Added: 3.0.0 |
|
token required |
str | The token created within Nautobot to authorize API access Can be omitted if the E(NAUTOBOT_TOKEN) environment variable is configured. | |
type | str | The type of the IP address Version Added: 5.0.0 |
|
url required |
str | 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 | 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. |
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 IP address module"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create IP address within Nautobot with only required information
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
address: 192.168.1.10
status: active
state: present
- name: Force to create (even if it already exists) the IP
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
address: 192.168.1.10
state: new
- name: Create the same IP under another namespace
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
address: 192.168.1.10
namespace: MyNewNamespace
state: new
- name: Get a new available IP inside 192.168.1.0/24
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
parent: 192.168.1.0/24
state: new
- name: Delete IP address within nautobot
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
address: 192.168.1.10
state: absent
- name: Create IP address with several specified options in namespace Private
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
address: 192.168.1.20
tenant: Test Tenant
status: Reserved
namespace: Private
role: Loopback
description: Test description
tags:
- Schnozzberry
state: present
- name: Create IP address and assign a nat_inside IP
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
address: 192.168.1.30
nat_inside:
address: 192.168.1.20
Return Values¶
Key | Data Type | Description | Returned |
---|---|---|---|
ip_address | dict | Serialized object as created or already existent within Nautobot | on creation |
msg | str | Message indicating failure or info about what has been achieved | always |
Authors¶
- Mikhail Yohman (@fragmentedpacket)
- Anthony Ruhier (@anthony25)