Terraform is Infrastructure as Code (IaC) software by HashiCorp that allows you to manage infrastructure across many cloud providers throughout the deployment, operations/management, retirement lifecycle. In Terraform, a Provider is a plugin that allows you to manage an external API, such as Infoblox NIOS. Version 2.1 of the Infoblox Provider brings extended capabilities to manage your IPAM and DNS.
Version 2 .1 of the Infoblox Provider is expanded to include 11 resource types for managing IPAM and DNS objects in your Infoblox Grid:
- infoblox_a_record: Manages an A record in an existing DNS zone.
- infoblox_aaaa_record: Manages an AAAA record in an existing DNS zone.
- infoblox_cname_record: Manages a CNAME record in an existing DNS zone.
- infoblox_ptr_record: Manages PTR record in an existing forward-mapping or reverse-mapping zone.
- infoblox_allocation: Reserves the next available or specified IP address in a specified network. This resource can assign an IPv4 address, IPv6 address, or both to the Host. This resource can also be used to create a Host record in an existing DNS zone.
- infoblox_association: Updates the properties for an allocated Host with details of the associated Virtual Machine in your cloud environment.
- infoblox_ipv4_network: Manages an IPv4 network in the Infoblox Grid, including functions to create the next available network in a container.
- infoblox_ipv6_network: Manages an IPv6 network in the Infoblox Grid, including functions to create the next available network in a container.
- infoblox_ipv4_network_container: Manages an IPv4 network container in the Infoblox Grid.
- infoblox_ipv6_network_container: Manages an IPv6 network container in the Infoblox Grid.
- infoblox_network_view: Creates a new network view in the Infoblox Grid.
Data Sources import objects from the Infoblox Grid into your Terraform configurations:
- infoblox_a_record: Imports an existing A record.
- infoblox_cname_record: Imports and existing CNAME record.
- infoblox_ipv4_netowrk: Imports an existing IPv4 network.
The latest version of the Infoblox Provider also allows you to add comments and extensible attributes for any of the resource types. Additionally, all DNS resources support specifying a Time to Live or TTL to the records they manage.
The Infoblox Provider can be used alongside providers for private and public clouds to manage IPAM and DNS throughout the lifecycle of your cloud resources. Examples of the Infoblox Provider used with AWS, Azure, and VMware providers can be found on the InfobloxOpen GitHub.
The infoblox_allocation resource will provide the next available IP from the specified CIDR and create a Host record in the existing DNS zone.
The IP address returned can be assigned to a cloud resource, in this case a network interface in Azure.
The infoblox_association resource can be used to update the Host record with details of the associated virtual machine.