ip_address¶
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 IP addresses from Nautobot
Requirements¶
The following Python packages are needed on the host that executes this module:
Parameters¶
Parameter | Defaults / Choices | Comments |
---|---|---|
address str |
Required if I(state=present) and the IP address does not exist yet 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 |
|
id str |
The UUID of the object to operate on Version Added: 5.13.0 |
|
namespace str |
Default: Global |
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 / 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 IP address Version Added: 3.0.0 |
|
state str |
Default: present Choices: absent, new, present |
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 / elements=raw |
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 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: DHCP, Host, SLAAC | The type of the IP address 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. |
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
- name: Delete IP address by id
networktocode.nautobot.ip_address:
url: http://nautobot.local
token: thisIsMyToken
id: 00000000-0000-0000-0000-000000000000
state: absent
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)