{
  "title": "Remote Build Execution API",
  "ownerDomain": "google.com",
  "id": "remotebuildexecution:v1alpha",
  "servicePath": "",
  "version_module": true,
  "version": "v1alpha",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "name": "remotebuildexecution",
  "batchPath": "batch",
  "protocol": "rest",
  "canonicalName": "Remote Build Execution",
  "parameters": {
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "location": "query",
      "description": "V1 error format."
    },
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "alt": {
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response."
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "type": "boolean"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string"
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "key": {
      "type": "string",
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    }
  },
  "discoveryVersion": "v1",
  "description": "Supplies a Remote Execution API service for tools such as bazel.",
  "ownerName": "Google",
  "kind": "discovery#restDescription",
  "revision": "20201006",
  "basePath": "",
  "mtlsRootUrl": "https://admin-remotebuildexecution.mtls.googleapis.com/",
  "schemas": {
    "BuildBazelRemoteExecutionV2ExecuteOperationMetadata": {
      "properties": {
        "actionDigest": {
          "description": "The digest of the Action being executed.",
          "$ref": "BuildBazelRemoteExecutionV2Digest"
        },
        "stage": {
          "enumDescriptions": [
            "Invalid value.",
            "Checking the result against the cache.",
            "Currently idle, awaiting a free machine to execute.",
            "Currently being executed by a worker.",
            "Finished execution."
          ],
          "enum": [
            "UNKNOWN",
            "CACHE_CHECK",
            "QUEUED",
            "EXECUTING",
            "COMPLETED"
          ],
          "description": "The current stage of execution.",
          "type": "string"
        },
        "stderrStreamName": {
          "type": "string",
          "description": "If set, the client can use this name with ByteStream.Read to stream the standard error."
        },
        "stdoutStreamName": {
          "type": "string",
          "description": "If set, the client can use this name with ByteStream.Read to stream the standard output."
        }
      },
      "type": "object",
      "description": "Metadata about an ongoing execution, which will be contained in the metadata field of the Operation.",
      "id": "BuildBazelRemoteExecutionV2ExecuteOperationMetadata"
    },
    "GoogleDevtoolsRemotebuildbotCommandEvents": {
      "id": "GoogleDevtoolsRemotebuildbotCommandEvents",
      "description": "CommandEvents contains counters for the number of warnings and errors that occurred during the execution of a command.",
      "type": "object",
      "properties": {
        "dockerCacheHit": {
          "type": "boolean",
          "description": "Indicates whether we are using a cached Docker image (true) or had to pull the Docker image (false) for this command."
        },
        "numErrors": {
          "type": "string",
          "format": "uint64",
          "description": "The number of errors reported."
        },
        "numWarnings": {
          "format": "uint64",
          "type": "string",
          "description": "The number of warnings reported."
        },
        "inputCacheMiss": {
          "description": "The input cache miss ratio.",
          "format": "float",
          "type": "number"
        },
        "dockerImageName": {
          "type": "string",
          "description": "Docker Image name."
        }
      }
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale": {
      "type": "object",
      "description": "Autoscale defines the autoscaling policy of a worker pool.",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale",
      "properties": {
        "minSize": {
          "description": "The minimal number of workers. Must be greater than 0.",
          "type": "string",
          "format": "int64"
        },
        "maxSize": {
          "type": "string",
          "format": "int64",
          "description": "The maximal number of workers. Must be equal to or greater than min_size."
        }
      }
    },
    "GoogleDevtoolsRemoteworkersV1test2Digest": {
      "description": "The CommandTask and CommandResult messages assume the existence of a service that can serve blobs of content, identified by a hash and size known as a \"digest.\" The method by which these blobs may be retrieved is not specified here, but a model implementation is in the Remote Execution API's \"ContentAddressibleStorage\" interface. In the context of the RWAPI, a Digest will virtually always refer to the contents of a file or a directory. The latter is represented by the byte-encoded Directory message.",
      "id": "GoogleDevtoolsRemoteworkersV1test2Digest",
      "properties": {
        "hash": {
          "type": "string",
          "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg SHA-256)."
        },
        "sizeBytes": {
          "type": "string",
          "format": "int64",
          "description": "The size of the contents. While this is not strictly required as part of an identifier (after all, any given hash will have exactly one canonical size), it's useful in almost all cases when one might want to send or retrieve blobs of content and is included here for this reason."
        }
      },
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest": {
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest",
      "description": "The request used for `GetInstance`.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`."
        }
      }
    },
    "BuildBazelRemoteExecutionV2Digest": {
      "properties": {
        "hash": {
          "type": "string",
          "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long."
        },
        "sizeBytes": {
          "type": "string",
          "format": "int64",
          "description": "The size of the blob, in bytes."
        }
      },
      "type": "object",
      "description": "A content digest. A digest for a given blob consists of the size of the blob and its hash. The hash algorithm to use is defined by the server. The size is considered to be an integral part of the digest and cannot be separated. That is, even if the `hash` field is correctly specified but `size_bytes` is not, the server MUST reject the request. The reason for including the size in the digest is as follows: in a great many cases, the server needs to know the size of the blob it is about to work with prior to starting an operation with it, such as flattening Merkle tree structures or streaming it to a worker. Technically, the server could implement a separate metadata store, but this results in a significantly more complicated implementation as opposed to having the client specify the size up-front (or storing the size along with the digest in every message where digests are embedded). This does mean that the API leaks some implementation details of (what we consider to be) a reasonable server implementation, but we consider this to be a worthwhile tradeoff. When a `Digest` is used to refer to a proto message, it always refers to the message in binary encoded form. To ensure consistent hashing, clients and servers MUST ensure that they serialize messages according to the following rules, even if there are alternate valid encodings for the same message: * Fields are serialized in tag order. * There are no unknown fields. * There are no duplicate fields. * Fields are serialized according to the default semantics for their type. Most protocol buffer implementations will always follow these rules when serializing, but care should be taken to avoid shortcuts. For instance, concatenating two messages to merge them may produce duplicate fields.",
      "id": "BuildBazelRemoteExecutionV2Digest"
    },
    "BuildBazelRemoteExecutionV2ExecuteResponse": {
      "description": "The response message for Execution.Execute, which will be contained in the response field of the Operation.",
      "id": "BuildBazelRemoteExecutionV2ExecuteResponse",
      "properties": {
        "result": {
          "$ref": "BuildBazelRemoteExecutionV2ActionResult",
          "description": "The result of the action."
        },
        "message": {
          "description": "Freeform informational message with details on the execution of the action that may be displayed to the user upon failure or when requested explicitly.",
          "type": "string"
        },
        "status": {
          "$ref": "GoogleRpcStatus",
          "description": "If the status has a code other than `OK`, it indicates that the action did not finish execution. For example, if the operation times out during execution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in execution, rather than the error field on the `Operation` object. If the status code is other than `OK`, then the result MUST NOT be cached. For an error status, the `result` field is optional; the server may populate the output-, stdout-, and stderr-related fields if it has any information available, such as the stdout and stderr of a timed-out action."
        },
        "serverLogs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "BuildBazelRemoteExecutionV2LogFile"
          },
          "description": "An optional list of additional log outputs the server wishes to provide. A server can use this to return execution-specific logs however it wishes. This is intended primarily to make it easier for users to debug issues that may be outside of the actual job execution, such as by identifying the worker executing the action or by providing logs from the worker's setup phase. The keys SHOULD be human readable so that a client can display them to a user."
        },
        "cachedResult": {
          "type": "boolean",
          "description": "True if the result was served from cache, false if it was executed."
        }
      },
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildbotCommandDurations": {
      "properties": {
        "download": {
          "format": "google-duration",
          "type": "string",
          "description": "The time spent downloading the input files and constructing the working directory."
        },
        "stdout": {
          "format": "google-duration",
          "description": "The time spent uploading the stdout logs.",
          "type": "string"
        },
        "isoPrepDone": {
          "description": "The timestamp when preparation is done and bot starts downloading files.",
          "format": "google-datetime",
          "type": "string"
        },
        "uploadStartTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The timestamp when uploading the output files begins."
        },
        "upload": {
          "format": "google-duration",
          "type": "string",
          "description": "The time spent uploading the output files."
        },
        "overall": {
          "description": "The time spent completing the command, in total.",
          "type": "string",
          "format": "google-duration"
        },
        "execution": {
          "description": "The time spent executing the command (i.e., doing useful work).",
          "format": "google-duration",
          "type": "string"
        },
        "dockerPrepStartTime": {
          "format": "google-datetime",
          "description": "The timestamp when docker preparation begins.",
          "type": "string"
        },
        "dockerPrep": {
          "type": "string",
          "format": "google-duration",
          "description": "The time spent preparing the command to be run in a Docker container (includes pulling the Docker image, if necessary)."
        },
        "execStartTime": {
          "format": "google-datetime",
          "description": "The timestamp when execution begins.",
          "type": "string"
        },
        "downloadStartTime": {
          "type": "string",
          "description": "The timestamp when downloading the input files begins.",
          "format": "google-datetime"
        }
      },
      "type": "object",
      "id": "GoogleDevtoolsRemotebuildbotCommandDurations",
      "description": "CommandDuration contains the various duration metrics tracked when a bot performs a command."
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable": {
      "type": "object",
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable",
      "description": "An environment variable required by this task.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The envvar name."
        },
        "value": {
          "type": "string",
          "description": "The envvar value."
        }
      }
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts": {
      "type": "object",
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts",
      "properties": {
        "shutdown": {
          "format": "google-duration",
          "type": "string",
          "description": "If the execution or IO timeouts are exceeded, the worker will try to gracefully terminate the task and return any existing logs. However, tasks may be hard-frozen in which case this process will fail. This timeout specifies how long to wait for a terminated task to shut down gracefully (e.g. via SIGTERM) before we bring down the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows)."
        },
        "execution": {
          "format": "google-duration",
          "description": "This specifies the maximum time that the task can run, excluding the time required to download inputs or upload outputs. That is, the worker will terminate the task if it runs longer than this.",
          "type": "string"
        },
        "idle": {
          "format": "google-duration",
          "description": "This specifies the maximum amount of time the task can be idle - that is, go without generating some output in either stdout or stderr. If the process is silent for more than the specified time, the worker will terminate the task.",
          "type": "string"
        }
      },
      "description": "Describes the timeouts associated with this task."
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest": {
      "type": "object",
      "description": "The request used for GetWorkerPool.",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`."
        }
      }
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest": {
      "description": "The request used for `UpdateInstance`.",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest",
      "properties": {
        "instance": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
          "description": "Specifies the instance to update."
        },
        "loggingEnabled": {
          "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.",
          "type": "boolean"
        },
        "updateMask": {
          "type": "string",
          "description": "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.",
          "format": "google-fieldmask"
        },
        "name": {
          "type": "string",
          "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`."
        }
      },
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2Platform": {
      "description": "A `Platform` is a set of requirements, such as hardware, operating system, or compiler toolchain, for an Action's execution environment. A `Platform` is represented as a series of key-value pairs representing the properties that are required of the platform.",
      "properties": {
        "properties": {
          "type": "array",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2PlatformProperty"
          },
          "description": "The properties that make up this platform. In order to ensure that equivalent `Platform`s always hash to the same value, the properties MUST be lexicographically sorted by name, and then by value. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes."
        }
      },
      "id": "BuildBazelRemoteExecutionV2Platform",
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2OutputSymlink": {
      "type": "object",
      "properties": {
        "nodeProperties": {
          "description": "The supported node properties of the OutputSymlink, if requested by the Action.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
          },
          "type": "array"
        },
        "target": {
          "type": "string",
          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path."
        },
        "path": {
          "type": "string",
          "description": "The full path of the symlink relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash."
        }
      },
      "id": "BuildBazelRemoteExecutionV2OutputSymlink",
      "description": "An `OutputSymlink` is similar to a Symlink, but it is used as an output in an `ActionResult`. `OutputSymlink` is binary-compatible with `SymlinkNode`."
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse": {
      "type": "object",
      "properties": {
        "workerPools": {
          "type": "array",
          "items": {
            "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool"
          },
          "description": "The list of worker pools in a given instance."
        }
      },
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse"
    },
    "BuildBazelRemoteExecutionV2NodeProperty": {
      "properties": {
        "name": {
          "type": "string",
          "description": "The property name."
        },
        "value": {
          "type": "string",
          "description": "The property value."
        }
      },
      "description": "A single property for FileNodes, DirectoryNodes, and SymlinkNodes. The server is responsible for specifying the property `name`s that it accepts. If permitted by the server, the same `name` may occur multiple times.",
      "type": "object",
      "id": "BuildBazelRemoteExecutionV2NodeProperty"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig": {
      "properties": {
        "networkAccess": {
          "type": "string",
          "description": "Determines the type of network access granted to workers. Possible values: - \"public\": Workers can connect to the public internet. - \"private\": Workers can only connect to Google APIs and services. - \"restricted-private\": Workers can only connect to Google APIs that are reachable through `restricted.googleapis.com` (`199.36.153.4/30`)."
        },
        "diskType": {
          "description": "Required. Disk Type to use for the worker. See [Storage options](https://cloud.google.com/compute/docs/disks/#introduction). Currently only `pd-standard` and `pd-ssd` are supported.",
          "type": "string"
        },
        "vmImage": {
          "description": "The name of the image used by each VM.",
          "type": "string"
        },
        "maxConcurrentActions": {
          "description": "The maximum number of actions a worker can execute concurrently.",
          "format": "int64",
          "type": "string"
        },
        "machineType": {
          "description": "Required. Machine type of the worker, such as `n1-standard-2`. See https://cloud.google.com/compute/docs/machine-types for a list of supported machine types. Note that `f1-micro` and `g1-small` are not yet supported.",
          "type": "string"
        },
        "reserved": {
          "description": "Determines whether the worker is reserved (equivalent to a Compute Engine on-demand VM and therefore won't be preempted). See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more details.",
          "type": "boolean"
        },
        "diskSizeGb": {
          "type": "string",
          "description": "Required. Size of the disk attached to the worker, in GB. See https://cloud.google.com/compute/docs/disks/",
          "format": "int64"
        },
        "accelerator": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig",
          "description": "The accelerator card attached to each VM."
        },
        "minCpuPlatform": {
          "type": "string",
          "description": "Minimum CPU platform to use when creating the worker. See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms)."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Labels associated with the workers. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International letters are permitted. Label keys must start with a letter. Label values are optional. There can not be more than 64 labels per resource.",
          "type": "object"
        },
        "soleTenancy": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaSoleTenancyConfig",
          "description": "Sole-tenant node information for pools hosted on STNs."
        }
      },
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig",
      "description": "Defines the configuration to be used for creating workers in the worker pool.",
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2DirectoryNode": {
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the directory."
        },
        "digest": {
          "description": "The digest of the Directory object represented. See Digest for information about how to take the digest of a proto message.",
          "$ref": "BuildBazelRemoteExecutionV2Digest"
        }
      },
      "id": "BuildBazelRemoteExecutionV2DirectoryNode",
      "description": "A `DirectoryNode` represents a child of a Directory which is itself a `Directory` and its associated metadata.",
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance": {
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
      "description": "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.",
      "properties": {
        "location": {
          "type": "string",
          "description": "The location is a GCP region. Currently only `us-central1` is supported."
        },
        "loggingEnabled": {
          "description": "Output only. Whether stack driver logging is enabled for the instance.",
          "type": "boolean"
        },
        "name": {
          "description": "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.",
          "type": "string"
        },
        "featurePolicy": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
          "description": "The policy to define whether or not RBE features can be used or how they can be used."
        },
        "state": {
          "description": "Output only. State of the instance.",
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "RUNNING",
            "INACTIVE"
          ],
          "enumDescriptions": [
            "Not a valid state, but the default value of the enum.",
            "The instance is in state `CREATING` once `CreateInstance` is called and before the instance is ready for use.",
            "The instance is in state `RUNNING` when it is ready for use.",
            "An `INACTIVE` instance indicates that there is a problem that needs to be fixed. Such instances cannot be used for execution and instances that remain in this state for a significant period of time will be removed permanently."
          ]
        }
      },
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest": {
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest",
      "properties": {
        "filter": {
          "type": "string",
          "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or `\u003c`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count \u003e 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the n1-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`"
        },
        "parent": {
          "type": "string",
          "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`."
        }
      },
      "type": "object"
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs": {
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs",
      "properties": {
        "files": {
          "items": {
            "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest"
          },
          "type": "array",
          "description": "The input filesystem to be set up prior to the task beginning. The contents should be a repeated set of FileMetadata messages though other formats are allowed if better for the implementation (eg, a LUCI-style .isolated file). This field is repeated since implementations might want to cache the metadata, in which case it may be useful to break up portions of the filesystem that change frequently (eg, specific input files) from those that don't (eg, standard header files)."
        },
        "arguments": {
          "items": {
            "type": "string"
          },
          "description": "The command itself to run (e.g., argv). This field should be passed directly to the underlying operating system, and so it must be sensible to that operating system. For example, on Windows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" - that is, using drive letters and backslashes. A command for a *nix system, on the other hand, would use forward slashes. All other fields in the RWAPI must consistently use forward slashes, since those fields may be interpretted by both the service and the bot.",
          "type": "array"
        },
        "inlineBlobs": {
          "description": "Inline contents for blobs expected to be needed by the bot to execute the task. For example, contents of entries in `files` or blobs that are indirectly referenced by an entry there. The bot should check against this list before downloading required task inputs to reduce the number of communications between itself and the remote CAS server.",
          "items": {
            "$ref": "GoogleDevtoolsRemoteworkersV1test2Blob"
          },
          "type": "array"
        },
        "environmentVariables": {
          "description": "All environment variables required by the task.",
          "type": "array",
          "items": {
            "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable"
          }
        },
        "workingDirectory": {
          "type": "string",
          "description": "Directory from which a command is executed. It is a relative directory with respect to the bot's working directory (i.e., \"./\"). If it is non-empty, then it must exist under \"./\". Otherwise, \"./\" will be used."
        }
      },
      "description": "Describes the inputs to a shell-style task.",
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse": {
      "type": "object",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse",
      "properties": {
        "instances": {
          "items": {
            "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance"
          },
          "description": "The list of instances in a given project.",
          "type": "array"
        }
      }
    },
    "BuildBazelRemoteExecutionV2OutputDirectory": {
      "id": "BuildBazelRemoteExecutionV2OutputDirectory",
      "type": "object",
      "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a directory's full contents rather than a single file.",
      "properties": {
        "path": {
          "description": "The full path of the directory relative to the working directory. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash. The empty string value is allowed, and it denotes the entire working directory.",
          "type": "string"
        },
        "treeDigest": {
          "description": "The digest of the encoded Tree proto containing the directory's contents.",
          "$ref": "BuildBazelRemoteExecutionV2Digest"
        }
      }
    },
    "GoogleDevtoolsRemotebuildbotResourceUsageStat": {
      "properties": {
        "used": {
          "format": "uint64",
          "type": "string"
        },
        "total": {
          "format": "uint64",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleDevtoolsRemotebuildbotResourceUsageStat"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy": {
      "properties": {
        "dockerAddCapabilities": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
          "description": "Whether dockerAddCapabilities can be used or what capabilities are allowed."
        },
        "dockerRunAsRoot": {
          "description": "Whether dockerRunAsRoot can be used.",
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature"
        },
        "linuxIsolation": {
          "enumDescriptions": [
            "Default value. Will be using Linux default runtime.",
            "Use gVisor runsc runtime.",
            "Use stardard Linux runtime. This has the same behaviour as unspecified, but it can be used to revert back from gVisor."
          ],
          "description": "linux_isolation allows overriding the docker runtime used for containers started on Linux.",
          "enum": [
            "LINUX_ISOLATION_UNSPECIFIED",
            "GVISOR",
            "OFF"
          ],
          "type": "string"
        },
        "dockerChrootPath": {
          "description": "Whether dockerChrootPath can be used.",
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature"
        },
        "containerImageSources": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
          "description": "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."
        },
        "dockerPrivileged": {
          "description": "Whether dockerPrivileged can be used.",
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature"
        },
        "dockerNetwork": {
          "description": "Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`.",
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature"
        },
        "dockerRuntime": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
          "description": "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."
        },
        "dockerSiblingContainers": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
          "description": "Whether dockerSiblingContainers can be used."
        }
      },
      "description": "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.",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest": {
      "type": "object",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest",
      "description": "The request used for DeleteWorkerPool.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`."
        }
      }
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest": {
      "properties": {
        "parent": {
          "type": "string",
          "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`."
        }
      },
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest",
      "type": "object"
    },
    "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata": {
      "description": "The metadata for a directory. Similar to the equivalent message in the Remote Execution API.",
      "id": "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata",
      "type": "object",
      "properties": {
        "path": {
          "description": "The path of the directory, as in FileMetadata.path.",
          "type": "string"
        },
        "digest": {
          "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
          "description": "A pointer to the contents of the directory, in the form of a marshalled Directory message."
        }
      }
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandTask": {
      "properties": {
        "inputs": {
          "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs",
          "description": "The inputs to the task."
        },
        "timeouts": {
          "description": "The timeouts of this task.",
          "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts"
        },
        "expectedOutputs": {
          "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs",
          "description": "The expected outputs from the task."
        }
      },
      "description": "Describes a shell-style task to execute, suitable for providing as the Bots interface's `Lease.payload` field.",
      "type": "object",
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandTask"
    },
    "GoogleDevtoolsRemoteworkersV1test2FileMetadata": {
      "type": "object",
      "description": "The metadata for a file. Similar to the equivalent message in the Remote Execution API.",
      "properties": {
        "digest": {
          "description": "A pointer to the contents of the file. The method by which a client retrieves the contents from a CAS system is not defined here.",
          "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest"
        },
        "path": {
          "description": "The path of this file. If this message is part of the CommandOutputs.outputs fields, the path is relative to the execution root and must correspond to an entry in CommandTask.outputs.files. If this message is part of a Directory message, then the path is relative to the root of that directory. All paths MUST be delimited by forward slashes.",
          "type": "string"
        },
        "contents": {
          "description": "If the file is small enough, its contents may also or alternatively be listed here.",
          "format": "byte",
          "type": "string"
        },
        "isExecutable": {
          "type": "boolean",
          "description": "Properties of the file"
        }
      },
      "id": "GoogleDevtoolsRemoteworkersV1test2FileMetadata"
    },
    "GoogleLongrunningOperation": {
      "type": "object",
      "id": "GoogleLongrunningOperation",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        },
        "name": {
          "type": "string",
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`."
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "GoogleRpcStatus"
        },
        "response": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object",
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`."
        }
      }
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest": {
      "description": "The request used for `CreateInstance`.",
      "type": "object",
      "properties": {
        "instance": {
          "description": "Specifies the instance to create. The name in the instance, if specified in the instance, is ignored.",
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance"
        },
        "instanceId": {
          "type": "string",
          "description": "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": {
          "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.",
          "type": "string"
        }
      },
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest"
    },
    "GoogleDevtoolsRemotebuildbotCommandStatus": {
      "id": "GoogleDevtoolsRemotebuildbotCommandStatus",
      "description": "The internal status of the command result.",
      "properties": {
        "code": {
          "enum": [
            "OK",
            "INVALID_ARGUMENT",
            "DEADLINE_EXCEEDED",
            "NOT_FOUND",
            "PERMISSION_DENIED",
            "INTERNAL",
            "ABORTED",
            "FAILED_PRECONDITION",
            "CLEANUP_ERROR",
            "DOWNLOAD_INPUTS_ERROR",
            "UNKNOWN",
            "UPLOAD_OUTPUTS_ERROR",
            "UPLOAD_OUTPUTS_BYTES_LIMIT_EXCEEDED",
            "DOCKER_LOGIN_ERROR",
            "DOCKER_IMAGE_PULL_ERROR",
            "DOCKER_IMAGE_EXIST_ERROR",
            "DUPLICATE_INPUTS",
            "DOCKER_IMAGE_PERMISSION_DENIED",
            "DOCKER_IMAGE_NOT_FOUND",
            "WORKING_DIR_NOT_FOUND",
            "WORKING_DIR_NOT_IN_BASE_DIR",
            "DOCKER_UNAVAILABLE",
            "NO_CUDA_CAPABLE_DEVICE",
            "REMOTE_CAS_DOWNLOAD_ERROR",
            "REMOTE_CAS_UPLOAD_ERROR",
            "LOCAL_CASPROXY_NOT_RUNNING",
            "DOCKER_CREATE_CONTAINER_ERROR",
            "DOCKER_INVALID_ULIMIT",
            "DOCKER_UNKNOWN_RUNTIME",
            "DOCKER_UNKNOWN_CAPABILITY",
            "DOCKER_UNKNOWN_ERROR",
            "DOCKER_CREATE_COMPUTE_SYSTEM_ERROR",
            "DOCKER_PREPARELAYER_ERROR",
            "DOCKER_INCOMPATIBLE_OS_ERROR",
            "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND",
            "DOCKER_CREATE_RUNTIME_PERMISSION_DENIED",
            "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND",
            "DOCKER_CREATE_COMPUTE_SYSTEM_INCORRECT_PARAMETER_ERROR"
          ],
          "description": "The status code.",
          "enumDescriptions": [
            "The command succeeded.",
            "The command input was invalid.",
            "The command had passed its expiry time while it was still running.",
            "The resources requested by the command were not found.",
            "The command failed due to permission errors.",
            "The command failed because of some invariants expected by the underlying system have been broken. This usually indicates a bug wit the system.",
            "The command was aborted.",
            "The command failed because the system is not in a state required for the command, e.g. the command inputs cannot be found on the server.",
            "The bot failed to do the cleanup, e.g. unable to delete the command working directory or the command process.",
            "The bot failed to download the inputs.",
            "Unknown error.",
            "The bot failed to upload the outputs.",
            "The bot tried to upload files having a total size that is too large.",
            "The bot failed to login to docker.",
            "The bot failed to pull docker image.",
            "The bot failed to check docker images.",
            "The inputs contain duplicate files.",
            "The bot doesn't have the permissions to pull docker images.",
            "The docker image cannot be found.",
            "Working directory is not found.",
            "Working directory is not under the base directory",
            "There are issues with docker service/runtime.",
            "The command failed with \"no cuda-capable device is detected\" error.",
            "The bot encountered errors from remote CAS when downloading blobs.",
            "The bot encountered errors from remote CAS when uploading blobs.",
            "The local casproxy is not running.",
            "The bot couldn't start the container.",
            "The docker ulimit is not valid.",
            "The docker runtime is unknown.",
            "The docker capability is unknown.",
            "The command failed with unknown docker errors.",
            "Docker failed to run containers with CreateComputeSystem error.",
            "Docker failed to run containers with hcsshim::PrepareLayer error.",
            "Docker incompatible operating system error.",
            "Docker failed to create OCI runtime because of file not found.",
            "Docker failed to create OCI runtime because of permission denied.",
            "Docker failed to create process because of file not found.",
            "Docker failed to run containers with CreateComputeSystem error that involves an incorrect parameter (more specific version of DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused)."
          ],
          "type": "string"
        },
        "message": {
          "description": "The error message.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2Command": {
      "id": "BuildBazelRemoteExecutionV2Command",
      "description": "A `Command` is the actual command executed by a worker running an Action and specifications of its environment. Except as otherwise required, the environment (such as which system libraries or binaries are available, and what filesystems are mounted where) is defined by and specific to the implementation of the remote execution API.",
      "properties": {
        "outputFiles": {
          "type": "array",
          "description": "A list of the output files that the client expects to retrieve from the action. Only the listed files, as well as directories listed in `output_directories`, will be returned to the client as output. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output file cannot be duplicated, be a parent of another output file, or have the same path as any of the listed output directories. Directories leading up to the output files are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since v2.1: Use `output_paths` instead.",
          "items": {
            "type": "string"
          }
        },
        "outputDirectories": {
          "items": {
            "type": "string"
          },
          "description": "A list of the output directories that the client expects to retrieve from the action. Only the listed directories will be returned (an entire directory structure will be returned as a Tree message digest, see OutputDirectory), as well as files listed in `output_files`. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. The special value of empty string is allowed, although not recommended, and can be used to capture the entire working directory tree, including inputs. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output directory cannot be duplicated or have the same path as any of the listed output files. An output directory is allowed to be a parent of another output directory. Directories leading up to the output directories (but not the output directories themselves) are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since 2.1: Use `output_paths` instead.",
          "type": "array"
        },
        "environmentVariables": {
          "description": "The environment variables to set when running the program. The worker may provide its own default environment variables; these defaults can be overridden using this field. Additional variables can also be specified. In order to ensure that equivalent Commands always hash to the same value, the environment variables MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable"
          },
          "type": "array"
        },
        "workingDirectory": {
          "type": "string",
          "description": "The working directory, relative to the input root, for the command to run in. It must be a directory which exists in the input tree. If it is left empty, then the action is run in the input root."
        },
        "platform": {
          "description": "The platform requirements for the execution environment. The server MAY choose to execute the action on any worker satisfying the requirements, so the client SHOULD ensure that running the action on any such worker will have the same result. A detailed lexicon for this can be found in the accompanying platform.md.",
          "$ref": "BuildBazelRemoteExecutionV2Platform"
        },
        "outputPaths": {
          "description": "A list of the output paths that the client expects to retrieve from the action. Only the listed paths will be returned to the client as output. The type of the output (file or directory) is not specified, and will be determined by the server after action execution. If the resulting path is a file, it will be returned in an OutputFile) typed field. If the path is a directory, the entire directory structure will be returned as a Tree message digest, see OutputDirectory) Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be deduplicated and sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). Directories leading up to the output paths are created by the worker prior to execution, even if they are not explicitly part of the input root. New in v2.1: this field supersedes the DEPRECATED `output_files` and `output_directories` fields. If `output_paths` is used, `output_files` and `output_directories` will be ignored!",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "arguments": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The arguments to the command. The first argument must be the path to the executable, which must be either a relative path, in which case it is evaluated with respect to the input root, or an absolute path."
        }
      },
      "type": "object"
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandOverhead": {
      "description": "DEPRECATED - use CommandResult instead. Can be used as part of CompleteRequest.metadata, or are part of a more sophisticated message.",
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandOverhead",
      "properties": {
        "duration": {
          "format": "google-duration",
          "type": "string",
          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time."
        },
        "overhead": {
          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2Tree": {
      "description": "A `Tree` contains all the Directory protos in a single directory Merkle tree, compressed into one message.",
      "type": "object",
      "id": "BuildBazelRemoteExecutionV2Tree",
      "properties": {
        "children": {
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2Directory"
          },
          "description": "All the child directories: the directories referred to by the root and, recursively, all its children. In order to reconstruct the directory tree, the client must take the digests of each of the child directories and then build up a tree starting from the `root`.",
          "type": "array"
        },
        "root": {
          "$ref": "BuildBazelRemoteExecutionV2Directory",
          "description": "The root directory in the tree."
        }
      }
    },
    "GoogleDevtoolsRemotebuildbotResourceUsage": {
      "description": "ResourceUsage is the system resource usage of the host machine.",
      "properties": {
        "memoryUsage": {
          "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageStat"
        },
        "cpuUsedPercent": {
          "format": "double",
          "type": "number"
        },
        "diskUsage": {
          "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageStat"
        }
      },
      "type": "object",
      "id": "GoogleDevtoolsRemotebuildbotResourceUsage"
    },
    "GoogleDevtoolsRemoteworkersV1test2AdminTemp": {
      "type": "object",
      "properties": {
        "command": {
          "enumDescriptions": [
            "Illegal value.",
            "Download and run a new version of the bot. `arg` will be a resource accessible via `ByteStream.Read` to obtain the new bot code.",
            "Restart the bot without downloading a new version. `arg` will be a message to log.",
            "Shut down the bot. `arg` will be a task resource name (similar to those in tasks.proto) that the bot can use to tell the server that it is terminating.",
            "Restart the host computer. `arg` will be a message to log."
          ],
          "description": "The admin action; see `Command` for legal values.",
          "enum": [
            "UNSPECIFIED",
            "BOT_UPDATE",
            "BOT_RESTART",
            "BOT_TERMINATE",
            "HOST_RESTART"
          ],
          "type": "string"
        },
        "arg": {
          "description": "The argument to the admin action; see `Command` for semantics.",
          "type": "string"
        }
      },
      "id": "GoogleDevtoolsRemoteworkersV1test2AdminTemp",
      "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\" because we do not yet know the best way to represent admin tasks; it's possible that this will be entirely replaced in later versions of this API. If this message proves to be sufficient, it will be renamed in the alpha or beta release of this API. This message (suitably marshalled into a protobuf.Any) can be used as the inline_assignment field in a lease; the lease assignment field should simply be `\"admin\"` in these cases. This message is heavily based on Swarming administration tasks from the LUCI project (http://github.com/luci/luci-py/appengine/swarming)."
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest": {
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest",
      "properties": {
        "updateMask": {
          "format": "google-fieldmask",
          "type": "string",
          "description": "The update mask applies to worker_pool. 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."
        },
        "workerPool": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool",
          "description": "Specifies the worker pool to update."
        }
      },
      "description": "The request used for UpdateWorkerPool.",
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2ActionResult": {
      "id": "BuildBazelRemoteExecutionV2ActionResult",
      "properties": {
        "stdoutRaw": {
          "description": "The standard output buffer of the action. The server SHOULD NOT inline stdout unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
          "type": "string",
          "format": "byte"
        },
        "outputDirectories": {
          "type": "array",
          "description": "The output directories of the action. For each output directory requested in the `output_directories` or `output_paths` field of the Action, if the corresponding directory existed after the action completed, a single entry will be present in the output list, which will contain the digest of a Tree message containing the directory tree, and the path equal exactly to the corresponding Action output_directories member. As an example, suppose the Action had an output directory `a/b/dir` and the execution produced the following contents in `a/b/dir`: a file named `bar` and a directory named `foo` with an executable file named `baz`. Then, output_directory will contain (hashes shortened for readability): ```json // OutputDirectory proto: { path: \"a/b/dir\" tree_digest: { hash: \"4a73bc9d03...\", size: 55 } } // Tree proto with hash \"4a73bc9d03...\" and size 55: { root: { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 } } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } children : { // (Directory proto with hash \"4cf2eda940...\" and size 43) files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } } ``` If an output of the same name as listed in `output_files` of the Command was found in `output_directories`, but was not a directory, the server will return a FAILED_PRECONDITION.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2OutputDirectory"
          }
        },
        "outputFiles": {
          "description": "The output files of the action. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or the `output_file_symlinks` field if the file was a symbolic link to another file (`output_symlinks` field after v2.1). If an output listed in `output_files` was found, but was a directory rather than a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2OutputFile"
          },
          "type": "array"
        },
        "exitCode": {
          "format": "int32",
          "description": "The exit code of the command.",
          "type": "integer"
        },
        "stderrRaw": {
          "type": "string",
          "format": "byte",
          "description": "The standard error buffer of the action. The server SHOULD NOT inline stderr unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits."
        },
        "outputDirectorySymlinks": {
          "type": "array",
          "description": "The output directories of the action that are symbolic links to other directories. Those may be links to other output directories, or input directories, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output directory requested in the `output_directories` field of the Action, if the directory existed after the action completed, a single entry will be present either in this field, or in the `output_directories` field, if the directory was not a symbolic link. If an output of the same name was found, but was a symbolic link to a file instead of a directory, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
          }
        },
        "stdoutDigest": {
          "$ref": "BuildBazelRemoteExecutionV2Digest",
          "description": "The digest for a blob containing the standard output of the action, which can be retrieved from the ContentAddressableStorage."
        },
        "outputSymlinks": {
          "type": "array",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
          },
          "description": "New in v2.1: this field will only be populated if the command `output_paths` field was used, and not the pre v2.1 `output_files` or `output_directories` fields. The output paths of the action that are symbolic links to other paths. Those may be links to other outputs, or inputs, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output requested in `output_paths` field of the Action, if the corresponding path existed after the action completed and was a symbolic link. If the action does not produce a requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted."
        },
        "outputFileSymlinks": {
          "type": "array",
          "description": "The output files of the action that are symbolic links to other files. Those may be links to other output files, or input files, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or in the `output_files` field, if the file was not a symbolic link. If an output symbolic link of the same name as listed in `output_files` of the Command was found, but its target type was not a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
          }
        },
        "stderrDigest": {
          "description": "The digest for a blob containing the standard error of the action, which can be retrieved from the ContentAddressableStorage.",
          "$ref": "BuildBazelRemoteExecutionV2Digest"
        },
        "executionMetadata": {
          "$ref": "BuildBazelRemoteExecutionV2ExecutedActionMetadata",
          "description": "The details of the execution that originally produced this result."
        }
      },
      "description": "An ActionResult represents the result of an Action being run.",
      "type": "object"
    },
    "GoogleDevtoolsRemoteworkersV1test2Directory": {
      "type": "object",
      "properties": {
        "files": {
          "items": {
            "$ref": "GoogleDevtoolsRemoteworkersV1test2FileMetadata"
          },
          "description": "The files in this directory",
          "type": "array"
        },
        "directories": {
          "type": "array",
          "description": "Any subdirectories",
          "items": {
            "$ref": "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata"
          }
        }
      },
      "id": "GoogleDevtoolsRemoteworkersV1test2Directory",
      "description": "The contents of a directory. Similar to the equivalent message in the Remote Execution API."
    },
    "BuildBazelRemoteExecutionV2SymlinkNode": {
      "id": "BuildBazelRemoteExecutionV2SymlinkNode",
      "description": "A `SymlinkNode` represents a symbolic link.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the symlink."
        },
        "target": {
          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path.",
          "type": "string"
        },
        "nodeProperties": {
          "description": "The node properties of the SymlinkNode.",
          "type": "array",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
          }
        }
      },
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool": {
      "properties": {
        "autoscale": {
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale",
          "description": "The autoscale policy to apply on a pool."
        },
        "channel": {
          "type": "string",
          "description": "Channel specifies the release channel of the pool."
        },
        "workerCount": {
          "description": "The desired number of workers in the worker pool. Must be a value between 0 and 15000.",
          "type": "string",
          "format": "int64"
        },
        "workerConfig": {
          "description": "Specifies the properties, such as machine type and disk size, used for creating workers in a worker pool.",
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig"
        },
        "state": {
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "RUNNING",
            "UPDATING",
            "DELETING",
            "INACTIVE"
          ],
          "description": "Output only. State of the worker pool.",
          "enumDescriptions": [
            "Not a valid state, but the default value of the enum.",
            "The worker pool is in state `CREATING` once `CreateWorkerPool` is called and before all requested workers are ready.",
            "The worker pool is in state `RUNNING` when all its workers are ready for use.",
            "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called and before the new configuration has all the requested workers ready for use, and no older configuration has any workers. At that point the state transitions to `RUNNING`.",
            "The worker pool is in state `DELETING` once the `Delete` method is called and before the deletion completes.",
            "The worker pool is in state `INACTIVE` when the instance hosting the worker pool in not running."
          ]
        },
        "name": {
          "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool",
      "description": "A worker pool resource in the Remote Build Execution API."
    },
    "BuildBazelRemoteExecutionV2ExecutedActionMetadata": {
      "properties": {
        "inputFetchStartTimestamp": {
          "type": "string",
          "description": "When the worker started fetching action inputs.",
          "format": "google-datetime"
        },
        "executionCompletedTimestamp": {
          "format": "google-datetime",
          "description": "When the worker completed executing the action command.",
          "type": "string"
        },
        "queuedTimestamp": {
          "format": "google-datetime",
          "description": "When was the action added to the queue.",
          "type": "string"
        },
        "outputUploadCompletedTimestamp": {
          "description": "When the worker finished uploading action outputs.",
          "type": "string",
          "format": "google-datetime"
        },
        "worker": {
          "description": "The name of the worker which ran the execution.",
          "type": "string"
        },
        "workerCompletedTimestamp": {
          "format": "google-datetime",
          "description": "When the worker completed the action, including all stages.",
          "type": "string"
        },
        "inputFetchCompletedTimestamp": {
          "description": "When the worker finished fetching action inputs.",
          "type": "string",
          "format": "google-datetime"
        },
        "executionStartTimestamp": {
          "type": "string",
          "description": "When the worker started executing the action command.",
          "format": "google-datetime"
        },
        "outputUploadStartTimestamp": {
          "format": "google-datetime",
          "description": "When the worker started uploading action outputs.",
          "type": "string"
        },
        "workerStartTimestamp": {
          "type": "string",
          "format": "google-datetime",
          "description": "When the worker received the action."
        }
      },
      "description": "ExecutedActionMetadata contains details about a completed execution.",
      "id": "BuildBazelRemoteExecutionV2ExecutedActionMetadata",
      "type": "object"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest": {
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest",
      "description": "The request used for `CreateWorkerPool`.",
      "type": "object",
      "properties": {
        "workerPool": {
          "description": "Specifies the worker pool to create. The name in the worker pool, if specified, is ignored.",
          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool"
        },
        "parent": {
          "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
          "type": "string"
        },
        "poolId": {
          "type": "string",
          "description": "ID of the created worker pool. A valid pool 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."
        }
      }
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`."
        }
      },
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest",
      "description": "The request used for `DeleteInstance`.",
      "type": "object"
    },
    "GoogleDevtoolsRemoteworkersV1test2Blob": {
      "type": "object",
      "id": "GoogleDevtoolsRemoteworkersV1test2Blob",
      "properties": {
        "contents": {
          "description": "The contents of the blob.",
          "format": "byte",
          "type": "string"
        },
        "digest": {
          "description": "The digest of the blob. This should be verified by the receiver.",
          "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest"
        }
      },
      "description": "Describes a blob of binary content with its digest."
    },
    "BuildBazelRemoteExecutionV2FileNode": {
      "id": "BuildBazelRemoteExecutionV2FileNode",
      "properties": {
        "nodeProperties": {
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
          },
          "type": "array",
          "description": "The node properties of the FileNode."
        },
        "name": {
          "type": "string",
          "description": "The name of the file."
        },
        "digest": {
          "$ref": "BuildBazelRemoteExecutionV2Digest",
          "description": "The digest of the file's content."
        },
        "isExecutable": {
          "description": "True if file is executable, false otherwise.",
          "type": "boolean"
        }
      },
      "description": "A `FileNode` represents a single file and associated metadata.",
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2PlatformProperty": {
      "description": "A single property for the environment. The server is responsible for specifying the property `name`s that it accepts. If an unknown `name` is provided in the requirements for an Action, the server SHOULD reject the execution request. If permitted by the server, the same `name` may occur multiple times. The server is also responsible for specifying the interpretation of property `value`s. For instance, a property describing how much RAM must be available may be interpreted as allowing a worker with 16GB to fulfill a request for 8GB, while a property describing the OS environment on which the action must be performed may require an exact match with the worker's OS. The server MAY use the `value` of one or more properties to determine how it sets up the execution environment, such as by making specific system files available to the worker.",
      "properties": {
        "value": {
          "type": "string",
          "description": "The property value."
        },
        "name": {
          "description": "The property name.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "BuildBazelRemoteExecutionV2PlatformProperty"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig": {
      "description": "AcceleratorConfig defines the accelerator cards to attach to the VM.",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig",
      "properties": {
        "acceleratorType": {
          "type": "string",
          "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for nVidia Tesla K80."
        },
        "acceleratorCount": {
          "type": "string",
          "description": "The number of guest accelerator cards exposed to each VM.",
          "format": "int64"
        }
      },
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2OutputFile": {
      "id": "BuildBazelRemoteExecutionV2OutputFile",
      "description": "An `OutputFile` is similar to a FileNode, but it is used as an output in an `ActionResult`. It allows a full file path rather than only a name.",
      "properties": {
        "contents": {
          "type": "string",
          "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline file contents unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
          "format": "byte"
        },
        "nodeProperties": {
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
          },
          "description": "The supported node properties of the OutputFile, if requested by the Action.",
          "type": "array"
        },
        "digest": {
          "$ref": "BuildBazelRemoteExecutionV2Digest",
          "description": "The digest of the file's content."
        },
        "path": {
          "type": "string",
          "description": "The full path of the file relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash."
        },
        "isExecutable": {
          "description": "True if file is executable, false otherwise.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "BuildBazelRemoteExecutionV2RequestMetadata": {
      "id": "BuildBazelRemoteExecutionV2RequestMetadata",
      "properties": {
        "toolInvocationId": {
          "type": "string",
          "description": "An identifier that ties multiple actions together to a final result. For example, multiple actions are required to build and run foo_test."
        },
        "toolDetails": {
          "$ref": "BuildBazelRemoteExecutionV2ToolDetails",
          "description": "The details for the tool invoking the requests."
        },
        "actionId": {
          "type": "string",
          "description": "An identifier that ties multiple requests to the same action. For example, multiple requests to the CAS, Action Cache, and Execution API are used in order to compile foo.cc."
        },
        "correlatedInvocationsId": {
          "type": "string",
          "description": "An identifier to tie multiple tool invocations together. For example, runs of foo_test, bar_test and baz_test on a post-submit of a given patch."
        }
      },
      "type": "object",
      "description": "An optional Metadata to attach to any RPC request to tell the server about an external context of the request. The server may use this for logging or other purposes. To use it, the client attaches the header to the call using the canonical proto serialization: * name: `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the base64 encoded binary `RequestMetadata` message. Note: the gRPC library serializes binary headers encoded in base 64 by default (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests). Therefore, if the gRPC library is used to pass/retrieve this metadata, the user may ignore the base64 encoding and assume it is simply serialized as a binary message."
    },
    "GoogleRpcStatus": {
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code."
        },
        "details": {
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          }
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "GoogleRpcStatus"
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandResult": {
      "properties": {
        "outputs": {
          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file",
          "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest"
        },
        "duration": {
          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.",
          "type": "string",
          "format": "google-duration"
        },
        "metadata": {
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          },
          "type": "array",
          "description": "Implementation-dependent metadata about the task. Both servers and bots may define messages which can be encoded here; bots are free to provide metadata in multiple formats, and servers are free to choose one or more of the values to process and ignore others. In particular, it is *not* considered an error for the bot to provide the server with a field that it doesn't know about."
        },
        "exitCode": {
          "description": "The exit code of the process. An exit code of \"0\" should only be trusted if `status` has a code of OK (otherwise it may simply be unset).",
          "type": "integer",
          "format": "int32"
        },
        "overhead": {
          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
          "type": "string",
          "format": "google-duration"
        },
        "status": {
          "description": "An overall status for the command. For example, if the command timed out, this might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for memory exhaustion, it might have a code of RESOURCE_EXHAUSTED.",
          "$ref": "GoogleRpcStatus"
        }
      },
      "description": "All information about the execution of a command, suitable for providing as the Bots interface's `Lease.result` field.",
      "type": "object",
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandResult"
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandOutputs": {
      "type": "object",
      "properties": {
        "exitCode": {
          "description": "exit_code is only fully reliable if the status' code is OK. If the task exceeded its deadline or was cancelled, the process may still produce an exit code as it is cancelled, and this will be populated, but a successful (zero) is unlikely to be correct unless the status code is OK.",
          "format": "int32",
          "type": "integer"
        },
        "outputs": {
          "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file"
        }
      },
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandOutputs",
      "description": "DEPRECATED - use CommandResult instead. Describes the actual outputs from the task."
    },
    "BuildBazelRemoteExecutionV2Directory": {
      "description": "A `Directory` represents a directory node in a file tree, containing zero or more children FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its name in the directory, either the digest of its content (either a file blob or a `Directory` proto) or a symlink target, as well as possibly some metadata about the file or directory. In order to ensure that two equivalent directory trees hash to the same value, the following restrictions MUST be obeyed when constructing a a `Directory`: * Every child in the directory must have a path of exactly one segment. Multiple levels of directory hierarchy may not be collapsed. * Each child in the directory must have a unique path segment (file name). Note that while the API itself is case-sensitive, the environment where the Action is executed may or may not be case-sensitive. That is, it is legal to call the API with a Directory that has both \"Foo\" and \"foo\" as children, but the Action may be rejected by the remote system upon execution. * The files, directories and symlinks in the directory must each be sorted in lexicographical order by path. The path strings must be sorted by code point, equivalently, by UTF-8 bytes. * The NodeProperties of files, directories, and symlinks must be sorted in lexicographical order by property name. A `Directory` that obeys the restrictions is said to be in canonical form. As an example, the following could be used for a file named `bar` and a directory named `foo` with an executable file named `baz` (hashes shortened for readability): ```json // (Directory proto) { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 }, node_properties: [ { \"name\": \"MTime\", \"value\": \"2017-01-15T01:30:15.01Z\" } ] } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } // (Directory proto with hash \"4cf2eda940...\" and size 43) { files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } ```",
      "id": "BuildBazelRemoteExecutionV2Directory",
      "type": "object",
      "properties": {
        "directories": {
          "description": "The subdirectories in the directory.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2DirectoryNode"
          },
          "type": "array"
        },
        "symlinks": {
          "type": "array",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2SymlinkNode"
          },
          "description": "The symlinks in the directory."
        },
        "nodeProperties": {
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
          },
          "type": "array",
          "description": "The node properties of the Directory."
        },
        "files": {
          "description": "The files in the directory.",
          "items": {
            "$ref": "BuildBazelRemoteExecutionV2FileNode"
          },
          "type": "array"
        }
      }
    },
    "BuildBazelRemoteExecutionV2Action": {
      "description": "An `Action` captures all the information about an execution which is required to reproduce it. `Action`s are the core component of the [Execution] service. A single `Action` represents a repeatable action that can be performed by the execution service. `Action`s can be succinctly identified by the digest of their wire format encoding and, once an `Action` has been executed, will be cached in the action cache. Future requests can then use the cached result rather than needing to run afresh. When a server completes execution of an Action, it MAY choose to cache the result in the ActionCache unless `do_not_cache` is `true`. Clients SHOULD expect the server to do so. By default, future calls to Execute the same `Action` will also serve their results from the cache. Clients must take care to understand the caching behaviour. Ideally, all `Action`s will be reproducible so that serving a result from cache is always desirable and correct.",
      "properties": {
        "outputNodeProperties": {
          "type": "array",
          "description": "List of required supported NodeProperty keys. In order to ensure that equivalent `Action`s always hash to the same value, the supported node properties MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. The interpretation of these properties is server-dependent. If a property is not recognized by the server, the server will return an `INVALID_ARGUMENT` error.",
          "items": {
            "type": "string"
          }
        },
        "commandDigest": {
          "description": "The digest of the Command to run, which MUST be present in the ContentAddressableStorage.",
          "$ref": "BuildBazelRemoteExecutionV2Digest"
        },
        "inputRootDigest": {
          "$ref": "BuildBazelRemoteExecutionV2Digest",
          "description": "The digest of the root Directory for the input files. The files in the directory tree are available in the correct location on the build machine before the command is executed. The root directory, as well as every subdirectory and content blob referred to, MUST be in the ContentAddressableStorage."
        },
        "timeout": {
          "description": "A timeout after which the execution should be killed. If the timeout is absent, then the client is specifying that the execution should continue as long as the server will let it. The server SHOULD impose a timeout if the client does not specify one, however, if the client does specify a timeout that is longer than the server's maximum timeout, the server MUST reject the request. The timeout is a part of the Action message, and therefore two `Actions` with different timeouts are different, even if they are otherwise identical. This is because, if they were not, running an `Action` with a lower timeout than is required might result in a cache hit from an execution run with a longer timeout, hiding the fact that the timeout is too short. By encoding it directly in the `Action`, a lower timeout will result in a cache miss and the execution timeout will fail immediately, rather than whenever the cache entry gets evicted.",
          "type": "string",
          "format": "google-duration"
        },
        "doNotCache": {
          "description": "If true, then the `Action`'s result cannot be cached, and in-flight requests for the same `Action` may not be merged.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "BuildBazelRemoteExecutionV2Action"
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature": {
      "properties": {
        "policy": {
          "enum": [
            "POLICY_UNSPECIFIED",
            "ALLOWED",
            "FORBIDDEN",
            "RESTRICTED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value, if not explicitly set. Equivalent to FORBIDDEN, unless otherwise documented on a specific Feature.",
            "Feature is explicitly allowed.",
            "Feature is forbidden. Requests attempting to leverage it will get an FailedPrecondition error, with a message like: \"Feature forbidden by FeaturePolicy: Feature on instance \"",
            "Only the values specified in the `allowed_values` are allowed."
          ],
          "description": "The policy of the feature."
        },
        "allowedValues": {
          "type": "array",
          "description": "A list of acceptable values. Only effective when the policy is `RESTRICTED`.",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
      "description": "Defines whether a feature can be used or what values are accepted."
    },
    "BuildBazelRemoteExecutionV2ToolDetails": {
      "description": "Details for the tool used to call the API.",
      "type": "object",
      "id": "BuildBazelRemoteExecutionV2ToolDetails",
      "properties": {
        "toolName": {
          "description": "Name of the tool, e.g. bazel.",
          "type": "string"
        },
        "toolVersion": {
          "description": "Version of the tool used for the request, e.g. 5.0.3.",
          "type": "string"
        }
      }
    },
    "BuildBazelRemoteExecutionV2LogFile": {
      "type": "object",
      "id": "BuildBazelRemoteExecutionV2LogFile",
      "properties": {
        "digest": {
          "$ref": "BuildBazelRemoteExecutionV2Digest",
          "description": "The digest of the log contents."
        },
        "humanReadable": {
          "type": "boolean",
          "description": "This is a hint as to the purpose of the log, and is set to true if the log is human-readable text that can be usefully displayed to a user, and false otherwise. For instance, if a command-line client wishes to print the server logs to the terminal for a failed action, this allows it to avoid displaying a binary file."
        }
      },
      "description": "A `LogFile` is a log stored in the CAS."
    },
    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaSoleTenancyConfig": {
      "description": "SoleTenancyConfig specifies information required to host a pool on STNs.",
      "type": "object",
      "properties": {
        "nodesZone": {
          "description": "Zone in which STNs are reserved.",
          "type": "string"
        },
        "nodeType": {
          "type": "string",
          "description": "The sole-tenant node type to host the pool's workers on."
        }
      },
      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaSoleTenancyConfig"
    },
    "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs": {
      "properties": {
        "directories": {
          "description": "A list of expected directories, relative to the execution root. All paths MUST be delimited by forward slashes.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "files": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A list of expected files, relative to the execution root. All paths MUST be delimited by forward slashes."
        },
        "stdoutDestination": {
          "type": "string",
          "description": "The destination to which any stdout should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API."
        },
        "stderrDestination": {
          "description": "The destination to which any stderr should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs",
      "description": "Describes the expected outputs of the command."
    },
    "BuildBazelRemoteExecutionV2CommandEnvironmentVariable": {
      "description": "An `EnvironmentVariable` is one variable to set in the running program's environment.",
      "id": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable",
      "properties": {
        "value": {
          "type": "string",
          "description": "The variable value."
        },
        "name": {
          "type": "string",
          "description": "The variable name."
        }
      },
      "type": "object"
    }
  },
  "rootUrl": "https://admin-remotebuildexecution.googleapis.com/",
  "resources": {
    "projects": {
      "resources": {
        "operations": {
          "methods": {
            "get": {
              "httpMethod": "GET",
              "path": "v1alpha/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/operations/{operationsId}",
              "response": {
                "$ref": "GoogleLongrunningOperation"
              },
              "id": "remotebuildexecution.projects.operations.get",
              "parameters": {
                "name": {
                  "description": "The name of the operation resource.",
                  "pattern": "^projects/[^/]+/operations/[^/]+$",
                  "required": true,
                  "location": "path",
                  "type": "string"
                }
              }
            }
          }
        },
        "instances": {
          "resources": {
            "workerpools": {
              "methods": {
                "get": {
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$"
                    }
                  },
                  "id": "remotebuildexecution.projects.instances.workerpools.get",
                  "description": "Returns the specified worker pool.",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}",
                  "path": "v1alpha/{+name}",
                  "response": {
                    "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool"
                  }
                },
                "create": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "description": "Creates a new worker pool with a specified size and configuration. Returns a long running operation which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `CREATING`.",
                  "path": "v1alpha/{+parent}/workerpools",
                  "httpMethod": "POST",
                  "id": "remotebuildexecution.projects.instances.workerpools.create",
                  "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/instances/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                      "required": true
                    }
                  }
                },
                "list": {
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools",
                  "parameters": {
                    "parent": {
                      "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/instances/[^/]+$",
                      "location": "path"
                    },
                    "filter": {
                      "location": "query",
                      "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or `\u003c`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count \u003e 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the n1-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse"
                  },
                  "description": "Lists worker pools in an instance.",
                  "path": "v1alpha/{+parent}/workerpools",
                  "id": "remotebuildexecution.projects.instances.workerpools.list"
                },
                "delete": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}",
                  "id": "remotebuildexecution.projects.instances.workerpools.delete",
                  "description": "Deletes the specified worker pool. Returns a long running operation, which contains a `google.protobuf.Empty` response on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `DELETING`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
                      "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "httpMethod": "DELETE",
                  "path": "v1alpha/{+name}"
                },
                "patch": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
                      "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.",
                      "required": true
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PATCH",
                  "request": {
                    "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest"
                  },
                  "id": "remotebuildexecution.projects.instances.workerpools.patch",
                  "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Updates an existing worker pool with a specified size and/or configuration. Returns a long running operation, which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `UPDATING`.",
                  "path": "v1alpha/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            }
          },
          "methods": {
            "delete": {
              "id": "remotebuildexecution.projects.instances.delete",
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "GoogleLongrunningOperation"
              },
              "httpMethod": "DELETE",
              "path": "v1alpha/{+name}",
              "description": "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.",
              "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}",
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "pattern": "^projects/[^/]+/instances/[^/]+$",
                  "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`."
                }
              }
            },
            "get": {
              "description": "Returns the specified instance.",
              "id": "remotebuildexecution.projects.instances.get",
              "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance"
              },
              "parameters": {
                "name": {
                  "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                  "required": true,
                  "type": "string",
                  "pattern": "^projects/[^/]+/instances/[^/]+$",
                  "location": "path"
                }
              },
              "httpMethod": "GET",
              "path": "v1alpha/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "create": {
              "flatPath": "v1alpha/projects/{projectsId}/instances",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "path": "v1alpha/{+parent}/instances",
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "request": {
                "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest"
              },
              "parameters": {
                "parent": {
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "pattern": "^projects/[^/]+$",
                  "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`."
                }
              },
              "response": {
                "$ref": "GoogleLongrunningOperation"
              },
              "description": "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`.",
              "id": "remotebuildexecution.projects.instances.create"
            },
            "patch": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleLongrunningOperation"
              },
              "id": "remotebuildexecution.projects.instances.patch",
              "request": {
                "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance"
              },
              "parameterOrder": [
                "name"
              ],
              "description": "Updates the specified instance. Returns a long running operation which contains the updated instance in the response on completion.",
              "httpMethod": "PATCH",
              "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}",
              "parameters": {
                "name": {
                  "required": true,
                  "description": "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.",
                  "pattern": "^projects/[^/]+/instances/[^/]+$",
                  "type": "string",
                  "location": "path"
                },
                "updateMask": {
                  "location": "query",
                  "description": "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.",
                  "format": "google-fieldmask",
                  "type": "string"
                },
                "loggingEnabled": {
                  "type": "boolean",
                  "location": "query",
                  "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance."
                },
                "name1": {
                  "location": "query",
                  "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                  "type": "string"
                }
              }
            },
            "list": {
              "parameters": {
                "parent": {
                  "type": "string",
                  "required": true,
                  "location": "path",
                  "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.",
                  "pattern": "^projects/[^/]+$"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/instances",
              "id": "remotebuildexecution.projects.instances.list",
              "description": "Lists instances in a project.",
              "response": {
                "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse"
              },
              "parameterOrder": [
                "parent"
              ],
              "path": "v1alpha/{+parent}/instances",
              "httpMethod": "GET"
            }
          }
        }
      }
    }
  },
  "documentationLink": "https://cloud.google.com/remote-build-execution/docs/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "baseUrl": "https://admin-remotebuildexecution.googleapis.com/",
  "fullyEncodeReservedExpansion": true
}
