| { |
| "auth": { |
| "oauth2": { |
| "scopes": { |
| "https://www.googleapis.com/auth/cloud-platform": { |
| "description": "View and manage your data across Google Cloud Platform services" |
| }, |
| "https://www.googleapis.com/auth/cloud-platform.read-only": { |
| "description": "View your data across Google Cloud Platform services" |
| }, |
| "https://www.googleapis.com/auth/firebase": { |
| "description": "View and administer all your Firebase data and settings" |
| }, |
| "https://www.googleapis.com/auth/firebase.readonly": { |
| "description": "View all your Firebase data and settings" |
| } |
| } |
| } |
| }, |
| "basePath": "", |
| "baseUrl": "https://firebasehosting.googleapis.com/", |
| "batchPath": "batch", |
| "canonicalName": "Firebase Hosting", |
| "description": "The Firebase Hosting REST API enables programmatic custom deployment for releasing versions of your Firebase hosted content and configuration files.", |
| "discoveryVersion": "v1", |
| "documentationLink": "https://firebase.google.com/docs/hosting/", |
| "fullyEncodeReservedExpansion": true, |
| "icons": { |
| "x16": "http://www.google.com/images/icons/product/search-16.gif", |
| "x32": "http://www.google.com/images/icons/product/search-32.gif" |
| }, |
| "id": "firebasehosting:v1beta1", |
| "kind": "discovery#restDescription", |
| "name": "firebasehosting", |
| "ownerDomain": "google.com", |
| "ownerName": "Google", |
| "parameters": { |
| "$.xgafv": { |
| "description": "V1 error format.", |
| "enum": [ |
| "1", |
| "2" |
| ], |
| "enumDescriptions": [ |
| "v1 error format", |
| "v2 error format" |
| ], |
| "location": "query", |
| "type": "string" |
| }, |
| "access_token": { |
| "description": "OAuth access token.", |
| "location": "query", |
| "type": "string" |
| }, |
| "alt": { |
| "default": "json", |
| "description": "Data format for response.", |
| "enum": [ |
| "json", |
| "media", |
| "proto" |
| ], |
| "enumDescriptions": [ |
| "Responses with Content-Type of application/json", |
| "Media download with context-dependent Content-Type", |
| "Responses with Content-Type of application/x-protobuf" |
| ], |
| "location": "query", |
| "type": "string" |
| }, |
| "callback": { |
| "description": "JSONP", |
| "location": "query", |
| "type": "string" |
| }, |
| "fields": { |
| "description": "Selector specifying which fields to include in a partial response.", |
| "location": "query", |
| "type": "string" |
| }, |
| "key": { |
| "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", |
| "location": "query", |
| "type": "string" |
| }, |
| "oauth_token": { |
| "description": "OAuth 2.0 token for the current user.", |
| "location": "query", |
| "type": "string" |
| }, |
| "prettyPrint": { |
| "default": "true", |
| "description": "Returns response with indentations and line breaks.", |
| "location": "query", |
| "type": "boolean" |
| }, |
| "quotaUser": { |
| "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", |
| "location": "query", |
| "type": "string" |
| }, |
| "uploadType": { |
| "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", |
| "location": "query", |
| "type": "string" |
| }, |
| "upload_protocol": { |
| "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", |
| "location": "query", |
| "type": "string" |
| } |
| }, |
| "protocol": "rest", |
| "resources": { |
| "sites": { |
| "methods": { |
| "getConfig": { |
| "description": "Gets the Hosting metadata for a specific site.", |
| "flatPath": "v1beta1/sites/{sitesId}/config", |
| "httpMethod": "GET", |
| "id": "firebasehosting.sites.getConfig", |
| "parameterOrder": [ |
| "name" |
| ], |
| "parameters": { |
| "name": { |
| "description": "Required. The site for which to get the SiteConfig, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/config\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+/config$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+name}", |
| "response": { |
| "$ref": "SiteConfig" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/cloud-platform.read-only", |
| "https://www.googleapis.com/auth/firebase", |
| "https://www.googleapis.com/auth/firebase.readonly" |
| ] |
| }, |
| "updateConfig": { |
| "description": "Sets the Hosting metadata for a specific site.", |
| "flatPath": "v1beta1/sites/{sitesId}/config", |
| "httpMethod": "PATCH", |
| "id": "firebasehosting.sites.updateConfig", |
| "parameterOrder": [ |
| "name" |
| ], |
| "parameters": { |
| "name": { |
| "description": "Required. The site for which to update the SiteConfig, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/config\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+/config$", |
| "required": true, |
| "type": "string" |
| }, |
| "updateMask": { |
| "description": "A set of field names from your [site configuration](../sites.SiteConfig)\nthat you want to update.\n\u003cbr\u003eA field will be overwritten if, and only if, it's in the mask.\n\u003cbr\u003eIf a mask is not provided then a default mask of only\n[`max_versions`](../sites.SiteConfig.max_versions) will be used.", |
| "format": "google-fieldmask", |
| "location": "query", |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+name}", |
| "request": { |
| "$ref": "SiteConfig" |
| }, |
| "response": { |
| "$ref": "SiteConfig" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| } |
| }, |
| "resources": { |
| "domains": { |
| "methods": { |
| "create": { |
| "description": "Creates a domain mapping on the specified site.", |
| "flatPath": "v1beta1/sites/{sitesId}/domains", |
| "httpMethod": "POST", |
| "id": "firebasehosting.sites.domains.create", |
| "parameterOrder": [ |
| "parent" |
| ], |
| "parameters": { |
| "parent": { |
| "description": "Required. The parent to create the domain association for, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+parent}/domains", |
| "request": { |
| "$ref": "Domain" |
| }, |
| "response": { |
| "$ref": "Domain" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| }, |
| "delete": { |
| "description": "Deletes the existing domain mapping on the specified site.", |
| "flatPath": "v1beta1/sites/{sitesId}/domains/{domainsId}", |
| "httpMethod": "DELETE", |
| "id": "firebasehosting.sites.domains.delete", |
| "parameterOrder": [ |
| "name" |
| ], |
| "parameters": { |
| "name": { |
| "description": "Required. The name of the domain association to delete.", |
| "location": "path", |
| "pattern": "^sites/[^/]+/domains/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+name}", |
| "response": { |
| "$ref": "Empty" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| }, |
| "get": { |
| "description": "Gets a domain mapping on the specified site.", |
| "flatPath": "v1beta1/sites/{sitesId}/domains/{domainsId}", |
| "httpMethod": "GET", |
| "id": "firebasehosting.sites.domains.get", |
| "parameterOrder": [ |
| "name" |
| ], |
| "parameters": { |
| "name": { |
| "description": "Required. The name of the domain configuration to get.", |
| "location": "path", |
| "pattern": "^sites/[^/]+/domains/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+name}", |
| "response": { |
| "$ref": "Domain" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/cloud-platform.read-only", |
| "https://www.googleapis.com/auth/firebase", |
| "https://www.googleapis.com/auth/firebase.readonly" |
| ] |
| }, |
| "list": { |
| "description": "Lists the domains for the specified site.", |
| "flatPath": "v1beta1/sites/{sitesId}/domains", |
| "httpMethod": "GET", |
| "id": "firebasehosting.sites.domains.list", |
| "parameterOrder": [ |
| "parent" |
| ], |
| "parameters": { |
| "pageSize": { |
| "description": "The page size to return. Defaults to 50.", |
| "format": "int32", |
| "location": "query", |
| "type": "integer" |
| }, |
| "pageToken": { |
| "description": "The next_page_token from a previous request, if provided.", |
| "location": "query", |
| "type": "string" |
| }, |
| "parent": { |
| "description": "Required. The parent for which to list domains, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+parent}/domains", |
| "response": { |
| "$ref": "ListDomainsResponse" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/cloud-platform.read-only", |
| "https://www.googleapis.com/auth/firebase", |
| "https://www.googleapis.com/auth/firebase.readonly" |
| ] |
| }, |
| "update": { |
| "description": "Updates the specified domain mapping, creating the mapping as if it does\nnot exist.", |
| "flatPath": "v1beta1/sites/{sitesId}/domains/{domainsId}", |
| "httpMethod": "PUT", |
| "id": "firebasehosting.sites.domains.update", |
| "parameterOrder": [ |
| "name" |
| ], |
| "parameters": { |
| "name": { |
| "description": "Required. The name of the domain association to update or create, if an\nassociation doesn't already exist.", |
| "location": "path", |
| "pattern": "^sites/[^/]+/domains/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+name}", |
| "request": { |
| "$ref": "Domain" |
| }, |
| "response": { |
| "$ref": "Domain" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| } |
| } |
| }, |
| "releases": { |
| "methods": { |
| "create": { |
| "description": "Creates a new release which makes the content of the specified version\nactively display on the site.", |
| "flatPath": "v1beta1/sites/{sitesId}/releases", |
| "httpMethod": "POST", |
| "id": "firebasehosting.sites.releases.create", |
| "parameterOrder": [ |
| "parent" |
| ], |
| "parameters": { |
| "parent": { |
| "description": "The site that the release belongs to, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+$", |
| "required": true, |
| "type": "string" |
| }, |
| "versionName": { |
| "description": "The unique identifier for a version, in the format:\n\u003ccode\u003e/sites/\u003cvar\u003esite-name\u003c/var\u003e/versions/\u003cvar\u003eversionID\u003c/var\u003e\u003c/code\u003e\nThe \u003cvar\u003esite-name\u003c/var\u003e in this version identifier must match the\n\u003cvar\u003esite-name\u003c/var\u003e in the `parent` parameter.\n\u003cbr\u003e\n\u003cbr\u003eThis query parameter must be empty if the `type` field in the\nrequest body is `SITE_DISABLE`.", |
| "location": "query", |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+parent}/releases", |
| "request": { |
| "$ref": "Release" |
| }, |
| "response": { |
| "$ref": "Release" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| }, |
| "list": { |
| "description": "Lists the releases that have been created on the specified site.", |
| "flatPath": "v1beta1/sites/{sitesId}/releases", |
| "httpMethod": "GET", |
| "id": "firebasehosting.sites.releases.list", |
| "parameterOrder": [ |
| "parent" |
| ], |
| "parameters": { |
| "pageSize": { |
| "description": "The page size to return. Defaults to 100.", |
| "format": "int32", |
| "location": "query", |
| "type": "integer" |
| }, |
| "pageToken": { |
| "description": "The next_page_token from a previous request, if provided.", |
| "location": "query", |
| "type": "string" |
| }, |
| "parent": { |
| "description": "Required. The parent for which to list files, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+parent}/releases", |
| "response": { |
| "$ref": "ListReleasesResponse" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/cloud-platform.read-only", |
| "https://www.googleapis.com/auth/firebase", |
| "https://www.googleapis.com/auth/firebase.readonly" |
| ] |
| } |
| } |
| }, |
| "versions": { |
| "methods": { |
| "create": { |
| "description": "Creates a new version for a site.", |
| "flatPath": "v1beta1/sites/{sitesId}/versions", |
| "httpMethod": "POST", |
| "id": "firebasehosting.sites.versions.create", |
| "parameterOrder": [ |
| "parent" |
| ], |
| "parameters": { |
| "parent": { |
| "description": "Required. The parent to create the version for, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+$", |
| "required": true, |
| "type": "string" |
| }, |
| "sizeBytes": { |
| "description": "The self-reported size of the version. This value is used for a pre-emptive\nquota check for legacy version uploads.", |
| "format": "int64", |
| "location": "query", |
| "type": "string" |
| }, |
| "versionId": { |
| "description": "A unique id for the new version. This is only specified for legacy version\ncreations.", |
| "location": "query", |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+parent}/versions", |
| "request": { |
| "$ref": "Version" |
| }, |
| "response": { |
| "$ref": "Version" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| }, |
| "delete": { |
| "description": "Deletes the specified version.", |
| "flatPath": "v1beta1/sites/{sitesId}/versions/{versionsId}", |
| "httpMethod": "DELETE", |
| "id": "firebasehosting.sites.versions.delete", |
| "parameterOrder": [ |
| "name" |
| ], |
| "parameters": { |
| "name": { |
| "description": "Required. The name of the version to be deleted, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/versions/\u003cvar\u003eversionID\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+/versions/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+name}", |
| "response": { |
| "$ref": "Empty" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| }, |
| "patch": { |
| "description": "Updates the specified metadata for a version. Note that this method will\nfail with `FAILED_PRECONDITION` in the event of an invalid state\ntransition. The only valid transition for a version is currently from a\n`CREATED` status to a `FINALIZED` status.\nUse [`DeleteVersion`](../sites.versions/delete) to set the status of a\nversion to `DELETED`.", |
| "flatPath": "v1beta1/sites/{sitesId}/versions/{versionsId}", |
| "httpMethod": "PATCH", |
| "id": "firebasehosting.sites.versions.patch", |
| "parameterOrder": [ |
| "name" |
| ], |
| "parameters": { |
| "name": { |
| "description": "The unique identifier for a version, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/versions/\u003cvar\u003eversionID\u003c/var\u003e\u003c/code\u003e\nThis name is provided in the response body when you call the\n[`CreateVersion`](../sites.versions/create) endpoint.", |
| "location": "path", |
| "pattern": "^sites/[^/]+/versions/[^/]+$", |
| "required": true, |
| "type": "string" |
| }, |
| "updateMask": { |
| "description": "A set of field names from your [version](../sites.versions) that you want\nto update.\n\u003cbr\u003eA field will be overwritten if, and only if, it's in the mask.\n\u003cbr\u003eIf a mask is not provided then a default mask of only\n[`status`](../sites.versions#Version.FIELDS.status) will be used.", |
| "format": "google-fieldmask", |
| "location": "query", |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+name}", |
| "request": { |
| "$ref": "Version" |
| }, |
| "response": { |
| "$ref": "Version" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| }, |
| "populateFiles": { |
| "description": "Adds content files to a version.", |
| "flatPath": "v1beta1/sites/{sitesId}/versions/{versionsId}:populateFiles", |
| "httpMethod": "POST", |
| "id": "firebasehosting.sites.versions.populateFiles", |
| "parameterOrder": [ |
| "parent" |
| ], |
| "parameters": { |
| "parent": { |
| "description": "Required. The version to add files to, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/versions/\u003cvar\u003eversionID\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+/versions/[^/]+$", |
| "required": true, |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+parent}:populateFiles", |
| "request": { |
| "$ref": "PopulateVersionFilesRequest" |
| }, |
| "response": { |
| "$ref": "PopulateVersionFilesResponse" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/firebase" |
| ] |
| } |
| }, |
| "resources": { |
| "files": { |
| "methods": { |
| "list": { |
| "description": "Lists the remaining files to be uploaded for the specified version.", |
| "flatPath": "v1beta1/sites/{sitesId}/versions/{versionsId}/files", |
| "httpMethod": "GET", |
| "id": "firebasehosting.sites.versions.files.list", |
| "parameterOrder": [ |
| "parent" |
| ], |
| "parameters": { |
| "pageSize": { |
| "description": "The page size to return. Defaults to 1000.", |
| "format": "int32", |
| "location": "query", |
| "type": "integer" |
| }, |
| "pageToken": { |
| "description": "The next_page_token from a previous request, if provided. This will be the\nencoded version of a firebase.hosting.proto.metadata.ListFilesPageToken.", |
| "location": "query", |
| "type": "string" |
| }, |
| "parent": { |
| "description": "Required. The parent to list files for, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/versions/\u003cvar\u003eversionID\u003c/var\u003e\u003c/code\u003e", |
| "location": "path", |
| "pattern": "^sites/[^/]+/versions/[^/]+$", |
| "required": true, |
| "type": "string" |
| }, |
| "status": { |
| "description": "The type of files in the version that should be listed.", |
| "enum": [ |
| "STATUS_UNSPECIFIED", |
| "EXPECTED", |
| "ACTIVE" |
| ], |
| "location": "query", |
| "type": "string" |
| } |
| }, |
| "path": "v1beta1/{+parent}/files", |
| "response": { |
| "$ref": "ListVersionFilesResponse" |
| }, |
| "scopes": [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/cloud-platform.read-only", |
| "https://www.googleapis.com/auth/firebase", |
| "https://www.googleapis.com/auth/firebase.readonly" |
| ] |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| }, |
| "revision": "20181129", |
| "rootUrl": "https://firebasehosting.googleapis.com/", |
| "schemas": { |
| "ActingUser": { |
| "description": "Contains metadata about the user who performed an action, such as creating\na release or finalizing a version.", |
| "id": "ActingUser", |
| "properties": { |
| "email": { |
| "description": "The email address of the user when the user performed the action.", |
| "type": "string" |
| }, |
| "imageUrl": { |
| "description": "A profile image URL for the user. May not be present if the user has\nchanged their email address or deleted their account.", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "CertDnsChallenge": { |
| "description": "Represents a DNS certificate challenge.", |
| "id": "CertDnsChallenge", |
| "properties": { |
| "domainName": { |
| "description": "The domain name upon which the DNS challenge must be satisfied.", |
| "type": "string" |
| }, |
| "token": { |
| "description": "The value that must be present as a TXT record on the domain name to\nsatisfy the challenge.", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "CertHttpChallenge": { |
| "description": "Represents an HTTP certificate challenge.", |
| "id": "CertHttpChallenge", |
| "properties": { |
| "path": { |
| "description": "The URL path on which to serve the specified token to satisfy the\ncertificate challenge.", |
| "type": "string" |
| }, |
| "token": { |
| "description": "The token to serve at the specified URL path to satisfy the certificate\nchallenge.", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "Domain": { |
| "description": "The intended behavior and status information of a domain.", |
| "id": "Domain", |
| "properties": { |
| "domainName": { |
| "description": "Required. The domain name of the association.", |
| "type": "string" |
| }, |
| "domainRedirect": { |
| "$ref": "DomainRedirect", |
| "description": "If set, the domain should redirect with the provided parameters." |
| }, |
| "provisioning": { |
| "$ref": "DomainProvisioning", |
| "description": "Output only. Information about the provisioning of certificates and the\nhealth of the DNS resolution for the domain." |
| }, |
| "site": { |
| "description": "Required. The site name of the association.", |
| "type": "string" |
| }, |
| "status": { |
| "description": "Output only. Additional status of the domain association.", |
| "enum": [ |
| "DOMAIN_STATUS_UNSPECIFIED", |
| "DOMAIN_CHANGE_PENDING", |
| "DOMAIN_ACTIVE", |
| "DOMAIN_VERIFICATION_REQUIRED", |
| "DOMAIN_VERIFICATION_LOST" |
| ], |
| "enumDescriptions": [ |
| "Unspecified domain association status.", |
| "An operation is in progress on the domain association and no further\noperations can be performed until it is complete.", |
| "The domain association is active and no additional action is required.", |
| "The domain was previously verified in the legacy system. User must\nreverify the domain through the ownership service.", |
| "The domain verification has been lost and the domain is in the grace period\nbefore being removed from the Firebase Hosting site." |
| ], |
| "type": "string" |
| }, |
| "updateTime": { |
| "description": "Output only. The time at which the domain was last updated.", |
| "format": "google-datetime", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "DomainProvisioning": { |
| "description": "The current certificate provisioning status information for a domain.", |
| "id": "DomainProvisioning", |
| "properties": { |
| "certChallengeDiscoveredTxt": { |
| "description": "The TXT records (for the certificate challenge) that were found at the last\nDNS fetch.", |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "certChallengeDns": { |
| "$ref": "CertDnsChallenge", |
| "description": "The DNS challenge for generating a certificate." |
| }, |
| "certChallengeHttp": { |
| "$ref": "CertHttpChallenge", |
| "description": "The HTTP challenge for generating a certificate." |
| }, |
| "certStatus": { |
| "description": "The certificate provisioning status; updated when Firebase Hosting\nprovisions an SSL certificate for the domain.", |
| "enum": [ |
| "CERT_STATUS_UNSPECIFIED", |
| "CERT_PENDING", |
| "CERT_MISSING", |
| "CERT_PROCESSING", |
| "CERT_PROPAGATING", |
| "CERT_ACTIVE", |
| "CERT_ERROR" |
| ], |
| "enumDescriptions": [ |
| "Unspecified certificate provisioning status.", |
| "Waiting for certificate challenge to be created.", |
| "Waiting for certificate challenge to be met.", |
| "Certificate challenge met; attempting to acquire/propagate certificate.", |
| "Certificate obtained; propagating to the CDN.", |
| "Certificate provisioned and deployed across the CDN.", |
| "Certificate provisioning failed in a non-recoverable manner." |
| ], |
| "type": "string" |
| }, |
| "discoveredIps": { |
| "description": "The IPs found at the last DNS fetch.", |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "dnsFetchTime": { |
| "description": "The time at which the last DNS fetch occurred.", |
| "format": "google-datetime", |
| "type": "string" |
| }, |
| "dnsStatus": { |
| "description": "The DNS record match status as of the last DNS fetch.", |
| "enum": [ |
| "DNS_STATUS_UNSPECIFIED", |
| "DNS_PENDING", |
| "DNS_MISSING", |
| "DNS_PARTIAL_MATCH", |
| "DNS_MATCH", |
| "DNS_EXTRANEOUS_MATCH" |
| ], |
| "enumDescriptions": [ |
| "Unspecified DNS status.", |
| "No DNS records have been specified for this domain yet.", |
| "None of the required DNS records have been detected on the domain.", |
| "Some of the required DNS records were detected, but not all of them. No\nextra (non-required) DNS records were detected.", |
| "All required DNS records were detected. No extra (non-required) DNS records\nwere detected.", |
| "The domain has at least one of the required DNS records, and it has at\nleast one extra (non-required) DNS record." |
| ], |
| "type": "string" |
| }, |
| "expectedIps": { |
| "description": "The list of IPs to which the domain is expected to resolve.", |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| } |
| }, |
| "type": "object" |
| }, |
| "DomainRedirect": { |
| "description": "Defines the behavior of a domain-level redirect. Domain redirects preserve\nthe path of the redirect but replace the requested domain with the one\nspecified in the redirect configuration.", |
| "id": "DomainRedirect", |
| "properties": { |
| "domainName": { |
| "description": "Required. The domain name to redirect to.", |
| "type": "string" |
| }, |
| "type": { |
| "description": "Required. The redirect status code.", |
| "enum": [ |
| "REDIRECT_TYPE_UNSPECIFIED", |
| "MOVED_PERMANENTLY" |
| ], |
| "enumDescriptions": [ |
| "The default redirect type; should not be intentionlly used.", |
| "The redirect will respond with an HTTP status code of\n`301 Moved Permanently`." |
| ], |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "Empty": { |
| "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", |
| "id": "Empty", |
| "properties": {}, |
| "type": "object" |
| }, |
| "Header": { |
| "description": "A [`header`](/docs/hosting/full-config#headers) defines custom headers to\nadd to a response should the request URL path match the pattern.", |
| "id": "Header", |
| "properties": { |
| "glob": { |
| "description": "Required. The user-supplied\n[glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", |
| "type": "string" |
| }, |
| "headers": { |
| "additionalProperties": { |
| "type": "string" |
| }, |
| "description": "Required. The additional headers to add to the response.", |
| "type": "object" |
| } |
| }, |
| "type": "object" |
| }, |
| "ListDomainsResponse": { |
| "id": "ListDomainsResponse", |
| "properties": { |
| "domains": { |
| "description": "The list of domains, if any exist.", |
| "items": { |
| "$ref": "Domain" |
| }, |
| "type": "array" |
| }, |
| "nextPageToken": { |
| "description": "The pagination token, if more results exist.", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "ListReleasesResponse": { |
| "id": "ListReleasesResponse", |
| "properties": { |
| "nextPageToken": { |
| "description": "If there are additional releases remaining beyond the ones in this\nresponse, then supply this token in the next\n[`list`](../sites.versions.files/list) call to continue with the next set\nof releases.", |
| "type": "string" |
| }, |
| "releases": { |
| "description": "The list of hashes of files that still need to be uploaded, if any exist.", |
| "items": { |
| "$ref": "Release" |
| }, |
| "type": "array" |
| } |
| }, |
| "type": "object" |
| }, |
| "ListVersionFilesResponse": { |
| "id": "ListVersionFilesResponse", |
| "properties": { |
| "files": { |
| "description": "The list path/hashes in the specified version.", |
| "items": { |
| "$ref": "VersionFile" |
| }, |
| "type": "array" |
| }, |
| "nextPageToken": { |
| "description": "The pagination token, if more results exist.", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "PopulateVersionFilesRequest": { |
| "id": "PopulateVersionFilesRequest", |
| "properties": { |
| "files": { |
| "additionalProperties": { |
| "type": "string" |
| }, |
| "description": "A set of file paths to the hashes corresponding to assets that should be\nadded to the version. Note that a file path to an empty hash will remove\nthe path from the version. Calculate a hash by Gzipping the file then\ntaking the SHA256 hash of the newly compressed file.", |
| "type": "object" |
| } |
| }, |
| "type": "object" |
| }, |
| "PopulateVersionFilesResponse": { |
| "id": "PopulateVersionFilesResponse", |
| "properties": { |
| "uploadRequiredHashes": { |
| "description": "The content hashes of the specified files that need to be uploaded to the\nspecified endpoint.", |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "uploadUrl": { |
| "description": "The URL to which the files should be uploaded, in the format:\n\u003cbr\u003e\"https://upload-firebasehosting.googleapis.com/upload/sites/\u003cvar\u003esite-name\u003c/var\u003e/versions/\u003cvar\u003eversionID\u003c/var\u003e/files\".\n\u003cbr\u003ePerform a multipart `POST` of the Gzipped file contents to the URL\nusing a forward slash and the hash of the file appended to the end.", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "Redirect": { |
| "description": "A [`redirect`](/docs/hosting/full-config#redirects) represents the\nconfiguration for returning an HTTP redirect response given a matching\nrequest URL path.", |
| "id": "Redirect", |
| "properties": { |
| "glob": { |
| "description": "Required. The user-supplied\n[glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", |
| "type": "string" |
| }, |
| "location": { |
| "description": "Required. The value to put in the HTTP location header of the response.\n\u003cbr\u003eThe location can contain capture group values from the pattern using\na `:` prefix to identify the segment and an optional `*` to capture the\nrest of the URL.\nFor example:\n\u003ccode\u003e\"glob\": \"/:capture*\",\n\u003cbr\u003e\"statusCode\": 301,\n\u003cbr\u003e\"location\": \"https://example.com/foo/:capture\"\u003c/code\u003e", |
| "type": "string" |
| }, |
| "statusCode": { |
| "description": "Required. The status HTTP code to return in the response. It must be a\nvalid 3xx status code.", |
| "format": "int32", |
| "type": "integer" |
| } |
| }, |
| "type": "object" |
| }, |
| "Release": { |
| "description": "A `Release` is a particular\n[collection of configurations and files](sites.versions)\nthat is set to be public at a particular time.", |
| "id": "Release", |
| "properties": { |
| "message": { |
| "description": "The deploy description when the release was created. The value can be up to\n512\u0026nbsp;characters.", |
| "type": "string" |
| }, |
| "name": { |
| "description": "Output only. The unique identifier for the release, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/releases/\u003cvar\u003ereleaseID\u003c/var\u003e\u003c/code\u003e\nThis name is provided in the response body when you call the\n[`CreateRelease`](sites.releases/create) endpoint.", |
| "type": "string" |
| }, |
| "releaseTime": { |
| "description": "Output only. The time at which the version is set to be public.", |
| "format": "google-datetime", |
| "type": "string" |
| }, |
| "releaseUser": { |
| "$ref": "ActingUser", |
| "description": "Output only. Identifies the user who created the release." |
| }, |
| "type": { |
| "description": "Explains the reason for the release.\n\u003cbr\u003eSpecify a value for this field only when creating a `SITE_DISABLE`\ntype release.", |
| "enum": [ |
| "TYPE_UNSPECIFIED", |
| "DEPLOY", |
| "ROLLBACK", |
| "SITE_DISABLE" |
| ], |
| "enumDescriptions": [ |
| "An unspecified type. Indicates that a version was released.\n\u003cbr\u003eThis is the default value when no other `type` is explicitly\nspecified.", |
| "A version was uploaded to Firebase Hosting and released.", |
| "The release points back to a previously deployed version.", |
| "The release prevents the site from serving content. Firebase Hosting acts\nas if the site never existed." |
| ], |
| "type": "string" |
| }, |
| "version": { |
| "$ref": "Version", |
| "description": "Output only. The configuration and content that was released." |
| } |
| }, |
| "type": "object" |
| }, |
| "Rewrite": { |
| "description": "A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal\ncontent rewrite on the version. If the pattern matches, the request will be\nhandled as if it were to the destination path specified in the\nconfiguration.", |
| "id": "Rewrite", |
| "properties": { |
| "dynamicLinks": { |
| "description": "The request will be forwarded to Firebase Dynamic Links.", |
| "type": "boolean" |
| }, |
| "function": { |
| "description": "The function to proxy requests to. Must match the exported function\nname exactly.", |
| "type": "string" |
| }, |
| "glob": { |
| "description": "Required. The user-supplied\n[glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", |
| "type": "string" |
| }, |
| "path": { |
| "description": "The URL path to rewrite the request to.", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "ServingConfig": { |
| "description": "The configuration for how incoming requests to a site should be routed and\nprocessed before serving content. The patterns are matched and applied\naccording to a specific\n[priority order](/docs/hosting/full-config#hosting_priority_order).", |
| "id": "ServingConfig", |
| "properties": { |
| "appAssociation": { |
| "description": "How to handle well known App Association files.", |
| "enum": [ |
| "AUTO", |
| "NONE" |
| ], |
| "enumDescriptions": [ |
| "The app association files will be automattically created from the apps\nthat exist in the Firebase project.", |
| "No special handling of the app association files will occur, these paths\nwill result in a 404 unless caught with a Rewrite." |
| ], |
| "type": "string" |
| }, |
| "cleanUrls": { |
| "description": "Defines whether to drop the file extension from uploaded files.", |
| "type": "boolean" |
| }, |
| "headers": { |
| "description": "A list of custom response headers that are added to the content if the\nrequest URL path matches the glob.", |
| "items": { |
| "$ref": "Header" |
| }, |
| "type": "array" |
| }, |
| "redirects": { |
| "description": "A list of globs that will cause the response to redirect to another\nlocation.", |
| "items": { |
| "$ref": "Redirect" |
| }, |
| "type": "array" |
| }, |
| "rewrites": { |
| "description": "A list of rewrites that will act as if the service were given the\ndestination URL.", |
| "items": { |
| "$ref": "Rewrite" |
| }, |
| "type": "array" |
| }, |
| "trailingSlashBehavior": { |
| "description": "Defines how to handle a trailing slash in the URL path.", |
| "enum": [ |
| "TRAILING_SLASH_BEHAVIOR_UNSPECIFIED", |
| "ADD", |
| "REMOVE" |
| ], |
| "enumDescriptions": [ |
| "No behavior is specified.\n\u003cbr\u003eFiles are served at their exact location only, and trailing slashes\nare only added to directory indexes.", |
| "Trailing slashes are _added_ to directory indexes as well as to any URL\npath not ending in a file extension.", |
| "Trailing slashes are _removed_ from directory indexes as well as from any\nURL path not ending in a file extension." |
| ], |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "SiteConfig": { |
| "description": "A `SiteConfig` contains metadata associated with a specific site that\ncontrols Firebase Hosting serving behavior", |
| "id": "SiteConfig", |
| "properties": { |
| "maxVersions": { |
| "description": "The number of FINALIZED versions that will be held for a site before\nautomatic deletion. When a new version is deployed, content for versions\nin storage in excess of this number will be deleted, and will no longer be\nbilled for storage usage. Oldest versions will be deleted first; sites are\ncreated with an unlimited number of max_versions by default.", |
| "format": "int64", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "Version": { |
| "description": "A `Version` is the collection of configuration and\n[static files](sites.versions.files) that determine how a site is displayed.", |
| "id": "Version", |
| "properties": { |
| "config": { |
| "$ref": "ServingConfig", |
| "description": "The configuration for the behavior of the site. This configuration exists\nin the [`firebase.json`](/docs/cli/#the_firebasejson_file) file." |
| }, |
| "createTime": { |
| "description": "Output only. The time at which the version was created.", |
| "format": "google-datetime", |
| "type": "string" |
| }, |
| "createUser": { |
| "$ref": "ActingUser", |
| "description": "Output only. Identifies the user who created the version." |
| }, |
| "deleteTime": { |
| "description": "Output only. The time at which the version was `DELETED`.", |
| "format": "google-datetime", |
| "type": "string" |
| }, |
| "deleteUser": { |
| "$ref": "ActingUser", |
| "description": "Output only. Identifies the user who `DELETED` the version." |
| }, |
| "fileCount": { |
| "description": "Output only. The total number of files associated with the version.\n\u003cbr\u003eThis value is calculated after a version is `FINALIZED`.", |
| "format": "int64", |
| "type": "string" |
| }, |
| "finalizeTime": { |
| "description": "Output only. The time at which the version was `FINALIZED`.", |
| "format": "google-datetime", |
| "type": "string" |
| }, |
| "finalizeUser": { |
| "$ref": "ActingUser", |
| "description": "Output only. Identifies the user who `FINALIZED` the version." |
| }, |
| "labels": { |
| "additionalProperties": { |
| "type": "string" |
| }, |
| "description": "The labels used for extra metadata and/or filtering.", |
| "type": "object" |
| }, |
| "name": { |
| "description": "The unique identifier for a version, in the format:\n\u003ccode\u003esites/\u003cvar\u003esite-name\u003c/var\u003e/versions/\u003cvar\u003eversionID\u003c/var\u003e\u003c/code\u003e\nThis name is provided in the response body when you call the\n[`CreateVersion`](../sites.versions/create) endpoint.", |
| "type": "string" |
| }, |
| "status": { |
| "description": "The deploy status of a version.\n\u003cbr\u003e\n\u003cbr\u003eFor a successful deploy, call the\n[`CreateVersion`](sites.versions/create) endpoint to make a new version\n(`CREATED` status),\n[upload all desired files](sites.versions/populateFiles) to the version,\nthen [update](sites.versions/patch) the version to the `FINALIZED` status.\n\u003cbr\u003e\n\u003cbr\u003eNote that if you leave the version in the `CREATED` state for more\nthan 12\u0026nbsp;hours, the system will automatically mark the version as\n`ABANDONED`.\n\u003cbr\u003e\n\u003cbr\u003eYou can also change the status of a version to `DELETED` by calling the\n[`DeleteVersion`](sites.versions/delete) endpoint.", |
| "enum": [ |
| "VERSION_STATUS_UNSPECIFIED", |
| "CREATED", |
| "FINALIZED", |
| "DELETED", |
| "ABANDONED", |
| "EXPIRED" |
| ], |
| "enumDescriptions": [ |
| "The default status; should not be intentionally used.", |
| "The version has been created, and content is currently being added to the\nversion.", |
| "All content has been added to the version, and the version can no longer be\nchanged.", |
| "The version has been deleted.", |
| "The version was not updated to `FINALIZED` within 12\u0026nbsp;hours and was\nautomatically deleted.", |
| "The version has fallen out of the site-configured retention window and its\nassociated files in GCS have been/been scheduled for deletion." |
| ], |
| "type": "string" |
| }, |
| "versionBytes": { |
| "description": "Output only. The total stored bytesize of the version.\n\u003cbr\u003eThis value is calculated after a version is `FINALIZED`.", |
| "format": "int64", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "VersionFile": { |
| "description": "A static content file that is part of a version.", |
| "id": "VersionFile", |
| "properties": { |
| "hash": { |
| "description": "The SHA256 content hash of the file.", |
| "type": "string" |
| }, |
| "path": { |
| "description": "The URI at which the file's content should display.", |
| "type": "string" |
| }, |
| "status": { |
| "description": "Output only. The current status of a particular file in the specified\nversion.\n\u003cbr\u003eThe value will be either `pending upload` or `uploaded`.", |
| "enum": [ |
| "STATUS_UNSPECIFIED", |
| "EXPECTED", |
| "ACTIVE" |
| ], |
| "enumDescriptions": [ |
| "The default status; should not be intentionally used.", |
| "The file has been included in the version and is expected to be uploaded\nin the near future.", |
| "The file has already been uploaded to Firebase Hosting." |
| ], |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| } |
| }, |
| "servicePath": "", |
| "title": "Firebase Hosting API", |
| "version": "v1beta1", |
| "version_module": true |
| } |