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.

Prerequisites

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"
}

# UNREACHABLE Regkey Pool
resource "bigip_common_license_manage_bigiq" "test_example" {
  bigiq_address="xxx.xxx.xxx.xxx"
  bigiq_user="xxxx"
  bigiq_password="xxxxx"
  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

Refer to the following F5 BIG-IP Terraform provider resources:

Deploy Per-App AS3 Declaration

The bigip_as3 resource now supports Per-Application mode of AS3 deployment from provider version v1.22.1. This mode requires AS3 version on BIG-IP to be greater than v3.50. For more information, see - User Guide for Deploying Per-App AS3 Declaration

What’s Next?