# Firebase ML API . projects . models

## Instance Methods

Creates a model in Firebase ML.

Deletes a model

Gets a model resource.

Lists the models

Retrieves the next page of results.

Updates a model. The longrunning operation will eventually return a Model.

### Method Details

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

    Creates a model in Firebase ML.
    The longrunning operation will eventually return a Model

    Args:
      parent: string, Required. The parent project resource where the model is to be created.
    The parent must have the form `projects/{project_id}` (required)
      body: object, The request body.
        The object takes the form of:

    { # An ML model hosted in Firebase ML
        "name": "A String", # 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.
        "modelHash": "A String", # Output only. The model_hash will change if a new file is available for download.
        "displayName": "A String", # 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.
        "tags": [ # User defined tags which can be used to group/filter models during listing
          "A String",
        ],
        "createTime": "A String", # Output only. Timestamp when this model was created in Firebase ML.
        "activeOperations": [ # Output only. Lists operation ids associated with this model whose status is NOT done.
          { # This resource represents a long-running operation that is the result of a
              # network API call.
            "done": True or False, # If the value is `false`, it means the operation is still in progress.
                # If `true`, the operation is completed, and either `error` or `response` is
                # available.
            "response": { # The normal response of the operation in case of success.  If the original
                # method returns no data on success, such as `Delete`, the response is
                # `google.protobuf.Empty`.  If the original method is standard
                # `Get`/`Create`/`Update`, the response should be the resource.  For other
                # methods, the response should have the type `XxxResponse`, where `Xxx`
                # is the original method name.  For example, if the original method name
                # is `TakeSnapshot()`, the inferred response type is
                # `TakeSnapshotResponse`.
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
            "error": { # 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
                # 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).
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "message": "A String", # A developer-facing error message, which should be in English. Any
                  # user-facing error message should be localized and sent in the
                  # google.rpc.Status.details field, or localized by the client.
              "details": [ # A list of messages that carry the error details.  There is a common set of
                  # message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
            },
            "name": "A String", # The server-assigned name, which is only unique within the same service that
                # originally returns it. If you use the default HTTP mapping, the
                # `name` should be a resource name ending with `operations/{unique_id}`.
            "metadata": { # Service-specific metadata associated with the operation.  It typically
                # contains progress information and common metadata such as create time.
                # Some services might not provide such metadata.  Any method that returns a
                # long-running operation should document the metadata type, if any.
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          },
        ],
        "updateTime": "A String", # Output only. Timestamp when this model was updated in Firebase ML.
        "state": { # State common to all model types. # State common to all model types.
            # Includes publishing and validation information.
            # Includes publishing and validation information.
          "validationError": { # The `Status` type defines a logical error model that is suitable for # 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.
              # 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).
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "message": "A String", # A developer-facing error message, which should be in English. Any
                # user-facing error message should be localized and sent in the
                # google.rpc.Status.details field, or localized by the client.
            "details": [ # A list of messages that carry the error details.  There is a common set of
                # message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
          },
          "published": True or False, # Indicates if this model has been published.
        },
        "tfliteModel": { # Information that is specific to TfLite models. # A TFLite Model
          "sizeBytes": "A String", # Output only. The size of the TFLite model
          "gcsTfliteUri": "A String", # 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.
        },
        "etag": "A String", # Output only. See RFC7232
            # https://tools.ietf.org/html/rfc7232#section-2.3
      }

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

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # 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
            # 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).
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`delete(name, x__xgafv=None)`

    Deletes a model

    Args:
      name: string, Required. The name of the model to delete.
    The name must have the form `projects/{project_id}/models/{model_id}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated
          # empty messages in your APIs. A typical example is to use it as the request
          # or the response type of an API method. For instance:
          #
          #     service Foo {
          #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

`get(name, x__xgafv=None)`

    Gets a model resource.

    Args:
      name: string, Required. The name of the model to get.
    The name must have the form `projects/{project_id}/models/{model_id}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An ML model hosted in Firebase ML
          "name": "A String", # 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.
          "modelHash": "A String", # Output only. The model_hash will change if a new file is available for download.
          "displayName": "A String", # 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.
          "tags": [ # User defined tags which can be used to group/filter models during listing
            "A String",
          ],
          "createTime": "A String", # Output only. Timestamp when this model was created in Firebase ML.
          "activeOperations": [ # Output only. Lists operation ids associated with this model whose status is NOT done.
            { # This resource represents a long-running operation that is the result of a
                # network API call.
              "done": True or False, # If the value is `false`, it means the operation is still in progress.
                  # If `true`, the operation is completed, and either `error` or `response` is
                  # available.
              "response": { # The normal response of the operation in case of success.  If the original
                  # method returns no data on success, such as `Delete`, the response is
                  # `google.protobuf.Empty`.  If the original method is standard
                  # `Get`/`Create`/`Update`, the response should be the resource.  For other
                  # methods, the response should have the type `XxxResponse`, where `Xxx`
                  # is the original method name.  For example, if the original method name
                  # is `TakeSnapshot()`, the inferred response type is
                  # `TakeSnapshotResponse`.
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
              "error": { # 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
                  # 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).
                "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                "message": "A String", # A developer-facing error message, which should be in English. Any
                    # user-facing error message should be localized and sent in the
                    # google.rpc.Status.details field, or localized by the client.
                "details": [ # A list of messages that carry the error details.  There is a common set of
                    # message types for APIs to use.
                  {
                    "a_key": "", # Properties of the object. Contains field @type with type URL.
                  },
                ],
              },
              "name": "A String", # The server-assigned name, which is only unique within the same service that
                  # originally returns it. If you use the default HTTP mapping, the
                  # `name` should be a resource name ending with `operations/{unique_id}`.
              "metadata": { # Service-specific metadata associated with the operation.  It typically
                  # contains progress information and common metadata such as create time.
                  # Some services might not provide such metadata.  Any method that returns a
                  # long-running operation should document the metadata type, if any.
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            },
          ],
          "updateTime": "A String", # Output only. Timestamp when this model was updated in Firebase ML.
          "state": { # State common to all model types. # State common to all model types.
              # Includes publishing and validation information.
              # Includes publishing and validation information.
            "validationError": { # The `Status` type defines a logical error model that is suitable for # 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.
                # 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).
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "message": "A String", # A developer-facing error message, which should be in English. Any
                  # user-facing error message should be localized and sent in the
                  # google.rpc.Status.details field, or localized by the client.
              "details": [ # A list of messages that carry the error details.  There is a common set of
                  # message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
            },
            "published": True or False, # Indicates if this model has been published.
          },
          "tfliteModel": { # Information that is specific to TfLite models. # A TFLite Model
            "sizeBytes": "A String", # Output only. The size of the TFLite model
            "gcsTfliteUri": "A String", # 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.
          },
          "etag": "A String", # Output only. See RFC7232
              # https://tools.ietf.org/html/rfc7232#section-2.3
        }

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

    Lists the models

    Args:
      parent: string, Required. The name of the parent to list models for.
    The parent must have the form `projects/{project_id}' (required)
      pageToken: string, The next_page_token value returned from a previous List request, if any.
      filter: string, A filter for the list
    e.g. 'tags: abc' to list models which are tagged with "abc"
      pageSize: integer, The maximum number of items to return
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response for list models
        "models": [ # The list of models
          { # An ML model hosted in Firebase ML
              "name": "A String", # 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.
              "modelHash": "A String", # Output only. The model_hash will change if a new file is available for download.
              "displayName": "A String", # 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.
              "tags": [ # User defined tags which can be used to group/filter models during listing
                "A String",
              ],
              "createTime": "A String", # Output only. Timestamp when this model was created in Firebase ML.
              "activeOperations": [ # Output only. Lists operation ids associated with this model whose status is NOT done.
                { # This resource represents a long-running operation that is the result of a
                    # network API call.
                  "done": True or False, # If the value is `false`, it means the operation is still in progress.
                      # If `true`, the operation is completed, and either `error` or `response` is
                      # available.
                  "response": { # The normal response of the operation in case of success.  If the original
                      # method returns no data on success, such as `Delete`, the response is
                      # `google.protobuf.Empty`.  If the original method is standard
                      # `Get`/`Create`/`Update`, the response should be the resource.  For other
                      # methods, the response should have the type `XxxResponse`, where `Xxx`
                      # is the original method name.  For example, if the original method name
                      # is `TakeSnapshot()`, the inferred response type is
                      # `TakeSnapshotResponse`.
                    "a_key": "", # Properties of the object. Contains field @type with type URL.
                  },
                  "error": { # 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
                      # 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).
                    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                    "message": "A String", # A developer-facing error message, which should be in English. Any
                        # user-facing error message should be localized and sent in the
                        # google.rpc.Status.details field, or localized by the client.
                    "details": [ # A list of messages that carry the error details.  There is a common set of
                        # message types for APIs to use.
                      {
                        "a_key": "", # Properties of the object. Contains field @type with type URL.
                      },
                    ],
                  },
                  "name": "A String", # The server-assigned name, which is only unique within the same service that
                      # originally returns it. If you use the default HTTP mapping, the
                      # `name` should be a resource name ending with `operations/{unique_id}`.
                  "metadata": { # Service-specific metadata associated with the operation.  It typically
                      # contains progress information and common metadata such as create time.
                      # Some services might not provide such metadata.  Any method that returns a
                      # long-running operation should document the metadata type, if any.
                    "a_key": "", # Properties of the object. Contains field @type with type URL.
                  },
                },
              ],
              "updateTime": "A String", # Output only. Timestamp when this model was updated in Firebase ML.
              "state": { # State common to all model types. # State common to all model types.
                  # Includes publishing and validation information.
                  # Includes publishing and validation information.
                "validationError": { # The `Status` type defines a logical error model that is suitable for # 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.
                    # 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).
                  "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                  "message": "A String", # A developer-facing error message, which should be in English. Any
                      # user-facing error message should be localized and sent in the
                      # google.rpc.Status.details field, or localized by the client.
                  "details": [ # A list of messages that carry the error details.  There is a common set of
                      # message types for APIs to use.
                    {
                      "a_key": "", # Properties of the object. Contains field @type with type URL.
                    },
                  ],
                },
                "published": True or False, # Indicates if this model has been published.
              },
              "tfliteModel": { # Information that is specific to TfLite models. # A TFLite Model
                "sizeBytes": "A String", # Output only. The size of the TFLite model
                "gcsTfliteUri": "A String", # 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.
              },
              "etag": "A String", # Output only. See RFC7232
                  # https://tools.ietf.org/html/rfc7232#section-2.3
            },
        ],
        "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no
            # more results in the list.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

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

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

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

    Updates a model. The longrunning operation will eventually return a Model.

    Args:
      name: string, 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. (required)
      body: object, The request body.
        The object takes the form of:

    { # An ML model hosted in Firebase ML
        "name": "A String", # 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.
        "modelHash": "A String", # Output only. The model_hash will change if a new file is available for download.
        "displayName": "A String", # 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.
        "tags": [ # User defined tags which can be used to group/filter models during listing
          "A String",
        ],
        "createTime": "A String", # Output only. Timestamp when this model was created in Firebase ML.
        "activeOperations": [ # Output only. Lists operation ids associated with this model whose status is NOT done.
          { # This resource represents a long-running operation that is the result of a
              # network API call.
            "done": True or False, # If the value is `false`, it means the operation is still in progress.
                # If `true`, the operation is completed, and either `error` or `response` is
                # available.
            "response": { # The normal response of the operation in case of success.  If the original
                # method returns no data on success, such as `Delete`, the response is
                # `google.protobuf.Empty`.  If the original method is standard
                # `Get`/`Create`/`Update`, the response should be the resource.  For other
                # methods, the response should have the type `XxxResponse`, where `Xxx`
                # is the original method name.  For example, if the original method name
                # is `TakeSnapshot()`, the inferred response type is
                # `TakeSnapshotResponse`.
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
            "error": { # 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
                # 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).
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "message": "A String", # A developer-facing error message, which should be in English. Any
                  # user-facing error message should be localized and sent in the
                  # google.rpc.Status.details field, or localized by the client.
              "details": [ # A list of messages that carry the error details.  There is a common set of
                  # message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
            },
            "name": "A String", # The server-assigned name, which is only unique within the same service that
                # originally returns it. If you use the default HTTP mapping, the
                # `name` should be a resource name ending with `operations/{unique_id}`.
            "metadata": { # Service-specific metadata associated with the operation.  It typically
                # contains progress information and common metadata such as create time.
                # Some services might not provide such metadata.  Any method that returns a
                # long-running operation should document the metadata type, if any.
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          },
        ],
        "updateTime": "A String", # Output only. Timestamp when this model was updated in Firebase ML.
        "state": { # State common to all model types. # State common to all model types.
            # Includes publishing and validation information.
            # Includes publishing and validation information.
          "validationError": { # The `Status` type defines a logical error model that is suitable for # 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.
              # 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).
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "message": "A String", # A developer-facing error message, which should be in English. Any
                # user-facing error message should be localized and sent in the
                # google.rpc.Status.details field, or localized by the client.
            "details": [ # A list of messages that carry the error details.  There is a common set of
                # message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
          },
          "published": True or False, # Indicates if this model has been published.
        },
        "tfliteModel": { # Information that is specific to TfLite models. # A TFLite Model
          "sizeBytes": "A String", # Output only. The size of the TFLite model
          "gcsTfliteUri": "A String", # 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.
        },
        "etag": "A String", # Output only. See RFC7232
            # https://tools.ietf.org/html/rfc7232#section-2.3
      }

      updateMask: string, The update mask
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # 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
            # 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).
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }