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.organizations.Project;
import com.pulumi.gcp.organizations.ProjectArgs;
import com.pulumi.gcp.firebase.Project;
import com.pulumi.gcp.firebase.ProjectArgs;
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 defaultProject = new Project("defaultProject", ProjectArgs.builder()
.projectId("my-project")
.orgId("123456789")
.labels(Map.of("firebase", "enabled"))
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultFirebase_projectProject = new Project("defaultFirebase/projectProject", ProjectArgs.builder()
.project(defaultProject.projectId())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var basicWebApp = new WebApp("basicWebApp", WebAppArgs.builder()
.project(defaultProject.projectId())
.displayName("Display Name Basic")
.deletionPolicy("DELETE")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.dependsOn(defaultFirebase / projectProject)
.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());
}
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
Import
WebApp can be imported using any of these accepted formats
$ pulumi import gcp:firebase/webApp:WebApp default {{project}} projects/{{project}}/webApps/{{app_id}}
Content copied to clipboard
$ pulumi import gcp:firebase/webApp:WebApp default projects/{{project}}/webApps/{{app_id}}
Content copied to clipboard
$ pulumi import gcp:firebase/webApp:WebApp default {{project}}/{{project}}/{{app_id}}
Content copied to clipboard
$ pulumi import gcp:firebase/webApp:WebApp default webApps/{{app_id}}
Content copied to clipboard
$ pulumi import gcp:firebase/webApp:WebApp default {{app_id}}
Content copied to clipboard
Properties
Link copied to clipboard
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.
Link copied to clipboard