Last updated on: 2023-10-18 04:01:19.

F5 BIG-IP Provider Overview

Welcome to the F5 BIG-IP Resources for Terraform.

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.

Use these open source resources available on GitHub to create, edit, update, and delete configuration objects on F5 BIG-IP 12.1.1 and later.

Configuration files describe to Terraform the components needed to run a single application or your entire datacenter. Terraform generates an execution plan describing what it will do to reach the desired state, and then executes it to build the described infrastructure. As the configuration changes, Terraform is able to determine what changed and create incremental execution plans which can be applied.

Terraform can manage infrastructure including low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, and more.

Release Notes

Consult GitHub for detailed release notes about F5 BIG-IP Provider Resources for Terraform.

Releases and versioning

These BIG-IP versions are supported in these Terraform versions.

F5 BIG-IP version Terraform 1.X Terraform 0.14 Terraform 0.13 Terraform 0.12 Terraform 0.11
BIG-IP 16.x X X X X X
BIG-IP 15.x X X X X X
BIG-IP 14.x X X X X X
BIG-IP 13.x X X X X X
BIG-IP 12.x X X X X X

License BIG-IP with BIG-IQ

Welcome to the F5 BIG-IP Terraform Provider Licensing Guide with BIG-IQ.

With this Terraform Resource, you can assign the regkey/utility licenses to an F5 BIG-IP provider. You can also revoke licenses from BIG-IP provider for MANAGED, UNMANAGED, or UNREACHABLE devices using BIG-IQ.

This section provides examples of the bigip_common_license_manage_bigiq resource module. This resource is used for BIG-IP provider license management from BIG-IQ using Terraform.


To license from BIG-IQ with Terraform, ensure you meet the following requirements:

  • BIG-IQ v5.6 or newer
  • The BIG-IP system is running software version 12.X or newer

Example usage

# MANAGED Regkey Pool
resource "bigip_common_license_manage_bigiq" "test_example" {
  bigiq_address = var.bigiq
  bigiq_user = var.bigiq_un
  bigiq_password = var.bigiq_pw
  license_poolname = "regkeypool_name"
  assignment_type = "MANAGED"

# UNMANAGED Regkey Pool
resource "bigip_common_license_manage_bigiq" "test_example" {
  bigiq_address = var.bigiq
  bigiq_user = var.bigiq_un
  bigiq_password = var.bigiq_pw
  license_poolname = "regkeypool_name"
  assignment_type = "UNMANAGED"

# UNMANAGED Utility Pool
resource "bigip_common_license_manage_bigiq" "test_example" {
  bigiq_address = var.bigiq
  bigiq_user = var.bigiq_un
  bigiq_password = var.bigiq_pw
  license_poolname = "utilitypool_name"
  assignment_type = "UNMANAGED"
  unit_of_measure = "yearly"
  skukeyword1 = "BTHSM200M"

resource "bigip_common_license_manage_bigiq" "test_example" {
  license_poolname = "regkey_pool_name"
  assignment_type = "UNREACHABLE"
  mac_address = "FA:16:3E:1B:6D:32"
  hypervisor = "azure"

Argument reference

The following table provides descriptions for all BIG-IQ licensing parameters provided on the Terraform Registry.

Parameter Status Description
big-iq_address Required BIGIQ License Manager IP Address, variable type string
bigiq_user Required BIGIQ License Manager username, variable type string
bigiq_password Required BIGIQ License Manager password, variable type string
bigiq_port Optional BIGIQ License Manager Port number, variable type int. Specify if port is other than 443
bigiq_token_auth Optional Variable type bool. If set to true enables token based authentication. Default value is false
unit_of_measure Optional BIGIQ Login reference for token authentication.
assignment_type Required The type of assignment, which is determined by whether the BIG-IP is unreachable, unmanaged, or managed by BIG-IQ. Possible values: “UNREACHABLE”, “UNMANAGED”, or “MANAGED”.
license_poolname Required A name given to the license pool, variable type string.
license_poolname Optional The units used to measure billing. For example, “hourly” or “daily”. Type string. REQUIRED for Utility licenseType.
skukeyword1 Optional An optional offering name. type string.
skukeyword2 Optional An optional offering name. type string.
mac_address Optional MAC address of the BIG-IP. type string. REQUIRED Only for unreachable BIG-IP.
hypervisors Optional Identifies the platform running the BIG-IP VE. Variable type string.Possible values: “aws”, “azure”, “gce”, “vmware”, “hyperv”, “kvm”, or “xen”. REQUIRED Only for unreachable BIG-IP
tenant Optional For an unreachable BIG-IP, in this field you can provide an optional description for the assignment.
key Optional License assignment is done with specified key, supported only with RegKeypool type license assignement. Variable type string.

BIG-IP Terraform provider resources

Consult the following F5 BIG-IP Terraform provider resources:

What’s Next?