google_firebase_web_app

A Google Cloud Firebase web application instance

To get more information about WebApp, see:

Example Usage - Firebase Web App Basic

resource "google_firebase_web_app" "basic" {
    provider = google-beta
    project = "my-project-name"
    display_name = "Display Name Basic"
}

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", "")
    })
}

Example Usage - Firebase Web App Custom Api Key

resource "google_firebase_web_app" "default" {
    provider = google-beta
    project = "my-project-name"
    display_name = "Display Name"
    api_key_id = google_apikeys_key.web.uid
    deletion_policy = "DELETE"
}

resource "google_apikeys_key" "web" {
    provider = google-beta
    project  = "my-project-name"
    name         = "api-key"
    display_name = "Display Name"

    restrictions {
        browser_key_restrictions {
            allowed_referrers = ["*"]
        }
    }
}

Argument Reference

The following arguments are supported:


Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

Timeouts

This resource provides the following Timeouts configuration options:

Import

WebApp can be imported using any of these accepted formats:

In Terraform v1.5.0 and later, use an import block to import WebApp using one of the formats above. For example:

import {
  id = "{{project}} projects/{{project}}/webApps/{{app_id}}"
  to = google_firebase_web_app.default
}

When using the terraform import command, WebApp can be imported using one of the formats above. For example:

$ terraform import google_firebase_web_app.default {{project}} projects/{{project}}/webApps/{{app_id}}
$ terraform import google_firebase_web_app.default projects/{{project}}/webApps/{{app_id}}
$ terraform import google_firebase_web_app.default {{project}}/{{project}}/{{app_id}}
$ terraform import google_firebase_web_app.default webApps/{{app_id}}
$ terraform import google_firebase_web_app.default {{app_id}}

User Project Overrides

This resource supports User Project Overrides.