community.general.infinity – Manage Infinity IPAM using Rest API

Note

This plugin is part of the community.general collection (version 4.2.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 community.general.

To use it in a playbook, specify: community.general.infinity.

Synopsis

  • Manage Infinity IPAM using REST API.

Parameters

Parameter Choices/Defaults Comments
action
string / required
    Choices:
  • add_network
  • delete_network
  • get_network
  • get_network_id
  • release_ip
  • release_network
  • reserve_network
  • reserve_next_available_ip
Action to perform
ip_address
string
Default:
""
IP Address for a reservation or a release.
network_address
string
Default:
""
Network address with CIDR format (e.g., 192.168.310.0).
network_family
string
    Choices:
  • 4
  • 6
  • dual
Default:
4
Network family defined by Infinity, e.g. IPv4, IPv6 and Dual stack
network_id
string
Default:
""
Network ID.
network_location
integer
Default:
-1
The parent network id for a given network.
network_name
string
Default:
""
The name of a network.
network_size
string
Default:
""
Network bitmask (e.g. 255.255.255.220) or CIDR format (e.g., /26).
network_type
string
    Choices:
  • lan ←
  • shared_lan
  • supernet
Network type defined by Infinity
password
string / required
Infinity password.
server_ip
string / required
Infinity server_ip with IP address.
username
string / required
Username to access Infinity.
The user must have REST API privileges.

Examples

---
- hosts: localhost
  connection: local
  strategy: debug
  tasks:
    - name: Reserve network into Infinity IPAM
      community.general.infinity:
        server_ip: 80.75.107.12
        username: username
        password: password
        action: reserve_network
        network_name: reserve_new_ansible_network
        network_family: 4
        network_type: lan
        network_id: 1201
        network_size: /28
      register: infinity

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
ip_info
string
success
when reserve next available ip address from a network, the ip address info ) is returned.

Sample:
{"address": "192.168.10.3", "hostname": "", "FQDN": "", "domainname": "", "id": 3229}
network_id
string
success
id for a given network

Sample:
1501
network_info
string
success
when reserving a LAN network from a Infinity supernet by providing network_size, the information about the reserved network is returned.

Sample:
{'description': None, 'network_address': '192.168.10.32/28', 'network_family': '4', 'network_id': 3102, 'network_location': '3085', 'network_name': "'reserve_new_ansible_network'", 'network_size': None, 'network_type': 'lan', 'ranges': {'first_ip': None, 'id': 0, 'last_ip': None, 'name': None, 'type': None}}


Authors

  • Meirong Liu (@MeganLiu)