Remote Build Execution API . projects . instances

Instance Methods

workerpools()

Returns the workerpools Resource.

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`.

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.

get(name, x__xgafv=None)

Returns the specified instance.

list(parent, x__xgafv=None)

Lists instances in a project.

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.

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.
  },
}