--- title: "The VAST Data Terraform Provider" slug: "the-vast-data-terraform-provider" tags: ["5.5"] updated: 2026-10-27T23:00:54Z published: 2026-10-27T23:00:54Z canonical: "docs.vastdata.com/the-vast-data-terraform-provider" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.vastdata.com/llms.txt > Use this file to discover all available pages before exploring further. # The VAST Data Terraform Provider The VAST Terraform Provider allows you to create, modify, or remove resources of a VAST Cluster using Terraform files. Terraform reads these files and applies them to the VAST Cluster using the VAST REST API. ## Benefits Using Terraform and the VAST Terraform Provider, you can automate the creation and modification of entities in a VAST Cluster such as users, views, protected paths, snapshots, policies, quotas, and more, by creating and modifying Terraform files. ## Prerequisites - Access to a VAST Cluster with a user & password - Terraform, downloaded and installed (see [Installing Terraform](/docs-5-5/docs/the-vast-data-terraform-provider#installing-terraform)) ## Getting Setup to Use Terraform In order to use the VAST Terraform Provider, you must download and install Terraform, and download and configure the Terraform Provider. ### Downloading the VAST Terraform Provider The VAST Terraform Provider is downloaded automatically from the Terraform Registry when you start Terraform. ### Installing Terraform Download the latest version of Terraform from [here](https://github.com/vast-data/terraform-provider-vastdata/releases) and then install it. ## Using the VAST Terraform Provider You use Terraform to create and update VAST Cluster resources by creating Terraform files. These files describe the cluster resources to be created or changed. ### Supported Resources These VAST resources can be created or modified using the Terraform Provider. - Views - Policies - Quotas - Users and Groups - Protected Paths - S3 Buckets - Tenants - Global Snapshots - VIP Pools - DNS Services - Quality of Service Policies - Replication Peers - S3 Replication Peers - Authorization Providers (LDAP, AD, NIS) - Volumes and Block Hosts (for block storage) ### Creating a Terraform File (.tf) The Terraform file must include these blocks at the beginning: ```plaintext terraform {  required_providers {    vastdata = {      source  = "vast-data/vastdata"    }  } } ## The VAST Provider provider vastdata { username = "" port = password = "" host = "
" skip_ssl_verify = true version_validation_mode = "warn" } ``` where: - path to terraform provider binaries is the path to the folder containing the VAST Terraform provider binary, extracted from the repo - username and password are for a VAST admin user on the cluster, with permissions to create and modify resources on the cluster - address and port are the IP address and port of the VAST Cluster - skip_ssl_verify indicates whether to verify the SSL certificate (default: *false*) - version_validation_mode indicates the level of validation checking (*strict* or *warn*) ### Running Terraform 1. Run this command to start Terraform: ```plaintext terraform init ``` This will download the VAST Terraform Provider from the Terraform Registry. 2. Run this command to apply terraform files, to create or modify the resources described in them: ```plaintext terraform apply ``` Terraform will analyze all the terraform files in the folder and then list the changes that will be made as a result. When prompted whether to proceed, enter 'yes' (or 'y'). If you re-apply the same files with Terraform, the following results: - resources in the plan that are unchanged from the previous apply will be ignored - resources that are missing from the plan will be removed from the VAST cluster - resources that are changed in the plan will be changed on the VAST cluster ### Removing Resources To remove a resource from the cluster, edit the terraform file in which it is defined, and remove reference to it. Then, run this command to apply the file and remove the resource from the cluster: ```plaintext terraform apply ``` To remove all resources in the cluster, run this command: ```plaintext terraform destroy ``` ### Examples The docs folder of the VAST Terraform Provider repo has descriptions on how to use each of the resources (in the resources subfolder) and providers (in the providers subfolder).