subcategory | page_title | description |
---|---|---|
Firebase |
Google: google_firebase_web_app |
A Google Cloud Firebase web application instance |
A Google Cloud Firebase web application instance
~> Warning: This resource is in beta, and should be used with the terraform-provider-google-beta provider. See Provider Versions for more details on beta resources.
To get more information about WebApp, see:
- API documentation
- How-to Guides
resource "google_project" "default" {
provider = google-beta
project_id = "tf-test%{random_suffix}"
name = "tf-test%{random_suffix}"
org_id = "123456789"
}
resource "google_firebase_project" "default" {
provider = google-beta
project = google_project.default.project_id
}
resource "google_firebase_web_app" "basic" {
provider = google-beta
project = google_project.default.project_id
display_name = "Display Name Basic"
deletion_policy = "DELETE"
depends_on = [google_firebase_project.default]
}
data "google_firebase_web_app_config" "basic" {
provider = google-beta
web_app_id = google_firebase_web_app.basic.app_id
}
resource "google_storage_bucket" "default" {
provider = google-beta
name = "fb-webapp-"
location = "US"
}
resource "google_storage_bucket_object" "default" {
provider = google-beta
bucket = google_storage_bucket.default.name
name = "firebase-config.json"
content = jsonencode({
appId = google_firebase_web_app.basic.app_id
apiKey = data.google_firebase_web_app_config.basic.api_key
authDomain = data.google_firebase_web_app_config.basic.auth_domain
databaseURL = lookup(data.google_firebase_web_app_config.basic, "database_url", "")
storageBucket = lookup(data.google_firebase_web_app_config.basic, "storage_bucket", "")
messagingSenderId = lookup(data.google_firebase_web_app_config.basic, "messaging_sender_id", "")
measurementId = lookup(data.google_firebase_web_app_config.basic, "measurement_id", "")
})
}
The following arguments are supported:
display_name
- (Required) The user-assigned display name of the App.
-
deletion_policy
- (Optional) (Optional) Set toABANDON
to allow the WebApp to be untracked from terraform state rather than deleted uponterraform destroy
. This is useful becaue the WebApp may be serving traffic. Set toDELETE
to delete the WebApp. Default toABANDON
-
project
- (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
In addition to the arguments listed above, the following computed attributes are exported:
-
id
- an identifier for the resource with format{{name}}
-
name
- The fully qualified resource name of the App, for example: projects/projectId/webApps/appId -
app_id
- Immutable. The globally unique, Firebase-assigned identifier of the App. This identifier should be treated as an opaque token, as the data format is not specified.
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.
WebApp can be imported using any of these accepted formats:
$ terraform import google_firebase_web_app.default {{project}}/{{name}}
$ terraform import google_firebase_web_app.default {{project}} {{name}}
$ terraform import google_firebase_web_app.default {{name}}
This resource supports User Project Overrides.