community.general.infinity – Manage Infinity IPAM using Rest API
Note
This plugin is part of the community.general collection (version 2.0.1).
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    |   
  |    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    |   
 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    |   
  |    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)
 
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/community/general/infinity_module.html