# Google Cloud Machine Learning . projects . models . versions

## Instance Methods

Creates a new version of a model from a trained TensorFlow model.

Deletes a model version.

Gets information about a model version.

Gets basic information about all the versions of a model.

Retrieves the next page of results.

Designates a version to be the default for the model.

### Method Details

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

    Creates a new version of a model from a trained TensorFlow model.

    If the version created in the cloud by this call is the first deployed
    version of the specified model, it will be made the default version of the
    model. When you add a version to a model that already has one or more
    versions, the default version does not automatically change. If you want a
    new version to be the default, you must call
    [projects.models.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).

    Args:
      parent: string, Required. The name of the model.

    Authorization: requires `Editor` role on the parent project. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a version of the model.
        #
        # Each version is a trained model deployed in the cloud, ready to handle
        # prediction requests. A model can have multiple versions. You can get
        # information about all of the versions of a given model by calling
        # [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
      "description": "A String", # Optional. The description specified for the version when it was created.
      "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
      "deploymentUri": "A String", # Required. The Google Cloud Storage location of the trained model used to
          # create the version. See the
          # [overview of model deployment](/ml/docs/concepts/deployment-overview) for
          # more informaiton.
          #
          # When passing Version to
          # [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
          # the model service uses the specified location as the source of the model.
          # Once deployed, the model version is hosted by the prediction service, so
          # this location is useful only as a historical record.
      "createTime": "A String", # Output only. The time the version was created.
      "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
          # requests that do not specify a version.
          #
          # You can change the default version by calling
          # [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
      "name": "A String", # Required.The name specified for the version when it was created.
          #
          # The version name must be unique within the model it is created in.
    }

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

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If true, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should have the format of `operations/some/unique/name`.
        "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure or cancellation.
            # programming environments, including REST APIs and RPC APIs. It is used by
            # [gRPC](https://github.com/grpc). The error model is designed to be:
            #
            # - Simple to use and understand for most users
            # - Flexible enough to meet unexpected needs
            #
            # # Overview
            #
            # The `Status` message contains three pieces of data: error code, error message,
            # and error details. The error code should be an enum value of
            # google.rpc.Code, but it may accept additional error codes if needed.  The
            # error message should be a developer-facing English message that helps
            # developers *understand* and *resolve* the error. If a localized user-facing
            # error message is needed, put the localized message in the error details or
            # localize it in the client. The optional error details may contain arbitrary
            # information about the error. There is a predefined set of error detail types
            # in the package `google.rpc` which can be used for common error conditions.
            #
            # # Language mapping
            #
            # The `Status` message is the logical representation of the error model, but it
            # is not necessarily the actual wire format. When the `Status` message is
            # exposed in different client libraries and different wire protocols, it can be
            # mapped differently. For example, it will likely be mapped to some exceptions
            # in Java, but more likely mapped to some error codes in C.
            #
            # # Other uses
            #
            # The error model and the `Status` message can be used in a variety of
            # environments, either with or without APIs, to provide a
            # consistent developer experience across different environments.
            #
            # Example uses of this error model include:
            #
            # - Partial errors. If a service needs to return partial errors to the client,
            #     it may embed the `Status` in the normal response to indicate the partial
            #     errors.
            #
            # - Workflow errors. A typical workflow has multiple steps. Each step may
            #     have a `Status` message for error reporting purpose.
            #
            # - Batch operations. If a client uses batch request and batch response, the
            #     `Status` message should be used directly inside batch response, one for
            #     each error sub-response.
            #
            # - Asynchronous operations. If an API call embeds asynchronous operation
            #     results in its response, the status of those operations should be
            #     represented directly using the `Status` message.
            #
            # - Logging. If some API errors are stored in logs, the message `Status` could
            #     be used directly after any stripping needed for security/privacy reasons.
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There will be a
              # common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
      }

`delete(name=None, x__xgafv=None)`

    Deletes a model version.

    Each model can have multiple versions deployed and in use at any given
    time. Use this method to remove a single version.

    Note: You cannot delete the version that is set as the default version
    of the model unless it is the only remaining version.

    Args:
      name: string, Required. The name of the version. You can get the names of all the
    versions of a model by calling
    [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).

    Authorization: requires `Editor` role on the parent project. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If true, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should have the format of `operations/some/unique/name`.
        "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure or cancellation.
            # programming environments, including REST APIs and RPC APIs. It is used by
            # [gRPC](https://github.com/grpc). The error model is designed to be:
            #
            # - Simple to use and understand for most users
            # - Flexible enough to meet unexpected needs
            #
            # # Overview
            #
            # The `Status` message contains three pieces of data: error code, error message,
            # and error details. The error code should be an enum value of
            # google.rpc.Code, but it may accept additional error codes if needed.  The
            # error message should be a developer-facing English message that helps
            # developers *understand* and *resolve* the error. If a localized user-facing
            # error message is needed, put the localized message in the error details or
            # localize it in the client. The optional error details may contain arbitrary
            # information about the error. There is a predefined set of error detail types
            # in the package `google.rpc` which can be used for common error conditions.
            #
            # # Language mapping
            #
            # The `Status` message is the logical representation of the error model, but it
            # is not necessarily the actual wire format. When the `Status` message is
            # exposed in different client libraries and different wire protocols, it can be
            # mapped differently. For example, it will likely be mapped to some exceptions
            # in Java, but more likely mapped to some error codes in C.
            #
            # # Other uses
            #
            # The error model and the `Status` message can be used in a variety of
            # environments, either with or without APIs, to provide a
            # consistent developer experience across different environments.
            #
            # Example uses of this error model include:
            #
            # - Partial errors. If a service needs to return partial errors to the client,
            #     it may embed the `Status` in the normal response to indicate the partial
            #     errors.
            #
            # - Workflow errors. A typical workflow has multiple steps. Each step may
            #     have a `Status` message for error reporting purpose.
            #
            # - Batch operations. If a client uses batch request and batch response, the
            #     `Status` message should be used directly inside batch response, one for
            #     each error sub-response.
            #
            # - Asynchronous operations. If an API call embeds asynchronous operation
            #     results in its response, the status of those operations should be
            #     represented directly using the `Status` message.
            #
            # - Logging. If some API errors are stored in logs, the message `Status` could
            #     be used directly after any stripping needed for security/privacy reasons.
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There will be a
              # common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
      }

`get(name=None, x__xgafv=None)`

    Gets information about a model version.

    Models can have multiple versions. You can call
    [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list)
    to get the same information that this method returns for all of the
    versions of a model.

    Args:
      name: string, Required. The name of the version.

    Authorization: requires `Viewer` role on the parent project. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a version of the model.
          #
          # Each version is a trained model deployed in the cloud, ready to handle
          # prediction requests. A model can have multiple versions. You can get
          # information about all of the versions of a given model by calling
          # [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
        "description": "A String", # Optional. The description specified for the version when it was created.
        "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
        "deploymentUri": "A String", # Required. The Google Cloud Storage location of the trained model used to
            # create the version. See the
            # [overview of model deployment](/ml/docs/concepts/deployment-overview) for
            # more informaiton.
            #
            # When passing Version to
            # [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
            # the model service uses the specified location as the source of the model.
            # Once deployed, the model version is hosted by the prediction service, so
            # this location is useful only as a historical record.
        "createTime": "A String", # Output only. The time the version was created.
        "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
            # requests that do not specify a version.
            #
            # You can change the default version by calling
            # [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
        "name": "A String", # Required.The name specified for the version when it was created.
            #
            # The version name must be unique within the model it is created in.
      }

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

    Gets basic information about all the versions of a model.

    If you expect that a model has a lot of versions, or if you need to handle
    only a limited number of results at a time, you can request that the list
    be retrieved in batches (called pages):

    Args:
      parent: string, Required. The name of the model for which to list the version.

    Authorization: requires `Viewer` role on the parent project. (required)
      pageToken: string, Optional. A page token to request the next page of results.

    You get the token from the `next_page_token` field of the response from
    the previous call.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      pageSize: integer, Optional. The number of versions to retrieve per "page" of results. If
    there are more remaining results than this number, the response message
    will contain a valid value in the `next_page_token` field.

    The default value is 20, and the maximum page size is 100.

    Returns:
      An object of the form:

        { # Response message for the ListVersions method.
        "nextPageToken": "A String", # Optional. Pass this token as the `page_token` field of the request for a
            # subsequent call.
        "versions": [ # The list of versions.
          { # Represents a version of the model.
              #
              # Each version is a trained model deployed in the cloud, ready to handle
              # prediction requests. A model can have multiple versions. You can get
              # information about all of the versions of a given model by calling
              # [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
            "description": "A String", # Optional. The description specified for the version when it was created.
            "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
            "deploymentUri": "A String", # Required. The Google Cloud Storage location of the trained model used to
                # create the version. See the
                # [overview of model deployment](/ml/docs/concepts/deployment-overview) for
                # more informaiton.
                #
                # When passing Version to
                # [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
                # the model service uses the specified location as the source of the model.
                # Once deployed, the model version is hosted by the prediction service, so
                # this location is useful only as a historical record.
            "createTime": "A String", # Output only. The time the version was created.
            "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
                # requests that do not specify a version.
                #
                # You can change the default version by calling
                # [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
            "name": "A String", # Required.The name specified for the version when it was created.
                #
                # The version name must be unique within the model it is created in.
          },
        ],
      }

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

`setDefault(name=None, body, x__xgafv=None)`

    Designates a version to be the default for the model.

    The default version is used for prediction requests made against the model
    that don't specify a version.

    The first version to be created for a model is automatically set as the
    default. You must make any subsequent changes to the default version
    setting manually using this method.

    Args:
      name: string, Required. The name of the version to make the default for the model. You
    can get the names of all the versions of a model by calling
    [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).

    Authorization: requires `Editor` role on the parent project. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Request message for the SetDefaultVersion request.
      }

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

    Returns:
      An object of the form:

        { # Represents a version of the model.
          #
          # Each version is a trained model deployed in the cloud, ready to handle
          # prediction requests. A model can have multiple versions. You can get
          # information about all of the versions of a given model by calling
          # [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
        "description": "A String", # Optional. The description specified for the version when it was created.
        "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
        "deploymentUri": "A String", # Required. The Google Cloud Storage location of the trained model used to
            # create the version. See the
            # [overview of model deployment](/ml/docs/concepts/deployment-overview) for
            # more informaiton.
            #
            # When passing Version to
            # [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
            # the model service uses the specified location as the source of the model.
            # Once deployed, the model version is hosted by the prediction service, so
            # this location is useful only as a historical record.
        "createTime": "A String", # Output only. The time the version was created.
        "isDefault": True or False, # Output only. If true, this version will be used to handle prediction
            # requests that do not specify a version.
            #
            # You can change the default version by calling
            # [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
        "name": "A String", # Required.The name specified for the version when it was created.
            #
            # The version name must be unique within the model it is created in.
      }