# Firebase Hosting API . sites . releases

## Instance Methods

Creates a new release which makes the content of the specified version

Lists the releases that have been created on the specified site.

Retrieves the next page of results.

### Method Details

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

    Creates a new release which makes the content of the specified version
    actively display on the site.

    Args:
      parent: string, The site that the release belongs to, in the format:
    sites/site-name (required)
      body: object, The request body. (required)
        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.
        "name": "A String", # Output only. The unique identifier for the release, in the format:
            # sites/site-name/releases/releaseID
            # This name is provided in the response body when you call the
            # [`CreateRelease`](sites.releases/create) endpoint.
        "version": { # A `Version` is the collection of configuration and # Output only.  The configuration and content that was released.
            # [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`.
        },
        "releaseUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the release.
            # 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.
        },
        "message": "A String", # The deploy description when the release was created. The value can be up to
            # 512 characters.
        "type": "A String", # Explains the reason for the release.
            #
    Specify a value for this field only when creating a `SITE_DISABLE`
            # type release.
        "releaseTime": "A String", # Output only. The time at which the version is set to be public.
      }

      versionName: string, The unique identifier for a version, in the format:
    /sites/site-name/versions/versionID
    The site-name in this version identifier must match the
    site-name 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.
          "name": "A String", # Output only. The unique identifier for the release, in the format:
              # sites/site-name/releases/releaseID
              # This name is provided in the response body when you call the
              # [`CreateRelease`](sites.releases/create) endpoint.
          "version": { # A `Version` is the collection of configuration and # Output only.  The configuration and content that was released.
              # [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`.
          },
          "releaseUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the release.
              # 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.
          },
          "message": "A String", # The deploy description when the release was created. The value can be up to
              # 512 characters.
          "type": "A String", # Explains the reason for the release.
              #
    Specify a value for this field only when creating a `SITE_DISABLE`
              # type release.
          "releaseTime": "A String", # Output only. The time at which the version is set to be public.
        }

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

    Lists the releases that have been created on the specified site.

    Args:
      parent: string, Required. The parent for which to list files, in the format:
    sites/site-name (required)
      pageToken: string, The next_page_token from a previous request, if provided.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      pageSize: integer, The page size to return. Defaults to 100.

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # If there are additional releases remaining beyond the ones in this
            # response, then supply this token in the next
            # [`list`](../sites.versions.files/list) call to continue with the next set
            # of releases.
        "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.
              "name": "A String", # Output only. The unique identifier for the release, in the format:
                  # sites/site-name/releases/releaseID
                  # This name is provided in the response body when you call the
                  # [`CreateRelease`](sites.releases/create) endpoint.
              "version": { # A `Version` is the collection of configuration and # Output only.  The configuration and content that was released.
                  # [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`.
              },
              "releaseUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the release.
                  # 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.
              },
              "message": "A String", # The deploy description when the release was created. The value can be up to
                  # 512 characters.
              "type": "A String", # Explains the reason for the release.
                  #
    Specify a value for this field only when creating a `SITE_DISABLE`
                  # type release.
              "releaseTime": "A String", # Output only. The time at which the version is set to be public.
            },
        ],
      }

`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.