1 // Copyright 2021 Google LLC. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Code generated file. DO NOT EDIT. 6 7 // Package remotebuildexecution provides access to the Remote Build Execution API. 8 // 9 // For product documentation, see: https://cloud.google.com/remote-build-execution/docs/ 10 // 11 // # Creating a client 12 // 13 // Usage example: 14 // 15 // import "google.golang.org/api/remotebuildexecution/v2" 16 // ... 17 // ctx := context.Background() 18 // remotebuildexecutionService, err := remotebuildexecution.NewService(ctx) 19 // 20 // In this example, Google Application Default Credentials are used for authentication. 21 // 22 // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 23 // 24 // # Other authentication options 25 // 26 // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 27 // 28 // remotebuildexecutionService, err := remotebuildexecution.NewService(ctx, option.WithAPIKey("AIza...")) 29 // 30 // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 31 // 32 // config := &oauth2.Config{...} 33 // // ... 34 // token, err := config.Exchange(ctx, ...) 35 // remotebuildexecutionService, err := remotebuildexecution.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 36 // 37 // See https://godoc.org/google.golang.org/api/option/ for details on options. 38 package remotebuildexecution // import "google.golang.org/api/remotebuildexecution/v2" 39 40 import ( 41 "bytes" 42 "context" 43 "encoding/json" 44 "errors" 45 "fmt" 46 "io" 47 "net/http" 48 "net/url" 49 "strconv" 50 "strings" 51 52 googleapi "google.golang.org/api/googleapi" 53 gensupport "google.golang.org/api/internal/gensupport" 54 option "google.golang.org/api/option" 55 internaloption "google.golang.org/api/option/internaloption" 56 htransport "google.golang.org/api/transport/http" 57 ) 58 59 // Always reference these packages, just in case the auto-generated code 60 // below doesn't. 61 var _ = bytes.NewBuffer 62 var _ = strconv.Itoa 63 var _ = fmt.Sprintf 64 var _ = json.NewDecoder 65 var _ = io.Copy 66 var _ = url.Parse 67 var _ = gensupport.MarshalJSON 68 var _ = googleapi.Version 69 var _ = errors.New 70 var _ = strings.Replace 71 var _ = context.Canceled 72 var _ = internaloption.WithDefaultEndpoint 73 74 const apiId = "remotebuildexecution:v2" 75 const apiName = "remotebuildexecution" 76 const apiVersion = "v2" 77 const basePath = "https://remotebuildexecution.googleapis.com/" 78 const mtlsBasePath = "https://remotebuildexecution.mtls.googleapis.com/" 79 80 // OAuth2 scopes used by this API. 81 const ( 82 // See, edit, configure, and delete your Google Cloud Platform data 83 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 84 ) 85 86 // NewService creates a new Service. 87 func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 88 scopesOption := option.WithScopes( 89 "https://www.googleapis.com/auth/cloud-platform", 90 ) 91 // NOTE: prepend, so we don't override user-specified scopes. 92 opts = append([]option.ClientOption{scopesOption}, opts...) 93 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 94 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 95 client, endpoint, err := htransport.NewClient(ctx, opts...) 96 if err != nil { 97 return nil, err 98 } 99 s, err := New(client) 100 if err != nil { 101 return nil, err 102 } 103 if endpoint != "" { 104 s.BasePath = endpoint 105 } 106 return s, nil 107 } 108 109 // New creates a new Service. It uses the provided http.Client for requests. 110 // 111 // Deprecated: please use NewService instead. 112 // To provide a custom HTTP client, use option.WithHTTPClient. 113 // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 114 func New(client *http.Client) (*Service, error) { 115 if client == nil { 116 return nil, errors.New("client is nil") 117 } 118 s := &Service{client: client, BasePath: basePath} 119 s.ActionResults = NewActionResultsService(s) 120 s.Actions = NewActionsService(s) 121 s.Blobs = NewBlobsService(s) 122 s.Operations = NewOperationsService(s) 123 s.V2 = NewV2Service(s) 124 return s, nil 125 } 126 127 type Service struct { 128 client *http.Client 129 BasePath string // API endpoint base URL 130 UserAgent string // optional additional User-Agent fragment 131 132 ActionResults *ActionResultsService 133 134 Actions *ActionsService 135 136 Blobs *BlobsService 137 138 Operations *OperationsService 139 140 V2 *V2Service 141 } 142 143 func (s *Service) userAgent() string { 144 if s.UserAgent == "" { 145 return googleapi.UserAgent 146 } 147 return googleapi.UserAgent + " " + s.UserAgent 148 } 149 150 func NewActionResultsService(s *Service) *ActionResultsService { 151 rs := &ActionResultsService{s: s} 152 return rs 153 } 154 155 type ActionResultsService struct { 156 s *Service 157 } 158 159 func NewActionsService(s *Service) *ActionsService { 160 rs := &ActionsService{s: s} 161 return rs 162 } 163 164 type ActionsService struct { 165 s *Service 166 } 167 168 func NewBlobsService(s *Service) *BlobsService { 169 rs := &BlobsService{s: s} 170 return rs 171 } 172 173 type BlobsService struct { 174 s *Service 175 } 176 177 func NewOperationsService(s *Service) *OperationsService { 178 rs := &OperationsService{s: s} 179 return rs 180 } 181 182 type OperationsService struct { 183 s *Service 184 } 185 186 func NewV2Service(s *Service) *V2Service { 187 rs := &V2Service{s: s} 188 return rs 189 } 190 191 type V2Service struct { 192 s *Service 193 } 194 195 // BuildBazelRemoteExecutionV2Action: An `Action` captures all the 196 // information about an execution which is required to reproduce it. 197 // `Action`s are the core component of the [Execution] service. A single 198 // `Action` represents a repeatable action that can be performed by the 199 // execution service. `Action`s can be succinctly identified by the 200 // digest of their wire format encoding and, once an `Action` has been 201 // executed, will be cached in the action cache. Future requests can 202 // then use the cached result rather than needing to run afresh. When a 203 // server completes execution of an Action, it MAY choose to cache the 204 // result in the ActionCache unless `do_not_cache` is `true`. Clients 205 // SHOULD expect the server to do so. By default, future calls to 206 // Execute the same `Action` will also serve their results from the 207 // cache. Clients must take care to understand the caching behaviour. 208 // Ideally, all `Action`s will be reproducible so that serving a result 209 // from cache is always desirable and correct. 210 type BuildBazelRemoteExecutionV2Action struct { 211 // CommandDigest: The digest of the Command to run, which MUST be 212 // present in the ContentAddressableStorage. 213 CommandDigest *BuildBazelRemoteExecutionV2Digest `json:"commandDigest,omitempty"` 214 215 // DoNotCache: If true, then the `Action`'s result cannot be cached, and 216 // in-flight requests for the same `Action` may not be merged. 217 DoNotCache bool `json:"doNotCache,omitempty"` 218 219 // InputRootDigest: The digest of the root Directory for the input 220 // files. The files in the directory tree are available in the correct 221 // location on the build machine before the command is executed. The 222 // root directory, as well as every subdirectory and content blob 223 // referred to, MUST be in the ContentAddressableStorage. 224 InputRootDigest *BuildBazelRemoteExecutionV2Digest `json:"inputRootDigest,omitempty"` 225 226 // Platform: The optional platform requirements for the execution 227 // environment. The server MAY choose to execute the action on any 228 // worker satisfying the requirements, so the client SHOULD ensure that 229 // running the action on any such worker will have the same result. A 230 // detailed lexicon for this can be found in the accompanying 231 // platform.md. New in version 2.2: clients SHOULD set these platform 232 // properties as well as those in the Command. Servers SHOULD prefer 233 // those set here. 234 Platform *BuildBazelRemoteExecutionV2Platform `json:"platform,omitempty"` 235 236 // Salt: An optional additional salt value used to place this `Action` 237 // into a separate cache namespace from other instances having the same 238 // field contents. This salt typically comes from operational 239 // configuration specific to sources such as repo and service 240 // configuration, and allows disowning an entire set of ActionResults 241 // that might have been poisoned by buggy software or tool failures. 242 Salt string `json:"salt,omitempty"` 243 244 // Timeout: A timeout after which the execution should be killed. If the 245 // timeout is absent, then the client is specifying that the execution 246 // should continue as long as the server will let it. The server SHOULD 247 // impose a timeout if the client does not specify one, however, if the 248 // client does specify a timeout that is longer than the server's 249 // maximum timeout, the server MUST reject the request. The timeout is a 250 // part of the Action message, and therefore two `Actions` with 251 // different timeouts are different, even if they are otherwise 252 // identical. This is because, if they were not, running an `Action` 253 // with a lower timeout than is required might result in a cache hit 254 // from an execution run with a longer timeout, hiding the fact that the 255 // timeout is too short. By encoding it directly in the `Action`, a 256 // lower timeout will result in a cache miss and the execution timeout 257 // will fail immediately, rather than whenever the cache entry gets 258 // evicted. 259 Timeout string `json:"timeout,omitempty"` 260 261 // ForceSendFields is a list of field names (e.g. "CommandDigest") to 262 // unconditionally include in API requests. By default, fields with 263 // empty values are omitted from API requests. However, any non-pointer, 264 // non-interface field appearing in ForceSendFields will be sent to the 265 // server regardless of whether the field is empty or not. This may be 266 // used to include empty fields in Patch requests. 267 ForceSendFields []string `json:"-"` 268 269 // NullFields is a list of field names (e.g. "CommandDigest") to include 270 // in API requests with the JSON null value. By default, fields with 271 // empty values are omitted from API requests. However, any field with 272 // an empty value appearing in NullFields will be sent to the server as 273 // null. It is an error if a field in this list has a non-empty value. 274 // This may be used to include null fields in Patch requests. 275 NullFields []string `json:"-"` 276 } 277 278 func (s *BuildBazelRemoteExecutionV2Action) MarshalJSON() ([]byte, error) { 279 type NoMethod BuildBazelRemoteExecutionV2Action 280 raw := NoMethod(*s) 281 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 282 } 283 284 // BuildBazelRemoteExecutionV2ActionCacheUpdateCapabilities: Describes 285 // the server/instance capabilities for updating the action cache. 286 type BuildBazelRemoteExecutionV2ActionCacheUpdateCapabilities struct { 287 UpdateEnabled bool `json:"updateEnabled,omitempty"` 288 289 // ForceSendFields is a list of field names (e.g. "UpdateEnabled") to 290 // unconditionally include in API requests. By default, fields with 291 // empty values are omitted from API requests. However, any non-pointer, 292 // non-interface field appearing in ForceSendFields will be sent to the 293 // server regardless of whether the field is empty or not. This may be 294 // used to include empty fields in Patch requests. 295 ForceSendFields []string `json:"-"` 296 297 // NullFields is a list of field names (e.g. "UpdateEnabled") to include 298 // in API requests with the JSON null value. By default, fields with 299 // empty values are omitted from API requests. However, any field with 300 // an empty value appearing in NullFields will be sent to the server as 301 // null. It is an error if a field in this list has a non-empty value. 302 // This may be used to include null fields in Patch requests. 303 NullFields []string `json:"-"` 304 } 305 306 func (s *BuildBazelRemoteExecutionV2ActionCacheUpdateCapabilities) MarshalJSON() ([]byte, error) { 307 type NoMethod BuildBazelRemoteExecutionV2ActionCacheUpdateCapabilities 308 raw := NoMethod(*s) 309 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 310 } 311 312 // BuildBazelRemoteExecutionV2ActionResult: An ActionResult represents 313 // the result of an Action being run. It is advised that at least one 314 // field (for example `ActionResult.execution_metadata.Worker`) have a 315 // non-default value, to ensure that the serialized value is non-empty, 316 // which can then be used as a basic data sanity check. 317 type BuildBazelRemoteExecutionV2ActionResult struct { 318 // ExecutionMetadata: The details of the execution that originally 319 // produced this result. 320 ExecutionMetadata *BuildBazelRemoteExecutionV2ExecutedActionMetadata `json:"executionMetadata,omitempty"` 321 322 // ExitCode: The exit code of the command. 323 ExitCode int64 `json:"exitCode,omitempty"` 324 325 // OutputDirectories: The output directories of the action. For each 326 // output directory requested in the `output_directories` or 327 // `output_paths` field of the Action, if the corresponding directory 328 // existed after the action completed, a single entry will be present in 329 // the output list, which will contain the digest of a Tree message 330 // containing the directory tree, and the path equal exactly to the 331 // corresponding Action output_directories member. As an example, 332 // suppose the Action had an output directory `a/b/dir` and the 333 // execution produced the following contents in `a/b/dir`: a file named 334 // `bar` and a directory named `foo` with an executable file named 335 // `baz`. Then, output_directory will contain (hashes shortened for 336 // readability): ```json // OutputDirectory proto: { path: "a/b/dir" 337 // tree_digest: { hash: "4a73bc9d03...", size: 55 } } // Tree proto with 338 // hash "4a73bc9d03..." and size 55: { root: { files: [ { name: "bar", 339 // digest: { hash: "4a73bc9d03...", size: 65534 } } ], directories: [ { 340 // name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] } 341 // children : { // (Directory proto with hash "4cf2eda940..." and size 342 // 43) files: [ { name: "baz", digest: { hash: "b2c941073e...", size: 343 // 1294, }, is_executable: true } ] } } ``` If an output of the same 344 // name as listed in `output_files` of the Command was found in 345 // `output_directories`, but was not a directory, the server will return 346 // a FAILED_PRECONDITION. 347 OutputDirectories []*BuildBazelRemoteExecutionV2OutputDirectory `json:"outputDirectories,omitempty"` 348 349 // OutputDirectorySymlinks: The output directories of the action that 350 // are symbolic links to other directories. Those may be links to other 351 // output directories, or input directories, or even absolute paths 352 // outside of the working directory, if the server supports 353 // SymlinkAbsolutePathStrategy.ALLOWED. For each output directory 354 // requested in the `output_directories` field of the Action, if the 355 // directory existed after the action completed, a single entry will be 356 // present either in this field, or in the `output_directories` field, 357 // if the directory was not a symbolic link. If an output of the same 358 // name was found, but was a symbolic link to a file instead of a 359 // directory, the server will return a FAILED_PRECONDITION. If the 360 // action does not produce the requested output, then that output will 361 // be omitted from the list. The server is free to arrange the output 362 // list as desired; clients MUST NOT assume that the output list is 363 // sorted. DEPRECATED as of v2.1. Servers that wish to be compatible 364 // with v2.0 API should still populate this field in addition to 365 // `output_symlinks`. 366 OutputDirectorySymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputDirectorySymlinks,omitempty"` 367 368 // OutputFileSymlinks: The output files of the action that are symbolic 369 // links to other files. Those may be links to other output files, or 370 // input files, or even absolute paths outside of the working directory, 371 // if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each 372 // output file requested in the `output_files` or `output_paths` field 373 // of the Action, if the corresponding file existed after the action 374 // completed, a single entry will be present either in this field, or in 375 // the `output_files` field, if the file was not a symbolic link. If an 376 // output symbolic link of the same name as listed in `output_files` of 377 // the Command was found, but its target type was not a regular file, 378 // the server will return a FAILED_PRECONDITION. If the action does not 379 // produce the requested output, then that output will be omitted from 380 // the list. The server is free to arrange the output list as desired; 381 // clients MUST NOT assume that the output list is sorted. DEPRECATED as 382 // of v2.1. Servers that wish to be compatible with v2.0 API should 383 // still populate this field in addition to `output_symlinks`. 384 OutputFileSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputFileSymlinks,omitempty"` 385 386 // OutputFiles: The output files of the action. For each output file 387 // requested in the `output_files` or `output_paths` field of the 388 // Action, if the corresponding file existed after the action completed, 389 // a single entry will be present either in this field, or the 390 // `output_file_symlinks` field if the file was a symbolic link to 391 // another file (`output_symlinks` field after v2.1). If an output 392 // listed in `output_files` was found, but was a directory rather than a 393 // regular file, the server will return a FAILED_PRECONDITION. If the 394 // action does not produce the requested output, then that output will 395 // be omitted from the list. The server is free to arrange the output 396 // list as desired; clients MUST NOT assume that the output list is 397 // sorted. 398 OutputFiles []*BuildBazelRemoteExecutionV2OutputFile `json:"outputFiles,omitempty"` 399 400 // OutputSymlinks: New in v2.1: this field will only be populated if the 401 // command `output_paths` field was used, and not the pre v2.1 402 // `output_files` or `output_directories` fields. The output paths of 403 // the action that are symbolic links to other paths. Those may be links 404 // to other outputs, or inputs, or even absolute paths outside of the 405 // working directory, if the server supports 406 // SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output 407 // requested in `output_paths` field of the Action, if the corresponding 408 // path existed after the action completed and was a symbolic link. If 409 // the action does not produce a requested output, then that output will 410 // be omitted from the list. The server is free to arrange the output 411 // list as desired; clients MUST NOT assume that the output list is 412 // sorted. 413 OutputSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputSymlinks,omitempty"` 414 415 // StderrDigest: The digest for a blob containing the standard error of 416 // the action, which can be retrieved from the 417 // ContentAddressableStorage. 418 StderrDigest *BuildBazelRemoteExecutionV2Digest `json:"stderrDigest,omitempty"` 419 420 // StderrRaw: The standard error buffer of the action. The server SHOULD 421 // NOT inline stderr unless requested by the client in the 422 // GetActionResultRequest message. The server MAY omit inlining, even if 423 // requested, and MUST do so if inlining would cause the response to 424 // exceed message size limits. 425 StderrRaw string `json:"stderrRaw,omitempty"` 426 427 // StdoutDigest: The digest for a blob containing the standard output of 428 // the action, which can be retrieved from the 429 // ContentAddressableStorage. 430 StdoutDigest *BuildBazelRemoteExecutionV2Digest `json:"stdoutDigest,omitempty"` 431 432 // StdoutRaw: The standard output buffer of the action. The server 433 // SHOULD NOT inline stdout unless requested by the client in the 434 // GetActionResultRequest message. The server MAY omit inlining, even if 435 // requested, and MUST do so if inlining would cause the response to 436 // exceed message size limits. 437 StdoutRaw string `json:"stdoutRaw,omitempty"` 438 439 // ServerResponse contains the HTTP response code and headers from the 440 // server. 441 googleapi.ServerResponse `json:"-"` 442 443 // ForceSendFields is a list of field names (e.g. "ExecutionMetadata") 444 // to unconditionally include in API requests. By default, fields with 445 // empty values are omitted from API requests. However, any non-pointer, 446 // non-interface field appearing in ForceSendFields will be sent to the 447 // server regardless of whether the field is empty or not. This may be 448 // used to include empty fields in Patch requests. 449 ForceSendFields []string `json:"-"` 450 451 // NullFields is a list of field names (e.g. "ExecutionMetadata") to 452 // include in API requests with the JSON null value. By default, fields 453 // with empty values are omitted from API requests. However, any field 454 // with an empty value appearing in NullFields will be sent to the 455 // server as null. It is an error if a field in this list has a 456 // non-empty value. This may be used to include null fields in Patch 457 // requests. 458 NullFields []string `json:"-"` 459 } 460 461 func (s *BuildBazelRemoteExecutionV2ActionResult) MarshalJSON() ([]byte, error) { 462 type NoMethod BuildBazelRemoteExecutionV2ActionResult 463 raw := NoMethod(*s) 464 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 465 } 466 467 // BuildBazelRemoteExecutionV2BatchReadBlobsRequest: A request message 468 // for ContentAddressableStorage.BatchReadBlobs. 469 type BuildBazelRemoteExecutionV2BatchReadBlobsRequest struct { 470 // Digests: The individual blob digests. 471 Digests []*BuildBazelRemoteExecutionV2Digest `json:"digests,omitempty"` 472 473 // ForceSendFields is a list of field names (e.g. "Digests") to 474 // unconditionally include in API requests. By default, fields with 475 // empty values are omitted from API requests. However, any non-pointer, 476 // non-interface field appearing in ForceSendFields will be sent to the 477 // server regardless of whether the field is empty or not. This may be 478 // used to include empty fields in Patch requests. 479 ForceSendFields []string `json:"-"` 480 481 // NullFields is a list of field names (e.g. "Digests") to include in 482 // API requests with the JSON null value. By default, fields with empty 483 // values are omitted from API requests. However, any field with an 484 // empty value appearing in NullFields will be sent to the server as 485 // null. It is an error if a field in this list has a non-empty value. 486 // This may be used to include null fields in Patch requests. 487 NullFields []string `json:"-"` 488 } 489 490 func (s *BuildBazelRemoteExecutionV2BatchReadBlobsRequest) MarshalJSON() ([]byte, error) { 491 type NoMethod BuildBazelRemoteExecutionV2BatchReadBlobsRequest 492 raw := NoMethod(*s) 493 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 494 } 495 496 // BuildBazelRemoteExecutionV2BatchReadBlobsResponse: A response message 497 // for ContentAddressableStorage.BatchReadBlobs. 498 type BuildBazelRemoteExecutionV2BatchReadBlobsResponse struct { 499 // Responses: The responses to the requests. 500 Responses []*BuildBazelRemoteExecutionV2BatchReadBlobsResponseResponse `json:"responses,omitempty"` 501 502 // ServerResponse contains the HTTP response code and headers from the 503 // server. 504 googleapi.ServerResponse `json:"-"` 505 506 // ForceSendFields is a list of field names (e.g. "Responses") to 507 // unconditionally include in API requests. By default, fields with 508 // empty values are omitted from API requests. However, any non-pointer, 509 // non-interface field appearing in ForceSendFields will be sent to the 510 // server regardless of whether the field is empty or not. This may be 511 // used to include empty fields in Patch requests. 512 ForceSendFields []string `json:"-"` 513 514 // NullFields is a list of field names (e.g. "Responses") to include in 515 // API requests with the JSON null value. By default, fields with empty 516 // values are omitted from API requests. However, any field with an 517 // empty value appearing in NullFields will be sent to the server as 518 // null. It is an error if a field in this list has a non-empty value. 519 // This may be used to include null fields in Patch requests. 520 NullFields []string `json:"-"` 521 } 522 523 func (s *BuildBazelRemoteExecutionV2BatchReadBlobsResponse) MarshalJSON() ([]byte, error) { 524 type NoMethod BuildBazelRemoteExecutionV2BatchReadBlobsResponse 525 raw := NoMethod(*s) 526 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 527 } 528 529 // BuildBazelRemoteExecutionV2BatchReadBlobsResponseResponse: A response 530 // corresponding to a single blob that the client tried to download. 531 type BuildBazelRemoteExecutionV2BatchReadBlobsResponseResponse struct { 532 // Data: The raw binary data. 533 Data string `json:"data,omitempty"` 534 535 // Digest: The digest to which this response corresponds. 536 Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"` 537 538 // Status: The result of attempting to download that blob. 539 Status *GoogleRpcStatus `json:"status,omitempty"` 540 541 // ForceSendFields is a list of field names (e.g. "Data") to 542 // unconditionally include in API requests. By default, fields with 543 // empty values are omitted from API requests. However, any non-pointer, 544 // non-interface field appearing in ForceSendFields will be sent to the 545 // server regardless of whether the field is empty or not. This may be 546 // used to include empty fields in Patch requests. 547 ForceSendFields []string `json:"-"` 548 549 // NullFields is a list of field names (e.g. "Data") to include in API 550 // requests with the JSON null value. By default, fields with empty 551 // values are omitted from API requests. However, any field with an 552 // empty value appearing in NullFields will be sent to the server as 553 // null. It is an error if a field in this list has a non-empty value. 554 // This may be used to include null fields in Patch requests. 555 NullFields []string `json:"-"` 556 } 557 558 func (s *BuildBazelRemoteExecutionV2BatchReadBlobsResponseResponse) MarshalJSON() ([]byte, error) { 559 type NoMethod BuildBazelRemoteExecutionV2BatchReadBlobsResponseResponse 560 raw := NoMethod(*s) 561 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 562 } 563 564 // BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest: A request message 565 // for ContentAddressableStorage.BatchUpdateBlobs. 566 type BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest struct { 567 // Requests: The individual upload requests. 568 Requests []*BuildBazelRemoteExecutionV2BatchUpdateBlobsRequestRequest `json:"requests,omitempty"` 569 570 // ForceSendFields is a list of field names (e.g. "Requests") to 571 // unconditionally include in API requests. By default, fields with 572 // empty values are omitted from API requests. However, any non-pointer, 573 // non-interface field appearing in ForceSendFields will be sent to the 574 // server regardless of whether the field is empty or not. This may be 575 // used to include empty fields in Patch requests. 576 ForceSendFields []string `json:"-"` 577 578 // NullFields is a list of field names (e.g. "Requests") to include in 579 // API requests with the JSON null value. By default, fields with empty 580 // values are omitted from API requests. However, any field with an 581 // empty value appearing in NullFields will be sent to the server as 582 // null. It is an error if a field in this list has a non-empty value. 583 // This may be used to include null fields in Patch requests. 584 NullFields []string `json:"-"` 585 } 586 587 func (s *BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest) MarshalJSON() ([]byte, error) { 588 type NoMethod BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest 589 raw := NoMethod(*s) 590 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 591 } 592 593 // BuildBazelRemoteExecutionV2BatchUpdateBlobsRequestRequest: A request 594 // corresponding to a single blob that the client wants to upload. 595 type BuildBazelRemoteExecutionV2BatchUpdateBlobsRequestRequest struct { 596 // Data: The raw binary data. 597 Data string `json:"data,omitempty"` 598 599 // Digest: The digest of the blob. This MUST be the digest of `data`. 600 Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"` 601 602 // ForceSendFields is a list of field names (e.g. "Data") to 603 // unconditionally include in API requests. By default, fields with 604 // empty values are omitted from API requests. However, any non-pointer, 605 // non-interface field appearing in ForceSendFields will be sent to the 606 // server regardless of whether the field is empty or not. This may be 607 // used to include empty fields in Patch requests. 608 ForceSendFields []string `json:"-"` 609 610 // NullFields is a list of field names (e.g. "Data") to include in API 611 // requests with the JSON null value. By default, fields with empty 612 // values are omitted from API requests. However, any field with an 613 // empty value appearing in NullFields will be sent to the server as 614 // null. It is an error if a field in this list has a non-empty value. 615 // This may be used to include null fields in Patch requests. 616 NullFields []string `json:"-"` 617 } 618 619 func (s *BuildBazelRemoteExecutionV2BatchUpdateBlobsRequestRequest) MarshalJSON() ([]byte, error) { 620 type NoMethod BuildBazelRemoteExecutionV2BatchUpdateBlobsRequestRequest 621 raw := NoMethod(*s) 622 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 623 } 624 625 // BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse: A response 626 // message for ContentAddressableStorage.BatchUpdateBlobs. 627 type BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse struct { 628 // Responses: The responses to the requests. 629 Responses []*BuildBazelRemoteExecutionV2BatchUpdateBlobsResponseResponse `json:"responses,omitempty"` 630 631 // ServerResponse contains the HTTP response code and headers from the 632 // server. 633 googleapi.ServerResponse `json:"-"` 634 635 // ForceSendFields is a list of field names (e.g. "Responses") to 636 // unconditionally include in API requests. By default, fields with 637 // empty values are omitted from API requests. However, any non-pointer, 638 // non-interface field appearing in ForceSendFields will be sent to the 639 // server regardless of whether the field is empty or not. This may be 640 // used to include empty fields in Patch requests. 641 ForceSendFields []string `json:"-"` 642 643 // NullFields is a list of field names (e.g. "Responses") to include in 644 // API requests with the JSON null value. By default, fields with empty 645 // values are omitted from API requests. However, any field with an 646 // empty value appearing in NullFields will be sent to the server as 647 // null. It is an error if a field in this list has a non-empty value. 648 // This may be used to include null fields in Patch requests. 649 NullFields []string `json:"-"` 650 } 651 652 func (s *BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse) MarshalJSON() ([]byte, error) { 653 type NoMethod BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse 654 raw := NoMethod(*s) 655 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 656 } 657 658 // BuildBazelRemoteExecutionV2BatchUpdateBlobsResponseResponse: A 659 // response corresponding to a single blob that the client tried to 660 // upload. 661 type BuildBazelRemoteExecutionV2BatchUpdateBlobsResponseResponse struct { 662 // Digest: The blob digest to which this response corresponds. 663 Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"` 664 665 // Status: The result of attempting to upload that blob. 666 Status *GoogleRpcStatus `json:"status,omitempty"` 667 668 // ForceSendFields is a list of field names (e.g. "Digest") to 669 // unconditionally include in API requests. By default, fields with 670 // empty values are omitted from API requests. However, any non-pointer, 671 // non-interface field appearing in ForceSendFields will be sent to the 672 // server regardless of whether the field is empty or not. This may be 673 // used to include empty fields in Patch requests. 674 ForceSendFields []string `json:"-"` 675 676 // NullFields is a list of field names (e.g. "Digest") to include in API 677 // requests with the JSON null value. By default, fields with empty 678 // values are omitted from API requests. However, any field with an 679 // empty value appearing in NullFields will be sent to the server as 680 // null. It is an error if a field in this list has a non-empty value. 681 // This may be used to include null fields in Patch requests. 682 NullFields []string `json:"-"` 683 } 684 685 func (s *BuildBazelRemoteExecutionV2BatchUpdateBlobsResponseResponse) MarshalJSON() ([]byte, error) { 686 type NoMethod BuildBazelRemoteExecutionV2BatchUpdateBlobsResponseResponse 687 raw := NoMethod(*s) 688 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 689 } 690 691 // BuildBazelRemoteExecutionV2CacheCapabilities: Capabilities of the 692 // remote cache system. 693 type BuildBazelRemoteExecutionV2CacheCapabilities struct { 694 // ActionCacheUpdateCapabilities: Capabilities for updating the action 695 // cache. 696 ActionCacheUpdateCapabilities *BuildBazelRemoteExecutionV2ActionCacheUpdateCapabilities `json:"actionCacheUpdateCapabilities,omitempty"` 697 698 // CachePriorityCapabilities: Supported cache priority range for both 699 // CAS and ActionCache. 700 CachePriorityCapabilities *BuildBazelRemoteExecutionV2PriorityCapabilities `json:"cachePriorityCapabilities,omitempty"` 701 702 // DigestFunction: All the digest functions supported by the remote 703 // cache. Remote cache may support multiple digest functions 704 // simultaneously. 705 // 706 // Possible values: 707 // "UNKNOWN" - It is an error for the server to return this value. 708 // "SHA256" - The SHA-256 digest function. 709 // "SHA1" - The SHA-1 digest function. 710 // "MD5" - The MD5 digest function. 711 // "VSO" - The Microsoft "VSO-Hash" paged SHA256 digest function. See 712 // https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md 713 // . 714 // "SHA384" - The SHA-384 digest function. 715 // "SHA512" - The SHA-512 digest function. 716 // "MURMUR3" - Murmur3 128-bit digest function, x64 variant. Note that 717 // this is not a cryptographic hash function and its collision 718 // properties are not strongly guaranteed. See 719 // https://github.com/aappleby/smhasher/wiki/MurmurHash3 . 720 DigestFunction []string `json:"digestFunction,omitempty"` 721 722 // MaxBatchTotalSizeBytes: Maximum total size of blobs to be 723 // uploaded/downloaded using batch methods. A value of 0 means no limit 724 // is set, although in practice there will always be a message size 725 // limitation of the protocol in use, e.g. GRPC. 726 MaxBatchTotalSizeBytes int64 `json:"maxBatchTotalSizeBytes,omitempty,string"` 727 728 // SupportedCompressor: Compressors supported by the "compressed-blobs" 729 // bytestream resources. Servers MUST support identity/no-compression, 730 // even if it is not listed here. Note that this does not imply which if 731 // any compressors are supported by the server at the gRPC level. 732 // 733 // Possible values: 734 // "IDENTITY" - No compression. Servers and clients MUST always 735 // support this, and do not need to advertise it. 736 // "ZSTD" - Zstandard compression. 737 SupportedCompressor []string `json:"supportedCompressor,omitempty"` 738 739 // SymlinkAbsolutePathStrategy: Whether absolute symlink targets are 740 // supported. 741 // 742 // Possible values: 743 // "UNKNOWN" - Invalid value. 744 // "DISALLOWED" - Server will return an `INVALID_ARGUMENT` on input 745 // symlinks with absolute targets. If an action tries to create an 746 // output symlink with an absolute target, a `FAILED_PRECONDITION` will 747 // be returned. 748 // "ALLOWED" - Server will allow symlink targets to escape the input 749 // root tree, possibly resulting in non-hermetic builds. 750 SymlinkAbsolutePathStrategy string `json:"symlinkAbsolutePathStrategy,omitempty"` 751 752 // ForceSendFields is a list of field names (e.g. 753 // "ActionCacheUpdateCapabilities") to unconditionally include in API 754 // requests. By default, fields with empty values are omitted from API 755 // requests. However, any non-pointer, non-interface field appearing in 756 // ForceSendFields will be sent to the server regardless of whether the 757 // field is empty or not. This may be used to include empty fields in 758 // Patch requests. 759 ForceSendFields []string `json:"-"` 760 761 // NullFields is a list of field names (e.g. 762 // "ActionCacheUpdateCapabilities") to include in API requests with the 763 // JSON null value. By default, fields with empty values are omitted 764 // from API requests. However, any field with an empty value appearing 765 // in NullFields will be sent to the server as null. It is an error if a 766 // field in this list has a non-empty value. This may be used to include 767 // null fields in Patch requests. 768 NullFields []string `json:"-"` 769 } 770 771 func (s *BuildBazelRemoteExecutionV2CacheCapabilities) MarshalJSON() ([]byte, error) { 772 type NoMethod BuildBazelRemoteExecutionV2CacheCapabilities 773 raw := NoMethod(*s) 774 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 775 } 776 777 // BuildBazelRemoteExecutionV2Command: A `Command` is the actual command 778 // executed by a worker running an Action and specifications of its 779 // environment. Except as otherwise required, the environment (such as 780 // which system libraries or binaries are available, and what 781 // filesystems are mounted where) is defined by and specific to the 782 // implementation of the remote execution API. 783 type BuildBazelRemoteExecutionV2Command struct { 784 // Arguments: The arguments to the command. The first argument must be 785 // the path to the executable, which must be either a relative path, in 786 // which case it is evaluated with respect to the input root, or an 787 // absolute path. 788 Arguments []string `json:"arguments,omitempty"` 789 790 // EnvironmentVariables: The environment variables to set when running 791 // the program. The worker may provide its own default environment 792 // variables; these defaults can be overridden using this field. 793 // Additional variables can also be specified. In order to ensure that 794 // equivalent Commands always hash to the same value, the environment 795 // variables MUST be lexicographically sorted by name. Sorting of 796 // strings is done by code point, equivalently, by the UTF-8 bytes. 797 EnvironmentVariables []*BuildBazelRemoteExecutionV2CommandEnvironmentVariable `json:"environmentVariables,omitempty"` 798 799 // OutputDirectories: A list of the output directories that the client 800 // expects to retrieve from the action. Only the listed directories will 801 // be returned (an entire directory structure will be returned as a Tree 802 // message digest, see OutputDirectory), as well as files listed in 803 // `output_files`. Other files or directories that may be created during 804 // command execution are discarded. The paths are relative to the 805 // working directory of the action execution. The paths are specified 806 // using a single forward slash (`/`) as a path separator, even if the 807 // execution platform natively uses a different separator. The path MUST 808 // NOT include a trailing slash, nor a leading slash, being a relative 809 // path. The special value of empty string is allowed, although not 810 // recommended, and can be used to capture the entire working directory 811 // tree, including inputs. In order to ensure consistent hashing of the 812 // same Action, the output paths MUST be sorted lexicographically by 813 // code point (or, equivalently, by UTF-8 bytes). An output directory 814 // cannot be duplicated or have the same path as any of the listed 815 // output files. An output directory is allowed to be a parent of 816 // another output directory. Directories leading up to the output 817 // directories (but not the output directories themselves) are created 818 // by the worker prior to execution, even if they are not explicitly 819 // part of the input root. DEPRECATED since 2.1: Use `output_paths` 820 // instead. 821 OutputDirectories []string `json:"outputDirectories,omitempty"` 822 823 // OutputFiles: A list of the output files that the client expects to 824 // retrieve from the action. Only the listed files, as well as 825 // directories listed in `output_directories`, will be returned to the 826 // client as output. Other files or directories that may be created 827 // during command execution are discarded. The paths are relative to the 828 // working directory of the action execution. The paths are specified 829 // using a single forward slash (`/`) as a path separator, even if the 830 // execution platform natively uses a different separator. The path MUST 831 // NOT include a trailing slash, nor a leading slash, being a relative 832 // path. In order to ensure consistent hashing of the same Action, the 833 // output paths MUST be sorted lexicographically by code point (or, 834 // equivalently, by UTF-8 bytes). An output file cannot be duplicated, 835 // be a parent of another output file, or have the same path as any of 836 // the listed output directories. Directories leading up to the output 837 // files are created by the worker prior to execution, even if they are 838 // not explicitly part of the input root. DEPRECATED since v2.1: Use 839 // `output_paths` instead. 840 OutputFiles []string `json:"outputFiles,omitempty"` 841 842 // OutputNodeProperties: A list of keys for node properties the client 843 // expects to retrieve for output files and directories. Keys are either 844 // names of string-based NodeProperty or names of fields in 845 // NodeProperties. In order to ensure that equivalent `Action`s always 846 // hash to the same value, the node properties MUST be lexicographically 847 // sorted by name. Sorting of strings is done by code point, 848 // equivalently, by the UTF-8 bytes. The interpretation of string-based 849 // properties is server-dependent. If a property is not recognized by 850 // the server, the server will return an `INVALID_ARGUMENT`. 851 OutputNodeProperties []string `json:"outputNodeProperties,omitempty"` 852 853 // OutputPaths: A list of the output paths that the client expects to 854 // retrieve from the action. Only the listed paths will be returned to 855 // the client as output. The type of the output (file or directory) is 856 // not specified, and will be determined by the server after action 857 // execution. If the resulting path is a file, it will be returned in an 858 // OutputFile) typed field. If the path is a directory, the entire 859 // directory structure will be returned as a Tree message digest, see 860 // OutputDirectory) Other files or directories that may be created 861 // during command execution are discarded. The paths are relative to the 862 // working directory of the action execution. The paths are specified 863 // using a single forward slash (`/`) as a path separator, even if the 864 // execution platform natively uses a different separator. The path MUST 865 // NOT include a trailing slash, nor a leading slash, being a relative 866 // path. In order to ensure consistent hashing of the same Action, the 867 // output paths MUST be deduplicated and sorted lexicographically by 868 // code point (or, equivalently, by UTF-8 bytes). Directories leading up 869 // to the output paths are created by the worker prior to execution, 870 // even if they are not explicitly part of the input root. New in v2.1: 871 // this field supersedes the DEPRECATED `output_files` and 872 // `output_directories` fields. If `output_paths` is used, 873 // `output_files` and `output_directories` will be ignored! 874 OutputPaths []string `json:"outputPaths,omitempty"` 875 876 // Platform: The platform requirements for the execution environment. 877 // The server MAY choose to execute the action on any worker satisfying 878 // the requirements, so the client SHOULD ensure that running the action 879 // on any such worker will have the same result. A detailed lexicon for 880 // this can be found in the accompanying platform.md. DEPRECATED as of 881 // v2.2: platform properties are now specified directly in the action. 882 // See documentation note in the Action for migration. 883 Platform *BuildBazelRemoteExecutionV2Platform `json:"platform,omitempty"` 884 885 // WorkingDirectory: The working directory, relative to the input root, 886 // for the command to run in. It must be a directory which exists in the 887 // input tree. If it is left empty, then the action is run in the input 888 // root. 889 WorkingDirectory string `json:"workingDirectory,omitempty"` 890 891 // ForceSendFields is a list of field names (e.g. "Arguments") to 892 // unconditionally include in API requests. By default, fields with 893 // empty values are omitted from API requests. However, any non-pointer, 894 // non-interface field appearing in ForceSendFields will be sent to the 895 // server regardless of whether the field is empty or not. This may be 896 // used to include empty fields in Patch requests. 897 ForceSendFields []string `json:"-"` 898 899 // NullFields is a list of field names (e.g. "Arguments") to include in 900 // API requests with the JSON null value. By default, fields with empty 901 // values are omitted from API requests. However, any field with an 902 // empty value appearing in NullFields will be sent to the server as 903 // null. It is an error if a field in this list has a non-empty value. 904 // This may be used to include null fields in Patch requests. 905 NullFields []string `json:"-"` 906 } 907 908 func (s *BuildBazelRemoteExecutionV2Command) MarshalJSON() ([]byte, error) { 909 type NoMethod BuildBazelRemoteExecutionV2Command 910 raw := NoMethod(*s) 911 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 912 } 913 914 // BuildBazelRemoteExecutionV2CommandEnvironmentVariable: An 915 // `EnvironmentVariable` is one variable to set in the running program's 916 // environment. 917 type BuildBazelRemoteExecutionV2CommandEnvironmentVariable struct { 918 // Name: The variable name. 919 Name string `json:"name,omitempty"` 920 921 // Value: The variable value. 922 Value string `json:"value,omitempty"` 923 924 // ForceSendFields is a list of field names (e.g. "Name") to 925 // unconditionally include in API requests. By default, fields with 926 // empty values are omitted from API requests. However, any non-pointer, 927 // non-interface field appearing in ForceSendFields will be sent to the 928 // server regardless of whether the field is empty or not. This may be 929 // used to include empty fields in Patch requests. 930 ForceSendFields []string `json:"-"` 931 932 // NullFields is a list of field names (e.g. "Name") to include in API 933 // requests with the JSON null value. By default, fields with empty 934 // values are omitted from API requests. However, any field with an 935 // empty value appearing in NullFields will be sent to the server as 936 // null. It is an error if a field in this list has a non-empty value. 937 // This may be used to include null fields in Patch requests. 938 NullFields []string `json:"-"` 939 } 940 941 func (s *BuildBazelRemoteExecutionV2CommandEnvironmentVariable) MarshalJSON() ([]byte, error) { 942 type NoMethod BuildBazelRemoteExecutionV2CommandEnvironmentVariable 943 raw := NoMethod(*s) 944 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 945 } 946 947 // BuildBazelRemoteExecutionV2Digest: A content digest. A digest for a 948 // given blob consists of the size of the blob and its hash. The hash 949 // algorithm to use is defined by the server. The size is considered to 950 // be an integral part of the digest and cannot be separated. That is, 951 // even if the `hash` field is correctly specified but `size_bytes` is 952 // not, the server MUST reject the request. The reason for including the 953 // size in the digest is as follows: in a great many cases, the server 954 // needs to know the size of the blob it is about to work with prior to 955 // starting an operation with it, such as flattening Merkle tree 956 // structures or streaming it to a worker. Technically, the server could 957 // implement a separate metadata store, but this results in a 958 // significantly more complicated implementation as opposed to having 959 // the client specify the size up-front (or storing the size along with 960 // the digest in every message where digests are embedded). This does 961 // mean that the API leaks some implementation details of (what we 962 // consider to be) a reasonable server implementation, but we consider 963 // this to be a worthwhile tradeoff. When a `Digest` is used to refer to 964 // a proto message, it always refers to the message in binary encoded 965 // form. To ensure consistent hashing, clients and servers MUST ensure 966 // that they serialize messages according to the following rules, even 967 // if there are alternate valid encodings for the same message: * Fields 968 // are serialized in tag order. * There are no unknown fields. * There 969 // are no duplicate fields. * Fields are serialized according to the 970 // default semantics for their type. Most protocol buffer 971 // implementations will always follow these rules when serializing, but 972 // care should be taken to avoid shortcuts. For instance, concatenating 973 // two messages to merge them may produce duplicate fields. 974 type BuildBazelRemoteExecutionV2Digest struct { 975 // Hash: The hash. In the case of SHA-256, it will always be a lowercase 976 // hex string exactly 64 characters long. 977 Hash string `json:"hash,omitempty"` 978 979 // SizeBytes: The size of the blob, in bytes. 980 SizeBytes int64 `json:"sizeBytes,omitempty,string"` 981 982 // ForceSendFields is a list of field names (e.g. "Hash") to 983 // unconditionally include in API requests. By default, fields with 984 // empty values are omitted from API requests. However, any non-pointer, 985 // non-interface field appearing in ForceSendFields will be sent to the 986 // server regardless of whether the field is empty or not. This may be 987 // used to include empty fields in Patch requests. 988 ForceSendFields []string `json:"-"` 989 990 // NullFields is a list of field names (e.g. "Hash") to include in API 991 // requests with the JSON null value. By default, fields with empty 992 // values are omitted from API requests. However, any field with an 993 // empty value appearing in NullFields will be sent to the server as 994 // null. It is an error if a field in this list has a non-empty value. 995 // This may be used to include null fields in Patch requests. 996 NullFields []string `json:"-"` 997 } 998 999 func (s *BuildBazelRemoteExecutionV2Digest) MarshalJSON() ([]byte, error) { 1000 type NoMethod BuildBazelRemoteExecutionV2Digest 1001 raw := NoMethod(*s) 1002 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1003 } 1004 1005 // BuildBazelRemoteExecutionV2Directory: A `Directory` represents a 1006 // directory node in a file tree, containing zero or more children 1007 // FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its 1008 // name in the directory, either the digest of its content (either a 1009 // file blob or a `Directory` proto) or a symlink target, as well as 1010 // possibly some metadata about the file or directory. In order to 1011 // ensure that two equivalent directory trees hash to the same value, 1012 // the following restrictions MUST be obeyed when constructing a a 1013 // `Directory`: * Every child in the directory must have a path of 1014 // exactly one segment. Multiple levels of directory hierarchy may not 1015 // be collapsed. * Each child in the directory must have a unique path 1016 // segment (file name). Note that while the API itself is 1017 // case-sensitive, the environment where the Action is executed may or 1018 // may not be case-sensitive. That is, it is legal to call the API with 1019 // a Directory that has both "Foo" and "foo" as children, but the Action 1020 // may be rejected by the remote system upon execution. * The files, 1021 // directories and symlinks in the directory must each be sorted in 1022 // lexicographical order by path. The path strings must be sorted by 1023 // code point, equivalently, by UTF-8 bytes. * The NodeProperties of 1024 // files, directories, and symlinks must be sorted in lexicographical 1025 // order by property name. A `Directory` that obeys the restrictions is 1026 // said to be in canonical form. As an example, the following could be 1027 // used for a file named `bar` and a directory named `foo` with an 1028 // executable file named `baz` (hashes shortened for readability): 1029 // ```json // (Directory proto) { files: [ { name: "bar", digest: { 1030 // hash: "4a73bc9d03...", size: 65534 }, node_properties: [ { "name": 1031 // "MTime", "value": "2017-01-15T01:30:15.01Z" } ] } ], directories: [ { 1032 // name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] } // 1033 // (Directory proto with hash "4cf2eda940..." and size 43) { files: [ { 1034 // name: "baz", digest: { hash: "b2c941073e...", size: 1294, }, 1035 // is_executable: true } ] } ``` 1036 type BuildBazelRemoteExecutionV2Directory struct { 1037 // Directories: The subdirectories in the directory. 1038 Directories []*BuildBazelRemoteExecutionV2DirectoryNode `json:"directories,omitempty"` 1039 1040 // Files: The files in the directory. 1041 Files []*BuildBazelRemoteExecutionV2FileNode `json:"files,omitempty"` 1042 1043 NodeProperties *BuildBazelRemoteExecutionV2NodeProperties `json:"nodeProperties,omitempty"` 1044 1045 // Symlinks: The symlinks in the directory. 1046 Symlinks []*BuildBazelRemoteExecutionV2SymlinkNode `json:"symlinks,omitempty"` 1047 1048 // ForceSendFields is a list of field names (e.g. "Directories") to 1049 // unconditionally include in API requests. By default, fields with 1050 // empty values are omitted from API requests. However, any non-pointer, 1051 // non-interface field appearing in ForceSendFields will be sent to the 1052 // server regardless of whether the field is empty or not. This may be 1053 // used to include empty fields in Patch requests. 1054 ForceSendFields []string `json:"-"` 1055 1056 // NullFields is a list of field names (e.g. "Directories") to include 1057 // in API requests with the JSON null value. By default, fields with 1058 // empty values are omitted from API requests. However, any field with 1059 // an empty value appearing in NullFields will be sent to the server as 1060 // null. It is an error if a field in this list has a non-empty value. 1061 // This may be used to include null fields in Patch requests. 1062 NullFields []string `json:"-"` 1063 } 1064 1065 func (s *BuildBazelRemoteExecutionV2Directory) MarshalJSON() ([]byte, error) { 1066 type NoMethod BuildBazelRemoteExecutionV2Directory 1067 raw := NoMethod(*s) 1068 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1069 } 1070 1071 // BuildBazelRemoteExecutionV2DirectoryNode: A `DirectoryNode` 1072 // represents a child of a Directory which is itself a `Directory` and 1073 // its associated metadata. 1074 type BuildBazelRemoteExecutionV2DirectoryNode struct { 1075 // Digest: The digest of the Directory object represented. See Digest 1076 // for information about how to take the digest of a proto message. 1077 Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"` 1078 1079 // Name: The name of the directory. 1080 Name string `json:"name,omitempty"` 1081 1082 // ForceSendFields is a list of field names (e.g. "Digest") to 1083 // unconditionally include in API requests. By default, fields with 1084 // empty values are omitted from API requests. However, any non-pointer, 1085 // non-interface field appearing in ForceSendFields will be sent to the 1086 // server regardless of whether the field is empty or not. This may be 1087 // used to include empty fields in Patch requests. 1088 ForceSendFields []string `json:"-"` 1089 1090 // NullFields is a list of field names (e.g. "Digest") to include in API 1091 // requests with the JSON null value. By default, fields with empty 1092 // values are omitted from API requests. However, any field with an 1093 // empty value appearing in NullFields will be sent to the server as 1094 // null. It is an error if a field in this list has a non-empty value. 1095 // This may be used to include null fields in Patch requests. 1096 NullFields []string `json:"-"` 1097 } 1098 1099 func (s *BuildBazelRemoteExecutionV2DirectoryNode) MarshalJSON() ([]byte, error) { 1100 type NoMethod BuildBazelRemoteExecutionV2DirectoryNode 1101 raw := NoMethod(*s) 1102 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1103 } 1104 1105 // BuildBazelRemoteExecutionV2ExecuteOperationMetadata: Metadata about 1106 // an ongoing execution, which will be contained in the metadata field 1107 // of the Operation. 1108 type BuildBazelRemoteExecutionV2ExecuteOperationMetadata struct { 1109 // ActionDigest: The digest of the Action being executed. 1110 ActionDigest *BuildBazelRemoteExecutionV2Digest `json:"actionDigest,omitempty"` 1111 1112 // Stage: The current stage of execution. 1113 // 1114 // Possible values: 1115 // "UNKNOWN" - Invalid value. 1116 // "CACHE_CHECK" - Checking the result against the cache. 1117 // "QUEUED" - Currently idle, awaiting a free machine to execute. 1118 // "EXECUTING" - Currently being executed by a worker. 1119 // "COMPLETED" - Finished execution. 1120 Stage string `json:"stage,omitempty"` 1121 1122 // StderrStreamName: If set, the client can use this resource name with 1123 // ByteStream.Read to stream the standard error from the endpoint 1124 // hosting streamed responses. 1125 StderrStreamName string `json:"stderrStreamName,omitempty"` 1126 1127 // StdoutStreamName: If set, the client can use this resource name with 1128 // ByteStream.Read to stream the standard output from the endpoint 1129 // hosting streamed responses. 1130 StdoutStreamName string `json:"stdoutStreamName,omitempty"` 1131 1132 // ForceSendFields is a list of field names (e.g. "ActionDigest") to 1133 // unconditionally include in API requests. By default, fields with 1134 // empty values are omitted from API requests. However, any non-pointer, 1135 // non-interface field appearing in ForceSendFields will be sent to the 1136 // server regardless of whether the field is empty or not. This may be 1137 // used to include empty fields in Patch requests. 1138 ForceSendFields []string `json:"-"` 1139 1140 // NullFields is a list of field names (e.g. "ActionDigest") to include 1141 // in API requests with the JSON null value. By default, fields with 1142 // empty values are omitted from API requests. However, any field with 1143 // an empty value appearing in NullFields will be sent to the server as 1144 // null. It is an error if a field in this list has a non-empty value. 1145 // This may be used to include null fields in Patch requests. 1146 NullFields []string `json:"-"` 1147 } 1148 1149 func (s *BuildBazelRemoteExecutionV2ExecuteOperationMetadata) MarshalJSON() ([]byte, error) { 1150 type NoMethod BuildBazelRemoteExecutionV2ExecuteOperationMetadata 1151 raw := NoMethod(*s) 1152 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1153 } 1154 1155 // BuildBazelRemoteExecutionV2ExecuteRequest: A request message for 1156 // Execution.Execute. 1157 type BuildBazelRemoteExecutionV2ExecuteRequest struct { 1158 // ActionDigest: The digest of the Action to execute. 1159 ActionDigest *BuildBazelRemoteExecutionV2Digest `json:"actionDigest,omitempty"` 1160 1161 // ExecutionPolicy: An optional policy for execution of the action. The 1162 // server will have a default policy if this is not provided. 1163 ExecutionPolicy *BuildBazelRemoteExecutionV2ExecutionPolicy `json:"executionPolicy,omitempty"` 1164 1165 // ResultsCachePolicy: An optional policy for the results of this 1166 // execution in the remote cache. The server will have a default policy 1167 // if this is not provided. This may be applied to both the ActionResult 1168 // and the associated blobs. 1169 ResultsCachePolicy *BuildBazelRemoteExecutionV2ResultsCachePolicy `json:"resultsCachePolicy,omitempty"` 1170 1171 // SkipCacheLookup: If true, the action will be executed even if its 1172 // result is already present in the ActionCache. The execution is still 1173 // allowed to be merged with other in-flight executions of the same 1174 // action, however - semantically, the service MUST only guarantee that 1175 // the results of an execution with this field set were not visible 1176 // before the corresponding execution request was sent. Note that 1177 // actions from execution requests setting this field set are still 1178 // eligible to be entered into the action cache upon completion, and 1179 // services SHOULD overwrite any existing entries that may exist. This 1180 // allows skip_cache_lookup requests to be used as a mechanism for 1181 // replacing action cache entries that reference outputs no longer 1182 // available or that are poisoned in any way. If false, the result may 1183 // be served from the action cache. 1184 SkipCacheLookup bool `json:"skipCacheLookup,omitempty"` 1185 1186 // ForceSendFields is a list of field names (e.g. "ActionDigest") to 1187 // unconditionally include in API requests. By default, fields with 1188 // empty values are omitted from API requests. However, any non-pointer, 1189 // non-interface field appearing in ForceSendFields will be sent to the 1190 // server regardless of whether the field is empty or not. This may be 1191 // used to include empty fields in Patch requests. 1192 ForceSendFields []string `json:"-"` 1193 1194 // NullFields is a list of field names (e.g. "ActionDigest") to include 1195 // in API requests with the JSON null value. By default, fields with 1196 // empty values are omitted from API requests. However, any field with 1197 // an empty value appearing in NullFields will be sent to the server as 1198 // null. It is an error if a field in this list has a non-empty value. 1199 // This may be used to include null fields in Patch requests. 1200 NullFields []string `json:"-"` 1201 } 1202 1203 func (s *BuildBazelRemoteExecutionV2ExecuteRequest) MarshalJSON() ([]byte, error) { 1204 type NoMethod BuildBazelRemoteExecutionV2ExecuteRequest 1205 raw := NoMethod(*s) 1206 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1207 } 1208 1209 // BuildBazelRemoteExecutionV2ExecuteResponse: The response message for 1210 // Execution.Execute, which will be contained in the response field of 1211 // the Operation. 1212 type BuildBazelRemoteExecutionV2ExecuteResponse struct { 1213 // CachedResult: True if the result was served from cache, false if it 1214 // was executed. 1215 CachedResult bool `json:"cachedResult,omitempty"` 1216 1217 // Message: Freeform informational message with details on the execution 1218 // of the action that may be displayed to the user upon failure or when 1219 // requested explicitly. 1220 Message string `json:"message,omitempty"` 1221 1222 // Result: The result of the action. 1223 Result *BuildBazelRemoteExecutionV2ActionResult `json:"result,omitempty"` 1224 1225 // ServerLogs: An optional list of additional log outputs the server 1226 // wishes to provide. A server can use this to return execution-specific 1227 // logs however it wishes. This is intended primarily to make it easier 1228 // for users to debug issues that may be outside of the actual job 1229 // execution, such as by identifying the worker executing the action or 1230 // by providing logs from the worker's setup phase. The keys SHOULD be 1231 // human readable so that a client can display them to a user. 1232 ServerLogs map[string]BuildBazelRemoteExecutionV2LogFile `json:"serverLogs,omitempty"` 1233 1234 // Status: If the status has a code other than `OK`, it indicates that 1235 // the action did not finish execution. For example, if the operation 1236 // times out during execution, the status will have a 1237 // `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in 1238 // execution, rather than the error field on the `Operation` object. If 1239 // the status code is other than `OK`, then the result MUST NOT be 1240 // cached. For an error status, the `result` field is optional; the 1241 // server may populate the output-, stdout-, and stderr-related fields 1242 // if it has any information available, such as the stdout and stderr of 1243 // a timed-out action. 1244 Status *GoogleRpcStatus `json:"status,omitempty"` 1245 1246 // ForceSendFields is a list of field names (e.g. "CachedResult") to 1247 // unconditionally include in API requests. By default, fields with 1248 // empty values are omitted from API requests. However, any non-pointer, 1249 // non-interface field appearing in ForceSendFields will be sent to the 1250 // server regardless of whether the field is empty or not. This may be 1251 // used to include empty fields in Patch requests. 1252 ForceSendFields []string `json:"-"` 1253 1254 // NullFields is a list of field names (e.g. "CachedResult") to include 1255 // in API requests with the JSON null value. By default, fields with 1256 // empty values are omitted from API requests. However, any field with 1257 // an empty value appearing in NullFields will be sent to the server as 1258 // null. It is an error if a field in this list has a non-empty value. 1259 // This may be used to include null fields in Patch requests. 1260 NullFields []string `json:"-"` 1261 } 1262 1263 func (s *BuildBazelRemoteExecutionV2ExecuteResponse) MarshalJSON() ([]byte, error) { 1264 type NoMethod BuildBazelRemoteExecutionV2ExecuteResponse 1265 raw := NoMethod(*s) 1266 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1267 } 1268 1269 // BuildBazelRemoteExecutionV2ExecutedActionMetadata: 1270 // ExecutedActionMetadata contains details about a completed execution. 1271 type BuildBazelRemoteExecutionV2ExecutedActionMetadata struct { 1272 // AuxiliaryMetadata: Details that are specific to the kind of worker 1273 // used. For example, on POSIX-like systems this could contain a message 1274 // with getrusage(2) statistics. 1275 AuxiliaryMetadata []googleapi.RawMessage `json:"auxiliaryMetadata,omitempty"` 1276 1277 // ExecutionCompletedTimestamp: When the worker completed executing the 1278 // action command. 1279 ExecutionCompletedTimestamp string `json:"executionCompletedTimestamp,omitempty"` 1280 1281 // ExecutionStartTimestamp: When the worker started executing the action 1282 // command. 1283 ExecutionStartTimestamp string `json:"executionStartTimestamp,omitempty"` 1284 1285 // InputFetchCompletedTimestamp: When the worker finished fetching 1286 // action inputs. 1287 InputFetchCompletedTimestamp string `json:"inputFetchCompletedTimestamp,omitempty"` 1288 1289 // InputFetchStartTimestamp: When the worker started fetching action 1290 // inputs. 1291 InputFetchStartTimestamp string `json:"inputFetchStartTimestamp,omitempty"` 1292 1293 // OutputUploadCompletedTimestamp: When the worker finished uploading 1294 // action outputs. 1295 OutputUploadCompletedTimestamp string `json:"outputUploadCompletedTimestamp,omitempty"` 1296 1297 // OutputUploadStartTimestamp: When the worker started uploading action 1298 // outputs. 1299 OutputUploadStartTimestamp string `json:"outputUploadStartTimestamp,omitempty"` 1300 1301 // QueuedTimestamp: When was the action added to the queue. 1302 QueuedTimestamp string `json:"queuedTimestamp,omitempty"` 1303 1304 // Worker: The name of the worker which ran the execution. 1305 Worker string `json:"worker,omitempty"` 1306 1307 // WorkerCompletedTimestamp: When the worker completed the action, 1308 // including all stages. 1309 WorkerCompletedTimestamp string `json:"workerCompletedTimestamp,omitempty"` 1310 1311 // WorkerStartTimestamp: When the worker received the action. 1312 WorkerStartTimestamp string `json:"workerStartTimestamp,omitempty"` 1313 1314 // ForceSendFields is a list of field names (e.g. "AuxiliaryMetadata") 1315 // to unconditionally include in API requests. By default, fields with 1316 // empty values are omitted from API requests. However, any non-pointer, 1317 // non-interface field appearing in ForceSendFields will be sent to the 1318 // server regardless of whether the field is empty or not. This may be 1319 // used to include empty fields in Patch requests. 1320 ForceSendFields []string `json:"-"` 1321 1322 // NullFields is a list of field names (e.g. "AuxiliaryMetadata") to 1323 // include in API requests with the JSON null value. By default, fields 1324 // with empty values are omitted from API requests. However, any field 1325 // with an empty value appearing in NullFields will be sent to the 1326 // server as null. It is an error if a field in this list has a 1327 // non-empty value. This may be used to include null fields in Patch 1328 // requests. 1329 NullFields []string `json:"-"` 1330 } 1331 1332 func (s *BuildBazelRemoteExecutionV2ExecutedActionMetadata) MarshalJSON() ([]byte, error) { 1333 type NoMethod BuildBazelRemoteExecutionV2ExecutedActionMetadata 1334 raw := NoMethod(*s) 1335 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1336 } 1337 1338 // BuildBazelRemoteExecutionV2ExecutionCapabilities: Capabilities of the 1339 // remote execution system. 1340 type BuildBazelRemoteExecutionV2ExecutionCapabilities struct { 1341 // DigestFunction: Remote execution may only support a single digest 1342 // function. 1343 // 1344 // Possible values: 1345 // "UNKNOWN" - It is an error for the server to return this value. 1346 // "SHA256" - The SHA-256 digest function. 1347 // "SHA1" - The SHA-1 digest function. 1348 // "MD5" - The MD5 digest function. 1349 // "VSO" - The Microsoft "VSO-Hash" paged SHA256 digest function. See 1350 // https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md 1351 // . 1352 // "SHA384" - The SHA-384 digest function. 1353 // "SHA512" - The SHA-512 digest function. 1354 // "MURMUR3" - Murmur3 128-bit digest function, x64 variant. Note that 1355 // this is not a cryptographic hash function and its collision 1356 // properties are not strongly guaranteed. See 1357 // https://github.com/aappleby/smhasher/wiki/MurmurHash3 . 1358 DigestFunction string `json:"digestFunction,omitempty"` 1359 1360 // ExecEnabled: Whether remote execution is enabled for the particular 1361 // server/instance. 1362 ExecEnabled bool `json:"execEnabled,omitempty"` 1363 1364 // ExecutionPriorityCapabilities: Supported execution priority range. 1365 ExecutionPriorityCapabilities *BuildBazelRemoteExecutionV2PriorityCapabilities `json:"executionPriorityCapabilities,omitempty"` 1366 1367 // SupportedNodeProperties: Supported node properties. 1368 SupportedNodeProperties []string `json:"supportedNodeProperties,omitempty"` 1369 1370 // ForceSendFields is a list of field names (e.g. "DigestFunction") to 1371 // unconditionally include in API requests. By default, fields with 1372 // empty values are omitted from API requests. However, any non-pointer, 1373 // non-interface field appearing in ForceSendFields will be sent to the 1374 // server regardless of whether the field is empty or not. This may be 1375 // used to include empty fields in Patch requests. 1376 ForceSendFields []string `json:"-"` 1377 1378 // NullFields is a list of field names (e.g. "DigestFunction") to 1379 // include in API requests with the JSON null value. By default, fields 1380 // with empty values are omitted from API requests. However, any field 1381 // with an empty value appearing in NullFields will be sent to the 1382 // server as null. It is an error if a field in this list has a 1383 // non-empty value. This may be used to include null fields in Patch 1384 // requests. 1385 NullFields []string `json:"-"` 1386 } 1387 1388 func (s *BuildBazelRemoteExecutionV2ExecutionCapabilities) MarshalJSON() ([]byte, error) { 1389 type NoMethod BuildBazelRemoteExecutionV2ExecutionCapabilities 1390 raw := NoMethod(*s) 1391 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1392 } 1393 1394 // BuildBazelRemoteExecutionV2ExecutionPolicy: An `ExecutionPolicy` can 1395 // be used to control the scheduling of the action. 1396 type BuildBazelRemoteExecutionV2ExecutionPolicy struct { 1397 // Priority: The priority (relative importance) of this action. 1398 // Generally, a lower value means that the action should be run sooner 1399 // than actions having a greater priority value, but the interpretation 1400 // of a given value is server- dependent. A priority of 0 means the 1401 // *default* priority. Priorities may be positive or negative, and such 1402 // actions should run later or sooner than actions having the default 1403 // priority, respectively. The particular semantics of this field is up 1404 // to the server. In particular, every server will have their own 1405 // supported range of priorities, and will decide how these map into 1406 // scheduling policy. 1407 Priority int64 `json:"priority,omitempty"` 1408 1409 // ForceSendFields is a list of field names (e.g. "Priority") to 1410 // unconditionally include in API requests. By default, fields with 1411 // empty values are omitted from API requests. However, any non-pointer, 1412 // non-interface field appearing in ForceSendFields will be sent to the 1413 // server regardless of whether the field is empty or not. This may be 1414 // used to include empty fields in Patch requests. 1415 ForceSendFields []string `json:"-"` 1416 1417 // NullFields is a list of field names (e.g. "Priority") to include in 1418 // API requests with the JSON null value. By default, fields with empty 1419 // values are omitted from API requests. However, any field with an 1420 // empty value appearing in NullFields will be sent to the server as 1421 // null. It is an error if a field in this list has a non-empty value. 1422 // This may be used to include null fields in Patch requests. 1423 NullFields []string `json:"-"` 1424 } 1425 1426 func (s *BuildBazelRemoteExecutionV2ExecutionPolicy) MarshalJSON() ([]byte, error) { 1427 type NoMethod BuildBazelRemoteExecutionV2ExecutionPolicy 1428 raw := NoMethod(*s) 1429 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1430 } 1431 1432 // BuildBazelRemoteExecutionV2FileNode: A `FileNode` represents a single 1433 // file and associated metadata. 1434 type BuildBazelRemoteExecutionV2FileNode struct { 1435 // Digest: The digest of the file's content. 1436 Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"` 1437 1438 // IsExecutable: True if file is executable, false otherwise. 1439 IsExecutable bool `json:"isExecutable,omitempty"` 1440 1441 // Name: The name of the file. 1442 Name string `json:"name,omitempty"` 1443 1444 NodeProperties *BuildBazelRemoteExecutionV2NodeProperties `json:"nodeProperties,omitempty"` 1445 1446 // ForceSendFields is a list of field names (e.g. "Digest") to 1447 // unconditionally include in API requests. By default, fields with 1448 // empty values are omitted from API requests. However, any non-pointer, 1449 // non-interface field appearing in ForceSendFields will be sent to the 1450 // server regardless of whether the field is empty or not. This may be 1451 // used to include empty fields in Patch requests. 1452 ForceSendFields []string `json:"-"` 1453 1454 // NullFields is a list of field names (e.g. "Digest") to include in API 1455 // requests with the JSON null value. By default, fields with empty 1456 // values are omitted from API requests. However, any field with an 1457 // empty value appearing in NullFields will be sent to the server as 1458 // null. It is an error if a field in this list has a non-empty value. 1459 // This may be used to include null fields in Patch requests. 1460 NullFields []string `json:"-"` 1461 } 1462 1463 func (s *BuildBazelRemoteExecutionV2FileNode) MarshalJSON() ([]byte, error) { 1464 type NoMethod BuildBazelRemoteExecutionV2FileNode 1465 raw := NoMethod(*s) 1466 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1467 } 1468 1469 // BuildBazelRemoteExecutionV2FindMissingBlobsRequest: A request message 1470 // for ContentAddressableStorage.FindMissingBlobs. 1471 type BuildBazelRemoteExecutionV2FindMissingBlobsRequest struct { 1472 // BlobDigests: A list of the blobs to check. 1473 BlobDigests []*BuildBazelRemoteExecutionV2Digest `json:"blobDigests,omitempty"` 1474 1475 // ForceSendFields is a list of field names (e.g. "BlobDigests") to 1476 // unconditionally include in API requests. By default, fields with 1477 // empty values are omitted from API requests. However, any non-pointer, 1478 // non-interface field appearing in ForceSendFields will be sent to the 1479 // server regardless of whether the field is empty or not. This may be 1480 // used to include empty fields in Patch requests. 1481 ForceSendFields []string `json:"-"` 1482 1483 // NullFields is a list of field names (e.g. "BlobDigests") to include 1484 // in API requests with the JSON null value. By default, fields with 1485 // empty values are omitted from API requests. However, any field with 1486 // an empty value appearing in NullFields will be sent to the server as 1487 // null. It is an error if a field in this list has a non-empty value. 1488 // This may be used to include null fields in Patch requests. 1489 NullFields []string `json:"-"` 1490 } 1491 1492 func (s *BuildBazelRemoteExecutionV2FindMissingBlobsRequest) MarshalJSON() ([]byte, error) { 1493 type NoMethod BuildBazelRemoteExecutionV2FindMissingBlobsRequest 1494 raw := NoMethod(*s) 1495 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1496 } 1497 1498 // BuildBazelRemoteExecutionV2FindMissingBlobsResponse: A response 1499 // message for ContentAddressableStorage.FindMissingBlobs. 1500 type BuildBazelRemoteExecutionV2FindMissingBlobsResponse struct { 1501 // MissingBlobDigests: A list of the blobs requested *not* present in 1502 // the storage. 1503 MissingBlobDigests []*BuildBazelRemoteExecutionV2Digest `json:"missingBlobDigests,omitempty"` 1504 1505 // ServerResponse contains the HTTP response code and headers from the 1506 // server. 1507 googleapi.ServerResponse `json:"-"` 1508 1509 // ForceSendFields is a list of field names (e.g. "MissingBlobDigests") 1510 // to unconditionally include in API requests. By default, fields with 1511 // empty values are omitted from API requests. However, any non-pointer, 1512 // non-interface field appearing in ForceSendFields will be sent to the 1513 // server regardless of whether the field is empty or not. This may be 1514 // used to include empty fields in Patch requests. 1515 ForceSendFields []string `json:"-"` 1516 1517 // NullFields is a list of field names (e.g. "MissingBlobDigests") to 1518 // include in API requests with the JSON null value. By default, fields 1519 // with empty values are omitted from API requests. However, any field 1520 // with an empty value appearing in NullFields will be sent to the 1521 // server as null. It is an error if a field in this list has a 1522 // non-empty value. This may be used to include null fields in Patch 1523 // requests. 1524 NullFields []string `json:"-"` 1525 } 1526 1527 func (s *BuildBazelRemoteExecutionV2FindMissingBlobsResponse) MarshalJSON() ([]byte, error) { 1528 type NoMethod BuildBazelRemoteExecutionV2FindMissingBlobsResponse 1529 raw := NoMethod(*s) 1530 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1531 } 1532 1533 // BuildBazelRemoteExecutionV2GetTreeResponse: A response message for 1534 // ContentAddressableStorage.GetTree. 1535 type BuildBazelRemoteExecutionV2GetTreeResponse struct { 1536 // Directories: The directories descended from the requested root. 1537 Directories []*BuildBazelRemoteExecutionV2Directory `json:"directories,omitempty"` 1538 1539 // NextPageToken: If present, signifies that there are more results 1540 // which the client can retrieve by passing this as the page_token in a 1541 // subsequent request. If empty, signifies that this is the last page of 1542 // results. 1543 NextPageToken string `json:"nextPageToken,omitempty"` 1544 1545 // ServerResponse contains the HTTP response code and headers from the 1546 // server. 1547 googleapi.ServerResponse `json:"-"` 1548 1549 // ForceSendFields is a list of field names (e.g. "Directories") to 1550 // unconditionally include in API requests. By default, fields with 1551 // empty values are omitted from API requests. However, any non-pointer, 1552 // non-interface field appearing in ForceSendFields will be sent to the 1553 // server regardless of whether the field is empty or not. This may be 1554 // used to include empty fields in Patch requests. 1555 ForceSendFields []string `json:"-"` 1556 1557 // NullFields is a list of field names (e.g. "Directories") to include 1558 // in API requests with the JSON null value. By default, fields with 1559 // empty values are omitted from API requests. However, any field with 1560 // an empty value appearing in NullFields will be sent to the server as 1561 // null. It is an error if a field in this list has a non-empty value. 1562 // This may be used to include null fields in Patch requests. 1563 NullFields []string `json:"-"` 1564 } 1565 1566 func (s *BuildBazelRemoteExecutionV2GetTreeResponse) MarshalJSON() ([]byte, error) { 1567 type NoMethod BuildBazelRemoteExecutionV2GetTreeResponse 1568 raw := NoMethod(*s) 1569 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1570 } 1571 1572 // BuildBazelRemoteExecutionV2LogFile: A `LogFile` is a log stored in 1573 // the CAS. 1574 type BuildBazelRemoteExecutionV2LogFile struct { 1575 // Digest: The digest of the log contents. 1576 Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"` 1577 1578 // HumanReadable: This is a hint as to the purpose of the log, and is 1579 // set to true if the log is human-readable text that can be usefully 1580 // displayed to a user, and false otherwise. For instance, if a 1581 // command-line client wishes to print the server logs to the terminal 1582 // for a failed action, this allows it to avoid displaying a binary 1583 // file. 1584 HumanReadable bool `json:"humanReadable,omitempty"` 1585 1586 // ForceSendFields is a list of field names (e.g. "Digest") to 1587 // unconditionally include in API requests. By default, fields with 1588 // empty values are omitted from API requests. However, any non-pointer, 1589 // non-interface field appearing in ForceSendFields will be sent to the 1590 // server regardless of whether the field is empty or not. This may be 1591 // used to include empty fields in Patch requests. 1592 ForceSendFields []string `json:"-"` 1593 1594 // NullFields is a list of field names (e.g. "Digest") to include in API 1595 // requests with the JSON null value. By default, fields with empty 1596 // values are omitted from API requests. However, any field with an 1597 // empty value appearing in NullFields will be sent to the server as 1598 // null. It is an error if a field in this list has a non-empty value. 1599 // This may be used to include null fields in Patch requests. 1600 NullFields []string `json:"-"` 1601 } 1602 1603 func (s *BuildBazelRemoteExecutionV2LogFile) MarshalJSON() ([]byte, error) { 1604 type NoMethod BuildBazelRemoteExecutionV2LogFile 1605 raw := NoMethod(*s) 1606 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1607 } 1608 1609 // BuildBazelRemoteExecutionV2NodeProperties: Node properties for 1610 // FileNodes, DirectoryNodes, and SymlinkNodes. The server is 1611 // responsible for specifying the properties that it accepts. 1612 type BuildBazelRemoteExecutionV2NodeProperties struct { 1613 // Mtime: The file's last modification timestamp. 1614 Mtime string `json:"mtime,omitempty"` 1615 1616 // Properties: A list of string-based NodeProperties. 1617 Properties []*BuildBazelRemoteExecutionV2NodeProperty `json:"properties,omitempty"` 1618 1619 // UnixMode: The UNIX file mode, e.g., 0755. 1620 UnixMode int64 `json:"unixMode,omitempty"` 1621 1622 // ForceSendFields is a list of field names (e.g. "Mtime") to 1623 // unconditionally include in API requests. By default, fields with 1624 // empty values are omitted from API requests. However, any non-pointer, 1625 // non-interface field appearing in ForceSendFields will be sent to the 1626 // server regardless of whether the field is empty or not. This may be 1627 // used to include empty fields in Patch requests. 1628 ForceSendFields []string `json:"-"` 1629 1630 // NullFields is a list of field names (e.g. "Mtime") to include in API 1631 // requests with the JSON null value. By default, fields with empty 1632 // values are omitted from API requests. However, any field with an 1633 // empty value appearing in NullFields will be sent to the server as 1634 // null. It is an error if a field in this list has a non-empty value. 1635 // This may be used to include null fields in Patch requests. 1636 NullFields []string `json:"-"` 1637 } 1638 1639 func (s *BuildBazelRemoteExecutionV2NodeProperties) MarshalJSON() ([]byte, error) { 1640 type NoMethod BuildBazelRemoteExecutionV2NodeProperties 1641 raw := NoMethod(*s) 1642 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1643 } 1644 1645 // BuildBazelRemoteExecutionV2NodeProperty: A single property for 1646 // FileNodes, DirectoryNodes, and SymlinkNodes. The server is 1647 // responsible for specifying the property `name`s that it accepts. If 1648 // permitted by the server, the same `name` may occur multiple times. 1649 type BuildBazelRemoteExecutionV2NodeProperty struct { 1650 // Name: The property name. 1651 Name string `json:"name,omitempty"` 1652 1653 // Value: The property value. 1654 Value string `json:"value,omitempty"` 1655 1656 // ForceSendFields is a list of field names (e.g. "Name") to 1657 // unconditionally include in API requests. By default, fields with 1658 // empty values are omitted from API requests. However, any non-pointer, 1659 // non-interface field appearing in ForceSendFields will be sent to the 1660 // server regardless of whether the field is empty or not. This may be 1661 // used to include empty fields in Patch requests. 1662 ForceSendFields []string `json:"-"` 1663 1664 // NullFields is a list of field names (e.g. "Name") to include in API 1665 // requests with the JSON null value. By default, fields with empty 1666 // values are omitted from API requests. However, any field with an 1667 // empty value appearing in NullFields will be sent to the server as 1668 // null. It is an error if a field in this list has a non-empty value. 1669 // This may be used to include null fields in Patch requests. 1670 NullFields []string `json:"-"` 1671 } 1672 1673 func (s *BuildBazelRemoteExecutionV2NodeProperty) MarshalJSON() ([]byte, error) { 1674 type NoMethod BuildBazelRemoteExecutionV2NodeProperty 1675 raw := NoMethod(*s) 1676 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1677 } 1678 1679 // BuildBazelRemoteExecutionV2OutputDirectory: An `OutputDirectory` is 1680 // the output in an `ActionResult` corresponding to a directory's full 1681 // contents rather than a single file. 1682 type BuildBazelRemoteExecutionV2OutputDirectory struct { 1683 // Path: The full path of the directory relative to the working 1684 // directory. The path separator is a forward slash `/`. Since this is a 1685 // relative path, it MUST NOT begin with a leading forward slash. The 1686 // empty string value is allowed, and it denotes the entire working 1687 // directory. 1688 Path string `json:"path,omitempty"` 1689 1690 // TreeDigest: The digest of the encoded Tree proto containing the 1691 // directory's contents. 1692 TreeDigest *BuildBazelRemoteExecutionV2Digest `json:"treeDigest,omitempty"` 1693 1694 // ForceSendFields is a list of field names (e.g. "Path") to 1695 // unconditionally include in API requests. By default, fields with 1696 // empty values are omitted from API requests. However, any non-pointer, 1697 // non-interface field appearing in ForceSendFields will be sent to the 1698 // server regardless of whether the field is empty or not. This may be 1699 // used to include empty fields in Patch requests. 1700 ForceSendFields []string `json:"-"` 1701 1702 // NullFields is a list of field names (e.g. "Path") to include in API 1703 // requests with the JSON null value. By default, fields with empty 1704 // values are omitted from API requests. However, any field with an 1705 // empty value appearing in NullFields will be sent to the server as 1706 // null. It is an error if a field in this list has a non-empty value. 1707 // This may be used to include null fields in Patch requests. 1708 NullFields []string `json:"-"` 1709 } 1710 1711 func (s *BuildBazelRemoteExecutionV2OutputDirectory) MarshalJSON() ([]byte, error) { 1712 type NoMethod BuildBazelRemoteExecutionV2OutputDirectory 1713 raw := NoMethod(*s) 1714 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1715 } 1716 1717 // BuildBazelRemoteExecutionV2OutputFile: An `OutputFile` is similar to 1718 // a FileNode, but it is used as an output in an `ActionResult`. It 1719 // allows a full file path rather than only a name. 1720 type BuildBazelRemoteExecutionV2OutputFile struct { 1721 // Contents: The contents of the file if inlining was requested. The 1722 // server SHOULD NOT inline file contents unless requested by the client 1723 // in the GetActionResultRequest message. The server MAY omit inlining, 1724 // even if requested, and MUST do so if inlining would cause the 1725 // response to exceed message size limits. 1726 Contents string `json:"contents,omitempty"` 1727 1728 // Digest: The digest of the file's content. 1729 Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"` 1730 1731 // IsExecutable: True if file is executable, false otherwise. 1732 IsExecutable bool `json:"isExecutable,omitempty"` 1733 1734 NodeProperties *BuildBazelRemoteExecutionV2NodeProperties `json:"nodeProperties,omitempty"` 1735 1736 // Path: The full path of the file relative to the working directory, 1737 // including the filename. The path separator is a forward slash `/`. 1738 // Since this is a relative path, it MUST NOT begin with a leading 1739 // forward slash. 1740 Path string `json:"path,omitempty"` 1741 1742 // ForceSendFields is a list of field names (e.g. "Contents") to 1743 // unconditionally include in API requests. By default, fields with 1744 // empty values are omitted from API requests. However, any non-pointer, 1745 // non-interface field appearing in ForceSendFields will be sent to the 1746 // server regardless of whether the field is empty or not. This may be 1747 // used to include empty fields in Patch requests. 1748 ForceSendFields []string `json:"-"` 1749 1750 // NullFields is a list of field names (e.g. "Contents") to include in 1751 // API requests with the JSON null value. By default, fields with empty 1752 // values are omitted from API requests. However, any field with an 1753 // empty value appearing in NullFields will be sent to the server as 1754 // null. It is an error if a field in this list has a non-empty value. 1755 // This may be used to include null fields in Patch requests. 1756 NullFields []string `json:"-"` 1757 } 1758 1759 func (s *BuildBazelRemoteExecutionV2OutputFile) MarshalJSON() ([]byte, error) { 1760 type NoMethod BuildBazelRemoteExecutionV2OutputFile 1761 raw := NoMethod(*s) 1762 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1763 } 1764 1765 // BuildBazelRemoteExecutionV2OutputSymlink: An `OutputSymlink` is 1766 // similar to a Symlink, but it is used as an output in an 1767 // `ActionResult`. `OutputSymlink` is binary-compatible with 1768 // `SymlinkNode`. 1769 type BuildBazelRemoteExecutionV2OutputSymlink struct { 1770 NodeProperties *BuildBazelRemoteExecutionV2NodeProperties `json:"nodeProperties,omitempty"` 1771 1772 // Path: The full path of the symlink relative to the working directory, 1773 // including the filename. The path separator is a forward slash `/`. 1774 // Since this is a relative path, it MUST NOT begin with a leading 1775 // forward slash. 1776 Path string `json:"path,omitempty"` 1777 1778 // Target: The target path of the symlink. The path separator is a 1779 // forward slash `/`. The target path can be relative to the parent 1780 // directory of the symlink or it can be an absolute path starting with 1781 // `/`. Support for absolute paths can be checked using the Capabilities 1782 // API. `..` components are allowed anywhere in the target path. 1783 Target string `json:"target,omitempty"` 1784 1785 // ForceSendFields is a list of field names (e.g. "NodeProperties") to 1786 // unconditionally include in API requests. By default, fields with 1787 // empty values are omitted from API requests. However, any non-pointer, 1788 // non-interface field appearing in ForceSendFields will be sent to the 1789 // server regardless of whether the field is empty or not. This may be 1790 // used to include empty fields in Patch requests. 1791 ForceSendFields []string `json:"-"` 1792 1793 // NullFields is a list of field names (e.g. "NodeProperties") to 1794 // include in API requests with the JSON null value. By default, fields 1795 // with empty values are omitted from API requests. However, any field 1796 // with an empty value appearing in NullFields will be sent to the 1797 // server as null. It is an error if a field in this list has a 1798 // non-empty value. This may be used to include null fields in Patch 1799 // requests. 1800 NullFields []string `json:"-"` 1801 } 1802 1803 func (s *BuildBazelRemoteExecutionV2OutputSymlink) MarshalJSON() ([]byte, error) { 1804 type NoMethod BuildBazelRemoteExecutionV2OutputSymlink 1805 raw := NoMethod(*s) 1806 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1807 } 1808 1809 // BuildBazelRemoteExecutionV2Platform: A `Platform` is a set of 1810 // requirements, such as hardware, operating system, or compiler 1811 // toolchain, for an Action's execution environment. A `Platform` is 1812 // represented as a series of key-value pairs representing the 1813 // properties that are required of the platform. 1814 type BuildBazelRemoteExecutionV2Platform struct { 1815 // Properties: The properties that make up this platform. In order to 1816 // ensure that equivalent `Platform`s always hash to the same value, the 1817 // properties MUST be lexicographically sorted by name, and then by 1818 // value. Sorting of strings is done by code point, equivalently, by the 1819 // UTF-8 bytes. 1820 Properties []*BuildBazelRemoteExecutionV2PlatformProperty `json:"properties,omitempty"` 1821 1822 // ForceSendFields is a list of field names (e.g. "Properties") to 1823 // unconditionally include in API requests. By default, fields with 1824 // empty values are omitted from API requests. However, any non-pointer, 1825 // non-interface field appearing in ForceSendFields will be sent to the 1826 // server regardless of whether the field is empty or not. This may be 1827 // used to include empty fields in Patch requests. 1828 ForceSendFields []string `json:"-"` 1829 1830 // NullFields is a list of field names (e.g. "Properties") to include in 1831 // API requests with the JSON null value. By default, fields with empty 1832 // values are omitted from API requests. However, any field with an 1833 // empty value appearing in NullFields will be sent to the server as 1834 // null. It is an error if a field in this list has a non-empty value. 1835 // This may be used to include null fields in Patch requests. 1836 NullFields []string `json:"-"` 1837 } 1838 1839 func (s *BuildBazelRemoteExecutionV2Platform) MarshalJSON() ([]byte, error) { 1840 type NoMethod BuildBazelRemoteExecutionV2Platform 1841 raw := NoMethod(*s) 1842 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1843 } 1844 1845 // BuildBazelRemoteExecutionV2PlatformProperty: A single property for 1846 // the environment. The server is responsible for specifying the 1847 // property `name`s that it accepts. If an unknown `name` is provided in 1848 // the requirements for an Action, the server SHOULD reject the 1849 // execution request. If permitted by the server, the same `name` may 1850 // occur multiple times. The server is also responsible for specifying 1851 // the interpretation of property `value`s. For instance, a property 1852 // describing how much RAM must be available may be interpreted as 1853 // allowing a worker with 16GB to fulfill a request for 8GB, while a 1854 // property describing the OS environment on which the action must be 1855 // performed may require an exact match with the worker's OS. The server 1856 // MAY use the `value` of one or more properties to determine how it 1857 // sets up the execution environment, such as by making specific system 1858 // files available to the worker. Both names and values are typically 1859 // case-sensitive. Note that the platform is implicitly part of the 1860 // action digest, so even tiny changes in the names or values (like 1861 // changing case) may result in different action cache entries. 1862 type BuildBazelRemoteExecutionV2PlatformProperty struct { 1863 // Name: The property name. 1864 Name string `json:"name,omitempty"` 1865 1866 // Value: The property value. 1867 Value string `json:"value,omitempty"` 1868 1869 // ForceSendFields is a list of field names (e.g. "Name") to 1870 // unconditionally include in API requests. By default, fields with 1871 // empty values are omitted from API requests. However, any non-pointer, 1872 // non-interface field appearing in ForceSendFields will be sent to the 1873 // server regardless of whether the field is empty or not. This may be 1874 // used to include empty fields in Patch requests. 1875 ForceSendFields []string `json:"-"` 1876 1877 // NullFields is a list of field names (e.g. "Name") to include in API 1878 // requests with the JSON null value. By default, fields with empty 1879 // values are omitted from API requests. However, any field with an 1880 // empty value appearing in NullFields will be sent to the server as 1881 // null. It is an error if a field in this list has a non-empty value. 1882 // This may be used to include null fields in Patch requests. 1883 NullFields []string `json:"-"` 1884 } 1885 1886 func (s *BuildBazelRemoteExecutionV2PlatformProperty) MarshalJSON() ([]byte, error) { 1887 type NoMethod BuildBazelRemoteExecutionV2PlatformProperty 1888 raw := NoMethod(*s) 1889 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1890 } 1891 1892 // BuildBazelRemoteExecutionV2PriorityCapabilities: Allowed values for 1893 // priority in ResultsCachePolicy and ExecutionPolicy Used for querying 1894 // both cache and execution valid priority ranges. 1895 type BuildBazelRemoteExecutionV2PriorityCapabilities struct { 1896 Priorities []*BuildBazelRemoteExecutionV2PriorityCapabilitiesPriorityRange `json:"priorities,omitempty"` 1897 1898 // ForceSendFields is a list of field names (e.g. "Priorities") to 1899 // unconditionally include in API requests. By default, fields with 1900 // empty values are omitted from API requests. However, any non-pointer, 1901 // non-interface field appearing in ForceSendFields will be sent to the 1902 // server regardless of whether the field is empty or not. This may be 1903 // used to include empty fields in Patch requests. 1904 ForceSendFields []string `json:"-"` 1905 1906 // NullFields is a list of field names (e.g. "Priorities") to include in 1907 // API requests with the JSON null value. By default, fields with empty 1908 // values are omitted from API requests. However, any field with an 1909 // empty value appearing in NullFields will be sent to the server as 1910 // null. It is an error if a field in this list has a non-empty value. 1911 // This may be used to include null fields in Patch requests. 1912 NullFields []string `json:"-"` 1913 } 1914 1915 func (s *BuildBazelRemoteExecutionV2PriorityCapabilities) MarshalJSON() ([]byte, error) { 1916 type NoMethod BuildBazelRemoteExecutionV2PriorityCapabilities 1917 raw := NoMethod(*s) 1918 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1919 } 1920 1921 // BuildBazelRemoteExecutionV2PriorityCapabilitiesPriorityRange: 1922 // Supported range of priorities, including boundaries. 1923 type BuildBazelRemoteExecutionV2PriorityCapabilitiesPriorityRange struct { 1924 // MaxPriority: The maximum numeric value for this priority range, which 1925 // represents the least urgent task or shortest retained item. 1926 MaxPriority int64 `json:"maxPriority,omitempty"` 1927 1928 // MinPriority: The minimum numeric value for this priority range, which 1929 // represents the most urgent task or longest retained item. 1930 MinPriority int64 `json:"minPriority,omitempty"` 1931 1932 // ForceSendFields is a list of field names (e.g. "MaxPriority") to 1933 // unconditionally include in API requests. By default, fields with 1934 // empty values are omitted from API requests. However, any non-pointer, 1935 // non-interface field appearing in ForceSendFields will be sent to the 1936 // server regardless of whether the field is empty or not. This may be 1937 // used to include empty fields in Patch requests. 1938 ForceSendFields []string `json:"-"` 1939 1940 // NullFields is a list of field names (e.g. "MaxPriority") to include 1941 // in API requests with the JSON null value. By default, fields with 1942 // empty values are omitted from API requests. However, any field with 1943 // an empty value appearing in NullFields will be sent to the server as 1944 // null. It is an error if a field in this list has a non-empty value. 1945 // This may be used to include null fields in Patch requests. 1946 NullFields []string `json:"-"` 1947 } 1948 1949 func (s *BuildBazelRemoteExecutionV2PriorityCapabilitiesPriorityRange) MarshalJSON() ([]byte, error) { 1950 type NoMethod BuildBazelRemoteExecutionV2PriorityCapabilitiesPriorityRange 1951 raw := NoMethod(*s) 1952 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1953 } 1954 1955 // BuildBazelRemoteExecutionV2RequestMetadata: An optional Metadata to 1956 // attach to any RPC request to tell the server about an external 1957 // context of the request. The server may use this for logging or other 1958 // purposes. To use it, the client attaches the header to the call using 1959 // the canonical proto serialization: * name: 1960 // `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the 1961 // base64 encoded binary `RequestMetadata` message. Note: the gRPC 1962 // library serializes binary headers encoded in base 64 by default 1963 // (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests). 1964 // Therefore, if the gRPC library is used to pass/retrieve this 1965 // metadata, the user may ignore the base64 encoding and assume it is 1966 // simply serialized as a binary message. 1967 type BuildBazelRemoteExecutionV2RequestMetadata struct { 1968 // ActionId: An identifier that ties multiple requests to the same 1969 // action. For example, multiple requests to the CAS, Action Cache, and 1970 // Execution API are used in order to compile foo.cc. 1971 ActionId string `json:"actionId,omitempty"` 1972 1973 // ActionMnemonic: A brief description of the kind of action, for 1974 // example, CppCompile or GoLink. There is no standard agreed set of 1975 // values for this, and they are expected to vary between different 1976 // client tools. 1977 ActionMnemonic string `json:"actionMnemonic,omitempty"` 1978 1979 // ConfigurationId: An identifier for the configuration in which the 1980 // target was built, e.g. for differentiating building host tools or 1981 // different target platforms. There is no expectation that this value 1982 // will have any particular structure, or equality across invocations, 1983 // though some client tools may offer these guarantees. 1984 ConfigurationId string `json:"configurationId,omitempty"` 1985 1986 // CorrelatedInvocationsId: An identifier to tie multiple tool 1987 // invocations together. For example, runs of foo_test, bar_test and 1988 // baz_test on a post-submit of a given patch. 1989 CorrelatedInvocationsId string `json:"correlatedInvocationsId,omitempty"` 1990 1991 // TargetId: An identifier for the target which produced this action. No 1992 // guarantees are made around how many actions may relate to a single 1993 // target. 1994 TargetId string `json:"targetId,omitempty"` 1995 1996 // ToolDetails: The details for the tool invoking the requests. 1997 ToolDetails *BuildBazelRemoteExecutionV2ToolDetails `json:"toolDetails,omitempty"` 1998 1999 // ToolInvocationId: An identifier that ties multiple actions together 2000 // to a final result. For example, multiple actions are required to 2001 // build and run foo_test. 2002 ToolInvocationId string `json:"toolInvocationId,omitempty"` 2003 2004 // ForceSendFields is a list of field names (e.g. "ActionId") to 2005 // unconditionally include in API requests. By default, fields with 2006 // empty values are omitted from API requests. However, any non-pointer, 2007 // non-interface field appearing in ForceSendFields will be sent to the 2008 // server regardless of whether the field is empty or not. This may be 2009 // used to include empty fields in Patch requests. 2010 ForceSendFields []string `json:"-"` 2011 2012 // NullFields is a list of field names (e.g. "ActionId") to include in 2013 // API requests with the JSON null value. By default, fields with empty 2014 // values are omitted from API requests. However, any field with an 2015 // empty value appearing in NullFields will be sent to the server as 2016 // null. It is an error if a field in this list has a non-empty value. 2017 // This may be used to include null fields in Patch requests. 2018 NullFields []string `json:"-"` 2019 } 2020 2021 func (s *BuildBazelRemoteExecutionV2RequestMetadata) MarshalJSON() ([]byte, error) { 2022 type NoMethod BuildBazelRemoteExecutionV2RequestMetadata 2023 raw := NoMethod(*s) 2024 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2025 } 2026 2027 // BuildBazelRemoteExecutionV2ResultsCachePolicy: A `ResultsCachePolicy` 2028 // is used for fine-grained control over how action outputs are stored 2029 // in the CAS and Action Cache. 2030 type BuildBazelRemoteExecutionV2ResultsCachePolicy struct { 2031 // Priority: The priority (relative importance) of this content in the 2032 // overall cache. Generally, a lower value means a longer retention time 2033 // or other advantage, but the interpretation of a given value is 2034 // server-dependent. A priority of 0 means a *default* value, decided by 2035 // the server. The particular semantics of this field is up to the 2036 // server. In particular, every server will have their own supported 2037 // range of priorities, and will decide how these map into 2038 // retention/eviction policy. 2039 Priority int64 `json:"priority,omitempty"` 2040 2041 // ForceSendFields is a list of field names (e.g. "Priority") to 2042 // unconditionally include in API requests. By default, fields with 2043 // empty values are omitted from API requests. However, any non-pointer, 2044 // non-interface field appearing in ForceSendFields will be sent to the 2045 // server regardless of whether the field is empty or not. This may be 2046 // used to include empty fields in Patch requests. 2047 ForceSendFields []string `json:"-"` 2048 2049 // NullFields is a list of field names (e.g. "Priority") to include in 2050 // API requests with the JSON null value. By default, fields with empty 2051 // values are omitted from API requests. However, any field with an 2052 // empty value appearing in NullFields will be sent to the server as 2053 // null. It is an error if a field in this list has a non-empty value. 2054 // This may be used to include null fields in Patch requests. 2055 NullFields []string `json:"-"` 2056 } 2057 2058 func (s *BuildBazelRemoteExecutionV2ResultsCachePolicy) MarshalJSON() ([]byte, error) { 2059 type NoMethod BuildBazelRemoteExecutionV2ResultsCachePolicy 2060 raw := NoMethod(*s) 2061 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2062 } 2063 2064 // BuildBazelRemoteExecutionV2ServerCapabilities: A response message for 2065 // Capabilities.GetCapabilities. 2066 type BuildBazelRemoteExecutionV2ServerCapabilities struct { 2067 // CacheCapabilities: Capabilities of the remote cache system. 2068 CacheCapabilities *BuildBazelRemoteExecutionV2CacheCapabilities `json:"cacheCapabilities,omitempty"` 2069 2070 // DeprecatedApiVersion: Earliest RE API version supported, including 2071 // deprecated versions. 2072 DeprecatedApiVersion *BuildBazelSemverSemVer `json:"deprecatedApiVersion,omitempty"` 2073 2074 // ExecutionCapabilities: Capabilities of the remote execution system. 2075 ExecutionCapabilities *BuildBazelRemoteExecutionV2ExecutionCapabilities `json:"executionCapabilities,omitempty"` 2076 2077 // HighApiVersion: Latest RE API version supported. 2078 HighApiVersion *BuildBazelSemverSemVer `json:"highApiVersion,omitempty"` 2079 2080 // LowApiVersion: Earliest non-deprecated RE API version supported. 2081 LowApiVersion *BuildBazelSemverSemVer `json:"lowApiVersion,omitempty"` 2082 2083 // ServerResponse contains the HTTP response code and headers from the 2084 // server. 2085 googleapi.ServerResponse `json:"-"` 2086 2087 // ForceSendFields is a list of field names (e.g. "CacheCapabilities") 2088 // to unconditionally include in API requests. By default, fields with 2089 // empty values are omitted from API requests. However, any non-pointer, 2090 // non-interface field appearing in ForceSendFields will be sent to the 2091 // server regardless of whether the field is empty or not. This may be 2092 // used to include empty fields in Patch requests. 2093 ForceSendFields []string `json:"-"` 2094 2095 // NullFields is a list of field names (e.g. "CacheCapabilities") to 2096 // include in API requests with the JSON null value. By default, fields 2097 // with empty values are omitted from API requests. However, any field 2098 // with an empty value appearing in NullFields will be sent to the 2099 // server as null. It is an error if a field in this list has a 2100 // non-empty value. This may be used to include null fields in Patch 2101 // requests. 2102 NullFields []string `json:"-"` 2103 } 2104 2105 func (s *BuildBazelRemoteExecutionV2ServerCapabilities) MarshalJSON() ([]byte, error) { 2106 type NoMethod BuildBazelRemoteExecutionV2ServerCapabilities 2107 raw := NoMethod(*s) 2108 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2109 } 2110 2111 // BuildBazelRemoteExecutionV2SymlinkNode: A `SymlinkNode` represents a 2112 // symbolic link. 2113 type BuildBazelRemoteExecutionV2SymlinkNode struct { 2114 // Name: The name of the symlink. 2115 Name string `json:"name,omitempty"` 2116 2117 NodeProperties *BuildBazelRemoteExecutionV2NodeProperties `json:"nodeProperties,omitempty"` 2118 2119 // Target: The target path of the symlink. The path separator is a 2120 // forward slash `/`. The target path can be relative to the parent 2121 // directory of the symlink or it can be an absolute path starting with 2122 // `/`. Support for absolute paths can be checked using the Capabilities 2123 // API. `..` components are allowed anywhere in the target path as 2124 // logical canonicalization may lead to different behavior in the 2125 // presence of directory symlinks (e.g. `foo/../bar` may not be the same 2126 // as `bar`). To reduce potential cache misses, canonicalization is 2127 // still recommended where this is possible without impacting 2128 // correctness. 2129 Target string `json:"target,omitempty"` 2130 2131 // ForceSendFields is a list of field names (e.g. "Name") to 2132 // unconditionally include in API requests. By default, fields with 2133 // empty values are omitted from API requests. However, any non-pointer, 2134 // non-interface field appearing in ForceSendFields will be sent to the 2135 // server regardless of whether the field is empty or not. This may be 2136 // used to include empty fields in Patch requests. 2137 ForceSendFields []string `json:"-"` 2138 2139 // NullFields is a list of field names (e.g. "Name") to include in API 2140 // requests with the JSON null value. By default, fields with empty 2141 // values are omitted from API requests. However, any field with an 2142 // empty value appearing in NullFields will be sent to the server as 2143 // null. It is an error if a field in this list has a non-empty value. 2144 // This may be used to include null fields in Patch requests. 2145 NullFields []string `json:"-"` 2146 } 2147 2148 func (s *BuildBazelRemoteExecutionV2SymlinkNode) MarshalJSON() ([]byte, error) { 2149 type NoMethod BuildBazelRemoteExecutionV2SymlinkNode 2150 raw := NoMethod(*s) 2151 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2152 } 2153 2154 // BuildBazelRemoteExecutionV2ToolDetails: Details for the tool used to 2155 // call the API. 2156 type BuildBazelRemoteExecutionV2ToolDetails struct { 2157 // ToolName: Name of the tool, e.g. bazel. 2158 ToolName string `json:"toolName,omitempty"` 2159 2160 // ToolVersion: Version of the tool used for the request, e.g. 5.0.3. 2161 ToolVersion string `json:"toolVersion,omitempty"` 2162 2163 // ForceSendFields is a list of field names (e.g. "ToolName") to 2164 // unconditionally include in API requests. By default, fields with 2165 // empty values are omitted from API requests. However, any non-pointer, 2166 // non-interface field appearing in ForceSendFields will be sent to the 2167 // server regardless of whether the field is empty or not. This may be 2168 // used to include empty fields in Patch requests. 2169 ForceSendFields []string `json:"-"` 2170 2171 // NullFields is a list of field names (e.g. "ToolName") to include in 2172 // API requests with the JSON null value. By default, fields with empty 2173 // values are omitted from API requests. However, any field with an 2174 // empty value appearing in NullFields will be sent to the server as 2175 // null. It is an error if a field in this list has a non-empty value. 2176 // This may be used to include null fields in Patch requests. 2177 NullFields []string `json:"-"` 2178 } 2179 2180 func (s *BuildBazelRemoteExecutionV2ToolDetails) MarshalJSON() ([]byte, error) { 2181 type NoMethod BuildBazelRemoteExecutionV2ToolDetails 2182 raw := NoMethod(*s) 2183 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2184 } 2185 2186 // BuildBazelRemoteExecutionV2Tree: A `Tree` contains all the Directory 2187 // protos in a single directory Merkle tree, compressed into one 2188 // message. 2189 type BuildBazelRemoteExecutionV2Tree struct { 2190 // Children: All the child directories: the directories referred to by 2191 // the root and, recursively, all its children. In order to reconstruct 2192 // the directory tree, the client must take the digests of each of the 2193 // child directories and then build up a tree starting from the `root`. 2194 Children []*BuildBazelRemoteExecutionV2Directory `json:"children,omitempty"` 2195 2196 // Root: The root directory in the tree. 2197 Root *BuildBazelRemoteExecutionV2Directory `json:"root,omitempty"` 2198 2199 // ForceSendFields is a list of field names (e.g. "Children") to 2200 // unconditionally include in API requests. By default, fields with 2201 // empty values are omitted from API requests. However, any non-pointer, 2202 // non-interface field appearing in ForceSendFields will be sent to the 2203 // server regardless of whether the field is empty or not. This may be 2204 // used to include empty fields in Patch requests. 2205 ForceSendFields []string `json:"-"` 2206 2207 // NullFields is a list of field names (e.g. "Children") to include in 2208 // API requests with the JSON null value. By default, fields with empty 2209 // values are omitted from API requests. However, any field with an 2210 // empty value appearing in NullFields will be sent to the server as 2211 // null. It is an error if a field in this list has a non-empty value. 2212 // This may be used to include null fields in Patch requests. 2213 NullFields []string `json:"-"` 2214 } 2215 2216 func (s *BuildBazelRemoteExecutionV2Tree) MarshalJSON() ([]byte, error) { 2217 type NoMethod BuildBazelRemoteExecutionV2Tree 2218 raw := NoMethod(*s) 2219 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2220 } 2221 2222 // BuildBazelRemoteExecutionV2WaitExecutionRequest: A request message 2223 // for WaitExecution. 2224 type BuildBazelRemoteExecutionV2WaitExecutionRequest struct { 2225 } 2226 2227 // BuildBazelSemverSemVer: The full version of a given tool. 2228 type BuildBazelSemverSemVer struct { 2229 // Major: The major version, e.g 10 for 10.2.3. 2230 Major int64 `json:"major,omitempty"` 2231 2232 // Minor: The minor version, e.g. 2 for 10.2.3. 2233 Minor int64 `json:"minor,omitempty"` 2234 2235 // Patch: The patch version, e.g 3 for 10.2.3. 2236 Patch int64 `json:"patch,omitempty"` 2237 2238 // Prerelease: The pre-release version. Either this field or 2239 // major/minor/patch fields must be filled. They are mutually exclusive. 2240 // Pre-release versions are assumed to be earlier than any released 2241 // versions. 2242 Prerelease string `json:"prerelease,omitempty"` 2243 2244 // ForceSendFields is a list of field names (e.g. "Major") to 2245 // unconditionally include in API requests. By default, fields with 2246 // empty values are omitted from API requests. However, any non-pointer, 2247 // non-interface field appearing in ForceSendFields will be sent to the 2248 // server regardless of whether the field is empty or not. This may be 2249 // used to include empty fields in Patch requests. 2250 ForceSendFields []string `json:"-"` 2251 2252 // NullFields is a list of field names (e.g. "Major") to include in API 2253 // requests with the JSON null value. By default, fields with empty 2254 // values are omitted from API requests. However, any field with an 2255 // empty value appearing in NullFields will be sent to the server as 2256 // null. It is an error if a field in this list has a non-empty value. 2257 // This may be used to include null fields in Patch requests. 2258 NullFields []string `json:"-"` 2259 } 2260 2261 func (s *BuildBazelSemverSemVer) MarshalJSON() ([]byte, error) { 2262 type NoMethod BuildBazelSemverSemVer 2263 raw := NoMethod(*s) 2264 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2265 } 2266 2267 // GoogleDevtoolsRemotebuildbotCommandDurations: CommandDuration 2268 // contains the various duration metrics tracked when a bot performs a 2269 // command. 2270 type GoogleDevtoolsRemotebuildbotCommandDurations struct { 2271 // CasRelease: The time spent to release the CAS blobs used by the task. 2272 CasRelease string `json:"casRelease,omitempty"` 2273 2274 // CmWaitForAssignment: The time spent waiting for Container Manager to 2275 // assign an asynchronous container for execution. 2276 CmWaitForAssignment string `json:"cmWaitForAssignment,omitempty"` 2277 2278 // DockerPrep: The time spent preparing the command to be run in a 2279 // Docker container (includes pulling the Docker image, if necessary). 2280 DockerPrep string `json:"dockerPrep,omitempty"` 2281 2282 // DockerPrepStartTime: The timestamp when docker preparation begins. 2283 DockerPrepStartTime string `json:"dockerPrepStartTime,omitempty"` 2284 2285 // Download: The time spent downloading the input files and constructing 2286 // the working directory. 2287 Download string `json:"download,omitempty"` 2288 2289 // DownloadStartTime: The timestamp when downloading the input files 2290 // begins. 2291 DownloadStartTime string `json:"downloadStartTime,omitempty"` 2292 2293 // ExecStartTime: The timestamp when execution begins. 2294 ExecStartTime string `json:"execStartTime,omitempty"` 2295 2296 // Execution: The time spent executing the command (i.e., doing useful 2297 // work). 2298 Execution string `json:"execution,omitempty"` 2299 2300 // IsoPrepDone: The timestamp when preparation is done and bot starts 2301 // downloading files. 2302 IsoPrepDone string `json:"isoPrepDone,omitempty"` 2303 2304 // Overall: The time spent completing the command, in total. 2305 Overall string `json:"overall,omitempty"` 2306 2307 // Stdout: The time spent uploading the stdout logs. 2308 Stdout string `json:"stdout,omitempty"` 2309 2310 // Upload: The time spent uploading the output files. 2311 Upload string `json:"upload,omitempty"` 2312 2313 // UploadStartTime: The timestamp when uploading the output files 2314 // begins. 2315 UploadStartTime string `json:"uploadStartTime,omitempty"` 2316 2317 // ForceSendFields is a list of field names (e.g. "CasRelease") to 2318 // unconditionally include in API requests. By default, fields with 2319 // empty values are omitted from API requests. However, any non-pointer, 2320 // non-interface field appearing in ForceSendFields will be sent to the 2321 // server regardless of whether the field is empty or not. This may be 2322 // used to include empty fields in Patch requests. 2323 ForceSendFields []string `json:"-"` 2324 2325 // NullFields is a list of field names (e.g. "CasRelease") to include in 2326 // API requests with the JSON null value. By default, fields with empty 2327 // values are omitted from API requests. However, any field with an 2328 // empty value appearing in NullFields will be sent to the server as 2329 // null. It is an error if a field in this list has a non-empty value. 2330 // This may be used to include null fields in Patch requests. 2331 NullFields []string `json:"-"` 2332 } 2333 2334 func (s *GoogleDevtoolsRemotebuildbotCommandDurations) MarshalJSON() ([]byte, error) { 2335 type NoMethod GoogleDevtoolsRemotebuildbotCommandDurations 2336 raw := NoMethod(*s) 2337 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2338 } 2339 2340 // GoogleDevtoolsRemotebuildbotCommandEvents: CommandEvents contains 2341 // counters for the number of warnings and errors that occurred during 2342 // the execution of a command. 2343 type GoogleDevtoolsRemotebuildbotCommandEvents struct { 2344 // CmUsage: Indicates if and how Container Manager is being used for 2345 // task execution. 2346 // 2347 // Possible values: 2348 // "CONFIG_NONE" - Container Manager is disabled or not running for 2349 // this execution. 2350 // "CONFIG_MATCH" - Container Manager is enabled and there was a 2351 // matching container available for use during execution. 2352 // "CONFIG_MISMATCH" - Container Manager is enabled, but there was no 2353 // matching container available for execution. 2354 CmUsage string `json:"cmUsage,omitempty"` 2355 2356 // DockerCacheHit: Indicates whether we are using a cached Docker image 2357 // (true) or had to pull the Docker image (false) for this command. 2358 DockerCacheHit bool `json:"dockerCacheHit,omitempty"` 2359 2360 // DockerImageName: Docker Image name. 2361 DockerImageName string `json:"dockerImageName,omitempty"` 2362 2363 // InputCacheMiss: The input cache miss ratio. 2364 InputCacheMiss float64 `json:"inputCacheMiss,omitempty"` 2365 2366 // NumErrors: The number of errors reported. 2367 NumErrors uint64 `json:"numErrors,omitempty,string"` 2368 2369 // NumWarnings: The number of warnings reported. 2370 NumWarnings uint64 `json:"numWarnings,omitempty,string"` 2371 2372 // OutputLocation: Indicates whether output files and/or output 2373 // directories were found relative to the execution root or to the user 2374 // provided work directory or both or none. 2375 // 2376 // Possible values: 2377 // "LOCATION_UNDEFINED" - Location is set to LOCATION_UNDEFINED for 2378 // tasks where the working directorty is not specified or is identical 2379 // to the execution root directory. 2380 // "LOCATION_NONE" - No output files or directories were found neither 2381 // relative to the execution root directory nor relative to the working 2382 // directory. 2383 // "LOCATION_EXEC_ROOT_RELATIVE" - Output files or directories were 2384 // found relative to the execution root directory but not relative to 2385 // the working directory. 2386 // "LOCATION_WORKING_DIR_RELATIVE" - Output files or directories were 2387 // found relative to the working directory but not relative to the 2388 // execution root directory. 2389 // "LOCATION_EXEC_ROOT_AND_WORKING_DIR_RELATIVE" - Output files or 2390 // directories were found both relative to the execution root directory 2391 // and relative to the working directory. 2392 // "LOCATION_EXEC_ROOT_RELATIVE_OUTPUT_OUTSIDE_WORKING_DIR" - Output 2393 // files or directories were found relative to the execution root 2394 // directory but not relative to the working directory. In addition at 2395 // least one output file or directory was found outside of the working 2396 // directory such that a working-directory-relative-path would have 2397 // needed to start with a `..`. 2398 // 2399 // "LOCATION_EXEC_ROOT_AND_WORKING_DIR_RELATIVE_OUTPUT_OUTSIDE_WORKING_DI 2400 // R" - Output files or directories were found both relative to the 2401 // execution root directory and relative to the working directory. In 2402 // addition at least one exec-root-relative output file or directory was 2403 // found outside of the working directory such that a 2404 // working-directory-relative-path would have needed to start with a 2405 // `..`. 2406 OutputLocation string `json:"outputLocation,omitempty"` 2407 2408 // UsedAsyncContainer: Indicates whether an asynchronous container was 2409 // used for execution. 2410 UsedAsyncContainer bool `json:"usedAsyncContainer,omitempty"` 2411 2412 // ForceSendFields is a list of field names (e.g. "CmUsage") to 2413 // unconditionally include in API requests. By default, fields with 2414 // empty values are omitted from API requests. However, any non-pointer, 2415 // non-interface field appearing in ForceSendFields will be sent to the 2416 // server regardless of whether the field is empty or not. This may be 2417 // used to include empty fields in Patch requests. 2418 ForceSendFields []string `json:"-"` 2419 2420 // NullFields is a list of field names (e.g. "CmUsage") to include in 2421 // API requests with the JSON null value. By default, fields with empty 2422 // values are omitted from API requests. However, any field with an 2423 // empty value appearing in NullFields will be sent to the server as 2424 // null. It is an error if a field in this list has a non-empty value. 2425 // This may be used to include null fields in Patch requests. 2426 NullFields []string `json:"-"` 2427 } 2428 2429 func (s *GoogleDevtoolsRemotebuildbotCommandEvents) MarshalJSON() ([]byte, error) { 2430 type NoMethod GoogleDevtoolsRemotebuildbotCommandEvents 2431 raw := NoMethod(*s) 2432 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2433 } 2434 2435 func (s *GoogleDevtoolsRemotebuildbotCommandEvents) UnmarshalJSON(data []byte) error { 2436 type NoMethod GoogleDevtoolsRemotebuildbotCommandEvents 2437 var s1 struct { 2438 InputCacheMiss gensupport.JSONFloat64 `json:"inputCacheMiss"` 2439 *NoMethod 2440 } 2441 s1.NoMethod = (*NoMethod)(s) 2442 if err := json.Unmarshal(data, &s1); err != nil { 2443 return err 2444 } 2445 s.InputCacheMiss = float64(s1.InputCacheMiss) 2446 return nil 2447 } 2448 2449 // GoogleDevtoolsRemotebuildbotCommandStatus: The internal status of the 2450 // command result. 2451 type GoogleDevtoolsRemotebuildbotCommandStatus struct { 2452 // Code: The status code. 2453 // 2454 // Possible values: 2455 // "OK" - The command succeeded. 2456 // "INVALID_ARGUMENT" - The command input was invalid. 2457 // "DEADLINE_EXCEEDED" - The command had passed its expiry time while 2458 // it was still running. 2459 // "NOT_FOUND" - The resources requested by the command were not 2460 // found. 2461 // "PERMISSION_DENIED" - The command failed due to permission errors. 2462 // "INTERNAL" - The command failed because of some invariants expected 2463 // by the underlying system have been broken. This usually indicates a 2464 // bug wit the system. 2465 // "ABORTED" - The command was aborted. 2466 // "FAILED_PRECONDITION" - The command failed because the system is 2467 // not in a state required for the command, e.g. the command inputs 2468 // cannot be found on the server. 2469 // "CLEANUP_ERROR" - The bot failed to do the cleanup, e.g. unable to 2470 // delete the command working directory or the command process. 2471 // "DOWNLOAD_INPUTS_ERROR" - The bot failed to download the inputs. 2472 // "UNKNOWN" - Unknown error. 2473 // "UPLOAD_OUTPUTS_ERROR" - The bot failed to upload the outputs. 2474 // "UPLOAD_OUTPUTS_BYTES_LIMIT_EXCEEDED" - The bot tried to upload 2475 // files having a total size that is too large. 2476 // "DOCKER_LOGIN_ERROR" - The bot failed to login to docker. 2477 // "DOCKER_IMAGE_PULL_ERROR" - The bot failed to pull docker image. 2478 // "DOCKER_IMAGE_EXIST_ERROR" - The bot failed to check docker images. 2479 // "DUPLICATE_INPUTS" - The inputs contain duplicate files. 2480 // "DOCKER_IMAGE_PERMISSION_DENIED" - The bot doesn't have the 2481 // permissions to pull docker images. 2482 // "DOCKER_IMAGE_NOT_FOUND" - The docker image cannot be found. 2483 // "WORKING_DIR_NOT_FOUND" - Working directory is not found. 2484 // "WORKING_DIR_NOT_IN_BASE_DIR" - Working directory is not under the 2485 // base directory 2486 // "DOCKER_UNAVAILABLE" - There are issues with docker 2487 // service/runtime. 2488 // "NO_CUDA_CAPABLE_DEVICE" - The command failed with "no cuda-capable 2489 // device is detected" error. 2490 // "REMOTE_CAS_DOWNLOAD_ERROR" - The bot encountered errors from 2491 // remote CAS when downloading blobs. 2492 // "REMOTE_CAS_UPLOAD_ERROR" - The bot encountered errors from remote 2493 // CAS when uploading blobs. 2494 // "LOCAL_CASPROXY_NOT_RUNNING" - The local casproxy is not running. 2495 // "DOCKER_CREATE_CONTAINER_ERROR" - The bot couldn't start the 2496 // container. 2497 // "DOCKER_INVALID_ULIMIT" - The docker ulimit is not valid. 2498 // "DOCKER_UNKNOWN_RUNTIME" - The docker runtime is unknown. 2499 // "DOCKER_UNKNOWN_CAPABILITY" - The docker capability is unknown. 2500 // "DOCKER_UNKNOWN_ERROR" - The command failed with unknown docker 2501 // errors. 2502 // "DOCKER_CREATE_COMPUTE_SYSTEM_ERROR" - Docker failed to run 2503 // containers with CreateComputeSystem error. 2504 // "DOCKER_PREPARELAYER_ERROR" - Docker failed to run containers with 2505 // hcsshim::PrepareLayer error. 2506 // "DOCKER_INCOMPATIBLE_OS_ERROR" - Docker incompatible operating 2507 // system error. 2508 // "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND" - Docker failed to create 2509 // OCI runtime because of file not found. 2510 // "DOCKER_CREATE_RUNTIME_PERMISSION_DENIED" - Docker failed to create 2511 // OCI runtime because of permission denied. 2512 // "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" - Docker failed to create 2513 // process because of file not found. 2514 // "DOCKER_CREATE_COMPUTE_SYSTEM_INCORRECT_PARAMETER_ERROR" - Docker 2515 // failed to run containers with CreateComputeSystem error that involves 2516 // an incorrect parameter (more specific version of 2517 // DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused). 2518 // "DOCKER_TOO_MANY_SYMBOLIC_LINK_LEVELS" - Docker failed to create an 2519 // overlay mount because of too many levels of symbolic links. 2520 // "LOCAL_CONTAINER_MANAGER_NOT_RUNNING" - The local Container Manager 2521 // is not running. 2522 // "DOCKER_IMAGE_VPCSC_PERMISSION_DENIED" - Docker failed because a 2523 // request was denied by the organization's policy. 2524 // "WORKING_DIR_NOT_RELATIVE" - Working directory is not relative 2525 // "DOCKER_MISSING_CONTAINER" - Docker cannot find the container 2526 // specified in the command. This error is likely to only occur if an 2527 // asynchronous container is not running when the command is run. 2528 Code string `json:"code,omitempty"` 2529 2530 // Message: The error message. 2531 Message string `json:"message,omitempty"` 2532 2533 // ForceSendFields is a list of field names (e.g. "Code") to 2534 // unconditionally include in API requests. By default, fields with 2535 // empty values are omitted from API requests. However, any non-pointer, 2536 // non-interface field appearing in ForceSendFields will be sent to the 2537 // server regardless of whether the field is empty or not. This may be 2538 // used to include empty fields in Patch requests. 2539 ForceSendFields []string `json:"-"` 2540 2541 // NullFields is a list of field names (e.g. "Code") to include in API 2542 // requests with the JSON null value. By default, fields with empty 2543 // values are omitted from API requests. However, any field with an 2544 // empty value appearing in NullFields will be sent to the server as 2545 // null. It is an error if a field in this list has a non-empty value. 2546 // This may be used to include null fields in Patch requests. 2547 NullFields []string `json:"-"` 2548 } 2549 2550 func (s *GoogleDevtoolsRemotebuildbotCommandStatus) MarshalJSON() ([]byte, error) { 2551 type NoMethod GoogleDevtoolsRemotebuildbotCommandStatus 2552 raw := NoMethod(*s) 2553 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2554 } 2555 2556 // GoogleDevtoolsRemotebuildbotResourceUsage: ResourceUsage is the 2557 // system resource usage of the host machine. 2558 type GoogleDevtoolsRemotebuildbotResourceUsage struct { 2559 CpuUsedPercent float64 `json:"cpuUsedPercent,omitempty"` 2560 2561 DiskUsage *GoogleDevtoolsRemotebuildbotResourceUsageStat `json:"diskUsage,omitempty"` 2562 2563 MemoryUsage *GoogleDevtoolsRemotebuildbotResourceUsageStat `json:"memoryUsage,omitempty"` 2564 2565 TotalDiskIoStats *GoogleDevtoolsRemotebuildbotResourceUsageIOStats `json:"totalDiskIoStats,omitempty"` 2566 2567 // ForceSendFields is a list of field names (e.g. "CpuUsedPercent") to 2568 // unconditionally include in API requests. By default, fields with 2569 // empty values are omitted from API requests. However, any non-pointer, 2570 // non-interface field appearing in ForceSendFields will be sent to the 2571 // server regardless of whether the field is empty or not. This may be 2572 // used to include empty fields in Patch requests. 2573 ForceSendFields []string `json:"-"` 2574 2575 // NullFields is a list of field names (e.g. "CpuUsedPercent") to 2576 // include in API requests with the JSON null value. By default, fields 2577 // with empty values are omitted from API requests. However, any field 2578 // with an empty value appearing in NullFields will be sent to the 2579 // server as null. It is an error if a field in this list has a 2580 // non-empty value. This may be used to include null fields in Patch 2581 // requests. 2582 NullFields []string `json:"-"` 2583 } 2584 2585 func (s *GoogleDevtoolsRemotebuildbotResourceUsage) MarshalJSON() ([]byte, error) { 2586 type NoMethod GoogleDevtoolsRemotebuildbotResourceUsage 2587 raw := NoMethod(*s) 2588 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2589 } 2590 2591 func (s *GoogleDevtoolsRemotebuildbotResourceUsage) UnmarshalJSON(data []byte) error { 2592 type NoMethod GoogleDevtoolsRemotebuildbotResourceUsage 2593 var s1 struct { 2594 CpuUsedPercent gensupport.JSONFloat64 `json:"cpuUsedPercent"` 2595 *NoMethod 2596 } 2597 s1.NoMethod = (*NoMethod)(s) 2598 if err := json.Unmarshal(data, &s1); err != nil { 2599 return err 2600 } 2601 s.CpuUsedPercent = float64(s1.CpuUsedPercent) 2602 return nil 2603 } 2604 2605 type GoogleDevtoolsRemotebuildbotResourceUsageIOStats struct { 2606 ReadBytesCount uint64 `json:"readBytesCount,omitempty,string"` 2607 2608 ReadCount uint64 `json:"readCount,omitempty,string"` 2609 2610 ReadTimeMs uint64 `json:"readTimeMs,omitempty,string"` 2611 2612 WriteBytesCount uint64 `json:"writeBytesCount,omitempty,string"` 2613 2614 WriteCount uint64 `json:"writeCount,omitempty,string"` 2615 2616 WriteTimeMs uint64 `json:"writeTimeMs,omitempty,string"` 2617 2618 // ForceSendFields is a list of field names (e.g. "ReadBytesCount") to 2619 // unconditionally include in API requests. By default, fields with 2620 // empty values are omitted from API requests. However, any non-pointer, 2621 // non-interface field appearing in ForceSendFields will be sent to the 2622 // server regardless of whether the field is empty or not. This may be 2623 // used to include empty fields in Patch requests. 2624 ForceSendFields []string `json:"-"` 2625 2626 // NullFields is a list of field names (e.g. "ReadBytesCount") to 2627 // include in API requests with the JSON null value. By default, fields 2628 // with empty values are omitted from API requests. However, any field 2629 // with an empty value appearing in NullFields will be sent to the 2630 // server as null. It is an error if a field in this list has a 2631 // non-empty value. This may be used to include null fields in Patch 2632 // requests. 2633 NullFields []string `json:"-"` 2634 } 2635 2636 func (s *GoogleDevtoolsRemotebuildbotResourceUsageIOStats) MarshalJSON() ([]byte, error) { 2637 type NoMethod GoogleDevtoolsRemotebuildbotResourceUsageIOStats 2638 raw := NoMethod(*s) 2639 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2640 } 2641 2642 type GoogleDevtoolsRemotebuildbotResourceUsageStat struct { 2643 Total uint64 `json:"total,omitempty,string"` 2644 2645 Used uint64 `json:"used,omitempty,string"` 2646 2647 // ForceSendFields is a list of field names (e.g. "Total") to 2648 // unconditionally include in API requests. By default, fields with 2649 // empty values are omitted from API requests. However, any non-pointer, 2650 // non-interface field appearing in ForceSendFields will be sent to the 2651 // server regardless of whether the field is empty or not. This may be 2652 // used to include empty fields in Patch requests. 2653 ForceSendFields []string `json:"-"` 2654 2655 // NullFields is a list of field names (e.g. "Total") to include in API 2656 // requests with the JSON null value. By default, fields with empty 2657 // values are omitted from API requests. However, any field with an 2658 // empty value appearing in NullFields will be sent to the server as 2659 // null. It is an error if a field in this list has a non-empty value. 2660 // This may be used to include null fields in Patch requests. 2661 NullFields []string `json:"-"` 2662 } 2663 2664 func (s *GoogleDevtoolsRemotebuildbotResourceUsageStat) MarshalJSON() ([]byte, error) { 2665 type NoMethod GoogleDevtoolsRemotebuildbotResourceUsageStat 2666 raw := NoMethod(*s) 2667 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2668 } 2669 2670 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig: 2671 // AcceleratorConfig defines the accelerator cards to attach to the VM. 2672 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig struct { 2673 // AcceleratorCount: The number of guest accelerator cards exposed to 2674 // each VM. 2675 AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"` 2676 2677 // AcceleratorType: The type of accelerator to attach to each VM, e.g. 2678 // "nvidia-tesla-k80" for nVidia Tesla K80. 2679 AcceleratorType string `json:"acceleratorType,omitempty"` 2680 2681 // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to 2682 // unconditionally include in API requests. By default, fields with 2683 // empty values are omitted from API requests. However, any non-pointer, 2684 // non-interface field appearing in ForceSendFields will be sent to the 2685 // server regardless of whether the field is empty or not. This may be 2686 // used to include empty fields in Patch requests. 2687 ForceSendFields []string `json:"-"` 2688 2689 // NullFields is a list of field names (e.g. "AcceleratorCount") to 2690 // include in API requests with the JSON null value. By default, fields 2691 // with empty values are omitted from API requests. However, any field 2692 // with an empty value appearing in NullFields will be sent to the 2693 // server as null. It is an error if a field in this list has a 2694 // non-empty value. This may be used to include null fields in Patch 2695 // requests. 2696 NullFields []string `json:"-"` 2697 } 2698 2699 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig) MarshalJSON() ([]byte, error) { 2700 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig 2701 raw := NoMethod(*s) 2702 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2703 } 2704 2705 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale: Autoscale 2706 // defines the autoscaling policy of a worker pool. 2707 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale struct { 2708 // MaxSize: The maximal number of workers. Must be equal to or greater 2709 // than min_size. 2710 MaxSize int64 `json:"maxSize,omitempty,string"` 2711 2712 // MinSize: The minimal number of workers. Must be greater than 0. 2713 MinSize int64 `json:"minSize,omitempty,string"` 2714 2715 // ForceSendFields is a list of field names (e.g. "MaxSize") to 2716 // unconditionally include in API requests. By default, fields with 2717 // empty values are omitted from API requests. However, any non-pointer, 2718 // non-interface field appearing in ForceSendFields will be sent to the 2719 // server regardless of whether the field is empty or not. This may be 2720 // used to include empty fields in Patch requests. 2721 ForceSendFields []string `json:"-"` 2722 2723 // NullFields is a list of field names (e.g. "MaxSize") to include in 2724 // API requests with the JSON null value. By default, fields with empty 2725 // values are omitted from API requests. However, any field with an 2726 // empty value appearing in NullFields will be sent to the server as 2727 // null. It is an error if a field in this list has a non-empty value. 2728 // This may be used to include null fields in Patch requests. 2729 NullFields []string `json:"-"` 2730 } 2731 2732 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale) MarshalJSON() ([]byte, error) { 2733 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale 2734 raw := NoMethod(*s) 2735 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2736 } 2737 2738 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest: 2739 // The request used for `CreateInstance`. 2740 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest struct { 2741 // Instance: Specifies the instance to create. The name in the instance, 2742 // if specified in the instance, is ignored. 2743 Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"` 2744 2745 // InstanceId: ID of the created instance. A valid `instance_id` must: 2746 // be 6-50 characters long, contain only lowercase letters, digits, 2747 // hyphens and underscores, start with a lowercase letter, and end with 2748 // a lowercase letter or a digit. 2749 InstanceId string `json:"instanceId,omitempty"` 2750 2751 // Parent: Resource name of the project containing the instance. Format: 2752 // `projects/[PROJECT_ID]`. 2753 Parent string `json:"parent,omitempty"` 2754 2755 // ForceSendFields is a list of field names (e.g. "Instance") to 2756 // unconditionally include in API requests. By default, fields with 2757 // empty values are omitted from API requests. However, any non-pointer, 2758 // non-interface field appearing in ForceSendFields will be sent to the 2759 // server regardless of whether the field is empty or not. This may be 2760 // used to include empty fields in Patch requests. 2761 ForceSendFields []string `json:"-"` 2762 2763 // NullFields is a list of field names (e.g. "Instance") to include in 2764 // API requests with the JSON null value. By default, fields with empty 2765 // values are omitted from API requests. However, any field with an 2766 // empty value appearing in NullFields will be sent to the server as 2767 // null. It is an error if a field in this list has a non-empty value. 2768 // This may be used to include null fields in Patch requests. 2769 NullFields []string `json:"-"` 2770 } 2771 2772 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest) MarshalJSON() ([]byte, error) { 2773 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest 2774 raw := NoMethod(*s) 2775 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2776 } 2777 2778 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest: 2779 // 2780 // The request used for `CreateWorkerPool`. 2781 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest struct { 2782 // Parent: Resource name of the instance in which to create the new 2783 // worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 2784 Parent string `json:"parent,omitempty"` 2785 2786 // PoolId: ID of the created worker pool. A valid pool ID must: be 6-50 2787 // characters long, contain only lowercase letters, digits, hyphens and 2788 // underscores, start with a lowercase letter, and end with a lowercase 2789 // letter or a digit. 2790 PoolId string `json:"poolId,omitempty"` 2791 2792 // WorkerPool: Specifies the worker pool to create. The name in the 2793 // worker pool, if specified, is ignored. 2794 WorkerPool *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPool,omitempty"` 2795 2796 // ForceSendFields is a list of field names (e.g. "Parent") to 2797 // unconditionally include in API requests. By default, fields with 2798 // empty values are omitted from API requests. However, any non-pointer, 2799 // non-interface field appearing in ForceSendFields will be sent to the 2800 // server regardless of whether the field is empty or not. This may be 2801 // used to include empty fields in Patch requests. 2802 ForceSendFields []string `json:"-"` 2803 2804 // NullFields is a list of field names (e.g. "Parent") to include in API 2805 // requests with the JSON null value. By default, fields with empty 2806 // values are omitted from API requests. However, any field with an 2807 // empty value appearing in NullFields will be sent to the server as 2808 // null. It is an error if a field in this list has a non-empty value. 2809 // This may be used to include null fields in Patch requests. 2810 NullFields []string `json:"-"` 2811 } 2812 2813 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest) MarshalJSON() ([]byte, error) { 2814 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest 2815 raw := NoMethod(*s) 2816 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2817 } 2818 2819 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest: 2820 // The request used for `DeleteInstance`. 2821 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest struct { 2822 // Name: Name of the instance to delete. Format: 2823 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 2824 Name string `json:"name,omitempty"` 2825 2826 // ForceSendFields is a list of field names (e.g. "Name") to 2827 // unconditionally include in API requests. By default, fields with 2828 // empty values are omitted from API requests. However, any non-pointer, 2829 // non-interface field appearing in ForceSendFields will be sent to the 2830 // server regardless of whether the field is empty or not. This may be 2831 // used to include empty fields in Patch requests. 2832 ForceSendFields []string `json:"-"` 2833 2834 // NullFields is a list of field names (e.g. "Name") to include in API 2835 // requests with the JSON null value. By default, fields with empty 2836 // values are omitted from API requests. However, any field with an 2837 // empty value appearing in NullFields will be sent to the server as 2838 // null. It is an error if a field in this list has a non-empty value. 2839 // This may be used to include null fields in Patch requests. 2840 NullFields []string `json:"-"` 2841 } 2842 2843 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest) MarshalJSON() ([]byte, error) { 2844 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest 2845 raw := NoMethod(*s) 2846 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2847 } 2848 2849 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest: 2850 // 2851 // The request used for DeleteWorkerPool. 2852 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest struct { 2853 // Name: Name of the worker pool to delete. Format: 2854 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. 2855 Name string `json:"name,omitempty"` 2856 2857 // ForceSendFields is a list of field names (e.g. "Name") to 2858 // unconditionally include in API requests. By default, fields with 2859 // empty values are omitted from API requests. However, any non-pointer, 2860 // non-interface field appearing in ForceSendFields will be sent to the 2861 // server regardless of whether the field is empty or not. This may be 2862 // used to include empty fields in Patch requests. 2863 ForceSendFields []string `json:"-"` 2864 2865 // NullFields is a list of field names (e.g. "Name") to include in API 2866 // requests with the JSON null value. By default, fields with empty 2867 // values are omitted from API requests. However, any field with an 2868 // empty value appearing in NullFields will be sent to the server as 2869 // null. It is an error if a field in this list has a non-empty value. 2870 // This may be used to include null fields in Patch requests. 2871 NullFields []string `json:"-"` 2872 } 2873 2874 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest) MarshalJSON() ([]byte, error) { 2875 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest 2876 raw := NoMethod(*s) 2877 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2878 } 2879 2880 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy: 2881 // FeaturePolicy defines features allowed to be used on RBE instances, 2882 // as well as instance-wide behavior changes that take effect without 2883 // opt-in or opt-out at usage time. 2884 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy struct { 2885 // ContainerImageSources: Which container image sources are allowed. 2886 // Currently only RBE-supported registry (gcr.io) is allowed. One can 2887 // allow all repositories under a project or one specific repository 2888 // only. E.g. container_image_sources { policy: RESTRICTED 2889 // allowed_values: [ "gcr.io/project-foo", 2890 // "gcr.io/project-bar/repo-baz", ] } will allow any repositories under 2891 // "gcr.io/project-foo" plus the repository 2892 // "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to 2893 // any source is allowed. 2894 ContainerImageSources *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"containerImageSources,omitempty"` 2895 2896 // DockerAddCapabilities: Whether dockerAddCapabilities can be used or 2897 // what capabilities are allowed. 2898 DockerAddCapabilities *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerAddCapabilities,omitempty"` 2899 2900 // DockerChrootPath: Whether dockerChrootPath can be used. 2901 DockerChrootPath *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerChrootPath,omitempty"` 2902 2903 // DockerNetwork: Whether dockerNetwork can be used or what network 2904 // modes are allowed. E.g. one may allow `off` value only via 2905 // `allowed_values`. 2906 DockerNetwork *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerNetwork,omitempty"` 2907 2908 // DockerPrivileged: Whether dockerPrivileged can be used. 2909 DockerPrivileged *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerPrivileged,omitempty"` 2910 2911 // DockerRunAsRoot: Whether dockerRunAsRoot can be used. 2912 DockerRunAsRoot *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRunAsRoot,omitempty"` 2913 2914 // DockerRuntime: Whether dockerRuntime is allowed to be set or what 2915 // runtimes are allowed. Note linux_isolation takes precedence, and if 2916 // set, docker_runtime values may be rejected if they are incompatible 2917 // with the selected isolation. 2918 DockerRuntime *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRuntime,omitempty"` 2919 2920 // DockerSiblingContainers: Whether dockerSiblingContainers can be used. 2921 DockerSiblingContainers *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerSiblingContainers,omitempty"` 2922 2923 // LinuxIsolation: linux_isolation allows overriding the docker runtime 2924 // used for containers started on Linux. 2925 // 2926 // Possible values: 2927 // "LINUX_ISOLATION_UNSPECIFIED" - Default value. Will be using Linux 2928 // default runtime. 2929 // "GVISOR" - Use gVisor runsc runtime. 2930 // "OFF" - Use stardard Linux runtime. This has the same behaviour as 2931 // unspecified, but it can be used to revert back from gVisor. 2932 LinuxIsolation string `json:"linuxIsolation,omitempty"` 2933 2934 // ForceSendFields is a list of field names (e.g. 2935 // "ContainerImageSources") to unconditionally include in API requests. 2936 // By default, fields with empty values are omitted from API requests. 2937 // However, any non-pointer, non-interface field appearing in 2938 // ForceSendFields will be sent to the server regardless of whether the 2939 // field is empty or not. This may be used to include empty fields in 2940 // Patch requests. 2941 ForceSendFields []string `json:"-"` 2942 2943 // NullFields is a list of field names (e.g. "ContainerImageSources") to 2944 // include in API requests with the JSON null value. By default, fields 2945 // with empty values are omitted from API requests. However, any field 2946 // with an empty value appearing in NullFields will be sent to the 2947 // server as null. It is an error if a field in this list has a 2948 // non-empty value. This may be used to include null fields in Patch 2949 // requests. 2950 NullFields []string `json:"-"` 2951 } 2952 2953 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy) MarshalJSON() ([]byte, error) { 2954 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy 2955 raw := NoMethod(*s) 2956 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2957 } 2958 2959 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature: 2960 // Defines whether a feature can be used or what values are accepted. 2961 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature struct { 2962 // AllowedValues: A list of acceptable values. Only effective when the 2963 // policy is `RESTRICTED`. 2964 AllowedValues []string `json:"allowedValues,omitempty"` 2965 2966 // Policy: The policy of the feature. 2967 // 2968 // Possible values: 2969 // "POLICY_UNSPECIFIED" - Default value, if not explicitly set. 2970 // Equivalent to FORBIDDEN, unless otherwise documented on a specific 2971 // Feature. 2972 // "ALLOWED" - Feature is explicitly allowed. 2973 // "FORBIDDEN" - Feature is forbidden. Requests attempting to leverage 2974 // it will get an FailedPrecondition error, with a message like: 2975 // "Feature forbidden by FeaturePolicy: Feature on instance " 2976 // "RESTRICTED" - Only the values specified in the `allowed_values` 2977 // are allowed. 2978 Policy string `json:"policy,omitempty"` 2979 2980 // ForceSendFields is a list of field names (e.g. "AllowedValues") to 2981 // unconditionally include in API requests. By default, fields with 2982 // empty values are omitted from API requests. However, any non-pointer, 2983 // non-interface field appearing in ForceSendFields will be sent to the 2984 // server regardless of whether the field is empty or not. This may be 2985 // used to include empty fields in Patch requests. 2986 ForceSendFields []string `json:"-"` 2987 2988 // NullFields is a list of field names (e.g. "AllowedValues") to include 2989 // in API requests with the JSON null value. By default, fields with 2990 // empty values are omitted from API requests. However, any field with 2991 // an empty value appearing in NullFields will be sent to the server as 2992 // null. It is an error if a field in this list has a non-empty value. 2993 // This may be used to include null fields in Patch requests. 2994 NullFields []string `json:"-"` 2995 } 2996 2997 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature) MarshalJSON() ([]byte, error) { 2998 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature 2999 raw := NoMethod(*s) 3000 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3001 } 3002 3003 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest: The 3004 // request used for `GetInstance`. 3005 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest struct { 3006 // Name: Name of the instance to retrieve. Format: 3007 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 3008 Name string `json:"name,omitempty"` 3009 3010 // ForceSendFields is a list of field names (e.g. "Name") to 3011 // unconditionally include in API requests. By default, fields with 3012 // empty values are omitted from API requests. However, any non-pointer, 3013 // non-interface field appearing in ForceSendFields will be sent to the 3014 // server regardless of whether the field is empty or not. This may be 3015 // used to include empty fields in Patch requests. 3016 ForceSendFields []string `json:"-"` 3017 3018 // NullFields is a list of field names (e.g. "Name") to include in API 3019 // requests with the JSON null value. By default, fields with empty 3020 // values are omitted from API requests. However, any field with an 3021 // empty value appearing in NullFields will be sent to the server as 3022 // null. It is an error if a field in this list has a non-empty value. 3023 // This may be used to include null fields in Patch requests. 3024 NullFields []string `json:"-"` 3025 } 3026 3027 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest) MarshalJSON() ([]byte, error) { 3028 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest 3029 raw := NoMethod(*s) 3030 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3031 } 3032 3033 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest: 3034 // The request used for GetWorkerPool. 3035 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest struct { 3036 // Name: Name of the worker pool to retrieve. Format: 3037 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. 3038 Name string `json:"name,omitempty"` 3039 3040 // ForceSendFields is a list of field names (e.g. "Name") to 3041 // unconditionally include in API requests. By default, fields with 3042 // empty values are omitted from API requests. However, any non-pointer, 3043 // non-interface field appearing in ForceSendFields will be sent to the 3044 // server regardless of whether the field is empty or not. This may be 3045 // used to include empty fields in Patch requests. 3046 ForceSendFields []string `json:"-"` 3047 3048 // NullFields is a list of field names (e.g. "Name") to include in API 3049 // requests with the JSON null value. By default, fields with empty 3050 // values are omitted from API requests. However, any field with an 3051 // empty value appearing in NullFields will be sent to the server as 3052 // null. It is an error if a field in this list has a non-empty value. 3053 // This may be used to include null fields in Patch requests. 3054 NullFields []string `json:"-"` 3055 } 3056 3057 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest) MarshalJSON() ([]byte, error) { 3058 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest 3059 raw := NoMethod(*s) 3060 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3061 } 3062 3063 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance: Instance 3064 // conceptually encapsulates all Remote Build Execution resources for 3065 // remote builds. An instance consists of storage and compute resources 3066 // (for example, `ContentAddressableStorage`, `ActionCache`, 3067 // `WorkerPools`) used for running remote builds. All Remote Build 3068 // Execution API calls are scoped to an instance. 3069 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance struct { 3070 // FeaturePolicy: The policy to define whether or not RBE features can 3071 // be used or how they can be used. 3072 FeaturePolicy *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy `json:"featurePolicy,omitempty"` 3073 3074 // Location: The location is a GCP region. Currently only `us-central1` 3075 // is supported. 3076 Location string `json:"location,omitempty"` 3077 3078 // LoggingEnabled: Output only. Whether stack driver logging is enabled 3079 // for the instance. 3080 LoggingEnabled bool `json:"loggingEnabled,omitempty"` 3081 3082 // Name: Output only. Instance resource name formatted as: 3083 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be 3084 // populated when creating an instance since it is provided in the 3085 // `instance_id` field. 3086 Name string `json:"name,omitempty"` 3087 3088 // State: Output only. State of the instance. 3089 // 3090 // Possible values: 3091 // "STATE_UNSPECIFIED" - Not a valid state, but the default value of 3092 // the enum. 3093 // "CREATING" - The instance is in state `CREATING` once 3094 // `CreateInstance` is called and before the instance is ready for use. 3095 // "RUNNING" - The instance is in state `RUNNING` when it is ready for 3096 // use. 3097 // "INACTIVE" - An `INACTIVE` instance indicates that there is a 3098 // problem that needs to be fixed. Such instances cannot be used for 3099 // execution and instances that remain in this state for a significant 3100 // period of time will be removed permanently. 3101 State string `json:"state,omitempty"` 3102 3103 // ForceSendFields is a list of field names (e.g. "FeaturePolicy") to 3104 // unconditionally include in API requests. By default, fields with 3105 // empty values are omitted from API requests. However, any non-pointer, 3106 // non-interface field appearing in ForceSendFields will be sent to the 3107 // server regardless of whether the field is empty or not. This may be 3108 // used to include empty fields in Patch requests. 3109 ForceSendFields []string `json:"-"` 3110 3111 // NullFields is a list of field names (e.g. "FeaturePolicy") to include 3112 // in API requests with the JSON null value. By default, fields with 3113 // empty values are omitted from API requests. However, any field with 3114 // an empty value appearing in NullFields will be sent to the server as 3115 // null. It is an error if a field in this list has a non-empty value. 3116 // This may be used to include null fields in Patch requests. 3117 NullFields []string `json:"-"` 3118 } 3119 3120 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance) MarshalJSON() ([]byte, error) { 3121 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance 3122 raw := NoMethod(*s) 3123 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3124 } 3125 3126 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest struct { 3127 // Parent: Resource name of the project. Format: 3128 // `projects/[PROJECT_ID]`. 3129 Parent string `json:"parent,omitempty"` 3130 3131 // ForceSendFields is a list of field names (e.g. "Parent") to 3132 // unconditionally include in API requests. By default, fields with 3133 // empty values are omitted from API requests. However, any non-pointer, 3134 // non-interface field appearing in ForceSendFields will be sent to the 3135 // server regardless of whether the field is empty or not. This may be 3136 // used to include empty fields in Patch requests. 3137 ForceSendFields []string `json:"-"` 3138 3139 // NullFields is a list of field names (e.g. "Parent") to include in API 3140 // requests with the JSON null value. By default, fields with empty 3141 // values are omitted from API requests. However, any field with an 3142 // empty value appearing in NullFields will be sent to the server as 3143 // null. It is an error if a field in this list has a non-empty value. 3144 // This may be used to include null fields in Patch requests. 3145 NullFields []string `json:"-"` 3146 } 3147 3148 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest) MarshalJSON() ([]byte, error) { 3149 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest 3150 raw := NoMethod(*s) 3151 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3152 } 3153 3154 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse struct { 3155 // Instances: The list of instances in a given project. 3156 Instances []*GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instances,omitempty"` 3157 3158 // ForceSendFields is a list of field names (e.g. "Instances") to 3159 // unconditionally include in API requests. By default, fields with 3160 // empty values are omitted from API requests. However, any non-pointer, 3161 // non-interface field appearing in ForceSendFields will be sent to the 3162 // server regardless of whether the field is empty or not. This may be 3163 // used to include empty fields in Patch requests. 3164 ForceSendFields []string `json:"-"` 3165 3166 // NullFields is a list of field names (e.g. "Instances") to include in 3167 // API requests with the JSON null value. By default, fields with empty 3168 // values are omitted from API requests. However, any field with an 3169 // empty value appearing in NullFields will be sent to the server as 3170 // null. It is an error if a field in this list has a non-empty value. 3171 // This may be used to include null fields in Patch requests. 3172 NullFields []string `json:"-"` 3173 } 3174 3175 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse) MarshalJSON() ([]byte, error) { 3176 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse 3177 raw := NoMethod(*s) 3178 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3179 } 3180 3181 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest struct { 3182 // Filter: Optional. A filter expression that filters resources listed 3183 // in the response. The expression must specify the field name, a 3184 // comparison operator, and the value that you want to use for 3185 // filtering. The value must be a string, a number, or a boolean. String 3186 // values are case-insensitive. The comparison operator must be either 3187 // `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` operator can be used 3188 // with string fields to match substrings. For non-string fields it is 3189 // equivalent to the `=` operator. The `:*` comparison can be used to 3190 // test whether a key has been defined. You can also filter on nested 3191 // fields. To filter on multiple expressions, you can separate 3192 // expression using `AND` and `OR` operators, using parentheses to 3193 // specify precedence. If neither operator is specified, `AND` is 3194 // assumed. Examples: Include only pools with more than 100 reserved 3195 // workers: `(worker_count > 100) (worker_config.reserved = true)` 3196 // Include only pools with a certain label or machines of the 3197 // e2-standard family: `worker_config.labels.key1 : * OR 3198 // worker_config.machine_type: e2-standard` 3199 Filter string `json:"filter,omitempty"` 3200 3201 // Parent: Resource name of the instance. Format: 3202 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 3203 Parent string `json:"parent,omitempty"` 3204 3205 // ForceSendFields is a list of field names (e.g. "Filter") to 3206 // unconditionally include in API requests. By default, fields with 3207 // empty values are omitted from API requests. However, any non-pointer, 3208 // non-interface field appearing in ForceSendFields will be sent to the 3209 // server regardless of whether the field is empty or not. This may be 3210 // used to include empty fields in Patch requests. 3211 ForceSendFields []string `json:"-"` 3212 3213 // NullFields is a list of field names (e.g. "Filter") to include in API 3214 // requests with the JSON null value. By default, fields with empty 3215 // values are omitted from API requests. However, any field with an 3216 // empty value appearing in NullFields will be sent to the server as 3217 // null. It is an error if a field in this list has a non-empty value. 3218 // This may be used to include null fields in Patch requests. 3219 NullFields []string `json:"-"` 3220 } 3221 3222 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest) MarshalJSON() ([]byte, error) { 3223 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest 3224 raw := NoMethod(*s) 3225 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3226 } 3227 3228 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse struct { 3229 // WorkerPools: The list of worker pools in a given instance. 3230 WorkerPools []*GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPools,omitempty"` 3231 3232 // ForceSendFields is a list of field names (e.g. "WorkerPools") to 3233 // unconditionally include in API requests. By default, fields with 3234 // empty values are omitted from API requests. However, any non-pointer, 3235 // non-interface field appearing in ForceSendFields will be sent to the 3236 // server regardless of whether the field is empty or not. This may be 3237 // used to include empty fields in Patch requests. 3238 ForceSendFields []string `json:"-"` 3239 3240 // NullFields is a list of field names (e.g. "WorkerPools") to include 3241 // in API requests with the JSON null value. By default, fields with 3242 // empty values are omitted from API requests. However, any field with 3243 // an empty value appearing in NullFields will be sent to the server as 3244 // null. It is an error if a field in this list has a non-empty value. 3245 // This may be used to include null fields in Patch requests. 3246 NullFields []string `json:"-"` 3247 } 3248 3249 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse) MarshalJSON() ([]byte, error) { 3250 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse 3251 raw := NoMethod(*s) 3252 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3253 } 3254 3255 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest: 3256 // The request used for `UpdateInstance`. 3257 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest struct { 3258 // Instance: Specifies the instance to update. 3259 Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"` 3260 3261 // LoggingEnabled: Deprecated, use instance.logging_enabled instead. 3262 // Whether to enable Stackdriver logging for this instance. 3263 LoggingEnabled bool `json:"loggingEnabled,omitempty"` 3264 3265 // Name: Deprecated, use instance.Name instead. Name of the instance to 3266 // update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 3267 Name string `json:"name,omitempty"` 3268 3269 // UpdateMask: The update mask applies to instance. For the `FieldMask` 3270 // definition, see 3271 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask 3272 // If an empty update_mask is provided, only the non-default valued 3273 // field in the worker pool field will be updated. Note that in order to 3274 // update a field to the default value (zero, false, empty string) an 3275 // explicit update_mask must be provided. 3276 UpdateMask string `json:"updateMask,omitempty"` 3277 3278 // ForceSendFields is a list of field names (e.g. "Instance") to 3279 // unconditionally include in API requests. By default, fields with 3280 // empty values are omitted from API requests. However, any non-pointer, 3281 // non-interface field appearing in ForceSendFields will be sent to the 3282 // server regardless of whether the field is empty or not. This may be 3283 // used to include empty fields in Patch requests. 3284 ForceSendFields []string `json:"-"` 3285 3286 // NullFields is a list of field names (e.g. "Instance") to include in 3287 // API requests with the JSON null value. By default, fields with empty 3288 // values are omitted from API requests. However, any field with an 3289 // empty value appearing in NullFields will be sent to the server as 3290 // null. It is an error if a field in this list has a non-empty value. 3291 // This may be used to include null fields in Patch requests. 3292 NullFields []string `json:"-"` 3293 } 3294 3295 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest) MarshalJSON() ([]byte, error) { 3296 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest 3297 raw := NoMethod(*s) 3298 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3299 } 3300 3301 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest: 3302 // 3303 // The request used for UpdateWorkerPool. 3304 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest struct { 3305 // UpdateMask: The update mask applies to worker_pool. For the 3306 // `FieldMask` definition, see 3307 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask 3308 // If an empty update_mask is provided, only the non-default valued 3309 // field in the worker pool field will be updated. Note that in order to 3310 // update a field to the default value (zero, false, empty string) an 3311 // explicit update_mask must be provided. 3312 UpdateMask string `json:"updateMask,omitempty"` 3313 3314 // WorkerPool: Specifies the worker pool to update. 3315 WorkerPool *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPool,omitempty"` 3316 3317 // ForceSendFields is a list of field names (e.g. "UpdateMask") to 3318 // unconditionally include in API requests. By default, fields with 3319 // empty values are omitted from API requests. However, any non-pointer, 3320 // non-interface field appearing in ForceSendFields will be sent to the 3321 // server regardless of whether the field is empty or not. This may be 3322 // used to include empty fields in Patch requests. 3323 ForceSendFields []string `json:"-"` 3324 3325 // NullFields is a list of field names (e.g. "UpdateMask") to include in 3326 // API requests with the JSON null value. By default, fields with empty 3327 // values are omitted from API requests. However, any field with an 3328 // empty value appearing in NullFields will be sent to the server as 3329 // null. It is an error if a field in this list has a non-empty value. 3330 // This may be used to include null fields in Patch requests. 3331 NullFields []string `json:"-"` 3332 } 3333 3334 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest) MarshalJSON() ([]byte, error) { 3335 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest 3336 raw := NoMethod(*s) 3337 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3338 } 3339 3340 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig: Defines 3341 // the configuration to be used for creating workers in the worker pool. 3342 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig struct { 3343 // Accelerator: The accelerator card attached to each VM. 3344 Accelerator *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig `json:"accelerator,omitempty"` 3345 3346 // DiskSizeGb: Required. Size of the disk attached to the worker, in GB. 3347 // See https://cloud.google.com/compute/docs/disks/ 3348 DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"` 3349 3350 // DiskType: Required. Disk Type to use for the worker. See Storage 3351 // options (https://cloud.google.com/compute/docs/disks/#introduction). 3352 // Currently only `pd-standard` and `pd-ssd` are supported. 3353 DiskType string `json:"diskType,omitempty"` 3354 3355 // Labels: Labels associated with the workers. Label keys and values can 3356 // be no longer than 63 characters, can only contain lowercase letters, 3357 // numeric characters, underscores and dashes. International letters are 3358 // permitted. Label keys must start with a letter. Label values are 3359 // optional. There can not be more than 64 labels per resource. 3360 Labels map[string]string `json:"labels,omitempty"` 3361 3362 // MachineType: Required. Machine type of the worker, such as 3363 // `e2-standard-2`. See 3364 // https://cloud.google.com/compute/docs/machine-types for a list of 3365 // supported machine types. Note that `f1-micro` and `g1-small` are not 3366 // yet supported. 3367 MachineType string `json:"machineType,omitempty"` 3368 3369 // MaxConcurrentActions: The maximum number of actions a worker can 3370 // execute concurrently. 3371 MaxConcurrentActions int64 `json:"maxConcurrentActions,omitempty,string"` 3372 3373 // MinCpuPlatform: Minimum CPU platform to use when creating the worker. 3374 // See CPU Platforms 3375 // (https://cloud.google.com/compute/docs/cpu-platforms). 3376 MinCpuPlatform string `json:"minCpuPlatform,omitempty"` 3377 3378 // NetworkAccess: Determines the type of network access granted to 3379 // workers. Possible values: - "public": Workers can connect to the 3380 // public internet. - "private": Workers can only connect to Google APIs 3381 // and services. - "restricted-private": Workers can only connect to 3382 // Google APIs that are reachable through `restricted.googleapis.com` 3383 // (`199.36.153.4/30`). 3384 NetworkAccess string `json:"networkAccess,omitempty"` 3385 3386 // Reserved: Determines whether the worker is reserved (equivalent to a 3387 // Compute Engine on-demand VM and therefore won't be preempted). See 3388 // Preemptible VMs (https://cloud.google.com/preemptible-vms/) for more 3389 // details. 3390 Reserved bool `json:"reserved,omitempty"` 3391 3392 // SoleTenantNodeType: The node type name to be used for sole-tenant 3393 // nodes. 3394 SoleTenantNodeType string `json:"soleTenantNodeType,omitempty"` 3395 3396 // VmImage: The name of the image used by each VM. 3397 VmImage string `json:"vmImage,omitempty"` 3398 3399 // ForceSendFields is a list of field names (e.g. "Accelerator") to 3400 // unconditionally include in API requests. By default, fields with 3401 // empty values are omitted from API requests. However, any non-pointer, 3402 // non-interface field appearing in ForceSendFields will be sent to the 3403 // server regardless of whether the field is empty or not. This may be 3404 // used to include empty fields in Patch requests. 3405 ForceSendFields []string `json:"-"` 3406 3407 // NullFields is a list of field names (e.g. "Accelerator") to include 3408 // in API requests with the JSON null value. By default, fields with 3409 // empty values are omitted from API requests. However, any field with 3410 // an empty value appearing in NullFields will be sent to the server as 3411 // null. It is an error if a field in this list has a non-empty value. 3412 // This may be used to include null fields in Patch requests. 3413 NullFields []string `json:"-"` 3414 } 3415 3416 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig) MarshalJSON() ([]byte, error) { 3417 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig 3418 raw := NoMethod(*s) 3419 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3420 } 3421 3422 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool: A worker 3423 // pool resource in the Remote Build Execution API. 3424 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool struct { 3425 // Autoscale: The autoscale policy to apply on a pool. 3426 Autoscale *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale `json:"autoscale,omitempty"` 3427 3428 // Channel: Channel specifies the release channel of the pool. 3429 Channel string `json:"channel,omitempty"` 3430 3431 // Name: WorkerPool resource name formatted as: 3432 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. 3433 // name should not be populated when creating a worker pool since it is 3434 // provided in the `poolId` field. 3435 Name string `json:"name,omitempty"` 3436 3437 // State: Output only. State of the worker pool. 3438 // 3439 // Possible values: 3440 // "STATE_UNSPECIFIED" - Not a valid state, but the default value of 3441 // the enum. 3442 // "CREATING" - The worker pool is in state `CREATING` once 3443 // `CreateWorkerPool` is called and before all requested workers are 3444 // ready. 3445 // "RUNNING" - The worker pool is in state `RUNNING` when all its 3446 // workers are ready for use. 3447 // "UPDATING" - The worker pool is in state `UPDATING` once 3448 // `UpdateWorkerPool` is called and before the new configuration has all 3449 // the requested workers ready for use, and no older configuration has 3450 // any workers. At that point the state transitions to `RUNNING`. 3451 // "DELETING" - The worker pool is in state `DELETING` once the 3452 // `Delete` method is called and before the deletion completes. 3453 // "INACTIVE" - The worker pool is in state `INACTIVE` when the 3454 // instance hosting the worker pool in not running. 3455 State string `json:"state,omitempty"` 3456 3457 // WorkerConfig: Specifies the properties, such as machine type and disk 3458 // size, used for creating workers in a worker pool. 3459 WorkerConfig *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig `json:"workerConfig,omitempty"` 3460 3461 // WorkerCount: The desired number of workers in the worker pool. Must 3462 // be a value between 0 and 15000. 3463 WorkerCount int64 `json:"workerCount,omitempty,string"` 3464 3465 // ForceSendFields is a list of field names (e.g. "Autoscale") to 3466 // unconditionally include in API requests. By default, fields with 3467 // empty values are omitted from API requests. However, any non-pointer, 3468 // non-interface field appearing in ForceSendFields will be sent to the 3469 // server regardless of whether the field is empty or not. This may be 3470 // used to include empty fields in Patch requests. 3471 ForceSendFields []string `json:"-"` 3472 3473 // NullFields is a list of field names (e.g. "Autoscale") to include in 3474 // API requests with the JSON null value. By default, fields with empty 3475 // values are omitted from API requests. However, any field with an 3476 // empty value appearing in NullFields will be sent to the server as 3477 // null. It is an error if a field in this list has a non-empty value. 3478 // This may be used to include null fields in Patch requests. 3479 NullFields []string `json:"-"` 3480 } 3481 3482 func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool) MarshalJSON() ([]byte, error) { 3483 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool 3484 raw := NoMethod(*s) 3485 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3486 } 3487 3488 // GoogleDevtoolsRemoteworkersV1test2AdminTemp: AdminTemp is a 3489 // prelimiary set of administration tasks. It's called "Temp" because we 3490 // do not yet know the best way to represent admin tasks; it's possible 3491 // that this will be entirely replaced in later versions of this API. If 3492 // this message proves to be sufficient, it will be renamed in the alpha 3493 // or beta release of this API. This message (suitably marshalled into a 3494 // protobuf.Any) can be used as the inline_assignment field in a lease; 3495 // the lease assignment field should simply be "admin" in these cases. 3496 // This message is heavily based on Swarming administration tasks from 3497 // the LUCI project (http://github.com/luci/luci-py/appengine/swarming). 3498 type GoogleDevtoolsRemoteworkersV1test2AdminTemp struct { 3499 // Arg: The argument to the admin action; see `Command` for semantics. 3500 Arg string `json:"arg,omitempty"` 3501 3502 // Command: The admin action; see `Command` for legal values. 3503 // 3504 // Possible values: 3505 // "UNSPECIFIED" - Illegal value. 3506 // "BOT_UPDATE" - Download and run a new version of the bot. `arg` 3507 // will be a resource accessible via `ByteStream.Read` to obtain the new 3508 // bot code. 3509 // "BOT_RESTART" - Restart the bot without downloading a new version. 3510 // `arg` will be a message to log. 3511 // "BOT_TERMINATE" - Shut down the bot. `arg` will be a task resource 3512 // name (similar to those in tasks.proto) that the bot can use to tell 3513 // the server that it is terminating. 3514 // "HOST_RESTART" - Restart the host computer. `arg` will be a message 3515 // to log. 3516 Command string `json:"command,omitempty"` 3517 3518 // ForceSendFields is a list of field names (e.g. "Arg") to 3519 // unconditionally include in API requests. By default, fields with 3520 // empty values are omitted from API requests. However, any non-pointer, 3521 // non-interface field appearing in ForceSendFields will be sent to the 3522 // server regardless of whether the field is empty or not. This may be 3523 // used to include empty fields in Patch requests. 3524 ForceSendFields []string `json:"-"` 3525 3526 // NullFields is a list of field names (e.g. "Arg") to include in API 3527 // requests with the JSON null value. By default, fields with empty 3528 // values are omitted from API requests. However, any field with an 3529 // empty value appearing in NullFields will be sent to the server as 3530 // null. It is an error if a field in this list has a non-empty value. 3531 // This may be used to include null fields in Patch requests. 3532 NullFields []string `json:"-"` 3533 } 3534 3535 func (s *GoogleDevtoolsRemoteworkersV1test2AdminTemp) MarshalJSON() ([]byte, error) { 3536 type NoMethod GoogleDevtoolsRemoteworkersV1test2AdminTemp 3537 raw := NoMethod(*s) 3538 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3539 } 3540 3541 // GoogleDevtoolsRemoteworkersV1test2Blob: Describes a blob of binary 3542 // content with its digest. 3543 type GoogleDevtoolsRemoteworkersV1test2Blob struct { 3544 // Contents: The contents of the blob. 3545 Contents string `json:"contents,omitempty"` 3546 3547 // Digest: The digest of the blob. This should be verified by the 3548 // receiver. 3549 Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"` 3550 3551 // ForceSendFields is a list of field names (e.g. "Contents") to 3552 // unconditionally include in API requests. By default, fields with 3553 // empty values are omitted from API requests. However, any non-pointer, 3554 // non-interface field appearing in ForceSendFields will be sent to the 3555 // server regardless of whether the field is empty or not. This may be 3556 // used to include empty fields in Patch requests. 3557 ForceSendFields []string `json:"-"` 3558 3559 // NullFields is a list of field names (e.g. "Contents") to include in 3560 // API requests with the JSON null value. By default, fields with empty 3561 // values are omitted from API requests. However, any field with an 3562 // empty value appearing in NullFields will be sent to the server as 3563 // null. It is an error if a field in this list has a non-empty value. 3564 // This may be used to include null fields in Patch requests. 3565 NullFields []string `json:"-"` 3566 } 3567 3568 func (s *GoogleDevtoolsRemoteworkersV1test2Blob) MarshalJSON() ([]byte, error) { 3569 type NoMethod GoogleDevtoolsRemoteworkersV1test2Blob 3570 raw := NoMethod(*s) 3571 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3572 } 3573 3574 // GoogleDevtoolsRemoteworkersV1test2CommandOutputs: DEPRECATED - use 3575 // CommandResult instead. Describes the actual outputs from the task. 3576 type GoogleDevtoolsRemoteworkersV1test2CommandOutputs struct { 3577 // ExitCode: exit_code is only fully reliable if the status' code is OK. 3578 // If the task exceeded its deadline or was cancelled, the process may 3579 // still produce an exit code as it is cancelled, and this will be 3580 // populated, but a successful (zero) is unlikely to be correct unless 3581 // the status code is OK. 3582 ExitCode int64 `json:"exitCode,omitempty"` 3583 3584 // Outputs: The output files. The blob referenced by the digest should 3585 // contain one of the following (implementation-dependent): * A 3586 // marshalled DirectoryMetadata of the returned filesystem * A 3587 // LUCI-style .isolated file 3588 Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"` 3589 3590 // ForceSendFields is a list of field names (e.g. "ExitCode") to 3591 // unconditionally include in API requests. By default, fields with 3592 // empty values are omitted from API requests. However, any non-pointer, 3593 // non-interface field appearing in ForceSendFields will be sent to the 3594 // server regardless of whether the field is empty or not. This may be 3595 // used to include empty fields in Patch requests. 3596 ForceSendFields []string `json:"-"` 3597 3598 // NullFields is a list of field names (e.g. "ExitCode") to include in 3599 // API requests with the JSON null value. By default, fields with empty 3600 // values are omitted from API requests. However, any field with an 3601 // empty value appearing in NullFields will be sent to the server as 3602 // null. It is an error if a field in this list has a non-empty value. 3603 // This may be used to include null fields in Patch requests. 3604 NullFields []string `json:"-"` 3605 } 3606 3607 func (s *GoogleDevtoolsRemoteworkersV1test2CommandOutputs) MarshalJSON() ([]byte, error) { 3608 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandOutputs 3609 raw := NoMethod(*s) 3610 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3611 } 3612 3613 // GoogleDevtoolsRemoteworkersV1test2CommandOverhead: DEPRECATED - use 3614 // CommandResult instead. Can be used as part of 3615 // CompleteRequest.metadata, or are part of a more sophisticated 3616 // message. 3617 type GoogleDevtoolsRemoteworkersV1test2CommandOverhead struct { 3618 // Duration: The elapsed time between calling Accept and Complete. The 3619 // server will also have its own idea of what this should be, but this 3620 // excludes the overhead of the RPCs and the bot response time. 3621 Duration string `json:"duration,omitempty"` 3622 3623 // Overhead: The amount of time *not* spent executing the command (ie 3624 // uploading/downloading files). 3625 Overhead string `json:"overhead,omitempty"` 3626 3627 // ForceSendFields is a list of field names (e.g. "Duration") to 3628 // unconditionally include in API requests. By default, fields with 3629 // empty values are omitted from API requests. However, any non-pointer, 3630 // non-interface field appearing in ForceSendFields will be sent to the 3631 // server regardless of whether the field is empty or not. This may be 3632 // used to include empty fields in Patch requests. 3633 ForceSendFields []string `json:"-"` 3634 3635 // NullFields is a list of field names (e.g. "Duration") to include in 3636 // API requests with the JSON null value. By default, fields with empty 3637 // values are omitted from API requests. However, any field with an 3638 // empty value appearing in NullFields will be sent to the server as 3639 // null. It is an error if a field in this list has a non-empty value. 3640 // This may be used to include null fields in Patch requests. 3641 NullFields []string `json:"-"` 3642 } 3643 3644 func (s *GoogleDevtoolsRemoteworkersV1test2CommandOverhead) MarshalJSON() ([]byte, error) { 3645 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandOverhead 3646 raw := NoMethod(*s) 3647 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3648 } 3649 3650 // GoogleDevtoolsRemoteworkersV1test2CommandResult: All information 3651 // about the execution of a command, suitable for providing as the Bots 3652 // interface's `Lease.result` field. 3653 type GoogleDevtoolsRemoteworkersV1test2CommandResult struct { 3654 // Duration: The elapsed time between calling Accept and Complete. The 3655 // server will also have its own idea of what this should be, but this 3656 // excludes the overhead of the RPCs and the bot response time. 3657 Duration string `json:"duration,omitempty"` 3658 3659 // ExitCode: The exit code of the process. An exit code of "0" should 3660 // only be trusted if `status` has a code of OK (otherwise it may simply 3661 // be unset). 3662 ExitCode int64 `json:"exitCode,omitempty"` 3663 3664 // Metadata: Implementation-dependent metadata about the task. Both 3665 // servers and bots may define messages which can be encoded here; bots 3666 // are free to provide metadata in multiple formats, and servers are 3667 // free to choose one or more of the values to process and ignore 3668 // others. In particular, it is *not* considered an error for the bot to 3669 // provide the server with a field that it doesn't know about. 3670 Metadata []googleapi.RawMessage `json:"metadata,omitempty"` 3671 3672 // Outputs: The output files. The blob referenced by the digest should 3673 // contain one of the following (implementation-dependent): * A 3674 // marshalled DirectoryMetadata of the returned filesystem * A 3675 // LUCI-style .isolated file 3676 Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"` 3677 3678 // Overhead: The amount of time *not* spent executing the command (ie 3679 // uploading/downloading files). 3680 Overhead string `json:"overhead,omitempty"` 3681 3682 // Status: An overall status for the command. For example, if the 3683 // command timed out, this might have a code of DEADLINE_EXCEEDED; if it 3684 // was killed by the OS for memory exhaustion, it might have a code of 3685 // RESOURCE_EXHAUSTED. 3686 Status *GoogleRpcStatus `json:"status,omitempty"` 3687 3688 // ForceSendFields is a list of field names (e.g. "Duration") to 3689 // unconditionally include in API requests. By default, fields with 3690 // empty values are omitted from API requests. However, any non-pointer, 3691 // non-interface field appearing in ForceSendFields will be sent to the 3692 // server regardless of whether the field is empty or not. This may be 3693 // used to include empty fields in Patch requests. 3694 ForceSendFields []string `json:"-"` 3695 3696 // NullFields is a list of field names (e.g. "Duration") to include in 3697 // API requests with the JSON null value. By default, fields with empty 3698 // values are omitted from API requests. However, any field with an 3699 // empty value appearing in NullFields will be sent to the server as 3700 // null. It is an error if a field in this list has a non-empty value. 3701 // This may be used to include null fields in Patch requests. 3702 NullFields []string `json:"-"` 3703 } 3704 3705 func (s *GoogleDevtoolsRemoteworkersV1test2CommandResult) MarshalJSON() ([]byte, error) { 3706 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandResult 3707 raw := NoMethod(*s) 3708 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3709 } 3710 3711 // GoogleDevtoolsRemoteworkersV1test2CommandTask: Describes a 3712 // shell-style task to execute, suitable for providing as the Bots 3713 // interface's `Lease.payload` field. 3714 type GoogleDevtoolsRemoteworkersV1test2CommandTask struct { 3715 // ExpectedOutputs: The expected outputs from the task. 3716 ExpectedOutputs *GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs `json:"expectedOutputs,omitempty"` 3717 3718 // Inputs: The inputs to the task. 3719 Inputs *GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs `json:"inputs,omitempty"` 3720 3721 // Timeouts: The timeouts of this task. 3722 Timeouts *GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts `json:"timeouts,omitempty"` 3723 3724 // ForceSendFields is a list of field names (e.g. "ExpectedOutputs") to 3725 // unconditionally include in API requests. By default, fields with 3726 // empty values are omitted from API requests. However, any non-pointer, 3727 // non-interface field appearing in ForceSendFields will be sent to the 3728 // server regardless of whether the field is empty or not. This may be 3729 // used to include empty fields in Patch requests. 3730 ForceSendFields []string `json:"-"` 3731 3732 // NullFields is a list of field names (e.g. "ExpectedOutputs") to 3733 // include in API requests with the JSON null value. By default, fields 3734 // with empty values are omitted from API requests. However, any field 3735 // with an empty value appearing in NullFields will be sent to the 3736 // server as null. It is an error if a field in this list has a 3737 // non-empty value. This may be used to include null fields in Patch 3738 // requests. 3739 NullFields []string `json:"-"` 3740 } 3741 3742 func (s *GoogleDevtoolsRemoteworkersV1test2CommandTask) MarshalJSON() ([]byte, error) { 3743 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTask 3744 raw := NoMethod(*s) 3745 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3746 } 3747 3748 // GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs: Describes the 3749 // inputs to a shell-style task. 3750 type GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs struct { 3751 // Arguments: The command itself to run (e.g., argv). This field should 3752 // be passed directly to the underlying operating system, and so it must 3753 // be sensible to that operating system. For example, on Windows, the 3754 // first argument might be "C:\Windows\System32\ping.exe" - that is, 3755 // using drive letters and backslashes. A command for a *nix system, on 3756 // the other hand, would use forward slashes. All other fields in the 3757 // RWAPI must consistently use forward slashes, since those fields may 3758 // be interpretted by both the service and the bot. 3759 Arguments []string `json:"arguments,omitempty"` 3760 3761 // EnvironmentVariables: All environment variables required by the task. 3762 EnvironmentVariables []*GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable `json:"environmentVariables,omitempty"` 3763 3764 // Files: The input filesystem to be set up prior to the task beginning. 3765 // The contents should be a repeated set of FileMetadata messages though 3766 // other formats are allowed if better for the implementation (eg, a 3767 // LUCI-style .isolated file). This field is repeated since 3768 // implementations might want to cache the metadata, in which case it 3769 // may be useful to break up portions of the filesystem that change 3770 // frequently (eg, specific input files) from those that don't (eg, 3771 // standard header files). 3772 Files []*GoogleDevtoolsRemoteworkersV1test2Digest `json:"files,omitempty"` 3773 3774 // InlineBlobs: Inline contents for blobs expected to be needed by the 3775 // bot to execute the task. For example, contents of entries in `files` 3776 // or blobs that are indirectly referenced by an entry there. The bot 3777 // should check against this list before downloading required task 3778 // inputs to reduce the number of communications between itself and the 3779 // remote CAS server. 3780 InlineBlobs []*GoogleDevtoolsRemoteworkersV1test2Blob `json:"inlineBlobs,omitempty"` 3781 3782 // WorkingDirectory: Directory from which a command is executed. It is a 3783 // relative directory with respect to the bot's working directory (i.e., 3784 // "./"). If it is non-empty, then it must exist under "./". Otherwise, 3785 // "./" will be used. 3786 WorkingDirectory string `json:"workingDirectory,omitempty"` 3787 3788 // ForceSendFields is a list of field names (e.g. "Arguments") to 3789 // unconditionally include in API requests. By default, fields with 3790 // empty values are omitted from API requests. However, any non-pointer, 3791 // non-interface field appearing in ForceSendFields will be sent to the 3792 // server regardless of whether the field is empty or not. This may be 3793 // used to include empty fields in Patch requests. 3794 ForceSendFields []string `json:"-"` 3795 3796 // NullFields is a list of field names (e.g. "Arguments") to include in 3797 // API requests with the JSON null value. By default, fields with empty 3798 // values are omitted from API requests. However, any field with an 3799 // empty value appearing in NullFields will be sent to the server as 3800 // null. It is an error if a field in this list has a non-empty value. 3801 // This may be used to include null fields in Patch requests. 3802 NullFields []string `json:"-"` 3803 } 3804 3805 func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs) MarshalJSON() ([]byte, error) { 3806 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs 3807 raw := NoMethod(*s) 3808 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3809 } 3810 3811 // GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable 3812 // : An environment variable required by this task. 3813 type GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable struct { 3814 // Name: The envvar name. 3815 Name string `json:"name,omitempty"` 3816 3817 // Value: The envvar value. 3818 Value string `json:"value,omitempty"` 3819 3820 // ForceSendFields is a list of field names (e.g. "Name") to 3821 // unconditionally include in API requests. By default, fields with 3822 // empty values are omitted from API requests. However, any non-pointer, 3823 // non-interface field appearing in ForceSendFields will be sent to the 3824 // server regardless of whether the field is empty or not. This may be 3825 // used to include empty fields in Patch requests. 3826 ForceSendFields []string `json:"-"` 3827 3828 // NullFields is a list of field names (e.g. "Name") to include in API 3829 // requests with the JSON null value. By default, fields with empty 3830 // values are omitted from API requests. However, any field with an 3831 // empty value appearing in NullFields will be sent to the server as 3832 // null. It is an error if a field in this list has a non-empty value. 3833 // This may be used to include null fields in Patch requests. 3834 NullFields []string `json:"-"` 3835 } 3836 3837 func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable) MarshalJSON() ([]byte, error) { 3838 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable 3839 raw := NoMethod(*s) 3840 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3841 } 3842 3843 // GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs: Describes the 3844 // expected outputs of the command. 3845 type GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs struct { 3846 // Directories: A list of expected directories, relative to the 3847 // execution root. All paths MUST be delimited by forward slashes. 3848 Directories []string `json:"directories,omitempty"` 3849 3850 // Files: A list of expected files, relative to the execution root. All 3851 // paths MUST be delimited by forward slashes. 3852 Files []string `json:"files,omitempty"` 3853 3854 // StderrDestination: The destination to which any stderr should be 3855 // sent. The method by which the bot should send the stream contents to 3856 // that destination is not defined in this API. As examples, the 3857 // destination could be a file referenced in the `files` field in this 3858 // message, or it could be a URI that must be written via the ByteStream 3859 // API. 3860 StderrDestination string `json:"stderrDestination,omitempty"` 3861 3862 // StdoutDestination: The destination to which any stdout should be 3863 // sent. The method by which the bot should send the stream contents to 3864 // that destination is not defined in this API. As examples, the 3865 // destination could be a file referenced in the `files` field in this 3866 // message, or it could be a URI that must be written via the ByteStream 3867 // API. 3868 StdoutDestination string `json:"stdoutDestination,omitempty"` 3869 3870 // ForceSendFields is a list of field names (e.g. "Directories") to 3871 // unconditionally include in API requests. By default, fields with 3872 // empty values are omitted from API requests. However, any non-pointer, 3873 // non-interface field appearing in ForceSendFields will be sent to the 3874 // server regardless of whether the field is empty or not. This may be 3875 // used to include empty fields in Patch requests. 3876 ForceSendFields []string `json:"-"` 3877 3878 // NullFields is a list of field names (e.g. "Directories") to include 3879 // in API requests with the JSON null value. By default, fields with 3880 // empty values are omitted from API requests. However, any field with 3881 // an empty value appearing in NullFields will be sent to the server as 3882 // null. It is an error if a field in this list has a non-empty value. 3883 // This may be used to include null fields in Patch requests. 3884 NullFields []string `json:"-"` 3885 } 3886 3887 func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs) MarshalJSON() ([]byte, error) { 3888 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs 3889 raw := NoMethod(*s) 3890 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3891 } 3892 3893 // GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts: Describes the 3894 // timeouts associated with this task. 3895 type GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts struct { 3896 // Execution: This specifies the maximum time that the task can run, 3897 // excluding the time required to download inputs or upload outputs. 3898 // That is, the worker will terminate the task if it runs longer than 3899 // this. 3900 Execution string `json:"execution,omitempty"` 3901 3902 // Idle: This specifies the maximum amount of time the task can be idle 3903 // - that is, go without generating some output in either stdout or 3904 // stderr. If the process is silent for more than the specified time, 3905 // the worker will terminate the task. 3906 Idle string `json:"idle,omitempty"` 3907 3908 // Shutdown: If the execution or IO timeouts are exceeded, the worker 3909 // will try to gracefully terminate the task and return any existing 3910 // logs. However, tasks may be hard-frozen in which case this process 3911 // will fail. This timeout specifies how long to wait for a terminated 3912 // task to shut down gracefully (e.g. via SIGTERM) before we bring down 3913 // the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows). 3914 Shutdown string `json:"shutdown,omitempty"` 3915 3916 // ForceSendFields is a list of field names (e.g. "Execution") to 3917 // unconditionally include in API requests. By default, fields with 3918 // empty values are omitted from API requests. However, any non-pointer, 3919 // non-interface field appearing in ForceSendFields will be sent to the 3920 // server regardless of whether the field is empty or not. This may be 3921 // used to include empty fields in Patch requests. 3922 ForceSendFields []string `json:"-"` 3923 3924 // NullFields is a list of field names (e.g. "Execution") to include in 3925 // API requests with the JSON null value. By default, fields with empty 3926 // values are omitted from API requests. However, any field with an 3927 // empty value appearing in NullFields will be sent to the server as 3928 // null. It is an error if a field in this list has a non-empty value. 3929 // This may be used to include null fields in Patch requests. 3930 NullFields []string `json:"-"` 3931 } 3932 3933 func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts) MarshalJSON() ([]byte, error) { 3934 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts 3935 raw := NoMethod(*s) 3936 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3937 } 3938 3939 // GoogleDevtoolsRemoteworkersV1test2Digest: The CommandTask and 3940 // CommandResult messages assume the existence of a service that can 3941 // serve blobs of content, identified by a hash and size known as a 3942 // "digest." The method by which these blobs may be retrieved is not 3943 // specified here, but a model implementation is in the Remote Execution 3944 // API's "ContentAddressibleStorage" interface. In the context of the 3945 // RWAPI, a Digest will virtually always refer to the contents of a file 3946 // or a directory. The latter is represented by the byte-encoded 3947 // Directory message. 3948 type GoogleDevtoolsRemoteworkersV1test2Digest struct { 3949 // Hash: A string-encoded hash (eg "1a2b3c", not the byte array [0x1a, 3950 // 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg 3951 // SHA-256). 3952 Hash string `json:"hash,omitempty"` 3953 3954 // SizeBytes: The size of the contents. While this is not strictly 3955 // required as part of an identifier (after all, any given hash will 3956 // have exactly one canonical size), it's useful in almost all cases 3957 // when one might want to send or retrieve blobs of content and is 3958 // included here for this reason. 3959 SizeBytes int64 `json:"sizeBytes,omitempty,string"` 3960 3961 // ForceSendFields is a list of field names (e.g. "Hash") to 3962 // unconditionally include in API requests. By default, fields with 3963 // empty values are omitted from API requests. However, any non-pointer, 3964 // non-interface field appearing in ForceSendFields will be sent to the 3965 // server regardless of whether the field is empty or not. This may be 3966 // used to include empty fields in Patch requests. 3967 ForceSendFields []string `json:"-"` 3968 3969 // NullFields is a list of field names (e.g. "Hash") to include in API 3970 // requests with the JSON null value. By default, fields with empty 3971 // values are omitted from API requests. However, any field with an 3972 // empty value appearing in NullFields will be sent to the server as 3973 // null. It is an error if a field in this list has a non-empty value. 3974 // This may be used to include null fields in Patch requests. 3975 NullFields []string `json:"-"` 3976 } 3977 3978 func (s *GoogleDevtoolsRemoteworkersV1test2Digest) MarshalJSON() ([]byte, error) { 3979 type NoMethod GoogleDevtoolsRemoteworkersV1test2Digest 3980 raw := NoMethod(*s) 3981 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3982 } 3983 3984 // GoogleDevtoolsRemoteworkersV1test2Directory: The contents of a 3985 // directory. Similar to the equivalent message in the Remote Execution 3986 // API. 3987 type GoogleDevtoolsRemoteworkersV1test2Directory struct { 3988 // Directories: Any subdirectories 3989 Directories []*GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata `json:"directories,omitempty"` 3990 3991 // Files: The files in this directory 3992 Files []*GoogleDevtoolsRemoteworkersV1test2FileMetadata `json:"files,omitempty"` 3993 3994 // ForceSendFields is a list of field names (e.g. "Directories") to 3995 // unconditionally include in API requests. By default, fields with 3996 // empty values are omitted from API requests. However, any non-pointer, 3997 // non-interface field appearing in ForceSendFields will be sent to the 3998 // server regardless of whether the field is empty or not. This may be 3999 // used to include empty fields in Patch requests. 4000 ForceSendFields []string `json:"-"` 4001 4002 // NullFields is a list of field names (e.g. "Directories") to include 4003 // in API requests with the JSON null value. By default, fields with 4004 // empty values are omitted from API requests. However, any field with 4005 // an empty value appearing in NullFields will be sent to the server as 4006 // null. It is an error if a field in this list has a non-empty value. 4007 // This may be used to include null fields in Patch requests. 4008 NullFields []string `json:"-"` 4009 } 4010 4011 func (s *GoogleDevtoolsRemoteworkersV1test2Directory) MarshalJSON() ([]byte, error) { 4012 type NoMethod GoogleDevtoolsRemoteworkersV1test2Directory 4013 raw := NoMethod(*s) 4014 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4015 } 4016 4017 // GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata: The metadata for 4018 // a directory. Similar to the equivalent message in the Remote 4019 // Execution API. 4020 type GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata struct { 4021 // Digest: A pointer to the contents of the directory, in the form of a 4022 // marshalled Directory message. 4023 Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"` 4024 4025 // Path: The path of the directory, as in FileMetadata.path. 4026 Path string `json:"path,omitempty"` 4027 4028 // ForceSendFields is a list of field names (e.g. "Digest") to 4029 // unconditionally include in API requests. By default, fields with 4030 // empty values are omitted from API requests. However, any non-pointer, 4031 // non-interface field appearing in ForceSendFields will be sent to the 4032 // server regardless of whether the field is empty or not. This may be 4033 // used to include empty fields in Patch requests. 4034 ForceSendFields []string `json:"-"` 4035 4036 // NullFields is a list of field names (e.g. "Digest") to include in API 4037 // requests with the JSON null value. By default, fields with empty 4038 // values are omitted from API requests. However, any field with an 4039 // empty value appearing in NullFields will be sent to the server as 4040 // null. It is an error if a field in this list has a non-empty value. 4041 // This may be used to include null fields in Patch requests. 4042 NullFields []string `json:"-"` 4043 } 4044 4045 func (s *GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata) MarshalJSON() ([]byte, error) { 4046 type NoMethod GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata 4047 raw := NoMethod(*s) 4048 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4049 } 4050 4051 // GoogleDevtoolsRemoteworkersV1test2FileMetadata: The metadata for a 4052 // file. Similar to the equivalent message in the Remote Execution API. 4053 type GoogleDevtoolsRemoteworkersV1test2FileMetadata struct { 4054 // Contents: If the file is small enough, its contents may also or 4055 // alternatively be listed here. 4056 Contents string `json:"contents,omitempty"` 4057 4058 // Digest: A pointer to the contents of the file. The method by which a 4059 // client retrieves the contents from a CAS system is not defined here. 4060 Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"` 4061 4062 // IsExecutable: Properties of the file 4063 IsExecutable bool `json:"isExecutable,omitempty"` 4064 4065 // Path: The path of this file. If this message is part of the 4066 // CommandOutputs.outputs fields, the path is relative to the execution 4067 // root and must correspond to an entry in CommandTask.outputs.files. If 4068 // this message is part of a Directory message, then the path is 4069 // relative to the root of that directory. All paths MUST be delimited 4070 // by forward slashes. 4071 Path string `json:"path,omitempty"` 4072 4073 // ForceSendFields is a list of field names (e.g. "Contents") to 4074 // unconditionally include in API requests. By default, fields with 4075 // empty values are omitted from API requests. However, any non-pointer, 4076 // non-interface field appearing in ForceSendFields will be sent to the 4077 // server regardless of whether the field is empty or not. This may be 4078 // used to include empty fields in Patch requests. 4079 ForceSendFields []string `json:"-"` 4080 4081 // NullFields is a list of field names (e.g. "Contents") to include in 4082 // API requests with the JSON null value. By default, fields with empty 4083 // values are omitted from API requests. However, any field with an 4084 // empty value appearing in NullFields will be sent to the server as 4085 // null. It is an error if a field in this list has a non-empty value. 4086 // This may be used to include null fields in Patch requests. 4087 NullFields []string `json:"-"` 4088 } 4089 4090 func (s *GoogleDevtoolsRemoteworkersV1test2FileMetadata) MarshalJSON() ([]byte, error) { 4091 type NoMethod GoogleDevtoolsRemoteworkersV1test2FileMetadata 4092 raw := NoMethod(*s) 4093 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4094 } 4095 4096 // GoogleLongrunningOperation: This resource represents a long-running 4097 // operation that is the result of a network API call. 4098 type GoogleLongrunningOperation struct { 4099 // Done: If the value is `false`, it means the operation is still in 4100 // progress. If `true`, the operation is completed, and either `error` 4101 // or `response` is available. 4102 Done bool `json:"done,omitempty"` 4103 4104 // Error: The error result of the operation in case of failure or 4105 // cancellation. 4106 Error *GoogleRpcStatus `json:"error,omitempty"` 4107 4108 // Metadata: Service-specific metadata associated with the operation. It 4109 // typically contains progress information and common metadata such as 4110 // create time. Some services might not provide such metadata. Any 4111 // method that returns a long-running operation should document the 4112 // metadata type, if any. 4113 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 4114 4115 // Name: The server-assigned name, which is only unique within the same 4116 // service that originally returns it. If you use the default HTTP 4117 // mapping, the `name` should be a resource name ending with 4118 // `operations/{unique_id}`. 4119 Name string `json:"name,omitempty"` 4120 4121 // Response: The normal response of the operation in case of success. If 4122 // the original method returns no data on success, such as `Delete`, the 4123 // response is `google.protobuf.Empty`. If the original method is 4124 // standard `Get`/`Create`/`Update`, the response should be the 4125 // resource. For other methods, the response should have the type 4126 // `XxxResponse`, where `Xxx` is the original method name. For example, 4127 // if the original method name is `TakeSnapshot()`, the inferred 4128 // response type is `TakeSnapshotResponse`. 4129 Response googleapi.RawMessage `json:"response,omitempty"` 4130 4131 // ServerResponse contains the HTTP response code and headers from the 4132 // server. 4133 googleapi.ServerResponse `json:"-"` 4134 4135 // ForceSendFields is a list of field names (e.g. "Done") to 4136 // unconditionally include in API requests. By default, fields with 4137 // empty values are omitted from API requests. However, any non-pointer, 4138 // non-interface field appearing in ForceSendFields will be sent to the 4139 // server regardless of whether the field is empty or not. This may be 4140 // used to include empty fields in Patch requests. 4141 ForceSendFields []string `json:"-"` 4142 4143 // NullFields is a list of field names (e.g. "Done") to include in API 4144 // requests with the JSON null value. By default, fields with empty 4145 // values are omitted from API requests. However, any field with an 4146 // empty value appearing in NullFields will be sent to the server as 4147 // null. It is an error if a field in this list has a non-empty value. 4148 // This may be used to include null fields in Patch requests. 4149 NullFields []string `json:"-"` 4150 } 4151 4152 func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { 4153 type NoMethod GoogleLongrunningOperation 4154 raw := NoMethod(*s) 4155 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4156 } 4157 4158 // GoogleRpcStatus: The `Status` type defines a logical error model that 4159 // is suitable for different programming environments, including REST 4160 // APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each 4161 // `Status` message contains three pieces of data: error code, error 4162 // message, and error details. You can find out more about this error 4163 // model and how to work with it in the API Design Guide 4164 // (https://cloud.google.com/apis/design/errors). 4165 type GoogleRpcStatus struct { 4166 // Code: The status code, which should be an enum value of 4167 // google.rpc.Code. 4168 Code int64 `json:"code,omitempty"` 4169 4170 // Details: A list of messages that carry the error details. There is a 4171 // common set of message types for APIs to use. 4172 Details []googleapi.RawMessage `json:"details,omitempty"` 4173 4174 // Message: A developer-facing error message, which should be in 4175 // English. Any user-facing error message should be localized and sent 4176 // in the google.rpc.Status.details field, or localized by the client. 4177 Message string `json:"message,omitempty"` 4178 4179 // ForceSendFields is a list of field names (e.g. "Code") to 4180 // unconditionally include in API requests. By default, fields with 4181 // empty values are omitted from API requests. However, any non-pointer, 4182 // non-interface field appearing in ForceSendFields will be sent to the 4183 // server regardless of whether the field is empty or not. This may be 4184 // used to include empty fields in Patch requests. 4185 ForceSendFields []string `json:"-"` 4186 4187 // NullFields is a list of field names (e.g. "Code") to include in API 4188 // requests with the JSON null value. By default, fields with empty 4189 // values are omitted from API requests. However, any field with an 4190 // empty value appearing in NullFields will be sent to the server as 4191 // null. It is an error if a field in this list has a non-empty value. 4192 // This may be used to include null fields in Patch requests. 4193 NullFields []string `json:"-"` 4194 } 4195 4196 func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) { 4197 type NoMethod GoogleRpcStatus 4198 raw := NoMethod(*s) 4199 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4200 } 4201 4202 // method id "remotebuildexecution.actionResults.get": 4203 4204 type ActionResultsGetCall struct { 4205 s *Service 4206 instanceName string 4207 hash string 4208 sizeBytes int64 4209 urlParams_ gensupport.URLParams 4210 ifNoneMatch_ string 4211 ctx_ context.Context 4212 header_ http.Header 4213 } 4214 4215 // Get: Retrieve a cached execution result. Implementations SHOULD 4216 // ensure that any blobs referenced from the ContentAddressableStorage 4217 // are available at the time of returning the ActionResult and will be 4218 // for some period of time afterwards. The lifetimes of the referenced 4219 // blobs SHOULD be increased if necessary and applicable. Errors: * 4220 // `NOT_FOUND`: The requested `ActionResult` is not in the cache. 4221 // 4222 // - hash: The hash. In the case of SHA-256, it will always be a 4223 // lowercase hex string exactly 64 characters long. 4224 // - instanceName: The instance of the execution system to operate 4225 // against. A server may support multiple instances of the execution 4226 // system (with their own workers, storage, caches, etc.). The server 4227 // MAY require use of this field to select between them in an 4228 // implementation-defined fashion, otherwise it can be omitted. 4229 // - sizeBytes: The size of the blob, in bytes. 4230 func (r *ActionResultsService) Get(instanceName string, hash string, sizeBytes int64) *ActionResultsGetCall { 4231 c := &ActionResultsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4232 c.instanceName = instanceName 4233 c.hash = hash 4234 c.sizeBytes = sizeBytes 4235 return c 4236 } 4237 4238 // InlineOutputFiles sets the optional parameter "inlineOutputFiles": A 4239 // hint to the server to inline the contents of the listed output files. 4240 // Each path needs to exactly match one file path in either 4241 // `output_paths` or `output_files` (DEPRECATED since v2.1) in the 4242 // Command message. 4243 func (c *ActionResultsGetCall) InlineOutputFiles(inlineOutputFiles ...string) *ActionResultsGetCall { 4244 c.urlParams_.SetMulti("inlineOutputFiles", append([]string{}, inlineOutputFiles...)) 4245 return c 4246 } 4247 4248 // InlineStderr sets the optional parameter "inlineStderr": A hint to 4249 // the server to request inlining stderr in the ActionResult message. 4250 func (c *ActionResultsGetCall) InlineStderr(inlineStderr bool) *ActionResultsGetCall { 4251 c.urlParams_.Set("inlineStderr", fmt.Sprint(inlineStderr)) 4252 return c 4253 } 4254 4255 // InlineStdout sets the optional parameter "inlineStdout": A hint to 4256 // the server to request inlining stdout in the ActionResult message. 4257 func (c *ActionResultsGetCall) InlineStdout(inlineStdout bool) *ActionResultsGetCall { 4258 c.urlParams_.Set("inlineStdout", fmt.Sprint(inlineStdout)) 4259 return c 4260 } 4261 4262 // Fields allows partial responses to be retrieved. See 4263 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4264 // for more information. 4265 func (c *ActionResultsGetCall) Fields(s ...googleapi.Field) *ActionResultsGetCall { 4266 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4267 return c 4268 } 4269 4270 // IfNoneMatch sets the optional parameter which makes the operation 4271 // fail if the object's ETag matches the given value. This is useful for 4272 // getting updates only after the object has changed since the last 4273 // request. Use googleapi.IsNotModified to check whether the response 4274 // error from Do is the result of In-None-Match. 4275 func (c *ActionResultsGetCall) IfNoneMatch(entityTag string) *ActionResultsGetCall { 4276 c.ifNoneMatch_ = entityTag 4277 return c 4278 } 4279 4280 // Context sets the context to be used in this call's Do method. Any 4281 // pending HTTP request will be aborted if the provided context is 4282 // canceled. 4283 func (c *ActionResultsGetCall) Context(ctx context.Context) *ActionResultsGetCall { 4284 c.ctx_ = ctx 4285 return c 4286 } 4287 4288 // Header returns an http.Header that can be modified by the caller to 4289 // add HTTP headers to the request. 4290 func (c *ActionResultsGetCall) Header() http.Header { 4291 if c.header_ == nil { 4292 c.header_ = make(http.Header) 4293 } 4294 return c.header_ 4295 } 4296 4297 func (c *ActionResultsGetCall) doRequest(alt string) (*http.Response, error) { 4298 reqHeaders := make(http.Header) 4299 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 4300 for k, v := range c.header_ { 4301 reqHeaders[k] = v 4302 } 4303 reqHeaders.Set("User-Agent", c.s.userAgent()) 4304 if c.ifNoneMatch_ != "" { 4305 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4306 } 4307 var body io.Reader = nil 4308 c.urlParams_.Set("alt", alt) 4309 c.urlParams_.Set("prettyPrint", "false") 4310 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/actionResults/{hash}/{sizeBytes}") 4311 urls += "?" + c.urlParams_.Encode() 4312 req, err := http.NewRequest("GET", urls, body) 4313 if err != nil { 4314 return nil, err 4315 } 4316 req.Header = reqHeaders 4317 googleapi.Expand(req.URL, map[string]string{ 4318 "instanceName": c.instanceName, 4319 "hash": c.hash, 4320 "sizeBytes": strconv.FormatInt(c.sizeBytes, 10), 4321 }) 4322 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4323 } 4324 4325 // Do executes the "remotebuildexecution.actionResults.get" call. 4326 // Exactly one of *BuildBazelRemoteExecutionV2ActionResult or error will 4327 // be non-nil. Any non-2xx status code is an error. Response headers are 4328 // in either 4329 // *BuildBazelRemoteExecutionV2ActionResult.ServerResponse.Header or (if 4330 // a response was returned at all) in error.(*googleapi.Error).Header. 4331 // Use googleapi.IsNotModified to check whether the returned error was 4332 // because http.StatusNotModified was returned. 4333 func (c *ActionResultsGetCall) Do(opts ...googleapi.CallOption) (*BuildBazelRemoteExecutionV2ActionResult, error) { 4334 gensupport.SetOptions(c.urlParams_, opts...) 4335 res, err := c.doRequest("json") 4336 if res != nil && res.StatusCode == http.StatusNotModified { 4337 if res.Body != nil { 4338 res.Body.Close() 4339 } 4340 return nil, &googleapi.Error{ 4341 Code: res.StatusCode, 4342 Header: res.Header, 4343 } 4344 } 4345 if err != nil { 4346 return nil, err 4347 } 4348 defer googleapi.CloseBody(res) 4349 if err := googleapi.CheckResponse(res); err != nil { 4350 return nil, err 4351 } 4352 ret := &BuildBazelRemoteExecutionV2ActionResult{ 4353 ServerResponse: googleapi.ServerResponse{ 4354 Header: res.Header, 4355 HTTPStatusCode: res.StatusCode, 4356 }, 4357 } 4358 target := &ret 4359 if err := gensupport.DecodeResponse(target, res); err != nil { 4360 return nil, err 4361 } 4362 return ret, nil 4363 // { 4364 // "description": "Retrieve a cached execution result. Implementations SHOULD ensure that any blobs referenced from the ContentAddressableStorage are available at the time of returning the ActionResult and will be for some period of time afterwards. The lifetimes of the referenced blobs SHOULD be increased if necessary and applicable. Errors: * `NOT_FOUND`: The requested `ActionResult` is not in the cache.", 4365 // "flatPath": "v2/{v2Id}/actionResults/{hash}/{sizeBytes}", 4366 // "httpMethod": "GET", 4367 // "id": "remotebuildexecution.actionResults.get", 4368 // "parameterOrder": [ 4369 // "instanceName", 4370 // "hash", 4371 // "sizeBytes" 4372 // ], 4373 // "parameters": { 4374 // "hash": { 4375 // "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.", 4376 // "location": "path", 4377 // "required": true, 4378 // "type": "string" 4379 // }, 4380 // "inlineOutputFiles": { 4381 // "description": "A hint to the server to inline the contents of the listed output files. Each path needs to exactly match one file path in either `output_paths` or `output_files` (DEPRECATED since v2.1) in the Command message.", 4382 // "location": "query", 4383 // "repeated": true, 4384 // "type": "string" 4385 // }, 4386 // "inlineStderr": { 4387 // "description": "A hint to the server to request inlining stderr in the ActionResult message.", 4388 // "location": "query", 4389 // "type": "boolean" 4390 // }, 4391 // "inlineStdout": { 4392 // "description": "A hint to the server to request inlining stdout in the ActionResult message.", 4393 // "location": "query", 4394 // "type": "boolean" 4395 // }, 4396 // "instanceName": { 4397 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 4398 // "location": "path", 4399 // "pattern": "^.*$", 4400 // "required": true, 4401 // "type": "string" 4402 // }, 4403 // "sizeBytes": { 4404 // "description": "The size of the blob, in bytes.", 4405 // "format": "int64", 4406 // "location": "path", 4407 // "required": true, 4408 // "type": "string" 4409 // } 4410 // }, 4411 // "path": "v2/{+instanceName}/actionResults/{hash}/{sizeBytes}", 4412 // "response": { 4413 // "$ref": "BuildBazelRemoteExecutionV2ActionResult" 4414 // }, 4415 // "scopes": [ 4416 // "https://www.googleapis.com/auth/cloud-platform" 4417 // ] 4418 // } 4419 4420 } 4421 4422 // method id "remotebuildexecution.actionResults.update": 4423 4424 type ActionResultsUpdateCall struct { 4425 s *Service 4426 instanceName string 4427 hash string 4428 sizeBytes int64 4429 buildbazelremoteexecutionv2actionresult *BuildBazelRemoteExecutionV2ActionResult 4430 urlParams_ gensupport.URLParams 4431 ctx_ context.Context 4432 header_ http.Header 4433 } 4434 4435 // Update: Upload a new execution result. In order to allow the server 4436 // to perform access control based on the type of action, and to assist 4437 // with client debugging, the client MUST first upload the Action that 4438 // produced the result, along with its Command, into the 4439 // `ContentAddressableStorage`. Server implementations MAY modify the 4440 // `UpdateActionResultRequest.action_result` and return an equivalent 4441 // value. Errors: * `INVALID_ARGUMENT`: One or more arguments are 4442 // invalid. * `FAILED_PRECONDITION`: One or more errors occurred in 4443 // updating the action result, such as a missing command or action. * 4444 // `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the 4445 // entry to the cache. 4446 // 4447 // - hash: The hash. In the case of SHA-256, it will always be a 4448 // lowercase hex string exactly 64 characters long. 4449 // - instanceName: The instance of the execution system to operate 4450 // against. A server may support multiple instances of the execution 4451 // system (with their own workers, storage, caches, etc.). The server 4452 // MAY require use of this field to select between them in an 4453 // implementation-defined fashion, otherwise it can be omitted. 4454 // - sizeBytes: The size of the blob, in bytes. 4455 func (r *ActionResultsService) Update(instanceName string, hash string, sizeBytes int64, buildbazelremoteexecutionv2actionresult *BuildBazelRemoteExecutionV2ActionResult) *ActionResultsUpdateCall { 4456 c := &ActionResultsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4457 c.instanceName = instanceName 4458 c.hash = hash 4459 c.sizeBytes = sizeBytes 4460 c.buildbazelremoteexecutionv2actionresult = buildbazelremoteexecutionv2actionresult 4461 return c 4462 } 4463 4464 // ResultsCachePolicyPriority sets the optional parameter 4465 // "resultsCachePolicy.priority": The priority (relative importance) of 4466 // this content in the overall cache. Generally, a lower value means a 4467 // longer retention time or other advantage, but the interpretation of a 4468 // given value is server-dependent. A priority of 0 means a *default* 4469 // value, decided by the server. The particular semantics of this field 4470 // is up to the server. In particular, every server will have their own 4471 // supported range of priorities, and will decide how these map into 4472 // retention/eviction policy. 4473 func (c *ActionResultsUpdateCall) ResultsCachePolicyPriority(resultsCachePolicyPriority int64) *ActionResultsUpdateCall { 4474 c.urlParams_.Set("resultsCachePolicy.priority", fmt.Sprint(resultsCachePolicyPriority)) 4475 return c 4476 } 4477 4478 // Fields allows partial responses to be retrieved. See 4479 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4480 // for more information. 4481 func (c *ActionResultsUpdateCall) Fields(s ...googleapi.Field) *ActionResultsUpdateCall { 4482 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4483 return c 4484 } 4485 4486 // Context sets the context to be used in this call's Do method. Any 4487 // pending HTTP request will be aborted if the provided context is 4488 // canceled. 4489 func (c *ActionResultsUpdateCall) Context(ctx context.Context) *ActionResultsUpdateCall { 4490 c.ctx_ = ctx 4491 return c 4492 } 4493 4494 // Header returns an http.Header that can be modified by the caller to 4495 // add HTTP headers to the request. 4496 func (c *ActionResultsUpdateCall) Header() http.Header { 4497 if c.header_ == nil { 4498 c.header_ = make(http.Header) 4499 } 4500 return c.header_ 4501 } 4502 4503 func (c *ActionResultsUpdateCall) doRequest(alt string) (*http.Response, error) { 4504 reqHeaders := make(http.Header) 4505 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 4506 for k, v := range c.header_ { 4507 reqHeaders[k] = v 4508 } 4509 reqHeaders.Set("User-Agent", c.s.userAgent()) 4510 var body io.Reader = nil 4511 body, err := googleapi.WithoutDataWrapper.JSONReader(c.buildbazelremoteexecutionv2actionresult) 4512 if err != nil { 4513 return nil, err 4514 } 4515 reqHeaders.Set("Content-Type", "application/json") 4516 c.urlParams_.Set("alt", alt) 4517 c.urlParams_.Set("prettyPrint", "false") 4518 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/actionResults/{hash}/{sizeBytes}") 4519 urls += "?" + c.urlParams_.Encode() 4520 req, err := http.NewRequest("PUT", urls, body) 4521 if err != nil { 4522 return nil, err 4523 } 4524 req.Header = reqHeaders 4525 googleapi.Expand(req.URL, map[string]string{ 4526 "instanceName": c.instanceName, 4527 "hash": c.hash, 4528 "sizeBytes": strconv.FormatInt(c.sizeBytes, 10), 4529 }) 4530 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4531 } 4532 4533 // Do executes the "remotebuildexecution.actionResults.update" call. 4534 // Exactly one of *BuildBazelRemoteExecutionV2ActionResult or error will 4535 // be non-nil. Any non-2xx status code is an error. Response headers are 4536 // in either 4537 // *BuildBazelRemoteExecutionV2ActionResult.ServerResponse.Header or (if 4538 // a response was returned at all) in error.(*googleapi.Error).Header. 4539 // Use googleapi.IsNotModified to check whether the returned error was 4540 // because http.StatusNotModified was returned. 4541 func (c *ActionResultsUpdateCall) Do(opts ...googleapi.CallOption) (*BuildBazelRemoteExecutionV2ActionResult, error) { 4542 gensupport.SetOptions(c.urlParams_, opts...) 4543 res, err := c.doRequest("json") 4544 if res != nil && res.StatusCode == http.StatusNotModified { 4545 if res.Body != nil { 4546 res.Body.Close() 4547 } 4548 return nil, &googleapi.Error{ 4549 Code: res.StatusCode, 4550 Header: res.Header, 4551 } 4552 } 4553 if err != nil { 4554 return nil, err 4555 } 4556 defer googleapi.CloseBody(res) 4557 if err := googleapi.CheckResponse(res); err != nil { 4558 return nil, err 4559 } 4560 ret := &BuildBazelRemoteExecutionV2ActionResult{ 4561 ServerResponse: googleapi.ServerResponse{ 4562 Header: res.Header, 4563 HTTPStatusCode: res.StatusCode, 4564 }, 4565 } 4566 target := &ret 4567 if err := gensupport.DecodeResponse(target, res); err != nil { 4568 return nil, err 4569 } 4570 return ret, nil 4571 // { 4572 // "description": "Upload a new execution result. In order to allow the server to perform access control based on the type of action, and to assist with client debugging, the client MUST first upload the Action that produced the result, along with its Command, into the `ContentAddressableStorage`. Server implementations MAY modify the `UpdateActionResultRequest.action_result` and return an equivalent value. Errors: * `INVALID_ARGUMENT`: One or more arguments are invalid. * `FAILED_PRECONDITION`: One or more errors occurred in updating the action result, such as a missing command or action. * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the entry to the cache.", 4573 // "flatPath": "v2/{v2Id}/actionResults/{hash}/{sizeBytes}", 4574 // "httpMethod": "PUT", 4575 // "id": "remotebuildexecution.actionResults.update", 4576 // "parameterOrder": [ 4577 // "instanceName", 4578 // "hash", 4579 // "sizeBytes" 4580 // ], 4581 // "parameters": { 4582 // "hash": { 4583 // "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.", 4584 // "location": "path", 4585 // "required": true, 4586 // "type": "string" 4587 // }, 4588 // "instanceName": { 4589 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 4590 // "location": "path", 4591 // "pattern": "^.*$", 4592 // "required": true, 4593 // "type": "string" 4594 // }, 4595 // "resultsCachePolicy.priority": { 4596 // "description": "The priority (relative importance) of this content in the overall cache. Generally, a lower value means a longer retention time or other advantage, but the interpretation of a given value is server-dependent. A priority of 0 means a *default* value, decided by the server. The particular semantics of this field is up to the server. In particular, every server will have their own supported range of priorities, and will decide how these map into retention/eviction policy.", 4597 // "format": "int32", 4598 // "location": "query", 4599 // "type": "integer" 4600 // }, 4601 // "sizeBytes": { 4602 // "description": "The size of the blob, in bytes.", 4603 // "format": "int64", 4604 // "location": "path", 4605 // "required": true, 4606 // "type": "string" 4607 // } 4608 // }, 4609 // "path": "v2/{+instanceName}/actionResults/{hash}/{sizeBytes}", 4610 // "request": { 4611 // "$ref": "BuildBazelRemoteExecutionV2ActionResult" 4612 // }, 4613 // "response": { 4614 // "$ref": "BuildBazelRemoteExecutionV2ActionResult" 4615 // }, 4616 // "scopes": [ 4617 // "https://www.googleapis.com/auth/cloud-platform" 4618 // ] 4619 // } 4620 4621 } 4622 4623 // method id "remotebuildexecution.actions.execute": 4624 4625 type ActionsExecuteCall struct { 4626 s *Service 4627 instanceName string 4628 buildbazelremoteexecutionv2executerequest *BuildBazelRemoteExecutionV2ExecuteRequest 4629 urlParams_ gensupport.URLParams 4630 ctx_ context.Context 4631 header_ http.Header 4632 } 4633 4634 // Execute: Execute an action remotely. In order to execute an action, 4635 // the client must first upload all of the inputs, the Command to run, 4636 // and the Action into the ContentAddressableStorage. It then calls 4637 // `Execute` with an `action_digest` referring to them. The server will 4638 // run the action and eventually return the result. The input `Action`'s 4639 // fields MUST meet the various canonicalization requirements specified 4640 // in the documentation for their types so that it has the same digest 4641 // as other logically equivalent `Action`s. The server MAY enforce the 4642 // requirements and return errors if a non-canonical input is received. 4643 // It MAY also proceed without verifying some or all of the 4644 // requirements, such as for performance reasons. If the server does not 4645 // verify the requirement, then it will treat the `Action` as distinct 4646 // from another logically equivalent action if they hash differently. 4647 // Returns a stream of google.longrunning.Operation messages describing 4648 // the resulting execution, with eventual `response` ExecuteResponse. 4649 // The `metadata` on the operation is of type ExecuteOperationMetadata. 4650 // If the client remains connected after the first response is returned 4651 // after the server, then updates are streamed as if the client had 4652 // called WaitExecution until the execution completes or the request 4653 // reaches an error. The operation can also be queried using Operations 4654 // API. The server NEED NOT implement other methods or functionality of 4655 // the Operations API. Errors discovered during creation of the 4656 // `Operation` will be reported as gRPC Status errors, while errors that 4657 // occurred while running the action will be reported in the `status` 4658 // field of the `ExecuteResponse`. The server MUST NOT set the `error` 4659 // field of the `Operation` proto. The possible errors include: * 4660 // `INVALID_ARGUMENT`: One or more arguments are invalid. * 4661 // `FAILED_PRECONDITION`: One or more errors occurred in setting up the 4662 // action requested, such as a missing input or command or no worker 4663 // being available. The client may be able to fix the errors and retry. 4664 // * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource 4665 // to run the action. * `UNAVAILABLE`: Due to a transient condition, 4666 // such as all workers being occupied (and the server does not support a 4667 // queue), the action could not be started. The client should retry. * 4668 // `INTERNAL`: An internal error occurred in the execution engine or the 4669 // worker. * `DEADLINE_EXCEEDED`: The execution timed out. * 4670 // `CANCELLED`: The operation was cancelled by the client. This status 4671 // is only possible if the server implements the Operations API 4672 // CancelOperation method, and it was called for the current execution. 4673 // In the case of a missing input or command, the server SHOULD 4674 // additionally send a PreconditionFailure error detail where, for each 4675 // requested blob not present in the CAS, there is a `Violation` with a 4676 // `type` of `MISSING` and a `subject` of "blobs/{hash}/{size}" 4677 // indicating the digest of the missing blob. The server does not need 4678 // to guarantee that a call to this method leads to at most one 4679 // execution of the action. The server MAY execute the action multiple 4680 // times, potentially in parallel. These redundant executions MAY 4681 // continue to run, even if the operation is completed. 4682 // 4683 // - instanceName: The instance of the execution system to operate 4684 // against. A server may support multiple instances of the execution 4685 // system (with their own workers, storage, caches, etc.). The server 4686 // MAY require use of this field to select between them in an 4687 // implementation-defined fashion, otherwise it can be omitted. 4688 func (r *ActionsService) Execute(instanceName string, buildbazelremoteexecutionv2executerequest *BuildBazelRemoteExecutionV2ExecuteRequest) *ActionsExecuteCall { 4689 c := &ActionsExecuteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4690 c.instanceName = instanceName 4691 c.buildbazelremoteexecutionv2executerequest = buildbazelremoteexecutionv2executerequest 4692 return c 4693 } 4694 4695 // Fields allows partial responses to be retrieved. See 4696 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4697 // for more information. 4698 func (c *ActionsExecuteCall) Fields(s ...googleapi.Field) *ActionsExecuteCall { 4699 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4700 return c 4701 } 4702 4703 // Context sets the context to be used in this call's Do method. Any 4704 // pending HTTP request will be aborted if the provided context is 4705 // canceled. 4706 func (c *ActionsExecuteCall) Context(ctx context.Context) *ActionsExecuteCall { 4707 c.ctx_ = ctx 4708 return c 4709 } 4710 4711 // Header returns an http.Header that can be modified by the caller to 4712 // add HTTP headers to the request. 4713 func (c *ActionsExecuteCall) Header() http.Header { 4714 if c.header_ == nil { 4715 c.header_ = make(http.Header) 4716 } 4717 return c.header_ 4718 } 4719 4720 func (c *ActionsExecuteCall) doRequest(alt string) (*http.Response, error) { 4721 reqHeaders := make(http.Header) 4722 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 4723 for k, v := range c.header_ { 4724 reqHeaders[k] = v 4725 } 4726 reqHeaders.Set("User-Agent", c.s.userAgent()) 4727 var body io.Reader = nil 4728 body, err := googleapi.WithoutDataWrapper.JSONReader(c.buildbazelremoteexecutionv2executerequest) 4729 if err != nil { 4730 return nil, err 4731 } 4732 reqHeaders.Set("Content-Type", "application/json") 4733 c.urlParams_.Set("alt", alt) 4734 c.urlParams_.Set("prettyPrint", "false") 4735 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/actions:execute") 4736 urls += "?" + c.urlParams_.Encode() 4737 req, err := http.NewRequest("POST", urls, body) 4738 if err != nil { 4739 return nil, err 4740 } 4741 req.Header = reqHeaders 4742 googleapi.Expand(req.URL, map[string]string{ 4743 "instanceName": c.instanceName, 4744 }) 4745 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4746 } 4747 4748 // Do executes the "remotebuildexecution.actions.execute" call. 4749 // Exactly one of *GoogleLongrunningOperation or error will be non-nil. 4750 // Any non-2xx status code is an error. Response headers are in either 4751 // *GoogleLongrunningOperation.ServerResponse.Header or (if a response 4752 // was returned at all) in error.(*googleapi.Error).Header. Use 4753 // googleapi.IsNotModified to check whether the returned error was 4754 // because http.StatusNotModified was returned. 4755 func (c *ActionsExecuteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 4756 gensupport.SetOptions(c.urlParams_, opts...) 4757 res, err := c.doRequest("json") 4758 if res != nil && res.StatusCode == http.StatusNotModified { 4759 if res.Body != nil { 4760 res.Body.Close() 4761 } 4762 return nil, &googleapi.Error{ 4763 Code: res.StatusCode, 4764 Header: res.Header, 4765 } 4766 } 4767 if err != nil { 4768 return nil, err 4769 } 4770 defer googleapi.CloseBody(res) 4771 if err := googleapi.CheckResponse(res); err != nil { 4772 return nil, err 4773 } 4774 ret := &GoogleLongrunningOperation{ 4775 ServerResponse: googleapi.ServerResponse{ 4776 Header: res.Header, 4777 HTTPStatusCode: res.StatusCode, 4778 }, 4779 } 4780 target := &ret 4781 if err := gensupport.DecodeResponse(target, res); err != nil { 4782 return nil, err 4783 } 4784 return ret, nil 4785 // { 4786 // "description": "Execute an action remotely. In order to execute an action, the client must first upload all of the inputs, the Command to run, and the Action into the ContentAddressableStorage. It then calls `Execute` with an `action_digest` referring to them. The server will run the action and eventually return the result. The input `Action`'s fields MUST meet the various canonicalization requirements specified in the documentation for their types so that it has the same digest as other logically equivalent `Action`s. The server MAY enforce the requirements and return errors if a non-canonical input is received. It MAY also proceed without verifying some or all of the requirements, such as for performance reasons. If the server does not verify the requirement, then it will treat the `Action` as distinct from another logically equivalent action if they hash differently. Returns a stream of google.longrunning.Operation messages describing the resulting execution, with eventual `response` ExecuteResponse. The `metadata` on the operation is of type ExecuteOperationMetadata. If the client remains connected after the first response is returned after the server, then updates are streamed as if the client had called WaitExecution until the execution completes or the request reaches an error. The operation can also be queried using Operations API. The server NEED NOT implement other methods or functionality of the Operations API. Errors discovered during creation of the `Operation` will be reported as gRPC Status errors, while errors that occurred while running the action will be reported in the `status` field of the `ExecuteResponse`. The server MUST NOT set the `error` field of the `Operation` proto. The possible errors include: * `INVALID_ARGUMENT`: One or more arguments are invalid. * `FAILED_PRECONDITION`: One or more errors occurred in setting up the action requested, such as a missing input or command or no worker being available. The client may be able to fix the errors and retry. * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run the action. * `UNAVAILABLE`: Due to a transient condition, such as all workers being occupied (and the server does not support a queue), the action could not be started. The client should retry. * `INTERNAL`: An internal error occurred in the execution engine or the worker. * `DEADLINE_EXCEEDED`: The execution timed out. * `CANCELLED`: The operation was cancelled by the client. This status is only possible if the server implements the Operations API CancelOperation method, and it was called for the current execution. In the case of a missing input or command, the server SHOULD additionally send a PreconditionFailure error detail where, for each requested blob not present in the CAS, there is a `Violation` with a `type` of `MISSING` and a `subject` of `\"blobs/{hash}/{size}\"` indicating the digest of the missing blob. The server does not need to guarantee that a call to this method leads to at most one execution of the action. The server MAY execute the action multiple times, potentially in parallel. These redundant executions MAY continue to run, even if the operation is completed.", 4787 // "flatPath": "v2/{v2Id}/actions:execute", 4788 // "httpMethod": "POST", 4789 // "id": "remotebuildexecution.actions.execute", 4790 // "parameterOrder": [ 4791 // "instanceName" 4792 // ], 4793 // "parameters": { 4794 // "instanceName": { 4795 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 4796 // "location": "path", 4797 // "pattern": "^.*$", 4798 // "required": true, 4799 // "type": "string" 4800 // } 4801 // }, 4802 // "path": "v2/{+instanceName}/actions:execute", 4803 // "request": { 4804 // "$ref": "BuildBazelRemoteExecutionV2ExecuteRequest" 4805 // }, 4806 // "response": { 4807 // "$ref": "GoogleLongrunningOperation" 4808 // }, 4809 // "scopes": [ 4810 // "https://www.googleapis.com/auth/cloud-platform" 4811 // ] 4812 // } 4813 4814 } 4815 4816 // method id "remotebuildexecution.blobs.batchRead": 4817 4818 type BlobsBatchReadCall struct { 4819 s *Service 4820 instanceName string 4821 buildbazelremoteexecutionv2batchreadblobsrequest *BuildBazelRemoteExecutionV2BatchReadBlobsRequest 4822 urlParams_ gensupport.URLParams 4823 ctx_ context.Context 4824 header_ http.Header 4825 } 4826 4827 // BatchRead: Download many blobs at once. The server may enforce a 4828 // limit of the combined total size of blobs to be downloaded using this 4829 // API. This limit may be obtained using the Capabilities API. Requests 4830 // exceeding the limit should either be split into smaller chunks or 4831 // downloaded using the ByteStream API, as appropriate. This request is 4832 // equivalent to calling a Bytestream `Read` request on each individual 4833 // blob, in parallel. The requests may succeed or fail independently. 4834 // Errors: * `INVALID_ARGUMENT`: The client attempted to read more than 4835 // the server supported limit. Every error on individual read will be 4836 // returned in the corresponding digest status. 4837 // 4838 // - instanceName: The instance of the execution system to operate 4839 // against. A server may support multiple instances of the execution 4840 // system (with their own workers, storage, caches, etc.). The server 4841 // MAY require use of this field to select between them in an 4842 // implementation-defined fashion, otherwise it can be omitted. 4843 func (r *BlobsService) BatchRead(instanceName string, buildbazelremoteexecutionv2batchreadblobsrequest *BuildBazelRemoteExecutionV2BatchReadBlobsRequest) *BlobsBatchReadCall { 4844 c := &BlobsBatchReadCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4845 c.instanceName = instanceName 4846 c.buildbazelremoteexecutionv2batchreadblobsrequest = buildbazelremoteexecutionv2batchreadblobsrequest 4847 return c 4848 } 4849 4850 // Fields allows partial responses to be retrieved. See 4851 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4852 // for more information. 4853 func (c *BlobsBatchReadCall) Fields(s ...googleapi.Field) *BlobsBatchReadCall { 4854 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4855 return c 4856 } 4857 4858 // Context sets the context to be used in this call's Do method. Any 4859 // pending HTTP request will be aborted if the provided context is 4860 // canceled. 4861 func (c *BlobsBatchReadCall) Context(ctx context.Context) *BlobsBatchReadCall { 4862 c.ctx_ = ctx 4863 return c 4864 } 4865 4866 // Header returns an http.Header that can be modified by the caller to 4867 // add HTTP headers to the request. 4868 func (c *BlobsBatchReadCall) Header() http.Header { 4869 if c.header_ == nil { 4870 c.header_ = make(http.Header) 4871 } 4872 return c.header_ 4873 } 4874 4875 func (c *BlobsBatchReadCall) doRequest(alt string) (*http.Response, error) { 4876 reqHeaders := make(http.Header) 4877 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 4878 for k, v := range c.header_ { 4879 reqHeaders[k] = v 4880 } 4881 reqHeaders.Set("User-Agent", c.s.userAgent()) 4882 var body io.Reader = nil 4883 body, err := googleapi.WithoutDataWrapper.JSONReader(c.buildbazelremoteexecutionv2batchreadblobsrequest) 4884 if err != nil { 4885 return nil, err 4886 } 4887 reqHeaders.Set("Content-Type", "application/json") 4888 c.urlParams_.Set("alt", alt) 4889 c.urlParams_.Set("prettyPrint", "false") 4890 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/blobs:batchRead") 4891 urls += "?" + c.urlParams_.Encode() 4892 req, err := http.NewRequest("POST", urls, body) 4893 if err != nil { 4894 return nil, err 4895 } 4896 req.Header = reqHeaders 4897 googleapi.Expand(req.URL, map[string]string{ 4898 "instanceName": c.instanceName, 4899 }) 4900 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4901 } 4902 4903 // Do executes the "remotebuildexecution.blobs.batchRead" call. 4904 // Exactly one of *BuildBazelRemoteExecutionV2BatchReadBlobsResponse or 4905 // error will be non-nil. Any non-2xx status code is an error. Response 4906 // headers are in either 4907 // *BuildBazelRemoteExecutionV2BatchReadBlobsResponse.ServerResponse.Head 4908 // er or (if a response was returned at all) in 4909 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4910 // whether the returned error was because http.StatusNotModified was 4911 // returned. 4912 func (c *BlobsBatchReadCall) Do(opts ...googleapi.CallOption) (*BuildBazelRemoteExecutionV2BatchReadBlobsResponse, error) { 4913 gensupport.SetOptions(c.urlParams_, opts...) 4914 res, err := c.doRequest("json") 4915 if res != nil && res.StatusCode == http.StatusNotModified { 4916 if res.Body != nil { 4917 res.Body.Close() 4918 } 4919 return nil, &googleapi.Error{ 4920 Code: res.StatusCode, 4921 Header: res.Header, 4922 } 4923 } 4924 if err != nil { 4925 return nil, err 4926 } 4927 defer googleapi.CloseBody(res) 4928 if err := googleapi.CheckResponse(res); err != nil { 4929 return nil, err 4930 } 4931 ret := &BuildBazelRemoteExecutionV2BatchReadBlobsResponse{ 4932 ServerResponse: googleapi.ServerResponse{ 4933 Header: res.Header, 4934 HTTPStatusCode: res.StatusCode, 4935 }, 4936 } 4937 target := &ret 4938 if err := gensupport.DecodeResponse(target, res); err != nil { 4939 return nil, err 4940 } 4941 return ret, nil 4942 // { 4943 // "description": "Download many blobs at once. The server may enforce a limit of the combined total size of blobs to be downloaded using this API. This limit may be obtained using the Capabilities API. Requests exceeding the limit should either be split into smaller chunks or downloaded using the ByteStream API, as appropriate. This request is equivalent to calling a Bytestream `Read` request on each individual blob, in parallel. The requests may succeed or fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to read more than the server supported limit. Every error on individual read will be returned in the corresponding digest status.", 4944 // "flatPath": "v2/{v2Id}/blobs:batchRead", 4945 // "httpMethod": "POST", 4946 // "id": "remotebuildexecution.blobs.batchRead", 4947 // "parameterOrder": [ 4948 // "instanceName" 4949 // ], 4950 // "parameters": { 4951 // "instanceName": { 4952 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 4953 // "location": "path", 4954 // "pattern": "^.*$", 4955 // "required": true, 4956 // "type": "string" 4957 // } 4958 // }, 4959 // "path": "v2/{+instanceName}/blobs:batchRead", 4960 // "request": { 4961 // "$ref": "BuildBazelRemoteExecutionV2BatchReadBlobsRequest" 4962 // }, 4963 // "response": { 4964 // "$ref": "BuildBazelRemoteExecutionV2BatchReadBlobsResponse" 4965 // }, 4966 // "scopes": [ 4967 // "https://www.googleapis.com/auth/cloud-platform" 4968 // ] 4969 // } 4970 4971 } 4972 4973 // method id "remotebuildexecution.blobs.batchUpdate": 4974 4975 type BlobsBatchUpdateCall struct { 4976 s *Service 4977 instanceName string 4978 buildbazelremoteexecutionv2batchupdateblobsrequest *BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest 4979 urlParams_ gensupport.URLParams 4980 ctx_ context.Context 4981 header_ http.Header 4982 } 4983 4984 // BatchUpdate: Upload many blobs at once. The server may enforce a 4985 // limit of the combined total size of blobs to be uploaded using this 4986 // API. This limit may be obtained using the Capabilities API. Requests 4987 // exceeding the limit should either be split into smaller chunks or 4988 // uploaded using the ByteStream API, as appropriate. This request is 4989 // equivalent to calling a Bytestream `Write` request on each individual 4990 // blob, in parallel. The requests may succeed or fail independently. 4991 // Errors: * `INVALID_ARGUMENT`: The client attempted to upload more 4992 // than the server supported limit. Individual requests may return the 4993 // following errors, additionally: * `RESOURCE_EXHAUSTED`: There is 4994 // insufficient disk quota to store the blob. * `INVALID_ARGUMENT`: The 4995 // Digest does not match the provided data. 4996 // 4997 // - instanceName: The instance of the execution system to operate 4998 // against. A server may support multiple instances of the execution 4999 // system (with their own workers, storage, caches, etc.). The server 5000 // MAY require use of this field to select between them in an 5001 // implementation-defined fashion, otherwise it can be omitted. 5002 func (r *BlobsService) BatchUpdate(instanceName string, buildbazelremoteexecutionv2batchupdateblobsrequest *BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest) *BlobsBatchUpdateCall { 5003 c := &BlobsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5004 c.instanceName = instanceName 5005 c.buildbazelremoteexecutionv2batchupdateblobsrequest = buildbazelremoteexecutionv2batchupdateblobsrequest 5006 return c 5007 } 5008 5009 // Fields allows partial responses to be retrieved. See 5010 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5011 // for more information. 5012 func (c *BlobsBatchUpdateCall) Fields(s ...googleapi.Field) *BlobsBatchUpdateCall { 5013 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5014 return c 5015 } 5016 5017 // Context sets the context to be used in this call's Do method. Any 5018 // pending HTTP request will be aborted if the provided context is 5019 // canceled. 5020 func (c *BlobsBatchUpdateCall) Context(ctx context.Context) *BlobsBatchUpdateCall { 5021 c.ctx_ = ctx 5022 return c 5023 } 5024 5025 // Header returns an http.Header that can be modified by the caller to 5026 // add HTTP headers to the request. 5027 func (c *BlobsBatchUpdateCall) Header() http.Header { 5028 if c.header_ == nil { 5029 c.header_ = make(http.Header) 5030 } 5031 return c.header_ 5032 } 5033 5034 func (c *BlobsBatchUpdateCall) doRequest(alt string) (*http.Response, error) { 5035 reqHeaders := make(http.Header) 5036 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 5037 for k, v := range c.header_ { 5038 reqHeaders[k] = v 5039 } 5040 reqHeaders.Set("User-Agent", c.s.userAgent()) 5041 var body io.Reader = nil 5042 body, err := googleapi.WithoutDataWrapper.JSONReader(c.buildbazelremoteexecutionv2batchupdateblobsrequest) 5043 if err != nil { 5044 return nil, err 5045 } 5046 reqHeaders.Set("Content-Type", "application/json") 5047 c.urlParams_.Set("alt", alt) 5048 c.urlParams_.Set("prettyPrint", "false") 5049 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/blobs:batchUpdate") 5050 urls += "?" + c.urlParams_.Encode() 5051 req, err := http.NewRequest("POST", urls, body) 5052 if err != nil { 5053 return nil, err 5054 } 5055 req.Header = reqHeaders 5056 googleapi.Expand(req.URL, map[string]string{ 5057 "instanceName": c.instanceName, 5058 }) 5059 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5060 } 5061 5062 // Do executes the "remotebuildexecution.blobs.batchUpdate" call. 5063 // Exactly one of *BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse 5064 // or error will be non-nil. Any non-2xx status code is an error. 5065 // Response headers are in either 5066 // *BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse.ServerResponse.He 5067 // ader or (if a response was returned at all) in 5068 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 5069 // whether the returned error was because http.StatusNotModified was 5070 // returned. 5071 func (c *BlobsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse, error) { 5072 gensupport.SetOptions(c.urlParams_, opts...) 5073 res, err := c.doRequest("json") 5074 if res != nil && res.StatusCode == http.StatusNotModified { 5075 if res.Body != nil { 5076 res.Body.Close() 5077 } 5078 return nil, &googleapi.Error{ 5079 Code: res.StatusCode, 5080 Header: res.Header, 5081 } 5082 } 5083 if err != nil { 5084 return nil, err 5085 } 5086 defer googleapi.CloseBody(res) 5087 if err := googleapi.CheckResponse(res); err != nil { 5088 return nil, err 5089 } 5090 ret := &BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse{ 5091 ServerResponse: googleapi.ServerResponse{ 5092 Header: res.Header, 5093 HTTPStatusCode: res.StatusCode, 5094 }, 5095 } 5096 target := &ret 5097 if err := gensupport.DecodeResponse(target, res); err != nil { 5098 return nil, err 5099 } 5100 return ret, nil 5101 // { 5102 // "description": "Upload many blobs at once. The server may enforce a limit of the combined total size of blobs to be uploaded using this API. This limit may be obtained using the Capabilities API. Requests exceeding the limit should either be split into smaller chunks or uploaded using the ByteStream API, as appropriate. This request is equivalent to calling a Bytestream `Write` request on each individual blob, in parallel. The requests may succeed or fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to upload more than the server supported limit. Individual requests may return the following errors, additionally: * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. * `INVALID_ARGUMENT`: The Digest does not match the provided data.", 5103 // "flatPath": "v2/{v2Id}/blobs:batchUpdate", 5104 // "httpMethod": "POST", 5105 // "id": "remotebuildexecution.blobs.batchUpdate", 5106 // "parameterOrder": [ 5107 // "instanceName" 5108 // ], 5109 // "parameters": { 5110 // "instanceName": { 5111 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 5112 // "location": "path", 5113 // "pattern": "^.*$", 5114 // "required": true, 5115 // "type": "string" 5116 // } 5117 // }, 5118 // "path": "v2/{+instanceName}/blobs:batchUpdate", 5119 // "request": { 5120 // "$ref": "BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest" 5121 // }, 5122 // "response": { 5123 // "$ref": "BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse" 5124 // }, 5125 // "scopes": [ 5126 // "https://www.googleapis.com/auth/cloud-platform" 5127 // ] 5128 // } 5129 5130 } 5131 5132 // method id "remotebuildexecution.blobs.findMissing": 5133 5134 type BlobsFindMissingCall struct { 5135 s *Service 5136 instanceName string 5137 buildbazelremoteexecutionv2findmissingblobsrequest *BuildBazelRemoteExecutionV2FindMissingBlobsRequest 5138 urlParams_ gensupport.URLParams 5139 ctx_ context.Context 5140 header_ http.Header 5141 } 5142 5143 // FindMissing: Determine if blobs are present in the CAS. Clients can 5144 // use this API before uploading blobs to determine which ones are 5145 // already present in the CAS and do not need to be uploaded again. 5146 // Servers SHOULD increase the lifetimes of the referenced blobs if 5147 // necessary and applicable. There are no method-specific errors. 5148 // 5149 // - instanceName: The instance of the execution system to operate 5150 // against. A server may support multiple instances of the execution 5151 // system (with their own workers, storage, caches, etc.). The server 5152 // MAY require use of this field to select between them in an 5153 // implementation-defined fashion, otherwise it can be omitted. 5154 func (r *BlobsService) FindMissing(instanceName string, buildbazelremoteexecutionv2findmissingblobsrequest *BuildBazelRemoteExecutionV2FindMissingBlobsRequest) *BlobsFindMissingCall { 5155 c := &BlobsFindMissingCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5156 c.instanceName = instanceName 5157 c.buildbazelremoteexecutionv2findmissingblobsrequest = buildbazelremoteexecutionv2findmissingblobsrequest 5158 return c 5159 } 5160 5161 // Fields allows partial responses to be retrieved. See 5162 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5163 // for more information. 5164 func (c *BlobsFindMissingCall) Fields(s ...googleapi.Field) *BlobsFindMissingCall { 5165 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5166 return c 5167 } 5168 5169 // Context sets the context to be used in this call's Do method. Any 5170 // pending HTTP request will be aborted if the provided context is 5171 // canceled. 5172 func (c *BlobsFindMissingCall) Context(ctx context.Context) *BlobsFindMissingCall { 5173 c.ctx_ = ctx 5174 return c 5175 } 5176 5177 // Header returns an http.Header that can be modified by the caller to 5178 // add HTTP headers to the request. 5179 func (c *BlobsFindMissingCall) Header() http.Header { 5180 if c.header_ == nil { 5181 c.header_ = make(http.Header) 5182 } 5183 return c.header_ 5184 } 5185 5186 func (c *BlobsFindMissingCall) doRequest(alt string) (*http.Response, error) { 5187 reqHeaders := make(http.Header) 5188 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 5189 for k, v := range c.header_ { 5190 reqHeaders[k] = v 5191 } 5192 reqHeaders.Set("User-Agent", c.s.userAgent()) 5193 var body io.Reader = nil 5194 body, err := googleapi.WithoutDataWrapper.JSONReader(c.buildbazelremoteexecutionv2findmissingblobsrequest) 5195 if err != nil { 5196 return nil, err 5197 } 5198 reqHeaders.Set("Content-Type", "application/json") 5199 c.urlParams_.Set("alt", alt) 5200 c.urlParams_.Set("prettyPrint", "false") 5201 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/blobs:findMissing") 5202 urls += "?" + c.urlParams_.Encode() 5203 req, err := http.NewRequest("POST", urls, body) 5204 if err != nil { 5205 return nil, err 5206 } 5207 req.Header = reqHeaders 5208 googleapi.Expand(req.URL, map[string]string{ 5209 "instanceName": c.instanceName, 5210 }) 5211 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5212 } 5213 5214 // Do executes the "remotebuildexecution.blobs.findMissing" call. 5215 // Exactly one of *BuildBazelRemoteExecutionV2FindMissingBlobsResponse 5216 // or error will be non-nil. Any non-2xx status code is an error. 5217 // Response headers are in either 5218 // *BuildBazelRemoteExecutionV2FindMissingBlobsResponse.ServerResponse.He 5219 // ader or (if a response was returned at all) in 5220 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 5221 // whether the returned error was because http.StatusNotModified was 5222 // returned. 5223 func (c *BlobsFindMissingCall) Do(opts ...googleapi.CallOption) (*BuildBazelRemoteExecutionV2FindMissingBlobsResponse, error) { 5224 gensupport.SetOptions(c.urlParams_, opts...) 5225 res, err := c.doRequest("json") 5226 if res != nil && res.StatusCode == http.StatusNotModified { 5227 if res.Body != nil { 5228 res.Body.Close() 5229 } 5230 return nil, &googleapi.Error{ 5231 Code: res.StatusCode, 5232 Header: res.Header, 5233 } 5234 } 5235 if err != nil { 5236 return nil, err 5237 } 5238 defer googleapi.CloseBody(res) 5239 if err := googleapi.CheckResponse(res); err != nil { 5240 return nil, err 5241 } 5242 ret := &BuildBazelRemoteExecutionV2FindMissingBlobsResponse{ 5243 ServerResponse: googleapi.ServerResponse{ 5244 Header: res.Header, 5245 HTTPStatusCode: res.StatusCode, 5246 }, 5247 } 5248 target := &ret 5249 if err := gensupport.DecodeResponse(target, res); err != nil { 5250 return nil, err 5251 } 5252 return ret, nil 5253 // { 5254 // "description": "Determine if blobs are present in the CAS. Clients can use this API before uploading blobs to determine which ones are already present in the CAS and do not need to be uploaded again. Servers SHOULD increase the lifetimes of the referenced blobs if necessary and applicable. There are no method-specific errors.", 5255 // "flatPath": "v2/{v2Id}/blobs:findMissing", 5256 // "httpMethod": "POST", 5257 // "id": "remotebuildexecution.blobs.findMissing", 5258 // "parameterOrder": [ 5259 // "instanceName" 5260 // ], 5261 // "parameters": { 5262 // "instanceName": { 5263 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 5264 // "location": "path", 5265 // "pattern": "^.*$", 5266 // "required": true, 5267 // "type": "string" 5268 // } 5269 // }, 5270 // "path": "v2/{+instanceName}/blobs:findMissing", 5271 // "request": { 5272 // "$ref": "BuildBazelRemoteExecutionV2FindMissingBlobsRequest" 5273 // }, 5274 // "response": { 5275 // "$ref": "BuildBazelRemoteExecutionV2FindMissingBlobsResponse" 5276 // }, 5277 // "scopes": [ 5278 // "https://www.googleapis.com/auth/cloud-platform" 5279 // ] 5280 // } 5281 5282 } 5283 5284 // method id "remotebuildexecution.blobs.getTree": 5285 5286 type BlobsGetTreeCall struct { 5287 s *Service 5288 instanceName string 5289 hash string 5290 sizeBytes int64 5291 urlParams_ gensupport.URLParams 5292 ifNoneMatch_ string 5293 ctx_ context.Context 5294 header_ http.Header 5295 } 5296 5297 // GetTree: Fetch the entire directory tree rooted at a node. This 5298 // request must be targeted at a Directory stored in the 5299 // ContentAddressableStorage (CAS). The server will enumerate the 5300 // `Directory` tree recursively and return every node descended from the 5301 // root. The GetTreeRequest.page_token parameter can be used to skip 5302 // ahead in the stream (e.g. when retrying a partially completed and 5303 // aborted request), by setting it to a value taken from 5304 // GetTreeResponse.next_page_token of the last successfully processed 5305 // GetTreeResponse). The exact traversal order is unspecified and, 5306 // unless retrieving subsequent pages from an earlier request, is not 5307 // guaranteed to be stable across multiple invocations of `GetTree`. If 5308 // part of the tree is missing from the CAS, the server will return the 5309 // portion present and omit the rest. Errors: * `NOT_FOUND`: The 5310 // requested tree root is not present in the CAS. 5311 // 5312 // - hash: The hash. In the case of SHA-256, it will always be a 5313 // lowercase hex string exactly 64 characters long. 5314 // - instanceName: The instance of the execution system to operate 5315 // against. A server may support multiple instances of the execution 5316 // system (with their own workers, storage, caches, etc.). The server 5317 // MAY require use of this field to select between them in an 5318 // implementation-defined fashion, otherwise it can be omitted. 5319 // - sizeBytes: The size of the blob, in bytes. 5320 func (r *BlobsService) GetTree(instanceName string, hash string, sizeBytes int64) *BlobsGetTreeCall { 5321 c := &BlobsGetTreeCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5322 c.instanceName = instanceName 5323 c.hash = hash 5324 c.sizeBytes = sizeBytes 5325 return c 5326 } 5327 5328 // PageSize sets the optional parameter "pageSize": A maximum page size 5329 // to request. If present, the server will request no more than this 5330 // many items. Regardless of whether a page size is specified, the 5331 // server may place its own limit on the number of items to be returned 5332 // and require the client to retrieve more items using a subsequent 5333 // request. 5334 func (c *BlobsGetTreeCall) PageSize(pageSize int64) *BlobsGetTreeCall { 5335 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 5336 return c 5337 } 5338 5339 // PageToken sets the optional parameter "pageToken": A page token, 5340 // which must be a value received in a previous GetTreeResponse. If 5341 // present, the server will use that token as an offset, returning only 5342 // that page and the ones that succeed it. 5343 func (c *BlobsGetTreeCall) PageToken(pageToken string) *BlobsGetTreeCall { 5344 c.urlParams_.Set("pageToken", pageToken) 5345 return c 5346 } 5347 5348 // Fields allows partial responses to be retrieved. See 5349 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5350 // for more information. 5351 func (c *BlobsGetTreeCall) Fields(s ...googleapi.Field) *BlobsGetTreeCall { 5352 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5353 return c 5354 } 5355 5356 // IfNoneMatch sets the optional parameter which makes the operation 5357 // fail if the object's ETag matches the given value. This is useful for 5358 // getting updates only after the object has changed since the last 5359 // request. Use googleapi.IsNotModified to check whether the response 5360 // error from Do is the result of In-None-Match. 5361 func (c *BlobsGetTreeCall) IfNoneMatch(entityTag string) *BlobsGetTreeCall { 5362 c.ifNoneMatch_ = entityTag 5363 return c 5364 } 5365 5366 // Context sets the context to be used in this call's Do method. Any 5367 // pending HTTP request will be aborted if the provided context is 5368 // canceled. 5369 func (c *BlobsGetTreeCall) Context(ctx context.Context) *BlobsGetTreeCall { 5370 c.ctx_ = ctx 5371 return c 5372 } 5373 5374 // Header returns an http.Header that can be modified by the caller to 5375 // add HTTP headers to the request. 5376 func (c *BlobsGetTreeCall) Header() http.Header { 5377 if c.header_ == nil { 5378 c.header_ = make(http.Header) 5379 } 5380 return c.header_ 5381 } 5382 5383 func (c *BlobsGetTreeCall) doRequest(alt string) (*http.Response, error) { 5384 reqHeaders := make(http.Header) 5385 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 5386 for k, v := range c.header_ { 5387 reqHeaders[k] = v 5388 } 5389 reqHeaders.Set("User-Agent", c.s.userAgent()) 5390 if c.ifNoneMatch_ != "" { 5391 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5392 } 5393 var body io.Reader = nil 5394 c.urlParams_.Set("alt", alt) 5395 c.urlParams_.Set("prettyPrint", "false") 5396 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/blobs/{hash}/{sizeBytes}:getTree") 5397 urls += "?" + c.urlParams_.Encode() 5398 req, err := http.NewRequest("GET", urls, body) 5399 if err != nil { 5400 return nil, err 5401 } 5402 req.Header = reqHeaders 5403 googleapi.Expand(req.URL, map[string]string{ 5404 "instanceName": c.instanceName, 5405 "hash": c.hash, 5406 "sizeBytes": strconv.FormatInt(c.sizeBytes, 10), 5407 }) 5408 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5409 } 5410 5411 // Do executes the "remotebuildexecution.blobs.getTree" call. 5412 // Exactly one of *BuildBazelRemoteExecutionV2GetTreeResponse or error 5413 // will be non-nil. Any non-2xx status code is an error. Response 5414 // headers are in either 5415 // *BuildBazelRemoteExecutionV2GetTreeResponse.ServerResponse.Header or 5416 // (if a response was returned at all) in 5417 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 5418 // whether the returned error was because http.StatusNotModified was 5419 // returned. 5420 func (c *BlobsGetTreeCall) Do(opts ...googleapi.CallOption) (*BuildBazelRemoteExecutionV2GetTreeResponse, error) { 5421 gensupport.SetOptions(c.urlParams_, opts...) 5422 res, err := c.doRequest("json") 5423 if res != nil && res.StatusCode == http.StatusNotModified { 5424 if res.Body != nil { 5425 res.Body.Close() 5426 } 5427 return nil, &googleapi.Error{ 5428 Code: res.StatusCode, 5429 Header: res.Header, 5430 } 5431 } 5432 if err != nil { 5433 return nil, err 5434 } 5435 defer googleapi.CloseBody(res) 5436 if err := googleapi.CheckResponse(res); err != nil { 5437 return nil, err 5438 } 5439 ret := &BuildBazelRemoteExecutionV2GetTreeResponse{ 5440 ServerResponse: googleapi.ServerResponse{ 5441 Header: res.Header, 5442 HTTPStatusCode: res.StatusCode, 5443 }, 5444 } 5445 target := &ret 5446 if err := gensupport.DecodeResponse(target, res); err != nil { 5447 return nil, err 5448 } 5449 return ret, nil 5450 // { 5451 // "description": "Fetch the entire directory tree rooted at a node. This request must be targeted at a Directory stored in the ContentAddressableStorage (CAS). The server will enumerate the `Directory` tree recursively and return every node descended from the root. The GetTreeRequest.page_token parameter can be used to skip ahead in the stream (e.g. when retrying a partially completed and aborted request), by setting it to a value taken from GetTreeResponse.next_page_token of the last successfully processed GetTreeResponse). The exact traversal order is unspecified and, unless retrieving subsequent pages from an earlier request, is not guaranteed to be stable across multiple invocations of `GetTree`. If part of the tree is missing from the CAS, the server will return the portion present and omit the rest. Errors: * `NOT_FOUND`: The requested tree root is not present in the CAS.", 5452 // "flatPath": "v2/{v2Id}/blobs/{hash}/{sizeBytes}:getTree", 5453 // "httpMethod": "GET", 5454 // "id": "remotebuildexecution.blobs.getTree", 5455 // "parameterOrder": [ 5456 // "instanceName", 5457 // "hash", 5458 // "sizeBytes" 5459 // ], 5460 // "parameters": { 5461 // "hash": { 5462 // "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.", 5463 // "location": "path", 5464 // "required": true, 5465 // "type": "string" 5466 // }, 5467 // "instanceName": { 5468 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 5469 // "location": "path", 5470 // "pattern": "^.*$", 5471 // "required": true, 5472 // "type": "string" 5473 // }, 5474 // "pageSize": { 5475 // "description": "A maximum page size to request. If present, the server will request no more than this many items. Regardless of whether a page size is specified, the server may place its own limit on the number of items to be returned and require the client to retrieve more items using a subsequent request.", 5476 // "format": "int32", 5477 // "location": "query", 5478 // "type": "integer" 5479 // }, 5480 // "pageToken": { 5481 // "description": "A page token, which must be a value received in a previous GetTreeResponse. If present, the server will use that token as an offset, returning only that page and the ones that succeed it.", 5482 // "location": "query", 5483 // "type": "string" 5484 // }, 5485 // "sizeBytes": { 5486 // "description": "The size of the blob, in bytes.", 5487 // "format": "int64", 5488 // "location": "path", 5489 // "required": true, 5490 // "type": "string" 5491 // } 5492 // }, 5493 // "path": "v2/{+instanceName}/blobs/{hash}/{sizeBytes}:getTree", 5494 // "response": { 5495 // "$ref": "BuildBazelRemoteExecutionV2GetTreeResponse" 5496 // }, 5497 // "scopes": [ 5498 // "https://www.googleapis.com/auth/cloud-platform" 5499 // ] 5500 // } 5501 5502 } 5503 5504 // Pages invokes f for each page of results. 5505 // A non-nil error returned from f will halt the iteration. 5506 // The provided context supersedes any context provided to the Context method. 5507 func (c *BlobsGetTreeCall) Pages(ctx context.Context, f func(*BuildBazelRemoteExecutionV2GetTreeResponse) error) error { 5508 c.ctx_ = ctx 5509 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 5510 for { 5511 x, err := c.Do() 5512 if err != nil { 5513 return err 5514 } 5515 if err := f(x); err != nil { 5516 return err 5517 } 5518 if x.NextPageToken == "" { 5519 return nil 5520 } 5521 c.PageToken(x.NextPageToken) 5522 } 5523 } 5524 5525 // method id "remotebuildexecution.operations.waitExecution": 5526 5527 type OperationsWaitExecutionCall struct { 5528 s *Service 5529 name string 5530 buildbazelremoteexecutionv2waitexecutionrequest *BuildBazelRemoteExecutionV2WaitExecutionRequest 5531 urlParams_ gensupport.URLParams 5532 ctx_ context.Context 5533 header_ http.Header 5534 } 5535 5536 // WaitExecution: Wait for an execution operation to complete. When the 5537 // client initially makes the request, the server immediately responds 5538 // with the current status of the execution. The server will leave the 5539 // request stream open until the operation completes, and then respond 5540 // with the completed operation. The server MAY choose to stream 5541 // additional updates as execution progresses, such as to provide an 5542 // update as to the state of the execution. 5543 // 5544 // - name: The name of the Operation returned by Execute. 5545 func (r *OperationsService) WaitExecution(name string, buildbazelremoteexecutionv2waitexecutionrequest *BuildBazelRemoteExecutionV2WaitExecutionRequest) *OperationsWaitExecutionCall { 5546 c := &OperationsWaitExecutionCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5547 c.name = name 5548 c.buildbazelremoteexecutionv2waitexecutionrequest = buildbazelremoteexecutionv2waitexecutionrequest 5549 return c 5550 } 5551 5552 // Fields allows partial responses to be retrieved. See 5553 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5554 // for more information. 5555 func (c *OperationsWaitExecutionCall) Fields(s ...googleapi.Field) *OperationsWaitExecutionCall { 5556 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5557 return c 5558 } 5559 5560 // Context sets the context to be used in this call's Do method. Any 5561 // pending HTTP request will be aborted if the provided context is 5562 // canceled. 5563 func (c *OperationsWaitExecutionCall) Context(ctx context.Context) *OperationsWaitExecutionCall { 5564 c.ctx_ = ctx 5565 return c 5566 } 5567 5568 // Header returns an http.Header that can be modified by the caller to 5569 // add HTTP headers to the request. 5570 func (c *OperationsWaitExecutionCall) Header() http.Header { 5571 if c.header_ == nil { 5572 c.header_ = make(http.Header) 5573 } 5574 return c.header_ 5575 } 5576 5577 func (c *OperationsWaitExecutionCall) doRequest(alt string) (*http.Response, error) { 5578 reqHeaders := make(http.Header) 5579 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 5580 for k, v := range c.header_ { 5581 reqHeaders[k] = v 5582 } 5583 reqHeaders.Set("User-Agent", c.s.userAgent()) 5584 var body io.Reader = nil 5585 body, err := googleapi.WithoutDataWrapper.JSONReader(c.buildbazelremoteexecutionv2waitexecutionrequest) 5586 if err != nil { 5587 return nil, err 5588 } 5589 reqHeaders.Set("Content-Type", "application/json") 5590 c.urlParams_.Set("alt", alt) 5591 c.urlParams_.Set("prettyPrint", "false") 5592 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:waitExecution") 5593 urls += "?" + c.urlParams_.Encode() 5594 req, err := http.NewRequest("POST", urls, body) 5595 if err != nil { 5596 return nil, err 5597 } 5598 req.Header = reqHeaders 5599 googleapi.Expand(req.URL, map[string]string{ 5600 "name": c.name, 5601 }) 5602 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5603 } 5604 5605 // Do executes the "remotebuildexecution.operations.waitExecution" call. 5606 // Exactly one of *GoogleLongrunningOperation or error will be non-nil. 5607 // Any non-2xx status code is an error. Response headers are in either 5608 // *GoogleLongrunningOperation.ServerResponse.Header or (if a response 5609 // was returned at all) in error.(*googleapi.Error).Header. Use 5610 // googleapi.IsNotModified to check whether the returned error was 5611 // because http.StatusNotModified was returned. 5612 func (c *OperationsWaitExecutionCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 5613 gensupport.SetOptions(c.urlParams_, opts...) 5614 res, err := c.doRequest("json") 5615 if res != nil && res.StatusCode == http.StatusNotModified { 5616 if res.Body != nil { 5617 res.Body.Close() 5618 } 5619 return nil, &googleapi.Error{ 5620 Code: res.StatusCode, 5621 Header: res.Header, 5622 } 5623 } 5624 if err != nil { 5625 return nil, err 5626 } 5627 defer googleapi.CloseBody(res) 5628 if err := googleapi.CheckResponse(res); err != nil { 5629 return nil, err 5630 } 5631 ret := &GoogleLongrunningOperation{ 5632 ServerResponse: googleapi.ServerResponse{ 5633 Header: res.Header, 5634 HTTPStatusCode: res.StatusCode, 5635 }, 5636 } 5637 target := &ret 5638 if err := gensupport.DecodeResponse(target, res); err != nil { 5639 return nil, err 5640 } 5641 return ret, nil 5642 // { 5643 // "description": "Wait for an execution operation to complete. When the client initially makes the request, the server immediately responds with the current status of the execution. The server will leave the request stream open until the operation completes, and then respond with the completed operation. The server MAY choose to stream additional updates as execution progresses, such as to provide an update as to the state of the execution.", 5644 // "flatPath": "v2/operations/{operationsId}:waitExecution", 5645 // "httpMethod": "POST", 5646 // "id": "remotebuildexecution.operations.waitExecution", 5647 // "parameterOrder": [ 5648 // "name" 5649 // ], 5650 // "parameters": { 5651 // "name": { 5652 // "description": "The name of the Operation returned by Execute.", 5653 // "location": "path", 5654 // "pattern": "^operations/.*$", 5655 // "required": true, 5656 // "type": "string" 5657 // } 5658 // }, 5659 // "path": "v2/{+name}:waitExecution", 5660 // "request": { 5661 // "$ref": "BuildBazelRemoteExecutionV2WaitExecutionRequest" 5662 // }, 5663 // "response": { 5664 // "$ref": "GoogleLongrunningOperation" 5665 // }, 5666 // "scopes": [ 5667 // "https://www.googleapis.com/auth/cloud-platform" 5668 // ] 5669 // } 5670 5671 } 5672 5673 // method id "remotebuildexecution.getCapabilities": 5674 5675 type V2GetCapabilitiesCall struct { 5676 s *Service 5677 instanceName string 5678 urlParams_ gensupport.URLParams 5679 ifNoneMatch_ string 5680 ctx_ context.Context 5681 header_ http.Header 5682 } 5683 5684 // GetCapabilities: GetCapabilities returns the server capabilities 5685 // configuration of the remote endpoint. Only the capabilities of the 5686 // services supported by the endpoint will be returned: * Execution + 5687 // CAS + Action Cache endpoints should return both CacheCapabilities and 5688 // ExecutionCapabilities. * Execution only endpoints should return 5689 // ExecutionCapabilities. * CAS + Action Cache only endpoints should 5690 // return CacheCapabilities. 5691 // 5692 // - instanceName: The instance of the execution system to operate 5693 // against. A server may support multiple instances of the execution 5694 // system (with their own workers, storage, caches, etc.). The server 5695 // MAY require use of this field to select between them in an 5696 // implementation-defined fashion, otherwise it can be omitted. 5697 func (r *V2Service) GetCapabilities(instanceName string) *V2GetCapabilitiesCall { 5698 c := &V2GetCapabilitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5699 c.instanceName = instanceName 5700 return c 5701 } 5702 5703 // Fields allows partial responses to be retrieved. See 5704 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5705 // for more information. 5706 func (c *V2GetCapabilitiesCall) Fields(s ...googleapi.Field) *V2GetCapabilitiesCall { 5707 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5708 return c 5709 } 5710 5711 // IfNoneMatch sets the optional parameter which makes the operation 5712 // fail if the object's ETag matches the given value. This is useful for 5713 // getting updates only after the object has changed since the last 5714 // request. Use googleapi.IsNotModified to check whether the response 5715 // error from Do is the result of In-None-Match. 5716 func (c *V2GetCapabilitiesCall) IfNoneMatch(entityTag string) *V2GetCapabilitiesCall { 5717 c.ifNoneMatch_ = entityTag 5718 return c 5719 } 5720 5721 // Context sets the context to be used in this call's Do method. Any 5722 // pending HTTP request will be aborted if the provided context is 5723 // canceled. 5724 func (c *V2GetCapabilitiesCall) Context(ctx context.Context) *V2GetCapabilitiesCall { 5725 c.ctx_ = ctx 5726 return c 5727 } 5728 5729 // Header returns an http.Header that can be modified by the caller to 5730 // add HTTP headers to the request. 5731 func (c *V2GetCapabilitiesCall) Header() http.Header { 5732 if c.header_ == nil { 5733 c.header_ = make(http.Header) 5734 } 5735 return c.header_ 5736 } 5737 5738 func (c *V2GetCapabilitiesCall) doRequest(alt string) (*http.Response, error) { 5739 reqHeaders := make(http.Header) 5740 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210721") 5741 for k, v := range c.header_ { 5742 reqHeaders[k] = v 5743 } 5744 reqHeaders.Set("User-Agent", c.s.userAgent()) 5745 if c.ifNoneMatch_ != "" { 5746 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5747 } 5748 var body io.Reader = nil 5749 c.urlParams_.Set("alt", alt) 5750 c.urlParams_.Set("prettyPrint", "false") 5751 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+instanceName}/capabilities") 5752 urls += "?" + c.urlParams_.Encode() 5753 req, err := http.NewRequest("GET", urls, body) 5754 if err != nil { 5755 return nil, err 5756 } 5757 req.Header = reqHeaders 5758 googleapi.Expand(req.URL, map[string]string{ 5759 "instanceName": c.instanceName, 5760 }) 5761 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5762 } 5763 5764 // Do executes the "remotebuildexecution.getCapabilities" call. 5765 // Exactly one of *BuildBazelRemoteExecutionV2ServerCapabilities or 5766 // error will be non-nil. Any non-2xx status code is an error. Response 5767 // headers are in either 5768 // *BuildBazelRemoteExecutionV2ServerCapabilities.ServerResponse.Header 5769 // or (if a response was returned at all) in 5770 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 5771 // whether the returned error was because http.StatusNotModified was 5772 // returned. 5773 func (c *V2GetCapabilitiesCall) Do(opts ...googleapi.CallOption) (*BuildBazelRemoteExecutionV2ServerCapabilities, error) { 5774 gensupport.SetOptions(c.urlParams_, opts...) 5775 res, err := c.doRequest("json") 5776 if res != nil && res.StatusCode == http.StatusNotModified { 5777 if res.Body != nil { 5778 res.Body.Close() 5779 } 5780 return nil, &googleapi.Error{ 5781 Code: res.StatusCode, 5782 Header: res.Header, 5783 } 5784 } 5785 if err != nil { 5786 return nil, err 5787 } 5788 defer googleapi.CloseBody(res) 5789 if err := googleapi.CheckResponse(res); err != nil { 5790 return nil, err 5791 } 5792 ret := &BuildBazelRemoteExecutionV2ServerCapabilities{ 5793 ServerResponse: googleapi.ServerResponse{ 5794 Header: res.Header, 5795 HTTPStatusCode: res.StatusCode, 5796 }, 5797 } 5798 target := &ret 5799 if err := gensupport.DecodeResponse(target, res); err != nil { 5800 return nil, err 5801 } 5802 return ret, nil 5803 // { 5804 // "description": "GetCapabilities returns the server capabilities configuration of the remote endpoint. Only the capabilities of the services supported by the endpoint will be returned: * Execution + CAS + Action Cache endpoints should return both CacheCapabilities and ExecutionCapabilities. * Execution only endpoints should return ExecutionCapabilities. * CAS + Action Cache only endpoints should return CacheCapabilities.", 5805 // "flatPath": "v2/{v2Id}/capabilities", 5806 // "httpMethod": "GET", 5807 // "id": "remotebuildexecution.getCapabilities", 5808 // "parameterOrder": [ 5809 // "instanceName" 5810 // ], 5811 // "parameters": { 5812 // "instanceName": { 5813 // "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.", 5814 // "location": "path", 5815 // "pattern": "^.*$", 5816 // "required": true, 5817 // "type": "string" 5818 // } 5819 // }, 5820 // "path": "v2/{+instanceName}/capabilities", 5821 // "response": { 5822 // "$ref": "BuildBazelRemoteExecutionV2ServerCapabilities" 5823 // }, 5824 // "scopes": [ 5825 // "https://www.googleapis.com/auth/cloud-platform" 5826 // ] 5827 // } 5828 5829 } 5830