universal_ddi

69Modules3Plugins

Overview

Description

Infoblox Universal DDI Ansible Collection

Readme

Universal DDI Collection for Ansible

This repo hosts the infoblox.universal_ddi Ansible Collection.

The collection provides modules to automate your Universal DDI (DHCP, DNS and IPAM) and Infoblox Cloud objects hosted in the Infoblox Portal.

Note: This collection replaces the legacy B1DDI collection. The Universal DDI collection is a complete rewrite of the B1DDI collection and provides a more robust and feature-rich set of modules to manage Infoblox Universal DDI resources.

Migration from Legacy Modules

We recommend migrating from the legacy B1DDI Collection as it will be deprecated in the near future. Please expect a few breaking changes while migrating from legacy modules to the new collection modules. To help you with the migration process, refer to our comprehensive Migration Guide.

Plugin Documentation

The complete information regarding the collection and the supported modules can be found in the documentation.

Installation

Installing the Collection from Ansible Galaxy

To install the Universal DDI Collection, you can use the ansible-galaxy command line tool:

ansible-galaxy collection install infoblox.universal_ddi

You can also include it in a requirements.yml file and install it via ansible-galaxy collection install -r requirements.yml using the format:

collections:
- name: infoblox.universal_ddi

You can also clone the git repository and use the collection directly:

mkdir -p ~/ansible_collections/infoblox/universal_ddi
git clone https://github.com/infobloxopen/universal-ddi-ansible.git ~/ansible_collections/infoblox/universal_ddi

Requirements

  • Required Ansible version: 2.15 or later
  • Required Python version: 3.9 or later

The collection also requires the following Python Libraries to be installed:

Installing required libraries and SDK

Installing collection does not install any required third party Python libraries or SDKs. The user needs to install the required Python libraries using following command:

pip install -r requirements.txt

If you are working on developing and/or testing Infoblox Universal DDI collection, you may want to install additional requirements using following command:

pip install -r test-requirements.txt

Configuration

Portal URL

The default URL for the Cloud Services Portal is https://csp.infoblox.com. If you need to change this, you can pass the portal_url as a part of modules_defaults in the playbook. For example:

module_defaults:
  group/infoblox.universal_ddi.all:
    portal_url: "{{portal_url_value}}"

You can also set the URL using the environment variable INFOBLOX_PORTAL_URL or BLOXONE_CSP_URL.

Note: BLOXONE_CSP_URL is deprecated and will be removed in future releases. It is recommended to use INFOBLOX_PORTAL_URL instead.

Authorization

An API key is required to access Infoblox API. You can obtain an API key by following the instructions in the guide for Configuring User API Keys.

To use an API key with Infoblox API, you can pass the portal_key as a part of modules_defaults in the playbook . For example:

module_defaults:
  group/infoblox.universal.all:
    portal_key: "{{portal_key_value}}"

Alternatively, You can also set the API key using the environment variable INFOBLOX_PORTAL_KEY or BLOXONE_API_KEY .

Note: BLOXONE_API_KEY is deprecated and will be removed in future releases. It is recommended to use INFOBLOX_PORTAL_KEY instead.

Note: The API key is a secret and should be handled securely. Hardcoding the API key in your code is not recommended.

Usage

The following example demonstrates how to use the infoblox.universal_ddi collection to create a DNS Auth Zone inside a View.

- hosts: localhost
  gather_facts: no
  module_defaults:
    group/infoblox.universal_ddi.all:
      portal_url: "{{portal_url_value}}"
      portal_key: "{{portal_key_value}}"
  tasks:
    - name: Create a DNS View
      infoblox.universal_ddi.dns_view:
        name: "example_view"
        state: present
      register: dns_view

    - name: Create a new DNS Auth Zone
      infoblox.universal_ddi.dns_auth_zone:
        fqdn: "example.com"
        primary_type: "cloud"
        view: "{{ dns_view.id }}"
        state: present

Demo usage for each module can be found in the Examples section of the module documentation.

Debugging

Verbose Logging

Ansible provides increasing levels of verbosity to help with debugging. The verbosity level can be controlled by appending -v to the ansible-playbook command.

ansible-playbook playbook.yml -vvv

Adjust the number of v's to modify the verbosity level.

Using debug module

Ansible's built-in debug module can be used to print variable values or message outputs during playbook execution. You can use the debug module to print the output of a task. For example:

- name: Create a DNS View
  infoblox.universal_ddi.dns_view:
    name: "example_view"
    state: present
  register: dns_view

- name: Print the output of the DNS View
  ansible.builtin.debug:
    var: dns_view
    verbosity: 2

Please refer to the Ansible Debug Module for more information.

Release Notes

For detailed information about the latest updates, new features, bug fixes, and improvements, please visit our Changelog

Contributing

We welcome your contributions to the Universal DDI Collection! Please check out our Contribution Guide for guidelines on how to submit pull requests, report issues, and contribute to the project.

Support

If you have any questions or issues, you can reach out to us using the following channels:

  • Github Issues:
  • Submit your issues or requests for enhancements on the Github Issues Page
  • Infoblox Support:
  • For any questions or issues, please contact Infoblox Support.

Related Information

Certification

Product
2.4
2.5
2.6
DocumentationDependencies
No dependencies
There are currently no dependencies for this collection.
View in Automation Hub
Red Hat logoLinkedInYouTubeFacebookTwitter

Platforms

Products & services

Try, buy, sell

Help

About Red Hat Ecosystem Catalog

The Red Hat Ecosystem Catalog is the official source for discovering and learning more about the Red Hat Ecosystem of both Red Hat and certified third-party products and services.

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2025 Red Hat