Skip to content

codeaffen/phpipam-ansible-modules

Repository files navigation

phpIPAM Ansible Modules

Dynamic JSON Badge Codacy Badge Documentation Status

This collection provides modules to manage entities in a phpIPAM. This is neither a collection of roles nor playbooks. It provides modules to write your own roles and/or playbooks.

We get a lot of inspiration from foreman-ansible-modules for our modules.

Installation

The collection is available via Ansible Galaxy. So you can run

ansible-galaxy collection install codeaffen.phpipam

Alternatively you can build and install the collection from source.

make dist
ansible-galaxy collection install codeaffen-phpipam-<version>.tar.gz

Documentation

readthedocs.io

Current documentation can be found on readthedocs.io.

ansible-doc

If you have installed the collection you can facilitate ansible-doc to display documentation for a given module.

ansible-doc codeaffen.phpipam.section

repository folder

A last option to read the docs is the docs folder in this repository.

Dependencies

The following dependencies have to be fulfiled by the Ansible controller.

  • colour
  • geopy
  • inflection
  • ipaddress
  • phpypam>=1.0.0

Compatibility notice

To ensure phpipam-ansible-modules work correctly with phpIPAM versions 1.7 and above, you need to modify the phpIPAM configuration to stringify API results. This is crucial because newer phpIPAM versions might return numerical values directly, which the Ansible modules might expect as strings.

Here's how to implement the workaround:

1. Modify phpIPAM Configuration

You need to set the api_stringify_results variable to true in your phpIPAM configuration. This change should be made in the config.php file, which is typically located in the phpIPAM installation directory (e.g., /var/www/html/phpipam/config.php or /var/www/phpipam/config.php).

Add or modify the following line in your config.php file:

<?php
/*
 * phpIPAM config.php
 *
 * ... existing configuration ...
 */

// Required for Ansible modules with phpIPAM v1.7 and above
$api_stringify_results = true;

/*
 * ... rest of your configuration ...
 */
?>

Need help?

If you’ve found any issues in this release please head over to github and open a bug so we can take a look.