1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. firebase
  5. AppHostingBuild
Google Cloud v8.29.0 published on Thursday, May 1, 2025 by Pulumi

gcp.firebase.AppHostingBuild

Explore with Pulumi AI

gcp logo
Google Cloud v8.29.0 published on Thursday, May 1, 2025 by Pulumi

    A single build for a backend, at a specific point codebase reference tag and point in time. Encapsulates several resources, including an Artifact Registry container image, a Cloud Build invocation that built the image, and the Cloud Run revision that uses that image.

    Example Usage

    Firebase App Hosting Build Minimal

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    //## Include these blocks only once per project if you are starting from scratch ###
    const serviceAccount = new gcp.serviceaccount.Account("service_account", {
        project: "my-project-name",
        accountId: "firebase-app-hosting-compute",
        displayName: "Firebase App Hosting compute service account",
        createIgnoreAlreadyExists: true,
    });
    const fah = new gcp.projects.Service("fah", {
        project: "my-project-name",
        service: "firebaseapphosting.googleapis.com",
        disableOnDestroy: false,
    });
    const exampleAppHostingBackend = new gcp.firebase.AppHostingBackend("example", {
        project: "my-project-name",
        location: "us-central1",
        backendId: "mini",
        appId: "1:0000000000:web:674cde32020e16fbce9dbd",
        servingLocality: "GLOBAL_ACCESS",
        serviceAccount: serviceAccount.email,
    }, {
        dependsOn: [fah],
    });
    const example = new gcp.firebase.AppHostingBuild("example", {
        project: exampleAppHostingBackend.project,
        location: exampleAppHostingBackend.location,
        backend: exampleAppHostingBackend.backendId,
        buildId: "mini-build",
        source: {
            container: {
                image: "us-docker.pkg.dev/cloudrun/container/hello",
            },
        },
    });
    const appHostingSaRunner = new gcp.projects.IAMMember("app_hosting_sa_runner", {
        project: "my-project-name",
        role: "roles/firebaseapphosting.computeRunner",
        member: serviceAccount.member,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    ### Include these blocks only once per project if you are starting from scratch ###
    service_account = gcp.serviceaccount.Account("service_account",
        project="my-project-name",
        account_id="firebase-app-hosting-compute",
        display_name="Firebase App Hosting compute service account",
        create_ignore_already_exists=True)
    fah = gcp.projects.Service("fah",
        project="my-project-name",
        service="firebaseapphosting.googleapis.com",
        disable_on_destroy=False)
    example_app_hosting_backend = gcp.firebase.AppHostingBackend("example",
        project="my-project-name",
        location="us-central1",
        backend_id="mini",
        app_id="1:0000000000:web:674cde32020e16fbce9dbd",
        serving_locality="GLOBAL_ACCESS",
        service_account=service_account.email,
        opts = pulumi.ResourceOptions(depends_on=[fah]))
    example = gcp.firebase.AppHostingBuild("example",
        project=example_app_hosting_backend.project,
        location=example_app_hosting_backend.location,
        backend=example_app_hosting_backend.backend_id,
        build_id="mini-build",
        source={
            "container": {
                "image": "us-docker.pkg.dev/cloudrun/container/hello",
            },
        })
    app_hosting_sa_runner = gcp.projects.IAMMember("app_hosting_sa_runner",
        project="my-project-name",
        role="roles/firebaseapphosting.computeRunner",
        member=service_account.member)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/firebase"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/projects"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// ## Include these blocks only once per project if you are starting from scratch ###
    		serviceAccount, err := serviceaccount.NewAccount(ctx, "service_account", &serviceaccount.AccountArgs{
    			Project:                   pulumi.String("my-project-name"),
    			AccountId:                 pulumi.String("firebase-app-hosting-compute"),
    			DisplayName:               pulumi.String("Firebase App Hosting compute service account"),
    			CreateIgnoreAlreadyExists: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		fah, err := projects.NewService(ctx, "fah", &projects.ServiceArgs{
    			Project:          pulumi.String("my-project-name"),
    			Service:          pulumi.String("firebaseapphosting.googleapis.com"),
    			DisableOnDestroy: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAppHostingBackend, err := firebase.NewAppHostingBackend(ctx, "example", &firebase.AppHostingBackendArgs{
    			Project:         pulumi.String("my-project-name"),
    			Location:        pulumi.String("us-central1"),
    			BackendId:       pulumi.String("mini"),
    			AppId:           pulumi.String("1:0000000000:web:674cde32020e16fbce9dbd"),
    			ServingLocality: pulumi.String("GLOBAL_ACCESS"),
    			ServiceAccount:  serviceAccount.Email,
    		}, pulumi.DependsOn([]pulumi.Resource{
    			fah,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = firebase.NewAppHostingBuild(ctx, "example", &firebase.AppHostingBuildArgs{
    			Project:  exampleAppHostingBackend.Project,
    			Location: exampleAppHostingBackend.Location,
    			Backend:  exampleAppHostingBackend.BackendId,
    			BuildId:  pulumi.String("mini-build"),
    			Source: &firebase.AppHostingBuildSourceArgs{
    				Container: &firebase.AppHostingBuildSourceContainerArgs{
    					Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = projects.NewIAMMember(ctx, "app_hosting_sa_runner", &projects.IAMMemberArgs{
    			Project: pulumi.String("my-project-name"),
    			Role:    pulumi.String("roles/firebaseapphosting.computeRunner"),
    			Member:  serviceAccount.Member,
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        //## Include these blocks only once per project if you are starting from scratch ###
        var serviceAccount = new Gcp.ServiceAccount.Account("service_account", new()
        {
            Project = "my-project-name",
            AccountId = "firebase-app-hosting-compute",
            DisplayName = "Firebase App Hosting compute service account",
            CreateIgnoreAlreadyExists = true,
        });
    
        var fah = new Gcp.Projects.Service("fah", new()
        {
            Project = "my-project-name",
            ServiceName = "firebaseapphosting.googleapis.com",
            DisableOnDestroy = false,
        });
    
        var exampleAppHostingBackend = new Gcp.Firebase.AppHostingBackend("example", new()
        {
            Project = "my-project-name",
            Location = "us-central1",
            BackendId = "mini",
            AppId = "1:0000000000:web:674cde32020e16fbce9dbd",
            ServingLocality = "GLOBAL_ACCESS",
            ServiceAccount = serviceAccount.Email,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                fah,
            },
        });
    
        var example = new Gcp.Firebase.AppHostingBuild("example", new()
        {
            Project = exampleAppHostingBackend.Project,
            Location = exampleAppHostingBackend.Location,
            Backend = exampleAppHostingBackend.BackendId,
            BuildId = "mini-build",
            Source = new Gcp.Firebase.Inputs.AppHostingBuildSourceArgs
            {
                Container = new Gcp.Firebase.Inputs.AppHostingBuildSourceContainerArgs
                {
                    Image = "us-docker.pkg.dev/cloudrun/container/hello",
                },
            },
        });
    
        var appHostingSaRunner = new Gcp.Projects.IAMMember("app_hosting_sa_runner", new()
        {
            Project = "my-project-name",
            Role = "roles/firebaseapphosting.computeRunner",
            Member = serviceAccount.Member,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.serviceaccount.Account;
    import com.pulumi.gcp.serviceaccount.AccountArgs;
    import com.pulumi.gcp.projects.Service;
    import com.pulumi.gcp.projects.ServiceArgs;
    import com.pulumi.gcp.firebase.AppHostingBackend;
    import com.pulumi.gcp.firebase.AppHostingBackendArgs;
    import com.pulumi.gcp.firebase.AppHostingBuild;
    import com.pulumi.gcp.firebase.AppHostingBuildArgs;
    import com.pulumi.gcp.firebase.inputs.AppHostingBuildSourceArgs;
    import com.pulumi.gcp.firebase.inputs.AppHostingBuildSourceContainerArgs;
    import com.pulumi.gcp.projects.IAMMember;
    import com.pulumi.gcp.projects.IAMMemberArgs;
    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) {
            //## Include these blocks only once per project if you are starting from scratch ###
            var serviceAccount = new Account("serviceAccount", AccountArgs.builder()
                .project("my-project-name")
                .accountId("firebase-app-hosting-compute")
                .displayName("Firebase App Hosting compute service account")
                .createIgnoreAlreadyExists(true)
                .build());
    
            var fah = new Service("fah", ServiceArgs.builder()
                .project("my-project-name")
                .service("firebaseapphosting.googleapis.com")
                .disableOnDestroy(false)
                .build());
    
            var exampleAppHostingBackend = new AppHostingBackend("exampleAppHostingBackend", AppHostingBackendArgs.builder()
                .project("my-project-name")
                .location("us-central1")
                .backendId("mini")
                .appId("1:0000000000:web:674cde32020e16fbce9dbd")
                .servingLocality("GLOBAL_ACCESS")
                .serviceAccount(serviceAccount.email())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(fah)
                    .build());
    
            var example = new AppHostingBuild("example", AppHostingBuildArgs.builder()
                .project(exampleAppHostingBackend.project())
                .location(exampleAppHostingBackend.location())
                .backend(exampleAppHostingBackend.backendId())
                .buildId("mini-build")
                .source(AppHostingBuildSourceArgs.builder()
                    .container(AppHostingBuildSourceContainerArgs.builder()
                        .image("us-docker.pkg.dev/cloudrun/container/hello")
                        .build())
                    .build())
                .build());
    
            var appHostingSaRunner = new IAMMember("appHostingSaRunner", IAMMemberArgs.builder()
                .project("my-project-name")
                .role("roles/firebaseapphosting.computeRunner")
                .member(serviceAccount.member())
                .build());
    
        }
    }
    
    resources:
      example:
        type: gcp:firebase:AppHostingBuild
        properties:
          project: ${exampleAppHostingBackend.project}
          location: ${exampleAppHostingBackend.location}
          backend: ${exampleAppHostingBackend.backendId}
          buildId: mini-build
          source:
            container:
              image: us-docker.pkg.dev/cloudrun/container/hello
      exampleAppHostingBackend:
        type: gcp:firebase:AppHostingBackend
        name: example
        properties:
          project: my-project-name
          location: us-central1
          backendId: mini
          appId: 1:0000000000:web:674cde32020e16fbce9dbd
          servingLocality: GLOBAL_ACCESS
          serviceAccount: ${serviceAccount.email}
        options:
          dependsOn:
            - ${fah}
      ### Include these blocks only once per project if you are starting from scratch ###
      serviceAccount:
        type: gcp:serviceaccount:Account
        name: service_account
        properties:
          project: my-project-name
          accountId: firebase-app-hosting-compute
          displayName: Firebase App Hosting compute service account
          createIgnoreAlreadyExists: true
      appHostingSaRunner:
        type: gcp:projects:IAMMember
        name: app_hosting_sa_runner
        properties:
          project: my-project-name
          role: roles/firebaseapphosting.computeRunner
          member: ${serviceAccount.member}
      fah:
        type: gcp:projects:Service
        properties:
          project: my-project-name
          service: firebaseapphosting.googleapis.com
          disableOnDestroy: false
    

    Firebase App Hosting Build Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    //## Include these blocks only once per project if you are starting from scratch ###
    const serviceAccount = new gcp.serviceaccount.Account("service_account", {
        project: "my-project-name",
        accountId: "firebase-app-hosting-compute",
        displayName: "Firebase App Hosting compute service account",
        createIgnoreAlreadyExists: true,
    });
    const fah = new gcp.projects.Service("fah", {
        project: "my-project-name",
        service: "firebaseapphosting.googleapis.com",
        disableOnDestroy: false,
    });
    const exampleAppHostingBackend = new gcp.firebase.AppHostingBackend("example", {
        project: "my-project-name",
        location: "us-central1",
        backendId: "full",
        appId: "1:0000000000:web:674cde32020e16fbce9dbd",
        servingLocality: "GLOBAL_ACCESS",
        serviceAccount: serviceAccount.email,
    }, {
        dependsOn: [fah],
    });
    const example = new gcp.firebase.AppHostingBuild("example", {
        project: exampleAppHostingBackend.project,
        location: exampleAppHostingBackend.location,
        backend: exampleAppHostingBackend.backendId,
        buildId: "full-build",
        displayName: "My Build",
        annotations: {
            key: "value",
        },
        labels: {
            key: "value",
        },
        source: {
            container: {
                image: "us-docker.pkg.dev/cloudrun/container/hello",
            },
        },
    });
    const appHostingSaRunner = new gcp.projects.IAMMember("app_hosting_sa_runner", {
        project: "my-project-name",
        role: "roles/firebaseapphosting.computeRunner",
        member: serviceAccount.member,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    ### Include these blocks only once per project if you are starting from scratch ###
    service_account = gcp.serviceaccount.Account("service_account",
        project="my-project-name",
        account_id="firebase-app-hosting-compute",
        display_name="Firebase App Hosting compute service account",
        create_ignore_already_exists=True)
    fah = gcp.projects.Service("fah",
        project="my-project-name",
        service="firebaseapphosting.googleapis.com",
        disable_on_destroy=False)
    example_app_hosting_backend = gcp.firebase.AppHostingBackend("example",
        project="my-project-name",
        location="us-central1",
        backend_id="full",
        app_id="1:0000000000:web:674cde32020e16fbce9dbd",
        serving_locality="GLOBAL_ACCESS",
        service_account=service_account.email,
        opts = pulumi.ResourceOptions(depends_on=[fah]))
    example = gcp.firebase.AppHostingBuild("example",
        project=example_app_hosting_backend.project,
        location=example_app_hosting_backend.location,
        backend=example_app_hosting_backend.backend_id,
        build_id="full-build",
        display_name="My Build",
        annotations={
            "key": "value",
        },
        labels={
            "key": "value",
        },
        source={
            "container": {
                "image": "us-docker.pkg.dev/cloudrun/container/hello",
            },
        })
    app_hosting_sa_runner = gcp.projects.IAMMember("app_hosting_sa_runner",
        project="my-project-name",
        role="roles/firebaseapphosting.computeRunner",
        member=service_account.member)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/firebase"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/projects"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// ## Include these blocks only once per project if you are starting from scratch ###
    		serviceAccount, err := serviceaccount.NewAccount(ctx, "service_account", &serviceaccount.AccountArgs{
    			Project:                   pulumi.String("my-project-name"),
    			AccountId:                 pulumi.String("firebase-app-hosting-compute"),
    			DisplayName:               pulumi.String("Firebase App Hosting compute service account"),
    			CreateIgnoreAlreadyExists: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		fah, err := projects.NewService(ctx, "fah", &projects.ServiceArgs{
    			Project:          pulumi.String("my-project-name"),
    			Service:          pulumi.String("firebaseapphosting.googleapis.com"),
    			DisableOnDestroy: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAppHostingBackend, err := firebase.NewAppHostingBackend(ctx, "example", &firebase.AppHostingBackendArgs{
    			Project:         pulumi.String("my-project-name"),
    			Location:        pulumi.String("us-central1"),
    			BackendId:       pulumi.String("full"),
    			AppId:           pulumi.String("1:0000000000:web:674cde32020e16fbce9dbd"),
    			ServingLocality: pulumi.String("GLOBAL_ACCESS"),
    			ServiceAccount:  serviceAccount.Email,
    		}, pulumi.DependsOn([]pulumi.Resource{
    			fah,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = firebase.NewAppHostingBuild(ctx, "example", &firebase.AppHostingBuildArgs{
    			Project:     exampleAppHostingBackend.Project,
    			Location:    exampleAppHostingBackend.Location,
    			Backend:     exampleAppHostingBackend.BackendId,
    			BuildId:     pulumi.String("full-build"),
    			DisplayName: pulumi.String("My Build"),
    			Annotations: pulumi.StringMap{
    				"key": pulumi.String("value"),
    			},
    			Labels: pulumi.StringMap{
    				"key": pulumi.String("value"),
    			},
    			Source: &firebase.AppHostingBuildSourceArgs{
    				Container: &firebase.AppHostingBuildSourceContainerArgs{
    					Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = projects.NewIAMMember(ctx, "app_hosting_sa_runner", &projects.IAMMemberArgs{
    			Project: pulumi.String("my-project-name"),
    			Role:    pulumi.String("roles/firebaseapphosting.computeRunner"),
    			Member:  serviceAccount.Member,
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        //## Include these blocks only once per project if you are starting from scratch ###
        var serviceAccount = new Gcp.ServiceAccount.Account("service_account", new()
        {
            Project = "my-project-name",
            AccountId = "firebase-app-hosting-compute",
            DisplayName = "Firebase App Hosting compute service account",
            CreateIgnoreAlreadyExists = true,
        });
    
        var fah = new Gcp.Projects.Service("fah", new()
        {
            Project = "my-project-name",
            ServiceName = "firebaseapphosting.googleapis.com",
            DisableOnDestroy = false,
        });
    
        var exampleAppHostingBackend = new Gcp.Firebase.AppHostingBackend("example", new()
        {
            Project = "my-project-name",
            Location = "us-central1",
            BackendId = "full",
            AppId = "1:0000000000:web:674cde32020e16fbce9dbd",
            ServingLocality = "GLOBAL_ACCESS",
            ServiceAccount = serviceAccount.Email,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                fah,
            },
        });
    
        var example = new Gcp.Firebase.AppHostingBuild("example", new()
        {
            Project = exampleAppHostingBackend.Project,
            Location = exampleAppHostingBackend.Location,
            Backend = exampleAppHostingBackend.BackendId,
            BuildId = "full-build",
            DisplayName = "My Build",
            Annotations = 
            {
                { "key", "value" },
            },
            Labels = 
            {
                { "key", "value" },
            },
            Source = new Gcp.Firebase.Inputs.AppHostingBuildSourceArgs
            {
                Container = new Gcp.Firebase.Inputs.AppHostingBuildSourceContainerArgs
                {
                    Image = "us-docker.pkg.dev/cloudrun/container/hello",
                },
            },
        });
    
        var appHostingSaRunner = new Gcp.Projects.IAMMember("app_hosting_sa_runner", new()
        {
            Project = "my-project-name",
            Role = "roles/firebaseapphosting.computeRunner",
            Member = serviceAccount.Member,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.serviceaccount.Account;
    import com.pulumi.gcp.serviceaccount.AccountArgs;
    import com.pulumi.gcp.projects.Service;
    import com.pulumi.gcp.projects.ServiceArgs;
    import com.pulumi.gcp.firebase.AppHostingBackend;
    import com.pulumi.gcp.firebase.AppHostingBackendArgs;
    import com.pulumi.gcp.firebase.AppHostingBuild;
    import com.pulumi.gcp.firebase.AppHostingBuildArgs;
    import com.pulumi.gcp.firebase.inputs.AppHostingBuildSourceArgs;
    import com.pulumi.gcp.firebase.inputs.AppHostingBuildSourceContainerArgs;
    import com.pulumi.gcp.projects.IAMMember;
    import com.pulumi.gcp.projects.IAMMemberArgs;
    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) {
            //## Include these blocks only once per project if you are starting from scratch ###
            var serviceAccount = new Account("serviceAccount", AccountArgs.builder()
                .project("my-project-name")
                .accountId("firebase-app-hosting-compute")
                .displayName("Firebase App Hosting compute service account")
                .createIgnoreAlreadyExists(true)
                .build());
    
            var fah = new Service("fah", ServiceArgs.builder()
                .project("my-project-name")
                .service("firebaseapphosting.googleapis.com")
                .disableOnDestroy(false)
                .build());
    
            var exampleAppHostingBackend = new AppHostingBackend("exampleAppHostingBackend", AppHostingBackendArgs.builder()
                .project("my-project-name")
                .location("us-central1")
                .backendId("full")
                .appId("1:0000000000:web:674cde32020e16fbce9dbd")
                .servingLocality("GLOBAL_ACCESS")
                .serviceAccount(serviceAccount.email())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(fah)
                    .build());
    
            var example = new AppHostingBuild("example", AppHostingBuildArgs.builder()
                .project(exampleAppHostingBackend.project())
                .location(exampleAppHostingBackend.location())
                .backend(exampleAppHostingBackend.backendId())
                .buildId("full-build")
                .displayName("My Build")
                .annotations(Map.of("key", "value"))
                .labels(Map.of("key", "value"))
                .source(AppHostingBuildSourceArgs.builder()
                    .container(AppHostingBuildSourceContainerArgs.builder()
                        .image("us-docker.pkg.dev/cloudrun/container/hello")
                        .build())
                    .build())
                .build());
    
            var appHostingSaRunner = new IAMMember("appHostingSaRunner", IAMMemberArgs.builder()
                .project("my-project-name")
                .role("roles/firebaseapphosting.computeRunner")
                .member(serviceAccount.member())
                .build());
    
        }
    }
    
    resources:
      example:
        type: gcp:firebase:AppHostingBuild
        properties:
          project: ${exampleAppHostingBackend.project}
          location: ${exampleAppHostingBackend.location}
          backend: ${exampleAppHostingBackend.backendId}
          buildId: full-build
          displayName: My Build
          annotations:
            key: value
          labels:
            key: value
          source:
            container:
              image: us-docker.pkg.dev/cloudrun/container/hello
      exampleAppHostingBackend:
        type: gcp:firebase:AppHostingBackend
        name: example
        properties:
          project: my-project-name
          location: us-central1
          backendId: full
          appId: 1:0000000000:web:674cde32020e16fbce9dbd
          servingLocality: GLOBAL_ACCESS
          serviceAccount: ${serviceAccount.email}
        options:
          dependsOn:
            - ${fah}
      ### Include these blocks only once per project if you are starting from scratch ###
      serviceAccount:
        type: gcp:serviceaccount:Account
        name: service_account
        properties:
          project: my-project-name
          accountId: firebase-app-hosting-compute
          displayName: Firebase App Hosting compute service account
          createIgnoreAlreadyExists: true
      appHostingSaRunner:
        type: gcp:projects:IAMMember
        name: app_hosting_sa_runner
        properties:
          project: my-project-name
          role: roles/firebaseapphosting.computeRunner
          member: ${serviceAccount.member}
      fah:
        type: gcp:projects:Service
        properties:
          project: my-project-name
          service: firebaseapphosting.googleapis.com
          disableOnDestroy: false
    

    Import

    Build can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/backends/{{backend}}/builds/{{build_id}}

    • {{project}}/{{location}}/{{backend}}/{{build_id}}

    • {{location}}/{{backend}}/{{build_id}}

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

    $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default projects/{{project}}/locations/{{location}}/backends/{{backend}}/builds/{{build_id}}
    
    $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default {{project}}/{{location}}/{{backend}}/{{build_id}}
    
    $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default {{location}}/{{backend}}/{{build_id}}
    

    Create AppHostingBuild Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AppHostingBuild(name: string, args: AppHostingBuildArgs, opts?: CustomResourceOptions);
    @overload
    def AppHostingBuild(resource_name: str,
                        args: AppHostingBuildArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def AppHostingBuild(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        backend: Optional[str] = None,
                        build_id: Optional[str] = None,
                        location: Optional[str] = None,
                        source: Optional[AppHostingBuildSourceArgs] = None,
                        annotations: Optional[Mapping[str, str]] = None,
                        display_name: Optional[str] = None,
                        labels: Optional[Mapping[str, str]] = None,
                        project: Optional[str] = None)
    func NewAppHostingBuild(ctx *Context, name string, args AppHostingBuildArgs, opts ...ResourceOption) (*AppHostingBuild, error)
    public AppHostingBuild(string name, AppHostingBuildArgs args, CustomResourceOptions? opts = null)
    public AppHostingBuild(String name, AppHostingBuildArgs args)
    public AppHostingBuild(String name, AppHostingBuildArgs args, CustomResourceOptions options)
    
    type: gcp:firebase:AppHostingBuild
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args AppHostingBuildArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AppHostingBuildArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AppHostingBuildArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AppHostingBuildArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AppHostingBuildArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var appHostingBuildResource = new Gcp.Firebase.AppHostingBuild("appHostingBuildResource", new()
    {
        Backend = "string",
        BuildId = "string",
        Location = "string",
        Source = new Gcp.Firebase.Inputs.AppHostingBuildSourceArgs
        {
            Codebase = new Gcp.Firebase.Inputs.AppHostingBuildSourceCodebaseArgs
            {
                Authors = new[]
                {
                    new Gcp.Firebase.Inputs.AppHostingBuildSourceCodebaseAuthorArgs
                    {
                        DisplayName = "string",
                        Email = "string",
                        ImageUri = "string",
                    },
                },
                Branch = "string",
                Commit = "string",
                CommitMessage = "string",
                CommitTime = "string",
                DisplayName = "string",
                Hash = "string",
                Uri = "string",
            },
            Container = new Gcp.Firebase.Inputs.AppHostingBuildSourceContainerArgs
            {
                Image = "string",
            },
        },
        Annotations = 
        {
            { "string", "string" },
        },
        DisplayName = "string",
        Labels = 
        {
            { "string", "string" },
        },
        Project = "string",
    });
    
    example, err := firebase.NewAppHostingBuild(ctx, "appHostingBuildResource", &firebase.AppHostingBuildArgs{
    	Backend:  pulumi.String("string"),
    	BuildId:  pulumi.String("string"),
    	Location: pulumi.String("string"),
    	Source: &firebase.AppHostingBuildSourceArgs{
    		Codebase: &firebase.AppHostingBuildSourceCodebaseArgs{
    			Authors: firebase.AppHostingBuildSourceCodebaseAuthorArray{
    				&firebase.AppHostingBuildSourceCodebaseAuthorArgs{
    					DisplayName: pulumi.String("string"),
    					Email:       pulumi.String("string"),
    					ImageUri:    pulumi.String("string"),
    				},
    			},
    			Branch:        pulumi.String("string"),
    			Commit:        pulumi.String("string"),
    			CommitMessage: pulumi.String("string"),
    			CommitTime:    pulumi.String("string"),
    			DisplayName:   pulumi.String("string"),
    			Hash:          pulumi.String("string"),
    			Uri:           pulumi.String("string"),
    		},
    		Container: &firebase.AppHostingBuildSourceContainerArgs{
    			Image: pulumi.String("string"),
    		},
    	},
    	Annotations: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	DisplayName: pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Project: pulumi.String("string"),
    })
    
    var appHostingBuildResource = new AppHostingBuild("appHostingBuildResource", AppHostingBuildArgs.builder()
        .backend("string")
        .buildId("string")
        .location("string")
        .source(AppHostingBuildSourceArgs.builder()
            .codebase(AppHostingBuildSourceCodebaseArgs.builder()
                .authors(AppHostingBuildSourceCodebaseAuthorArgs.builder()
                    .displayName("string")
                    .email("string")
                    .imageUri("string")
                    .build())
                .branch("string")
                .commit("string")
                .commitMessage("string")
                .commitTime("string")
                .displayName("string")
                .hash("string")
                .uri("string")
                .build())
            .container(AppHostingBuildSourceContainerArgs.builder()
                .image("string")
                .build())
            .build())
        .annotations(Map.of("string", "string"))
        .displayName("string")
        .labels(Map.of("string", "string"))
        .project("string")
        .build());
    
    app_hosting_build_resource = gcp.firebase.AppHostingBuild("appHostingBuildResource",
        backend="string",
        build_id="string",
        location="string",
        source={
            "codebase": {
                "authors": [{
                    "display_name": "string",
                    "email": "string",
                    "image_uri": "string",
                }],
                "branch": "string",
                "commit": "string",
                "commit_message": "string",
                "commit_time": "string",
                "display_name": "string",
                "hash": "string",
                "uri": "string",
            },
            "container": {
                "image": "string",
            },
        },
        annotations={
            "string": "string",
        },
        display_name="string",
        labels={
            "string": "string",
        },
        project="string")
    
    const appHostingBuildResource = new gcp.firebase.AppHostingBuild("appHostingBuildResource", {
        backend: "string",
        buildId: "string",
        location: "string",
        source: {
            codebase: {
                authors: [{
                    displayName: "string",
                    email: "string",
                    imageUri: "string",
                }],
                branch: "string",
                commit: "string",
                commitMessage: "string",
                commitTime: "string",
                displayName: "string",
                hash: "string",
                uri: "string",
            },
            container: {
                image: "string",
            },
        },
        annotations: {
            string: "string",
        },
        displayName: "string",
        labels: {
            string: "string",
        },
        project: "string",
    });
    
    type: gcp:firebase:AppHostingBuild
    properties:
        annotations:
            string: string
        backend: string
        buildId: string
        displayName: string
        labels:
            string: string
        location: string
        project: string
        source:
            codebase:
                authors:
                    - displayName: string
                      email: string
                      imageUri: string
                branch: string
                commit: string
                commitMessage: string
                commitTime: string
                displayName: string
                hash: string
                uri: string
            container:
                image: string
    

    AppHostingBuild Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The AppHostingBuild resource accepts the following input properties:

    Backend string
    The ID of the Backend that this Build applies to
    BuildId string
    The user-specified ID of the build being created.
    Location string
    The location of the Backend that this Build applies to
    Source AppHostingBuildSource
    The source for the build. Structure is documented below.
    Annotations Dictionary<string, string>
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    DisplayName string
    Human-readable name. 63 character limit.
    Labels Dictionary<string, string>
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Project string
    Backend string
    The ID of the Backend that this Build applies to
    BuildId string
    The user-specified ID of the build being created.
    Location string
    The location of the Backend that this Build applies to
    Source AppHostingBuildSourceArgs
    The source for the build. Structure is documented below.
    Annotations map[string]string
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    DisplayName string
    Human-readable name. 63 character limit.
    Labels map[string]string
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Project string
    backend String
    The ID of the Backend that this Build applies to
    buildId String
    The user-specified ID of the build being created.
    location String
    The location of the Backend that this Build applies to
    source AppHostingBuildSource
    The source for the build. Structure is documented below.
    annotations Map<String,String>
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    displayName String
    Human-readable name. 63 character limit.
    labels Map<String,String>
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    project String
    backend string
    The ID of the Backend that this Build applies to
    buildId string
    The user-specified ID of the build being created.
    location string
    The location of the Backend that this Build applies to
    source AppHostingBuildSource
    The source for the build. Structure is documented below.
    annotations {[key: string]: string}
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    displayName string
    Human-readable name. 63 character limit.
    labels {[key: string]: string}
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    project string
    backend str
    The ID of the Backend that this Build applies to
    build_id str
    The user-specified ID of the build being created.
    location str
    The location of the Backend that this Build applies to
    source AppHostingBuildSourceArgs
    The source for the build. Structure is documented below.
    annotations Mapping[str, str]
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    display_name str
    Human-readable name. 63 character limit.
    labels Mapping[str, str]
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    project str
    backend String
    The ID of the Backend that this Build applies to
    buildId String
    The user-specified ID of the build being created.
    location String
    The location of the Backend that this Build applies to
    source Property Map
    The source for the build. Structure is documented below.
    annotations Map<String>
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    displayName String
    Human-readable name. 63 character limit.
    labels Map<String>
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    project String

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AppHostingBuild resource produces the following output properties:

    BuildLogsUri string
    The location of the Cloud Build logs for the build process.
    CreateTime string
    Time at which the build was created.
    EffectiveAnnotations Dictionary<string, string>
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Environment string
    The environment name of the backend when this build was created.
    ErrorSource string
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    Errors List<AppHostingBuildError>
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    Etag string
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Image string
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    Name string
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    Uid string
    System-assigned, unique identifier.
    UpdateTime string
    Time at which the build was last updated.
    BuildLogsUri string
    The location of the Cloud Build logs for the build process.
    CreateTime string
    Time at which the build was created.
    EffectiveAnnotations map[string]string
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Environment string
    The environment name of the backend when this build was created.
    ErrorSource string
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    Errors []AppHostingBuildError
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    Etag string
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Image string
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    Name string
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    Uid string
    System-assigned, unique identifier.
    UpdateTime string
    Time at which the build was last updated.
    buildLogsUri String
    The location of the Cloud Build logs for the build process.
    createTime String
    Time at which the build was created.
    effectiveAnnotations Map<String,String>
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment String
    The environment name of the backend when this build was created.
    errorSource String
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors List<AppHostingBuildError>
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag String
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    id String
    The provider-assigned unique ID for this managed resource.
    image String
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    name String
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid String
    System-assigned, unique identifier.
    updateTime String
    Time at which the build was last updated.
    buildLogsUri string
    The location of the Cloud Build logs for the build process.
    createTime string
    Time at which the build was created.
    effectiveAnnotations {[key: string]: string}
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment string
    The environment name of the backend when this build was created.
    errorSource string
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors AppHostingBuildError[]
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag string
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    id string
    The provider-assigned unique ID for this managed resource.
    image string
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    name string
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state string
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid string
    System-assigned, unique identifier.
    updateTime string
    Time at which the build was last updated.
    build_logs_uri str
    The location of the Cloud Build logs for the build process.
    create_time str
    Time at which the build was created.
    effective_annotations Mapping[str, str]
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment str
    The environment name of the backend when this build was created.
    error_source str
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors Sequence[AppHostingBuildError]
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag str
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    id str
    The provider-assigned unique ID for this managed resource.
    image str
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    name str
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state str
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid str
    System-assigned, unique identifier.
    update_time str
    Time at which the build was last updated.
    buildLogsUri String
    The location of the Cloud Build logs for the build process.
    createTime String
    Time at which the build was created.
    effectiveAnnotations Map<String>
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment String
    The environment name of the backend when this build was created.
    errorSource String
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors List<Property Map>
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag String
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    id String
    The provider-assigned unique ID for this managed resource.
    image String
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    name String
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid String
    System-assigned, unique identifier.
    updateTime String
    Time at which the build was last updated.

    Look up Existing AppHostingBuild Resource

    Get an existing AppHostingBuild resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AppHostingBuildState, opts?: CustomResourceOptions): AppHostingBuild
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            annotations: Optional[Mapping[str, str]] = None,
            backend: Optional[str] = None,
            build_id: Optional[str] = None,
            build_logs_uri: Optional[str] = None,
            create_time: Optional[str] = None,
            display_name: Optional[str] = None,
            effective_annotations: Optional[Mapping[str, str]] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            environment: Optional[str] = None,
            error_source: Optional[str] = None,
            errors: Optional[Sequence[AppHostingBuildErrorArgs]] = None,
            etag: Optional[str] = None,
            image: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            source: Optional[AppHostingBuildSourceArgs] = None,
            state: Optional[str] = None,
            uid: Optional[str] = None,
            update_time: Optional[str] = None) -> AppHostingBuild
    func GetAppHostingBuild(ctx *Context, name string, id IDInput, state *AppHostingBuildState, opts ...ResourceOption) (*AppHostingBuild, error)
    public static AppHostingBuild Get(string name, Input<string> id, AppHostingBuildState? state, CustomResourceOptions? opts = null)
    public static AppHostingBuild get(String name, Output<String> id, AppHostingBuildState state, CustomResourceOptions options)
    resources:  _:    type: gcp:firebase:AppHostingBuild    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Annotations Dictionary<string, string>
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    Backend string
    The ID of the Backend that this Build applies to
    BuildId string
    The user-specified ID of the build being created.
    BuildLogsUri string
    The location of the Cloud Build logs for the build process.
    CreateTime string
    Time at which the build was created.
    DisplayName string
    Human-readable name. 63 character limit.
    EffectiveAnnotations Dictionary<string, string>
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Environment string
    The environment name of the backend when this build was created.
    ErrorSource string
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    Errors List<AppHostingBuildError>
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    Etag string
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    Image string
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    Labels Dictionary<string, string>
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Location string
    The location of the Backend that this Build applies to
    Name string
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    Project string
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Source AppHostingBuildSource
    The source for the build. Structure is documented below.
    State string
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    Uid string
    System-assigned, unique identifier.
    UpdateTime string
    Time at which the build was last updated.
    Annotations map[string]string
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    Backend string
    The ID of the Backend that this Build applies to
    BuildId string
    The user-specified ID of the build being created.
    BuildLogsUri string
    The location of the Cloud Build logs for the build process.
    CreateTime string
    Time at which the build was created.
    DisplayName string
    Human-readable name. 63 character limit.
    EffectiveAnnotations map[string]string
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Environment string
    The environment name of the backend when this build was created.
    ErrorSource string
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    Errors []AppHostingBuildErrorArgs
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    Etag string
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    Image string
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    Labels map[string]string
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Location string
    The location of the Backend that this Build applies to
    Name string
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    Project string
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Source AppHostingBuildSourceArgs
    The source for the build. Structure is documented below.
    State string
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    Uid string
    System-assigned, unique identifier.
    UpdateTime string
    Time at which the build was last updated.
    annotations Map<String,String>
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    backend String
    The ID of the Backend that this Build applies to
    buildId String
    The user-specified ID of the build being created.
    buildLogsUri String
    The location of the Cloud Build logs for the build process.
    createTime String
    Time at which the build was created.
    displayName String
    Human-readable name. 63 character limit.
    effectiveAnnotations Map<String,String>
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment String
    The environment name of the backend when this build was created.
    errorSource String
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors List<AppHostingBuildError>
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag String
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    image String
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    labels Map<String,String>
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location String
    The location of the Backend that this Build applies to
    name String
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    project String
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    source AppHostingBuildSource
    The source for the build. Structure is documented below.
    state String
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid String
    System-assigned, unique identifier.
    updateTime String
    Time at which the build was last updated.
    annotations {[key: string]: string}
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    backend string
    The ID of the Backend that this Build applies to
    buildId string
    The user-specified ID of the build being created.
    buildLogsUri string
    The location of the Cloud Build logs for the build process.
    createTime string
    Time at which the build was created.
    displayName string
    Human-readable name. 63 character limit.
    effectiveAnnotations {[key: string]: string}
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment string
    The environment name of the backend when this build was created.
    errorSource string
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors AppHostingBuildError[]
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag string
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    image string
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    labels {[key: string]: string}
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location string
    The location of the Backend that this Build applies to
    name string
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    project string
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    source AppHostingBuildSource
    The source for the build. Structure is documented below.
    state string
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid string
    System-assigned, unique identifier.
    updateTime string
    Time at which the build was last updated.
    annotations Mapping[str, str]
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    backend str
    The ID of the Backend that this Build applies to
    build_id str
    The user-specified ID of the build being created.
    build_logs_uri str
    The location of the Cloud Build logs for the build process.
    create_time str
    Time at which the build was created.
    display_name str
    Human-readable name. 63 character limit.
    effective_annotations Mapping[str, str]
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment str
    The environment name of the backend when this build was created.
    error_source str
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors Sequence[AppHostingBuildErrorArgs]
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag str
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    image str
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    labels Mapping[str, str]
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location str
    The location of the Backend that this Build applies to
    name str
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    project str
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    source AppHostingBuildSourceArgs
    The source for the build. Structure is documented below.
    state str
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid str
    System-assigned, unique identifier.
    update_time str
    Time at which the build was last updated.
    annotations Map<String>
    Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    backend String
    The ID of the Backend that this Build applies to
    buildId String
    The user-specified ID of the build being created.
    buildLogsUri String
    The location of the Cloud Build logs for the build process.
    createTime String
    Time at which the build was created.
    displayName String
    Human-readable name. 63 character limit.
    effectiveAnnotations Map<String>
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    environment String
    The environment name of the backend when this build was created.
    errorSource String
    The source of the error for the build, if in a FAILED state. Possible values: CLOUD_BUILD CLOUD_RUN
    errors List<Property Map>
    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Structure is documented below.
    etag String
    Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource.
    image String
    The Artifact Registry container image URI, used by the Cloud Run revision for this build.
    labels Map<String>
    Unstructured key value map that can be used to organize and categorize objects. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location String
    The location of the Backend that this Build applies to
    name String
    Identifier. The resource name of the build. Format: projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.
    project String
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    source Property Map
    The source for the build. Structure is documented below.
    state String
    The state of the build. Possible values: BUILDING BUILT DEPLOYING READY FAILED
    uid String
    System-assigned, unique identifier.
    updateTime String
    Time at which the build was last updated.

    Supporting Types

    AppHostingBuildError, AppHostingBuildErrorArgs

    Code int
    (Output) The status code, which should be an enum value of google.rpc.Code.
    Details List<ImmutableDictionary<string, string>>
    (Output) A list of messages that carry the error details. There is a common set of message types for APIs to use.
    Message string
    (Output) A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    Code int
    (Output) The status code, which should be an enum value of google.rpc.Code.
    Details []map[string]string
    (Output) A list of messages that carry the error details. There is a common set of message types for APIs to use.
    Message string
    (Output) A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    code Integer
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details List<Map<String,String>>
    (Output) A list of messages that carry the error details. There is a common set of message types for APIs to use.
    message String
    (Output) A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    code number
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details {[key: string]: string}[]
    (Output) A list of messages that carry the error details. There is a common set of message types for APIs to use.
    message string
    (Output) A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    code int
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details Sequence[Mapping[str, str]]
    (Output) A list of messages that carry the error details. There is a common set of message types for APIs to use.
    message str
    (Output) A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    code Number
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details List<Map<String>>
    (Output) A list of messages that carry the error details. There is a common set of message types for APIs to use.
    message String
    (Output) A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

    AppHostingBuildSource, AppHostingBuildSourceArgs

    Codebase AppHostingBuildSourceCodebase
    A codebase source, representing the state of the codebase that the build will be created at. Structure is documented below.
    Container AppHostingBuildSourceContainer
    The URI of an Artifact Registry container image to use as the build source. Structure is documented below.
    Codebase AppHostingBuildSourceCodebase
    A codebase source, representing the state of the codebase that the build will be created at. Structure is documented below.
    Container AppHostingBuildSourceContainer
    The URI of an Artifact Registry container image to use as the build source. Structure is documented below.
    codebase AppHostingBuildSourceCodebase
    A codebase source, representing the state of the codebase that the build will be created at. Structure is documented below.
    container AppHostingBuildSourceContainer
    The URI of an Artifact Registry container image to use as the build source. Structure is documented below.
    codebase AppHostingBuildSourceCodebase
    A codebase source, representing the state of the codebase that the build will be created at. Structure is documented below.
    container AppHostingBuildSourceContainer
    The URI of an Artifact Registry container image to use as the build source. Structure is documented below.
    codebase AppHostingBuildSourceCodebase
    A codebase source, representing the state of the codebase that the build will be created at. Structure is documented below.
    container AppHostingBuildSourceContainer
    The URI of an Artifact Registry container image to use as the build source. Structure is documented below.
    codebase Property Map
    A codebase source, representing the state of the codebase that the build will be created at. Structure is documented below.
    container Property Map
    The URI of an Artifact Registry container image to use as the build source. Structure is documented below.

    AppHostingBuildSourceCodebase, AppHostingBuildSourceCodebaseArgs

    Authors List<AppHostingBuildSourceCodebaseAuthor>
    (Output) Version control metadata for a user associated with a resolved codebase. Currently assumes a Git user. Structure is documented below.
    Branch string
    The branch in the codebase to build from, using the latest commit.
    Commit string

    The commit in the codebase to build from.

    The author block contains:

    CommitMessage string
    (Output) The message of a codebase change.
    CommitTime string
    (Output) The time the change was made.
    DisplayName string
    Human-readable name. 63 character limit.
    Hash string
    (Output) The full SHA-1 hash of a Git commit, if available.
    Uri string
    (Output) A URI linking to the codebase on an hosting provider's website. May not be valid if the commit has been rebased or force-pushed out of existence in the linked repository.
    Authors []AppHostingBuildSourceCodebaseAuthor
    (Output) Version control metadata for a user associated with a resolved codebase. Currently assumes a Git user. Structure is documented below.
    Branch string
    The branch in the codebase to build from, using the latest commit.
    Commit string

    The commit in the codebase to build from.

    The author block contains:

    CommitMessage string
    (Output) The message of a codebase change.
    CommitTime string
    (Output) The time the change was made.
    DisplayName string
    Human-readable name. 63 character limit.
    Hash string
    (Output) The full SHA-1 hash of a Git commit, if available.
    Uri string
    (Output) A URI linking to the codebase on an hosting provider's website. May not be valid if the commit has been rebased or force-pushed out of existence in the linked repository.
    authors List<AppHostingBuildSourceCodebaseAuthor>
    (Output) Version control metadata for a user associated with a resolved codebase. Currently assumes a Git user. Structure is documented below.
    branch String
    The branch in the codebase to build from, using the latest commit.
    commit String

    The commit in the codebase to build from.

    The author block contains:

    commitMessage String
    (Output) The message of a codebase change.
    commitTime String
    (Output) The time the change was made.
    displayName String
    Human-readable name. 63 character limit.
    hash String
    (Output) The full SHA-1 hash of a Git commit, if available.
    uri String
    (Output) A URI linking to the codebase on an hosting provider's website. May not be valid if the commit has been rebased or force-pushed out of existence in the linked repository.
    authors AppHostingBuildSourceCodebaseAuthor[]
    (Output) Version control metadata for a user associated with a resolved codebase. Currently assumes a Git user. Structure is documented below.
    branch string
    The branch in the codebase to build from, using the latest commit.
    commit string

    The commit in the codebase to build from.

    The author block contains:

    commitMessage string
    (Output) The message of a codebase change.
    commitTime string
    (Output) The time the change was made.
    displayName string
    Human-readable name. 63 character limit.
    hash string
    (Output) The full SHA-1 hash of a Git commit, if available.
    uri string
    (Output) A URI linking to the codebase on an hosting provider's website. May not be valid if the commit has been rebased or force-pushed out of existence in the linked repository.
    authors Sequence[AppHostingBuildSourceCodebaseAuthor]
    (Output) Version control metadata for a user associated with a resolved codebase. Currently assumes a Git user. Structure is documented below.
    branch str
    The branch in the codebase to build from, using the latest commit.
    commit str

    The commit in the codebase to build from.

    The author block contains:

    commit_message str
    (Output) The message of a codebase change.
    commit_time str
    (Output) The time the change was made.
    display_name str
    Human-readable name. 63 character limit.
    hash str
    (Output) The full SHA-1 hash of a Git commit, if available.
    uri str
    (Output) A URI linking to the codebase on an hosting provider's website. May not be valid if the commit has been rebased or force-pushed out of existence in the linked repository.
    authors List<Property Map>
    (Output) Version control metadata for a user associated with a resolved codebase. Currently assumes a Git user. Structure is documented below.
    branch String
    The branch in the codebase to build from, using the latest commit.
    commit String

    The commit in the codebase to build from.

    The author block contains:

    commitMessage String
    (Output) The message of a codebase change.
    commitTime String
    (Output) The time the change was made.
    displayName String
    Human-readable name. 63 character limit.
    hash String
    (Output) The full SHA-1 hash of a Git commit, if available.
    uri String
    (Output) A URI linking to the codebase on an hosting provider's website. May not be valid if the commit has been rebased or force-pushed out of existence in the linked repository.

    AppHostingBuildSourceCodebaseAuthor, AppHostingBuildSourceCodebaseAuthorArgs

    DisplayName string
    The 'name' field in a Git user's git.config. Required by Git.
    Email string
    The 'email' field in a Git user's git.config, if available.
    ImageUri string
    The URI of an image file associated with the user's account in an external source control provider, if available.
    DisplayName string
    The 'name' field in a Git user's git.config. Required by Git.
    Email string
    The 'email' field in a Git user's git.config, if available.
    ImageUri string
    The URI of an image file associated with the user's account in an external source control provider, if available.
    displayName String
    The 'name' field in a Git user's git.config. Required by Git.
    email String
    The 'email' field in a Git user's git.config, if available.
    imageUri String
    The URI of an image file associated with the user's account in an external source control provider, if available.
    displayName string
    The 'name' field in a Git user's git.config. Required by Git.
    email string
    The 'email' field in a Git user's git.config, if available.
    imageUri string
    The URI of an image file associated with the user's account in an external source control provider, if available.
    display_name str
    The 'name' field in a Git user's git.config. Required by Git.
    email str
    The 'email' field in a Git user's git.config, if available.
    image_uri str
    The URI of an image file associated with the user's account in an external source control provider, if available.
    displayName String
    The 'name' field in a Git user's git.config. Required by Git.
    email String
    The 'email' field in a Git user's git.config, if available.
    imageUri String
    The URI of an image file associated with the user's account in an external source control provider, if available.

    AppHostingBuildSourceContainer, AppHostingBuildSourceContainerArgs

    Image string
    A URI representing a container for the backend to use.
    Image string
    A URI representing a container for the backend to use.
    image String
    A URI representing a container for the backend to use.
    image string
    A URI representing a container for the backend to use.
    image str
    A URI representing a container for the backend to use.
    image String
    A URI representing a container for the backend to use.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud v8.29.0 published on Thursday, May 1, 2025 by Pulumi