# Remote Build Execution API . projects . instances

## Instance Methods

Returns the workerpools Resource.

Close httplib2 connections.

Creates a new instance in the specified region. Returns a long running operation which contains an instance on completion. While the long running operation is in progress, any call to `GetInstance` returns an instance in state `CREATING`.

Deletes the specified instance. Returns a long running operation which contains a `google.protobuf.Empty` response on completion. Deleting an instance with worker pools in it will delete these worker pools.

Returns the specified instance.

Lists instances in a project.

Updates the specified instance. Returns a long running operation which contains the updated instance in the response on completion.

### Method Details

`close()`

    Close httplib2 connections.

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

    Creates a new instance in the specified region. Returns a long running operation which contains an instance on completion. While the long running operation is in progress, any call to `GetInstance` returns an instance in state `CREATING`.

    Args:
      parent: string, Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`. (required)
      body: object, The request body.
        The object takes the form of:

    { # The request used for `CreateInstance`.
      "instance": { # Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance. # Specifies the instance to create. The name in the instance, if specified in the instance, is ignored.
        "featurePolicy": { # FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time. # The policy to define whether or not RBE features can be used or how they can be used.
          "containerImageSources": { # Defines whether a feature can be used or what values are accepted. # Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ "gcr.io/project-foo", "gcr.io/project-bar/repo-baz", ] } will allow any repositories under "gcr.io/project-foo" plus the repository "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to any source is allowed.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "dockerAddCapabilities": { # Defines whether a feature can be used or what values are accepted. # Whether dockerAddCapabilities can be used or what capabilities are allowed.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "dockerChrootPath": { # Defines whether a feature can be used or what values are accepted. # Whether dockerChrootPath can be used.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "dockerNetwork": { # Defines whether a feature can be used or what values are accepted. # Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "dockerPrivileged": { # Defines whether a feature can be used or what values are accepted. # Whether dockerPrivileged can be used.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "dockerRunAsRoot": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRunAsRoot can be used.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "dockerRuntime": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "dockerSiblingContainers": { # Defines whether a feature can be used or what values are accepted. # Whether dockerSiblingContainers can be used.
            "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
              "A String",
            ],
            "policy": "A String", # The policy of the feature.
          },
          "linuxIsolation": "A String", # linux_isolation allows overriding the docker runtime used for containers started on Linux.
        },
        "location": "A String", # The location is a GCP region. Currently only `us-central1` is supported.
        "loggingEnabled": True or False, # Output only. Whether stack driver logging is enabled for the instance.
        "name": "A String", # Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.
        "state": "A String", # Output only. State of the instance.
      },
      "instanceId": "A String", # ID of the created instance. A valid `instance_id` must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.
      "parent": "A String", # Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.
    }

      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.
      "error": { # 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). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }

`delete(name, x__xgafv=None)`

    Deletes the specified instance. Returns a long running operation which contains a `google.protobuf.Empty` response on completion. Deleting an instance with worker pools in it will delete these worker pools.

    Args:
      name: string, Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "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.
      "error": { # 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). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }

`get(name, x__xgafv=None)`

    Returns the specified instance.

    Args:
      name: string, Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance.
      "featurePolicy": { # FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time. # The policy to define whether or not RBE features can be used or how they can be used.
        "containerImageSources": { # Defines whether a feature can be used or what values are accepted. # Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ "gcr.io/project-foo", "gcr.io/project-bar/repo-baz", ] } will allow any repositories under "gcr.io/project-foo" plus the repository "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to any source is allowed.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerAddCapabilities": { # Defines whether a feature can be used or what values are accepted. # Whether dockerAddCapabilities can be used or what capabilities are allowed.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerChrootPath": { # Defines whether a feature can be used or what values are accepted. # Whether dockerChrootPath can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerNetwork": { # Defines whether a feature can be used or what values are accepted. # Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerPrivileged": { # Defines whether a feature can be used or what values are accepted. # Whether dockerPrivileged can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerRunAsRoot": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRunAsRoot can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerRuntime": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerSiblingContainers": { # Defines whether a feature can be used or what values are accepted. # Whether dockerSiblingContainers can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "linuxIsolation": "A String", # linux_isolation allows overriding the docker runtime used for containers started on Linux.
      },
      "location": "A String", # The location is a GCP region. Currently only `us-central1` is supported.
      "loggingEnabled": True or False, # Output only. Whether stack driver logging is enabled for the instance.
      "name": "A String", # Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.
      "state": "A String", # Output only. State of the instance.
    }

`list(parent, x__xgafv=None)`

    Lists instances in a project.

    Args:
      parent: string, Resource name of the project. Format: `projects/[PROJECT_ID]`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
      "instances": [ # The list of instances in a given project.
        { # Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance.
          "featurePolicy": { # FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time. # The policy to define whether or not RBE features can be used or how they can be used.
            "containerImageSources": { # Defines whether a feature can be used or what values are accepted. # Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ "gcr.io/project-foo", "gcr.io/project-bar/repo-baz", ] } will allow any repositories under "gcr.io/project-foo" plus the repository "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to any source is allowed.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "dockerAddCapabilities": { # Defines whether a feature can be used or what values are accepted. # Whether dockerAddCapabilities can be used or what capabilities are allowed.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "dockerChrootPath": { # Defines whether a feature can be used or what values are accepted. # Whether dockerChrootPath can be used.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "dockerNetwork": { # Defines whether a feature can be used or what values are accepted. # Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "dockerPrivileged": { # Defines whether a feature can be used or what values are accepted. # Whether dockerPrivileged can be used.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "dockerRunAsRoot": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRunAsRoot can be used.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "dockerRuntime": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "dockerSiblingContainers": { # Defines whether a feature can be used or what values are accepted. # Whether dockerSiblingContainers can be used.
              "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
                "A String",
              ],
              "policy": "A String", # The policy of the feature.
            },
            "linuxIsolation": "A String", # linux_isolation allows overriding the docker runtime used for containers started on Linux.
          },
          "location": "A String", # The location is a GCP region. Currently only `us-central1` is supported.
          "loggingEnabled": True or False, # Output only. Whether stack driver logging is enabled for the instance.
          "name": "A String", # Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.
          "state": "A String", # Output only. State of the instance.
        },
      ],
    }

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

    Updates the specified instance. Returns a long running operation which contains the updated instance in the response on completion.

    Args:
      name: string, Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field. (required)
      body: object, The request body.
        The object takes the form of:

    { # Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance.
      "featurePolicy": { # FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time. # The policy to define whether or not RBE features can be used or how they can be used.
        "containerImageSources": { # Defines whether a feature can be used or what values are accepted. # Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ "gcr.io/project-foo", "gcr.io/project-bar/repo-baz", ] } will allow any repositories under "gcr.io/project-foo" plus the repository "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to any source is allowed.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerAddCapabilities": { # Defines whether a feature can be used or what values are accepted. # Whether dockerAddCapabilities can be used or what capabilities are allowed.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerChrootPath": { # Defines whether a feature can be used or what values are accepted. # Whether dockerChrootPath can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerNetwork": { # Defines whether a feature can be used or what values are accepted. # Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerPrivileged": { # Defines whether a feature can be used or what values are accepted. # Whether dockerPrivileged can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerRunAsRoot": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRunAsRoot can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerRuntime": { # Defines whether a feature can be used or what values are accepted. # Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "dockerSiblingContainers": { # Defines whether a feature can be used or what values are accepted. # Whether dockerSiblingContainers can be used.
          "allowedValues": [ # A list of acceptable values. Only effective when the policy is `RESTRICTED`.
            "A String",
          ],
          "policy": "A String", # The policy of the feature.
        },
        "linuxIsolation": "A String", # linux_isolation allows overriding the docker runtime used for containers started on Linux.
      },
      "location": "A String", # The location is a GCP region. Currently only `us-central1` is supported.
      "loggingEnabled": True or False, # Output only. Whether stack driver logging is enabled for the instance.
      "name": "A String", # Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.
      "state": "A String", # Output only. State of the instance.
    }

      loggingEnabled: boolean, Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.
      name1: string, Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
      updateMask: string, The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.
      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.
      "error": { # 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). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }