blob: 33a8b05faacd0d124af71c17a4b65b6bbf0c6fdb [file] [log] [blame] [edit]
---
page_title: project_from_id Function - terraform-provider-google
description: |-
Returns the project within a provided resource id, self link, or OP style resource name.
---
# Function: project_from_id
Returns the project within a provided resource's id, resource URI, self link, or full resource name.
For more information about using provider-defined functions with Terraform [see the official documentation](https://developer.hashicorp.com/terraform/plugin/framework/functions/concepts).
## Example Usage
### Use with the `google` provider
```terraform
terraform {
required_providers {
google = {
source = "hashicorp/google"
}
}
}
resource "google_pubsub_topic" "default" {
project = "my-project"
name = "my-topic"
}
# Value is "my-project"
output "project_from_id" {
value = provider::google::project_from_id(google_pubsub_topic.default.id)
}
```
### Use with the `google-beta` provider
```terraform
terraform {
required_providers {
google-beta = {
source = "hashicorp/google-beta"
}
}
}
resource "google_pubsub_topic" "default" {
# provider argument omitted - provisioning by google or google-beta doesn't impact this example
project = "my-project"
name = "my-topic"
}
# Value is "my-project"
output "project_from_id" {
value = provider::google-beta::project_from_id(google_pubsub_topic.default.id)
}
```
## Signature
```text
project_from_id(id string) string
```
## Arguments
1. `id` (String) A string of a resource's id, resource URI, self link, or full resource name. For example, these are all valid values:
* `"projects/my-project/zones/us-central1-c/instances/my-instance"`
* `"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/instances/my-instance"`
* `"//gkehub.googleapis.com/projects/my-project/locations/us-central1/memberships/my-membership"`