For example, you can use Terraform to create and configure Dataform repositories,
release configurations, and workflow configurations.
To use Terraform with Dataform, you need to
create a configuration file
to describe your infrastructure, and then
apply the configuration file
to create an execution plan and perform operations to provision your
infrastructure.
The following table lists Dataform configuration samples that
appear in the
Terraform registry
and in
GitHub.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eTerraform is an infrastructure-as-code tool that supports the provisioning of Dataform resources and permissions.\u003c/p\u003e\n"],["\u003cp\u003eYou can use Terraform to manage Dataform resources such as repositories, release configurations, and workflow configurations.\u003c/p\u003e\n"],["\u003cp\u003eTerraform configuration files are used to describe infrastructure, which are then applied to create an execution plan.\u003c/p\u003e\n"],["\u003cp\u003eTerraform can also be used to manage IAM policies, specifically the \u003ccode\u003edataform_repository_iam\u003c/code\u003e policy, for Dataform repositories.\u003c/p\u003e\n"]]],[],null,["# Use Terraform with Dataform\n\nThis document describes Terraform support for Dataform.\n\n\u003cbr /\u003e\n\n[Terraform](https://www.terraform.io/)\nis an infrastructure-as-code (IaC) tool that you can use to provision resources\nand permissions for the following Dataform resources:\n\n- [Repository](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository)\n- [Release configuration](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository_release_config)\n- [Workflow configuration](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository_workflow_config)\n\nFor example, you can use Terraform to create and configure Dataform repositories,\nrelease configurations, and workflow configurations.\n\nTo use Terraform with Dataform, you need to\n[create a configuration file](https://developer.hashicorp.com/terraform/language)\nto describe your infrastructure, and then\n[apply the configuration file](https://developer.hashicorp.com/terraform/cli/commands/apply)\nto create an execution plan and perform operations to provision your\ninfrastructure.\n\nThe following table lists Dataform configuration samples that\nappear in the\n[Terraform registry](https://developer.hashicorp.com/terraform/language/resources)\nand in\n[GitHub](https://github.com/terraform-google-modules/docs-examples).\n\nManage IAM access in Terraform\n------------------------------\n\nYou can use Terraform to set and manage the\n[`dataform_repository_iam` policy](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository_iam) for the [repository](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository) resource.\n\nThe following resources help you manage the `dataform_repository_iam` policy:\n\n- [`google_dataform_repository_iam_policy`](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository_iam#google_dataform_repository_iam_policy)\n- [`google_dataform_repository_iam_binding`](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository_iam#google_dataform_repository_iam_binding)\n- [`google_dataform_repository_iam_member`](https://registry.terraform.io/providers/hashicorp/google-beta/latest/docs/resources/dataform_repository_iam#google_dataform_repository_iam_member)\n\nFor best practices for managing IAM in Terraform, see\n[Manage Identity and Access Management](https://cloud.google.com/docs/terraform/best-practices-for-terraform#iam).\n\nWhat's next\n-----------\n\nLearn more about Terraform:\n\n- [What is Terraform?](https://developer.hashicorp.com/terraform/intro)\n- [Terraform registry](https://registry.terraform.io/providers/hashicorp/google/latest/docs/)\n- [Terraform Developer website](https://developer.hashicorp.com/terraform/)\n- [Terraform Language Documentation](https://developer.hashicorp.com/terraform/language)\n- [Terraform CLI Documentation](https://developer.hashicorp.com/terraform/cli)"]]