Firebase Hosting API . sites . versions

Instance Methods

files()

Returns the files Resource.

clone(parent, body=None, x__xgafv=None)

Creates a new version on the specified target site using the content of the specified version.

close()

Close httplib2 connections.

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

Creates a new version for the specified site.

delete(name, x__xgafv=None)

Deletes the specified version.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists the versions that have been created for the specified site. This list includes versions for both the default `live` channel and any active preview channels for the specified site.

list_next(previous_request, previous_response)

Retrieves the next page of results.

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

Updates the specified metadata for the specified version. This method will fail with `FAILED_PRECONDITION` in the event of an invalid state transition. The supported [state](../sites.versions#versionstatus) transitions for a version are from `CREATED` to `FINALIZED`. Use [`DeleteVersion`](delete) to set the status of a version to `DELETED`.

populateFiles(parent, body=None, x__xgafv=None)

Adds content files to the specified version. Each file must be under 2 GB.

Method Details

clone(parent, body=None, x__xgafv=None)
Creates a new version on the specified target site using the content of the specified version.

Args:
  parent: string, Required. The target site for the cloned version, in the format: sites/ SITE_ID (required)
  body: object, The request body.
    The object takes the form of:

{
  "exclude": { # A representation of filter path. # If provided, only paths that do not match any of the RegEx values in this list will be included in the new version.
    "regexes": [ # An array of RegEx values by which to filter.
      "A String",
    ],
  },
  "finalize": True or False, # If true, the call to `CloneVersion` immediately finalizes the version after cloning is complete. If false, the cloned version will have a status of `CREATED`. Use [`UpdateVersion`](patch) to set the status of the version to `FINALIZED`.
  "include": { # A representation of filter path. # If provided, only paths that match one or more RegEx values in this list will be included in the new version.
    "regexes": [ # An array of RegEx values by which to filter.
      "A String",
    ],
  },
  "sourceVersion": "A String", # Required. The unique identifier for the version to be cloned, in the format: sites/SITE_ID/versions/VERSION_ID
}

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

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # 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](https://github.com/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](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # 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.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
close()
Close httplib2 connections.
create(parent, body=None, sizeBytes=None, versionId=None, x__xgafv=None)
Creates a new version for the specified site.

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

{ # A `Version` is a configuration and a collection of static files which determine how a site is displayed.
  "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
    "appAssociation": "A String", # How to handle well known App Association files.
    "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
    "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
      { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "headers": { # Required. The additional headers to add to the response.
          "a_key": "A String",
        },
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
      },
    ],
    "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
      "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
    },
    "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
      { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/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"
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
      },
    ],
    "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
      { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
        "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
        "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "path": "A String", # The URL path to rewrite the request to.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "run": { # A configured rewrite that directs requests to a Cloud Run service. If the 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). # The request will be forwarded to Cloud Run.
          "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.
        },
      },
    ],
    "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
  },
  "createTime": "A String", # Output only. The time at which the version was created.
  "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
  "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
  "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
  "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "labels": { # The labels used for extra metadata and/or filtering.
    "a_key": "A String",
  },
  "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
  "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) 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 [`DeleteVersion`](sites.versions/delete).
  "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
}

  sizeBytes: string, The self-reported size of the version. This value is used for a pre-emptive quota check for legacy version uploads.
  versionId: string, A unique id for the new version. This is was only specified for legacy version creations, and should be blank.
  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 a configuration and a collection of static files which determine how a site is displayed.
  "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
    "appAssociation": "A String", # How to handle well known App Association files.
    "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
    "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
      { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "headers": { # Required. The additional headers to add to the response.
          "a_key": "A String",
        },
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
      },
    ],
    "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
      "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
    },
    "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
      { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/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"
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
      },
    ],
    "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
      { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
        "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
        "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "path": "A String", # The URL path to rewrite the request to.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "run": { # A configured rewrite that directs requests to a Cloud Run service. If the 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). # The request will be forwarded to Cloud Run.
          "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.
        },
      },
    ],
    "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
  },
  "createTime": "A String", # Output only. The time at which the version was created.
  "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
  "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
  "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
  "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "labels": { # The labels used for extra metadata and/or filtering.
    "a_key": "A String",
  },
  "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
  "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) 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 [`DeleteVersion`](sites.versions/delete).
  "versionBytes": "A String", # Output only. The total stored bytesize of 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 fully-qualified resource name for the version, in the format: sites/SITE_ID/versions/VERSION_ID (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 `{}`.
}
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists the versions that have been created for the specified site. This list includes versions for both the default `live` channel and any active preview channels for the specified site.

Args:
  parent: string, Required. The site or channel for which to list versions, in either of the following formats: - sites/SITE_ID - sites/SITE_ID/channels/CHANNEL_ID  (required)
  filter: string, A filter string used to return a subset of versions in the response. The currently supported fields for filtering are: `name`, `status`, and `create_time`. Learn more about filtering in Google's [AIP 160 standard](https://google.aip.dev/160).
  pageSize: integer, The maximum number of versions to return. The service may return a lower number if fewer versions exist than this maximum number. If unspecified, defaults to 25. The maximum value is 100; values above 100 will be coerced to 100.
  pageToken: string, A token from a previous call to `ListVersions` that tells the server where to resume listing.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  "nextPageToken": "A String", # The pagination token, if more results exist beyond the ones in this response. Include this token in your next call to `ListVersions`. Page tokens are short-lived and should not be stored.
  "versions": [ # The list of versions, if any exist.
    { # A `Version` is a configuration and a collection of static files which determine how a site is displayed.
      "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
        "appAssociation": "A String", # How to handle well known App Association files.
        "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
        "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
          { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
            "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
            "headers": { # Required. The additional headers to add to the response.
              "a_key": "A String",
            },
            "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
          },
        ],
        "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
          "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
        },
        "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
          { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
            "glob": "A String", # The user-supplied [glob](https://firebase.google.com/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"
            "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
            "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
          },
        ],
        "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
          { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
            "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
            "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
            "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
            "path": "A String", # The URL path to rewrite the request to.
            "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
            "run": { # A configured rewrite that directs requests to a Cloud Run service. If the 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). # The request will be forwarded to Cloud Run.
              "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.
            },
          },
        ],
        "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
      },
      "createTime": "A String", # Output only. The time at which the version was created.
      "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
        "email": "A String", # The email address of the user when the user performed the action.
        "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.
      },
      "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
      "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
        "email": "A String", # The email address of the user when the user performed the action.
        "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.
      },
      "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
      "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
      "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
        "email": "A String", # The email address of the user when the user performed the action.
        "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.
      },
      "labels": { # The labels used for extra metadata and/or filtering.
        "a_key": "A String",
      },
      "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
      "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) 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 [`DeleteVersion`](sites.versions/delete).
      "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
    },
  ],
}
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
patch(name, body=None, updateMask=None, x__xgafv=None)
 Updates the specified metadata for the specified version. This method will fail with `FAILED_PRECONDITION` in the event of an invalid state transition. The supported [state](../sites.versions#versionstatus) transitions for a version are from `CREATED` to `FINALIZED`. Use [`DeleteVersion`](delete) to set the status of a version to `DELETED`.

Args:
  name: string, The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create). (required)
  body: object, The request body.
    The object takes the form of:

{ # A `Version` is a configuration and a collection of static files which determine how a site is displayed.
  "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
    "appAssociation": "A String", # How to handle well known App Association files.
    "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
    "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
      { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "headers": { # Required. The additional headers to add to the response.
          "a_key": "A String",
        },
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
      },
    ],
    "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
      "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
    },
    "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
      { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/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"
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
      },
    ],
    "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
      { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
        "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
        "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "path": "A String", # The URL path to rewrite the request to.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "run": { # A configured rewrite that directs requests to a Cloud Run service. If the 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). # The request will be forwarded to Cloud Run.
          "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.
        },
      },
    ],
    "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
  },
  "createTime": "A String", # Output only. The time at which the version was created.
  "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
  "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
  "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
  "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "labels": { # The labels used for extra metadata and/or filtering.
    "a_key": "A String",
  },
  "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
  "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) 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 [`DeleteVersion`](sites.versions/delete).
  "versionBytes": "A String", # Output only. The total stored bytesize of 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 a configuration and a collection of static files which determine how a site is displayed.
  "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
    "appAssociation": "A String", # How to handle well known App Association files.
    "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
    "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
      { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "headers": { # Required. The additional headers to add to the response.
          "a_key": "A String",
        },
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
      },
    ],
    "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
      "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
    },
    "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
      { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/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"
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
      },
    ],
    "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
      { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
        "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
        "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
        "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
        "path": "A String", # The URL path to rewrite the request to.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
        "run": { # A configured rewrite that directs requests to a Cloud Run service. If the 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). # The request will be forwarded to Cloud Run.
          "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.
        },
      },
    ],
    "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
  },
  "createTime": "A String", # Output only. The time at which the version was created.
  "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
  "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
  "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
  "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
    "email": "A String", # The email address of the user when the user performed the action.
    "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.
  },
  "labels": { # The labels used for extra metadata and/or filtering.
    "a_key": "A String",
  },
  "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
  "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) 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 [`DeleteVersion`](sites.versions/delete).
  "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
}
populateFiles(parent, body=None, x__xgafv=None)
 Adds content files to the specified version. Each file must be under 2 GB.

Args:
  parent: string, Required. The version to which to add files, in the format: sites/SITE_ID /versions/VERSION_ID (required)
  body: object, The request body.
    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. 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 URL.
    "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_ID /versions/VERSION_ID/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.
}