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.
- Requirements
- Getting Started
- Usage Examples
- Available Resources and DataSources
- Host Record Management
- Importing Existing Resources
- Documentation
- Debugging
- Support
- 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)
-
A resource can manage its drift state by using the extensible attribute
Terraform Internal IDwhen 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 TypeCMP Type: String TypeCloud API Owned: List Type (Values: True, False)
-
To use the NIOS Terraform Plugin, you must either define the extensible attribute
Terraform Internal IDin NIOS or usesuper userto execute the below cmd. It will create the read only extensible attributeTerraform 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.
For detailed installation instructions, please refer to the Quickstart Guide.
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:
- Resources examples:
examples/resources/nios_* - Data sources examples:
examples/data-sources/nios_*
Please refer to these examples for detailed usage patterns and configurations.
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.
-
The
ip_allocationresource 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_associationresource 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.
Resources can be imported using their reference ID:
For detailed information, refer to the Importing Existing Resources page.
For detailed documentation, refer to the Documentation page.
For detailed information, refer to the Logging and Debugging page in the docs: Debugging
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.