# Firebase Hosting API . projects . sites . releases

## Instance Methods

Close httplib2 connections.

Creates a new release, which makes the content of the specified version actively display on the appropriate URL(s).

Lists the releases that have been created for the specified site or channel. When used to list releases for a site, this list includes releases for both the default `live` channel and any active preview channels for the specified site.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, versionName=None, x__xgafv=None)`

    Creates a new release, which makes the content of the specified version actively display on the appropriate URL(s).

    Args:
      parent: string, Required. The site or channel to which the release belongs, in either of the following formats: - sites/SITE_ID - sites/SITE_ID/channels/CHANNEL_ID (required)
      body: object, The request body.
        The object takes the form of:

    { #  A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time.
      "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
      "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
      "releaseTime": "A String", # Output only. The time at which the version is set to be public.
      "releaseUser": { # 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 release.
        "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.
      },
      "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
      "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
        "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`.
      },
    }

      versionName: string,  The unique identifier for a version, in the format: sites/SITE_ID/versions/ VERSION_ID The SITE_ID in this version identifier must match the SITE_ID in the `parent` parameter. This query parameter must be empty if the `type` field in the request body is `SITE_DISABLE`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { #  A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time.
      "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
      "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
      "releaseTime": "A String", # Output only. The time at which the version is set to be public.
      "releaseUser": { # 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 release.
        "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.
      },
      "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
      "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
        "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(parent, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists the releases that have been created for the specified site or channel. When used to list releases for a site, this list includes releases 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 releases, in either of the following formats: - sites/SITE_ID - sites/SITE_ID/channels/CHANNEL_ID  (required)
      pageSize: integer, The maximum number of releases to return. The service may return a lower number if fewer releases exist than this maximum number. If unspecified, defaults to 100.
      pageToken: string, A token from a previous call to `releases.list` or `channels.releases.list` 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 `ListReleases`. Page tokens are short-lived and should not be stored.
      "releases": [ # The list of hashes of files that still need to be uploaded, if any exist.
        { #  A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time.
          "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
          "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
          "releaseTime": "A String", # Output only. The time at which the version is set to be public.
          "releaseUser": { # 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 release.
            "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.
          },
          "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
          "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
            "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.