### Deploying a single file with vercel_file and vercel_deployment Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/file.md This example demonstrates how to use the vercel_file data source to get metadata for a file and then use that metadata with the vercel_deployment resource to deploy the file. Ensure the file path is relative to your Terraform configuration. ```terraform data "vercel_file" "example" { path = "index.html" } data "vercel_project" "example" { name = "my-project" } resource "vercel_deployment" "example" { project_id = data.vercel_project.example.id files = data.vercel_file.example.file } ``` -------------------------------- ### Example Usage of vercel_blob_project_connections Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/blob_project_connections.md This example demonstrates how to configure a Blob store, a Vercel project, establish a connection between them using `vercel_blob_project_connection`, and then use the `vercel_blob_project_connections` data source to read these connections. ```terraform resource "vercel_blob_store" "example" { name = "example-blob-store" } resource "vercel_project" "example" { name = "example-blob-project" } resource "vercel_blob_project_connection" "example" { blob_store_id = vercel_blob_store.example.id project_id = vercel_project.example.id } data "vercel_blob_project_connections" "example" { store_id = vercel_blob_store.example.id } ``` -------------------------------- ### Example Usage of vercel_prebuilt_project Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/prebuilt_project.md This example demonstrates how to use the `vercel_prebuilt_project` data source to reference a pre-built UI project and then use its output to create a Vercel deployment. It assumes the UI project is in a separate directory and has been built using `vercel build`. ```terraform data "vercel_project" "example" { name = "my-awesome-project" } data "vercel_prebuilt_project" "example" { path = "../ui" } resource "vercel_deployment" "example" { project_id = data.vercel_project.example.id files = data.vercel_prebuilt_project.example.output path_prefix = data.vercel_prebuilt_project.example.path } ``` -------------------------------- ### Example Usage of vercel_microfrontend_group and vercel_microfrontend_group_membership Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/microfrontend_group.md This example demonstrates how to create a Microfrontend Group and assign a project to it. It requires data sources to fetch project IDs. ```terraform data "vercel_project" "parent_mfe_project" { name = "my parent project" } data "vercel_project" "child_mfe_project" { name = "my child project" } resource "vercel_microfrontend_group" "example_mfe_group" { name = "my mfe" default_app = { project_id = data.vercel_project.parent_mfe_project.id } } resource "vercel_microfrontend_group_membership" "child_mfe_project_mfe_membership" { project_id = vercel_project.child_mfe_project.id microfrontend_group_id = vercel_microfrontend_group.example_mfe_group.id } ``` -------------------------------- ### Example Usage of vercel_project_directory and vercel_deployment Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/project_directory.md This example demonstrates how to use the vercel_project_directory data source to gather file metadata from a local directory (e.g., '../ui') and then use that metadata along with project information to create a vercel_deployment resource. Ensure the path is relative to your Terraform files. ```terraform data "vercel_project_directory" "example" { path = "../ui" } data "vercel_project" "example" { name = "my-awesome-project" } resource "vercel_deployment" "example" { project_id = data.vercel_project.example.id files = data.vercel_project_directory.example.files path_prefix = data.vercel_project_directory.example.path } ``` -------------------------------- ### Create a Vercel Project and a Project Route Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/project_route.md This example demonstrates how to create a Vercel project and then define a project route for it. The route is configured to redirect legacy documentation paths to new guide paths with a 308 status code. ```terraform resource "vercel_project" "example" { name = "example-project" } resource "vercel_project_route" "example" { project_id = vercel_project.example.id name = "redirect-legacy-docs" position = { placement = "start" } route = { src = "/docs/:path*" dest = "/guides/:path*" status = 308 } } ``` -------------------------------- ### Example Usage of vercel_bulk_redirects Data Source Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/bulk_redirects.md This example shows how to use the vercel_bulk_redirects data source to retrieve bulk redirects for a project. Ensure the vercel_project resource is defined first. ```terraform resource "vercel_project" "example" { name = "example-project" } data "vercel_bulk_redirects" "example" { project_id = vercel_project.example.id } ``` -------------------------------- ### Create a Vercel Project and Rolling Release Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/project_rolling_release.md Example of creating a Vercel project and then configuring its rolling release with manual approval and defined stages. ```terraform resource "vercel_project" "example" { name = "example-project" skew_protection = "12 hours" } resource "vercel_project_rolling_release" "example" { project_id = vercel_project.example.id advancement_type = "manual-approval" stages = [ { target_percentage = 20 }, { target_percentage = 50 } ] } ``` -------------------------------- ### Example Usage Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/microfrontend_group_membership.md Use this data source to retrieve information about an existing Microfrontend Group Membership. Ensure you have the project ID and microfrontend group ID. ```terraform data "vercel_microfrontend_group_membership" "example" { project_id = "prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" microfrontend_group_id = "mfe_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" } ``` -------------------------------- ### Example Usage of vercel_blob_object Data Source Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/blob_object.md This example demonstrates how to use the vercel_blob_object data source to retrieve metadata for a Blob object. It first creates a blob store and then uploads an object, followed by fetching its metadata. ```terraform resource "vercel_blob_store" "example" { name = "example-blob-store" } resource "vercel_blob_object" "example" { store_id = vercel_blob_store.example.id pathname = "branding/logo.svg" source = "${path.module}/files/logo.svg" content_type = "image/svg+xml" cache_control_max_age = 86400 } data "vercel_blob_object" "example" { store_id = vercel_blob_store.example.id pathname = vercel_blob_object.example.pathname } ``` -------------------------------- ### Example Usage of vercel_access_group_project Data Source Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/access_group_project.md This example demonstrates how to use the vercel_access_group_project data source to fetch information about an existing access group's project assignment. It first retrieves a project's ID using the vercel_project data source and then uses that ID along with a predefined access group ID to configure the vercel_access_group_project data source. ```terraform data "vercel_project" "example" { name = "my-existing-project" } data "vercel_access_group_project" "example" { access_group_id = "ag_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" project_id = vercel_project.example.id } ``` -------------------------------- ### Example Usage of vercel_team_config Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/team_config.md Use this resource to manage the configuration of an existing Vercel Team. Ensure the `vercel_file` data source is used to provide the avatar. ```terraform data "vercel_file" "example" { path = "example/avatar.png" } resource "vercel_team_config" "example" { id = "team_xxxxxxxxxxxxxxxxxxxxxxxx" avatar = data.vercel_file.example.file name = "Vercel terraform example" slug = "vercel-terraform-example" description = "Vercel Terraform Example" sensitive_environment_variable_policy = "off" remote_caching = { enabled = true } enable_preview_feedback = "off" enable_production_feedback = "off" hide_ip_addresses = true hide_ip_addresses_in_log_drains = true } ``` -------------------------------- ### Create a Vercel Project Domain Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/project_domain.md Example of creating a simple domain associated with a project. This domain will be automatically applied to production deployments. ```terraform resource "vercel_project" "example" { name = "example-project" } # A simple domain that will be automatically # applied to each production deployment resource "vercel_project_domain" "example" { project_id = vercel_project.example.id domain = "i-love.vercel.app" } ``` -------------------------------- ### Create a Vercel Blob Project Connection Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/blob_project_connection.md This example shows how to link an existing Blob store to a project and specify the environments where the connection should be active. Ensure the Blob store and project resources are defined prior to this. ```terraform resource "vercel_blob_store" "example" { name = "example-blob-store" } resource "vercel_project" "example" { name = "example-blob-project" } resource "vercel_blob_project_connection" "example" { blob_store_id = vercel_blob_store.example.id project_id = vercel_project.example.id environments = ["preview", "production"] } ``` -------------------------------- ### Create a Redirecting Vercel Project Domain Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/project_domain.md Example of creating a domain that redirects to another domain, with an optional status code. The redirect_status_code can be controlled. ```terraform # A redirect of a domain name to a second domain name. # The status_code can optionally be controlled. resource "vercel_project_domain" "example_redirect" { project_id = vercel_project.example.id domain = "i-also-love.vercel.app" redirect = vercel_project_domain.example.domain redirect_status_code = 307 } ``` -------------------------------- ### Create and Read Vercel Blob Store Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/data-sources/blob_store.md This example demonstrates how to create a Vercel Blob store using the `vercel_blob_store` resource and then read its details using the `vercel_blob_store` data source. The data source uses the ID of the created resource to fetch its information. ```terraform resource "vercel_blob_store" "example" { name = "example-blob-store" } data "vercel_blob_store" "example" { id = vercel_blob_store.example.id } ``` -------------------------------- ### Create an Edge Config and apply a schema Source: https://github.com/vercel/terraform-provider-vercel/blob/main/docs/resources/edge_config_schema.md This example shows how to create an Edge Config and then apply a JSON schema to it using the `vercel_edge_config_schema` resource. The schema is defined inline using a heredoc. ```terraform resource "vercel_edge_config" "example" { name = "example" } resource "vercel_edge_config_schema" "example" { id = vercel_edge_config.example.id definition = <