# Firebase Hosting API . sites . channels

## Instance Methods

Returns the releases Resource.

Close httplib2 connections.

Creates a new channel in the specified site.

Deletes a channel of a site. The `live` channel cannot be deleted.

Retrieves information for the specified channel of a site.

Lists the channels for the specified site. All sites have a default "live" channel.

Retrieves the next page of results.

Updates information for the specified channel of a site. This method will implicitly create a channel if it doesn't exist.

### Method Details

`close()`

    Close httplib2 connections.

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

    Creates a new channel in the specified site.

    Args:
      parent: string, Required. The site in which this channel should be created. (required)
      body: object, The request body.
        The object takes the form of:

    { # A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the live Firebase-provided domains and any connected custom domains.
        "release": { # A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time. # Output only. The current release for the channel, if any.
          "version": { # A `Version` is the collection of configuration and [static files](sites.versions.files) that determine how a site is displayed. # Output only. The configuration and content that was released.
            "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
            "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.
            },
            "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
            "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.
            "preview": { # Version preview configuration. If active and unexpired, this version will be accessible via a custom URL even if it is not the currently released version. # Version preview configuration for the site version. This configuration specfies whether previewing is enabled for this site version. Version previews allow you to preview your site at a custom URL before releasing it as the live version.
              "expireTime": "A String", # Indicates the expiration time for previewing this version; preview URL requests received after this time will 404.
              "active": True or False, # If true, preview URLs are enabled for this version.
            },
            "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.
            },
            "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.
            },
            "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
            "createTime": "A String", # Output only. The time at which the version was created.
            "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.
            "labels": { # The labels used for extra metadata and/or filtering.
              "a_key": "A String",
            },
            "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](/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
              "appAssociation": "A String", # How to handle well known App Association 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`](/docs/hosting/full-config#headers) is an object that specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                  "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.
                  "glob": "A String", # The user-supplied [glob](/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                },
              ],
              "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
              "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the 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`](/docs/hosting/full-config#redirects) object 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](/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.
                  "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                },
              ],
              "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`](/docs/hosting/full-config#rewrites) object 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.
                  "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                  "glob": "A String", # The user-supplied [glob](/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.
                  "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.
                    "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                    "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                  },
                  "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.
                },
              ],
            },
            "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
          },
          "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
          "releaseTime": "A String", # Output only. The time at which the version is set to be public.
          "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.
          "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.
        },
        "url": "A String", # Output only. The URL at which the channel can be viewed. For the `live` channel, the content of the current release may also be visible at other URLs.
        "retainedReleaseCount": 42, # The number of previous releases to retain on the channel for rollback or other purposes. Must be a number between 1-100. Defaults to 10 for new channels.
        "expireTime": "A String", # The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in output whether set directly or via the `ttl` field.
        "name": "A String", # The fully-qualified identifier of the Channel.
        "createTime": "A String", # Output only. The time at which the channel was created.
        "updateTime": "A String", # Output only. The time at which the channel was last updated.
        "labels": { # Text labels used for extra metadata and/or filtering.
          "a_key": "A String",
        },
        "ttl": "A String", # Input only. A time-to-live for this channel. Sets `expire_time` to the provided duration past the time of the request.
      }

      channelId: string, Required. Immutable. A unique id within the site to identify the channel.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the live Firebase-provided domains and any connected custom domains.
          "release": { # A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time. # Output only. The current release for the channel, if any.
            "version": { # A `Version` is the collection of configuration and [static files](sites.versions.files) that determine how a site is displayed. # Output only. The configuration and content that was released.
              "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
              "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.
              },
              "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
              "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.
              "preview": { # Version preview configuration. If active and unexpired, this version will be accessible via a custom URL even if it is not the currently released version. # Version preview configuration for the site version. This configuration specfies whether previewing is enabled for this site version. Version previews allow you to preview your site at a custom URL before releasing it as the live version.
                "expireTime": "A String", # Indicates the expiration time for previewing this version; preview URL requests received after this time will 404.
                "active": True or False, # If true, preview URLs are enabled for this version.
              },
              "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.
              },
              "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.
              },
              "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
              "createTime": "A String", # Output only. The time at which the version was created.
              "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.
              "labels": { # The labels used for extra metadata and/or filtering.
                "a_key": "A String",
              },
              "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](/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
                "appAssociation": "A String", # How to handle well known App Association 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`](/docs/hosting/full-config#headers) is an object that specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                    "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.
                    "glob": "A String", # The user-supplied [glob](/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                  },
                ],
                "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
                "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the 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`](/docs/hosting/full-config#redirects) object 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](/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.
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                  },
                ],
                "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`](/docs/hosting/full-config#rewrites) object 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.
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                    "glob": "A String", # The user-supplied [glob](/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.
                    "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.
                      "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                      "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                    },
                    "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.
                  },
                ],
              },
              "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
            },
            "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
            "releaseTime": "A String", # Output only. The time at which the version is set to be public.
            "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.
            "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.
          },
          "url": "A String", # Output only. The URL at which the channel can be viewed. For the `live` channel, the content of the current release may also be visible at other URLs.
          "retainedReleaseCount": 42, # The number of previous releases to retain on the channel for rollback or other purposes. Must be a number between 1-100. Defaults to 10 for new channels.
          "expireTime": "A String", # The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in output whether set directly or via the `ttl` field.
          "name": "A String", # The fully-qualified identifier of the Channel.
          "createTime": "A String", # Output only. The time at which the channel was created.
          "updateTime": "A String", # Output only. The time at which the channel was last updated.
          "labels": { # Text labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "ttl": "A String", # Input only. A time-to-live for this channel. Sets `expire_time` to the provided duration past the time of the request.
        }

`delete(name, x__xgafv=None)`

    Deletes a channel of a site. The `live` channel cannot be deleted.

    Args:
      name: string, Required. The fully-qualified identifier for the site. (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 `{}`.
      }

`get(name, x__xgafv=None)`

    Retrieves information for the specified channel of a site.

    Args:
      name: string, Required. The fully-qualified identifier for the channel. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the live Firebase-provided domains and any connected custom domains.
          "release": { # A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time. # Output only. The current release for the channel, if any.
            "version": { # A `Version` is the collection of configuration and [static files](sites.versions.files) that determine how a site is displayed. # Output only. The configuration and content that was released.
              "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
              "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.
              },
              "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
              "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.
              "preview": { # Version preview configuration. If active and unexpired, this version will be accessible via a custom URL even if it is not the currently released version. # Version preview configuration for the site version. This configuration specfies whether previewing is enabled for this site version. Version previews allow you to preview your site at a custom URL before releasing it as the live version.
                "expireTime": "A String", # Indicates the expiration time for previewing this version; preview URL requests received after this time will 404.
                "active": True or False, # If true, preview URLs are enabled for this version.
              },
              "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.
              },
              "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.
              },
              "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
              "createTime": "A String", # Output only. The time at which the version was created.
              "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.
              "labels": { # The labels used for extra metadata and/or filtering.
                "a_key": "A String",
              },
              "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](/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
                "appAssociation": "A String", # How to handle well known App Association 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`](/docs/hosting/full-config#headers) is an object that specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                    "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.
                    "glob": "A String", # The user-supplied [glob](/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                  },
                ],
                "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
                "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the 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`](/docs/hosting/full-config#redirects) object 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](/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.
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                  },
                ],
                "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`](/docs/hosting/full-config#rewrites) object 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.
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                    "glob": "A String", # The user-supplied [glob](/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.
                    "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.
                      "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                      "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                    },
                    "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.
                  },
                ],
              },
              "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
            },
            "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
            "releaseTime": "A String", # Output only. The time at which the version is set to be public.
            "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.
            "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.
          },
          "url": "A String", # Output only. The URL at which the channel can be viewed. For the `live` channel, the content of the current release may also be visible at other URLs.
          "retainedReleaseCount": 42, # The number of previous releases to retain on the channel for rollback or other purposes. Must be a number between 1-100. Defaults to 10 for new channels.
          "expireTime": "A String", # The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in output whether set directly or via the `ttl` field.
          "name": "A String", # The fully-qualified identifier of the Channel.
          "createTime": "A String", # Output only. The time at which the channel was created.
          "updateTime": "A String", # Output only. The time at which the channel was last updated.
          "labels": { # Text labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "ttl": "A String", # Input only. A time-to-live for this channel. Sets `expire_time` to the provided duration past the time of the request.
        }

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

    Lists the channels for the specified site. All sites have a default "live" channel.

    Args:
      parent: string, Required. The site from which to list channels. (required)
      pageSize: integer, The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 25 channels will be returned. The maximum value is 100; valuupdateses above 100 will be coerced to 100
      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

    Returns:
      An object of the form:

        { # The response returned by ListChannels.
        "nextPageToken": "A String", # If there are additional releases remaining beyond the ones in this response, then supply this token in the next [`list`](../sites.channels/list) call to continue with the next set of releases.
        "channels": [ # The list of channels.
          { # A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the live Firebase-provided domains and any connected custom domains.
              "release": { # A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time. # Output only. The current release for the channel, if any.
                "version": { # A `Version` is the collection of configuration and [static files](sites.versions.files) that determine how a site is displayed. # Output only. The configuration and content that was released.
                  "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
                  "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.
                  },
                  "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
                  "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.
                  "preview": { # Version preview configuration. If active and unexpired, this version will be accessible via a custom URL even if it is not the currently released version. # Version preview configuration for the site version. This configuration specfies whether previewing is enabled for this site version. Version previews allow you to preview your site at a custom URL before releasing it as the live version.
                    "expireTime": "A String", # Indicates the expiration time for previewing this version; preview URL requests received after this time will 404.
                    "active": True or False, # If true, preview URLs are enabled for this version.
                  },
                  "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.
                  },
                  "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.
                  },
                  "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
                  "createTime": "A String", # Output only. The time at which the version was created.
                  "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.
                  "labels": { # The labels used for extra metadata and/or filtering.
                    "a_key": "A String",
                  },
                  "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](/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
                    "appAssociation": "A String", # How to handle well known App Association 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`](/docs/hosting/full-config#headers) is an object that specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                        "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.
                        "glob": "A String", # The user-supplied [glob](/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                      },
                    ],
                    "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
                    "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the 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`](/docs/hosting/full-config#redirects) object 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](/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.
                        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                      },
                    ],
                    "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`](/docs/hosting/full-config#rewrites) object 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.
                        "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                        "glob": "A String", # The user-supplied [glob](/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.
                        "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.
                          "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                          "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                        },
                        "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.
                      },
                    ],
                  },
                  "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
                },
                "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
                "releaseTime": "A String", # Output only. The time at which the version is set to be public.
                "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.
                "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.
              },
              "url": "A String", # Output only. The URL at which the channel can be viewed. For the `live` channel, the content of the current release may also be visible at other URLs.
              "retainedReleaseCount": 42, # The number of previous releases to retain on the channel for rollback or other purposes. Must be a number between 1-100. Defaults to 10 for new channels.
              "expireTime": "A String", # The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in output whether set directly or via the `ttl` field.
              "name": "A String", # The fully-qualified identifier of the Channel.
              "createTime": "A String", # Output only. The time at which the channel was created.
              "updateTime": "A String", # Output only. The time at which the channel was last updated.
              "labels": { # Text labels used for extra metadata and/or filtering.
                "a_key": "A String",
              },
              "ttl": "A String", # Input only. A time-to-live for this channel. Sets `expire_time` to the provided duration past the time of the request.
            },
        ],
      }

`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 information for the specified channel of a site. This method will implicitly create a channel if it doesn't exist.

    Args:
      name: string, The fully-qualified identifier of the Channel. (required)
      body: object, The request body.
        The object takes the form of:

    { # A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the live Firebase-provided domains and any connected custom domains.
        "release": { # A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time. # Output only. The current release for the channel, if any.
          "version": { # A `Version` is the collection of configuration and [static files](sites.versions.files) that determine how a site is displayed. # Output only. The configuration and content that was released.
            "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
            "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.
            },
            "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
            "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.
            "preview": { # Version preview configuration. If active and unexpired, this version will be accessible via a custom URL even if it is not the currently released version. # Version preview configuration for the site version. This configuration specfies whether previewing is enabled for this site version. Version previews allow you to preview your site at a custom URL before releasing it as the live version.
              "expireTime": "A String", # Indicates the expiration time for previewing this version; preview URL requests received after this time will 404.
              "active": True or False, # If true, preview URLs are enabled for this version.
            },
            "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.
            },
            "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.
            },
            "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
            "createTime": "A String", # Output only. The time at which the version was created.
            "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.
            "labels": { # The labels used for extra metadata and/or filtering.
              "a_key": "A String",
            },
            "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](/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
              "appAssociation": "A String", # How to handle well known App Association 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`](/docs/hosting/full-config#headers) is an object that specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                  "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.
                  "glob": "A String", # The user-supplied [glob](/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                },
              ],
              "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
              "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the 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`](/docs/hosting/full-config#redirects) object 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](/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.
                  "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                },
              ],
              "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`](/docs/hosting/full-config#rewrites) object 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.
                  "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                  "glob": "A String", # The user-supplied [glob](/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.
                  "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.
                    "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                    "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                  },
                  "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.
                },
              ],
            },
            "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
          },
          "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
          "releaseTime": "A String", # Output only. The time at which the version is set to be public.
          "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.
          "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.
        },
        "url": "A String", # Output only. The URL at which the channel can be viewed. For the `live` channel, the content of the current release may also be visible at other URLs.
        "retainedReleaseCount": 42, # The number of previous releases to retain on the channel for rollback or other purposes. Must be a number between 1-100. Defaults to 10 for new channels.
        "expireTime": "A String", # The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in output whether set directly or via the `ttl` field.
        "name": "A String", # The fully-qualified identifier of the Channel.
        "createTime": "A String", # Output only. The time at which the channel was created.
        "updateTime": "A String", # Output only. The time at which the channel was last updated.
        "labels": { # Text labels used for extra metadata and/or filtering.
          "a_key": "A String",
        },
        "ttl": "A String", # Input only. A time-to-live for this channel. Sets `expire_time` to the provided duration past the time of the request.
      }

      updateMask: string, A comma-separated list of fields to be updated in this request.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the live Firebase-provided domains and any connected custom domains.
          "release": { # A `Release` is a particular [collection of configurations and files](sites.versions) that is set to be public at a particular time. # Output only. The current release for the channel, if any.
            "version": { # A `Version` is the collection of configuration and [static files](sites.versions.files) that determine how a site is displayed. # Output only. The configuration and content that was released.
              "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
              "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.
              },
              "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
              "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.
              "preview": { # Version preview configuration. If active and unexpired, this version will be accessible via a custom URL even if it is not the currently released version. # Version preview configuration for the site version. This configuration specfies whether previewing is enabled for this site version. Version previews allow you to preview your site at a custom URL before releasing it as the live version.
                "expireTime": "A String", # Indicates the expiration time for previewing this version; preview URL requests received after this time will 404.
                "active": True or False, # If true, preview URLs are enabled for this version.
              },
              "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.
              },
              "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.
              },
              "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
              "createTime": "A String", # Output only. The time at which the version was created.
              "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.
              "labels": { # The labels used for extra metadata and/or filtering.
                "a_key": "A String",
              },
              "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](/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
                "appAssociation": "A String", # How to handle well known App Association 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`](/docs/hosting/full-config#headers) is an object that specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                    "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.
                    "glob": "A String", # The user-supplied [glob](/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                  },
                ],
                "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
                "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the 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`](/docs/hosting/full-config#redirects) object 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](/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.
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                  },
                ],
                "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`](/docs/hosting/full-config#rewrites) object 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.
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                    "glob": "A String", # The user-supplied [glob](/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.
                    "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.
                      "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                      "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                    },
                    "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.
                  },
                ],
              },
              "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
            },
            "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
            "releaseTime": "A String", # Output only. The time at which the version is set to be public.
            "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.
            "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.
          },
          "url": "A String", # Output only. The URL at which the channel can be viewed. For the `live` channel, the content of the current release may also be visible at other URLs.
          "retainedReleaseCount": 42, # The number of previous releases to retain on the channel for rollback or other purposes. Must be a number between 1-100. Defaults to 10 for new channels.
          "expireTime": "A String", # The time at which the channel will be automatically deleted. If null, the channel will not be automatically deleted. This field is present in output whether set directly or via the `ttl` field.
          "name": "A String", # The fully-qualified identifier of the Channel.
          "createTime": "A String", # Output only. The time at which the channel was created.
          "updateTime": "A String", # Output only. The time at which the channel was last updated.
          "labels": { # Text labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "ttl": "A String", # Input only. A time-to-live for this channel. Sets `expire_time` to the provided duration past the time of the request.
        }