Getting Started with the Terraform Integration

Terraform is an infrastructure as code tool that lets users define both cloud and on-prem resources in human-readable configuration files. Users can version, reuse, and share in a central solution for managing infrastructure across multiple platforms throughout their lifecycle.

This introduction assumes you have both and Github accounts. and Terraform

terraform-provider-uptime was originally created by Kyle Gentle, with support from Elias Laham and the Dev Team at


Contributions to the Terraform platform are welcome, and we encourage you to submit any pull requests to our Github for improvements or reach out to with your requests. 


The Github contains all necessary files and a README with instructions to create and install a Terraform instance. Additionally, Terraform has a tendency to use many API requests when managing a large group of checks. 

The following are the requirements for using the current version of the Terraform provider:

If your Terraform configurations become rate limited, please take the following suggested steps:

Use -refresh=false

-refresh=false Disables the default behavior of synchronizing the Terraform state with remote objects before checking for configuration changes.

As an example, let’s say your account has 500 checks. If you need to change 1 check and are using Terraform’s default behavior, the system will GET all 500 checks before it can UPDATE the one that needs modification. This flag tells Terraform: "don't do the 500 GET calls, and rely on what you remember from last time instead".

Note: if you have enabled the -refresh=false flag but your account appears to still be rate-limited, please contact to request an increase.


Use -target=ADDRESS 

-target=ADDRESS Instructs Terraform to focus its planning efforts only on resource instances that match the given address and on any objects that those instances depend on.

To continue our previous example, you can use this flag to specifically target the 1 check that needs updating. The end result is 2 API calls to GET specific check and then UPDATE it.


Terraform and the UI

Terraform automatically remembers a check’s state, and will synchronize (refresh) each operation to ensure something hasn't inadvertently changed. Avoid making changes to checks outside your terraform system to prevent unnecessary refreshes. 

Contact Support

It is possible to add on an increase to your account’s rate limit. If the previous steps have not helped to resolve any rate limiting issues that may occur, contact us for further assistance. 

Uses and Use Cases

The Terraform provider is primarily useful for provisioning and managing checks in an enterprise setting, where multiple users may collaborate on a deployment. It allows teams to effectively build check creation, and retrieval of metrics, into normal workflow. 

With Terraform, it should be possible to create a new check within a deployment, assign a tag to the check, and retrieve metrics at set intervals.

It is also possible to manage third-party integrations via Terraform, provision new integrations, or manage existing ones as changes are made to your system.

Was this article helpful?
0 out of 1 found this helpful



Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.