Provision Dataplex Universal Catalog resources with Terraform
Stay organized with collections
Save and categorize content based on your preferences.
HashiCorp Terraform is an infrastructure-as-code (IaC) tool that lets you
provision and manage cloud infrastructure. Terraform provides plugins called
providers that let you interact with cloud providers and other APIs. You can
use the Terraform provider for Google Cloud to provision and manage
Google Cloud resources, including Dataplex Universal Catalog.
This page introduces you to using Terraform with Dataplex Universal Catalog, including an
introduction to how Terraform works and some resources to help you get started using
Terraform with Google Cloud. You'll also find links to Terraform reference docs for
Dataplex Universal Catalog, code examples, and guides for using Terraform to provision
Dataplex Universal Catalog resources.
Terraform has a declarative and configuration-oriented syntax, which you can
use to describe the infrastructure that you want to provision in your
Google Cloud project. After you author this configuration in one or more
Terraform configuration files, you can use the Terraform CLI to apply this
configuration to your Dataplex Universal Catalog resources.
The following steps explain how Terraform works:
You describe the infrastructure you want to provision in a Terraform
configuration file. You don't need to write code describing how to
provision the infrastructure. Terraform provisions the infrastructure for you.
You run the terraform plan command, which evaluates your configuration and
generates an execution plan. You can review the plan and make changes as
needed.
You run the terraform apply command, which performs the following
actions:
It provisions your infrastructure based on your execution plan by invoking
the corresponding Dataplex Universal Catalog APIs in the background.
It creates a Terraform state file, which is a JSON file that maps the resources
in your configuration file to the resources in the real-world infrastructure. Terraform uses
this file to keep a record of the most recent state of your infrastructure, and to determine
when to create, update, and destroy resources.
When you run terraform apply, Terraform uses the mapping in
the state file to compare the existing infrastructure to the code, and make
updates as necessary:
If a resource object is defined in the configuration file, but doesn't exist in the
state file, Terraform creates it.
If a resource object exists in the state file, but has a different
configuration from your configuration file, Terraform updates the resource
to match your configuration file.
If a resource object in the state file matches your configuration file,
Terraform leaves the resource unchanged.
Terraform resources for Dataplex Universal Catalog
Resources are the fundamental elements in the Terraform language. Each
resource block describes one or more infrastructure objects, such as virtual
networks or compute instances.
The following table lists the Terraform resources available for
Dataplex Universal Catalog:
This tutorial explains how to manage Dataplex Universal Catalog data quality
rules as code with Terraform, Cloud Build, and GitHub.
Terraform modules and blueprints for Dataplex Universal Catalog
Modules and blueprints help you automate provisioning and managing of
Google Cloud resources at scale. A module is a
reusable set of Terraform configuration files that creates a logical abstraction
of Terraform resources. A blueprint is a package of deployable and reusable
modules, and a policy that implements and documents a specific solution.
The following table lists modules and blueprints related to
Dataplex Universal Catalog:
[[["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-29 UTC."],[[["\u003cp\u003eTerraform is an infrastructure-as-code tool used to provision and manage cloud infrastructure, including Google Cloud resources like Dataplex, via plugins called providers.\u003c/p\u003e\n"],["\u003cp\u003eTerraform's declarative syntax allows users to describe their desired infrastructure in configuration files, which are then applied using the Terraform CLI.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eterraform apply\u003c/code\u003e command provisions the infrastructure, creates a state file to track resources, and updates infrastructure as needed based on changes to the configuration.\u003c/p\u003e\n"],["\u003cp\u003eTerraform offers a variety of resources for Dataplex, such as \u003ccode\u003egoogle_dataplex_asset\u003c/code\u003e, \u003ccode\u003egoogle_dataplex_lake\u003c/code\u003e, and \u003ccode\u003egoogle_dataplex_zone\u003c/code\u003e, alongside data sources to manage the resources.\u003c/p\u003e\n"],["\u003cp\u003eTerraform provides guides, modules, and blueprints, like the \u003ccode\u003edataplex-auto-data-quality\u003c/code\u003e module, to help automate the provisioning and management of Dataplex resources.\u003c/p\u003e\n"]]],[],null,["# Provision Dataplex Universal Catalog resources with Terraform\n\nHashiCorp Terraform is an infrastructure-as-code (IaC) tool that lets you\nprovision and manage cloud infrastructure. Terraform provides plugins called\n*providers* that let you interact with cloud providers and other APIs. You can\nuse the *Terraform provider for Google Cloud* to provision and manage\nGoogle Cloud resources, including Dataplex Universal Catalog.\n\nThis page introduces you to using Terraform with Dataplex Universal Catalog, including an\nintroduction to how Terraform works and some resources to help you get started using\nTerraform with Google Cloud. You'll also find links to Terraform reference docs for\nDataplex Universal Catalog, code examples, and guides for using Terraform to provision\nDataplex Universal Catalog resources.\n\nFor instructions on how to get started with Terraform for Google Cloud, see\n[Install and configure Terraform](/docs/terraform/install-configure-terraform) or the\n[Terraform for Google Cloud quickstart](/docs/terraform/create-vm-instance).\n\nHow Terraform works\n-------------------\n\nTerraform has a declarative and configuration-oriented syntax, which you can\nuse to describe the infrastructure that you want to provision in your\nGoogle Cloud project. After you author this configuration in one or more\nTerraform configuration files, you can use the Terraform CLI to apply this\nconfiguration to your Dataplex Universal Catalog resources.\n\nThe following steps explain how Terraform works:\n\n1. You describe the infrastructure you want to provision in a *Terraform\n configuration file*. You don't need to write code describing how to provision the infrastructure. Terraform provisions the infrastructure for you.\n2. You run the `terraform plan` command, which evaluates your configuration and generates an execution plan. You can review the plan and make changes as needed.\n3. You run the `terraform apply` command, which performs the following\n actions:\n\n 1. It provisions your infrastructure based on your execution plan by invoking the corresponding Dataplex Universal Catalog APIs in the background.\n 2. It creates a *Terraform state file*, which is a JSON file that maps the resources in your configuration file to the resources in the real-world infrastructure. Terraform uses this file to keep a record of the most recent state of your infrastructure, and to determine when to create, update, and destroy resources.\n 3. When you run `terraform apply`, Terraform uses the mapping in\n the state file to compare the existing infrastructure to the code, and make\n updates as necessary:\n\n - If a resource object is defined in the configuration file, but doesn't exist in the state file, Terraform creates it.\n - If a resource object exists in the state file, but has a different configuration from your configuration file, Terraform updates the resource to match your configuration file.\n - If a resource object in the state file matches your configuration file, Terraform leaves the resource unchanged.\n\nTerraform resources for Dataplex Universal Catalog\n--------------------------------------------------\n\n*Resources* are the fundamental elements in the Terraform language. Each\nresource block describes one or more infrastructure objects, such as virtual\nnetworks or compute instances.\n\nThe following table lists the Terraform resources available for\nDataplex Universal Catalog:\n\n\n\u003cbr /\u003e\n\nTerraform-based guides for Dataplex Universal Catalog\n-----------------------------------------------------\n\nThe following table lists Terraform-based how-to guides and tutorials for\nDataplex Universal Catalog:\n\n\n\u003cbr /\u003e\n\nTerraform modules and blueprints for Dataplex Universal Catalog\n---------------------------------------------------------------\n\nModules and blueprints help you automate provisioning and managing of\nGoogle Cloud resources at scale. A *module* is a\nreusable set of Terraform configuration files that creates a logical abstraction\nof Terraform resources. A *blueprint* is a package of deployable and reusable\nmodules, and a policy that implements and documents a specific solution.\n\nThe following table lists modules and blueprints related to\nDataplex Universal Catalog:\n\n\n\u003cbr /\u003e\n\nWhat's next\n-----------\n\n- [Terraform code samples for Dataplex Universal Catalog](/docs/samples?language=terraform)\n- [Terraform on Google Cloud documentation](/docs/terraform)\n- [Google Cloud provider documentation in HashiCorp](https://registry.terraform.io/providers/hashicorp/google/latest/docs)\n- [Infrastructure as code for Google Cloud](/docs/terraform/iac-overview)"]]