googleFirebaseWebApp
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
- Official Documentation
Example Usage - Firebase Web App Basic
resource "google_project" "default" {
provider = google-beta
project_id = "tf-test%{random_suffix}"
name = "tf-test%{random_suffix}"
org_id = "123456789"
labels = {
"firebase" = "enabled"
}
}
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", "")
})
}
Argument Reference
The following arguments are supported:
displayName
- (Required) The user-assigned display name of the App.
-
project
- (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used. -
deletionPolicy
- (Optional) Set toabandon
to allow the WebApp to be untracked from terraform state rather than deleted uponterraformDestroy
. This is useful becaue the WebApp may be serving traffic. Set todelete
to delete the WebApp. Default toabandon
Attributes Reference
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 -
appId
- 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. -
appUrls
- The URLs where thewebApp
is hosted.
Timeouts
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.
Import
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}}
User Project Overrides
This resource supports User Project Overrides.