import * as pulumi from "@pulumi/pulumi"; /** * A `Site` represents a Firebase Hosting site. * * To get more information about Site, see: * * * [API documentation](https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites) * * How-to Guides * * [Official Documentation](https://firebase.google.com/docs/hosting) * * ## Example Usage * * ### Firebasehosting Site Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const _default = new gcp.firebase.HostingSite("default", { * project: "my-project-name", * siteId: "site-no-app", * }); * ``` * ### Firebasehosting Site Full * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const _default = new gcp.firebase.WebApp("default", { * project: "my-project-name", * displayName: "Test web app for Firebase Hosting", * }); * const full = new gcp.firebase.HostingSite("full", { * project: "my-project-name", * siteId: "site-with-app", * appId: _default.appId, * }); * ``` * ### Firebasehosting Site Default * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const _default = new gcp.firebase.HostingSite("default", { * project: "my-project-name", * siteId: "my-project-name", * }); * ``` * * ## Import * * Site can be imported using any of these accepted formats: * * * `projects/{{project}}/sites/{{site_id}}` * * * `{{project}}/{{site_id}}` * * * `sites/{{site_id}}` * * * `{{site_id}}` * * When using the `pulumi import` command, Site can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:firebase/hostingSite:HostingSite default projects/{{project}}/sites/{{site_id}} * ``` * * ```sh * $ pulumi import gcp:firebase/hostingSite:HostingSite default {{project}}/{{site_id}} * ``` * * ```sh * $ pulumi import gcp:firebase/hostingSite:HostingSite default sites/{{site_id}} * ``` * * ```sh * $ pulumi import gcp:firebase/hostingSite:HostingSite default {{site_id}} * ``` */ export declare class HostingSite extends pulumi.CustomResource { /** * Get an existing HostingSite resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: HostingSiteState, opts?: pulumi.CustomResourceOptions): HostingSite; /** * Returns true if the given object is an instance of HostingSite. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is HostingSite; /** * Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) * associated with the Hosting site. */ readonly appId: pulumi.Output; /** * The default URL for the site in the form of https://{name}.web.app */ readonly defaultUrl: pulumi.Output; /** * Output only. The fully-qualified resource name of the Hosting site, in * the format: projects/PROJECT_IDENTIFIER/sites/SITE_ID PROJECT_IDENTIFIER: the * Firebase project's * [`ProjectNumber`](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its * [`ProjectId`](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects#FirebaseProject.FIELDS.project_id). * Learn more about using project identifiers in Google's * [AIP 2510 standard](https://google.aip.dev/cloud/2510). */ readonly name: pulumi.Output; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * Required. Immutable. A globally unique identifier for the Hosting site. This identifier is * used to construct the Firebase-provisioned subdomains for the site, so it must also be a valid * domain name label. */ readonly siteId: pulumi.Output; /** * The type of Hosting site, either 'DEFAULT_SITE' or `USER_SITE` */ readonly type: pulumi.Output; /** * Create a HostingSite resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: HostingSiteArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering HostingSite resources. */ export interface HostingSiteState { /** * Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) * associated with the Hosting site. */ appId?: pulumi.Input; /** * The default URL for the site in the form of https://{name}.web.app */ defaultUrl?: pulumi.Input; /** * Output only. The fully-qualified resource name of the Hosting site, in * the format: projects/PROJECT_IDENTIFIER/sites/SITE_ID PROJECT_IDENTIFIER: the * Firebase project's * [`ProjectNumber`](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its * [`ProjectId`](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects#FirebaseProject.FIELDS.project_id). * Learn more about using project identifiers in Google's * [AIP 2510 standard](https://google.aip.dev/cloud/2510). */ name?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * Required. Immutable. A globally unique identifier for the Hosting site. This identifier is * used to construct the Firebase-provisioned subdomains for the site, so it must also be a valid * domain name label. */ siteId?: pulumi.Input; /** * The type of Hosting site, either 'DEFAULT_SITE' or `USER_SITE` */ type?: pulumi.Input; } /** * The set of arguments for constructing a HostingSite resource. */ export interface HostingSiteArgs { /** * Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) * associated with the Hosting site. */ appId?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * Required. Immutable. A globally unique identifier for the Hosting site. This identifier is * used to construct the Firebase-provisioned subdomains for the site, so it must also be a valid * domain name label. */ siteId?: pulumi.Input; }