# Firebase Hosting API . projects . sites . channels

## Instance Methods

Returns the releases Resource.

Close httplib2 connections.

Creates a new channel in the specified site.

Deletes the specified channel of the specified site. The `live` channel cannot be deleted.

Retrieves information for the specified channel of the specified 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 the specified site. Implicitly creates the channel if it doesn't already 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 to create this channel, in the format: sites/ SITE_ID (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 Firebase-provided subdomains and any connected custom domains.
      "createTime": "A String", # Output only. The time at which the channel was created.
      "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 the output whether it's set directly or via the `ttl` field.
      "labels": { # Text labels used for extra metadata and/or filtering.
        "a_key": "A String",
      },
      "name": "A String", # The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID
      "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.
        "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
        "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
        "releaseTime": "A String", # Output only. The time at which the version is set to be public.
        "releaseUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the release.
          "email": "A String", # The email address of the user when the user performed the action.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
        },
        "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
        "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
          "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
            "appAssociation": "A String", # How to handle well known App Association files.
            "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
            "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
              { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "headers": { # Required. The additional headers to add to the response.
                  "a_key": "A String",
                },
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
              },
            ],
            "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
              "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
            },
            "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
              { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "location": "A String", # Required. The value to put in the HTTP location header of the response. The location can contain capture group values from the pattern using a `:` prefix to identify the segment and an optional `*` to capture the rest of the URL. For example: "glob": "/:capture*", "statusCode": 301, "location": "https://example.com/foo/:capture"
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
              },
            ],
            "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
              { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
                "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
                "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
                "functionRegion": "A String", # Optional. Specify a Cloud region for rewritten Functions invocations. If not provided, defaults to us-central1.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "path": "A String", # The URL path to rewrite the request to.
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "run": { # A configured rewrite that directs requests to a Cloud Run service. If the Cloud Run service does not exist when setting or updating your Firebase Hosting configuration, then the request fails. Any errors from the Cloud Run service are passed to the end user (for example, if you delete a service, any requests directed to that service receive a `404` error). # The request will be forwarded to Cloud Run.
                  "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                  "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                },
              },
            ],
            "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
          },
          "createTime": "A String", # Output only. The time at which the version was created.
          "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
          "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
          "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
          "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "labels": { # The labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
          "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) to make a new version (`CREATED` status), [upload all desired files](sites.versions/populateFiles) to the version, then [update](sites.versions/patch) the version to the `FINALIZED` status. Note that if you leave the version in the `CREATED` state for more than 12 hours, the system will automatically mark the version as `ABANDONED`. You can also change the status of a version to `DELETED` by calling [`DeleteVersion`](sites.versions/delete).
          "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
        },
      },
      "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.
      "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.
      "updateTime": "A String", # Output only. The time at which the channel was last updated.
      "url": "A String", # Output only. The URL at which the content of this channel's current release can be viewed. This URL is a Firebase-provided subdomain of `web.app`. The content of this channel's current release can also be viewed at the Firebase-provided subdomain of `firebaseapp.com`. If this channel is the `live` channel for the Hosting site, then the content of this channel's current release can also be viewed at any connected custom domains.
    }

      channelId: string, Required. Immutable. A unique ID within the site that identifies 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 Firebase-provided subdomains and any connected custom domains.
      "createTime": "A String", # Output only. The time at which the channel was created.
      "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 the output whether it's set directly or via the `ttl` field.
      "labels": { # Text labels used for extra metadata and/or filtering.
        "a_key": "A String",
      },
      "name": "A String", # The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID
      "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.
        "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
        "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
        "releaseTime": "A String", # Output only. The time at which the version is set to be public.
        "releaseUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the release.
          "email": "A String", # The email address of the user when the user performed the action.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
        },
        "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
        "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
          "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
            "appAssociation": "A String", # How to handle well known App Association files.
            "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
            "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
              { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "headers": { # Required. The additional headers to add to the response.
                  "a_key": "A String",
                },
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
              },
            ],
            "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
              "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
            },
            "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
              { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "location": "A String", # Required. The value to put in the HTTP location header of the response. The location can contain capture group values from the pattern using a `:` prefix to identify the segment and an optional `*` to capture the rest of the URL. For example: "glob": "/:capture*", "statusCode": 301, "location": "https://example.com/foo/:capture"
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
              },
            ],
            "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
              { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
                "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
                "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
                "functionRegion": "A String", # Optional. Specify a Cloud region for rewritten Functions invocations. If not provided, defaults to us-central1.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "path": "A String", # The URL path to rewrite the request to.
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "run": { # A configured rewrite that directs requests to a Cloud Run service. If the Cloud Run service does not exist when setting or updating your Firebase Hosting configuration, then the request fails. Any errors from the Cloud Run service are passed to the end user (for example, if you delete a service, any requests directed to that service receive a `404` error). # The request will be forwarded to Cloud Run.
                  "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                  "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                },
              },
            ],
            "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
          },
          "createTime": "A String", # Output only. The time at which the version was created.
          "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
          "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
          "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
          "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "labels": { # The labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
          "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) to make a new version (`CREATED` status), [upload all desired files](sites.versions/populateFiles) to the version, then [update](sites.versions/patch) the version to the `FINALIZED` status. Note that if you leave the version in the `CREATED` state for more than 12 hours, the system will automatically mark the version as `ABANDONED`. You can also change the status of a version to `DELETED` by calling [`DeleteVersion`](sites.versions/delete).
          "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
        },
      },
      "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.
      "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.
      "updateTime": "A String", # Output only. The time at which the channel was last updated.
      "url": "A String", # Output only. The URL at which the content of this channel's current release can be viewed. This URL is a Firebase-provided subdomain of `web.app`. The content of this channel's current release can also be viewed at the Firebase-provided subdomain of `firebaseapp.com`. If this channel is the `live` channel for the Hosting site, then the content of this channel's current release can also be viewed at any connected custom domains.
    }

`delete(name, x__xgafv=None)`

    Deletes the specified channel of the specified site. The `live` channel cannot be deleted.

    Args:
      name: string, Required. The fully-qualified resource name for the channel, in the format: sites/SITE_ID/channels/CHANNEL_ID (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
    }

`get(name, x__xgafv=None)`

    Retrieves information for the specified channel of the specified site.

    Args:
      name: string, Required. The fully-qualified resource name for the channel, in the format: sites/SITE_ID/channels/CHANNEL_ID (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A `Channel` represents a stream of releases for a site. All sites have a default `live` channel that serves content to the Firebase-provided subdomains and any connected custom domains.
      "createTime": "A String", # Output only. The time at which the channel was created.
      "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 the output whether it's set directly or via the `ttl` field.
      "labels": { # Text labels used for extra metadata and/or filtering.
        "a_key": "A String",
      },
      "name": "A String", # The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID
      "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.
        "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
        "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
        "releaseTime": "A String", # Output only. The time at which the version is set to be public.
        "releaseUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the release.
          "email": "A String", # The email address of the user when the user performed the action.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
        },
        "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
        "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
          "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
            "appAssociation": "A String", # How to handle well known App Association files.
            "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
            "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
              { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "headers": { # Required. The additional headers to add to the response.
                  "a_key": "A String",
                },
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
              },
            ],
            "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
              "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
            },
            "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
              { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "location": "A String", # Required. The value to put in the HTTP location header of the response. The location can contain capture group values from the pattern using a `:` prefix to identify the segment and an optional `*` to capture the rest of the URL. For example: "glob": "/:capture*", "statusCode": 301, "location": "https://example.com/foo/:capture"
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
              },
            ],
            "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
              { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
                "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
                "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
                "functionRegion": "A String", # Optional. Specify a Cloud region for rewritten Functions invocations. If not provided, defaults to us-central1.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "path": "A String", # The URL path to rewrite the request to.
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "run": { # A configured rewrite that directs requests to a Cloud Run service. If the Cloud Run service does not exist when setting or updating your Firebase Hosting configuration, then the request fails. Any errors from the Cloud Run service are passed to the end user (for example, if you delete a service, any requests directed to that service receive a `404` error). # The request will be forwarded to Cloud Run.
                  "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                  "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                },
              },
            ],
            "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
          },
          "createTime": "A String", # Output only. The time at which the version was created.
          "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
          "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
          "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
          "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "labels": { # The labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
          "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) to make a new version (`CREATED` status), [upload all desired files](sites.versions/populateFiles) to the version, then [update](sites.versions/patch) the version to the `FINALIZED` status. Note that if you leave the version in the `CREATED` state for more than 12 hours, the system will automatically mark the version as `ABANDONED`. You can also change the status of a version to `DELETED` by calling [`DeleteVersion`](sites.versions/delete).
          "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
        },
      },
      "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.
      "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.
      "updateTime": "A String", # Output only. The time at which the channel was last updated.
      "url": "A String", # Output only. The URL at which the content of this channel's current release can be viewed. This URL is a Firebase-provided subdomain of `web.app`. The content of this channel's current release can also be viewed at the Firebase-provided subdomain of `firebaseapp.com`. If this channel is the `live` channel for the Hosting site, then the content of this channel's current release can also be viewed at any connected custom domains.
    }

`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 for which to list channels, in the format: sites/SITE_ID (required)
      pageSize: integer, The maximum number of channels to return. The service may return a lower number if fewer channels exist than this maximum number. If unspecified, defaults to 10. The maximum value is 100; values above 100 will be coerced to 100.
      pageToken: string, A token from a previous call to `ListChannels` that tells the server where to resume listing.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
      "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 Firebase-provided subdomains and any connected custom domains.
          "createTime": "A String", # Output only. The time at which the channel was created.
          "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 the output whether it's set directly or via the `ttl` field.
          "labels": { # Text labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "name": "A String", # The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID
          "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.
            "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
            "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
            "releaseTime": "A String", # Output only. The time at which the version is set to be public.
            "releaseUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the release.
              "email": "A String", # The email address of the user when the user performed the action.
              "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
            },
            "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
            "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
              "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
                "appAssociation": "A String", # How to handle well known App Association files.
                "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
                "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                  { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                    "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                    "headers": { # Required. The additional headers to add to the response.
                      "a_key": "A String",
                    },
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                  },
                ],
                "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
                  "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
                },
                "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
                  { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
                    "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                    "location": "A String", # Required. The value to put in the HTTP location header of the response. The location can contain capture group values from the pattern using a `:` prefix to identify the segment and an optional `*` to capture the rest of the URL. For example: "glob": "/:capture*", "statusCode": 301, "location": "https://example.com/foo/:capture"
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                    "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
                  },
                ],
                "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
                  { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
                    "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
                    "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
                    "functionRegion": "A String", # Optional. Specify a Cloud region for rewritten Functions invocations. If not provided, defaults to us-central1.
                    "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                    "path": "A String", # The URL path to rewrite the request to.
                    "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                    "run": { # A configured rewrite that directs requests to a Cloud Run service. If the Cloud Run service does not exist when setting or updating your Firebase Hosting configuration, then the request fails. Any errors from the Cloud Run service are passed to the end user (for example, if you delete a service, any requests directed to that service receive a `404` error). # The request will be forwarded to Cloud Run.
                      "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                      "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                    },
                  },
                ],
                "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
              },
              "createTime": "A String", # Output only. The time at which the version was created.
              "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
                "email": "A String", # The email address of the user when the user performed the action.
                "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
              },
              "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
              "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
                "email": "A String", # The email address of the user when the user performed the action.
                "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
              },
              "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
              "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
              "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
                "email": "A String", # The email address of the user when the user performed the action.
                "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
              },
              "labels": { # The labels used for extra metadata and/or filtering.
                "a_key": "A String",
              },
              "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
              "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) to make a new version (`CREATED` status), [upload all desired files](sites.versions/populateFiles) to the version, then [update](sites.versions/patch) the version to the `FINALIZED` status. Note that if you leave the version in the `CREATED` state for more than 12 hours, the system will automatically mark the version as `ABANDONED`. You can also change the status of a version to `DELETED` by calling [`DeleteVersion`](sites.versions/delete).
              "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
            },
          },
          "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.
          "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.
          "updateTime": "A String", # Output only. The time at which the channel was last updated.
          "url": "A String", # Output only. The URL at which the content of this channel's current release can be viewed. This URL is a Firebase-provided subdomain of `web.app`. The content of this channel's current release can also be viewed at the Firebase-provided subdomain of `firebaseapp.com`. If this channel is the `live` channel for the Hosting site, then the content of this channel's current release can also be viewed at any connected custom domains.
        },
      ],
      "nextPageToken": "A String", # The pagination token, if more results exist beyond the ones in this response. Include this token in your next call to `ListChannels`. Page tokens are short-lived and should not be stored.
    }

`list_next()`

    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 the specified site. Implicitly creates the channel if it doesn't already exist.

    Args:
      name: string, The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID (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 Firebase-provided subdomains and any connected custom domains.
      "createTime": "A String", # Output only. The time at which the channel was created.
      "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 the output whether it's set directly or via the `ttl` field.
      "labels": { # Text labels used for extra metadata and/or filtering.
        "a_key": "A String",
      },
      "name": "A String", # The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID
      "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.
        "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
        "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
        "releaseTime": "A String", # Output only. The time at which the version is set to be public.
        "releaseUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the release.
          "email": "A String", # The email address of the user when the user performed the action.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
        },
        "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
        "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
          "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
            "appAssociation": "A String", # How to handle well known App Association files.
            "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
            "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
              { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "headers": { # Required. The additional headers to add to the response.
                  "a_key": "A String",
                },
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
              },
            ],
            "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
              "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
            },
            "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
              { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "location": "A String", # Required. The value to put in the HTTP location header of the response. The location can contain capture group values from the pattern using a `:` prefix to identify the segment and an optional `*` to capture the rest of the URL. For example: "glob": "/:capture*", "statusCode": 301, "location": "https://example.com/foo/:capture"
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
              },
            ],
            "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
              { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
                "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
                "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
                "functionRegion": "A String", # Optional. Specify a Cloud region for rewritten Functions invocations. If not provided, defaults to us-central1.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "path": "A String", # The URL path to rewrite the request to.
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "run": { # A configured rewrite that directs requests to a Cloud Run service. If the Cloud Run service does not exist when setting or updating your Firebase Hosting configuration, then the request fails. Any errors from the Cloud Run service are passed to the end user (for example, if you delete a service, any requests directed to that service receive a `404` error). # The request will be forwarded to Cloud Run.
                  "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                  "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                },
              },
            ],
            "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
          },
          "createTime": "A String", # Output only. The time at which the version was created.
          "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
          "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
          "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
          "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "labels": { # The labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
          "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) to make a new version (`CREATED` status), [upload all desired files](sites.versions/populateFiles) to the version, then [update](sites.versions/patch) the version to the `FINALIZED` status. Note that if you leave the version in the `CREATED` state for more than 12 hours, the system will automatically mark the version as `ABANDONED`. You can also change the status of a version to `DELETED` by calling [`DeleteVersion`](sites.versions/delete).
          "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
        },
      },
      "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.
      "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.
      "updateTime": "A String", # Output only. The time at which the channel was last updated.
      "url": "A String", # Output only. The URL at which the content of this channel's current release can be viewed. This URL is a Firebase-provided subdomain of `web.app`. The content of this channel's current release can also be viewed at the Firebase-provided subdomain of `firebaseapp.com`. If this channel is the `live` channel for the Hosting site, then the content of this channel's current release can also be viewed at any connected custom domains.
    }

      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 Firebase-provided subdomains and any connected custom domains.
      "createTime": "A String", # Output only. The time at which the channel was created.
      "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 the output whether it's set directly or via the `ttl` field.
      "labels": { # Text labels used for extra metadata and/or filtering.
        "a_key": "A String",
      },
      "name": "A String", # The fully-qualified resource name for the channel, in the format: sites/ SITE_ID/channels/CHANNEL_ID
      "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.
        "message": "A String", # The deploy description when the release was created. The value can be up to 512 characters.
        "name": "A String", # Output only. The unique identifier for the release, in either of the following formats: - sites/SITE_ID/releases/RELEASE_ID - sites/SITE_ID/channels/CHANNEL_ID/releases/RELEASE_ID This name is provided in the response body when you call [`releases.create`](sites.releases/create) or [`channels.releases.create`](sites.channels.releases/create).
        "releaseTime": "A String", # Output only. The time at which the version is set to be public.
        "releaseUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the release.
          "email": "A String", # The email address of the user when the user performed the action.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
        },
        "type": "A String", # Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
        "version": { # A `Version` is a configuration and a collection of static files which determine how a site is displayed. # Output only. The configuration and content that was released.
          "config": { # The configuration for how incoming requests to a site should be routed and processed before serving content. The URL request paths are matched against the specified URL patterns in the configuration, then Hosting applies the applicable configuration according to a specific [priority order](https://firebase.google.com/docs/hosting/full-config#hosting_priority_order). # The configuration for the behavior of the site. This configuration exists in the [`firebase.json`](https://firebase.google.com/docs/cli/#the_firebasejson_file) file.
            "appAssociation": "A String", # How to handle well known App Association files.
            "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
            "headers": [ # An array of objects, where each object specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
              { # A [`Header`](https://firebase.google.com/docs/hosting/full-config#headers) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to apply the specified custom response headers.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "headers": { # Required. The additional headers to add to the response.
                  "a_key": "A String",
                },
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
              },
            ],
            "i18n": { # If provided, i18n rewrites are enabled. # Optional. Defines i18n rewrite behavior.
              "root": "A String", # Required. The user-supplied path where country and language specific content will be looked for within the public directory.
            },
            "redirects": [ # An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
              { # A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "location": "A String", # Required. The value to put in the HTTP location header of the response. The location can contain capture group values from the pattern using a `:` prefix to identify the segment and an optional `*` to capture the rest of the URL. For example: "glob": "/:capture*", "statusCode": 301, "location": "https://example.com/foo/:capture"
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a valid 3xx status code.
              },
            ],
            "rewrites": [ # An array of objects (called rewrite rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
              { # A [`Rewrite`](https://firebase.google.com/docs/hosting/full-config#rewrites) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
                "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
                "function": "A String", # The function to proxy requests to. Must match the exported function name exactly.
                "functionRegion": "A String", # Optional. Specify a Cloud region for rewritten Functions invocations. If not provided, defaults to us-central1.
                "glob": "A String", # The user-supplied [glob](https://firebase.google.com/docs/hosting/full-config#glob_pattern_matching) to match against the request URL path.
                "path": "A String", # The URL path to rewrite the request to.
                "regex": "A String", # The user-supplied RE2 regular expression to match against the request URL path.
                "run": { # A configured rewrite that directs requests to a Cloud Run service. If the Cloud Run service does not exist when setting or updating your Firebase Hosting configuration, then the request fails. Any errors from the Cloud Run service are passed to the end user (for example, if you delete a service, any requests directed to that service receive a `404` error). # The request will be forwarded to Cloud Run.
                  "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted. Defaults to `us-central1` if not supplied.
                  "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
                },
              },
            ],
            "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
          },
          "createTime": "A String", # Output only. The time at which the version was created.
          "createUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who created the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
          "deleteUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `DELETED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "fileCount": "A String", # Output only. The total number of files associated with the version. This value is calculated after a version is `FINALIZED`.
          "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
          "finalizeUser": { # Contains metadata about the user who performed an action, such as creating a release or finalizing a version. # Output only. Identifies the user who `FINALIZED` the version.
            "email": "A String", # The email address of the user when the user performed the action.
            "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has changed their email address or deleted their account.
          },
          "labels": { # The labels used for extra metadata and/or filtering.
            "a_key": "A String",
          },
          "name": "A String", # The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).
          "status": "A String", # The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) to make a new version (`CREATED` status), [upload all desired files](sites.versions/populateFiles) to the version, then [update](sites.versions/patch) the version to the `FINALIZED` status. Note that if you leave the version in the `CREATED` state for more than 12 hours, the system will automatically mark the version as `ABANDONED`. You can also change the status of a version to `DELETED` by calling [`DeleteVersion`](sites.versions/delete).
          "versionBytes": "A String", # Output only. The total stored bytesize of the version. This value is calculated after a version is `FINALIZED`.
        },
      },
      "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.
      "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.
      "updateTime": "A String", # Output only. The time at which the channel was last updated.
      "url": "A String", # Output only. The URL at which the content of this channel's current release can be viewed. This URL is a Firebase-provided subdomain of `web.app`. The content of this channel's current release can also be viewed at the Firebase-provided subdomain of `firebaseapp.com`. If this channel is the `live` channel for the Hosting site, then the content of this channel's current release can also be viewed at any connected custom domains.
    }