Firebase Hosting API . sites . versions

Instance Methods

files()

Returns the files Resource.

create(parent, body, versionId=None, x__xgafv=None, sizeBytes=None)

Creates a new version for a site.

delete(name, x__xgafv=None)

Deletes the specified version.

patch(name, body, updateMask=None, x__xgafv=None)

Updates the specified metadata for a version. Note that this method will

populateFiles(parent, body, x__xgafv=None)

Adds content files to a version.

Method Details

create(parent, body, versionId=None, x__xgafv=None, sizeBytes=None)
Creates a new version for a site.

Args:
  parent: string, Required. The parent to create the version for, in the format:
sites/site-name (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A `Version` is the collection of configuration and
    # [static files](sites.versions.files) that determine how a site is displayed.
  "status": "A String", # The deploy status of a version.
      # 
#
For a successful deploy, call the # [`CreateVersion`](sites.versions/create) endpoint to make a new version # (`CREATED` status), # [upload all desired files](sites.versions/populateFiles) to the version, # then [update](sites.versions/patch) the version to the `FINALIZED` status. #
#
Note that if you leave the version in the `CREATED` state for more # than 12 hours, the system will automatically mark the version as # `ABANDONED`. #
#
You can also change the status of a version to `DELETED` by calling the # [`DeleteVersion`](sites.versions/delete) endpoint. "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "name": "A String", # The unique identifier for a version, in the format: # sites/site-name/versions/versionID # This name is provided in the response body when you call the # [`CreateVersion`](../sites.versions/create) endpoint. "versionBytes": "A String", # Output only. The total stored bytesize of the version. #
This value is calculated after a version is `FINALIZED`. "labels": { # The labels used for extra metadata and/or filtering. "a_key": "A String", }, "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`. "deleteTime": "A String", # Output only. The time at which the version was `DELETED`. "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file. # processed before serving content. The patterns are matched and applied # according to a specific # [priority order](/docs/hosting/full-config#hosting_priority_order). "redirects": [ # A list of globs that will cause the response to redirect to another # location. { # A [`redirect`](/docs/hosting/full-config#redirects) represents the # configuration for returning an HTTP redirect response given a matching # request URL path. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "location": "A String", # Required. The value to put in the HTTP location header of the response. #
The location can contain capture group values from the pattern using # a `:` prefix to identify the segment and an optional `*` to capture the # rest of the URL. # For example: # "glob": "/:capture*", #
"statusCode": 301, #
"location": "https://example.com/foo/:capture"
"statusCode": 42, # Required. The status HTTP code to return in the response. It must be a # valid 3xx status code. }, ], "appAssociation": "A String", # How to handle well known App Association files. "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path. "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files. "headers": [ # A list of custom response headers that are added to the content if the # request URL path matches the glob. { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to # add to a response should the request URL path match the pattern. "headers": { # Required. The additional headers to add to the response. "a_key": "A String", }, "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. }, ], "rewrites": [ # A list of rewrites that will act as if the service were given the # destination URL. { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal # content rewrite on the version. If the pattern matches, the request will be # handled as if it were to the destination path specified in the # configuration. "function": "A String", # The function to proxy requests to. Must match the exported function # name exactly. "path": "A String", # The URL path to rewrite the request to. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run. # Cloud Run service does not exist when setting or updating your Firebase # Hosting configuration, then the request fails. Any errors from the Cloud Run # service are passed to the end user (for example, if you delete a service, any # requests directed to that service receive a `404` error). "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.
# Defaults to `us-central1` if not supplied. "serviceId": "A String", # Required. User-defined ID of the Cloud Run service. }, "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links. }, ], }, "createTime": "A String", # Output only. The time at which the version was created. "fileCount": "A String", # Output only. The total number of files associated with the version. #
This value is calculated after a version is `FINALIZED`. } versionId: string, A unique id for the new version. This is only specified for legacy version creations. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format sizeBytes: string, The self-reported size of the version. This value is used for a pre-emptive quota check for legacy version uploads. Returns: An object of the form: { # A `Version` is the collection of configuration and # [static files](sites.versions.files) that determine how a site is displayed. "status": "A String", # The deploy status of a version. #
#
For a successful deploy, call the # [`CreateVersion`](sites.versions/create) endpoint to make a new version # (`CREATED` status), # [upload all desired files](sites.versions/populateFiles) to the version, # then [update](sites.versions/patch) the version to the `FINALIZED` status. #
#
Note that if you leave the version in the `CREATED` state for more # than 12 hours, the system will automatically mark the version as # `ABANDONED`. #
#
You can also change the status of a version to `DELETED` by calling the # [`DeleteVersion`](sites.versions/delete) endpoint. "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "name": "A String", # The unique identifier for a version, in the format: # sites/site-name/versions/versionID # This name is provided in the response body when you call the # [`CreateVersion`](../sites.versions/create) endpoint. "versionBytes": "A String", # Output only. The total stored bytesize of the version. #
This value is calculated after a version is `FINALIZED`. "labels": { # The labels used for extra metadata and/or filtering. "a_key": "A String", }, "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`. "deleteTime": "A String", # Output only. The time at which the version was `DELETED`. "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file. # processed before serving content. The patterns are matched and applied # according to a specific # [priority order](/docs/hosting/full-config#hosting_priority_order). "redirects": [ # A list of globs that will cause the response to redirect to another # location. { # A [`redirect`](/docs/hosting/full-config#redirects) represents the # configuration for returning an HTTP redirect response given a matching # request URL path. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "location": "A String", # Required. The value to put in the HTTP location header of the response. #
The location can contain capture group values from the pattern using # a `:` prefix to identify the segment and an optional `*` to capture the # rest of the URL. # For example: # "glob": "/:capture*", #
"statusCode": 301, #
"location": "https://example.com/foo/:capture"
"statusCode": 42, # Required. The status HTTP code to return in the response. It must be a # valid 3xx status code. }, ], "appAssociation": "A String", # How to handle well known App Association files. "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path. "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files. "headers": [ # A list of custom response headers that are added to the content if the # request URL path matches the glob. { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to # add to a response should the request URL path match the pattern. "headers": { # Required. The additional headers to add to the response. "a_key": "A String", }, "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. }, ], "rewrites": [ # A list of rewrites that will act as if the service were given the # destination URL. { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal # content rewrite on the version. If the pattern matches, the request will be # handled as if it were to the destination path specified in the # configuration. "function": "A String", # The function to proxy requests to. Must match the exported function # name exactly. "path": "A String", # The URL path to rewrite the request to. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run. # Cloud Run service does not exist when setting or updating your Firebase # Hosting configuration, then the request fails. Any errors from the Cloud Run # service are passed to the end user (for example, if you delete a service, any # requests directed to that service receive a `404` error). "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.
# Defaults to `us-central1` if not supplied. "serviceId": "A String", # Required. User-defined ID of the Cloud Run service. }, "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links. }, ], }, "createTime": "A String", # Output only. The time at which the version was created. "fileCount": "A String", # Output only. The total number of files associated with the version. #
This value is calculated after a version is `FINALIZED`. }
delete(name, x__xgafv=None)
Deletes the specified version.

Args:
  name: string, Required. The name of the version to be deleted, in the format:
sites/site-name/versions/versionID (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
patch(name, body, updateMask=None, x__xgafv=None)
Updates the specified metadata for a version. Note that this method will
fail with `FAILED_PRECONDITION` in the event of an invalid state
transition. The only valid transition for a version is currently from a
`CREATED` status to a `FINALIZED` status.
Use [`DeleteVersion`](../sites.versions/delete) to set the status of a
version to `DELETED`.

Args:
  name: string, The unique identifier for a version, in the format:
sites/site-name/versions/versionID
This name is provided in the response body when you call the
[`CreateVersion`](../sites.versions/create) endpoint. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A `Version` is the collection of configuration and
    # [static files](sites.versions.files) that determine how a site is displayed.
  "status": "A String", # The deploy status of a version.
      # 
#
For a successful deploy, call the # [`CreateVersion`](sites.versions/create) endpoint to make a new version # (`CREATED` status), # [upload all desired files](sites.versions/populateFiles) to the version, # then [update](sites.versions/patch) the version to the `FINALIZED` status. #
#
Note that if you leave the version in the `CREATED` state for more # than 12 hours, the system will automatically mark the version as # `ABANDONED`. #
#
You can also change the status of a version to `DELETED` by calling the # [`DeleteVersion`](sites.versions/delete) endpoint. "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "name": "A String", # The unique identifier for a version, in the format: # sites/site-name/versions/versionID # This name is provided in the response body when you call the # [`CreateVersion`](../sites.versions/create) endpoint. "versionBytes": "A String", # Output only. The total stored bytesize of the version. #
This value is calculated after a version is `FINALIZED`. "labels": { # The labels used for extra metadata and/or filtering. "a_key": "A String", }, "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`. "deleteTime": "A String", # Output only. The time at which the version was `DELETED`. "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file. # processed before serving content. The patterns are matched and applied # according to a specific # [priority order](/docs/hosting/full-config#hosting_priority_order). "redirects": [ # A list of globs that will cause the response to redirect to another # location. { # A [`redirect`](/docs/hosting/full-config#redirects) represents the # configuration for returning an HTTP redirect response given a matching # request URL path. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "location": "A String", # Required. The value to put in the HTTP location header of the response. #
The location can contain capture group values from the pattern using # a `:` prefix to identify the segment and an optional `*` to capture the # rest of the URL. # For example: # "glob": "/:capture*", #
"statusCode": 301, #
"location": "https://example.com/foo/:capture"
"statusCode": 42, # Required. The status HTTP code to return in the response. It must be a # valid 3xx status code. }, ], "appAssociation": "A String", # How to handle well known App Association files. "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path. "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files. "headers": [ # A list of custom response headers that are added to the content if the # request URL path matches the glob. { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to # add to a response should the request URL path match the pattern. "headers": { # Required. The additional headers to add to the response. "a_key": "A String", }, "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. }, ], "rewrites": [ # A list of rewrites that will act as if the service were given the # destination URL. { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal # content rewrite on the version. If the pattern matches, the request will be # handled as if it were to the destination path specified in the # configuration. "function": "A String", # The function to proxy requests to. Must match the exported function # name exactly. "path": "A String", # The URL path to rewrite the request to. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run. # Cloud Run service does not exist when setting or updating your Firebase # Hosting configuration, then the request fails. Any errors from the Cloud Run # service are passed to the end user (for example, if you delete a service, any # requests directed to that service receive a `404` error). "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.
# Defaults to `us-central1` if not supplied. "serviceId": "A String", # Required. User-defined ID of the Cloud Run service. }, "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links. }, ], }, "createTime": "A String", # Output only. The time at which the version was created. "fileCount": "A String", # Output only. The total number of files associated with the version. #
This value is calculated after a version is `FINALIZED`. } updateMask: string, A set of field names from your [version](../sites.versions) that you want to update.
A field will be overwritten if, and only if, it's in the mask.
If a mask is not provided then a default mask of only [`status`](../sites.versions#Version.FIELDS.status) will be used. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format 2 - v2 error format Returns: An object of the form: { # A `Version` is the collection of configuration and # [static files](sites.versions.files) that determine how a site is displayed. "status": "A String", # The deploy status of a version. #
#
For a successful deploy, call the # [`CreateVersion`](sites.versions/create) endpoint to make a new version # (`CREATED` status), # [upload all desired files](sites.versions/populateFiles) to the version, # then [update](sites.versions/patch) the version to the `FINALIZED` status. #
#
Note that if you leave the version in the `CREATED` state for more # than 12 hours, the system will automatically mark the version as # `ABANDONED`. #
#
You can also change the status of a version to `DELETED` by calling the # [`DeleteVersion`](sites.versions/delete) endpoint. "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "name": "A String", # The unique identifier for a version, in the format: # sites/site-name/versions/versionID # This name is provided in the response body when you call the # [`CreateVersion`](../sites.versions/create) endpoint. "versionBytes": "A String", # Output only. The total stored bytesize of the version. #
This value is calculated after a version is `FINALIZED`. "labels": { # The labels used for extra metadata and/or filtering. "a_key": "A String", }, "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`. "deleteTime": "A String", # Output only. The time at which the version was `DELETED`. "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version. # a release or finalizing a version. "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has # changed their email address or deleted their account. "email": "A String", # The email address of the user when the user performed the action. }, "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file. # processed before serving content. The patterns are matched and applied # according to a specific # [priority order](/docs/hosting/full-config#hosting_priority_order). "redirects": [ # A list of globs that will cause the response to redirect to another # location. { # A [`redirect`](/docs/hosting/full-config#redirects) represents the # configuration for returning an HTTP redirect response given a matching # request URL path. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "location": "A String", # Required. The value to put in the HTTP location header of the response. #
The location can contain capture group values from the pattern using # a `:` prefix to identify the segment and an optional `*` to capture the # rest of the URL. # For example: # "glob": "/:capture*", #
"statusCode": 301, #
"location": "https://example.com/foo/:capture"
"statusCode": 42, # Required. The status HTTP code to return in the response. It must be a # valid 3xx status code. }, ], "appAssociation": "A String", # How to handle well known App Association files. "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path. "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files. "headers": [ # A list of custom response headers that are added to the content if the # request URL path matches the glob. { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to # add to a response should the request URL path match the pattern. "headers": { # Required. The additional headers to add to the response. "a_key": "A String", }, "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. }, ], "rewrites": [ # A list of rewrites that will act as if the service were given the # destination URL. { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal # content rewrite on the version. If the pattern matches, the request will be # handled as if it were to the destination path specified in the # configuration. "function": "A String", # The function to proxy requests to. Must match the exported function # name exactly. "path": "A String", # The URL path to rewrite the request to. "glob": "A String", # Required. The user-supplied # [glob pattern](/docs/hosting/full-config#glob_pattern_matching) to match # against the request URL path. "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run. # Cloud Run service does not exist when setting or updating your Firebase # Hosting configuration, then the request fails. Any errors from the Cloud Run # service are passed to the end user (for example, if you delete a service, any # requests directed to that service receive a `404` error). "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.
# Defaults to `us-central1` if not supplied. "serviceId": "A String", # Required. User-defined ID of the Cloud Run service. }, "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links. }, ], }, "createTime": "A String", # Output only. The time at which the version was created. "fileCount": "A String", # Output only. The total number of files associated with the version. #
This value is calculated after a version is `FINALIZED`. }
populateFiles(parent, body, x__xgafv=None)
Adds content files to a version.

Args:
  parent: string, Required. The version to add files to, in the format:
sites/site-name/versions/versionID (required)
  body: object, The request body. (required)
    The object takes the form of:

{
    "files": { # A set of file paths to the hashes corresponding to assets that should be
        # added to the version. Note that a file path to an empty hash will remove
        # the path from the version. Calculate a hash by Gzipping the file then
        # taking the SHA256 hash of the newly compressed file.
      "a_key": "A String",
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    "uploadRequiredHashes": [ # The content hashes of the specified files that need to be uploaded to the
        # specified endpoint.
      "A String",
    ],
    "uploadUrl": "A String", # The URL to which the files should be uploaded, in the format:
        # 
"https://upload-firebasehosting.googleapis.com/upload/sites/site-name/versions/versionID/files". #
Perform a multipart `POST` of the Gzipped file contents to the URL # using a forward slash and the hash of the file appended to the end. }