HostingVersionArgs

data class HostingVersionArgs(val config: Output<HostingVersionConfigArgs>? = null, val siteId: Output<String>? = null) : ConvertibleToJava<HostingVersionArgs>

Example Usage

Firebasehosting Version Redirect

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.HostingSite;
import com.pulumi.gcp.firebase.HostingSiteArgs;
import com.pulumi.gcp.firebase.HostingVersion;
import com.pulumi.gcp.firebase.HostingVersionArgs;
import com.pulumi.gcp.firebase.inputs.HostingVersionConfigArgs;
import com.pulumi.gcp.firebase.HostingRelease;
import com.pulumi.gcp.firebase.HostingReleaseArgs;
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 defaultHostingSite = new HostingSite("defaultHostingSite", HostingSiteArgs.builder()
.project("my-project-name")
.siteId("site-id")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultHostingVersion = new HostingVersion("defaultHostingVersion", HostingVersionArgs.builder()
.siteId(defaultHostingSite.siteId())
.config(HostingVersionConfigArgs.builder()
.redirects(HostingVersionConfigRedirectArgs.builder()
.glob("/google/**")
.statusCode(302)
.location("https://www.google.com")
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultHostingRelease = new HostingRelease("defaultHostingRelease", HostingReleaseArgs.builder()
.siteId(defaultHostingSite.siteId())
.versionName(defaultHostingVersion.name())
.message("Redirect to Google")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Firebasehosting Version Cloud Run

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.HostingSite;
import com.pulumi.gcp.firebase.HostingSiteArgs;
import com.pulumi.gcp.cloudrunv2.Service;
import com.pulumi.gcp.cloudrunv2.ServiceArgs;
import com.pulumi.gcp.cloudrunv2.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.firebase.HostingVersion;
import com.pulumi.gcp.firebase.HostingVersionArgs;
import com.pulumi.gcp.firebase.inputs.HostingVersionConfigArgs;
import com.pulumi.gcp.firebase.HostingRelease;
import com.pulumi.gcp.firebase.HostingReleaseArgs;
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 defaultHostingSite = new HostingSite("defaultHostingSite", HostingSiteArgs.builder()
.project("my-project-name")
.siteId("site-id")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultService = new Service("defaultService", ServiceArgs.builder()
.project("my-project-name")
.location("us-central1")
.ingress("INGRESS_TRAFFIC_ALL")
.template(ServiceTemplateArgs.builder()
.containers(ServiceTemplateContainerArgs.builder()
.image("us-docker.pkg.dev/cloudrun/container/hello")
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultHostingVersion = new HostingVersion("defaultHostingVersion", HostingVersionArgs.builder()
.siteId(defaultHostingSite.siteId())
.config(HostingVersionConfigArgs.builder()
.rewrites(HostingVersionConfigRewriteArgs.builder()
.glob("/hello/**")
.run(HostingVersionConfigRewriteRunArgs.builder()
.serviceId(defaultService.name())
.region(defaultService.location())
.build())
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultHostingRelease = new HostingRelease("defaultHostingRelease", HostingReleaseArgs.builder()
.siteId(defaultHostingSite.siteId())
.versionName(defaultHostingVersion.name())
.message("Cloud Run Integration")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Firebasehosting Version Cloud Functions

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.firebase.HostingSite;
import com.pulumi.gcp.firebase.HostingSiteArgs;
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 com.pulumi.gcp.cloudfunctions.Function;
import com.pulumi.gcp.cloudfunctions.FunctionArgs;
import com.pulumi.gcp.firebase.HostingVersion;
import com.pulumi.gcp.firebase.HostingVersionArgs;
import com.pulumi.gcp.firebase.inputs.HostingVersionConfigArgs;
import com.pulumi.gcp.firebase.HostingRelease;
import com.pulumi.gcp.firebase.HostingReleaseArgs;
import com.pulumi.resources.CustomResourceOptions;
import com.pulumi.asset.FileAsset;
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 defaultHostingSite = new HostingSite("defaultHostingSite", HostingSiteArgs.builder()
.project("my-project-name")
.siteId("site-id")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var bucket = new Bucket("bucket", BucketArgs.builder()
.project("my-project-name")
.location("US")
.uniformBucketLevelAccess(true)
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var object = new BucketObject("object", BucketObjectArgs.builder()
.bucket(bucket.name())
.source(new FileAsset("function-source.zip"))
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var function = new Function("function", FunctionArgs.builder()
.project("my-project-name")
.description("A Cloud Function connected to Firebase Hosing")
.runtime("nodejs16")
.availableMemoryMb(128)
.sourceArchiveBucket(bucket.name())
.sourceArchiveObject(object.name())
.triggerHttp(true)
.entryPoint("helloHttp")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultHostingVersion = new HostingVersion("defaultHostingVersion", HostingVersionArgs.builder()
.siteId(defaultHostingSite.siteId())
.config(HostingVersionConfigArgs.builder()
.rewrites(HostingVersionConfigRewriteArgs.builder()
.glob("/hello/**")
.function(function.name())
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultHostingRelease = new HostingRelease("defaultHostingRelease", HostingReleaseArgs.builder()
.siteId(defaultHostingSite.siteId())
.versionName(defaultHostingVersion.name())
.message("Cloud Functions Integration")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Import

Version can be imported using any of these accepted formats

$ pulumi import gcp:firebase/hostingVersion:HostingVersion default sites/{{site_id}}/versions/{{version_id}}
$ pulumi import gcp:firebase/hostingVersion:HostingVersion default {{site_id}}/{{version_id}}

Constructors

Link copied to clipboard
constructor(config: Output<HostingVersionConfigArgs>? = null, siteId: Output<String>? = null)

Properties

Link copied to clipboard
val config: Output<HostingVersionConfigArgs>? = null

The configuration for the behavior of the site. This configuration exists in the firebase.json file. Structure is documented below.

Link copied to clipboard
val siteId: Output<String>? = null

Required. The ID of the site in which to create this Version.

Functions

Link copied to clipboard
open override fun toJava(): HostingVersionArgs