Skip to content

infobloxopen/terraform-provider-nios

Repository files navigation

Terraform Provider for Infoblox NIOS

The Terraform Provider for Infoblox NIOS allows you to manage your Infoblox NIOS resources such as DNS records, networks, fixed addresses, and more using Terraform. This provider uses the infoblox-nios-go-client for all API calls to interact with the Infoblox NIOS WAPI.

Table of Contents

Requirements

  • Go >= 1.18 (to build the provider plugin) (recommended version is 1.24.4 or later)
  • Terraform >= 1.8.0
  • Infoblox NIOS (version 9.0.6 or higher)

Getting Started

Prerequisites

Setting Up Terraform Internal ID

  • A resource can manage its drift state by using the extensible attribute Terraform Internal ID when its Reference ID is changed by any manual intervention.

  • To use the Terraform Provider for Infoblox NIOS, you must either define the following extensible attributes in NIOS or install the Cloud Network Automation license in the NIOS Grid, which adds the extensible attributes by default:

    • Tenant ID: String Type
    • CMP Type: String Type
    • Cloud API Owned: List Type (Values: True, False)
  • To use the NIOS Terraform Plugin, you must either define the extensible attribute Terraform Internal ID in NIOS or use super user to execute the below cmd. It will create the read only extensible attribute Terraform Internal ID.

    curl -k -u <SUPERUSER>:<PASSWORD> -H "Content-Type: application/json" -X POST https://<NIOS_GRID_IP>/wapi/<WAPI_VERSION>/extensibleattributedef -d '{"name": "Terraform Internal ID", "flags": "CR", "type": "STRING", "comment": "Internal ID for Terraform Resource"}'

    For more details refer to the prerequisites in Terraform Internal ID page.

Installation

For detailed installation instructions, please refer to the Quickstart Guide.

Usage Examples

Detailed examples for each resource and data source are available in the examples directory of the repository. Each resource and data source has its own directory with sample configurations.

For example:

Please refer to these examples for detailed usage patterns and configurations.

Available Resources and DataSources

The object groups available in this provider are categorized as follows:

For a detailed list of available resources and data sources, refer to the Resources and Data Sources page.

Host Record Management

  • The ip_allocation resource allocates a new IP address from an existing NIOS network and manages the corresponding DNS-related settings. It creates a Host Record in NIOS with either an IPv4 address, an IPv6 address, or both. The IP can be allocated statically (by specifying the address) or dynamically (as the next available address from a network). Once allocated, the address is marked as used in NIOS.

  • The ip_association resource manages DHCP-related settings of the Host Record created via ip_allocation. It updates the record with VM-specific details such as the MAC address for IPv4 and the DUID for IPv6, enabling full integration with cloud or virtualized environments.

Detailed documentation for these resources can be found in Host Record Documentation page.

Importing Existing Resources

Resources can be imported using their reference ID:

For detailed information, refer to the Importing Existing Resources page.

Documentation

For detailed documentation, refer to the Documentation page.

Logging and Debugging

For detailed information, refer to the Logging and Debugging page in the docs: Debugging

Support

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

  • Github Issues:
  • Infoblox Support:

About

This is a provider plug-in for Terraform to manage Infoblox NIOS.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 12

Languages