docs: update generated docs (#981)

diff --git a/docs/dyn/ml_v1.projects.models.versions.html b/docs/dyn/ml_v1.projects.models.versions.html
index cc2e449..1971b65 100644
--- a/docs/dyn/ml_v1.projects.models.versions.html
+++ b/docs/dyn/ml_v1.projects.models.versions.html
@@ -84,7 +84,7 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets information about a model version.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets basic information about all the versions of a model.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -118,119 +118,40 @@
     # 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;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;isDefault&quot;: True or False, # Output only. If true, this version will be used to handle prediction
-      # requests that do not specify a version.
+  &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`.
       # 
-      # 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.
+      # Online prediction supports the following machine types:
       # 
-      # 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.
+      # * `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`
       # 
-      # 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.
+      # `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;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
@@ -247,42 +168,21 @@
       # [`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;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;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+    &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
   },
+  &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;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
@@ -338,14 +238,55 @@
         # -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;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;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;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;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;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
@@ -365,6 +306,9 @@
       # 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;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;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;
         #
@@ -382,44 +326,20 @@
         #   &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;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;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+  &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
   &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
@@ -434,6 +354,66 @@
       # type](/ml-engine/docs/machine-types-online-prediction) in the
       # `machineType` field, you must specify `TENSORFLOW`
       # for the framework.
+  &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;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;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
@@ -441,6 +421,26 @@
       # 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;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+  &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+  &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;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.
 }
 
   x__xgafv: string, V1 error format.
@@ -453,9 +453,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    &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}`.
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
         # different programming environments, including REST APIs and RPC APIs. It is
         # used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -463,22 +460,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;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
-        # contains progress information and common metadata such as create time.
-        # Some services might not provide such metadata.  Any method that returns a
-        # long-running operation should document the metadata type, if any.
-      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      &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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
     },
     &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
@@ -493,6 +484,15 @@
         # `TakeSnapshotResponse`.
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
     },
+    &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      &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}`.
   }</pre>
 </div>
 
@@ -520,9 +520,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    &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}`.
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
         # different programming environments, including REST APIs and RPC APIs. It is
         # used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -530,22 +527,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;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
-        # contains progress information and common metadata such as create time.
-        # Some services might not provide such metadata.  Any method that returns a
-        # long-running operation should document the metadata type, if any.
-      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      &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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
     },
     &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
@@ -560,6 +551,15 @@
         # `TakeSnapshotResponse`.
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
     },
+    &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      &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}`.
   }</pre>
 </div>
 
@@ -588,119 +588,40 @@
       # 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;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;isDefault&quot;: True or False, # Output only. If true, this version will be used to handle prediction
-        # requests that do not specify a version.
+    &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`.
         #
-        # 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.
+        # Online prediction supports the following machine types:
         #
-        # 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.
+        # * `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`
         #
-        # 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.
+        # `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;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
@@ -717,42 +638,21 @@
         # [`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;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;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+      &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
     },
+    &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;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
@@ -808,14 +708,55 @@
           # -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;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;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;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;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;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
@@ -835,6 +776,9 @@
         # 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;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;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;
           #
@@ -852,44 +796,20 @@
           #   &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;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;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+    &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
     &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
@@ -904,6 +824,66 @@
         # type](/ml-engine/docs/machine-types-online-prediction) in the
         # `machineType` field, you must specify `TENSORFLOW`
         # for the framework.
+    &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;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;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
@@ -911,11 +891,31 @@
         # 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;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+    &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;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.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
   <pre>Gets basic information about all the versions of a model.
 
 If you expect that a model has many versions, or if you need to handle
@@ -927,6 +927,7 @@
 
 Args:
   parent: string, Required. The name of the model for which to list the version. (required)
+  filter: string, Optional. Specifies the subset of versions to retrieve.
   pageToken: string, Optional. A page token to request the next page of results.
 
 You get the token from the `next_page_token` field of the response from
@@ -936,7 +937,6 @@
 will contain a valid value in the `next_page_token` field.
 
 The default value is 20, and the maximum page size is 100.
-  filter: string, Optional. Specifies the subset of versions to retrieve.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -955,119 +955,40 @@
           # 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;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;isDefault&quot;: True or False, # Output only. If true, this version will be used to handle prediction
-            # requests that do not specify a version.
+        &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`.
             #
-            # 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.
+            # Online prediction supports the following machine types:
             #
-            # 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.
+            # * `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`
             #
-            # 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.
+            # `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;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
@@ -1084,42 +1005,21 @@
             # [`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;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;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+          &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
         },
+        &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;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
@@ -1175,14 +1075,55 @@
               # -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;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;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;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;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;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
@@ -1202,6 +1143,9 @@
             # 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;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;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;
               #
@@ -1219,44 +1163,20 @@
               #   &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;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;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+        &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
         &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
@@ -1271,6 +1191,66 @@
             # type](/ml-engine/docs/machine-types-online-prediction) in the
             # `machineType` field, you must specify `TENSORFLOW`
             # for the framework.
+        &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;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;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
@@ -1278,6 +1258,26 @@
             # 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;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+        &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+        &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;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.
       },
     ],
   }</pre>
@@ -1315,119 +1315,40 @@
     # 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;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;isDefault&quot;: True or False, # Output only. If true, this version will be used to handle prediction
-      # requests that do not specify a version.
+  &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`.
       # 
-      # 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.
+      # Online prediction supports the following machine types:
       # 
-      # 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.
+      # * `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`
       # 
-      # 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.
+      # `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;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
@@ -1444,42 +1365,21 @@
       # [`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;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;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+    &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
   },
+  &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;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
@@ -1535,14 +1435,55 @@
         # -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;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;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;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;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;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
@@ -1562,6 +1503,9 @@
       # 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;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;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;
         #
@@ -1579,44 +1523,20 @@
         #   &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;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;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+  &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
   &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
@@ -1631,6 +1551,66 @@
       # type](/ml-engine/docs/machine-types-online-prediction) in the
       # `machineType` field, you must specify `TENSORFLOW`
       # for the framework.
+  &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;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;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
@@ -1638,6 +1618,26 @@
       # 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;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+  &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+  &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;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.
 }
 
   updateMask: string, Required. Specifies the path, relative to `Version`, of the field to
@@ -1668,9 +1668,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    &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}`.
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
         # different programming environments, including REST APIs and RPC APIs. It is
         # used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -1678,22 +1675,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;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
-        # contains progress information and common metadata such as create time.
-        # Some services might not provide such metadata.  Any method that returns a
-        # long-running operation should document the metadata type, if any.
-      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      &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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
     },
     &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
@@ -1708,6 +1699,15 @@
         # `TakeSnapshotResponse`.
       &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
     },
+    &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      &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}`.
   }</pre>
 </div>
 
@@ -1746,119 +1746,40 @@
       # 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;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;isDefault&quot;: True or False, # Output only. If true, this version will be used to handle prediction
-        # requests that do not specify a version.
+    &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`.
         #
-        # 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.
+        # Online prediction supports the following machine types:
         #
-        # 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.
+        # * `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`
         #
-        # 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.
+        # `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;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
@@ -1875,42 +1796,21 @@
         # [`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;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;type&quot;: &quot;A String&quot;, # The type of accelerator to use.
+      &quot;count&quot;: &quot;A String&quot;, # The number of accelerators to attach to each machine running the job.
     },
+    &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;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
@@ -1966,14 +1866,55 @@
           # -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;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;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;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;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;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
@@ -1993,6 +1934,9 @@
         # 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;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;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;
           #
@@ -2010,44 +1954,20 @@
           #   &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;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;createTime&quot;: &quot;A String&quot;, # Output only. The time the version was created.
+    &quot;lastUseTime&quot;: &quot;A String&quot;, # Output only. The time the version was last used for prediction.
     &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
@@ -2062,6 +1982,66 @@
         # type](/ml-engine/docs/machine-types-online-prediction) in the
         # `machineType` field, you must specify `TENSORFLOW`
         # for the framework.
+    &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;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;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
@@ -2069,6 +2049,26 @@
         # 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;serviceAccount&quot;: &quot;A String&quot;, # Optional. Specifies the service account for resource access control.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # Output only. The details of a failure or a cancellation.
+    &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;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.
   }</pre>
 </div>