Web App
A Google Cloud Firebase web application instance To get more information about WebApp, see:
How-to Guides
Example Usage
Firebase Web App Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.WebApp;
import com.pulumi.gcp.firebase.WebAppArgs;
import com.pulumi.gcp.firebase.FirebaseFunctions;
import com.pulumi.gcp.firebase.inputs.GetWebAppConfigArgs;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.BucketObject;
import com.pulumi.gcp.storage.BucketObjectArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var basicWebApp = new WebApp("basicWebApp", WebAppArgs.builder()
.project("my-project-name")
.displayName("Display Name Basic")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
final var basicWebAppConfig = FirebaseFunctions.getWebAppConfig(GetWebAppConfigArgs.builder()
.webAppId(basicWebApp.appId())
.build());
var defaultBucket = new Bucket("defaultBucket", BucketArgs.builder()
.location("US")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultBucketObject = new BucketObject("defaultBucketObject", BucketObjectArgs.builder()
.bucket(defaultBucket.name())
.content(Output.tuple(basicWebApp.appId(), basicWebAppConfig.applyValue(getWebAppConfigResult -> getWebAppConfigResult), basicWebAppConfig.applyValue(getWebAppConfigResult -> getWebAppConfigResult), basicWebAppConfig.applyValue(getWebAppConfigResult -> getWebAppConfigResult)["database_url"], basicWebAppConfig.applyValue(getWebAppConfigResult -> getWebAppConfigResult)["storage_bucket"], basicWebAppConfig.applyValue(getWebAppConfigResult -> getWebAppConfigResult)["messaging_sender_id"], basicWebAppConfig.applyValue(getWebAppConfigResult -> getWebAppConfigResult)["measurement_id"]).applyValue(values -> {
var appId = values.t1;
var basicWebAppConfig = values.t2;
var basicWebAppConfig1 = values.t3;
var s = values.t4;
var s1 = values.t5;
var s2 = values.t6;
var s3 = values.t7;
return serializeJson(
jsonObject(
jsonProperty("appId", appId),
jsonProperty("apiKey", basicWebAppConfig.applyValue(getWebAppConfigResult -> getWebAppConfigResult.apiKey())),
jsonProperty("authDomain", basicWebAppConfig1.authDomain()),
jsonProperty("databaseURL", s),
jsonProperty("storageBucket", s1),
jsonProperty("messagingSenderId", s2),
jsonProperty("measurementId", s3)
));
}))
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}Firebase Web App Custom Api Key
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.projects.ApiKey;
import com.pulumi.gcp.projects.ApiKeyArgs;
import com.pulumi.gcp.projects.inputs.ApiKeyRestrictionsArgs;
import com.pulumi.gcp.projects.inputs.ApiKeyRestrictionsBrowserKeyRestrictionsArgs;
import com.pulumi.gcp.firebase.WebApp;
import com.pulumi.gcp.firebase.WebAppArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var web = new ApiKey("web", ApiKeyArgs.builder()
.project("my-project-name")
.displayName("Display Name")
.restrictions(ApiKeyRestrictionsArgs.builder()
.browserKeyRestrictions(ApiKeyRestrictionsBrowserKeyRestrictionsArgs.builder()
.allowedReferrers("*")
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var default_ = new WebApp("default", WebAppArgs.builder()
.project("my-project-name")
.displayName("Display Name")
.apiKeyId(web.uid())
.deletionPolicy("DELETE")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}Import
WebApp can be imported using any of these accepted formats* {{project}} projects/{{project}}/webApps/{{app_id}} * projects/{{project}}/webApps/{{app_id}} * {{project}}/{{project}}/{{app_id}} * webApps/{{app_id}} * {{app_id}} In Terraform v1.5.0 and later, use an import block to import WebApp using one of the formats above. For exampletf import { id = "{{project}} projects/{{project}}/webApps/{{app_id}}" to = google_firebase_web_app.default }
$ pulumi import gcp:firebase/webApp:WebApp When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), WebApp can be imported using one of the formats above. For example$ pulumi import gcp:firebase/webApp:WebApp default {{project}} projects/{{project}}/webApps/{{app_id}}$ pulumi import gcp:firebase/webApp:WebApp default projects/{{project}}/webApps/{{app_id}}$ pulumi import gcp:firebase/webApp:WebApp default {{project}}/{{project}}/{{app_id}}$ pulumi import gcp:firebase/webApp:WebApp default webApps/{{app_id}}$ pulumi import gcp:firebase/webApp:WebApp default {{app_id}}Properties
The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the WebApp. If apiKeyId is not set during creation, then Firebase automatically associates an apiKeyId with the WebApp. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned.