Allows management of a single API service for a Google Cloud Platform project.
For a list of services available, visit the API library page
or run gcloud services list --available
.
This resource requires the Service Usage API to use.
To get more information about google_project_service
, see:
resource "google_project_service" "project" {
project = "your-project-id"
service = "iam.googleapis.com"
timeouts {
create = "30m"
update = "40m"
}
disable_dependent_services = true
}
The following arguments are supported:
service
- (Required) The service to enable.
project
- (Optional) The project ID. If not provided, the provider project
is used.
disable_dependent_services
- (Optional) If true
, services that are enabled
and which depend on this service should also be disabled when this service is
destroyed. If false
or unset, an error will be generated if any enabled
services depend on this service when destroying it.
disable_on_destroy
- (Optional) If true, disable the service when the
Terraform resource is destroyed. Defaults to true. May be useful in the event
that a project is long-lived but the infrastructure running in that project
changes frequently.
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format {{project}}/{{service}}
This resource provides the following Timeouts configuration options: configuration options:
create
- Default is 20 minutes.read
- Default is 10 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Project services can be imported using the project_id
and service
, e.g.
{{project_id}}/{{service}}
In Terraform v1.5.0 and later, use an import
block to import project services using one of the formats above. For example:
import {
id = "{{project_id}}/{{service}}"
to = google_project_service.default
}
When using the terraform import
command, project services can be imported using one of the formats above. For example:
$ terraform import google_project_service.default {{project_id}}/{{service}}
Note that unlike other resources that fail if they already exist,
terraform apply
can be successfully used to verify already enabled services.
This means that when importing existing resources into Terraform, you can either
import the google_project_service
resources or treat them as new
infrastructure and run terraform apply
to add them to state.
This resource supports User Project Overrides.