A variable set is a resource that allows you to reuse the same variables across multiple workspaces. For example, you could define a variable set of provider credentials and automatically apply it to one or all workspaces.
Text displayed in the UI to contextualize the variable set and its purpose.
data.global
boolean
false
When true, Terraform Cloud automatically applies the variable set to all current and future workspaces in the organization.
data.relationships.workspaces
array
[]
Array of references to workspaces that the variable set should be assigned to. Sending an empty array clears all workspace assignments.
data.relationships.vars
array
[]
Array of complete variable definitions that comprise the variable set.
Terraform Cloud does not allow different global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to create a global variable set that contains conflicting variables.
{"data":{"type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse","global":false},"relationships":{"workspaces":{"data":[{"id":"ws-z6YvbWEYoE168kpq","type":"workspaces"}]},"vars":{"data":[{"type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
{"data":{"type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse","global":false},"relationships":{"workspaces":{"data":[{"id":"ws-z6YvbWEYoE168kpq","type":"workspaces"}]},"vars":{"data":[{"type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
{"data":{"id":"varset-kjkN545LH2Sfercv""type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse","global":false},"relationships":{"workspaces":{"data":[{"id":"ws-z6YvbWEYoE168kpq","type":"workspaces"}]},"vars":{"data":[{"id":"var-Nh0doz0hzj9hrm34qq""type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
{"data":{"id":"varset-kjkN545LH2Sfercv""type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse","global":false},"relationships":{"workspaces":{"data":[{"id":"ws-z6YvbWEYoE168kpq","type":"workspaces"}]},"vars":{"data":[{"id":"var-Nh0doz0hzj9hrm34qq""type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
Terraform Cloud does not allow global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to create a global variable set that contains conflicting variables.
{"data":{"type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse. Now global!","global":true},"relationships":{"vars":{"data":[{"type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
{"data":{"type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse. Now global!","global":true},"relationships":{"vars":{"data":[{"type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
{"data":{"id":"varset-kjkN545LH2Sfercv""type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse. Now global!","global":true},"relationships":{"vars":{"data":[{"id":"var-Nh0doz0hzj9hrm34qq""type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
{"data":{"id":"varset-kjkN545LH2Sfercv""type":"varsets","attributes":{"name":"MyVarset","description":"Full of vars and such for mass reuse. Now global!","global":true},"relationships":{"vars":{"data":[{"id":"var-Nh0doz0hzj9hrm34qq""type":"vars","attributes":{"key":"c2e4612d993c18e42ef30405ea7d0e9ae","value":"8676328808c5bf56ac5c8c0def3b7071","category":"terraform"}}]}}}}
{"data":{"id":"varset-fx2wP5purw37wbFz","type":"varsets","attributes":{"name":"MyVarset","description":"Full of Terraform input variables (aka vars) and environment variables for reuse.","global":true,"updated-at":"2022-07-08T18:38:17.380Z","var-count":2,"workspace-count":0},"relationships":{"organization":{"data":{"id":"hashicorp","type":"organizations"}},"vars":{"data":[{"id":"var-kFW8M9gJ1pBYobSx","type":"vars"},{"id":"var-XmEvinZu9nMxUoNt","type":"vars"}]}}}}
{"data":{"id":"varset-fx2wP5purw37wbFz","type":"varsets","attributes":{"name":"MyVarset","description":"Full of Terraform input variables (aka vars) and environment variables for reuse.","global":true,"updated-at":"2022-07-08T18:38:17.380Z","var-count":2,"workspace-count":0},"relationships":{"organization":{"data":{"id":"hashicorp","type":"organizations"}},"vars":{"data":[{"id":"var-kFW8M9gJ1pBYobSx","type":"vars"},{"id":"var-XmEvinZu9nMxUoNt","type":"vars"}]}}}}
{"data":[{"id":"varset-mio9UUFyFMjU33S4","type":"varsets","attributes":{"name":"varset-b7af6a77","description":"Full of vars and such for mass reuse","global":false,"updated-at":"2021-10-29T17:15:56.722Z","var-count":5,"workspace-count":2},"relationships":{"organization":{"data":{"id":"organization_1","type":"organizations"}},"vars":{"data":[{"id":"var-abcd12345","type":"vars"},{"id":"var-abcd12346","type":"vars"},{"id":"var-abcd12347","type":"vars"},{"id":"var-abcd12348","type":"vars"},{"id":"var-abcd12349","type":"vars"}]},"workspaces":{"data":[{"id":"ws-abcd12345","type":"workspaces"},{"id":"ws-abcd12346","type":"workspaces"}]}}}],"links":{"self":"app.terrafor.io/app/my_organization/varsets","first":"app.terrafor.io/app/my_organization/varsets?page=1","prev":null,"next":null,"last":"app.terrafor.io/app/my_organization/varsets?page=1"}}
{"data":[{"id":"varset-mio9UUFyFMjU33S4","type":"varsets","attributes":{"name":"varset-b7af6a77","description":"Full of vars and such for mass reuse","global":false,"updated-at":"2021-10-29T17:15:56.722Z","var-count":5,"workspace-count":2},"relationships":{"organization":{"data":{"id":"organization_1","type":"organizations"}},"vars":{"data":[{"id":"var-abcd12345","type":"vars"},{"id":"var-abcd12346","type":"vars"},{"id":"var-abcd12347","type":"vars"},{"id":"var-abcd12348","type":"vars"},{"id":"var-abcd12349","type":"vars"}]},"workspaces":{"data":[{"id":"ws-abcd12345","type":"workspaces"},{"id":"ws-abcd12346","type":"workspaces"}]}}}],"links":{"self":"app.terrafor.io/app/my_organization/varsets","first":"app.terrafor.io/app/my_organization/varsets?page=1","prev":null,"next":null,"last":"app.terrafor.io/app/my_organization/varsets?page=1"}}
This POST endpoint requires a JSON object with the following properties as a request payload.
Properties without a default value are required.
Key path
Type
Default
Description
data.type
string
Must be "vars".
data.attributes.key
string
The name of the variable.
data.attributes.value
string
""
The value of the variable.
data.attributes.description
string
The description of the variable.
data.attributes.category
string
Whether this is a Terraform or environment variable. Valid values are "terraform" or "env".
data.attributes.hcl
bool
false
Whether to evaluate the value of the variable as a string of HCL code. Has no effect for environment variables.
data.attributes.sensitive
bool
false
Whether the value is sensitive. If true, variable is not visible in the UI.
Terraform Cloud does not allow different global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to add a conflicting variable to a global variable set.
Terraform Cloud does not allow different global variable sets to contain conflicting variables with the same name and type. You will receive a 422 response if you try to add a conflicting variable to a global variable set.
The GET endpoints above can optionally return related resources, if requested with the include query parameter. The following resource types are available:
Resource Name
Description
vars
Show each variable in a variable set and all of their attributes including id, key, value, sensitive, category, hcl, created_at, and description.