chore: Update discovery artifacts (#1195)

* chore(accesscontextmanager): update the api
* chore(adexchangebuyer2): update the api
* chore(admin): update the api
* chore(alertcenter): update the api
* chore(analyticsadmin): update the api
* chore(analyticsdata): update the api
* chore(androidmanagement): update the api
* chore(apigateway): update the api
* chore(apigee): update the api
* chore(appengine): update the api
* chore(area120tables): update the api
* chore(artifactregistry): update the api
* chore(bigquery): update the api
* chore(bigqueryconnection): update the api
* chore(bigqueryreservation): update the api
* chore(billingbudgets): update the api
* chore(binaryauthorization): update the api
* chore(blogger): update the api
* chore(calendar): update the api
* chore(chat): update the api
* chore(cloudasset): update the api
* chore(cloudbuild): update the api
* chore(cloudfunctions): update the api
* chore(cloudidentity): update the api
* chore(cloudkms): update the api
* chore(cloudresourcemanager): update the api
* chore(cloudscheduler): update the api
* chore(cloudtasks): update the api
* chore(composer): update the api
* chore(compute): update the api
* chore(container): update the api
* chore(containeranalysis): update the api
* chore(content): update the api
* chore(datacatalog): update the api
* chore(dataflow): update the api
* chore(datafusion): update the api
* chore(datamigration): update the api
* chore(dataproc): update the api
* chore(deploymentmanager): update the api
* chore(dialogflow): update the api
* chore(displayvideo): update the api
* chore(dlp): update the api
* chore(dns): update the api
* chore(documentai): update the api
* chore(eventarc): update the api
* chore(file): update the api
* chore(firebaseml): update the api
* chore(games): update the api
* chore(gameservices): update the api
* chore(genomics): update the api
* chore(healthcare): update the api
* chore(homegraph): update the api
* chore(iam): update the api
* chore(iap): update the api
* chore(jobs): update the api
* chore(lifesciences): update the api
* chore(localservices): update the api
* chore(managedidentities): update the api
* chore(manufacturers): update the api
* chore(memcache): update the api
* chore(ml): update the api
* chore(monitoring): update the api
* chore(notebooks): update the api
* chore(osconfig): update the api
* chore(pagespeedonline): update the api
* chore(people): update the api
* chore(privateca): update the api
* chore(prod_tt_sasportal): update the api
* chore(pubsub): update the api
* chore(pubsublite): update the api
* chore(recommender): update the api
* chore(remotebuildexecution): update the api
* chore(reseller): update the api
* chore(run): update the api
* chore(safebrowsing): update the api
* chore(sasportal): update the api
* chore(searchconsole): update the api
* chore(secretmanager): update the api
* chore(securitycenter): update the api
* chore(serviceconsumermanagement): update the api
* chore(servicecontrol): update the api
* chore(servicenetworking): update the api
* chore(serviceusage): update the api
* chore(sheets): update the api
* chore(slides): update the api
* chore(spanner): update the api
* chore(speech): update the api
* chore(sqladmin): update the api
* chore(storage): update the api
* chore(storagetransfer): update the api
* chore(sts): update the api
* chore(tagmanager): update the api
* chore(testing): update the api
* chore(toolresults): update the api
* chore(transcoder): update the api
* chore(vectortile): update the api
* chore(videointelligence): update the api
* chore(vision): update the api
* chore(webmasters): update the api
* chore(workflowexecutions): update the api
* chore(youtube): update the api
diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
index 557384f..3662bf4 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
@@ -1,513 +1,572 @@
 {
-  "version": "v1beta2",
-  "schemas": {
-    "TfLiteModel": {
-      "description": "Information that is specific to TfLite models.",
-      "properties": {
-        "gcsTfliteUri": {
-          "type": "string",
-          "description": "The TfLite file containing the model. (Stored in Google Cloud). The gcs_tflite_uri should have form: gs://some-bucket/some-model.tflite Note: If you update the file in the original location, it is necessary to call UpdateModel for ML to pick up and validate the updated file."
-        },
-        "sizeBytes": {
-          "description": "Output only. The size of the TFLite model",
-          "readOnly": true,
-          "type": "string"
-        },
-        "automlModel": {
-          "type": "string",
-          "description": "The AutoML model id referencing a model you created with the AutoML API. The name should have format 'projects//locations//models/' (This is the model resource name returned from the AutoML API)"
+    "auth": {
+        "oauth2": {
+            "scopes": {
+                "https://www.googleapis.com/auth/cloud-platform": {
+                    "description": "View and manage your data across Google Cloud Platform services"
+                }
+            }
         }
-      },
-      "id": "TfLiteModel",
-      "type": "object"
     },
-    "Empty": {
-      "properties": {},
-      "type": "object",
-      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
-      "id": "Empty"
+    "basePath": "",
+    "baseUrl": "https://firebaseml.googleapis.com/",
+    "batchPath": "batch",
+    "canonicalName": "Firebase ML",
+    "description": "Access custom machine learning models hosted via Firebase ML.",
+    "discoveryVersion": "v1",
+    "documentationLink": "https://firebase.google.com",
+    "fullyEncodeReservedExpansion": true,
+    "icons": {
+        "x16": "http://www.google.com/images/icons/product/search-16.gif",
+        "x32": "http://www.google.com/images/icons/product/search-32.gif"
     },
-    "Model": {
-      "id": "Model",
-      "description": "An ML model hosted in Firebase ML",
-      "type": "object",
-      "properties": {
-        "etag": {
-          "readOnly": true,
-          "description": "Output only. See RFC7232 https://tools.ietf.org/html/rfc7232#section-2.3",
-          "type": "string"
-        },
-        "createTime": {
-          "readOnly": true,
-          "type": "string",
-          "format": "google-datetime",
-          "description": "Output only. Timestamp when this model was created in Firebase ML."
-        },
-        "tags": {
-          "items": {
+    "id": "firebaseml:v1beta2",
+    "kind": "discovery#restDescription",
+    "mtlsRootUrl": "https://firebaseml.mtls.googleapis.com/",
+    "name": "firebaseml",
+    "ownerDomain": "google.com",
+    "ownerName": "Google",
+    "parameters": {
+        "$.xgafv": {
+            "description": "V1 error format.",
+            "enum": [
+                "1",
+                "2"
+            ],
+            "enumDescriptions": [
+                "v1 error format",
+                "v2 error format"
+            ],
+            "location": "query",
             "type": "string"
-          },
-          "description": "User defined tags which can be used to group/filter models during listing",
-          "type": "array"
         },
-        "state": {
-          "$ref": "ModelState",
-          "description": "State common to all model types. Includes publishing and validation information."
+        "access_token": {
+            "description": "OAuth access token.",
+            "location": "query",
+            "type": "string"
         },
-        "name": {
-          "description": "The resource name of the Model. Model names have the form `projects/{project_id}/models/{model_id}` The name is ignored when creating a model.",
-          "type": "string"
+        "alt": {
+            "default": "json",
+            "description": "Data format for response.",
+            "enum": [
+                "json",
+                "media",
+                "proto"
+            ],
+            "enumDescriptions": [
+                "Responses with Content-Type of application/json",
+                "Media download with context-dependent Content-Type",
+                "Responses with Content-Type of application/x-protobuf"
+            ],
+            "location": "query",
+            "type": "string"
         },
-        "updateTime": {
-          "type": "string",
-          "readOnly": true,
-          "format": "google-datetime",
-          "description": "Output only. Timestamp when this model was updated in Firebase ML."
+        "callback": {
+            "description": "JSONP",
+            "location": "query",
+            "type": "string"
         },
-        "activeOperations": {
-          "readOnly": true,
-          "items": {
-            "$ref": "Operation"
-          },
-          "description": "Output only. Lists operation ids associated with this model whose status is NOT done.",
-          "type": "array"
+        "fields": {
+            "description": "Selector specifying which fields to include in a partial response.",
+            "location": "query",
+            "type": "string"
         },
-        "tfliteModel": {
-          "description": "A TFLite Model",
-          "$ref": "TfLiteModel"
+        "key": {
+            "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+            "location": "query",
+            "type": "string"
         },
-        "displayName": {
-          "type": "string",
-          "description": "Required. The name of the model to create. The name can be up to 32 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscores(_) and ASCII digits 0-9. It must start with a letter."
+        "oauth_token": {
+            "description": "OAuth 2.0 token for the current user.",
+            "location": "query",
+            "type": "string"
         },
-        "modelHash": {
-          "type": "string",
-          "description": "Output only. The model_hash will change if a new file is available for download.",
-          "readOnly": true
+        "prettyPrint": {
+            "default": "true",
+            "description": "Returns response with indentations and line breaks.",
+            "location": "query",
+            "type": "boolean"
+        },
+        "quotaUser": {
+            "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+            "location": "query",
+            "type": "string"
+        },
+        "uploadType": {
+            "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+            "location": "query",
+            "type": "string"
+        },
+        "upload_protocol": {
+            "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+            "location": "query",
+            "type": "string"
         }
-      }
     },
-    "ModelOperationMetadata": {
-      "type": "object",
-      "properties": {
-        "name": {
-          "type": "string",
-          "description": "The name of the model we are creating/updating The name must have the form `projects/{project_id}/models/{model_id}`"
-        },
-        "basicOperationStatus": {
-          "enumDescriptions": [
-            "The status is unspecified",
-            "The model file is being uploaded",
-            "The model file is being verified"
-          ],
-          "enum": [
-            "BASIC_OPERATION_STATUS_UNSPECIFIED",
-            "BASIC_OPERATION_STATUS_UPLOADING",
-            "BASIC_OPERATION_STATUS_VERIFYING"
-          ],
-          "type": "string"
-        }
-      },
-      "id": "ModelOperationMetadata",
-      "description": "This is returned in the longrunning operations for create/update."
-    },
-    "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. 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).",
-      "properties": {
-        "code": {
-          "format": "int32",
-          "type": "integer",
-          "description": "The status code, which should be an enum value of google.rpc.Code."
-        },
-        "details": {
-          "type": "array",
-          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
-          "items": {
-            "type": "object",
-            "additionalProperties": {
-              "type": "any",
-              "description": "Properties of the object. Contains field @type with type URL."
+    "protocol": "rest",
+    "resources": {
+        "projects": {
+            "resources": {
+                "models": {
+                    "methods": {
+                        "create": {
+                            "description": "Creates a model in Firebase ML. The longrunning operation will eventually return a Model",
+                            "flatPath": "v1beta2/projects/{projectsId}/models",
+                            "httpMethod": "POST",
+                            "id": "firebaseml.projects.models.create",
+                            "parameterOrder": [
+                                "parent"
+                            ],
+                            "parameters": {
+                                "parent": {
+                                    "description": "Required. The parent project resource where the model is to be created. The parent must have the form `projects/{project_id}`",
+                                    "location": "path",
+                                    "pattern": "^projects/[^/]+$",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "v1beta2/{+parent}/models",
+                            "request": {
+                                "$ref": "Model"
+                            },
+                            "response": {
+                                "$ref": "Operation"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/cloud-platform"
+                            ]
+                        },
+                        "delete": {
+                            "description": "Deletes a model",
+                            "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}",
+                            "httpMethod": "DELETE",
+                            "id": "firebaseml.projects.models.delete",
+                            "parameterOrder": [
+                                "name"
+                            ],
+                            "parameters": {
+                                "name": {
+                                    "description": "Required. The name of the model to delete. The name must have the form `projects/{project_id}/models/{model_id}`",
+                                    "location": "path",
+                                    "pattern": "^projects/[^/]+/models/[^/]+$",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "v1beta2/{+name}",
+                            "response": {
+                                "$ref": "Empty"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/cloud-platform"
+                            ]
+                        },
+                        "download": {
+                            "description": "Gets Download information for a model. This is meant for downloading model resources onto devices. It gives very limited information about the model.",
+                            "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}:download",
+                            "httpMethod": "GET",
+                            "id": "firebaseml.projects.models.download",
+                            "parameterOrder": [
+                                "name"
+                            ],
+                            "parameters": {
+                                "name": {
+                                    "description": "Required. The name of the model to download. The name must have the form `projects/{project}/models/{model}`",
+                                    "location": "path",
+                                    "pattern": "^projects/[^/]+/models/[^/]+$",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "v1beta2/{+name}:download",
+                            "response": {
+                                "$ref": "DownloadModelResponse"
+                            }
+                        },
+                        "get": {
+                            "description": "Gets a model resource.",
+                            "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}",
+                            "httpMethod": "GET",
+                            "id": "firebaseml.projects.models.get",
+                            "parameterOrder": [
+                                "name"
+                            ],
+                            "parameters": {
+                                "name": {
+                                    "description": "Required. The name of the model to get. The name must have the form `projects/{project_id}/models/{model_id}`",
+                                    "location": "path",
+                                    "pattern": "^projects/[^/]+/models/[^/]+$",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "v1beta2/{+name}",
+                            "response": {
+                                "$ref": "Model"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/cloud-platform"
+                            ]
+                        },
+                        "list": {
+                            "description": "Lists the models",
+                            "flatPath": "v1beta2/projects/{projectsId}/models",
+                            "httpMethod": "GET",
+                            "id": "firebaseml.projects.models.list",
+                            "parameterOrder": [
+                                "parent"
+                            ],
+                            "parameters": {
+                                "filter": {
+                                    "description": "A filter for the list e.g. 'tags: abc' to list models which are tagged with \"abc\"",
+                                    "location": "query",
+                                    "type": "string"
+                                },
+                                "pageSize": {
+                                    "description": "The maximum number of items to return",
+                                    "format": "int32",
+                                    "location": "query",
+                                    "type": "integer"
+                                },
+                                "pageToken": {
+                                    "description": "The next_page_token value returned from a previous List request, if any.",
+                                    "location": "query",
+                                    "type": "string"
+                                },
+                                "parent": {
+                                    "description": "Required. The name of the parent to list models for. The parent must have the form `projects/{project_id}'",
+                                    "location": "path",
+                                    "pattern": "^projects/[^/]+$",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "v1beta2/{+parent}/models",
+                            "response": {
+                                "$ref": "ListModelsResponse"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/cloud-platform"
+                            ]
+                        },
+                        "patch": {
+                            "description": "Updates a model. The longrunning operation will eventually return a Model.",
+                            "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}",
+                            "httpMethod": "PATCH",
+                            "id": "firebaseml.projects.models.patch",
+                            "parameterOrder": [
+                                "name"
+                            ],
+                            "parameters": {
+                                "name": {
+                                    "description": "The resource name of the Model. Model names have the form `projects/{project_id}/models/{model_id}` The name is ignored when creating a model.",
+                                    "location": "path",
+                                    "pattern": "^projects/[^/]+/models/[^/]+$",
+                                    "required": true,
+                                    "type": "string"
+                                },
+                                "updateMask": {
+                                    "description": "The update mask",
+                                    "format": "google-fieldmask",
+                                    "location": "query",
+                                    "type": "string"
+                                }
+                            },
+                            "path": "v1beta2/{+name}",
+                            "request": {
+                                "$ref": "Model"
+                            },
+                            "response": {
+                                "$ref": "Operation"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/cloud-platform"
+                            ]
+                        }
+                    }
+                },
+                "operations": {
+                    "methods": {
+                        "get": {
+                            "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
+                            "flatPath": "v1beta2/projects/{projectsId}/operations/{operationsId}",
+                            "httpMethod": "GET",
+                            "id": "firebaseml.projects.operations.get",
+                            "parameterOrder": [
+                                "name"
+                            ],
+                            "parameters": {
+                                "name": {
+                                    "description": "The name of the operation resource.",
+                                    "location": "path",
+                                    "pattern": "^projects/[^/]+/operations/[^/]+$",
+                                    "required": true,
+                                    "type": "string"
+                                }
+                            },
+                            "path": "v1beta2/{+name}",
+                            "response": {
+                                "$ref": "Operation"
+                            },
+                            "scopes": [
+                                "https://www.googleapis.com/auth/cloud-platform"
+                            ]
+                        }
+                    }
+                }
             }
-          }
-        },
-        "message": {
-          "type": "string",
-          "description": "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."
         }
-      },
-      "type": "object",
-      "id": "Status"
     },
-    "ListModelsResponse": {
-      "description": "The response for list models",
-      "properties": {
-        "models": {
-          "type": "array",
-          "description": "The list of models",
-          "items": {
-            "$ref": "Model"
-          }
-        },
-        "nextPageToken": {
-          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
-          "type": "string"
-        }
-      },
-      "id": "ListModelsResponse",
-      "type": "object"
-    },
-    "Operation": {
-      "properties": {
-        "name": {
-          "type": "string",
-          "description": "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}`."
-        },
-        "metadata": {
-          "type": "object",
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "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."
-        },
-        "response": {
-          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
-          "type": "object",
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          }
-        },
-        "error": {
-          "description": "The error result of the operation in case of failure or cancellation.",
-          "$ref": "Status"
-        },
-        "done": {
-          "type": "boolean",
-          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available."
-        }
-      },
-      "description": "This resource represents a long-running operation that is the result of a network API call.",
-      "type": "object",
-      "id": "Operation"
-    },
-    "ModelState": {
-      "type": "object",
-      "id": "ModelState",
-      "properties": {
-        "published": {
-          "description": "Indicates if this model has been published.",
-          "type": "boolean"
-        },
-        "validationError": {
-          "readOnly": true,
-          "$ref": "Status",
-          "description": "Output only. Indicates the latest validation error on the model if any. A model may have validation errors if there were problems during the model creation/update. e.g. in the case of a TfLiteModel, if a tflite model file was missing or in the wrong format. This field will be empty for valid models."
-        }
-      },
-      "description": "State common to all model types. Includes publishing and validation information."
-    }
-  },
-  "revision": "20200905",
-  "title": "Firebase ML API",
-  "protocol": "rest",
-  "canonicalName": "Firebase ML",
-  "baseUrl": "https://firebaseml.googleapis.com/",
-  "version_module": true,
-  "resources": {
-    "projects": {
-      "resources": {
-        "models": {
-          "methods": {
-            "patch": {
-              "response": {
-                "$ref": "Operation"
-              },
-              "httpMethod": "PATCH",
-              "parameters": {
-                "name": {
-                  "description": "The resource name of the Model. Model names have the form `projects/{project_id}/models/{model_id}` The name is ignored when creating a model.",
-                  "location": "path",
-                  "type": "string",
-                  "required": true,
-                  "pattern": "^projects/[^/]+/models/[^/]+$"
+    "revision": "20210203",
+    "rootUrl": "https://firebaseml.googleapis.com/",
+    "schemas": {
+        "DownloadModelResponse": {
+            "description": "The response for downloading a model to device.",
+            "id": "DownloadModelResponse",
+            "properties": {
+                "downloadUri": {
+                    "description": "Output only. A download URI for the model/zip file.",
+                    "readOnly": true,
+                    "type": "string"
                 },
-                "updateMask": {
-                  "type": "string",
-                  "description": "The update mask",
-                  "location": "query",
-                  "format": "google-fieldmask"
-                }
-              },
-              "id": "firebaseml.projects.models.patch",
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}",
-              "request": {
-                "$ref": "Model"
-              },
-              "parameterOrder": [
-                "name"
-              ],
-              "description": "Updates a model. The longrunning operation will eventually return a Model.",
-              "path": "v1beta2/{+name}"
-            },
-            "list": {
-              "flatPath": "v1beta2/projects/{projectsId}/models",
-              "parameters": {
-                "parent": {
-                  "required": true,
-                  "description": "Required. The name of the parent to list models for. The parent must have the form `projects/{project_id}'",
-                  "pattern": "^projects/[^/]+$",
-                  "location": "path",
-                  "type": "string"
+                "expireTime": {
+                    "description": "Output only. The time that the download URI link expires. If the link has expired, the REST call must be repeated.",
+                    "format": "google-datetime",
+                    "readOnly": true,
+                    "type": "string"
                 },
-                "filter": {
-                  "description": "A filter for the list e.g. 'tags: abc' to list models which are tagged with \"abc\"",
-                  "type": "string",
-                  "location": "query"
+                "modelFormat": {
+                    "description": "Output only. The format of the model being downloaded.",
+                    "enum": [
+                        "MODEL_FORMAT_UNSPECIFIED",
+                        "TFLITE"
+                    ],
+                    "enumDescriptions": [
+                        "Unknown format",
+                        "TFLite model"
+                    ],
+                    "readOnly": true,
+                    "type": "string"
                 },
-                "pageToken": {
-                  "type": "string",
-                  "location": "query",
-                  "description": "The next_page_token value returned from a previous List request, if any."
-                },
-                "pageSize": {
-                  "description": "The maximum number of items to return",
-                  "type": "integer",
-                  "format": "int32",
-                  "location": "query"
+                "sizeBytes": {
+                    "description": "Output only. The size of the file(s), if this information is available.",
+                    "format": "int64",
+                    "readOnly": true,
+                    "type": "string"
                 }
-              },
-              "response": {
-                "$ref": "ListModelsResponse"
-              },
-              "httpMethod": "GET",
-              "path": "v1beta2/{+parent}/models",
-              "description": "Lists the models",
-              "parameterOrder": [
-                "parent"
-              ],
-              "id": "firebaseml.projects.models.list",
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ]
             },
-            "create": {
-              "httpMethod": "POST",
-              "id": "firebaseml.projects.models.create",
-              "description": "Creates a model in Firebase ML. The longrunning operation will eventually return a Model",
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "flatPath": "v1beta2/projects/{projectsId}/models",
-              "response": {
-                "$ref": "Operation"
-              },
-              "parameterOrder": [
-                "parent"
-              ],
-              "parameters": {
-                "parent": {
-                  "required": true,
-                  "pattern": "^projects/[^/]+$",
-                  "description": "Required. The parent project resource where the model is to be created. The parent must have the form `projects/{project_id}`",
-                  "location": "path",
-                  "type": "string"
-                }
-              },
-              "path": "v1beta2/{+parent}/models",
-              "request": {
-                "$ref": "Model"
-              }
-            },
-            "delete": {
-              "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}",
-              "httpMethod": "DELETE",
-              "parameterOrder": [
-                "name"
-              ],
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "description": "Deletes a model",
-              "path": "v1beta2/{+name}",
-              "id": "firebaseml.projects.models.delete",
-              "response": {
-                "$ref": "Empty"
-              },
-              "parameters": {
-                "name": {
-                  "description": "Required. The name of the model to delete. The name must have the form `projects/{project_id}/models/{model_id}`",
-                  "type": "string",
-                  "required": true,
-                  "location": "path",
-                  "pattern": "^projects/[^/]+/models/[^/]+$"
-                }
-              }
-            },
-            "get": {
-              "httpMethod": "GET",
-              "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}",
-              "parameterOrder": [
-                "name"
-              ],
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ],
-              "response": {
-                "$ref": "Model"
-              },
-              "parameters": {
-                "name": {
-                  "pattern": "^projects/[^/]+/models/[^/]+$",
-                  "location": "path",
-                  "description": "Required. The name of the model to get. The name must have the form `projects/{project_id}/models/{model_id}`",
-                  "required": true,
-                  "type": "string"
-                }
-              },
-              "description": "Gets a model resource.",
-              "path": "v1beta2/{+name}",
-              "id": "firebaseml.projects.models.get"
-            }
-          }
+            "type": "object"
         },
-        "operations": {
-          "methods": {
-            "get": {
-              "flatPath": "v1beta2/projects/{projectsId}/operations/{operationsId}",
-              "response": {
-                "$ref": "Operation"
-              },
-              "httpMethod": "GET",
-              "path": "v1beta2/{+name}",
-              "id": "firebaseml.projects.operations.get",
-              "parameterOrder": [
-                "name"
-              ],
-              "parameters": {
-                "name": {
-                  "pattern": "^projects/[^/]+/operations/[^/]+$",
-                  "location": "path",
-                  "required": true,
-                  "description": "The name of the operation resource.",
-                  "type": "string"
+        "Empty": {
+            "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
+            "id": "Empty",
+            "properties": {},
+            "type": "object"
+        },
+        "ListModelsResponse": {
+            "description": "The response for list models",
+            "id": "ListModelsResponse",
+            "properties": {
+                "models": {
+                    "description": "The list of models",
+                    "items": {
+                        "$ref": "Model"
+                    },
+                    "type": "array"
+                },
+                "nextPageToken": {
+                    "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
+                    "type": "string"
                 }
-              },
-              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
-              "scopes": [
-                "https://www.googleapis.com/auth/cloud-platform"
-              ]
-            }
-          }
+            },
+            "type": "object"
+        },
+        "Model": {
+            "description": "An ML model hosted in Firebase ML",
+            "id": "Model",
+            "properties": {
+                "activeOperations": {
+                    "description": "Output only. Lists operation ids associated with this model whose status is NOT done.",
+                    "items": {
+                        "$ref": "Operation"
+                    },
+                    "readOnly": true,
+                    "type": "array"
+                },
+                "createTime": {
+                    "description": "Output only. Timestamp when this model was created in Firebase ML.",
+                    "format": "google-datetime",
+                    "readOnly": true,
+                    "type": "string"
+                },
+                "displayName": {
+                    "description": "Required. The name of the model to create. The name can be up to 32 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscores(_) and ASCII digits 0-9. It must start with a letter.",
+                    "type": "string"
+                },
+                "etag": {
+                    "description": "Output only. See RFC7232 https://tools.ietf.org/html/rfc7232#section-2.3",
+                    "readOnly": true,
+                    "type": "string"
+                },
+                "modelHash": {
+                    "description": "Output only. The model_hash will change if a new file is available for download.",
+                    "readOnly": true,
+                    "type": "string"
+                },
+                "name": {
+                    "description": "The resource name of the Model. Model names have the form `projects/{project_id}/models/{model_id}` The name is ignored when creating a model.",
+                    "type": "string"
+                },
+                "state": {
+                    "$ref": "ModelState",
+                    "description": "State common to all model types. Includes publishing and validation information."
+                },
+                "tags": {
+                    "description": "User defined tags which can be used to group/filter models during listing",
+                    "items": {
+                        "type": "string"
+                    },
+                    "type": "array"
+                },
+                "tfliteModel": {
+                    "$ref": "TfLiteModel",
+                    "description": "A TFLite Model"
+                },
+                "updateTime": {
+                    "description": "Output only. Timestamp when this model was updated in Firebase ML.",
+                    "format": "google-datetime",
+                    "readOnly": true,
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "ModelOperationMetadata": {
+            "description": "This is returned in the longrunning operations for create/update.",
+            "id": "ModelOperationMetadata",
+            "properties": {
+                "basicOperationStatus": {
+                    "enum": [
+                        "BASIC_OPERATION_STATUS_UNSPECIFIED",
+                        "BASIC_OPERATION_STATUS_UPLOADING",
+                        "BASIC_OPERATION_STATUS_VERIFYING"
+                    ],
+                    "enumDescriptions": [
+                        "The status is unspecified",
+                        "The model file is being uploaded",
+                        "The model file is being verified"
+                    ],
+                    "type": "string"
+                },
+                "name": {
+                    "description": "The name of the model we are creating/updating The name must have the form `projects/{project_id}/models/{model_id}`",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "ModelState": {
+            "description": "State common to all model types. Includes publishing and validation information.",
+            "id": "ModelState",
+            "properties": {
+                "published": {
+                    "description": "Indicates if this model has been published.",
+                    "type": "boolean"
+                },
+                "validationError": {
+                    "$ref": "Status",
+                    "description": "Output only. Indicates the latest validation error on the model if any. A model may have validation errors if there were problems during the model creation/update. e.g. in the case of a TfLiteModel, if a tflite model file was missing or in the wrong format. This field will be empty for valid models.",
+                    "readOnly": true
+                }
+            },
+            "type": "object"
+        },
+        "Operation": {
+            "description": "This resource represents a long-running operation that is the result of a network API call.",
+            "id": "Operation",
+            "properties": {
+                "done": {
+                    "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
+                    "type": "boolean"
+                },
+                "error": {
+                    "$ref": "Status",
+                    "description": "The error result of the operation in case of failure or cancellation."
+                },
+                "metadata": {
+                    "additionalProperties": {
+                        "description": "Properties of the object. Contains field @type with type URL.",
+                        "type": "any"
+                    },
+                    "description": "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.",
+                    "type": "object"
+                },
+                "name": {
+                    "description": "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}`.",
+                    "type": "string"
+                },
+                "response": {
+                    "additionalProperties": {
+                        "description": "Properties of the object. Contains field @type with type URL.",
+                        "type": "any"
+                    },
+                    "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
+                    "type": "object"
+                }
+            },
+            "type": "object"
+        },
+        "Status": {
+            "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. 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).",
+            "id": "Status",
+            "properties": {
+                "code": {
+                    "description": "The status code, which should be an enum value of google.rpc.Code.",
+                    "format": "int32",
+                    "type": "integer"
+                },
+                "details": {
+                    "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+                    "items": {
+                        "additionalProperties": {
+                            "description": "Properties of the object. Contains field @type with type URL.",
+                            "type": "any"
+                        },
+                        "type": "object"
+                    },
+                    "type": "array"
+                },
+                "message": {
+                    "description": "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.",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "TfLiteModel": {
+            "description": "Information that is specific to TfLite models.",
+            "id": "TfLiteModel",
+            "properties": {
+                "automlModel": {
+                    "description": "The AutoML model id referencing a model you created with the AutoML API. The name should have format 'projects//locations//models/' (This is the model resource name returned from the AutoML API)",
+                    "type": "string"
+                },
+                "gcsTfliteUri": {
+                    "description": "The TfLite file containing the model. (Stored in Google Cloud). The gcs_tflite_uri should have form: gs://some-bucket/some-model.tflite Note: If you update the file in the original location, it is necessary to call UpdateModel for ML to pick up and validate the updated file.",
+                    "type": "string"
+                },
+                "sizeBytes": {
+                    "description": "Output only. The size of the TFLite model",
+                    "readOnly": true,
+                    "type": "string"
+                }
+            },
+            "type": "object"
         }
-      }
-    }
-  },
-  "name": "firebaseml",
-  "servicePath": "",
-  "ownerName": "Google",
-  "parameters": {
-    "uploadType": {
-      "type": "string",
-      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
-      "location": "query"
     },
-    "oauth_token": {
-      "type": "string",
-      "description": "OAuth 2.0 token for the current user.",
-      "location": "query"
-    },
-    "quotaUser": {
-      "type": "string",
-      "location": "query",
-      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
-    },
-    "callback": {
-      "type": "string",
-      "location": "query",
-      "description": "JSONP"
-    },
-    "prettyPrint": {
-      "location": "query",
-      "default": "true",
-      "type": "boolean",
-      "description": "Returns response with indentations and line breaks."
-    },
-    "key": {
-      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
-      "type": "string",
-      "location": "query"
-    },
-    "$.xgafv": {
-      "enumDescriptions": [
-        "v1 error format",
-        "v2 error format"
-      ],
-      "description": "V1 error format.",
-      "location": "query",
-      "type": "string",
-      "enum": [
-        "1",
-        "2"
-      ]
-    },
-    "upload_protocol": {
-      "type": "string",
-      "location": "query",
-      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
-    },
-    "access_token": {
-      "location": "query",
-      "description": "OAuth access token.",
-      "type": "string"
-    },
-    "alt": {
-      "location": "query",
-      "description": "Data format for response.",
-      "enum": [
-        "json",
-        "media",
-        "proto"
-      ],
-      "enumDescriptions": [
-        "Responses with Content-Type of application/json",
-        "Media download with context-dependent Content-Type",
-        "Responses with Content-Type of application/x-protobuf"
-      ],
-      "type": "string",
-      "default": "json"
-    },
-    "fields": {
-      "location": "query",
-      "description": "Selector specifying which fields to include in a partial response.",
-      "type": "string"
-    }
-  },
-  "kind": "discovery#restDescription",
-  "icons": {
-    "x32": "http://www.google.com/images/icons/product/search-32.gif",
-    "x16": "http://www.google.com/images/icons/product/search-16.gif"
-  },
-  "discoveryVersion": "v1",
-  "batchPath": "batch",
-  "auth": {
-    "oauth2": {
-      "scopes": {
-        "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "View and manage your data across Google Cloud Platform services"
-        }
-      }
-    }
-  },
-  "basePath": "",
-  "id": "firebaseml:v1beta2",
-  "fullyEncodeReservedExpansion": true,
-  "documentationLink": "https://firebase.google.com",
-  "rootUrl": "https://firebaseml.googleapis.com/",
-  "ownerDomain": "google.com",
-  "description": "Access custom machine learning models hosted via Firebase ML.",
-  "mtlsRootUrl": "https://firebaseml.mtls.googleapis.com/"
-}
+    "servicePath": "",
+    "title": "Firebase ML API",
+    "version": "v1beta2",
+    "version_module": true
+}
\ No newline at end of file