---
title: "Overview of Infoblox IPAM Plug-In for Terraform"
canonical: "https://docs.infoblox.com/space/ipamdriverterraform/53055610/Overview%20of%20Infoblox%20IPAM%20Plug-In%20for%20Terraform"
format: markdown
---
Terraform is an open source infrastructure-as-code tool from HashiCorp. It allows you to define and create an execution plan to provision the infrastructure in a high-level configuration language. It is a tool that you can use to manage infrastructure across multiple clouds and platforms.

The Terraform Provider for Infoblox is an IPAM plugin (henceforth referred to as Infoblox IPAM Plug-In for Terraform) that interfaces with Infoblox NIOS and vNIOS appliances to provide IP address management and DNS services. You can use the Infoblox IPAM Plug-In for Terraform to automate the steps to provision the IP addresses and DNS records for network devices, and interface with NIOS or vNIOS in your infrastructure.

# Supported Operations

You can perform the following operations with Infoblox IPAM Plug-In version<span style="color: #172b4d"> 2.x.x </span>for Terraform:

- Create, update, and delete network container, DNS view, zone auth, zone forward, zone delegated, network, shared network, IPv4 fixed address, IPv4 range template, IPv4 range objects, and DTC pool, server, and LBDN objects. For details, see the corresponding topic link on the *[Resources and Data Sources Supported by Infoblox IPAM Plug-In for Terraform](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154076)* page.
- Create and update network view objects. For details, see *[Network View](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154154)*.
- Create, update, and delete the A, AAAA, CNAME, PTR, MX, SRV, TXT, ALIAS, and NS records. For details, see <span style="color: #000000">*[Resources and Data Sources Supported by Infoblox IPAM Plug-In for Terraform](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154076)*</span><span style="color: #000000">.</span>
- Allocate or deallocate an IP address from a network. Update properties of IP addresses managed by Terraform. For details, see *[IP Address Allocation](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154100)*.
- Associate an IP address of a host record (created using the allocate operation) with a VM or disassociate it from a VM, and update the properties of the VM. For details, see *[IP Address Association](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53121336)*.
- Retrieve information about the following objects from NIOS about:
  - Network, network view, IPv4 network container, IPv6 network container, DNS view, zone forward, and zone auth objects
  - DTC pool, server, and LBDN objects
  - A, AAAA, CNAME, PTR, MX, SRV, Host, TXT, ALIAS, and NS record objects managed by Terraform. For details, see the appropriate link on page *[Resources and Data Sources Supported by Infoblox IPAM Plug-In for Terraform](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154076)*<span style="color: #172b4d">.</span>
- <span style="color: #000000">Use the import functionality to import to Terraform the resources that already exist in NIOS.</span>

You can perform the following operations with Infoblox IPAM Plug-In version 1.1.1 for Terraform:

- Create network views. For details, see *[Creating a Network View in NIOS](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154135)*.
- Create networks. For details, see *[Creation of Network in NIOS appliance](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154189)*.
- Allocate and deallocate IP addresses from a network. For details, see *[Allocating an IP Address](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53154167)*.
- Allocate DNS records. For details, see *[Allocating DNS Records (A, CNAME, Host, and PTR records)](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53055740)*.
- Retrieve data for a network object. For details, see *[Fetching Data for a Network Object](https://infoblox-docs.atlassian.net/wiki/spaces/ipamdriverterraform/pages/53121388)*.

# Limitations

The limitations of Infoblox IPAM Plug-In for Terraform version 2.1.0 and later are as follows:

- Allocation and association through a fixed-address record are not supported.
- For `infoblox_ip_allocation` and `infoblox_ip_association` resources: Creation of a host record with multiple IP addresses of the same type is not supported. You can create a host record with a single IPv4 and IPv6 address.
- Authority delegation of IP addresses and DNS name spaces to a cloud platform appliance, is not supported.
- <span style="color: #172b4d">Inheritance of extensible attributes is not fully functional in this release. Infoblox supports only the retaining of inherited extensible attributes values in NIOS. The values are no longer deleted from NIOS as a result of any operation performed in Terraform.</span>
- <span style="color: #172b4d">Inheritance of extensible attributes is not supported for host records that are created using the plug-in.</span>
- Configuring an A, AAAA, and a host record resource with both `cidr` and `ip_addr` parameters, or configuring a PTR record with a combination of `cidr`, `ip_addr`, and `record_name` parameters, may lead to unexpected behavior. For a consistent behavior, configure any one of the input parameters.
- <span style="color: #000000">Required extensible attributes specified in NIOS Grid Manager are not validated by the plug-in.</span>
- <span style="color: #000000">In NIOS, the gateway IP addresses of networks created using the </span>`infoblox_ipv4_network`<span style="color: #000000"> and </span>`infoblox_ipv6_network`<span style="color: #000000"> resources display as "IPv4 Reservation" and "IPv6 Fixed Address" respectively.</span>
- <span style="color: #000000">Use of capital letters in the domain name of a Terraform resource might lead to unexpected results. For example, when you use a Terraform data source to search for a DNS record that has capital letters in its name, no results will be returned if you specify the name as is (with capital letters). You must specify the name in small letters.</span>
- In a plug-in versions prior to 2.5.0, the fetch functionality in data sources returns output for only one matching object even if it finds multiple objects matching the search criteria.

- In a plug-in version 2.5.0 or later, the data source block has a limit of fetching up to 1000 matching records. When the number of matching results exceeds this limit, an error is returned and no results are displayed. To address this issue, use the filter attribute to refine the search and ensure that the number of matching results remains at 1000 or lower.
- When using the Terraform `import` block to import a resource into Terraform, the Terraform internal ID that is assigned to the resource when the `terraform plan` command is run for the first time, is retained even if a  subsequent `terraform apply` is aborted though the resource is not managed by Terraform.
- When you update the DHCP options for a shared network, an IPv4 fixed address, an IPv4 range, or an IPv4 range template object, the DHCP options show as re-ordering when the next `terraform plan` command runs. This will not impact the functionality of these objects.
- The plug-in does not support retrieving information about IPv4 range and IPv4 range template objects by specifying the `member` or `ms_server` field in the `filter` attribute of the object’s data source block.