Firebase Hosting API . sites . versions

Instance Methods

files()

Returns the files Resource.

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

Creates a new version for a site.

delete(name=None, x__xgafv=None)

Deletes the specified version.

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

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

list_next(previous_request=*, previous_response=*)

Retrieves the next page of results.

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

Updates the specified metadata for a version. Note that this method will

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

Adds content files to a version.

Method Details

create(parent=None, body=None, versionId=None, x__xgafv=None, sizeBytes=None)
Creates a new version for a site.

Args:
  parent: string, Required. The parent to create the version for, in the format:
<code>sites/<var>site-name</var></code> (required)
  body: object, The request body.
    The object takes the form of:

{ # A `Version` is the collection of configuration and
    # [static files](sites.versions.files) that determine how a site is displayed.
  "status": "A String", # The deploy status of a version.
      # <br>
      # <br>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.
      # <br>
      # <br>Note that if you leave the version in the `CREATED` state for more
      # than 12&nbsp;hours, the system will automatically mark the version as
      # `ABANDONED`.
      # <br>
      # <br>You can also change the status of a version to `DELETED` by calling the
      # [`DeleteVersion`](sites.versions/delete) endpoint.
  "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version.
      # a release or finalizing a version.
    "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
        # changed their email address or deleted their account.
    "email": "A String", # The email address of the user when the user performed the action.
  },
  "name": "A String", # The unique identifier for a version, in the format:
      # <code>sites/<var>site-name</var>/versions/<var>versionID</var></code>
      # This name is provided in the response body when you call the
      # [`CreateVersion`](../sites.versions/create) endpoint.
  "versionBytes": "A String", # Output only. The total stored bytesize of the version.
      # <br>This value is calculated after a version is `FINALIZED`.
  "labels": { # The labels used for extra metadata and/or filtering.
    "a_key": "A String",
  },
  "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version.
      # a release or finalizing a version.
    "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
        # changed their email address or deleted their account.
    "email": "A String", # The email address of the user when the user performed the action.
  },
  "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
  "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
  "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version.
      # a release or finalizing a version.
    "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
        # changed their email address or deleted their account.
    "email": "A String", # The email address of the user when the user performed the action.
  },
  "preview": { # Version preview configuration. If active and unexpired, # 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.
      # this version will be accessible via a custom URL even
      # if it is not the currently released version.
    "active": True or False, # If true, preview URLs are enabled for this version.
    "expireTime": "A String", # Indicates the expiration time for previewing this
        # version; preview URL requests received after this time will 404.
  },
  "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists
      # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
      # processed before serving content. The patterns are matched and applied
      # according to a specific
      # [priority order](/docs/hosting/full-config#hosting_priority_order).
    "redirects": [ # A list of globs that will cause the response to redirect to another
        # location.
      { # A [`redirect`](/docs/hosting/full-config#redirects) represents the
          # configuration for returning an HTTP redirect response given a matching
          # request URL path.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request
            # URL path.
        "glob": "A String", # The user-supplied [glob
            # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
            # against the request URL path.
        "location": "A String", # Required. The value to put in the HTTP location header of the response.
            # <br>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:
            # <code>"glob": "/:capture*",
            # <br>"statusCode": 301,
            # <br>"location": "https://example.com/foo/:capture"</code>
        "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a
            # valid 3xx status code.
      },
    ],
    "appAssociation": "A String", # How to handle well known App Association files.
    "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
    "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
    "headers": [ # A list of custom response headers that are added to the content if the
        # request URL path matches the glob.
      { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to
          # add to a response should the request URL path match the pattern.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request
            # URL path.
        "headers": { # Required. The additional headers to add to the response.
          "a_key": "A String",
        },
        "glob": "A String", # The user-supplied [glob
            # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
            # against the request URL path.
      },
    ],
    "rewrites": [ # A list of rewrites that will act as if the service were given the
        # destination URL.
      { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal
          # content rewrite on the version. If the pattern matches, the request will be
          # handled as if it were to the destination path specified in the
          # configuration.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request
            # URL path.
        "function": "A String", # The function to proxy requests to. Must match the exported function
            # name exactly.
        "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run.
            # Cloud Run service does not exist when setting or updating your Firebase
            # Hosting configuration, then the request fails. Any errors from the Cloud Run
            # service are passed to the end user (for example, if you delete a service, any
            # requests directed to that service receive a `404` error).
          "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.<br>
              # Defaults to `us-central1` if not supplied.
          "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
        },
        "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
        "path": "A String", # The URL path to rewrite the request to.
        "glob": "A String", # The user-supplied [glob
            # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
            # against the request URL path.
      },
    ],
  },
  "createTime": "A String", # Output only. The time at which the version was created.
  "fileCount": "A String", # Output only. The total number of files associated with the version.
      # <br>This value is calculated after a version is `FINALIZED`.
}

  versionId: string, A unique id for the new version. This is only specified for legacy version
creations.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  sizeBytes: string, The self-reported size of the version. This value is used for a pre-emptive
quota check for legacy version uploads.

Returns:
  An object of the form:

    { # A `Version` is the collection of configuration and
      # [static files](sites.versions.files) that determine how a site is displayed.
    "status": "A String", # The deploy status of a version.
        # <br>
        # <br>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.
        # <br>
        # <br>Note that if you leave the version in the `CREATED` state for more
        # than 12&nbsp;hours, the system will automatically mark the version as
        # `ABANDONED`.
        # <br>
        # <br>You can also change the status of a version to `DELETED` by calling the
        # [`DeleteVersion`](sites.versions/delete) endpoint.
    "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version.
        # a release or finalizing a version.
      "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
          # changed their email address or deleted their account.
      "email": "A String", # The email address of the user when the user performed the action.
    },
    "name": "A String", # The unique identifier for a version, in the format:
        # <code>sites/<var>site-name</var>/versions/<var>versionID</var></code>
        # This name is provided in the response body when you call the
        # [`CreateVersion`](../sites.versions/create) endpoint.
    "versionBytes": "A String", # Output only. The total stored bytesize of the version.
        # <br>This value is calculated after a version is `FINALIZED`.
    "labels": { # The labels used for extra metadata and/or filtering.
      "a_key": "A String",
    },
    "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version.
        # a release or finalizing a version.
      "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
          # changed their email address or deleted their account.
      "email": "A String", # The email address of the user when the user performed the action.
    },
    "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
    "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
    "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version.
        # a release or finalizing a version.
      "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
          # changed their email address or deleted their account.
      "email": "A String", # The email address of the user when the user performed the action.
    },
    "preview": { # Version preview configuration. If active and unexpired, # 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.
        # this version will be accessible via a custom URL even
        # if it is not the currently released version.
      "active": True or False, # If true, preview URLs are enabled for this version.
      "expireTime": "A String", # Indicates the expiration time for previewing this
          # version; preview URL requests received after this time will 404.
    },
    "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists
        # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
        # processed before serving content. The patterns are matched and applied
        # according to a specific
        # [priority order](/docs/hosting/full-config#hosting_priority_order).
      "redirects": [ # A list of globs that will cause the response to redirect to another
          # location.
        { # A [`redirect`](/docs/hosting/full-config#redirects) represents the
            # configuration for returning an HTTP redirect response given a matching
            # request URL path.
          "regex": "A String", # The user-supplied RE2 regular expression to match against the request
              # URL path.
          "glob": "A String", # The user-supplied [glob
              # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
              # against the request URL path.
          "location": "A String", # Required. The value to put in the HTTP location header of the response.
              # <br>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:
              # <code>"glob": "/:capture*",
              # <br>"statusCode": 301,
              # <br>"location": "https://example.com/foo/:capture"</code>
          "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a
              # valid 3xx status code.
        },
      ],
      "appAssociation": "A String", # How to handle well known App Association files.
      "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
      "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
      "headers": [ # A list of custom response headers that are added to the content if the
          # request URL path matches the glob.
        { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to
            # add to a response should the request URL path match the pattern.
          "regex": "A String", # The user-supplied RE2 regular expression to match against the request
              # URL path.
          "headers": { # Required. The additional headers to add to the response.
            "a_key": "A String",
          },
          "glob": "A String", # The user-supplied [glob
              # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
              # against the request URL path.
        },
      ],
      "rewrites": [ # A list of rewrites that will act as if the service were given the
          # destination URL.
        { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal
            # content rewrite on the version. If the pattern matches, the request will be
            # handled as if it were to the destination path specified in the
            # configuration.
          "regex": "A String", # The user-supplied RE2 regular expression to match against the request
              # URL path.
          "function": "A String", # The function to proxy requests to. Must match the exported function
              # name exactly.
          "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run.
              # Cloud Run service does not exist when setting or updating your Firebase
              # Hosting configuration, then the request fails. Any errors from the Cloud Run
              # service are passed to the end user (for example, if you delete a service, any
              # requests directed to that service receive a `404` error).
            "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.<br>
                # Defaults to `us-central1` if not supplied.
            "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
          },
          "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
          "path": "A String", # The URL path to rewrite the request to.
          "glob": "A String", # The user-supplied [glob
              # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
              # against the request URL path.
        },
      ],
    },
    "createTime": "A String", # Output only. The time at which the version was created.
    "fileCount": "A String", # Output only. The total number of files associated with the version.
        # <br>This value is calculated after a version is `FINALIZED`.
  }
delete(name=None, x__xgafv=None)
Deletes the specified version.

Args:
  name: string, Required. The name of the version to be deleted, in the format:
<code>sites/<var>site-name</var>/versions/<var>versionID</var></code> (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
list(parent=None, pageSize=None, pageToken=None, x__xgafv=None, filter=None)
Lists the versions that have been created on the specified site.
Will include filtering in the future.

Args:
  parent: string, Required. The parent for which to list files, in the format:
<code>sites/<var>site-name</var></code> (required)
  pageSize: integer, The maximum number of versions to return. The service may return fewer than
this value.
If unspecified, at most 25 versions will be returned.
The maximum value is 100; values 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
  filter: string, The filter string used to return a subset of versions in the response.
Currently supported fields for filtering are: name, status,
and create_time. Filter processing will be implemented in accordance
with go/filtering.

Returns:
  An object of the form:

    { # The response when listing Versions.
    "nextPageToken": "A String", # The pagination token, if more results exist
    "versions": [ # The list of versions, if any exist.
      { # A `Version` is the collection of configuration and
          # [static files](sites.versions.files) that determine how a site is displayed.
        "status": "A String", # The deploy status of a version.
            # <br>
            # <br>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.
            # <br>
            # <br>Note that if you leave the version in the `CREATED` state for more
            # than 12&nbsp;hours, the system will automatically mark the version as
            # `ABANDONED`.
            # <br>
            # <br>You can also change the status of a version to `DELETED` by calling the
            # [`DeleteVersion`](sites.versions/delete) endpoint.
        "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version.
            # a release or finalizing a version.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
              # changed their email address or deleted their account.
          "email": "A String", # The email address of the user when the user performed the action.
        },
        "name": "A String", # The unique identifier for a version, in the format:
            # <code>sites/<var>site-name</var>/versions/<var>versionID</var></code>
            # This name is provided in the response body when you call the
            # [`CreateVersion`](../sites.versions/create) endpoint.
        "versionBytes": "A String", # Output only. The total stored bytesize of the version.
            # <br>This value is calculated after a version is `FINALIZED`.
        "labels": { # The labels used for extra metadata and/or filtering.
          "a_key": "A String",
        },
        "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version.
            # a release or finalizing a version.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
              # changed their email address or deleted their account.
          "email": "A String", # The email address of the user when the user performed the action.
        },
        "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
        "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
        "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version.
            # a release or finalizing a version.
          "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
              # changed their email address or deleted their account.
          "email": "A String", # The email address of the user when the user performed the action.
        },
        "preview": { # Version preview configuration. If active and unexpired, # 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.
            # this version will be accessible via a custom URL even
            # if it is not the currently released version.
          "active": True or False, # If true, preview URLs are enabled for this version.
          "expireTime": "A String", # Indicates the expiration time for previewing this
              # version; preview URL requests received after this time will 404.
        },
        "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists
            # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
            # processed before serving content. The patterns are matched and applied
            # according to a specific
            # [priority order](/docs/hosting/full-config#hosting_priority_order).
          "redirects": [ # A list of globs that will cause the response to redirect to another
              # location.
            { # A [`redirect`](/docs/hosting/full-config#redirects) represents the
                # configuration for returning an HTTP redirect response given a matching
                # request URL path.
              "regex": "A String", # The user-supplied RE2 regular expression to match against the request
                  # URL path.
              "glob": "A String", # The user-supplied [glob
                  # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
                  # against the request URL path.
              "location": "A String", # Required. The value to put in the HTTP location header of the response.
                  # <br>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:
                  # <code>"glob": "/:capture*",
                  # <br>"statusCode": 301,
                  # <br>"location": "https://example.com/foo/:capture"</code>
              "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a
                  # valid 3xx status code.
            },
          ],
          "appAssociation": "A String", # How to handle well known App Association files.
          "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
          "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
          "headers": [ # A list of custom response headers that are added to the content if the
              # request URL path matches the glob.
            { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to
                # add to a response should the request URL path match the pattern.
              "regex": "A String", # The user-supplied RE2 regular expression to match against the request
                  # URL path.
              "headers": { # Required. The additional headers to add to the response.
                "a_key": "A String",
              },
              "glob": "A String", # The user-supplied [glob
                  # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
                  # against the request URL path.
            },
          ],
          "rewrites": [ # A list of rewrites that will act as if the service were given the
              # destination URL.
            { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal
                # content rewrite on the version. If the pattern matches, the request will be
                # handled as if it were to the destination path specified in the
                # configuration.
              "regex": "A String", # The user-supplied RE2 regular expression to match against the request
                  # URL path.
              "function": "A String", # The function to proxy requests to. Must match the exported function
                  # name exactly.
              "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run.
                  # Cloud Run service does not exist when setting or updating your Firebase
                  # Hosting configuration, then the request fails. Any errors from the Cloud Run
                  # service are passed to the end user (for example, if you delete a service, any
                  # requests directed to that service receive a `404` error).
                "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.<br>
                    # Defaults to `us-central1` if not supplied.
                "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
              },
              "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
              "path": "A String", # The URL path to rewrite the request to.
              "glob": "A String", # The user-supplied [glob
                  # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
                  # against the request URL path.
            },
          ],
        },
        "createTime": "A String", # Output only. The time at which the version was created.
        "fileCount": "A String", # Output only. The total number of files associated with the version.
            # <br>This value is calculated after a version is `FINALIZED`.
      },
    ],
  }
list_next(previous_request=*, previous_response=*)
Retrieves the next page of results.

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

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

Args:
  name: string, The unique identifier for a version, in the format:
<code>sites/<var>site-name</var>/versions/<var>versionID</var></code>
This name is provided in the response body when you call the
[`CreateVersion`](../sites.versions/create) endpoint. (required)
  body: object, The request body.
    The object takes the form of:

{ # A `Version` is the collection of configuration and
    # [static files](sites.versions.files) that determine how a site is displayed.
  "status": "A String", # The deploy status of a version.
      # <br>
      # <br>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.
      # <br>
      # <br>Note that if you leave the version in the `CREATED` state for more
      # than 12&nbsp;hours, the system will automatically mark the version as
      # `ABANDONED`.
      # <br>
      # <br>You can also change the status of a version to `DELETED` by calling the
      # [`DeleteVersion`](sites.versions/delete) endpoint.
  "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version.
      # a release or finalizing a version.
    "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
        # changed their email address or deleted their account.
    "email": "A String", # The email address of the user when the user performed the action.
  },
  "name": "A String", # The unique identifier for a version, in the format:
      # <code>sites/<var>site-name</var>/versions/<var>versionID</var></code>
      # This name is provided in the response body when you call the
      # [`CreateVersion`](../sites.versions/create) endpoint.
  "versionBytes": "A String", # Output only. The total stored bytesize of the version.
      # <br>This value is calculated after a version is `FINALIZED`.
  "labels": { # The labels used for extra metadata and/or filtering.
    "a_key": "A String",
  },
  "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version.
      # a release or finalizing a version.
    "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
        # changed their email address or deleted their account.
    "email": "A String", # The email address of the user when the user performed the action.
  },
  "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
  "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
  "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version.
      # a release or finalizing a version.
    "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
        # changed their email address or deleted their account.
    "email": "A String", # The email address of the user when the user performed the action.
  },
  "preview": { # Version preview configuration. If active and unexpired, # 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.
      # this version will be accessible via a custom URL even
      # if it is not the currently released version.
    "active": True or False, # If true, preview URLs are enabled for this version.
    "expireTime": "A String", # Indicates the expiration time for previewing this
        # version; preview URL requests received after this time will 404.
  },
  "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists
      # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
      # processed before serving content. The patterns are matched and applied
      # according to a specific
      # [priority order](/docs/hosting/full-config#hosting_priority_order).
    "redirects": [ # A list of globs that will cause the response to redirect to another
        # location.
      { # A [`redirect`](/docs/hosting/full-config#redirects) represents the
          # configuration for returning an HTTP redirect response given a matching
          # request URL path.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request
            # URL path.
        "glob": "A String", # The user-supplied [glob
            # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
            # against the request URL path.
        "location": "A String", # Required. The value to put in the HTTP location header of the response.
            # <br>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:
            # <code>"glob": "/:capture*",
            # <br>"statusCode": 301,
            # <br>"location": "https://example.com/foo/:capture"</code>
        "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a
            # valid 3xx status code.
      },
    ],
    "appAssociation": "A String", # How to handle well known App Association files.
    "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
    "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
    "headers": [ # A list of custom response headers that are added to the content if the
        # request URL path matches the glob.
      { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to
          # add to a response should the request URL path match the pattern.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request
            # URL path.
        "headers": { # Required. The additional headers to add to the response.
          "a_key": "A String",
        },
        "glob": "A String", # The user-supplied [glob
            # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
            # against the request URL path.
      },
    ],
    "rewrites": [ # A list of rewrites that will act as if the service were given the
        # destination URL.
      { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal
          # content rewrite on the version. If the pattern matches, the request will be
          # handled as if it were to the destination path specified in the
          # configuration.
        "regex": "A String", # The user-supplied RE2 regular expression to match against the request
            # URL path.
        "function": "A String", # The function to proxy requests to. Must match the exported function
            # name exactly.
        "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run.
            # Cloud Run service does not exist when setting or updating your Firebase
            # Hosting configuration, then the request fails. Any errors from the Cloud Run
            # service are passed to the end user (for example, if you delete a service, any
            # requests directed to that service receive a `404` error).
          "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.<br>
              # Defaults to `us-central1` if not supplied.
          "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
        },
        "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
        "path": "A String", # The URL path to rewrite the request to.
        "glob": "A String", # The user-supplied [glob
            # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
            # against the request URL path.
      },
    ],
  },
  "createTime": "A String", # Output only. The time at which the version was created.
  "fileCount": "A String", # Output only. The total number of files associated with the version.
      # <br>This value is calculated after a version is `FINALIZED`.
}

  updateMask: string, A set of field names from your [version](../sites.versions) that you want
to update.
<br>A field will be overwritten if, and only if, it's in the mask.
<br>If a mask is not provided then a default mask of only
[`status`](../sites.versions#Version.FIELDS.status) will be used.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A `Version` is the collection of configuration and
      # [static files](sites.versions.files) that determine how a site is displayed.
    "status": "A String", # The deploy status of a version.
        # <br>
        # <br>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.
        # <br>
        # <br>Note that if you leave the version in the `CREATED` state for more
        # than 12&nbsp;hours, the system will automatically mark the version as
        # `ABANDONED`.
        # <br>
        # <br>You can also change the status of a version to `DELETED` by calling the
        # [`DeleteVersion`](sites.versions/delete) endpoint.
    "deleteUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `DELETED` the version.
        # a release or finalizing a version.
      "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
          # changed their email address or deleted their account.
      "email": "A String", # The email address of the user when the user performed the action.
    },
    "name": "A String", # The unique identifier for a version, in the format:
        # <code>sites/<var>site-name</var>/versions/<var>versionID</var></code>
        # This name is provided in the response body when you call the
        # [`CreateVersion`](../sites.versions/create) endpoint.
    "versionBytes": "A String", # Output only. The total stored bytesize of the version.
        # <br>This value is calculated after a version is `FINALIZED`.
    "labels": { # The labels used for extra metadata and/or filtering.
      "a_key": "A String",
    },
    "finalizeUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who `FINALIZED` the version.
        # a release or finalizing a version.
      "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
          # changed their email address or deleted their account.
      "email": "A String", # The email address of the user when the user performed the action.
    },
    "finalizeTime": "A String", # Output only. The time at which the version was `FINALIZED`.
    "deleteTime": "A String", # Output only. The time at which the version was `DELETED`.
    "createUser": { # Contains metadata about the user who performed an action, such as creating # Output only. Identifies the user who created the version.
        # a release or finalizing a version.
      "imageUrl": "A String", # A profile image URL for the user. May not be present if the user has
          # changed their email address or deleted their account.
      "email": "A String", # The email address of the user when the user performed the action.
    },
    "preview": { # Version preview configuration. If active and unexpired, # 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.
        # this version will be accessible via a custom URL even
        # if it is not the currently released version.
      "active": True or False, # If true, preview URLs are enabled for this version.
      "expireTime": "A String", # Indicates the expiration time for previewing this
          # version; preview URL requests received after this time will 404.
    },
    "config": { # The configuration for how incoming requests to a site should be routed and # The configuration for the behavior of the site. This configuration exists
        # in the [`firebase.json`](/docs/cli/#the_firebasejson_file) file.
        # processed before serving content. The patterns are matched and applied
        # according to a specific
        # [priority order](/docs/hosting/full-config#hosting_priority_order).
      "redirects": [ # A list of globs that will cause the response to redirect to another
          # location.
        { # A [`redirect`](/docs/hosting/full-config#redirects) represents the
            # configuration for returning an HTTP redirect response given a matching
            # request URL path.
          "regex": "A String", # The user-supplied RE2 regular expression to match against the request
              # URL path.
          "glob": "A String", # The user-supplied [glob
              # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
              # against the request URL path.
          "location": "A String", # Required. The value to put in the HTTP location header of the response.
              # <br>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:
              # <code>"glob": "/:capture*",
              # <br>"statusCode": 301,
              # <br>"location": "https://example.com/foo/:capture"</code>
          "statusCode": 42, # Required. The status HTTP code to return in the response. It must be a
              # valid 3xx status code.
        },
      ],
      "appAssociation": "A String", # How to handle well known App Association files.
      "trailingSlashBehavior": "A String", # Defines how to handle a trailing slash in the URL path.
      "cleanUrls": True or False, # Defines whether to drop the file extension from uploaded files.
      "headers": [ # A list of custom response headers that are added to the content if the
          # request URL path matches the glob.
        { # A [`header`](/docs/hosting/full-config#headers) defines custom headers to
            # add to a response should the request URL path match the pattern.
          "regex": "A String", # The user-supplied RE2 regular expression to match against the request
              # URL path.
          "headers": { # Required. The additional headers to add to the response.
            "a_key": "A String",
          },
          "glob": "A String", # The user-supplied [glob
              # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
              # against the request URL path.
        },
      ],
      "rewrites": [ # A list of rewrites that will act as if the service were given the
          # destination URL.
        { # A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal
            # content rewrite on the version. If the pattern matches, the request will be
            # handled as if it were to the destination path specified in the
            # configuration.
          "regex": "A String", # The user-supplied RE2 regular expression to match against the request
              # URL path.
          "function": "A String", # The function to proxy requests to. Must match the exported function
              # name exactly.
          "run": { # A configured rewrite that directs requests to a Cloud Run service. If the # The request will be forwarded to Cloud Run.
              # Cloud Run service does not exist when setting or updating your Firebase
              # Hosting configuration, then the request fails. Any errors from the Cloud Run
              # service are passed to the end user (for example, if you delete a service, any
              # requests directed to that service receive a `404` error).
            "region": "A String", # Optional. User-provided region where the Cloud Run service is hosted.<br>
                # Defaults to `us-central1` if not supplied.
            "serviceId": "A String", # Required. User-defined ID of the Cloud Run service.
          },
          "dynamicLinks": True or False, # The request will be forwarded to Firebase Dynamic Links.
          "path": "A String", # The URL path to rewrite the request to.
          "glob": "A String", # The user-supplied [glob
              # pattern](/docs/hosting/full-config#glob_pattern_matching) to match
              # against the request URL path.
        },
      ],
    },
    "createTime": "A String", # Output only. The time at which the version was created.
    "fileCount": "A String", # Output only. The total number of files associated with the version.
        # <br>This value is calculated after a version is `FINALIZED`.
  }
populateFiles(parent=None, body=None, x__xgafv=None)
Adds content files to a version.

Args:
  parent: string, Required. The version to add files to, in the format:
<code>sites/<var>site-name</var>/versions/<var>versionID</var></code> (required)
  body: object, The request body.
    The object takes the form of:

{ # The request to populate a Version's Files.
    "files": { # A set of file paths to the hashes corresponding to assets that should be
        # added to the version. Note that a file path to an empty hash will remove
        # the path from the version. Calculate a hash by Gzipping the file then
        # taking the SHA256 hash of the newly compressed file.
      "a_key": "A String",
    },
  }

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

Returns:
  An object of the form:

    { # The response to a PopulateVersionFilesRequest.
    "uploadRequiredHashes": [ # The content hashes of the specified files that need to be uploaded to the
        # specified endpoint.
      "A String",
    ],
    "uploadUrl": "A String", # The URL to which the files should be uploaded, in the format:
        # <br>"https://upload-firebasehosting.googleapis.com/upload/sites/<var>site-name</var>/versions/<var>versionID</var>/files".
        # <br>Perform a multipart `POST` of the Gzipped file contents to the URL
        # using a forward slash and the hash of the file appended to the end.
  }