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