# infinity – Manage Infinity IPAM using Rest API

New in version 2.4.

- Synopsis
- Parameters
- Examples
- Return Values
- Status

## 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

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
          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:
{'network_address': '192.168.10.32/28', 'network_family': '4', 'network_id': 3102, 'network_size': None, 'description': None, 'network_location': '3085', 'ranges': {'id': 0, 'name': None, 'first_ip': None, 'type': None, 'last_ip': None}, 'network_type': 'lan', 'network_name': "'reserve_new_ansible_network'"}

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Meirong Liu (@MeganLiu)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.