2.8 KiB
2.8 KiB
layout, page_title, description
| layout | page_title | description |
|---|---|---|
| Provider: Unifi | The Unifi provider provides resources to interact with a Unifi controller API. |
Unifi Provider
The Unifi provider provides resources to interact with a Unifi controller API.
It is not recommended to use your own account for management of your controller. A user specific to Terraform is recommended. You can create a Limited Admin with Local Access Only and provide that information for authentication. Two-factor authentication is not supported in the provider.
It is recommended to use API Key authentication, if you are on controller version 9.0.108 or higher.
Example Usage
provider "unifi" {
api_key = var.api_key # optionally use UNIFI_API_KEY env var
username = var.username # optionally use UNIFI_USERNAME env var
password = var.password # optionally use UNIFI_PASSWORD env var
api_url = var.api_url # optionally use UNIFI_API env var
# you may need to allow insecure TLS communications unless you have configured
# certificates for your controller
allow_insecure = var.insecure # optionally use UNIFI_INSECURE env var
# if you are not configuring the default site, you can change the site
# site = "foo" or optionally use UNIFI_SITE env var
}
Obtaining an API Key
- Open your Site in UniFi Site Manager
- Click on Control Plane -> Admins & Users.
- Select your Admin user.
- Click Create API Key.
- Add a name for your API Key.
- Copy the key and store it securely, as it will only be displayed once.
- Click Done to ensure the key is hashed and securely stored.
- Use the API Key 🎉
Schema
Optional
allow_insecure(Boolean) Skip verification of TLS certificates of API requests. You may need to set this totrueif you are using your local API without setting up a signed certificate. Can be specified with theUNIFI_INSECUREenvironment variable.api_key(String) API key for the user accessing the API. Can be specified with theUNIFI_API_KEYenvironment variable. Requires controller version 9.0.108 or higher andusernameandpasswordto be emptyapi_url(String) URL of the controller API. Can be specified with theUNIFI_APIenvironment variable. You should NOT supply the path (/api), the SDK will discover the appropriate paths. This is to support UDM Pro style API paths as well as more standard controller paths.password(String) Password for the user accessing the API. Can be specified with theUNIFI_PASSWORDenvironment variable.site(String) The site in the Unifi controller this provider will manage. Can be specified with theUNIFI_SITEenvironment variable. Default:defaultusername(String) Local user name for the Unifi controller API. Can be specified with theUNIFI_USERNAMEenvironment variable.