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