docs: update docs (#916)

* fix: re-run script

* test: fix noxfile
diff --git a/docs/dyn/ml_v1.projects.models.html b/docs/dyn/ml_v1.projects.models.html
index fbb4b05..4687f5e 100644
--- a/docs/dyn/ml_v1.projects.models.html
+++ b/docs/dyn/ml_v1.projects.models.html
@@ -121,23 +121,410 @@
     The object takes the form of:
 
 { # Represents a machine learning solution.
+    # 
+    # A model can have multiple versions, each of which is a deployed, trained
+    # model ready to receive prediction requests. The model itself is just a
+    # container.
+  "defaultVersion": { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
+      # handle prediction requests that do not specify a version.
       # 
-      # A model can have multiple versions, each of which is a deployed, trained
-      # model ready to receive prediction requests. The model itself is just a
-      # container.
-    "labels": { # Optional. One or more labels that you can add, to organize your models.
-        # Each label is a key-value pair, where both the key and the value are
-        # arbitrary strings that you supply.
+      # You can change the default version by calling
+      # projects.models.versions.setDefault.
+      #
+      # 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.
+    "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+        # Only specify this field if you have specified a Compute Engine (N1) machine
+        # type in the `machineType` field. Learn more about [using GPUs for online
+        # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+        # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+        # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+        # [accelerators for online
+        # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+      "count": "A String", # The number of accelerators to attach to each machine running the job.
+      "type": "A String", # The type of accelerator to use.
+    },
+    "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.
+    "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
+        # model. You should generally use `auto_scaling` with an appropriate
+        # `min_nodes` instead, but this option is available if you want more
+        # predictable billing. Beware that latency and error rates will increase
+        # if the traffic exceeds that capability of the system to serve it based
+        # on the selected number of nodes.
+      "nodes": 42, # The number of nodes to allocate for this model. These nodes are always up,
+          # starting from the time the model is deployed, so the cost of operating
+          # this model will be proportional to `nodes` * number of hours since
+          # last billing cycle plus the cost for each prediction performed.
+    },
+    "state": "A String", # Output only. The state of a version.
+    "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.
+    "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
+    "pythonVersion": "A String", # Required. The version of Python used in prediction.
+        #
+        # The following Python versions are available:
+        #
+        # * Python '3.7' is available when `runtime_version` is set to '1.15' or
+        #   later.
+        # * Python '3.5' is available when `runtime_version` is set to a version
+        #   from '1.4' to '1.14'.
+        # * Python '2.7' is available when `runtime_version` is set to '1.15' or
+        #   earlier.
+        #
+        # Read more about the Python versions available for [each runtime
+        # version](/ml-engine/docs/runtime-version-list).
+    "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
+    "predictionClass": "A String", # Optional. The fully qualified name
+        # (<var>module_name</var>.<var>class_name</var>) of a class that implements
+        # the Predictor interface described in this reference field. The module
+        # containing this class should be included in a package provided to the
+        # [`packageUris` field](#Version.FIELDS.package_uris).
+        #
+        # Specify this field if and only if you are deploying a [custom prediction
+        # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+        # If you specify this field, you must set
+        # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+        # you must set `machineType` to a [legacy (MLS1)
+        # machine type](/ml-engine/docs/machine-types-online-prediction).
+        #
+        # The following code sample provides the Predictor interface:
+        #
+        # <pre style="max-width: 626px;">
+        # class Predictor(object):
+        # """Interface for constructing custom predictors."""
+        #
+        # def predict(self, instances, **kwargs):
+        #     """Performs custom prediction.
+        #
+        #     Instances are the decoded values from the request. They have already
+        #     been deserialized from JSON.
+        #
+        #     Args:
+        #         instances: A list of prediction input instances.
+        #         **kwargs: A dictionary of keyword args provided as additional
+        #             fields on the predict request body.
+        #
+        #     Returns:
+        #         A list of outputs containing the prediction results. This list must
+        #         be JSON serializable.
+        #     """
+        #     raise NotImplementedError()
+        #
+        # @classmethod
+        # def from_path(cls, model_dir):
+        #     """Creates an instance of Predictor using the given path.
+        #
+        #     Loading of the predictor should be done in this method.
+        #
+        #     Args:
+        #         model_dir: The local directory that contains the exported model
+        #             file along with any additional files uploaded when creating the
+        #             version resource.
+        #
+        #     Returns:
+        #         An instance implementing this Predictor class.
+        #     """
+        #     raise NotImplementedError()
+        # </pre>
+        #
+        # Learn more about [the Predictor interface and custom prediction
+        # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+    "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
+        # create the version. See the
+        # [guide to model
+        # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
+        # information.
+        #
+        # When passing Version to
+        # 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.
+        # The total number of model files can't exceed 1000.
+    "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
+        # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
+        # or [scikit-learn pipelines with custom
+        # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
+        #
+        # For a custom prediction routine, one of these packages must contain your
+        # Predictor class (see
+        # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
+        # include any dependencies used by your Predictor or scikit-learn pipeline
+        # uses that are not already included in your selected [runtime
+        # version](/ml-engine/docs/tensorflow/runtime-version-list).
+        #
+        # If you specify this field, you must also set
+        # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
+      "A String",
+    ],
+    "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
+        # Some explanation features require additional metadata to be loaded
+        # as part of the model payload.
+        # There are two feature attribution methods supported for TensorFlow models:
+        # integrated gradients and sampled Shapley.
+        # [Learn more about feature
+        # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+      "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+          # of the model's fully differentiable structure. Refer to this paper for
+          # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+          # of the model's fully differentiable structure. Refer to this paper for
+          # more details: https://arxiv.org/abs/1703.01365
+        "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+            # A good value to start is 50 and gradually increase until the
+            # sum to diff property is met within the desired error range.
+      },
+      "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+          # contribute to the label being predicted. A sampling strategy is used to
+          # approximate the value rather than considering all subsets of features.
+          # contribute to the label being predicted. A sampling strategy is used to
+          # approximate the value rather than considering all subsets of features.
+        "numPaths": 42, # The number of feature permutations to consider when approximating the
+            # Shapley values.
+      },
+      "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+          # of the model's fully differentiable structure. Refer to this paper for
+          # more details: https://arxiv.org/abs/1906.02825
+          # Currently only implemented for models with natural image inputs.
+          # of the model's fully differentiable structure. Refer to this paper for
+          # more details: https://arxiv.org/abs/1906.02825
+          # Currently only implemented for models with natural image inputs.
+        "numIntegralSteps": 42, # Number of steps for approximating the path integral.
+            # A good value to start is 50 and gradually increase until the
+            # sum to diff property is met within the desired error range.
+      },
+    },
+    "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
+        # response to increases and decreases in traffic. Care should be
+        # taken to ramp up traffic according to the model's ability to scale
+        # or you will start seeing increases in latency and 429 response codes.
+        #
+        # Note that you cannot use AutoScaling if your version uses
+        # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
+        # `manual_scaling`.
+      "minNodes": 42, # Optional. The minimum number of nodes to allocate for this model. These
+          # nodes are always up, starting from the time the model is deployed.
+          # Therefore, the cost of operating this model will be at least
+          # `rate` * `min_nodes` * number of hours since last billing cycle,
+          # where `rate` is the cost per node-hour as documented in the
+          # [pricing guide](/ml-engine/docs/pricing),
+          # even if no predictions are performed. There is additional cost for each
+          # prediction performed.
+          #
+          # Unlike manual scaling, if the load gets too heavy for the nodes
+          # that are up, the service will automatically add nodes to handle the
+          # increased load as well as scale back as traffic drops, always maintaining
+          # at least `min_nodes`. You will be charged for the time in which additional
+          # nodes are used.
+          #
+          # If `min_nodes` is not specified and AutoScaling is used with a [legacy
+          # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
+          # `min_nodes` defaults to 0, in which case, when traffic to a model stops
+          # (and after a cool-down period), nodes will be shut down and no charges will
+          # be incurred until traffic to the model resumes.
+          #
+          # If `min_nodes` is not specified and AutoScaling is used with a [Compute
+          # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
+          # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
+          # Compute Engine machine type.
+          #
+          # Note that you cannot use AutoScaling if your version uses
+          # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
+          # ManualScaling.
+          #
+          # You can set `min_nodes` when creating the model version, and you can also
+          # update `min_nodes` for an existing version:
+          # <pre>
+          # update_body.json:
+          # {
+          #   'autoScaling': {
+          #     'minNodes': 5
+          #   }
+          # }
+          # </pre>
+          # HTTP request:
+          # <pre style="max-width: 626px;">
+          # PATCH
+          # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
+          # -d @./update_body.json
+          # </pre>
+    },
+    "createTime": "A String", # Output only. The time the version was created.
+    "labels": { # Optional. One or more labels that you can add, to organize your model
+        # versions. Each label is a key-value pair, where both the key and the value
+        # are arbitrary strings that you supply.
         # For more information, see the documentation on
         # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
       "a_key": "A String",
     },
-    "name": "A String", # Required. The name specified for the model when it was created.
-        # 
-        # The model name must be unique within the project it is created in.
+    "requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
+        # projects.models.versions.patch
+        # request. Specifying it in a
+        # projects.models.versions.create
+        # request has no effect.
+        #
+        # Configures the request-response pair logging on predictions from this
+        # Version.
+        # Online prediction requests to a model version and the responses to these
+        # requests are converted to raw strings and saved to the specified BigQuery
+        # table. Logging is constrained by [BigQuery quotas and
+        # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
+        # AI Platform Prediction does not log request-response pairs, but it continues
+        # to serve predictions.
+        #
+        # If you are using [continuous
+        # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
+        # specify this configuration manually. Setting up continuous evaluation
+        # automatically enables logging of request-response pairs.
+      "bigqueryTableName": "A String", # Required. Fully qualified BigQuery table name in the following format:
+          # "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
+          #
+          # The specified table must already exist, and the "Cloud ML Service Agent"
+          # for your project must have permission to write to it. The table must have
+          # the following [schema](/bigquery/docs/schemas):
+          #
+          # <table>
+          #   <tr><th>Field name</th><th style="display: table-cell">Type</th>
+          #     <th style="display: table-cell">Mode</th></tr>
+          #   <tr><td>model</td><td>STRING</td><td>REQUIRED</td></tr>
+          #   <tr><td>model_version</td><td>STRING</td><td>REQUIRED</td></tr>
+          #   <tr><td>time</td><td>TIMESTAMP</td><td>REQUIRED</td></tr>
+          #   <tr><td>raw_data</td><td>STRING</td><td>REQUIRED</td></tr>
+          #   <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
+          #   <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
+          # </table>
+      "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+          # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+          # window is the lifetime of the model version. Defaults to 0.
+    },
+    "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
+    "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
+        # applies to online prediction service. If this field is not specified, it
+        # defaults to `mls1-c1-m2`.
+        #
+        # Online prediction supports the following machine types:
+        #
+        # * `mls1-c1-m2`
+        # * `mls1-c4-m2`
+        # * `n1-standard-2`
+        # * `n1-standard-4`
+        # * `n1-standard-8`
+        # * `n1-standard-16`
+        # * `n1-standard-32`
+        # * `n1-highmem-2`
+        # * `n1-highmem-4`
+        # * `n1-highmem-8`
+        # * `n1-highmem-16`
+        # * `n1-highmem-32`
+        # * `n1-highcpu-2`
+        # * `n1-highcpu-4`
+        # * `n1-highcpu-8`
+        # * `n1-highcpu-16`
+        # * `n1-highcpu-32`
+        #
+        # `mls1-c1-m2` is generally available. All other machine types are available
+        # in beta. Learn more about the [differences between machine
+        # types](/ml-engine/docs/machine-types-online-prediction).
+    "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
+        #
+        # For more information, see the
+        # [runtime version list](/ml-engine/docs/runtime-version-list) and
+        # [how to manage runtime versions](/ml-engine/docs/versioning).
+    "description": "A String", # Optional. The description specified for the version when it was created.
+    "framework": "A String", # Optional. The machine learning framework AI Platform uses to train
+        # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
+        # `XGBOOST`. If you do not specify a framework, AI Platform
+        # will analyze files in the deployment_uri to determine a framework. If you
+        # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
+        # of the model to 1.4 or greater.
+        #
+        # Do **not** specify a framework if you're deploying a [custom
+        # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
+        #
+        # If you specify a [Compute Engine (N1) machine
+        # type](/ml-engine/docs/machine-types-online-prediction) in the
+        # `machineType` field, you must specify `TENSORFLOW`
+        # for the framework.
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a model from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform model updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `GetVersion`, and
+        # systems are expected to put that etag in the request to `UpdateVersion` to
+        # ensure that their change will be applied to the model as intended.
+  },
+  "onlinePredictionConsoleLogging": True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
+      # streams to Stackdriver Logging. These can be more verbose than the standard
+      # access logs (see `onlinePredictionLogging`) and can incur higher cost.
+      # However, they are helpful for debugging. Note that
+      # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+      # your project receives prediction requests at a high QPS. Estimate your
+      # costs before enabling this option.
+      # 
+      # Default is false.
+  "regions": [ # Optional. The list of regions where the model is going to be deployed.
+      # Only one region per model is supported.
+      # Defaults to 'us-central1' if nothing is set.
+      # See the <a href="/ml-engine/docs/tensorflow/regions">available regions</a>
+      # for AI Platform services.
+      # Note:
+      # *   No matter where a model is deployed, it can always be accessed by
+      #     users from anywhere, both for online and batch prediction.
+      # *   The region for a batch prediction job is set by the region field when
+      #     submitting the batch prediction job and does not take its value from
+      #     this field.
+    "A String",
+  ],
+  "description": "A String", # Optional. The description specified for the model when it was created.
+  "onlinePredictionLogging": True or False, # Optional. If true, online prediction access logs are sent to StackDriver
+      # Logging. These logs are like standard server access logs, containing
+      # information like timestamp and latency for each request. Note that
+      # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+      # your project receives prediction requests at a high queries per second rate
+      # (QPS). Estimate your costs before enabling this option.
+      # 
+      # Default is false.
+  "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+      # prevent simultaneous updates of a model from overwriting each other.
+      # It is strongly suggested that systems make use of the `etag` in the
+      # read-modify-write cycle to perform model updates in order to avoid race
+      # conditions: An `etag` is returned in the response to `GetModel`, and
+      # systems are expected to put that etag in the request to `UpdateModel` to
+      # ensure that their change will be applied to the model as intended.
+  "labels": { # Optional. One or more labels that you can add, to organize your models.
+      # Each label is a key-value pair, where both the key and the value are
+      # arbitrary strings that you supply.
+      # For more information, see the documentation on
+      # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
+    "a_key": "A String",
+  },
+  "name": "A String", # Required. The name specified for the model when it was created.
+      # 
+      # The model name must be unique within the project 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:
+
+    { # Represents a machine learning solution.
+      #
+      # A model can have multiple versions, each of which is a deployed, trained
+      # model ready to receive prediction requests. The model itself is just a
+      # container.
     "defaultVersion": { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
         # handle prediction requests that do not specify a version.
-        # 
+        #
         # You can change the default version by calling
         # projects.models.versions.setDefault.
         #
@@ -145,7 +532,22 @@
         # 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.
-      "state": "A String", # Output only. The state of a version.
+      "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+          # Only specify this field if you have specified a Compute Engine (N1) machine
+          # type in the `machineType` field. Learn more about [using GPUs for online
+          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+          # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+          # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+          # [accelerators for online
+          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+        "count": "A String", # The number of accelerators to attach to each machine running the job.
+        "type": "A String", # The type of accelerator to use.
+      },
+      "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.
       "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
           # model. You should generally use `auto_scaling` with an appropriate
           # `min_nodes` instead, but this option is available if you want more
@@ -157,6 +559,7 @@
             # this model will be proportional to `nodes` * number of hours since
             # last billing cycle plus the cost for each prediction performed.
       },
+      "state": "A String", # Output only. The state of a version.
       "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.
@@ -230,6 +633,18 @@
           #
           # Learn more about [the Predictor interface and custom prediction
           # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+      "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
+          # create the version. See the
+          # [guide to model
+          # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
+          # information.
+          #
+          # When passing Version to
+          # 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.
+          # The total number of model files can't exceed 1000.
       "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
           # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
           # or [scikit-learn pipelines with custom
@@ -282,18 +697,6 @@
               # sum to diff property is met within the desired error range.
         },
       },
-      "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
-          # create the version. See the
-          # [guide to model
-          # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
-          # information.
-          #
-          # When passing Version to
-          # 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.
-          # The total number of model files can't exceed 1000.
       "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
           # response to increases and decreases in traffic. Care should be
           # taken to ramp up traffic according to the model's ability to scale
@@ -349,6 +752,7 @@
             # -d @./update_body.json
             # </pre>
       },
+      "createTime": "A String", # Output only. The time the version was created.
       "labels": { # Optional. One or more labels that you can add, to organize your model
           # versions. Each label is a key-value pair, where both the key and the value
           # are arbitrary strings that you supply.
@@ -356,7 +760,6 @@
           # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
         "a_key": "A String",
       },
-      "createTime": "A String", # Output only. The time the version was created.
       "requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
           # projects.models.versions.patch
           # request. Specifying it in a
@@ -452,22 +855,6 @@
           # conditions: An `etag` is returned in the response to `GetVersion`, and
           # systems are expected to put that etag in the request to `UpdateVersion` to
           # ensure that their change will be applied to the model as intended.
-      "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.
-      "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
-          # Only specify this field if you have specified a Compute Engine (N1) machine
-          # type in the `machineType` field. Learn more about [using GPUs for online
-          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-          # Note that the AcceleratorConfig can be used in both Jobs and Versions.
-          # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
-          # [accelerators for online
-          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-        "count": "A String", # The number of accelerators to attach to each machine running the job.
-        "type": "A String", # The type of accelerator to use.
-      },
     },
     "onlinePredictionConsoleLogging": True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
         # streams to Stackdriver Logging. These can be more verbose than the standard
@@ -476,7 +863,7 @@
         # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
         # your project receives prediction requests at a high QPS. Estimate your
         # costs before enabling this option.
-        # 
+        #
         # Default is false.
     "regions": [ # Optional. The list of regions where the model is going to be deployed.
         # Only one region per model is supported.
@@ -498,7 +885,7 @@
         # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
         # your project receives prediction requests at a high queries per second rate
         # (QPS). Estimate your costs before enabling this option.
-        # 
+        #
         # Default is false.
     "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
         # prevent simultaneous updates of a model from overwriting each other.
@@ -507,404 +894,17 @@
         # conditions: An `etag` is returned in the response to `GetModel`, and
         # systems are expected to put that etag in the request to `UpdateModel` to
         # ensure that their change will be applied to the model as intended.
-  }
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Represents a machine learning solution.
+    "labels": { # Optional. One or more labels that you can add, to organize your models.
+        # Each label is a key-value pair, where both the key and the value are
+        # arbitrary strings that you supply.
+        # For more information, see the documentation on
+        # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
+      "a_key": "A String",
+    },
+    "name": "A String", # Required. The name specified for the model when it was created.
         #
-        # A model can have multiple versions, each of which is a deployed, trained
-        # model ready to receive prediction requests. The model itself is just a
-        # container.
-      "labels": { # Optional. One or more labels that you can add, to organize your models.
-          # Each label is a key-value pair, where both the key and the value are
-          # arbitrary strings that you supply.
-          # For more information, see the documentation on
-          # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
-        "a_key": "A String",
-      },
-      "name": "A String", # Required. The name specified for the model when it was created.
-          #
-          # The model name must be unique within the project it is created in.
-      "defaultVersion": { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
-          # handle prediction requests that do not specify a version.
-          #
-          # You can change the default version by calling
-          # projects.models.versions.setDefault.
-          #
-          # 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.
-        "state": "A String", # Output only. The state of a version.
-        "manualScaling": { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
-            # model. You should generally use `auto_scaling` with an appropriate
-            # `min_nodes` instead, but this option is available if you want more
-            # predictable billing. Beware that latency and error rates will increase
-            # if the traffic exceeds that capability of the system to serve it based
-            # on the selected number of nodes.
-          "nodes": 42, # The number of nodes to allocate for this model. These nodes are always up,
-              # starting from the time the model is deployed, so the cost of operating
-              # this model will be proportional to `nodes` * number of hours since
-              # last billing cycle plus the cost for each prediction performed.
-        },
-        "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.
-        "serviceAccount": "A String", # Optional. Specifies the service account for resource access control.
-        "pythonVersion": "A String", # Required. The version of Python used in prediction.
-            #
-            # The following Python versions are available:
-            #
-            # * Python '3.7' is available when `runtime_version` is set to '1.15' or
-            #   later.
-            # * Python '3.5' is available when `runtime_version` is set to a version
-            #   from '1.4' to '1.14'.
-            # * Python '2.7' is available when `runtime_version` is set to '1.15' or
-            #   earlier.
-            #
-            # Read more about the Python versions available for [each runtime
-            # version](/ml-engine/docs/runtime-version-list).
-        "lastUseTime": "A String", # Output only. The time the version was last used for prediction.
-        "predictionClass": "A String", # Optional. The fully qualified name
-            # (<var>module_name</var>.<var>class_name</var>) of a class that implements
-            # the Predictor interface described in this reference field. The module
-            # containing this class should be included in a package provided to the
-            # [`packageUris` field](#Version.FIELDS.package_uris).
-            #
-            # Specify this field if and only if you are deploying a [custom prediction
-            # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
-            # If you specify this field, you must set
-            # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
-            # you must set `machineType` to a [legacy (MLS1)
-            # machine type](/ml-engine/docs/machine-types-online-prediction).
-            #
-            # The following code sample provides the Predictor interface:
-            #
-            # <pre style="max-width: 626px;">
-            # class Predictor(object):
-            # """Interface for constructing custom predictors."""
-            #
-            # def predict(self, instances, **kwargs):
-            #     """Performs custom prediction.
-            #
-            #     Instances are the decoded values from the request. They have already
-            #     been deserialized from JSON.
-            #
-            #     Args:
-            #         instances: A list of prediction input instances.
-            #         **kwargs: A dictionary of keyword args provided as additional
-            #             fields on the predict request body.
-            #
-            #     Returns:
-            #         A list of outputs containing the prediction results. This list must
-            #         be JSON serializable.
-            #     """
-            #     raise NotImplementedError()
-            #
-            # @classmethod
-            # def from_path(cls, model_dir):
-            #     """Creates an instance of Predictor using the given path.
-            #
-            #     Loading of the predictor should be done in this method.
-            #
-            #     Args:
-            #         model_dir: The local directory that contains the exported model
-            #             file along with any additional files uploaded when creating the
-            #             version resource.
-            #
-            #     Returns:
-            #         An instance implementing this Predictor class.
-            #     """
-            #     raise NotImplementedError()
-            # </pre>
-            #
-            # Learn more about [the Predictor interface and custom prediction
-            # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
-        "packageUris": [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
-            # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
-            # or [scikit-learn pipelines with custom
-            # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
-            #
-            # For a custom prediction routine, one of these packages must contain your
-            # Predictor class (see
-            # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
-            # include any dependencies used by your Predictor or scikit-learn pipeline
-            # uses that are not already included in your selected [runtime
-            # version](/ml-engine/docs/tensorflow/runtime-version-list).
-            #
-            # If you specify this field, you must also set
-            # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
-          "A String",
-        ],
-        "explanationConfig": { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model's version.
-            # Some explanation features require additional metadata to be loaded
-            # as part of the model payload.
-            # There are two feature attribution methods supported for TensorFlow models:
-            # integrated gradients and sampled Shapley.
-            # [Learn more about feature
-            # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
-          "integratedGradientsAttribution": { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
-              # of the model's fully differentiable structure. Refer to this paper for
-              # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
-              # of the model's fully differentiable structure. Refer to this paper for
-              # more details: https://arxiv.org/abs/1703.01365
-            "numIntegralSteps": 42, # Number of steps for approximating the path integral.
-                # A good value to start is 50 and gradually increase until the
-                # sum to diff property is met within the desired error range.
-          },
-          "sampledShapleyAttribution": { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
-              # contribute to the label being predicted. A sampling strategy is used to
-              # approximate the value rather than considering all subsets of features.
-              # contribute to the label being predicted. A sampling strategy is used to
-              # approximate the value rather than considering all subsets of features.
-            "numPaths": 42, # The number of feature permutations to consider when approximating the
-                # Shapley values.
-          },
-          "xraiAttribution": { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
-              # of the model's fully differentiable structure. Refer to this paper for
-              # more details: https://arxiv.org/abs/1906.02825
-              # Currently only implemented for models with natural image inputs.
-              # of the model's fully differentiable structure. Refer to this paper for
-              # more details: https://arxiv.org/abs/1906.02825
-              # Currently only implemented for models with natural image inputs.
-            "numIntegralSteps": 42, # Number of steps for approximating the path integral.
-                # A good value to start is 50 and gradually increase until the
-                # sum to diff property is met within the desired error range.
-          },
-        },
-        "deploymentUri": "A String", # Required. The Cloud Storage location of the trained model used to
-            # create the version. See the
-            # [guide to model
-            # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
-            # information.
-            #
-            # When passing Version to
-            # 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.
-            # The total number of model files can't exceed 1000.
-        "autoScaling": { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
-            # response to increases and decreases in traffic. Care should be
-            # taken to ramp up traffic according to the model's ability to scale
-            # or you will start seeing increases in latency and 429 response codes.
-            #
-            # Note that you cannot use AutoScaling if your version uses
-            # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
-            # `manual_scaling`.
-          "minNodes": 42, # Optional. The minimum number of nodes to allocate for this model. These
-              # nodes are always up, starting from the time the model is deployed.
-              # Therefore, the cost of operating this model will be at least
-              # `rate` * `min_nodes` * number of hours since last billing cycle,
-              # where `rate` is the cost per node-hour as documented in the
-              # [pricing guide](/ml-engine/docs/pricing),
-              # even if no predictions are performed. There is additional cost for each
-              # prediction performed.
-              #
-              # Unlike manual scaling, if the load gets too heavy for the nodes
-              # that are up, the service will automatically add nodes to handle the
-              # increased load as well as scale back as traffic drops, always maintaining
-              # at least `min_nodes`. You will be charged for the time in which additional
-              # nodes are used.
-              #
-              # If `min_nodes` is not specified and AutoScaling is used with a [legacy
-              # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
-              # `min_nodes` defaults to 0, in which case, when traffic to a model stops
-              # (and after a cool-down period), nodes will be shut down and no charges will
-              # be incurred until traffic to the model resumes.
-              #
-              # If `min_nodes` is not specified and AutoScaling is used with a [Compute
-              # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
-              # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
-              # Compute Engine machine type.
-              #
-              # Note that you cannot use AutoScaling if your version uses
-              # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
-              # ManualScaling.
-              #
-              # You can set `min_nodes` when creating the model version, and you can also
-              # update `min_nodes` for an existing version:
-              # <pre>
-              # update_body.json:
-              # {
-              #   'autoScaling': {
-              #     'minNodes': 5
-              #   }
-              # }
-              # </pre>
-              # HTTP request:
-              # <pre style="max-width: 626px;">
-              # PATCH
-              # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
-              # -d @./update_body.json
-              # </pre>
-        },
-        "labels": { # Optional. One or more labels that you can add, to organize your model
-            # versions. Each label is a key-value pair, where both the key and the value
-            # are arbitrary strings that you supply.
-            # For more information, see the documentation on
-            # <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
-          "a_key": "A String",
-        },
-        "createTime": "A String", # Output only. The time the version was created.
-        "requestLoggingConfig": { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
-            # projects.models.versions.patch
-            # request. Specifying it in a
-            # projects.models.versions.create
-            # request has no effect.
-            #
-            # Configures the request-response pair logging on predictions from this
-            # Version.
-            # Online prediction requests to a model version and the responses to these
-            # requests are converted to raw strings and saved to the specified BigQuery
-            # table. Logging is constrained by [BigQuery quotas and
-            # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
-            # AI Platform Prediction does not log request-response pairs, but it continues
-            # to serve predictions.
-            #
-            # If you are using [continuous
-            # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
-            # specify this configuration manually. Setting up continuous evaluation
-            # automatically enables logging of request-response pairs.
-          "bigqueryTableName": "A String", # Required. Fully qualified BigQuery table name in the following format:
-              # "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
-              #
-              # The specified table must already exist, and the "Cloud ML Service Agent"
-              # for your project must have permission to write to it. The table must have
-              # the following [schema](/bigquery/docs/schemas):
-              #
-              # <table>
-              #   <tr><th>Field name</th><th style="display: table-cell">Type</th>
-              #     <th style="display: table-cell">Mode</th></tr>
-              #   <tr><td>model</td><td>STRING</td><td>REQUIRED</td></tr>
-              #   <tr><td>model_version</td><td>STRING</td><td>REQUIRED</td></tr>
-              #   <tr><td>time</td><td>TIMESTAMP</td><td>REQUIRED</td></tr>
-              #   <tr><td>raw_data</td><td>STRING</td><td>REQUIRED</td></tr>
-              #   <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
-              #   <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
-              # </table>
-          "samplingPercentage": 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
-              # For example, if you want to log 10% of requests, enter `0.1`. The sampling
-              # window is the lifetime of the model version. Defaults to 0.
-        },
-        "errorMessage": "A String", # Output only. The details of a failure or a cancellation.
-        "machineType": "A String", # Optional. The type of machine on which to serve the model. Currently only
-            # applies to online prediction service. If this field is not specified, it
-            # defaults to `mls1-c1-m2`.
-            #
-            # Online prediction supports the following machine types:
-            #
-            # * `mls1-c1-m2`
-            # * `mls1-c4-m2`
-            # * `n1-standard-2`
-            # * `n1-standard-4`
-            # * `n1-standard-8`
-            # * `n1-standard-16`
-            # * `n1-standard-32`
-            # * `n1-highmem-2`
-            # * `n1-highmem-4`
-            # * `n1-highmem-8`
-            # * `n1-highmem-16`
-            # * `n1-highmem-32`
-            # * `n1-highcpu-2`
-            # * `n1-highcpu-4`
-            # * `n1-highcpu-8`
-            # * `n1-highcpu-16`
-            # * `n1-highcpu-32`
-            #
-            # `mls1-c1-m2` is generally available. All other machine types are available
-            # in beta. Learn more about the [differences between machine
-            # types](/ml-engine/docs/machine-types-online-prediction).
-        "runtimeVersion": "A String", # Required. The AI Platform runtime version to use for this deployment.
-            #
-            # For more information, see the
-            # [runtime version list](/ml-engine/docs/runtime-version-list) and
-            # [how to manage runtime versions](/ml-engine/docs/versioning).
-        "description": "A String", # Optional. The description specified for the version when it was created.
-        "framework": "A String", # Optional. The machine learning framework AI Platform uses to train
-            # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
-            # `XGBOOST`. If you do not specify a framework, AI Platform
-            # will analyze files in the deployment_uri to determine a framework. If you
-            # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
-            # of the model to 1.4 or greater.
-            #
-            # Do **not** specify a framework if you're deploying a [custom
-            # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
-            #
-            # If you specify a [Compute Engine (N1) machine
-            # type](/ml-engine/docs/machine-types-online-prediction) in the
-            # `machineType` field, you must specify `TENSORFLOW`
-            # for the framework.
-        "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
-            # prevent simultaneous updates of a model from overwriting each other.
-            # It is strongly suggested that systems make use of the `etag` in the
-            # read-modify-write cycle to perform model updates in order to avoid race
-            # conditions: An `etag` is returned in the response to `GetVersion`, and
-            # systems are expected to put that etag in the request to `UpdateVersion` to
-            # ensure that their change will be applied to the model as intended.
-        "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.
-        "acceleratorConfig": { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
-            # Only specify this field if you have specified a Compute Engine (N1) machine
-            # type in the `machineType` field. Learn more about [using GPUs for online
-            # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-            # Note that the AcceleratorConfig can be used in both Jobs and Versions.
-            # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
-            # [accelerators for online
-            # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-          "count": "A String", # The number of accelerators to attach to each machine running the job.
-          "type": "A String", # The type of accelerator to use.
-        },
-      },
-      "onlinePredictionConsoleLogging": True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
-          # streams to Stackdriver Logging. These can be more verbose than the standard
-          # access logs (see `onlinePredictionLogging`) and can incur higher cost.
-          # However, they are helpful for debugging. Note that
-          # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-          # your project receives prediction requests at a high QPS. Estimate your
-          # costs before enabling this option.
-          #
-          # Default is false.
-      "regions": [ # Optional. The list of regions where the model is going to be deployed.
-          # Only one region per model is supported.
-          # Defaults to 'us-central1' if nothing is set.
-          # See the <a href="/ml-engine/docs/tensorflow/regions">available regions</a>
-          # for AI Platform services.
-          # Note:
-          # *   No matter where a model is deployed, it can always be accessed by
-          #     users from anywhere, both for online and batch prediction.
-          # *   The region for a batch prediction job is set by the region field when
-          #     submitting the batch prediction job and does not take its value from
-          #     this field.
-        "A String",
-      ],
-      "description": "A String", # Optional. The description specified for the model when it was created.
-      "onlinePredictionLogging": True or False, # Optional. If true, online prediction access logs are sent to StackDriver
-          # Logging. These logs are like standard server access logs, containing
-          # information like timestamp and latency for each request. Note that
-          # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-          # your project receives prediction requests at a high queries per second rate
-          # (QPS). Estimate your costs before enabling this option.
-          #
-          # Default is false.
-      "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
-          # prevent simultaneous updates of a model from overwriting each other.
-          # It is strongly suggested that systems make use of the `etag` in the
-          # read-modify-write cycle to perform model updates in order to avoid race
-          # conditions: An `etag` is returned in the response to `GetModel`, and
-          # systems are expected to put that etag in the request to `UpdateModel` to
-          # ensure that their change will be applied to the model as intended.
-    }</pre>
+        # The model name must be unique within the project it is created in.
+  }</pre>
 </div>
 
 <div class="method">
@@ -927,16 +927,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    &quot;response&quot;: { # 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`.
-      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-    },
     &quot;name&quot;: &quot;A String&quot;, # 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 be a resource name ending with `operations/{unique_id}`.
@@ -947,16 +937,16 @@
         #
         # You can find out more about this error model and how to work with it in the
         # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # 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.
       &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
           # message types for APIs to use.
         {
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
         },
       ],
-      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-      &quot;message&quot;: &quot;A String&quot;, # 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.
     },
     &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
         # contains progress information and common metadata such as create time.
@@ -967,6 +957,16 @@
     &quot;done&quot;: 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.
+    &quot;response&quot;: { # 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`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+    },
   }</pre>
 </div>
 
@@ -987,393 +987,393 @@
   An object of the form:
 
     { # Represents a machine learning solution.
+      #
+      # A model can have multiple versions, each of which is a deployed, trained
+      # model ready to receive prediction requests. The model itself is just a
+      # container.
+    &quot;defaultVersion&quot;: { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
+        # handle prediction requests that do not specify a version.
         #
-        # A model can have multiple versions, each of which is a deployed, trained
-        # model ready to receive prediction requests. The model itself is just a
-        # container.
-      &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your models.
-          # Each label is a key-value pair, where both the key and the value are
-          # arbitrary strings that you supply.
+        # You can change the default version by calling
+        # projects.models.versions.setDefault.
+        #
+        # 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.
+      &quot;acceleratorConfig&quot;: { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+          # Only specify this field if you have specified a Compute Engine (N1) machine
+          # type in the `machineType` field. Learn more about [using GPUs for online
+          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+          # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+          # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+          # [accelerators for online
+          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+        &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
+        &quot;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+      },
+      &quot;isDefault&quot;: 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.
+      &quot;manualScaling&quot;: { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
+          # model. You should generally use `auto_scaling` with an appropriate
+          # `min_nodes` instead, but this option is available if you want more
+          # predictable billing. Beware that latency and error rates will increase
+          # if the traffic exceeds that capability of the system to serve it based
+          # on the selected number of nodes.
+        &quot;nodes&quot;: 42, # The number of nodes to allocate for this model. These nodes are always up,
+            # starting from the time the model is deployed, so the cost of operating
+            # this model will be proportional to `nodes` * number of hours since
+            # last billing cycle plus the cost for each prediction performed.
+      },
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of a version.
+      &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the version when it was created.
+          #
+          # The version name must be unique within the model it is created in.
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+      &quot;pythonVersion&quot;: &quot;A String&quot;, # Required. The version of Python used in prediction.
+          #
+          # The following Python versions are available:
+          #
+          # * Python &#x27;3.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
+          #   later.
+          # * Python &#x27;3.5&#x27; is available when `runtime_version` is set to a version
+          #   from &#x27;1.4&#x27; to &#x27;1.14&#x27;.
+          # * Python &#x27;2.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
+          #   earlier.
+          #
+          # Read more about the Python versions available for [each runtime
+          # version](/ml-engine/docs/runtime-version-list).
+      &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
+      &quot;predictionClass&quot;: &quot;A String&quot;, # Optional. The fully qualified name
+          # (&lt;var&gt;module_name&lt;/var&gt;.&lt;var&gt;class_name&lt;/var&gt;) of a class that implements
+          # the Predictor interface described in this reference field. The module
+          # containing this class should be included in a package provided to the
+          # [`packageUris` field](#Version.FIELDS.package_uris).
+          #
+          # Specify this field if and only if you are deploying a [custom prediction
+          # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+          # If you specify this field, you must set
+          # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+          # you must set `machineType` to a [legacy (MLS1)
+          # machine type](/ml-engine/docs/machine-types-online-prediction).
+          #
+          # The following code sample provides the Predictor interface:
+          #
+          # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
+          # class Predictor(object):
+          # &quot;&quot;&quot;Interface for constructing custom predictors.&quot;&quot;&quot;
+          #
+          # def predict(self, instances, **kwargs):
+          #     &quot;&quot;&quot;Performs custom prediction.
+          #
+          #     Instances are the decoded values from the request. They have already
+          #     been deserialized from JSON.
+          #
+          #     Args:
+          #         instances: A list of prediction input instances.
+          #         **kwargs: A dictionary of keyword args provided as additional
+          #             fields on the predict request body.
+          #
+          #     Returns:
+          #         A list of outputs containing the prediction results. This list must
+          #         be JSON serializable.
+          #     &quot;&quot;&quot;
+          #     raise NotImplementedError()
+          #
+          # @classmethod
+          # def from_path(cls, model_dir):
+          #     &quot;&quot;&quot;Creates an instance of Predictor using the given path.
+          #
+          #     Loading of the predictor should be done in this method.
+          #
+          #     Args:
+          #         model_dir: The local directory that contains the exported model
+          #             file along with any additional files uploaded when creating the
+          #             version resource.
+          #
+          #     Returns:
+          #         An instance implementing this Predictor class.
+          #     &quot;&quot;&quot;
+          #     raise NotImplementedError()
+          # &lt;/pre&gt;
+          #
+          # Learn more about [the Predictor interface and custom prediction
+          # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+      &quot;deploymentUri&quot;: &quot;A String&quot;, # Required. The Cloud Storage location of the trained model used to
+          # create the version. See the
+          # [guide to model
+          # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
+          # information.
+          #
+          # When passing Version to
+          # 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.
+          # The total number of model files can&#x27;t exceed 1000.
+      &quot;packageUris&quot;: [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
+          # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
+          # or [scikit-learn pipelines with custom
+          # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
+          #
+          # For a custom prediction routine, one of these packages must contain your
+          # Predictor class (see
+          # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
+          # include any dependencies used by your Predictor or scikit-learn pipeline
+          # uses that are not already included in your selected [runtime
+          # version](/ml-engine/docs/tensorflow/runtime-version-list).
+          #
+          # If you specify this field, you must also set
+          # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
+        &quot;A String&quot;,
+      ],
+      &quot;explanationConfig&quot;: { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model&#x27;s version.
+          # Some explanation features require additional metadata to be loaded
+          # as part of the model payload.
+          # There are two feature attribution methods supported for TensorFlow models:
+          # integrated gradients and sampled Shapley.
+          # [Learn more about feature
+          # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+        &quot;integratedGradientsAttribution&quot;: { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+            # of the model&#x27;s fully differentiable structure. Refer to this paper for
+            # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+            # of the model&#x27;s fully differentiable structure. Refer to this paper for
+            # more details: https://arxiv.org/abs/1703.01365
+          &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
+              # A good value to start is 50 and gradually increase until the
+              # sum to diff property is met within the desired error range.
+        },
+        &quot;sampledShapleyAttribution&quot;: { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+            # contribute to the label being predicted. A sampling strategy is used to
+            # approximate the value rather than considering all subsets of features.
+            # contribute to the label being predicted. A sampling strategy is used to
+            # approximate the value rather than considering all subsets of features.
+          &quot;numPaths&quot;: 42, # The number of feature permutations to consider when approximating the
+              # Shapley values.
+        },
+        &quot;xraiAttribution&quot;: { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+            # of the model&#x27;s fully differentiable structure. Refer to this paper for
+            # more details: https://arxiv.org/abs/1906.02825
+            # Currently only implemented for models with natural image inputs.
+            # of the model&#x27;s fully differentiable structure. Refer to this paper for
+            # more details: https://arxiv.org/abs/1906.02825
+            # Currently only implemented for models with natural image inputs.
+          &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
+              # A good value to start is 50 and gradually increase until the
+              # sum to diff property is met within the desired error range.
+        },
+      },
+      &quot;autoScaling&quot;: { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
+          # response to increases and decreases in traffic. Care should be
+          # taken to ramp up traffic according to the model&#x27;s ability to scale
+          # or you will start seeing increases in latency and 429 response codes.
+          #
+          # Note that you cannot use AutoScaling if your version uses
+          # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
+          # `manual_scaling`.
+        &quot;minNodes&quot;: 42, # Optional. The minimum number of nodes to allocate for this model. These
+            # nodes are always up, starting from the time the model is deployed.
+            # Therefore, the cost of operating this model will be at least
+            # `rate` * `min_nodes` * number of hours since last billing cycle,
+            # where `rate` is the cost per node-hour as documented in the
+            # [pricing guide](/ml-engine/docs/pricing),
+            # even if no predictions are performed. There is additional cost for each
+            # prediction performed.
+            #
+            # Unlike manual scaling, if the load gets too heavy for the nodes
+            # that are up, the service will automatically add nodes to handle the
+            # increased load as well as scale back as traffic drops, always maintaining
+            # at least `min_nodes`. You will be charged for the time in which additional
+            # nodes are used.
+            #
+            # If `min_nodes` is not specified and AutoScaling is used with a [legacy
+            # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
+            # `min_nodes` defaults to 0, in which case, when traffic to a model stops
+            # (and after a cool-down period), nodes will be shut down and no charges will
+            # be incurred until traffic to the model resumes.
+            #
+            # If `min_nodes` is not specified and AutoScaling is used with a [Compute
+            # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
+            # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
+            # Compute Engine machine type.
+            #
+            # Note that you cannot use AutoScaling if your version uses
+            # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
+            # ManualScaling.
+            #
+            # You can set `min_nodes` when creating the model version, and you can also
+            # update `min_nodes` for an existing version:
+            # &lt;pre&gt;
+            # update_body.json:
+            # {
+            #   &#x27;autoScaling&#x27;: {
+            #     &#x27;minNodes&#x27;: 5
+            #   }
+            # }
+            # &lt;/pre&gt;
+            # HTTP request:
+            # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
+            # PATCH
+            # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
+            # -d @./update_body.json
+            # &lt;/pre&gt;
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+      &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your model
+          # versions. Each label is a key-value pair, where both the key and the value
+          # are arbitrary strings that you supply.
           # For more information, see the documentation on
           # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the model when it was created.
+      &quot;requestLoggingConfig&quot;: { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
+          # projects.models.versions.patch
+          # request. Specifying it in a
+          # projects.models.versions.create
+          # request has no effect.
           #
-          # The model name must be unique within the project it is created in.
-      &quot;defaultVersion&quot;: { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
-          # handle prediction requests that do not specify a version.
+          # Configures the request-response pair logging on predictions from this
+          # Version.
+          # Online prediction requests to a model version and the responses to these
+          # requests are converted to raw strings and saved to the specified BigQuery
+          # table. Logging is constrained by [BigQuery quotas and
+          # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
+          # AI Platform Prediction does not log request-response pairs, but it continues
+          # to serve predictions.
           #
-          # You can change the default version by calling
-          # projects.models.versions.setDefault.
-          #
-          # 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.
-        &quot;state&quot;: &quot;A String&quot;, # Output only. The state of a version.
-        &quot;manualScaling&quot;: { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
-            # model. You should generally use `auto_scaling` with an appropriate
-            # `min_nodes` instead, but this option is available if you want more
-            # predictable billing. Beware that latency and error rates will increase
-            # if the traffic exceeds that capability of the system to serve it based
-            # on the selected number of nodes.
-          &quot;nodes&quot;: 42, # The number of nodes to allocate for this model. These nodes are always up,
-              # starting from the time the model is deployed, so the cost of operating
-              # this model will be proportional to `nodes` * number of hours since
-              # last billing cycle plus the cost for each prediction performed.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the version when it was created.
+          # If you are using [continuous
+          # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
+          # specify this configuration manually. Setting up continuous evaluation
+          # automatically enables logging of request-response pairs.
+        &quot;bigqueryTableName&quot;: &quot;A String&quot;, # Required. Fully qualified BigQuery table name in the following format:
+            # &quot;&lt;var&gt;project_id&lt;/var&gt;.&lt;var&gt;dataset_name&lt;/var&gt;.&lt;var&gt;table_name&lt;/var&gt;&quot;
             #
-            # The version name must be unique within the model it is created in.
-        &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
-        &quot;pythonVersion&quot;: &quot;A String&quot;, # Required. The version of Python used in prediction.
+            # The specified table must already exist, and the &quot;Cloud ML Service Agent&quot;
+            # for your project must have permission to write to it. The table must have
+            # the following [schema](/bigquery/docs/schemas):
             #
-            # The following Python versions are available:
-            #
-            # * Python &#x27;3.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
-            #   later.
-            # * Python &#x27;3.5&#x27; is available when `runtime_version` is set to a version
-            #   from &#x27;1.4&#x27; to &#x27;1.14&#x27;.
-            # * Python &#x27;2.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
-            #   earlier.
-            #
-            # Read more about the Python versions available for [each runtime
-            # version](/ml-engine/docs/runtime-version-list).
-        &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
-        &quot;predictionClass&quot;: &quot;A String&quot;, # Optional. The fully qualified name
-            # (&lt;var&gt;module_name&lt;/var&gt;.&lt;var&gt;class_name&lt;/var&gt;) of a class that implements
-            # the Predictor interface described in this reference field. The module
-            # containing this class should be included in a package provided to the
-            # [`packageUris` field](#Version.FIELDS.package_uris).
-            #
-            # Specify this field if and only if you are deploying a [custom prediction
-            # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
-            # If you specify this field, you must set
-            # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
-            # you must set `machineType` to a [legacy (MLS1)
-            # machine type](/ml-engine/docs/machine-types-online-prediction).
-            #
-            # The following code sample provides the Predictor interface:
-            #
-            # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
-            # class Predictor(object):
-            # &quot;&quot;&quot;Interface for constructing custom predictors.&quot;&quot;&quot;
-            #
-            # def predict(self, instances, **kwargs):
-            #     &quot;&quot;&quot;Performs custom prediction.
-            #
-            #     Instances are the decoded values from the request. They have already
-            #     been deserialized from JSON.
-            #
-            #     Args:
-            #         instances: A list of prediction input instances.
-            #         **kwargs: A dictionary of keyword args provided as additional
-            #             fields on the predict request body.
-            #
-            #     Returns:
-            #         A list of outputs containing the prediction results. This list must
-            #         be JSON serializable.
-            #     &quot;&quot;&quot;
-            #     raise NotImplementedError()
-            #
-            # @classmethod
-            # def from_path(cls, model_dir):
-            #     &quot;&quot;&quot;Creates an instance of Predictor using the given path.
-            #
-            #     Loading of the predictor should be done in this method.
-            #
-            #     Args:
-            #         model_dir: The local directory that contains the exported model
-            #             file along with any additional files uploaded when creating the
-            #             version resource.
-            #
-            #     Returns:
-            #         An instance implementing this Predictor class.
-            #     &quot;&quot;&quot;
-            #     raise NotImplementedError()
-            # &lt;/pre&gt;
-            #
-            # Learn more about [the Predictor interface and custom prediction
-            # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
-        &quot;packageUris&quot;: [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
-            # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
-            # or [scikit-learn pipelines with custom
-            # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
-            #
-            # For a custom prediction routine, one of these packages must contain your
-            # Predictor class (see
-            # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
-            # include any dependencies used by your Predictor or scikit-learn pipeline
-            # uses that are not already included in your selected [runtime
-            # version](/ml-engine/docs/tensorflow/runtime-version-list).
-            #
-            # If you specify this field, you must also set
-            # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
-          &quot;A String&quot;,
-        ],
-        &quot;explanationConfig&quot;: { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model&#x27;s version.
-            # Some explanation features require additional metadata to be loaded
-            # as part of the model payload.
-            # There are two feature attribution methods supported for TensorFlow models:
-            # integrated gradients and sampled Shapley.
-            # [Learn more about feature
-            # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
-          &quot;integratedGradientsAttribution&quot;: { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
-              # of the model&#x27;s fully differentiable structure. Refer to this paper for
-              # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
-              # of the model&#x27;s fully differentiable structure. Refer to this paper for
-              # more details: https://arxiv.org/abs/1703.01365
-            &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
-                # A good value to start is 50 and gradually increase until the
-                # sum to diff property is met within the desired error range.
-          },
-          &quot;sampledShapleyAttribution&quot;: { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
-              # contribute to the label being predicted. A sampling strategy is used to
-              # approximate the value rather than considering all subsets of features.
-              # contribute to the label being predicted. A sampling strategy is used to
-              # approximate the value rather than considering all subsets of features.
-            &quot;numPaths&quot;: 42, # The number of feature permutations to consider when approximating the
-                # Shapley values.
-          },
-          &quot;xraiAttribution&quot;: { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
-              # of the model&#x27;s fully differentiable structure. Refer to this paper for
-              # more details: https://arxiv.org/abs/1906.02825
-              # Currently only implemented for models with natural image inputs.
-              # of the model&#x27;s fully differentiable structure. Refer to this paper for
-              # more details: https://arxiv.org/abs/1906.02825
-              # Currently only implemented for models with natural image inputs.
-            &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
-                # A good value to start is 50 and gradually increase until the
-                # sum to diff property is met within the desired error range.
-          },
-        },
-        &quot;deploymentUri&quot;: &quot;A String&quot;, # Required. The Cloud Storage location of the trained model used to
-            # create the version. See the
-            # [guide to model
-            # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
-            # information.
-            #
-            # When passing Version to
-            # 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.
-            # The total number of model files can&#x27;t exceed 1000.
-        &quot;autoScaling&quot;: { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
-            # response to increases and decreases in traffic. Care should be
-            # taken to ramp up traffic according to the model&#x27;s ability to scale
-            # or you will start seeing increases in latency and 429 response codes.
-            #
-            # Note that you cannot use AutoScaling if your version uses
-            # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
-            # `manual_scaling`.
-          &quot;minNodes&quot;: 42, # Optional. The minimum number of nodes to allocate for this model. These
-              # nodes are always up, starting from the time the model is deployed.
-              # Therefore, the cost of operating this model will be at least
-              # `rate` * `min_nodes` * number of hours since last billing cycle,
-              # where `rate` is the cost per node-hour as documented in the
-              # [pricing guide](/ml-engine/docs/pricing),
-              # even if no predictions are performed. There is additional cost for each
-              # prediction performed.
-              #
-              # Unlike manual scaling, if the load gets too heavy for the nodes
-              # that are up, the service will automatically add nodes to handle the
-              # increased load as well as scale back as traffic drops, always maintaining
-              # at least `min_nodes`. You will be charged for the time in which additional
-              # nodes are used.
-              #
-              # If `min_nodes` is not specified and AutoScaling is used with a [legacy
-              # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
-              # `min_nodes` defaults to 0, in which case, when traffic to a model stops
-              # (and after a cool-down period), nodes will be shut down and no charges will
-              # be incurred until traffic to the model resumes.
-              #
-              # If `min_nodes` is not specified and AutoScaling is used with a [Compute
-              # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
-              # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
-              # Compute Engine machine type.
-              #
-              # Note that you cannot use AutoScaling if your version uses
-              # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
-              # ManualScaling.
-              #
-              # You can set `min_nodes` when creating the model version, and you can also
-              # update `min_nodes` for an existing version:
-              # &lt;pre&gt;
-              # update_body.json:
-              # {
-              #   &#x27;autoScaling&#x27;: {
-              #     &#x27;minNodes&#x27;: 5
-              #   }
-              # }
-              # &lt;/pre&gt;
-              # HTTP request:
-              # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
-              # PATCH
-              # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
-              # -d @./update_body.json
-              # &lt;/pre&gt;
-        },
-        &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your model
-            # versions. Each label is a key-value pair, where both the key and the value
-            # are arbitrary strings that you supply.
-            # For more information, see the documentation on
-            # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
-          &quot;a_key&quot;: &quot;A String&quot;,
-        },
-        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
-        &quot;requestLoggingConfig&quot;: { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
-            # projects.models.versions.patch
-            # request. Specifying it in a
-            # projects.models.versions.create
-            # request has no effect.
-            #
-            # Configures the request-response pair logging on predictions from this
-            # Version.
-            # Online prediction requests to a model version and the responses to these
-            # requests are converted to raw strings and saved to the specified BigQuery
-            # table. Logging is constrained by [BigQuery quotas and
-            # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
-            # AI Platform Prediction does not log request-response pairs, but it continues
-            # to serve predictions.
-            #
-            # If you are using [continuous
-            # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
-            # specify this configuration manually. Setting up continuous evaluation
-            # automatically enables logging of request-response pairs.
-          &quot;bigqueryTableName&quot;: &quot;A String&quot;, # Required. Fully qualified BigQuery table name in the following format:
-              # &quot;&lt;var&gt;project_id&lt;/var&gt;.&lt;var&gt;dataset_name&lt;/var&gt;.&lt;var&gt;table_name&lt;/var&gt;&quot;
-              #
-              # The specified table must already exist, and the &quot;Cloud ML Service Agent&quot;
-              # for your project must have permission to write to it. The table must have
-              # the following [schema](/bigquery/docs/schemas):
-              #
-              # &lt;table&gt;
-              #   &lt;tr&gt;&lt;th&gt;Field name&lt;/th&gt;&lt;th style=&quot;display: table-cell&quot;&gt;Type&lt;/th&gt;
-              #     &lt;th style=&quot;display: table-cell&quot;&gt;Mode&lt;/th&gt;&lt;/tr&gt;
-              #   &lt;tr&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-              #   &lt;tr&gt;&lt;td&gt;model_version&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-              #   &lt;tr&gt;&lt;td&gt;time&lt;/td&gt;&lt;td&gt;TIMESTAMP&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-              #   &lt;tr&gt;&lt;td&gt;raw_data&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-              #   &lt;tr&gt;&lt;td&gt;raw_prediction&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
-              #   &lt;tr&gt;&lt;td&gt;groundtruth&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
-              # &lt;/table&gt;
-          &quot;samplingPercentage&quot;: 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
-              # For example, if you want to log 10% of requests, enter `0.1`. The sampling
-              # window is the lifetime of the model version. Defaults to 0.
-        },
-        &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
-        &quot;machineType&quot;: &quot;A String&quot;, # Optional. The type of machine on which to serve the model. Currently only
-            # applies to online prediction service. If this field is not specified, it
-            # defaults to `mls1-c1-m2`.
-            #
-            # Online prediction supports the following machine types:
-            #
-            # * `mls1-c1-m2`
-            # * `mls1-c4-m2`
-            # * `n1-standard-2`
-            # * `n1-standard-4`
-            # * `n1-standard-8`
-            # * `n1-standard-16`
-            # * `n1-standard-32`
-            # * `n1-highmem-2`
-            # * `n1-highmem-4`
-            # * `n1-highmem-8`
-            # * `n1-highmem-16`
-            # * `n1-highmem-32`
-            # * `n1-highcpu-2`
-            # * `n1-highcpu-4`
-            # * `n1-highcpu-8`
-            # * `n1-highcpu-16`
-            # * `n1-highcpu-32`
-            #
-            # `mls1-c1-m2` is generally available. All other machine types are available
-            # in beta. Learn more about the [differences between machine
-            # types](/ml-engine/docs/machine-types-online-prediction).
-        &quot;runtimeVersion&quot;: &quot;A String&quot;, # Required. The AI Platform runtime version to use for this deployment.
-            #
-            # For more information, see the
-            # [runtime version list](/ml-engine/docs/runtime-version-list) and
-            # [how to manage runtime versions](/ml-engine/docs/versioning).
-        &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the version when it was created.
-        &quot;framework&quot;: &quot;A String&quot;, # Optional. The machine learning framework AI Platform uses to train
-            # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
-            # `XGBOOST`. If you do not specify a framework, AI Platform
-            # will analyze files in the deployment_uri to determine a framework. If you
-            # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
-            # of the model to 1.4 or greater.
-            #
-            # Do **not** specify a framework if you&#x27;re deploying a [custom
-            # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
-            #
-            # If you specify a [Compute Engine (N1) machine
-            # type](/ml-engine/docs/machine-types-online-prediction) in the
-            # `machineType` field, you must specify `TENSORFLOW`
-            # for the framework.
-        &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-            # prevent simultaneous updates of a model from overwriting each other.
-            # It is strongly suggested that systems make use of the `etag` in the
-            # read-modify-write cycle to perform model updates in order to avoid race
-            # conditions: An `etag` is returned in the response to `GetVersion`, and
-            # systems are expected to put that etag in the request to `UpdateVersion` to
-            # ensure that their change will be applied to the model as intended.
-        &quot;isDefault&quot;: 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.
-        &quot;acceleratorConfig&quot;: { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
-            # Only specify this field if you have specified a Compute Engine (N1) machine
-            # type in the `machineType` field. Learn more about [using GPUs for online
-            # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-            # Note that the AcceleratorConfig can be used in both Jobs and Versions.
-            # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
-            # [accelerators for online
-            # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-          &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
-          &quot;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
-        },
+            # &lt;table&gt;
+            #   &lt;tr&gt;&lt;th&gt;Field name&lt;/th&gt;&lt;th style=&quot;display: table-cell&quot;&gt;Type&lt;/th&gt;
+            #     &lt;th style=&quot;display: table-cell&quot;&gt;Mode&lt;/th&gt;&lt;/tr&gt;
+            #   &lt;tr&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+            #   &lt;tr&gt;&lt;td&gt;model_version&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+            #   &lt;tr&gt;&lt;td&gt;time&lt;/td&gt;&lt;td&gt;TIMESTAMP&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+            #   &lt;tr&gt;&lt;td&gt;raw_data&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+            #   &lt;tr&gt;&lt;td&gt;raw_prediction&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
+            #   &lt;tr&gt;&lt;td&gt;groundtruth&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
+            # &lt;/table&gt;
+        &quot;samplingPercentage&quot;: 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+            # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+            # window is the lifetime of the model version. Defaults to 0.
       },
-      &quot;onlinePredictionConsoleLogging&quot;: True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
-          # streams to Stackdriver Logging. These can be more verbose than the standard
-          # access logs (see `onlinePredictionLogging`) and can incur higher cost.
-          # However, they are helpful for debugging. Note that
-          # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-          # your project receives prediction requests at a high QPS. Estimate your
-          # costs before enabling this option.
+      &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+      &quot;machineType&quot;: &quot;A String&quot;, # Optional. The type of machine on which to serve the model. Currently only
+          # applies to online prediction service. If this field is not specified, it
+          # defaults to `mls1-c1-m2`.
           #
-          # Default is false.
-      &quot;regions&quot;: [ # Optional. The list of regions where the model is going to be deployed.
-          # Only one region per model is supported.
-          # Defaults to &#x27;us-central1&#x27; if nothing is set.
-          # See the &lt;a href=&quot;/ml-engine/docs/tensorflow/regions&quot;&gt;available regions&lt;/a&gt;
-          # for AI Platform services.
-          # Note:
-          # *   No matter where a model is deployed, it can always be accessed by
-          #     users from anywhere, both for online and batch prediction.
-          # *   The region for a batch prediction job is set by the region field when
-          #     submitting the batch prediction job and does not take its value from
-          #     this field.
-        &quot;A String&quot;,
-      ],
-      &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the model when it was created.
-      &quot;onlinePredictionLogging&quot;: True or False, # Optional. If true, online prediction access logs are sent to StackDriver
-          # Logging. These logs are like standard server access logs, containing
-          # information like timestamp and latency for each request. Note that
-          # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-          # your project receives prediction requests at a high queries per second rate
-          # (QPS). Estimate your costs before enabling this option.
+          # Online prediction supports the following machine types:
           #
-          # Default is false.
+          # * `mls1-c1-m2`
+          # * `mls1-c4-m2`
+          # * `n1-standard-2`
+          # * `n1-standard-4`
+          # * `n1-standard-8`
+          # * `n1-standard-16`
+          # * `n1-standard-32`
+          # * `n1-highmem-2`
+          # * `n1-highmem-4`
+          # * `n1-highmem-8`
+          # * `n1-highmem-16`
+          # * `n1-highmem-32`
+          # * `n1-highcpu-2`
+          # * `n1-highcpu-4`
+          # * `n1-highcpu-8`
+          # * `n1-highcpu-16`
+          # * `n1-highcpu-32`
+          #
+          # `mls1-c1-m2` is generally available. All other machine types are available
+          # in beta. Learn more about the [differences between machine
+          # types](/ml-engine/docs/machine-types-online-prediction).
+      &quot;runtimeVersion&quot;: &quot;A String&quot;, # Required. The AI Platform runtime version to use for this deployment.
+          #
+          # For more information, see the
+          # [runtime version list](/ml-engine/docs/runtime-version-list) and
+          # [how to manage runtime versions](/ml-engine/docs/versioning).
+      &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the version when it was created.
+      &quot;framework&quot;: &quot;A String&quot;, # Optional. The machine learning framework AI Platform uses to train
+          # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
+          # `XGBOOST`. If you do not specify a framework, AI Platform
+          # will analyze files in the deployment_uri to determine a framework. If you
+          # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
+          # of the model to 1.4 or greater.
+          #
+          # Do **not** specify a framework if you&#x27;re deploying a [custom
+          # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
+          #
+          # If you specify a [Compute Engine (N1) machine
+          # type](/ml-engine/docs/machine-types-online-prediction) in the
+          # `machineType` field, you must specify `TENSORFLOW`
+          # for the framework.
       &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
           # prevent simultaneous updates of a model from overwriting each other.
           # It is strongly suggested that systems make use of the `etag` in the
           # read-modify-write cycle to perform model updates in order to avoid race
-          # conditions: An `etag` is returned in the response to `GetModel`, and
-          # systems are expected to put that etag in the request to `UpdateModel` to
+          # conditions: An `etag` is returned in the response to `GetVersion`, and
+          # systems are expected to put that etag in the request to `UpdateVersion` to
           # ensure that their change will be applied to the model as intended.
-    }</pre>
+    },
+    &quot;onlinePredictionConsoleLogging&quot;: True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
+        # streams to Stackdriver Logging. These can be more verbose than the standard
+        # access logs (see `onlinePredictionLogging`) and can incur higher cost.
+        # However, they are helpful for debugging. Note that
+        # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+        # your project receives prediction requests at a high QPS. Estimate your
+        # costs before enabling this option.
+        #
+        # Default is false.
+    &quot;regions&quot;: [ # Optional. The list of regions where the model is going to be deployed.
+        # Only one region per model is supported.
+        # Defaults to &#x27;us-central1&#x27; if nothing is set.
+        # See the &lt;a href=&quot;/ml-engine/docs/tensorflow/regions&quot;&gt;available regions&lt;/a&gt;
+        # for AI Platform services.
+        # Note:
+        # *   No matter where a model is deployed, it can always be accessed by
+        #     users from anywhere, both for online and batch prediction.
+        # *   The region for a batch prediction job is set by the region field when
+        #     submitting the batch prediction job and does not take its value from
+        #     this field.
+      &quot;A String&quot;,
+    ],
+    &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the model when it was created.
+    &quot;onlinePredictionLogging&quot;: True or False, # Optional. If true, online prediction access logs are sent to StackDriver
+        # Logging. These logs are like standard server access logs, containing
+        # information like timestamp and latency for each request. Note that
+        # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+        # your project receives prediction requests at a high queries per second rate
+        # (QPS). Estimate your costs before enabling this option.
+        #
+        # Default is false.
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a model from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform model updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `GetModel`, and
+        # systems are expected to put that etag in the request to `UpdateModel` to
+        # ensure that their change will be applied to the model as intended.
+    &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your models.
+        # Each label is a key-value pair, where both the key and the value are
+        # arbitrary strings that you supply.
+        # For more information, see the documentation on
+        # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
+      &quot;a_key&quot;: &quot;A String&quot;,
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the model when it was created.
+        #
+        # The model name must be unique within the project it is created in.
+  }</pre>
 </div>
 
 <div class="method">
@@ -1472,18 +1472,6 @@
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
-    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-        # prevent simultaneous updates of a policy from overwriting each other.
-        # It is strongly suggested that systems make use of the `etag` in the
-        # read-modify-write cycle to perform policy updates in order to avoid race
-        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-        # systems are expected to put that etag in the request to `setIamPolicy` to
-        # ensure that their change will be applied to the same version of the policy.
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
     &quot;version&quot;: 42, # Specifies the format of the policy.
         #
         # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
@@ -1639,15 +1627,15 @@
             # The exact variables and functions that may be referenced within an expression
             # are determined by the service that evaluates it. See the service
             # documentation for additional information.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+              # syntax.
           &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
               # its purpose. This can be used e.g. in UIs which allow to enter the
               # expression.
           &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
               # reporting, e.g. a file name and a position in the file.
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
-          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
-              # syntax.
         },
         &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
@@ -1698,6 +1686,18 @@
             # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
       },
     ],
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
   }</pre>
 </div>
 
@@ -1732,398 +1732,398 @@
   An object of the form:
 
     { # Response message for the ListModels method.
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # Optional. Pass this token as the `page_token` field of the request for a
+        # subsequent call.
     &quot;models&quot;: [ # The list of models.
       { # Represents a machine learning solution.
+          #
+          # A model can have multiple versions, each of which is a deployed, trained
+          # model ready to receive prediction requests. The model itself is just a
+          # container.
+        &quot;defaultVersion&quot;: { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
+            # handle prediction requests that do not specify a version.
             #
-            # A model can have multiple versions, each of which is a deployed, trained
-            # model ready to receive prediction requests. The model itself is just a
-            # container.
-          &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your models.
-              # Each label is a key-value pair, where both the key and the value are
-              # arbitrary strings that you supply.
+            # You can change the default version by calling
+            # projects.models.versions.setDefault.
+            #
+            # 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.
+          &quot;acceleratorConfig&quot;: { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+              # Only specify this field if you have specified a Compute Engine (N1) machine
+              # type in the `machineType` field. Learn more about [using GPUs for online
+              # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+              # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+              # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+              # [accelerators for online
+              # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+            &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
+            &quot;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+          },
+          &quot;isDefault&quot;: 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.
+          &quot;manualScaling&quot;: { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
+              # model. You should generally use `auto_scaling` with an appropriate
+              # `min_nodes` instead, but this option is available if you want more
+              # predictable billing. Beware that latency and error rates will increase
+              # if the traffic exceeds that capability of the system to serve it based
+              # on the selected number of nodes.
+            &quot;nodes&quot;: 42, # The number of nodes to allocate for this model. These nodes are always up,
+                # starting from the time the model is deployed, so the cost of operating
+                # this model will be proportional to `nodes` * number of hours since
+                # last billing cycle plus the cost for each prediction performed.
+          },
+          &quot;state&quot;: &quot;A String&quot;, # Output only. The state of a version.
+          &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the version when it was created.
+              #
+              # The version name must be unique within the model it is created in.
+          &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+          &quot;pythonVersion&quot;: &quot;A String&quot;, # Required. The version of Python used in prediction.
+              #
+              # The following Python versions are available:
+              #
+              # * Python &#x27;3.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
+              #   later.
+              # * Python &#x27;3.5&#x27; is available when `runtime_version` is set to a version
+              #   from &#x27;1.4&#x27; to &#x27;1.14&#x27;.
+              # * Python &#x27;2.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
+              #   earlier.
+              #
+              # Read more about the Python versions available for [each runtime
+              # version](/ml-engine/docs/runtime-version-list).
+          &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
+          &quot;predictionClass&quot;: &quot;A String&quot;, # Optional. The fully qualified name
+              # (&lt;var&gt;module_name&lt;/var&gt;.&lt;var&gt;class_name&lt;/var&gt;) of a class that implements
+              # the Predictor interface described in this reference field. The module
+              # containing this class should be included in a package provided to the
+              # [`packageUris` field](#Version.FIELDS.package_uris).
+              #
+              # Specify this field if and only if you are deploying a [custom prediction
+              # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+              # If you specify this field, you must set
+              # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+              # you must set `machineType` to a [legacy (MLS1)
+              # machine type](/ml-engine/docs/machine-types-online-prediction).
+              #
+              # The following code sample provides the Predictor interface:
+              #
+              # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
+              # class Predictor(object):
+              # &quot;&quot;&quot;Interface for constructing custom predictors.&quot;&quot;&quot;
+              #
+              # def predict(self, instances, **kwargs):
+              #     &quot;&quot;&quot;Performs custom prediction.
+              #
+              #     Instances are the decoded values from the request. They have already
+              #     been deserialized from JSON.
+              #
+              #     Args:
+              #         instances: A list of prediction input instances.
+              #         **kwargs: A dictionary of keyword args provided as additional
+              #             fields on the predict request body.
+              #
+              #     Returns:
+              #         A list of outputs containing the prediction results. This list must
+              #         be JSON serializable.
+              #     &quot;&quot;&quot;
+              #     raise NotImplementedError()
+              #
+              # @classmethod
+              # def from_path(cls, model_dir):
+              #     &quot;&quot;&quot;Creates an instance of Predictor using the given path.
+              #
+              #     Loading of the predictor should be done in this method.
+              #
+              #     Args:
+              #         model_dir: The local directory that contains the exported model
+              #             file along with any additional files uploaded when creating the
+              #             version resource.
+              #
+              #     Returns:
+              #         An instance implementing this Predictor class.
+              #     &quot;&quot;&quot;
+              #     raise NotImplementedError()
+              # &lt;/pre&gt;
+              #
+              # Learn more about [the Predictor interface and custom prediction
+              # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+          &quot;deploymentUri&quot;: &quot;A String&quot;, # Required. The Cloud Storage location of the trained model used to
+              # create the version. See the
+              # [guide to model
+              # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
+              # information.
+              #
+              # When passing Version to
+              # 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.
+              # The total number of model files can&#x27;t exceed 1000.
+          &quot;packageUris&quot;: [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
+              # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
+              # or [scikit-learn pipelines with custom
+              # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
+              #
+              # For a custom prediction routine, one of these packages must contain your
+              # Predictor class (see
+              # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
+              # include any dependencies used by your Predictor or scikit-learn pipeline
+              # uses that are not already included in your selected [runtime
+              # version](/ml-engine/docs/tensorflow/runtime-version-list).
+              #
+              # If you specify this field, you must also set
+              # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
+            &quot;A String&quot;,
+          ],
+          &quot;explanationConfig&quot;: { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model&#x27;s version.
+              # Some explanation features require additional metadata to be loaded
+              # as part of the model payload.
+              # There are two feature attribution methods supported for TensorFlow models:
+              # integrated gradients and sampled Shapley.
+              # [Learn more about feature
+              # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+            &quot;integratedGradientsAttribution&quot;: { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+                # of the model&#x27;s fully differentiable structure. Refer to this paper for
+                # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+                # of the model&#x27;s fully differentiable structure. Refer to this paper for
+                # more details: https://arxiv.org/abs/1703.01365
+              &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
+                  # A good value to start is 50 and gradually increase until the
+                  # sum to diff property is met within the desired error range.
+            },
+            &quot;sampledShapleyAttribution&quot;: { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+                # contribute to the label being predicted. A sampling strategy is used to
+                # approximate the value rather than considering all subsets of features.
+                # contribute to the label being predicted. A sampling strategy is used to
+                # approximate the value rather than considering all subsets of features.
+              &quot;numPaths&quot;: 42, # The number of feature permutations to consider when approximating the
+                  # Shapley values.
+            },
+            &quot;xraiAttribution&quot;: { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+                # of the model&#x27;s fully differentiable structure. Refer to this paper for
+                # more details: https://arxiv.org/abs/1906.02825
+                # Currently only implemented for models with natural image inputs.
+                # of the model&#x27;s fully differentiable structure. Refer to this paper for
+                # more details: https://arxiv.org/abs/1906.02825
+                # Currently only implemented for models with natural image inputs.
+              &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
+                  # A good value to start is 50 and gradually increase until the
+                  # sum to diff property is met within the desired error range.
+            },
+          },
+          &quot;autoScaling&quot;: { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
+              # response to increases and decreases in traffic. Care should be
+              # taken to ramp up traffic according to the model&#x27;s ability to scale
+              # or you will start seeing increases in latency and 429 response codes.
+              #
+              # Note that you cannot use AutoScaling if your version uses
+              # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
+              # `manual_scaling`.
+            &quot;minNodes&quot;: 42, # Optional. The minimum number of nodes to allocate for this model. These
+                # nodes are always up, starting from the time the model is deployed.
+                # Therefore, the cost of operating this model will be at least
+                # `rate` * `min_nodes` * number of hours since last billing cycle,
+                # where `rate` is the cost per node-hour as documented in the
+                # [pricing guide](/ml-engine/docs/pricing),
+                # even if no predictions are performed. There is additional cost for each
+                # prediction performed.
+                #
+                # Unlike manual scaling, if the load gets too heavy for the nodes
+                # that are up, the service will automatically add nodes to handle the
+                # increased load as well as scale back as traffic drops, always maintaining
+                # at least `min_nodes`. You will be charged for the time in which additional
+                # nodes are used.
+                #
+                # If `min_nodes` is not specified and AutoScaling is used with a [legacy
+                # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
+                # `min_nodes` defaults to 0, in which case, when traffic to a model stops
+                # (and after a cool-down period), nodes will be shut down and no charges will
+                # be incurred until traffic to the model resumes.
+                #
+                # If `min_nodes` is not specified and AutoScaling is used with a [Compute
+                # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
+                # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
+                # Compute Engine machine type.
+                #
+                # Note that you cannot use AutoScaling if your version uses
+                # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
+                # ManualScaling.
+                #
+                # You can set `min_nodes` when creating the model version, and you can also
+                # update `min_nodes` for an existing version:
+                # &lt;pre&gt;
+                # update_body.json:
+                # {
+                #   &#x27;autoScaling&#x27;: {
+                #     &#x27;minNodes&#x27;: 5
+                #   }
+                # }
+                # &lt;/pre&gt;
+                # HTTP request:
+                # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
+                # PATCH
+                # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
+                # -d @./update_body.json
+                # &lt;/pre&gt;
+          },
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+          &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your model
+              # versions. Each label is a key-value pair, where both the key and the value
+              # are arbitrary strings that you supply.
               # For more information, see the documentation on
               # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
             &quot;a_key&quot;: &quot;A String&quot;,
           },
-          &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the model when it was created.
+          &quot;requestLoggingConfig&quot;: { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
+              # projects.models.versions.patch
+              # request. Specifying it in a
+              # projects.models.versions.create
+              # request has no effect.
               #
-              # The model name must be unique within the project it is created in.
-          &quot;defaultVersion&quot;: { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
-              # handle prediction requests that do not specify a version.
+              # Configures the request-response pair logging on predictions from this
+              # Version.
+              # Online prediction requests to a model version and the responses to these
+              # requests are converted to raw strings and saved to the specified BigQuery
+              # table. Logging is constrained by [BigQuery quotas and
+              # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
+              # AI Platform Prediction does not log request-response pairs, but it continues
+              # to serve predictions.
               #
-              # You can change the default version by calling
-              # projects.models.versions.setDefault.
-              #
-              # 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.
-            &quot;state&quot;: &quot;A String&quot;, # Output only. The state of a version.
-            &quot;manualScaling&quot;: { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
-                # model. You should generally use `auto_scaling` with an appropriate
-                # `min_nodes` instead, but this option is available if you want more
-                # predictable billing. Beware that latency and error rates will increase
-                # if the traffic exceeds that capability of the system to serve it based
-                # on the selected number of nodes.
-              &quot;nodes&quot;: 42, # The number of nodes to allocate for this model. These nodes are always up,
-                  # starting from the time the model is deployed, so the cost of operating
-                  # this model will be proportional to `nodes` * number of hours since
-                  # last billing cycle plus the cost for each prediction performed.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the version when it was created.
+              # If you are using [continuous
+              # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
+              # specify this configuration manually. Setting up continuous evaluation
+              # automatically enables logging of request-response pairs.
+            &quot;bigqueryTableName&quot;: &quot;A String&quot;, # Required. Fully qualified BigQuery table name in the following format:
+                # &quot;&lt;var&gt;project_id&lt;/var&gt;.&lt;var&gt;dataset_name&lt;/var&gt;.&lt;var&gt;table_name&lt;/var&gt;&quot;
                 #
-                # The version name must be unique within the model it is created in.
-            &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
-            &quot;pythonVersion&quot;: &quot;A String&quot;, # Required. The version of Python used in prediction.
+                # The specified table must already exist, and the &quot;Cloud ML Service Agent&quot;
+                # for your project must have permission to write to it. The table must have
+                # the following [schema](/bigquery/docs/schemas):
                 #
-                # The following Python versions are available:
-                #
-                # * Python &#x27;3.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
-                #   later.
-                # * Python &#x27;3.5&#x27; is available when `runtime_version` is set to a version
-                #   from &#x27;1.4&#x27; to &#x27;1.14&#x27;.
-                # * Python &#x27;2.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
-                #   earlier.
-                #
-                # Read more about the Python versions available for [each runtime
-                # version](/ml-engine/docs/runtime-version-list).
-            &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
-            &quot;predictionClass&quot;: &quot;A String&quot;, # Optional. The fully qualified name
-                # (&lt;var&gt;module_name&lt;/var&gt;.&lt;var&gt;class_name&lt;/var&gt;) of a class that implements
-                # the Predictor interface described in this reference field. The module
-                # containing this class should be included in a package provided to the
-                # [`packageUris` field](#Version.FIELDS.package_uris).
-                #
-                # Specify this field if and only if you are deploying a [custom prediction
-                # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
-                # If you specify this field, you must set
-                # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
-                # you must set `machineType` to a [legacy (MLS1)
-                # machine type](/ml-engine/docs/machine-types-online-prediction).
-                #
-                # The following code sample provides the Predictor interface:
-                #
-                # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
-                # class Predictor(object):
-                # &quot;&quot;&quot;Interface for constructing custom predictors.&quot;&quot;&quot;
-                #
-                # def predict(self, instances, **kwargs):
-                #     &quot;&quot;&quot;Performs custom prediction.
-                #
-                #     Instances are the decoded values from the request. They have already
-                #     been deserialized from JSON.
-                #
-                #     Args:
-                #         instances: A list of prediction input instances.
-                #         **kwargs: A dictionary of keyword args provided as additional
-                #             fields on the predict request body.
-                #
-                #     Returns:
-                #         A list of outputs containing the prediction results. This list must
-                #         be JSON serializable.
-                #     &quot;&quot;&quot;
-                #     raise NotImplementedError()
-                #
-                # @classmethod
-                # def from_path(cls, model_dir):
-                #     &quot;&quot;&quot;Creates an instance of Predictor using the given path.
-                #
-                #     Loading of the predictor should be done in this method.
-                #
-                #     Args:
-                #         model_dir: The local directory that contains the exported model
-                #             file along with any additional files uploaded when creating the
-                #             version resource.
-                #
-                #     Returns:
-                #         An instance implementing this Predictor class.
-                #     &quot;&quot;&quot;
-                #     raise NotImplementedError()
-                # &lt;/pre&gt;
-                #
-                # Learn more about [the Predictor interface and custom prediction
-                # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
-            &quot;packageUris&quot;: [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
-                # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
-                # or [scikit-learn pipelines with custom
-                # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
-                #
-                # For a custom prediction routine, one of these packages must contain your
-                # Predictor class (see
-                # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
-                # include any dependencies used by your Predictor or scikit-learn pipeline
-                # uses that are not already included in your selected [runtime
-                # version](/ml-engine/docs/tensorflow/runtime-version-list).
-                #
-                # If you specify this field, you must also set
-                # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
-              &quot;A String&quot;,
-            ],
-            &quot;explanationConfig&quot;: { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model&#x27;s version.
-                # Some explanation features require additional metadata to be loaded
-                # as part of the model payload.
-                # There are two feature attribution methods supported for TensorFlow models:
-                # integrated gradients and sampled Shapley.
-                # [Learn more about feature
-                # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
-              &quot;integratedGradientsAttribution&quot;: { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
-                  # of the model&#x27;s fully differentiable structure. Refer to this paper for
-                  # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
-                  # of the model&#x27;s fully differentiable structure. Refer to this paper for
-                  # more details: https://arxiv.org/abs/1703.01365
-                &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
-                    # A good value to start is 50 and gradually increase until the
-                    # sum to diff property is met within the desired error range.
-              },
-              &quot;sampledShapleyAttribution&quot;: { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
-                  # contribute to the label being predicted. A sampling strategy is used to
-                  # approximate the value rather than considering all subsets of features.
-                  # contribute to the label being predicted. A sampling strategy is used to
-                  # approximate the value rather than considering all subsets of features.
-                &quot;numPaths&quot;: 42, # The number of feature permutations to consider when approximating the
-                    # Shapley values.
-              },
-              &quot;xraiAttribution&quot;: { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
-                  # of the model&#x27;s fully differentiable structure. Refer to this paper for
-                  # more details: https://arxiv.org/abs/1906.02825
-                  # Currently only implemented for models with natural image inputs.
-                  # of the model&#x27;s fully differentiable structure. Refer to this paper for
-                  # more details: https://arxiv.org/abs/1906.02825
-                  # Currently only implemented for models with natural image inputs.
-                &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
-                    # A good value to start is 50 and gradually increase until the
-                    # sum to diff property is met within the desired error range.
-              },
-            },
-            &quot;deploymentUri&quot;: &quot;A String&quot;, # Required. The Cloud Storage location of the trained model used to
-                # create the version. See the
-                # [guide to model
-                # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
-                # information.
-                #
-                # When passing Version to
-                # 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.
-                # The total number of model files can&#x27;t exceed 1000.
-            &quot;autoScaling&quot;: { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
-                # response to increases and decreases in traffic. Care should be
-                # taken to ramp up traffic according to the model&#x27;s ability to scale
-                # or you will start seeing increases in latency and 429 response codes.
-                #
-                # Note that you cannot use AutoScaling if your version uses
-                # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
-                # `manual_scaling`.
-              &quot;minNodes&quot;: 42, # Optional. The minimum number of nodes to allocate for this model. These
-                  # nodes are always up, starting from the time the model is deployed.
-                  # Therefore, the cost of operating this model will be at least
-                  # `rate` * `min_nodes` * number of hours since last billing cycle,
-                  # where `rate` is the cost per node-hour as documented in the
-                  # [pricing guide](/ml-engine/docs/pricing),
-                  # even if no predictions are performed. There is additional cost for each
-                  # prediction performed.
-                  #
-                  # Unlike manual scaling, if the load gets too heavy for the nodes
-                  # that are up, the service will automatically add nodes to handle the
-                  # increased load as well as scale back as traffic drops, always maintaining
-                  # at least `min_nodes`. You will be charged for the time in which additional
-                  # nodes are used.
-                  #
-                  # If `min_nodes` is not specified and AutoScaling is used with a [legacy
-                  # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
-                  # `min_nodes` defaults to 0, in which case, when traffic to a model stops
-                  # (and after a cool-down period), nodes will be shut down and no charges will
-                  # be incurred until traffic to the model resumes.
-                  #
-                  # If `min_nodes` is not specified and AutoScaling is used with a [Compute
-                  # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
-                  # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
-                  # Compute Engine machine type.
-                  #
-                  # Note that you cannot use AutoScaling if your version uses
-                  # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
-                  # ManualScaling.
-                  #
-                  # You can set `min_nodes` when creating the model version, and you can also
-                  # update `min_nodes` for an existing version:
-                  # &lt;pre&gt;
-                  # update_body.json:
-                  # {
-                  #   &#x27;autoScaling&#x27;: {
-                  #     &#x27;minNodes&#x27;: 5
-                  #   }
-                  # }
-                  # &lt;/pre&gt;
-                  # HTTP request:
-                  # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
-                  # PATCH
-                  # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
-                  # -d @./update_body.json
-                  # &lt;/pre&gt;
-            },
-            &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your model
-                # versions. Each label is a key-value pair, where both the key and the value
-                # are arbitrary strings that you supply.
-                # For more information, see the documentation on
-                # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
-            &quot;requestLoggingConfig&quot;: { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
-                # projects.models.versions.patch
-                # request. Specifying it in a
-                # projects.models.versions.create
-                # request has no effect.
-                #
-                # Configures the request-response pair logging on predictions from this
-                # Version.
-                # Online prediction requests to a model version and the responses to these
-                # requests are converted to raw strings and saved to the specified BigQuery
-                # table. Logging is constrained by [BigQuery quotas and
-                # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
-                # AI Platform Prediction does not log request-response pairs, but it continues
-                # to serve predictions.
-                #
-                # If you are using [continuous
-                # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
-                # specify this configuration manually. Setting up continuous evaluation
-                # automatically enables logging of request-response pairs.
-              &quot;bigqueryTableName&quot;: &quot;A String&quot;, # Required. Fully qualified BigQuery table name in the following format:
-                  # &quot;&lt;var&gt;project_id&lt;/var&gt;.&lt;var&gt;dataset_name&lt;/var&gt;.&lt;var&gt;table_name&lt;/var&gt;&quot;
-                  #
-                  # The specified table must already exist, and the &quot;Cloud ML Service Agent&quot;
-                  # for your project must have permission to write to it. The table must have
-                  # the following [schema](/bigquery/docs/schemas):
-                  #
-                  # &lt;table&gt;
-                  #   &lt;tr&gt;&lt;th&gt;Field name&lt;/th&gt;&lt;th style=&quot;display: table-cell&quot;&gt;Type&lt;/th&gt;
-                  #     &lt;th style=&quot;display: table-cell&quot;&gt;Mode&lt;/th&gt;&lt;/tr&gt;
-                  #   &lt;tr&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-                  #   &lt;tr&gt;&lt;td&gt;model_version&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-                  #   &lt;tr&gt;&lt;td&gt;time&lt;/td&gt;&lt;td&gt;TIMESTAMP&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-                  #   &lt;tr&gt;&lt;td&gt;raw_data&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-                  #   &lt;tr&gt;&lt;td&gt;raw_prediction&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
-                  #   &lt;tr&gt;&lt;td&gt;groundtruth&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
-                  # &lt;/table&gt;
-              &quot;samplingPercentage&quot;: 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
-                  # For example, if you want to log 10% of requests, enter `0.1`. The sampling
-                  # window is the lifetime of the model version. Defaults to 0.
-            },
-            &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
-            &quot;machineType&quot;: &quot;A String&quot;, # Optional. The type of machine on which to serve the model. Currently only
-                # applies to online prediction service. If this field is not specified, it
-                # defaults to `mls1-c1-m2`.
-                #
-                # Online prediction supports the following machine types:
-                #
-                # * `mls1-c1-m2`
-                # * `mls1-c4-m2`
-                # * `n1-standard-2`
-                # * `n1-standard-4`
-                # * `n1-standard-8`
-                # * `n1-standard-16`
-                # * `n1-standard-32`
-                # * `n1-highmem-2`
-                # * `n1-highmem-4`
-                # * `n1-highmem-8`
-                # * `n1-highmem-16`
-                # * `n1-highmem-32`
-                # * `n1-highcpu-2`
-                # * `n1-highcpu-4`
-                # * `n1-highcpu-8`
-                # * `n1-highcpu-16`
-                # * `n1-highcpu-32`
-                #
-                # `mls1-c1-m2` is generally available. All other machine types are available
-                # in beta. Learn more about the [differences between machine
-                # types](/ml-engine/docs/machine-types-online-prediction).
-            &quot;runtimeVersion&quot;: &quot;A String&quot;, # Required. The AI Platform runtime version to use for this deployment.
-                #
-                # For more information, see the
-                # [runtime version list](/ml-engine/docs/runtime-version-list) and
-                # [how to manage runtime versions](/ml-engine/docs/versioning).
-            &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the version when it was created.
-            &quot;framework&quot;: &quot;A String&quot;, # Optional. The machine learning framework AI Platform uses to train
-                # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
-                # `XGBOOST`. If you do not specify a framework, AI Platform
-                # will analyze files in the deployment_uri to determine a framework. If you
-                # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
-                # of the model to 1.4 or greater.
-                #
-                # Do **not** specify a framework if you&#x27;re deploying a [custom
-                # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
-                #
-                # If you specify a [Compute Engine (N1) machine
-                # type](/ml-engine/docs/machine-types-online-prediction) in the
-                # `machineType` field, you must specify `TENSORFLOW`
-                # for the framework.
-            &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-                # prevent simultaneous updates of a model from overwriting each other.
-                # It is strongly suggested that systems make use of the `etag` in the
-                # read-modify-write cycle to perform model updates in order to avoid race
-                # conditions: An `etag` is returned in the response to `GetVersion`, and
-                # systems are expected to put that etag in the request to `UpdateVersion` to
-                # ensure that their change will be applied to the model as intended.
-            &quot;isDefault&quot;: 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.
-            &quot;acceleratorConfig&quot;: { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
-                # Only specify this field if you have specified a Compute Engine (N1) machine
-                # type in the `machineType` field. Learn more about [using GPUs for online
-                # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-                # Note that the AcceleratorConfig can be used in both Jobs and Versions.
-                # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
-                # [accelerators for online
-                # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-              &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
-              &quot;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
-            },
+                # &lt;table&gt;
+                #   &lt;tr&gt;&lt;th&gt;Field name&lt;/th&gt;&lt;th style=&quot;display: table-cell&quot;&gt;Type&lt;/th&gt;
+                #     &lt;th style=&quot;display: table-cell&quot;&gt;Mode&lt;/th&gt;&lt;/tr&gt;
+                #   &lt;tr&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+                #   &lt;tr&gt;&lt;td&gt;model_version&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+                #   &lt;tr&gt;&lt;td&gt;time&lt;/td&gt;&lt;td&gt;TIMESTAMP&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+                #   &lt;tr&gt;&lt;td&gt;raw_data&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+                #   &lt;tr&gt;&lt;td&gt;raw_prediction&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
+                #   &lt;tr&gt;&lt;td&gt;groundtruth&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
+                # &lt;/table&gt;
+            &quot;samplingPercentage&quot;: 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+                # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+                # window is the lifetime of the model version. Defaults to 0.
           },
-          &quot;onlinePredictionConsoleLogging&quot;: True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
-              # streams to Stackdriver Logging. These can be more verbose than the standard
-              # access logs (see `onlinePredictionLogging`) and can incur higher cost.
-              # However, they are helpful for debugging. Note that
-              # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-              # your project receives prediction requests at a high QPS. Estimate your
-              # costs before enabling this option.
+          &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+          &quot;machineType&quot;: &quot;A String&quot;, # Optional. The type of machine on which to serve the model. Currently only
+              # applies to online prediction service. If this field is not specified, it
+              # defaults to `mls1-c1-m2`.
               #
-              # Default is false.
-          &quot;regions&quot;: [ # Optional. The list of regions where the model is going to be deployed.
-              # Only one region per model is supported.
-              # Defaults to &#x27;us-central1&#x27; if nothing is set.
-              # See the &lt;a href=&quot;/ml-engine/docs/tensorflow/regions&quot;&gt;available regions&lt;/a&gt;
-              # for AI Platform services.
-              # Note:
-              # *   No matter where a model is deployed, it can always be accessed by
-              #     users from anywhere, both for online and batch prediction.
-              # *   The region for a batch prediction job is set by the region field when
-              #     submitting the batch prediction job and does not take its value from
-              #     this field.
-            &quot;A String&quot;,
-          ],
-          &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the model when it was created.
-          &quot;onlinePredictionLogging&quot;: True or False, # Optional. If true, online prediction access logs are sent to StackDriver
-              # Logging. These logs are like standard server access logs, containing
-              # information like timestamp and latency for each request. Note that
-              # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-              # your project receives prediction requests at a high queries per second rate
-              # (QPS). Estimate your costs before enabling this option.
+              # Online prediction supports the following machine types:
               #
-              # Default is false.
+              # * `mls1-c1-m2`
+              # * `mls1-c4-m2`
+              # * `n1-standard-2`
+              # * `n1-standard-4`
+              # * `n1-standard-8`
+              # * `n1-standard-16`
+              # * `n1-standard-32`
+              # * `n1-highmem-2`
+              # * `n1-highmem-4`
+              # * `n1-highmem-8`
+              # * `n1-highmem-16`
+              # * `n1-highmem-32`
+              # * `n1-highcpu-2`
+              # * `n1-highcpu-4`
+              # * `n1-highcpu-8`
+              # * `n1-highcpu-16`
+              # * `n1-highcpu-32`
+              #
+              # `mls1-c1-m2` is generally available. All other machine types are available
+              # in beta. Learn more about the [differences between machine
+              # types](/ml-engine/docs/machine-types-online-prediction).
+          &quot;runtimeVersion&quot;: &quot;A String&quot;, # Required. The AI Platform runtime version to use for this deployment.
+              #
+              # For more information, see the
+              # [runtime version list](/ml-engine/docs/runtime-version-list) and
+              # [how to manage runtime versions](/ml-engine/docs/versioning).
+          &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the version when it was created.
+          &quot;framework&quot;: &quot;A String&quot;, # Optional. The machine learning framework AI Platform uses to train
+              # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
+              # `XGBOOST`. If you do not specify a framework, AI Platform
+              # will analyze files in the deployment_uri to determine a framework. If you
+              # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
+              # of the model to 1.4 or greater.
+              #
+              # Do **not** specify a framework if you&#x27;re deploying a [custom
+              # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
+              #
+              # If you specify a [Compute Engine (N1) machine
+              # type](/ml-engine/docs/machine-types-online-prediction) in the
+              # `machineType` field, you must specify `TENSORFLOW`
+              # for the framework.
           &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
               # prevent simultaneous updates of a model from overwriting each other.
               # It is strongly suggested that systems make use of the `etag` in the
               # read-modify-write cycle to perform model updates in order to avoid race
-              # conditions: An `etag` is returned in the response to `GetModel`, and
-              # systems are expected to put that etag in the request to `UpdateModel` to
+              # conditions: An `etag` is returned in the response to `GetVersion`, and
+              # systems are expected to put that etag in the request to `UpdateVersion` to
               # ensure that their change will be applied to the model as intended.
         },
+        &quot;onlinePredictionConsoleLogging&quot;: True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
+            # streams to Stackdriver Logging. These can be more verbose than the standard
+            # access logs (see `onlinePredictionLogging`) and can incur higher cost.
+            # However, they are helpful for debugging. Note that
+            # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+            # your project receives prediction requests at a high QPS. Estimate your
+            # costs before enabling this option.
+            #
+            # Default is false.
+        &quot;regions&quot;: [ # Optional. The list of regions where the model is going to be deployed.
+            # Only one region per model is supported.
+            # Defaults to &#x27;us-central1&#x27; if nothing is set.
+            # See the &lt;a href=&quot;/ml-engine/docs/tensorflow/regions&quot;&gt;available regions&lt;/a&gt;
+            # for AI Platform services.
+            # Note:
+            # *   No matter where a model is deployed, it can always be accessed by
+            #     users from anywhere, both for online and batch prediction.
+            # *   The region for a batch prediction job is set by the region field when
+            #     submitting the batch prediction job and does not take its value from
+            #     this field.
+          &quot;A String&quot;,
+        ],
+        &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the model when it was created.
+        &quot;onlinePredictionLogging&quot;: True or False, # Optional. If true, online prediction access logs are sent to StackDriver
+            # Logging. These logs are like standard server access logs, containing
+            # information like timestamp and latency for each request. Note that
+            # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+            # your project receives prediction requests at a high queries per second rate
+            # (QPS). Estimate your costs before enabling this option.
+            #
+            # Default is false.
+        &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+            # prevent simultaneous updates of a model from overwriting each other.
+            # It is strongly suggested that systems make use of the `etag` in the
+            # read-modify-write cycle to perform model updates in order to avoid race
+            # conditions: An `etag` is returned in the response to `GetModel`, and
+            # systems are expected to put that etag in the request to `UpdateModel` to
+            # ensure that their change will be applied to the model as intended.
+        &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your models.
+            # Each label is a key-value pair, where both the key and the value are
+            # arbitrary strings that you supply.
+            # For more information, see the documentation on
+            # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+        &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the model when it was created.
+            #
+            # The model name must be unique within the project it is created in.
+      },
     ],
-    &quot;nextPageToken&quot;: &quot;A String&quot;, # Optional. Pass this token as the `page_token` field of the request for a
-        # subsequent call.
   }</pre>
 </div>
 
@@ -2154,393 +2154,393 @@
     The object takes the form of:
 
 { # Represents a machine learning solution.
+    # 
+    # A model can have multiple versions, each of which is a deployed, trained
+    # model ready to receive prediction requests. The model itself is just a
+    # container.
+  &quot;defaultVersion&quot;: { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
+      # handle prediction requests that do not specify a version.
       # 
-      # A model can have multiple versions, each of which is a deployed, trained
-      # model ready to receive prediction requests. The model itself is just a
-      # container.
-    &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your models.
-        # Each label is a key-value pair, where both the key and the value are
-        # arbitrary strings that you supply.
+      # You can change the default version by calling
+      # projects.models.versions.setDefault.
+      #
+      # 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.
+    &quot;acceleratorConfig&quot;: { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
+        # Only specify this field if you have specified a Compute Engine (N1) machine
+        # type in the `machineType` field. Learn more about [using GPUs for online
+        # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+        # Note that the AcceleratorConfig can be used in both Jobs and Versions.
+        # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
+        # [accelerators for online
+        # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
+      &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
+      &quot;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+    },
+    &quot;isDefault&quot;: 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.
+    &quot;manualScaling&quot;: { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
+        # model. You should generally use `auto_scaling` with an appropriate
+        # `min_nodes` instead, but this option is available if you want more
+        # predictable billing. Beware that latency and error rates will increase
+        # if the traffic exceeds that capability of the system to serve it based
+        # on the selected number of nodes.
+      &quot;nodes&quot;: 42, # The number of nodes to allocate for this model. These nodes are always up,
+          # starting from the time the model is deployed, so the cost of operating
+          # this model will be proportional to `nodes` * number of hours since
+          # last billing cycle plus the cost for each prediction performed.
+    },
+    &quot;state&quot;: &quot;A String&quot;, # Output only. The state of a version.
+    &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the version when it was created.
+        #
+        # The version name must be unique within the model it is created in.
+    &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+    &quot;pythonVersion&quot;: &quot;A String&quot;, # Required. The version of Python used in prediction.
+        #
+        # The following Python versions are available:
+        #
+        # * Python &#x27;3.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
+        #   later.
+        # * Python &#x27;3.5&#x27; is available when `runtime_version` is set to a version
+        #   from &#x27;1.4&#x27; to &#x27;1.14&#x27;.
+        # * Python &#x27;2.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
+        #   earlier.
+        #
+        # Read more about the Python versions available for [each runtime
+        # version](/ml-engine/docs/runtime-version-list).
+    &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
+    &quot;predictionClass&quot;: &quot;A String&quot;, # Optional. The fully qualified name
+        # (&lt;var&gt;module_name&lt;/var&gt;.&lt;var&gt;class_name&lt;/var&gt;) of a class that implements
+        # the Predictor interface described in this reference field. The module
+        # containing this class should be included in a package provided to the
+        # [`packageUris` field](#Version.FIELDS.package_uris).
+        #
+        # Specify this field if and only if you are deploying a [custom prediction
+        # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
+        # If you specify this field, you must set
+        # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
+        # you must set `machineType` to a [legacy (MLS1)
+        # machine type](/ml-engine/docs/machine-types-online-prediction).
+        #
+        # The following code sample provides the Predictor interface:
+        #
+        # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
+        # class Predictor(object):
+        # &quot;&quot;&quot;Interface for constructing custom predictors.&quot;&quot;&quot;
+        #
+        # def predict(self, instances, **kwargs):
+        #     &quot;&quot;&quot;Performs custom prediction.
+        #
+        #     Instances are the decoded values from the request. They have already
+        #     been deserialized from JSON.
+        #
+        #     Args:
+        #         instances: A list of prediction input instances.
+        #         **kwargs: A dictionary of keyword args provided as additional
+        #             fields on the predict request body.
+        #
+        #     Returns:
+        #         A list of outputs containing the prediction results. This list must
+        #         be JSON serializable.
+        #     &quot;&quot;&quot;
+        #     raise NotImplementedError()
+        #
+        # @classmethod
+        # def from_path(cls, model_dir):
+        #     &quot;&quot;&quot;Creates an instance of Predictor using the given path.
+        #
+        #     Loading of the predictor should be done in this method.
+        #
+        #     Args:
+        #         model_dir: The local directory that contains the exported model
+        #             file along with any additional files uploaded when creating the
+        #             version resource.
+        #
+        #     Returns:
+        #         An instance implementing this Predictor class.
+        #     &quot;&quot;&quot;
+        #     raise NotImplementedError()
+        # &lt;/pre&gt;
+        #
+        # Learn more about [the Predictor interface and custom prediction
+        # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
+    &quot;deploymentUri&quot;: &quot;A String&quot;, # Required. The Cloud Storage location of the trained model used to
+        # create the version. See the
+        # [guide to model
+        # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
+        # information.
+        #
+        # When passing Version to
+        # 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.
+        # The total number of model files can&#x27;t exceed 1000.
+    &quot;packageUris&quot;: [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
+        # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
+        # or [scikit-learn pipelines with custom
+        # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
+        #
+        # For a custom prediction routine, one of these packages must contain your
+        # Predictor class (see
+        # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
+        # include any dependencies used by your Predictor or scikit-learn pipeline
+        # uses that are not already included in your selected [runtime
+        # version](/ml-engine/docs/tensorflow/runtime-version-list).
+        #
+        # If you specify this field, you must also set
+        # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
+      &quot;A String&quot;,
+    ],
+    &quot;explanationConfig&quot;: { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model&#x27;s version.
+        # Some explanation features require additional metadata to be loaded
+        # as part of the model payload.
+        # There are two feature attribution methods supported for TensorFlow models:
+        # integrated gradients and sampled Shapley.
+        # [Learn more about feature
+        # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
+      &quot;integratedGradientsAttribution&quot;: { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
+          # of the model&#x27;s fully differentiable structure. Refer to this paper for
+          # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
+          # of the model&#x27;s fully differentiable structure. Refer to this paper for
+          # more details: https://arxiv.org/abs/1703.01365
+        &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
+            # A good value to start is 50 and gradually increase until the
+            # sum to diff property is met within the desired error range.
+      },
+      &quot;sampledShapleyAttribution&quot;: { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
+          # contribute to the label being predicted. A sampling strategy is used to
+          # approximate the value rather than considering all subsets of features.
+          # contribute to the label being predicted. A sampling strategy is used to
+          # approximate the value rather than considering all subsets of features.
+        &quot;numPaths&quot;: 42, # The number of feature permutations to consider when approximating the
+            # Shapley values.
+      },
+      &quot;xraiAttribution&quot;: { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
+          # of the model&#x27;s fully differentiable structure. Refer to this paper for
+          # more details: https://arxiv.org/abs/1906.02825
+          # Currently only implemented for models with natural image inputs.
+          # of the model&#x27;s fully differentiable structure. Refer to this paper for
+          # more details: https://arxiv.org/abs/1906.02825
+          # Currently only implemented for models with natural image inputs.
+        &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
+            # A good value to start is 50 and gradually increase until the
+            # sum to diff property is met within the desired error range.
+      },
+    },
+    &quot;autoScaling&quot;: { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
+        # response to increases and decreases in traffic. Care should be
+        # taken to ramp up traffic according to the model&#x27;s ability to scale
+        # or you will start seeing increases in latency and 429 response codes.
+        #
+        # Note that you cannot use AutoScaling if your version uses
+        # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
+        # `manual_scaling`.
+      &quot;minNodes&quot;: 42, # Optional. The minimum number of nodes to allocate for this model. These
+          # nodes are always up, starting from the time the model is deployed.
+          # Therefore, the cost of operating this model will be at least
+          # `rate` * `min_nodes` * number of hours since last billing cycle,
+          # where `rate` is the cost per node-hour as documented in the
+          # [pricing guide](/ml-engine/docs/pricing),
+          # even if no predictions are performed. There is additional cost for each
+          # prediction performed.
+          #
+          # Unlike manual scaling, if the load gets too heavy for the nodes
+          # that are up, the service will automatically add nodes to handle the
+          # increased load as well as scale back as traffic drops, always maintaining
+          # at least `min_nodes`. You will be charged for the time in which additional
+          # nodes are used.
+          #
+          # If `min_nodes` is not specified and AutoScaling is used with a [legacy
+          # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
+          # `min_nodes` defaults to 0, in which case, when traffic to a model stops
+          # (and after a cool-down period), nodes will be shut down and no charges will
+          # be incurred until traffic to the model resumes.
+          #
+          # If `min_nodes` is not specified and AutoScaling is used with a [Compute
+          # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
+          # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
+          # Compute Engine machine type.
+          #
+          # Note that you cannot use AutoScaling if your version uses
+          # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
+          # ManualScaling.
+          #
+          # You can set `min_nodes` when creating the model version, and you can also
+          # update `min_nodes` for an existing version:
+          # &lt;pre&gt;
+          # update_body.json:
+          # {
+          #   &#x27;autoScaling&#x27;: {
+          #     &#x27;minNodes&#x27;: 5
+          #   }
+          # }
+          # &lt;/pre&gt;
+          # HTTP request:
+          # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
+          # PATCH
+          # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
+          # -d @./update_body.json
+          # &lt;/pre&gt;
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+    &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your model
+        # versions. Each label is a key-value pair, where both the key and the value
+        # are arbitrary strings that you supply.
         # For more information, see the documentation on
         # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
-    &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the model when it was created.
-        # 
-        # The model name must be unique within the project it is created in.
-    &quot;defaultVersion&quot;: { # Represents a version of the model. # Output only. The default version of the model. This version will be used to
-        # handle prediction requests that do not specify a version.
-        # 
-        # You can change the default version by calling
-        # projects.models.versions.setDefault.
+    &quot;requestLoggingConfig&quot;: { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
+        # projects.models.versions.patch
+        # request. Specifying it in a
+        # projects.models.versions.create
+        # request has no effect.
         #
-        # 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.
-      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of a version.
-      &quot;manualScaling&quot;: { # Options for manually scaling a model. # Manually select the number of nodes to use for serving the
-          # model. You should generally use `auto_scaling` with an appropriate
-          # `min_nodes` instead, but this option is available if you want more
-          # predictable billing. Beware that latency and error rates will increase
-          # if the traffic exceeds that capability of the system to serve it based
-          # on the selected number of nodes.
-        &quot;nodes&quot;: 42, # The number of nodes to allocate for this model. These nodes are always up,
-            # starting from the time the model is deployed, so the cost of operating
-            # this model will be proportional to `nodes` * number of hours since
-            # last billing cycle plus the cost for each prediction performed.
-      },
-      &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the version when it was created.
+        # Configures the request-response pair logging on predictions from this
+        # Version.
+        # Online prediction requests to a model version and the responses to these
+        # requests are converted to raw strings and saved to the specified BigQuery
+        # table. Logging is constrained by [BigQuery quotas and
+        # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
+        # AI Platform Prediction does not log request-response pairs, but it continues
+        # to serve predictions.
+        #
+        # If you are using [continuous
+        # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
+        # specify this configuration manually. Setting up continuous evaluation
+        # automatically enables logging of request-response pairs.
+      &quot;bigqueryTableName&quot;: &quot;A String&quot;, # Required. Fully qualified BigQuery table name in the following format:
+          # &quot;&lt;var&gt;project_id&lt;/var&gt;.&lt;var&gt;dataset_name&lt;/var&gt;.&lt;var&gt;table_name&lt;/var&gt;&quot;
           #
-          # The version name must be unique within the model it is created in.
-      &quot;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
-      &quot;pythonVersion&quot;: &quot;A String&quot;, # Required. The version of Python used in prediction.
+          # The specified table must already exist, and the &quot;Cloud ML Service Agent&quot;
+          # for your project must have permission to write to it. The table must have
+          # the following [schema](/bigquery/docs/schemas):
           #
-          # The following Python versions are available:
-          #
-          # * Python &#x27;3.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
-          #   later.
-          # * Python &#x27;3.5&#x27; is available when `runtime_version` is set to a version
-          #   from &#x27;1.4&#x27; to &#x27;1.14&#x27;.
-          # * Python &#x27;2.7&#x27; is available when `runtime_version` is set to &#x27;1.15&#x27; or
-          #   earlier.
-          #
-          # Read more about the Python versions available for [each runtime
-          # version](/ml-engine/docs/runtime-version-list).
-      &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
-      &quot;predictionClass&quot;: &quot;A String&quot;, # Optional. The fully qualified name
-          # (&lt;var&gt;module_name&lt;/var&gt;.&lt;var&gt;class_name&lt;/var&gt;) of a class that implements
-          # the Predictor interface described in this reference field. The module
-          # containing this class should be included in a package provided to the
-          # [`packageUris` field](#Version.FIELDS.package_uris).
-          #
-          # Specify this field if and only if you are deploying a [custom prediction
-          # routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
-          # If you specify this field, you must set
-          # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and
-          # you must set `machineType` to a [legacy (MLS1)
-          # machine type](/ml-engine/docs/machine-types-online-prediction).
-          #
-          # The following code sample provides the Predictor interface:
-          #
-          # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
-          # class Predictor(object):
-          # &quot;&quot;&quot;Interface for constructing custom predictors.&quot;&quot;&quot;
-          #
-          # def predict(self, instances, **kwargs):
-          #     &quot;&quot;&quot;Performs custom prediction.
-          #
-          #     Instances are the decoded values from the request. They have already
-          #     been deserialized from JSON.
-          #
-          #     Args:
-          #         instances: A list of prediction input instances.
-          #         **kwargs: A dictionary of keyword args provided as additional
-          #             fields on the predict request body.
-          #
-          #     Returns:
-          #         A list of outputs containing the prediction results. This list must
-          #         be JSON serializable.
-          #     &quot;&quot;&quot;
-          #     raise NotImplementedError()
-          #
-          # @classmethod
-          # def from_path(cls, model_dir):
-          #     &quot;&quot;&quot;Creates an instance of Predictor using the given path.
-          #
-          #     Loading of the predictor should be done in this method.
-          #
-          #     Args:
-          #         model_dir: The local directory that contains the exported model
-          #             file along with any additional files uploaded when creating the
-          #             version resource.
-          #
-          #     Returns:
-          #         An instance implementing this Predictor class.
-          #     &quot;&quot;&quot;
-          #     raise NotImplementedError()
-          # &lt;/pre&gt;
-          #
-          # Learn more about [the Predictor interface and custom prediction
-          # routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
-      &quot;packageUris&quot;: [ # Optional. Cloud Storage paths (`gs://…`) of packages for [custom
-          # prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
-          # or [scikit-learn pipelines with custom
-          # code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
-          #
-          # For a custom prediction routine, one of these packages must contain your
-          # Predictor class (see
-          # [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
-          # include any dependencies used by your Predictor or scikit-learn pipeline
-          # uses that are not already included in your selected [runtime
-          # version](/ml-engine/docs/tensorflow/runtime-version-list).
-          #
-          # If you specify this field, you must also set
-          # [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
-        &quot;A String&quot;,
-      ],
-      &quot;explanationConfig&quot;: { # Message holding configuration options for explaining model predictions. # Optional. Configures explainability features on the model&#x27;s version.
-          # Some explanation features require additional metadata to be loaded
-          # as part of the model payload.
-          # There are two feature attribution methods supported for TensorFlow models:
-          # integrated gradients and sampled Shapley.
-          # [Learn more about feature
-          # attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
-        &quot;integratedGradientsAttribution&quot;: { # Attributes credit by computing the Aumann-Shapley value taking advantage # Attributes credit by computing the Aumann-Shapley value taking advantage
-            # of the model&#x27;s fully differentiable structure. Refer to this paper for
-            # more details: http://proceedings.mlr.press/v70/sundararajan17a.html
-            # of the model&#x27;s fully differentiable structure. Refer to this paper for
-            # more details: https://arxiv.org/abs/1703.01365
-          &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
-              # A good value to start is 50 and gradually increase until the
-              # sum to diff property is met within the desired error range.
-        },
-        &quot;sampledShapleyAttribution&quot;: { # An attribution method that approximates Shapley values for features that # An attribution method that approximates Shapley values for features that
-            # contribute to the label being predicted. A sampling strategy is used to
-            # approximate the value rather than considering all subsets of features.
-            # contribute to the label being predicted. A sampling strategy is used to
-            # approximate the value rather than considering all subsets of features.
-          &quot;numPaths&quot;: 42, # The number of feature permutations to consider when approximating the
-              # Shapley values.
-        },
-        &quot;xraiAttribution&quot;: { # Attributes credit by computing the XRAI taking advantage # Attributes credit by computing the XRAI taking advantage
-            # of the model&#x27;s fully differentiable structure. Refer to this paper for
-            # more details: https://arxiv.org/abs/1906.02825
-            # Currently only implemented for models with natural image inputs.
-            # of the model&#x27;s fully differentiable structure. Refer to this paper for
-            # more details: https://arxiv.org/abs/1906.02825
-            # Currently only implemented for models with natural image inputs.
-          &quot;numIntegralSteps&quot;: 42, # Number of steps for approximating the path integral.
-              # A good value to start is 50 and gradually increase until the
-              # sum to diff property is met within the desired error range.
-        },
-      },
-      &quot;deploymentUri&quot;: &quot;A String&quot;, # Required. The Cloud Storage location of the trained model used to
-          # create the version. See the
-          # [guide to model
-          # deployment](/ml-engine/docs/tensorflow/deploying-models) for more
-          # information.
-          #
-          # When passing Version to
-          # 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.
-          # The total number of model files can&#x27;t exceed 1000.
-      &quot;autoScaling&quot;: { # Options for automatically scaling a model. # Automatically scale the number of nodes used to serve the model in
-          # response to increases and decreases in traffic. Care should be
-          # taken to ramp up traffic according to the model&#x27;s ability to scale
-          # or you will start seeing increases in latency and 429 response codes.
-          #
-          # Note that you cannot use AutoScaling if your version uses
-          # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify
-          # `manual_scaling`.
-        &quot;minNodes&quot;: 42, # Optional. The minimum number of nodes to allocate for this model. These
-            # nodes are always up, starting from the time the model is deployed.
-            # Therefore, the cost of operating this model will be at least
-            # `rate` * `min_nodes` * number of hours since last billing cycle,
-            # where `rate` is the cost per node-hour as documented in the
-            # [pricing guide](/ml-engine/docs/pricing),
-            # even if no predictions are performed. There is additional cost for each
-            # prediction performed.
-            #
-            # Unlike manual scaling, if the load gets too heavy for the nodes
-            # that are up, the service will automatically add nodes to handle the
-            # increased load as well as scale back as traffic drops, always maintaining
-            # at least `min_nodes`. You will be charged for the time in which additional
-            # nodes are used.
-            #
-            # If `min_nodes` is not specified and AutoScaling is used with a [legacy
-            # (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),
-            # `min_nodes` defaults to 0, in which case, when traffic to a model stops
-            # (and after a cool-down period), nodes will be shut down and no charges will
-            # be incurred until traffic to the model resumes.
-            #
-            # If `min_nodes` is not specified and AutoScaling is used with a [Compute
-            # Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),
-            # `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a
-            # Compute Engine machine type.
-            #
-            # Note that you cannot use AutoScaling if your version uses
-            # [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
-            # ManualScaling.
-            #
-            # You can set `min_nodes` when creating the model version, and you can also
-            # update `min_nodes` for an existing version:
-            # &lt;pre&gt;
-            # update_body.json:
-            # {
-            #   &#x27;autoScaling&#x27;: {
-            #     &#x27;minNodes&#x27;: 5
-            #   }
-            # }
-            # &lt;/pre&gt;
-            # HTTP request:
-            # &lt;pre style=&quot;max-width: 626px;&quot;&gt;
-            # PATCH
-            # https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes
-            # -d @./update_body.json
-            # &lt;/pre&gt;
-      },
-      &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your model
-          # versions. Each label is a key-value pair, where both the key and the value
-          # are arbitrary strings that you supply.
-          # For more information, see the documentation on
-          # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
-        &quot;a_key&quot;: &quot;A String&quot;,
-      },
-      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
-      &quot;requestLoggingConfig&quot;: { # Configuration for logging request-response pairs to a BigQuery table. # Optional. *Only* specify this field in a
-          # projects.models.versions.patch
-          # request. Specifying it in a
-          # projects.models.versions.create
-          # request has no effect.
-          #
-          # Configures the request-response pair logging on predictions from this
-          # Version.
-          # Online prediction requests to a model version and the responses to these
-          # requests are converted to raw strings and saved to the specified BigQuery
-          # table. Logging is constrained by [BigQuery quotas and
-          # limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,
-          # AI Platform Prediction does not log request-response pairs, but it continues
-          # to serve predictions.
-          #
-          # If you are using [continuous
-          # evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
-          # specify this configuration manually. Setting up continuous evaluation
-          # automatically enables logging of request-response pairs.
-        &quot;bigqueryTableName&quot;: &quot;A String&quot;, # Required. Fully qualified BigQuery table name in the following format:
-            # &quot;&lt;var&gt;project_id&lt;/var&gt;.&lt;var&gt;dataset_name&lt;/var&gt;.&lt;var&gt;table_name&lt;/var&gt;&quot;
-            #
-            # The specified table must already exist, and the &quot;Cloud ML Service Agent&quot;
-            # for your project must have permission to write to it. The table must have
-            # the following [schema](/bigquery/docs/schemas):
-            #
-            # &lt;table&gt;
-            #   &lt;tr&gt;&lt;th&gt;Field name&lt;/th&gt;&lt;th style=&quot;display: table-cell&quot;&gt;Type&lt;/th&gt;
-            #     &lt;th style=&quot;display: table-cell&quot;&gt;Mode&lt;/th&gt;&lt;/tr&gt;
-            #   &lt;tr&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-            #   &lt;tr&gt;&lt;td&gt;model_version&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-            #   &lt;tr&gt;&lt;td&gt;time&lt;/td&gt;&lt;td&gt;TIMESTAMP&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-            #   &lt;tr&gt;&lt;td&gt;raw_data&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
-            #   &lt;tr&gt;&lt;td&gt;raw_prediction&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
-            #   &lt;tr&gt;&lt;td&gt;groundtruth&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
-            # &lt;/table&gt;
-        &quot;samplingPercentage&quot;: 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
-            # For example, if you want to log 10% of requests, enter `0.1`. The sampling
-            # window is the lifetime of the model version. Defaults to 0.
-      },
-      &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
-      &quot;machineType&quot;: &quot;A String&quot;, # Optional. The type of machine on which to serve the model. Currently only
-          # applies to online prediction service. If this field is not specified, it
-          # defaults to `mls1-c1-m2`.
-          #
-          # Online prediction supports the following machine types:
-          #
-          # * `mls1-c1-m2`
-          # * `mls1-c4-m2`
-          # * `n1-standard-2`
-          # * `n1-standard-4`
-          # * `n1-standard-8`
-          # * `n1-standard-16`
-          # * `n1-standard-32`
-          # * `n1-highmem-2`
-          # * `n1-highmem-4`
-          # * `n1-highmem-8`
-          # * `n1-highmem-16`
-          # * `n1-highmem-32`
-          # * `n1-highcpu-2`
-          # * `n1-highcpu-4`
-          # * `n1-highcpu-8`
-          # * `n1-highcpu-16`
-          # * `n1-highcpu-32`
-          #
-          # `mls1-c1-m2` is generally available. All other machine types are available
-          # in beta. Learn more about the [differences between machine
-          # types](/ml-engine/docs/machine-types-online-prediction).
-      &quot;runtimeVersion&quot;: &quot;A String&quot;, # Required. The AI Platform runtime version to use for this deployment.
-          #
-          # For more information, see the
-          # [runtime version list](/ml-engine/docs/runtime-version-list) and
-          # [how to manage runtime versions](/ml-engine/docs/versioning).
-      &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the version when it was created.
-      &quot;framework&quot;: &quot;A String&quot;, # Optional. The machine learning framework AI Platform uses to train
-          # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
-          # `XGBOOST`. If you do not specify a framework, AI Platform
-          # will analyze files in the deployment_uri to determine a framework. If you
-          # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
-          # of the model to 1.4 or greater.
-          #
-          # Do **not** specify a framework if you&#x27;re deploying a [custom
-          # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
-          #
-          # If you specify a [Compute Engine (N1) machine
-          # type](/ml-engine/docs/machine-types-online-prediction) in the
-          # `machineType` field, you must specify `TENSORFLOW`
-          # for the framework.
-      &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-          # prevent simultaneous updates of a model from overwriting each other.
-          # It is strongly suggested that systems make use of the `etag` in the
-          # read-modify-write cycle to perform model updates in order to avoid race
-          # conditions: An `etag` is returned in the response to `GetVersion`, and
-          # systems are expected to put that etag in the request to `UpdateVersion` to
-          # ensure that their change will be applied to the model as intended.
-      &quot;isDefault&quot;: 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.
-      &quot;acceleratorConfig&quot;: { # Represents a hardware accelerator request config. # Optional. Accelerator config for using GPUs for online prediction (beta).
-          # Only specify this field if you have specified a Compute Engine (N1) machine
-          # type in the `machineType` field. Learn more about [using GPUs for online
-          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-          # Note that the AcceleratorConfig can be used in both Jobs and Versions.
-          # Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and
-          # [accelerators for online
-          # prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
-        &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
-        &quot;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
-      },
+          # &lt;table&gt;
+          #   &lt;tr&gt;&lt;th&gt;Field name&lt;/th&gt;&lt;th style=&quot;display: table-cell&quot;&gt;Type&lt;/th&gt;
+          #     &lt;th style=&quot;display: table-cell&quot;&gt;Mode&lt;/th&gt;&lt;/tr&gt;
+          #   &lt;tr&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+          #   &lt;tr&gt;&lt;td&gt;model_version&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+          #   &lt;tr&gt;&lt;td&gt;time&lt;/td&gt;&lt;td&gt;TIMESTAMP&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+          #   &lt;tr&gt;&lt;td&gt;raw_data&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;REQUIRED&lt;/td&gt;&lt;/tr&gt;
+          #   &lt;tr&gt;&lt;td&gt;raw_prediction&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
+          #   &lt;tr&gt;&lt;td&gt;groundtruth&lt;/td&gt;&lt;td&gt;STRING&lt;/td&gt;&lt;td&gt;NULLABLE&lt;/td&gt;&lt;/tr&gt;
+          # &lt;/table&gt;
+      &quot;samplingPercentage&quot;: 3.14, # Percentage of requests to be logged, expressed as a fraction from 0 to 1.
+          # For example, if you want to log 10% of requests, enter `0.1`. The sampling
+          # window is the lifetime of the model version. Defaults to 0.
     },
-    &quot;onlinePredictionConsoleLogging&quot;: True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
-        # streams to Stackdriver Logging. These can be more verbose than the standard
-        # access logs (see `onlinePredictionLogging`) and can incur higher cost.
-        # However, they are helpful for debugging. Note that
-        # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-        # your project receives prediction requests at a high QPS. Estimate your
-        # costs before enabling this option.
-        # 
-        # Default is false.
-    &quot;regions&quot;: [ # Optional. The list of regions where the model is going to be deployed.
-        # Only one region per model is supported.
-        # Defaults to &#x27;us-central1&#x27; if nothing is set.
-        # See the &lt;a href=&quot;/ml-engine/docs/tensorflow/regions&quot;&gt;available regions&lt;/a&gt;
-        # for AI Platform services.
-        # Note:
-        # *   No matter where a model is deployed, it can always be accessed by
-        #     users from anywhere, both for online and batch prediction.
-        # *   The region for a batch prediction job is set by the region field when
-        #     submitting the batch prediction job and does not take its value from
-        #     this field.
-      &quot;A String&quot;,
-    ],
-    &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the model when it was created.
-    &quot;onlinePredictionLogging&quot;: True or False, # Optional. If true, online prediction access logs are sent to StackDriver
-        # Logging. These logs are like standard server access logs, containing
-        # information like timestamp and latency for each request. Note that
-        # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
-        # your project receives prediction requests at a high queries per second rate
-        # (QPS). Estimate your costs before enabling this option.
-        # 
-        # Default is false.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+    &quot;machineType&quot;: &quot;A String&quot;, # Optional. The type of machine on which to serve the model. Currently only
+        # applies to online prediction service. If this field is not specified, it
+        # defaults to `mls1-c1-m2`.
+        #
+        # Online prediction supports the following machine types:
+        #
+        # * `mls1-c1-m2`
+        # * `mls1-c4-m2`
+        # * `n1-standard-2`
+        # * `n1-standard-4`
+        # * `n1-standard-8`
+        # * `n1-standard-16`
+        # * `n1-standard-32`
+        # * `n1-highmem-2`
+        # * `n1-highmem-4`
+        # * `n1-highmem-8`
+        # * `n1-highmem-16`
+        # * `n1-highmem-32`
+        # * `n1-highcpu-2`
+        # * `n1-highcpu-4`
+        # * `n1-highcpu-8`
+        # * `n1-highcpu-16`
+        # * `n1-highcpu-32`
+        #
+        # `mls1-c1-m2` is generally available. All other machine types are available
+        # in beta. Learn more about the [differences between machine
+        # types](/ml-engine/docs/machine-types-online-prediction).
+    &quot;runtimeVersion&quot;: &quot;A String&quot;, # Required. The AI Platform runtime version to use for this deployment.
+        #
+        # For more information, see the
+        # [runtime version list](/ml-engine/docs/runtime-version-list) and
+        # [how to manage runtime versions](/ml-engine/docs/versioning).
+    &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the version when it was created.
+    &quot;framework&quot;: &quot;A String&quot;, # Optional. The machine learning framework AI Platform uses to train
+        # this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
+        # `XGBOOST`. If you do not specify a framework, AI Platform
+        # will analyze files in the deployment_uri to determine a framework. If you
+        # choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
+        # of the model to 1.4 or greater.
+        #
+        # Do **not** specify a framework if you&#x27;re deploying a [custom
+        # prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
+        #
+        # If you specify a [Compute Engine (N1) machine
+        # type](/ml-engine/docs/machine-types-online-prediction) in the
+        # `machineType` field, you must specify `TENSORFLOW`
+        # for the framework.
     &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
         # prevent simultaneous updates of a model from overwriting each other.
         # It is strongly suggested that systems make use of the `etag` in the
         # read-modify-write cycle to perform model updates in order to avoid race
-        # conditions: An `etag` is returned in the response to `GetModel`, and
-        # systems are expected to put that etag in the request to `UpdateModel` to
+        # conditions: An `etag` is returned in the response to `GetVersion`, and
+        # systems are expected to put that etag in the request to `UpdateVersion` to
         # ensure that their change will be applied to the model as intended.
-  }
+  },
+  &quot;onlinePredictionConsoleLogging&quot;: True or False, # Optional. If true, online prediction nodes send `stderr` and `stdout`
+      # streams to Stackdriver Logging. These can be more verbose than the standard
+      # access logs (see `onlinePredictionLogging`) and can incur higher cost.
+      # However, they are helpful for debugging. Note that
+      # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+      # your project receives prediction requests at a high QPS. Estimate your
+      # costs before enabling this option.
+      # 
+      # Default is false.
+  &quot;regions&quot;: [ # Optional. The list of regions where the model is going to be deployed.
+      # Only one region per model is supported.
+      # Defaults to &#x27;us-central1&#x27; if nothing is set.
+      # See the &lt;a href=&quot;/ml-engine/docs/tensorflow/regions&quot;&gt;available regions&lt;/a&gt;
+      # for AI Platform services.
+      # Note:
+      # *   No matter where a model is deployed, it can always be accessed by
+      #     users from anywhere, both for online and batch prediction.
+      # *   The region for a batch prediction job is set by the region field when
+      #     submitting the batch prediction job and does not take its value from
+      #     this field.
+    &quot;A String&quot;,
+  ],
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description specified for the model when it was created.
+  &quot;onlinePredictionLogging&quot;: True or False, # Optional. If true, online prediction access logs are sent to StackDriver
+      # Logging. These logs are like standard server access logs, containing
+      # information like timestamp and latency for each request. Note that
+      # [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
+      # your project receives prediction requests at a high queries per second rate
+      # (QPS). Estimate your costs before enabling this option.
+      # 
+      # Default is false.
+  &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+      # prevent simultaneous updates of a model from overwriting each other.
+      # It is strongly suggested that systems make use of the `etag` in the
+      # read-modify-write cycle to perform model updates in order to avoid race
+      # conditions: An `etag` is returned in the response to `GetModel`, and
+      # systems are expected to put that etag in the request to `UpdateModel` to
+      # ensure that their change will be applied to the model as intended.
+  &quot;labels&quot;: { # Optional. One or more labels that you can add, to organize your models.
+      # Each label is a key-value pair, where both the key and the value are
+      # arbitrary strings that you supply.
+      # For more information, see the documentation on
+      # &lt;a href=&quot;/ml-engine/docs/tensorflow/resource-labels&quot;&gt;using labels&lt;/a&gt;.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Required. The name specified for the model when it was created.
+      # 
+      # The model name must be unique within the project it is created in.
+}
 
   updateMask: string, Required. Specifies the path, relative to `Model`, of the field to update.
 
@@ -2567,16 +2567,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    &quot;response&quot;: { # 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`.
-      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-    },
     &quot;name&quot;: &quot;A String&quot;, # 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 be a resource name ending with `operations/{unique_id}`.
@@ -2587,16 +2577,16 @@
         #
         # You can find out more about this error model and how to work with it in the
         # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # 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.
       &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
           # message types for APIs to use.
         {
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
         },
       ],
-      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-      &quot;message&quot;: &quot;A String&quot;, # 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.
     },
     &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
         # contains progress information and common metadata such as create time.
@@ -2607,6 +2597,16 @@
     &quot;done&quot;: 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.
+    &quot;response&quot;: { # 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`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+    },
   }</pre>
 </div>
 
@@ -2624,6 +2624,11 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
+    &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
+        # the fields in the mask will be modified. If no mask is provided, the
+        # following default mask is used:
+        # 
+        # `paths: &quot;bindings, etag&quot;`
     &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
         # the policy is limited to a few 10s of KB. An empty policy is a
         # valid policy but certain Cloud Platform services (such as Projects)
@@ -2694,18 +2699,6 @@
         #
         # For a description of IAM and its features, see the
         # [IAM documentation](https://cloud.google.com/iam/docs/).
-      &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-          # prevent simultaneous updates of a policy from overwriting each other.
-          # It is strongly suggested that systems make use of the `etag` in the
-          # read-modify-write cycle to perform policy updates in order to avoid race
-          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-          # systems are expected to put that etag in the request to `setIamPolicy` to
-          # ensure that their change will be applied to the same version of the policy.
-          #
-          # **Important:** If you use IAM Conditions, you must include the `etag` field
-          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-          # you to overwrite a version `3` policy with a version `1` policy, and all of
-          # the conditions in the version `3` policy are lost.
       &quot;version&quot;: 42, # Specifies the format of the policy.
           #
           # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
@@ -2861,15 +2854,15 @@
               # The exact variables and functions that may be referenced within an expression
               # are determined by the service that evaluates it. See the service
               # documentation for additional information.
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+                # describes the expression, e.g. when hovered over it in a UI.
+            &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+                # syntax.
             &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
                 # its purpose. This can be used e.g. in UIs which allow to enter the
                 # expression.
             &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
                 # reporting, e.g. a file name and a position in the file.
-            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-                # describes the expression, e.g. when hovered over it in a UI.
-            &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
-                # syntax.
           },
           &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
               # `members` can have the following values:
@@ -2920,12 +2913,19 @@
               # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
         },
       ],
+      &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+          # prevent simultaneous updates of a policy from overwriting each other.
+          # It is strongly suggested that systems make use of the `etag` in the
+          # read-modify-write cycle to perform policy updates in order to avoid race
+          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+          # systems are expected to put that etag in the request to `setIamPolicy` to
+          # ensure that their change will be applied to the same version of the policy.
+          #
+          # **Important:** If you use IAM Conditions, you must include the `etag` field
+          # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+          # you to overwrite a version `3` policy with a version `1` policy, and all of
+          # the conditions in the version `3` policy are lost.
     },
-    &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
-        # the fields in the mask will be modified. If no mask is provided, the
-        # following default mask is used:
-        # 
-        # `paths: &quot;bindings, etag&quot;`
   }
 
   x__xgafv: string, V1 error format.
@@ -3003,18 +3003,6 @@
       #
       # For a description of IAM and its features, see the
       # [IAM documentation](https://cloud.google.com/iam/docs/).
-    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
-        # prevent simultaneous updates of a policy from overwriting each other.
-        # It is strongly suggested that systems make use of the `etag` in the
-        # read-modify-write cycle to perform policy updates in order to avoid race
-        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
-        # systems are expected to put that etag in the request to `setIamPolicy` to
-        # ensure that their change will be applied to the same version of the policy.
-        #
-        # **Important:** If you use IAM Conditions, you must include the `etag` field
-        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
-        # you to overwrite a version `3` policy with a version `1` policy, and all of
-        # the conditions in the version `3` policy are lost.
     &quot;version&quot;: 42, # Specifies the format of the policy.
         #
         # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
@@ -3170,15 +3158,15 @@
             # The exact variables and functions that may be referenced within an expression
             # are determined by the service that evaluates it. See the service
             # documentation for additional information.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
+              # syntax.
           &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
               # its purpose. This can be used e.g. in UIs which allow to enter the
               # expression.
           &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
               # reporting, e.g. a file name and a position in the file.
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
-          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
-              # syntax.
         },
         &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
@@ -3229,6 +3217,18 @@
             # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
       },
     ],
+    &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # **Important:** If you use IAM Conditions, you must include the `etag` field
+        # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+        # you to overwrite a version `3` policy with a version `1` policy, and all of
+        # the conditions in the version `3` policy are lost.
   }</pre>
 </div>