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. 38package remotebuildexecution // import "google.golang.org/api/remotebuildexecution/v1alpha" 39 40import ( 41 "bytes" 42 "context" 43 "encoding/json" 44 "errors" 45 "fmt" 46 "io" 47 "net/http" 48 "net/url" 49 "strconv" 50 "strings" 51 52 googleapi "google.golang.org/api/googleapi" 53 gensupport "google.golang.org/api/internal/gensupport" 54 option "google.golang.org/api/option" 55 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. 61var _ = bytes.NewBuffer 62var _ = strconv.Itoa 63var _ = fmt.Sprintf 64var _ = json.NewDecoder 65var _ = io.Copy 66var _ = url.Parse 67var _ = gensupport.MarshalJSON 68var _ = googleapi.Version 69var _ = errors.New 70var _ = strings.Replace 71var _ = context.Canceled 72var _ = internaloption.WithDefaultEndpoint 73 74const apiId = "remotebuildexecution:v1alpha" 75const apiName = "remotebuildexecution" 76const apiVersion = "v1alpha" 77const basePath = "https://admin-remotebuildexecution.googleapis.com/" 78const mtlsBasePath = "https://admin-remotebuildexecution.mtls.googleapis.com/" 79 80// OAuth2 scopes used by this API. 81const ( 82 // View and manage your data across Google Cloud Platform services 83 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 84) 85 86// NewService creates a new Service. 87func 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. 114func 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 123type 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 131func (s *Service) userAgent() string { 132 if s.UserAgent == "" { 133 return googleapi.UserAgent 134 } 135 return googleapi.UserAgent + " " + s.UserAgent 136} 137 138func NewProjectsService(s *Service) *ProjectsService { 139 rs := &ProjectsService{s: s} 140 rs.Instances = NewProjectsInstancesService(s) 141 rs.Operations = NewProjectsOperationsService(s) 142 return rs 143} 144 145type ProjectsService struct { 146 s *Service 147 148 Instances *ProjectsInstancesService 149 150 Operations *ProjectsOperationsService 151} 152 153func NewProjectsInstancesService(s *Service) *ProjectsInstancesService { 154 rs := &ProjectsInstancesService{s: s} 155 rs.Workerpools = NewProjectsInstancesWorkerpoolsService(s) 156 return rs 157} 158 159type ProjectsInstancesService struct { 160 s *Service 161 162 Workerpools *ProjectsInstancesWorkerpoolsService 163} 164 165func NewProjectsInstancesWorkerpoolsService(s *Service) *ProjectsInstancesWorkerpoolsService { 166 rs := &ProjectsInstancesWorkerpoolsService{s: s} 167 return rs 168} 169 170type ProjectsInstancesWorkerpoolsService struct { 171 s *Service 172} 173 174func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { 175 rs := &ProjectsOperationsService{s: s} 176 return rs 177} 178 179type 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. 198type 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 266func (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. 277type 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 417func (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. 429type 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 554func (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. 563type 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 587func (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. 620type 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 645func (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 } ] } ``` 682type 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 711func (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. 720type 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 745func (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. 754type 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 795func (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. 804type 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 855func (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. 863type 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 924func (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. 932type 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 961func (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. 969type 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 998func (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. 1007type 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 1034func (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. 1044type 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 1068func (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. 1077type 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 1106func (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. 1115type 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 1154func (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`. 1164type 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 1198func (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. 1209type 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 1234func (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. 1257type 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 1281func (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. 1299type 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 1353func (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. 1361type 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 1396func (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. 1404type 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 1428func (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. 1437type 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 1464func (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. 1473type 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 1537func (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. 1546type 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 OutputLocation string `json:"outputLocation,omitempty"` 1596 1597 // UsedAsyncContainer: Indicates whether an asynchronous container was 1598 // used for execution. 1599 UsedAsyncContainer bool `json:"usedAsyncContainer,omitempty"` 1600 1601 // ForceSendFields is a list of field names (e.g. "CmUsage") to 1602 // unconditionally include in API requests. By default, fields with 1603 // empty values are omitted from API requests. However, any non-pointer, 1604 // non-interface field appearing in ForceSendFields will be sent to the 1605 // server regardless of whether the field is empty or not. This may be 1606 // used to include empty fields in Patch requests. 1607 ForceSendFields []string `json:"-"` 1608 1609 // NullFields is a list of field names (e.g. "CmUsage") to include in 1610 // API requests with the JSON null value. By default, fields with empty 1611 // values are omitted from API requests. However, any field with an 1612 // empty value appearing in NullFields will be sent to the server as 1613 // null. It is an error if a field in this list has a non-empty value. 1614 // This may be used to include null fields in Patch requests. 1615 NullFields []string `json:"-"` 1616} 1617 1618func (s *GoogleDevtoolsRemotebuildbotCommandEvents) MarshalJSON() ([]byte, error) { 1619 type NoMethod GoogleDevtoolsRemotebuildbotCommandEvents 1620 raw := NoMethod(*s) 1621 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1622} 1623 1624func (s *GoogleDevtoolsRemotebuildbotCommandEvents) UnmarshalJSON(data []byte) error { 1625 type NoMethod GoogleDevtoolsRemotebuildbotCommandEvents 1626 var s1 struct { 1627 InputCacheMiss gensupport.JSONFloat64 `json:"inputCacheMiss"` 1628 *NoMethod 1629 } 1630 s1.NoMethod = (*NoMethod)(s) 1631 if err := json.Unmarshal(data, &s1); err != nil { 1632 return err 1633 } 1634 s.InputCacheMiss = float64(s1.InputCacheMiss) 1635 return nil 1636} 1637 1638// GoogleDevtoolsRemotebuildbotCommandStatus: The internal status of the 1639// command result. 1640type GoogleDevtoolsRemotebuildbotCommandStatus struct { 1641 // Code: The status code. 1642 // 1643 // Possible values: 1644 // "OK" - The command succeeded. 1645 // "INVALID_ARGUMENT" - The command input was invalid. 1646 // "DEADLINE_EXCEEDED" - The command had passed its expiry time while 1647 // it was still running. 1648 // "NOT_FOUND" - The resources requested by the command were not 1649 // found. 1650 // "PERMISSION_DENIED" - The command failed due to permission errors. 1651 // "INTERNAL" - The command failed because of some invariants expected 1652 // by the underlying system have been broken. This usually indicates a 1653 // bug wit the system. 1654 // "ABORTED" - The command was aborted. 1655 // "FAILED_PRECONDITION" - The command failed because the system is 1656 // not in a state required for the command, e.g. the command inputs 1657 // cannot be found on the server. 1658 // "CLEANUP_ERROR" - The bot failed to do the cleanup, e.g. unable to 1659 // delete the command working directory or the command process. 1660 // "DOWNLOAD_INPUTS_ERROR" - The bot failed to download the inputs. 1661 // "UNKNOWN" - Unknown error. 1662 // "UPLOAD_OUTPUTS_ERROR" - The bot failed to upload the outputs. 1663 // "UPLOAD_OUTPUTS_BYTES_LIMIT_EXCEEDED" - The bot tried to upload 1664 // files having a total size that is too large. 1665 // "DOCKER_LOGIN_ERROR" - The bot failed to login to docker. 1666 // "DOCKER_IMAGE_PULL_ERROR" - The bot failed to pull docker image. 1667 // "DOCKER_IMAGE_EXIST_ERROR" - The bot failed to check docker images. 1668 // "DUPLICATE_INPUTS" - The inputs contain duplicate files. 1669 // "DOCKER_IMAGE_PERMISSION_DENIED" - The bot doesn't have the 1670 // permissions to pull docker images. 1671 // "DOCKER_IMAGE_NOT_FOUND" - The docker image cannot be found. 1672 // "WORKING_DIR_NOT_FOUND" - Working directory is not found. 1673 // "WORKING_DIR_NOT_IN_BASE_DIR" - Working directory is not under the 1674 // base directory 1675 // "DOCKER_UNAVAILABLE" - There are issues with docker 1676 // service/runtime. 1677 // "NO_CUDA_CAPABLE_DEVICE" - The command failed with "no cuda-capable 1678 // device is detected" error. 1679 // "REMOTE_CAS_DOWNLOAD_ERROR" - The bot encountered errors from 1680 // remote CAS when downloading blobs. 1681 // "REMOTE_CAS_UPLOAD_ERROR" - The bot encountered errors from remote 1682 // CAS when uploading blobs. 1683 // "LOCAL_CASPROXY_NOT_RUNNING" - The local casproxy is not running. 1684 // "DOCKER_CREATE_CONTAINER_ERROR" - The bot couldn't start the 1685 // container. 1686 // "DOCKER_INVALID_ULIMIT" - The docker ulimit is not valid. 1687 // "DOCKER_UNKNOWN_RUNTIME" - The docker runtime is unknown. 1688 // "DOCKER_UNKNOWN_CAPABILITY" - The docker capability is unknown. 1689 // "DOCKER_UNKNOWN_ERROR" - The command failed with unknown docker 1690 // errors. 1691 // "DOCKER_CREATE_COMPUTE_SYSTEM_ERROR" - Docker failed to run 1692 // containers with CreateComputeSystem error. 1693 // "DOCKER_PREPARELAYER_ERROR" - Docker failed to run containers with 1694 // hcsshim::PrepareLayer error. 1695 // "DOCKER_INCOMPATIBLE_OS_ERROR" - Docker incompatible operating 1696 // system error. 1697 // "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND" - Docker failed to create 1698 // OCI runtime because of file not found. 1699 // "DOCKER_CREATE_RUNTIME_PERMISSION_DENIED" - Docker failed to create 1700 // OCI runtime because of permission denied. 1701 // "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" - Docker failed to create 1702 // process because of file not found. 1703 // "DOCKER_CREATE_COMPUTE_SYSTEM_INCORRECT_PARAMETER_ERROR" - Docker 1704 // failed to run containers with CreateComputeSystem error that involves 1705 // an incorrect parameter (more specific version of 1706 // DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused). 1707 // "DOCKER_TOO_MANY_SYMBOLIC_LINK_LEVELS" - Docker failed to create an 1708 // overlay mount because of too many levels of symbolic links. 1709 // "LOCAL_CONTAINER_MANAGER_NOT_RUNNING" - The local Container Manager 1710 // is not running. 1711 // "DOCKER_IMAGE_VPCSC_PERMISSION_DENIED" - Docker failed because a 1712 // request was denied by the organization's policy. 1713 Code string `json:"code,omitempty"` 1714 1715 // Message: The error message. 1716 Message string `json:"message,omitempty"` 1717 1718 // ForceSendFields is a list of field names (e.g. "Code") to 1719 // unconditionally include in API requests. By default, fields with 1720 // empty values are omitted from API requests. However, any non-pointer, 1721 // non-interface field appearing in ForceSendFields will be sent to the 1722 // server regardless of whether the field is empty or not. This may be 1723 // used to include empty fields in Patch requests. 1724 ForceSendFields []string `json:"-"` 1725 1726 // NullFields is a list of field names (e.g. "Code") to include in API 1727 // requests with the JSON null value. By default, fields with empty 1728 // values are omitted from API requests. However, any field with an 1729 // empty value appearing in NullFields will be sent to the server as 1730 // null. It is an error if a field in this list has a non-empty value. 1731 // This may be used to include null fields in Patch requests. 1732 NullFields []string `json:"-"` 1733} 1734 1735func (s *GoogleDevtoolsRemotebuildbotCommandStatus) MarshalJSON() ([]byte, error) { 1736 type NoMethod GoogleDevtoolsRemotebuildbotCommandStatus 1737 raw := NoMethod(*s) 1738 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1739} 1740 1741// GoogleDevtoolsRemotebuildbotResourceUsage: ResourceUsage is the 1742// system resource usage of the host machine. 1743type GoogleDevtoolsRemotebuildbotResourceUsage struct { 1744 CpuUsedPercent float64 `json:"cpuUsedPercent,omitempty"` 1745 1746 DiskUsage *GoogleDevtoolsRemotebuildbotResourceUsageStat `json:"diskUsage,omitempty"` 1747 1748 MemoryUsage *GoogleDevtoolsRemotebuildbotResourceUsageStat `json:"memoryUsage,omitempty"` 1749 1750 // ForceSendFields is a list of field names (e.g. "CpuUsedPercent") to 1751 // unconditionally include in API requests. By default, fields with 1752 // empty values are omitted from API requests. However, any non-pointer, 1753 // non-interface field appearing in ForceSendFields will be sent to the 1754 // server regardless of whether the field is empty or not. This may be 1755 // used to include empty fields in Patch requests. 1756 ForceSendFields []string `json:"-"` 1757 1758 // NullFields is a list of field names (e.g. "CpuUsedPercent") to 1759 // include in API requests with the JSON null value. By default, fields 1760 // with empty values are omitted from API requests. However, any field 1761 // with an empty value appearing in NullFields will be sent to the 1762 // server as null. It is an error if a field in this list has a 1763 // non-empty value. This may be used to include null fields in Patch 1764 // requests. 1765 NullFields []string `json:"-"` 1766} 1767 1768func (s *GoogleDevtoolsRemotebuildbotResourceUsage) MarshalJSON() ([]byte, error) { 1769 type NoMethod GoogleDevtoolsRemotebuildbotResourceUsage 1770 raw := NoMethod(*s) 1771 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1772} 1773 1774func (s *GoogleDevtoolsRemotebuildbotResourceUsage) UnmarshalJSON(data []byte) error { 1775 type NoMethod GoogleDevtoolsRemotebuildbotResourceUsage 1776 var s1 struct { 1777 CpuUsedPercent gensupport.JSONFloat64 `json:"cpuUsedPercent"` 1778 *NoMethod 1779 } 1780 s1.NoMethod = (*NoMethod)(s) 1781 if err := json.Unmarshal(data, &s1); err != nil { 1782 return err 1783 } 1784 s.CpuUsedPercent = float64(s1.CpuUsedPercent) 1785 return nil 1786} 1787 1788type GoogleDevtoolsRemotebuildbotResourceUsageStat struct { 1789 Total uint64 `json:"total,omitempty,string"` 1790 1791 Used uint64 `json:"used,omitempty,string"` 1792 1793 // ForceSendFields is a list of field names (e.g. "Total") to 1794 // unconditionally include in API requests. By default, fields with 1795 // empty values are omitted from API requests. However, any non-pointer, 1796 // non-interface field appearing in ForceSendFields will be sent to the 1797 // server regardless of whether the field is empty or not. This may be 1798 // used to include empty fields in Patch requests. 1799 ForceSendFields []string `json:"-"` 1800 1801 // NullFields is a list of field names (e.g. "Total") to include in API 1802 // requests with the JSON null value. By default, fields with empty 1803 // values are omitted from API requests. However, any field with an 1804 // empty value appearing in NullFields will be sent to the server as 1805 // null. It is an error if a field in this list has a non-empty value. 1806 // This may be used to include null fields in Patch requests. 1807 NullFields []string `json:"-"` 1808} 1809 1810func (s *GoogleDevtoolsRemotebuildbotResourceUsageStat) MarshalJSON() ([]byte, error) { 1811 type NoMethod GoogleDevtoolsRemotebuildbotResourceUsageStat 1812 raw := NoMethod(*s) 1813 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1814} 1815 1816// GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig: 1817// AcceleratorConfig defines the accelerator cards to attach to the VM. 1818type GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig struct { 1819 // AcceleratorCount: The number of guest accelerator cards exposed to 1820 // each VM. 1821 AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"` 1822 1823 // AcceleratorType: The type of accelerator to attach to each VM, e.g. 1824 // "nvidia-tesla-k80" for nVidia Tesla K80. 1825 AcceleratorType string `json:"acceleratorType,omitempty"` 1826 1827 // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to 1828 // unconditionally include in API requests. By default, fields with 1829 // empty values are omitted from API requests. However, any non-pointer, 1830 // non-interface field appearing in ForceSendFields will be sent to the 1831 // server regardless of whether the field is empty or not. This may be 1832 // used to include empty fields in Patch requests. 1833 ForceSendFields []string `json:"-"` 1834 1835 // NullFields is a list of field names (e.g. "AcceleratorCount") to 1836 // include in API requests with the JSON null value. By default, fields 1837 // with empty values are omitted from API requests. However, any field 1838 // with an empty value appearing in NullFields will be sent to the 1839 // server as null. It is an error if a field in this list has a 1840 // non-empty value. This may be used to include null fields in Patch 1841 // requests. 1842 NullFields []string `json:"-"` 1843} 1844 1845func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig) MarshalJSON() ([]byte, error) { 1846 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig 1847 raw := NoMethod(*s) 1848 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1849} 1850 1851// GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale: Autoscale 1852// defines the autoscaling policy of a worker pool. 1853type GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale struct { 1854 // MaxSize: The maximal number of workers. Must be equal to or greater 1855 // than min_size. 1856 MaxSize int64 `json:"maxSize,omitempty,string"` 1857 1858 // MinSize: The minimal number of workers. Must be greater than 0. 1859 MinSize int64 `json:"minSize,omitempty,string"` 1860 1861 // ForceSendFields is a list of field names (e.g. "MaxSize") to 1862 // unconditionally include in API requests. By default, fields with 1863 // empty values are omitted from API requests. However, any non-pointer, 1864 // non-interface field appearing in ForceSendFields will be sent to the 1865 // server regardless of whether the field is empty or not. This may be 1866 // used to include empty fields in Patch requests. 1867 ForceSendFields []string `json:"-"` 1868 1869 // NullFields is a list of field names (e.g. "MaxSize") to include in 1870 // API requests with the JSON null value. By default, fields with empty 1871 // values are omitted from API requests. However, any field with an 1872 // empty value appearing in NullFields will be sent to the server as 1873 // null. It is an error if a field in this list has a non-empty value. 1874 // This may be used to include null fields in Patch requests. 1875 NullFields []string `json:"-"` 1876} 1877 1878func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale) MarshalJSON() ([]byte, error) { 1879 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale 1880 raw := NoMethod(*s) 1881 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1882} 1883 1884// GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest: 1885// The request used for `CreateInstance`. 1886type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest struct { 1887 // Instance: Specifies the instance to create. The name in the instance, 1888 // if specified in the instance, is ignored. 1889 Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"` 1890 1891 // InstanceId: ID of the created instance. A valid `instance_id` must: 1892 // be 6-50 characters long, contain only lowercase letters, digits, 1893 // hyphens and underscores, start with a lowercase letter, and end with 1894 // a lowercase letter or a digit. 1895 InstanceId string `json:"instanceId,omitempty"` 1896 1897 // Parent: Resource name of the project containing the instance. Format: 1898 // `projects/[PROJECT_ID]`. 1899 Parent string `json:"parent,omitempty"` 1900 1901 // ForceSendFields is a list of field names (e.g. "Instance") to 1902 // unconditionally include in API requests. By default, fields with 1903 // empty values are omitted from API requests. However, any non-pointer, 1904 // non-interface field appearing in ForceSendFields will be sent to the 1905 // server regardless of whether the field is empty or not. This may be 1906 // used to include empty fields in Patch requests. 1907 ForceSendFields []string `json:"-"` 1908 1909 // NullFields is a list of field names (e.g. "Instance") to include in 1910 // API requests with the JSON null value. By default, fields with empty 1911 // values are omitted from API requests. However, any field with an 1912 // empty value appearing in NullFields will be sent to the server as 1913 // null. It is an error if a field in this list has a non-empty value. 1914 // This may be used to include null fields in Patch requests. 1915 NullFields []string `json:"-"` 1916} 1917 1918func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest) MarshalJSON() ([]byte, error) { 1919 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest 1920 raw := NoMethod(*s) 1921 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1922} 1923 1924// GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest: 1925// The request used for `CreateWorkerPool`. 1926type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest struct { 1927 // Parent: Resource name of the instance in which to create the new 1928 // worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 1929 Parent string `json:"parent,omitempty"` 1930 1931 // PoolId: ID of the created worker pool. A valid pool ID must: be 6-50 1932 // characters long, contain only lowercase letters, digits, hyphens and 1933 // underscores, start with a lowercase letter, and end with a lowercase 1934 // letter or a digit. 1935 PoolId string `json:"poolId,omitempty"` 1936 1937 // WorkerPool: Specifies the worker pool to create. The name in the 1938 // worker pool, if specified, is ignored. 1939 WorkerPool *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPool,omitempty"` 1940 1941 // ForceSendFields is a list of field names (e.g. "Parent") to 1942 // unconditionally include in API requests. By default, fields with 1943 // empty values are omitted from API requests. However, any non-pointer, 1944 // non-interface field appearing in ForceSendFields will be sent to the 1945 // server regardless of whether the field is empty or not. This may be 1946 // used to include empty fields in Patch requests. 1947 ForceSendFields []string `json:"-"` 1948 1949 // NullFields is a list of field names (e.g. "Parent") to include in API 1950 // requests with the JSON null value. By default, fields with empty 1951 // values are omitted from API requests. However, any field with an 1952 // empty value appearing in NullFields will be sent to the server as 1953 // null. It is an error if a field in this list has a non-empty value. 1954 // This may be used to include null fields in Patch requests. 1955 NullFields []string `json:"-"` 1956} 1957 1958func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest) MarshalJSON() ([]byte, error) { 1959 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest 1960 raw := NoMethod(*s) 1961 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1962} 1963 1964// GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest: 1965// The request used for `DeleteInstance`. 1966type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest struct { 1967 // Name: Name of the instance to delete. Format: 1968 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 1969 Name string `json:"name,omitempty"` 1970 1971 // ForceSendFields is a list of field names (e.g. "Name") to 1972 // unconditionally include in API requests. By default, fields with 1973 // empty values are omitted from API requests. However, any non-pointer, 1974 // non-interface field appearing in ForceSendFields will be sent to the 1975 // server regardless of whether the field is empty or not. This may be 1976 // used to include empty fields in Patch requests. 1977 ForceSendFields []string `json:"-"` 1978 1979 // NullFields is a list of field names (e.g. "Name") to include in API 1980 // requests with the JSON null value. By default, fields with empty 1981 // values are omitted from API requests. However, any field with an 1982 // empty value appearing in NullFields will be sent to the server as 1983 // null. It is an error if a field in this list has a non-empty value. 1984 // This may be used to include null fields in Patch requests. 1985 NullFields []string `json:"-"` 1986} 1987 1988func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest) MarshalJSON() ([]byte, error) { 1989 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest 1990 raw := NoMethod(*s) 1991 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1992} 1993 1994// GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest: 1995// The request used for DeleteWorkerPool. 1996type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest struct { 1997 // Name: Name of the worker pool to delete. Format: 1998 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. 1999 Name string `json:"name,omitempty"` 2000 2001 // ForceSendFields is a list of field names (e.g. "Name") to 2002 // unconditionally include in API requests. By default, fields with 2003 // empty values are omitted from API requests. However, any non-pointer, 2004 // non-interface field appearing in ForceSendFields will be sent to the 2005 // server regardless of whether the field is empty or not. This may be 2006 // used to include empty fields in Patch requests. 2007 ForceSendFields []string `json:"-"` 2008 2009 // NullFields is a list of field names (e.g. "Name") to include in API 2010 // requests with the JSON null value. By default, fields with empty 2011 // values are omitted from API requests. However, any field with an 2012 // empty value appearing in NullFields will be sent to the server as 2013 // null. It is an error if a field in this list has a non-empty value. 2014 // This may be used to include null fields in Patch requests. 2015 NullFields []string `json:"-"` 2016} 2017 2018func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest) MarshalJSON() ([]byte, error) { 2019 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest 2020 raw := NoMethod(*s) 2021 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2022} 2023 2024// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy: 2025// FeaturePolicy defines features allowed to be used on RBE instances, 2026// as well as instance-wide behavior changes that take effect without 2027// opt-in or opt-out at usage time. 2028type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy struct { 2029 // ContainerImageSources: Which container image sources are allowed. 2030 // Currently only RBE-supported registry (gcr.io) is allowed. One can 2031 // allow all repositories under a project or one specific repository 2032 // only. E.g. container_image_sources { policy: RESTRICTED 2033 // allowed_values: [ "gcr.io/project-foo", 2034 // "gcr.io/project-bar/repo-baz", ] } will allow any repositories under 2035 // "gcr.io/project-foo" plus the repository 2036 // "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to 2037 // any source is allowed. 2038 ContainerImageSources *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"containerImageSources,omitempty"` 2039 2040 // DockerAddCapabilities: Whether dockerAddCapabilities can be used or 2041 // what capabilities are allowed. 2042 DockerAddCapabilities *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerAddCapabilities,omitempty"` 2043 2044 // DockerChrootPath: Whether dockerChrootPath can be used. 2045 DockerChrootPath *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerChrootPath,omitempty"` 2046 2047 // DockerNetwork: Whether dockerNetwork can be used or what network 2048 // modes are allowed. E.g. one may allow `off` value only via 2049 // `allowed_values`. 2050 DockerNetwork *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerNetwork,omitempty"` 2051 2052 // DockerPrivileged: Whether dockerPrivileged can be used. 2053 DockerPrivileged *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerPrivileged,omitempty"` 2054 2055 // DockerRunAsRoot: Whether dockerRunAsRoot can be used. 2056 DockerRunAsRoot *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRunAsRoot,omitempty"` 2057 2058 // DockerRuntime: Whether dockerRuntime is allowed to be set or what 2059 // runtimes are allowed. Note linux_isolation takes precedence, and if 2060 // set, docker_runtime values may be rejected if they are incompatible 2061 // with the selected isolation. 2062 DockerRuntime *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRuntime,omitempty"` 2063 2064 // DockerSiblingContainers: Whether dockerSiblingContainers can be used. 2065 DockerSiblingContainers *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerSiblingContainers,omitempty"` 2066 2067 // LinuxIsolation: linux_isolation allows overriding the docker runtime 2068 // used for containers started on Linux. 2069 // 2070 // Possible values: 2071 // "LINUX_ISOLATION_UNSPECIFIED" - Default value. Will be using Linux 2072 // default runtime. 2073 // "GVISOR" - Use gVisor runsc runtime. 2074 // "OFF" - Use stardard Linux runtime. This has the same behaviour as 2075 // unspecified, but it can be used to revert back from gVisor. 2076 LinuxIsolation string `json:"linuxIsolation,omitempty"` 2077 2078 // ForceSendFields is a list of field names (e.g. 2079 // "ContainerImageSources") to unconditionally include in API requests. 2080 // By default, fields with empty values are omitted from API requests. 2081 // However, any non-pointer, non-interface field appearing in 2082 // ForceSendFields will be sent to the server regardless of whether the 2083 // field is empty or not. This may be used to include empty fields in 2084 // Patch requests. 2085 ForceSendFields []string `json:"-"` 2086 2087 // NullFields is a list of field names (e.g. "ContainerImageSources") to 2088 // include in API requests with the JSON null value. By default, fields 2089 // with empty values are omitted from API requests. However, any field 2090 // with an empty value appearing in NullFields will be sent to the 2091 // server as null. It is an error if a field in this list has a 2092 // non-empty value. This may be used to include null fields in Patch 2093 // requests. 2094 NullFields []string `json:"-"` 2095} 2096 2097func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy) MarshalJSON() ([]byte, error) { 2098 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy 2099 raw := NoMethod(*s) 2100 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2101} 2102 2103// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature: 2104// Defines whether a feature can be used or what values are accepted. 2105type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature struct { 2106 // AllowedValues: A list of acceptable values. Only effective when the 2107 // policy is `RESTRICTED`. 2108 AllowedValues []string `json:"allowedValues,omitempty"` 2109 2110 // Policy: The policy of the feature. 2111 // 2112 // Possible values: 2113 // "POLICY_UNSPECIFIED" - Default value, if not explicitly set. 2114 // Equivalent to FORBIDDEN, unless otherwise documented on a specific 2115 // Feature. 2116 // "ALLOWED" - Feature is explicitly allowed. 2117 // "FORBIDDEN" - Feature is forbidden. Requests attempting to leverage 2118 // it will get an FailedPrecondition error, with a message like: 2119 // "Feature forbidden by FeaturePolicy: Feature on instance " 2120 // "RESTRICTED" - Only the values specified in the `allowed_values` 2121 // are allowed. 2122 Policy string `json:"policy,omitempty"` 2123 2124 // ForceSendFields is a list of field names (e.g. "AllowedValues") to 2125 // unconditionally include in API requests. By default, fields with 2126 // empty values are omitted from API requests. However, any non-pointer, 2127 // non-interface field appearing in ForceSendFields will be sent to the 2128 // server regardless of whether the field is empty or not. This may be 2129 // used to include empty fields in Patch requests. 2130 ForceSendFields []string `json:"-"` 2131 2132 // NullFields is a list of field names (e.g. "AllowedValues") to include 2133 // in API requests with the JSON null value. By default, fields with 2134 // empty values are omitted from API requests. However, any field with 2135 // an empty value appearing in NullFields will be sent to the server as 2136 // null. It is an error if a field in this list has a non-empty value. 2137 // This may be used to include null fields in Patch requests. 2138 NullFields []string `json:"-"` 2139} 2140 2141func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature) MarshalJSON() ([]byte, error) { 2142 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature 2143 raw := NoMethod(*s) 2144 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2145} 2146 2147// GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest: The 2148// request used for `GetInstance`. 2149type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest struct { 2150 // Name: Name of the instance to retrieve. Format: 2151 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 2152 Name string `json:"name,omitempty"` 2153 2154 // ForceSendFields is a list of field names (e.g. "Name") to 2155 // unconditionally include in API requests. By default, fields with 2156 // empty values are omitted from API requests. However, any non-pointer, 2157 // non-interface field appearing in ForceSendFields will be sent to the 2158 // server regardless of whether the field is empty or not. This may be 2159 // used to include empty fields in Patch requests. 2160 ForceSendFields []string `json:"-"` 2161 2162 // NullFields is a list of field names (e.g. "Name") to include in API 2163 // requests with the JSON null value. By default, fields with empty 2164 // values are omitted from API requests. However, any field with an 2165 // empty value appearing in NullFields will be sent to the server as 2166 // null. It is an error if a field in this list has a non-empty value. 2167 // This may be used to include null fields in Patch requests. 2168 NullFields []string `json:"-"` 2169} 2170 2171func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest) MarshalJSON() ([]byte, error) { 2172 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest 2173 raw := NoMethod(*s) 2174 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2175} 2176 2177// GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest: 2178// The request used for GetWorkerPool. 2179type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest struct { 2180 // Name: Name of the worker pool to retrieve. Format: 2181 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. 2182 Name string `json:"name,omitempty"` 2183 2184 // ForceSendFields is a list of field names (e.g. "Name") to 2185 // unconditionally include in API requests. By default, fields with 2186 // empty values are omitted from API requests. However, any non-pointer, 2187 // non-interface field appearing in ForceSendFields will be sent to the 2188 // server regardless of whether the field is empty or not. This may be 2189 // used to include empty fields in Patch requests. 2190 ForceSendFields []string `json:"-"` 2191 2192 // NullFields is a list of field names (e.g. "Name") to include in API 2193 // requests with the JSON null value. By default, fields with empty 2194 // values are omitted from API requests. However, any field with an 2195 // empty value appearing in NullFields will be sent to the server as 2196 // null. It is an error if a field in this list has a non-empty value. 2197 // This may be used to include null fields in Patch requests. 2198 NullFields []string `json:"-"` 2199} 2200 2201func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest) MarshalJSON() ([]byte, error) { 2202 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest 2203 raw := NoMethod(*s) 2204 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2205} 2206 2207// GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance: Instance 2208// conceptually encapsulates all Remote Build Execution resources for 2209// remote builds. An instance consists of storage and compute resources 2210// (for example, `ContentAddressableStorage`, `ActionCache`, 2211// `WorkerPools`) used for running remote builds. All Remote Build 2212// Execution API calls are scoped to an instance. 2213type GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance struct { 2214 // FeaturePolicy: The policy to define whether or not RBE features can 2215 // be used or how they can be used. 2216 FeaturePolicy *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy `json:"featurePolicy,omitempty"` 2217 2218 // Location: The location is a GCP region. Currently only `us-central1` 2219 // is supported. 2220 Location string `json:"location,omitempty"` 2221 2222 // LoggingEnabled: Output only. Whether stack driver logging is enabled 2223 // for the instance. 2224 LoggingEnabled bool `json:"loggingEnabled,omitempty"` 2225 2226 // Name: Output only. Instance resource name formatted as: 2227 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be 2228 // populated when creating an instance since it is provided in the 2229 // `instance_id` field. 2230 Name string `json:"name,omitempty"` 2231 2232 // State: Output only. State of the instance. 2233 // 2234 // Possible values: 2235 // "STATE_UNSPECIFIED" - Not a valid state, but the default value of 2236 // the enum. 2237 // "CREATING" - The instance is in state `CREATING` once 2238 // `CreateInstance` is called and before the instance is ready for use. 2239 // "RUNNING" - The instance is in state `RUNNING` when it is ready for 2240 // use. 2241 // "INACTIVE" - An `INACTIVE` instance indicates that there is a 2242 // problem that needs to be fixed. Such instances cannot be used for 2243 // execution and instances that remain in this state for a significant 2244 // period of time will be removed permanently. 2245 State string `json:"state,omitempty"` 2246 2247 // ServerResponse contains the HTTP response code and headers from the 2248 // server. 2249 googleapi.ServerResponse `json:"-"` 2250 2251 // ForceSendFields is a list of field names (e.g. "FeaturePolicy") to 2252 // unconditionally include in API requests. By default, fields with 2253 // empty values are omitted from API requests. However, any non-pointer, 2254 // non-interface field appearing in ForceSendFields will be sent to the 2255 // server regardless of whether the field is empty or not. This may be 2256 // used to include empty fields in Patch requests. 2257 ForceSendFields []string `json:"-"` 2258 2259 // NullFields is a list of field names (e.g. "FeaturePolicy") to include 2260 // in API requests with the JSON null value. By default, fields with 2261 // empty values are omitted from API requests. However, any field with 2262 // an empty value appearing in NullFields will be sent to the server as 2263 // null. It is an error if a field in this list has a non-empty value. 2264 // This may be used to include null fields in Patch requests. 2265 NullFields []string `json:"-"` 2266} 2267 2268func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance) MarshalJSON() ([]byte, error) { 2269 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance 2270 raw := NoMethod(*s) 2271 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2272} 2273 2274type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest struct { 2275 // Parent: Resource name of the project. Format: 2276 // `projects/[PROJECT_ID]`. 2277 Parent string `json:"parent,omitempty"` 2278 2279 // ForceSendFields is a list of field names (e.g. "Parent") to 2280 // unconditionally include in API requests. By default, fields with 2281 // empty values are omitted from API requests. However, any non-pointer, 2282 // non-interface field appearing in ForceSendFields will be sent to the 2283 // server regardless of whether the field is empty or not. This may be 2284 // used to include empty fields in Patch requests. 2285 ForceSendFields []string `json:"-"` 2286 2287 // NullFields is a list of field names (e.g. "Parent") to include in API 2288 // requests with the JSON null value. By default, fields with empty 2289 // values are omitted from API requests. However, any field with an 2290 // empty value appearing in NullFields will be sent to the server as 2291 // null. It is an error if a field in this list has a non-empty value. 2292 // This may be used to include null fields in Patch requests. 2293 NullFields []string `json:"-"` 2294} 2295 2296func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest) MarshalJSON() ([]byte, error) { 2297 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest 2298 raw := NoMethod(*s) 2299 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2300} 2301 2302type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse struct { 2303 // Instances: The list of instances in a given project. 2304 Instances []*GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instances,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. "Instances") 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. "Instances") to include in 2319 // API requests with the JSON null value. By default, fields with empty 2320 // values are omitted from API requests. However, any field with an 2321 // 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 2327func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse) MarshalJSON() ([]byte, error) { 2328 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse 2329 raw := NoMethod(*s) 2330 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2331} 2332 2333type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest struct { 2334 // Filter: Optional. A filter expression that filters resources listed 2335 // in the response. The expression must specify the field name, a 2336 // comparison operator, and the value that you want to use for 2337 // filtering. The value must be a string, a number, or a boolean. String 2338 // values are case-insensitive. The comparison operator must be either 2339 // `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` operator can be used 2340 // with string fields to match substrings. For non-string fields it is 2341 // equivalent to the `=` operator. The `:*` comparison can be used to 2342 // test whether a key has been defined. You can also filter on nested 2343 // fields. To filter on multiple expressions, you can separate 2344 // expression using `AND` and `OR` operators, using parentheses to 2345 // specify precedence. If neither operator is specified, `AND` is 2346 // assumed. Examples: Include only pools with more than 100 reserved 2347 // workers: `(worker_count > 100) (worker_config.reserved = true)` 2348 // Include only pools with a certain label or machines of the 2349 // e2-standard family: `worker_config.labels.key1 : * OR 2350 // worker_config.machine_type: e2-standard` 2351 Filter string `json:"filter,omitempty"` 2352 2353 // Parent: Resource name of the instance. Format: 2354 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 2355 Parent string `json:"parent,omitempty"` 2356 2357 // ForceSendFields is a list of field names (e.g. "Filter") to 2358 // unconditionally include in API requests. By default, fields with 2359 // empty values are omitted from API requests. However, any non-pointer, 2360 // non-interface field appearing in ForceSendFields will be sent to the 2361 // server regardless of whether the field is empty or not. This may be 2362 // used to include empty fields in Patch requests. 2363 ForceSendFields []string `json:"-"` 2364 2365 // NullFields is a list of field names (e.g. "Filter") to include in API 2366 // requests with the JSON null value. By default, fields with empty 2367 // values are omitted from API requests. However, any field with an 2368 // empty value appearing in NullFields will be sent to the server as 2369 // null. It is an error if a field in this list has a non-empty value. 2370 // This may be used to include null fields in Patch requests. 2371 NullFields []string `json:"-"` 2372} 2373 2374func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest) MarshalJSON() ([]byte, error) { 2375 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest 2376 raw := NoMethod(*s) 2377 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2378} 2379 2380type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse struct { 2381 // WorkerPools: The list of worker pools in a given instance. 2382 WorkerPools []*GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPools,omitempty"` 2383 2384 // ServerResponse contains the HTTP response code and headers from the 2385 // server. 2386 googleapi.ServerResponse `json:"-"` 2387 2388 // ForceSendFields is a list of field names (e.g. "WorkerPools") to 2389 // unconditionally include in API requests. By default, fields with 2390 // empty values are omitted from API requests. However, any non-pointer, 2391 // non-interface field appearing in ForceSendFields will be sent to the 2392 // server regardless of whether the field is empty or not. This may be 2393 // used to include empty fields in Patch requests. 2394 ForceSendFields []string `json:"-"` 2395 2396 // NullFields is a list of field names (e.g. "WorkerPools") to include 2397 // in API requests with the JSON null value. By default, fields with 2398 // empty values are omitted from API requests. However, any field with 2399 // an empty value appearing in NullFields will be sent to the server as 2400 // null. It is an error if a field in this list has a non-empty value. 2401 // This may be used to include null fields in Patch requests. 2402 NullFields []string `json:"-"` 2403} 2404 2405func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse) MarshalJSON() ([]byte, error) { 2406 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse 2407 raw := NoMethod(*s) 2408 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2409} 2410 2411// GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest: 2412// The request used for `UpdateInstance`. 2413type GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest struct { 2414 // Instance: Specifies the instance to update. 2415 Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"` 2416 2417 // LoggingEnabled: Deprecated, use instance.logging_enabled instead. 2418 // Whether to enable Stackdriver logging for this instance. 2419 LoggingEnabled bool `json:"loggingEnabled,omitempty"` 2420 2421 // Name: Deprecated, use instance.Name instead. Name of the instance to 2422 // update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 2423 Name string `json:"name,omitempty"` 2424 2425 // UpdateMask: The update mask applies to instance. For the `FieldMask` 2426 // definition, see 2427 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask 2428 // If an empty update_mask is provided, only the non-default valued 2429 // field in the worker pool field will be updated. Note that in order to 2430 // update a field to the default value (zero, false, empty string) an 2431 // explicit update_mask must be provided. 2432 UpdateMask string `json:"updateMask,omitempty"` 2433 2434 // ForceSendFields is a list of field names (e.g. "Instance") to 2435 // unconditionally include in API requests. By default, fields with 2436 // empty values are omitted from API requests. However, any non-pointer, 2437 // non-interface field appearing in ForceSendFields will be sent to the 2438 // server regardless of whether the field is empty or not. This may be 2439 // used to include empty fields in Patch requests. 2440 ForceSendFields []string `json:"-"` 2441 2442 // NullFields is a list of field names (e.g. "Instance") to include in 2443 // API requests with the JSON null value. By default, fields with empty 2444 // values are omitted from API requests. However, any field with an 2445 // empty value appearing in NullFields will be sent to the server as 2446 // null. It is an error if a field in this list has a non-empty value. 2447 // This may be used to include null fields in Patch requests. 2448 NullFields []string `json:"-"` 2449} 2450 2451func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest) MarshalJSON() ([]byte, error) { 2452 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest 2453 raw := NoMethod(*s) 2454 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2455} 2456 2457// GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest: 2458// The request used for UpdateWorkerPool. 2459type GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest struct { 2460 // UpdateMask: The update mask applies to worker_pool. For the 2461 // `FieldMask` definition, see 2462 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask 2463 // If an empty update_mask is provided, only the non-default valued 2464 // field in the worker pool field will be updated. Note that in order to 2465 // update a field to the default value (zero, false, empty string) an 2466 // explicit update_mask must be provided. 2467 UpdateMask string `json:"updateMask,omitempty"` 2468 2469 // WorkerPool: Specifies the worker pool to update. 2470 WorkerPool *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPool,omitempty"` 2471 2472 // ForceSendFields is a list of field names (e.g. "UpdateMask") to 2473 // unconditionally include in API requests. By default, fields with 2474 // empty values are omitted from API requests. However, any non-pointer, 2475 // non-interface field appearing in ForceSendFields will be sent to the 2476 // server regardless of whether the field is empty or not. This may be 2477 // used to include empty fields in Patch requests. 2478 ForceSendFields []string `json:"-"` 2479 2480 // NullFields is a list of field names (e.g. "UpdateMask") to include in 2481 // API requests with the JSON null value. By default, fields with empty 2482 // values are omitted from API requests. However, any field with an 2483 // empty value appearing in NullFields will be sent to the server as 2484 // null. It is an error if a field in this list has a non-empty value. 2485 // This may be used to include null fields in Patch requests. 2486 NullFields []string `json:"-"` 2487} 2488 2489func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest) MarshalJSON() ([]byte, error) { 2490 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest 2491 raw := NoMethod(*s) 2492 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2493} 2494 2495// GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig: Defines 2496// the configuration to be used for creating workers in the worker pool. 2497type GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig struct { 2498 // Accelerator: The accelerator card attached to each VM. 2499 Accelerator *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig `json:"accelerator,omitempty"` 2500 2501 // DiskSizeGb: Required. Size of the disk attached to the worker, in GB. 2502 // See https://cloud.google.com/compute/docs/disks/ 2503 DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"` 2504 2505 // DiskType: Required. Disk Type to use for the worker. See Storage 2506 // options (https://cloud.google.com/compute/docs/disks/#introduction). 2507 // Currently only `pd-standard` and `pd-ssd` are supported. 2508 DiskType string `json:"diskType,omitempty"` 2509 2510 // Labels: Labels associated with the workers. Label keys and values can 2511 // be no longer than 63 characters, can only contain lowercase letters, 2512 // numeric characters, underscores and dashes. International letters are 2513 // permitted. Label keys must start with a letter. Label values are 2514 // optional. There can not be more than 64 labels per resource. 2515 Labels map[string]string `json:"labels,omitempty"` 2516 2517 // MachineType: Required. Machine type of the worker, such as 2518 // `e2-standard-2`. See 2519 // https://cloud.google.com/compute/docs/machine-types for a list of 2520 // supported machine types. Note that `f1-micro` and `g1-small` are not 2521 // yet supported. 2522 MachineType string `json:"machineType,omitempty"` 2523 2524 // MaxConcurrentActions: The maximum number of actions a worker can 2525 // execute concurrently. 2526 MaxConcurrentActions int64 `json:"maxConcurrentActions,omitempty,string"` 2527 2528 // MinCpuPlatform: Minimum CPU platform to use when creating the worker. 2529 // See CPU Platforms 2530 // (https://cloud.google.com/compute/docs/cpu-platforms). 2531 MinCpuPlatform string `json:"minCpuPlatform,omitempty"` 2532 2533 // NetworkAccess: Determines the type of network access granted to 2534 // workers. Possible values: - "public": Workers can connect to the 2535 // public internet. - "private": Workers can only connect to Google APIs 2536 // and services. - "restricted-private": Workers can only connect to 2537 // Google APIs that are reachable through `restricted.googleapis.com` 2538 // (`199.36.153.4/30`). 2539 NetworkAccess string `json:"networkAccess,omitempty"` 2540 2541 // Reserved: Determines whether the worker is reserved (equivalent to a 2542 // Compute Engine on-demand VM and therefore won't be preempted). See 2543 // Preemptible VMs (https://cloud.google.com/preemptible-vms/) for more 2544 // details. 2545 Reserved bool `json:"reserved,omitempty"` 2546 2547 // SoleTenantNodeType: The node type name to be used for sole-tenant 2548 // nodes. 2549 SoleTenantNodeType string `json:"soleTenantNodeType,omitempty"` 2550 2551 // VmImage: The name of the image used by each VM. 2552 VmImage string `json:"vmImage,omitempty"` 2553 2554 // ForceSendFields is a list of field names (e.g. "Accelerator") to 2555 // unconditionally include in API requests. By default, fields with 2556 // empty values are omitted from API requests. However, any non-pointer, 2557 // non-interface field appearing in ForceSendFields will be sent to the 2558 // server regardless of whether the field is empty or not. This may be 2559 // used to include empty fields in Patch requests. 2560 ForceSendFields []string `json:"-"` 2561 2562 // NullFields is a list of field names (e.g. "Accelerator") to include 2563 // in API requests with the JSON null value. By default, fields with 2564 // empty values are omitted from API requests. However, any field with 2565 // an empty value appearing in NullFields will be sent to the server as 2566 // null. It is an error if a field in this list has a non-empty value. 2567 // This may be used to include null fields in Patch requests. 2568 NullFields []string `json:"-"` 2569} 2570 2571func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig) MarshalJSON() ([]byte, error) { 2572 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig 2573 raw := NoMethod(*s) 2574 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2575} 2576 2577// GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool: A worker 2578// pool resource in the Remote Build Execution API. 2579type GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool struct { 2580 // Autoscale: The autoscale policy to apply on a pool. 2581 Autoscale *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale `json:"autoscale,omitempty"` 2582 2583 // Channel: Channel specifies the release channel of the pool. 2584 Channel string `json:"channel,omitempty"` 2585 2586 // Name: WorkerPool resource name formatted as: 2587 // `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. 2588 // name should not be populated when creating a worker pool since it is 2589 // provided in the `poolId` field. 2590 Name string `json:"name,omitempty"` 2591 2592 // State: Output only. State of the worker pool. 2593 // 2594 // Possible values: 2595 // "STATE_UNSPECIFIED" - Not a valid state, but the default value of 2596 // the enum. 2597 // "CREATING" - The worker pool is in state `CREATING` once 2598 // `CreateWorkerPool` is called and before all requested workers are 2599 // ready. 2600 // "RUNNING" - The worker pool is in state `RUNNING` when all its 2601 // workers are ready for use. 2602 // "UPDATING" - The worker pool is in state `UPDATING` once 2603 // `UpdateWorkerPool` is called and before the new configuration has all 2604 // the requested workers ready for use, and no older configuration has 2605 // any workers. At that point the state transitions to `RUNNING`. 2606 // "DELETING" - The worker pool is in state `DELETING` once the 2607 // `Delete` method is called and before the deletion completes. 2608 // "INACTIVE" - The worker pool is in state `INACTIVE` when the 2609 // instance hosting the worker pool in not running. 2610 State string `json:"state,omitempty"` 2611 2612 // WorkerConfig: Specifies the properties, such as machine type and disk 2613 // size, used for creating workers in a worker pool. 2614 WorkerConfig *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig `json:"workerConfig,omitempty"` 2615 2616 // WorkerCount: The desired number of workers in the worker pool. Must 2617 // be a value between 0 and 15000. 2618 WorkerCount int64 `json:"workerCount,omitempty,string"` 2619 2620 // ServerResponse contains the HTTP response code and headers from the 2621 // server. 2622 googleapi.ServerResponse `json:"-"` 2623 2624 // ForceSendFields is a list of field names (e.g. "Autoscale") to 2625 // unconditionally include in API requests. By default, fields with 2626 // empty values are omitted from API requests. However, any non-pointer, 2627 // non-interface field appearing in ForceSendFields will be sent to the 2628 // server regardless of whether the field is empty or not. This may be 2629 // used to include empty fields in Patch requests. 2630 ForceSendFields []string `json:"-"` 2631 2632 // NullFields is a list of field names (e.g. "Autoscale") to include in 2633 // API requests with the JSON null value. By default, fields with empty 2634 // values are omitted from API requests. However, any field with an 2635 // empty value appearing in NullFields will be sent to the server as 2636 // null. It is an error if a field in this list has a non-empty value. 2637 // This may be used to include null fields in Patch requests. 2638 NullFields []string `json:"-"` 2639} 2640 2641func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool) MarshalJSON() ([]byte, error) { 2642 type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool 2643 raw := NoMethod(*s) 2644 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2645} 2646 2647// GoogleDevtoolsRemoteworkersV1test2AdminTemp: AdminTemp is a 2648// prelimiary set of administration tasks. It's called "Temp" because we 2649// do not yet know the best way to represent admin tasks; it's possible 2650// that this will be entirely replaced in later versions of this API. If 2651// this message proves to be sufficient, it will be renamed in the alpha 2652// or beta release of this API. This message (suitably marshalled into a 2653// protobuf.Any) can be used as the inline_assignment field in a lease; 2654// the lease assignment field should simply be "admin" in these cases. 2655// This message is heavily based on Swarming administration tasks from 2656// the LUCI project (http://github.com/luci/luci-py/appengine/swarming). 2657type GoogleDevtoolsRemoteworkersV1test2AdminTemp struct { 2658 // Arg: The argument to the admin action; see `Command` for semantics. 2659 Arg string `json:"arg,omitempty"` 2660 2661 // Command: The admin action; see `Command` for legal values. 2662 // 2663 // Possible values: 2664 // "UNSPECIFIED" - Illegal value. 2665 // "BOT_UPDATE" - Download and run a new version of the bot. `arg` 2666 // will be a resource accessible via `ByteStream.Read` to obtain the new 2667 // bot code. 2668 // "BOT_RESTART" - Restart the bot without downloading a new version. 2669 // `arg` will be a message to log. 2670 // "BOT_TERMINATE" - Shut down the bot. `arg` will be a task resource 2671 // name (similar to those in tasks.proto) that the bot can use to tell 2672 // the server that it is terminating. 2673 // "HOST_RESTART" - Restart the host computer. `arg` will be a message 2674 // to log. 2675 Command string `json:"command,omitempty"` 2676 2677 // ForceSendFields is a list of field names (e.g. "Arg") to 2678 // unconditionally include in API requests. By default, fields with 2679 // empty values are omitted from API requests. However, any non-pointer, 2680 // non-interface field appearing in ForceSendFields will be sent to the 2681 // server regardless of whether the field is empty or not. This may be 2682 // used to include empty fields in Patch requests. 2683 ForceSendFields []string `json:"-"` 2684 2685 // NullFields is a list of field names (e.g. "Arg") to include in API 2686 // requests with the JSON null value. By default, fields with empty 2687 // values are omitted from API requests. However, any field with an 2688 // empty value appearing in NullFields will be sent to the server as 2689 // null. It is an error if a field in this list has a non-empty value. 2690 // This may be used to include null fields in Patch requests. 2691 NullFields []string `json:"-"` 2692} 2693 2694func (s *GoogleDevtoolsRemoteworkersV1test2AdminTemp) MarshalJSON() ([]byte, error) { 2695 type NoMethod GoogleDevtoolsRemoteworkersV1test2AdminTemp 2696 raw := NoMethod(*s) 2697 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2698} 2699 2700// GoogleDevtoolsRemoteworkersV1test2Blob: Describes a blob of binary 2701// content with its digest. 2702type GoogleDevtoolsRemoteworkersV1test2Blob struct { 2703 // Contents: The contents of the blob. 2704 Contents string `json:"contents,omitempty"` 2705 2706 // Digest: The digest of the blob. This should be verified by the 2707 // receiver. 2708 Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"` 2709 2710 // ForceSendFields is a list of field names (e.g. "Contents") to 2711 // unconditionally include in API requests. By default, fields with 2712 // empty values are omitted from API requests. However, any non-pointer, 2713 // non-interface field appearing in ForceSendFields will be sent to the 2714 // server regardless of whether the field is empty or not. This may be 2715 // used to include empty fields in Patch requests. 2716 ForceSendFields []string `json:"-"` 2717 2718 // NullFields is a list of field names (e.g. "Contents") to include in 2719 // API requests with the JSON null value. By default, fields with empty 2720 // values are omitted from API requests. However, any field with an 2721 // empty value appearing in NullFields will be sent to the server as 2722 // null. It is an error if a field in this list has a non-empty value. 2723 // This may be used to include null fields in Patch requests. 2724 NullFields []string `json:"-"` 2725} 2726 2727func (s *GoogleDevtoolsRemoteworkersV1test2Blob) MarshalJSON() ([]byte, error) { 2728 type NoMethod GoogleDevtoolsRemoteworkersV1test2Blob 2729 raw := NoMethod(*s) 2730 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2731} 2732 2733// GoogleDevtoolsRemoteworkersV1test2CommandOutputs: DEPRECATED - use 2734// CommandResult instead. Describes the actual outputs from the task. 2735type GoogleDevtoolsRemoteworkersV1test2CommandOutputs struct { 2736 // ExitCode: exit_code is only fully reliable if the status' code is OK. 2737 // If the task exceeded its deadline or was cancelled, the process may 2738 // still produce an exit code as it is cancelled, and this will be 2739 // populated, but a successful (zero) is unlikely to be correct unless 2740 // the status code is OK. 2741 ExitCode int64 `json:"exitCode,omitempty"` 2742 2743 // Outputs: The output files. The blob referenced by the digest should 2744 // contain one of the following (implementation-dependent): * A 2745 // marshalled DirectoryMetadata of the returned filesystem * A 2746 // LUCI-style .isolated file 2747 Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"` 2748 2749 // ForceSendFields is a list of field names (e.g. "ExitCode") to 2750 // unconditionally include in API requests. By default, fields with 2751 // empty values are omitted from API requests. However, any non-pointer, 2752 // non-interface field appearing in ForceSendFields will be sent to the 2753 // server regardless of whether the field is empty or not. This may be 2754 // used to include empty fields in Patch requests. 2755 ForceSendFields []string `json:"-"` 2756 2757 // NullFields is a list of field names (e.g. "ExitCode") to include in 2758 // API requests with the JSON null value. By default, fields with empty 2759 // values are omitted from API requests. However, any field with an 2760 // empty value appearing in NullFields will be sent to the server as 2761 // null. It is an error if a field in this list has a non-empty value. 2762 // This may be used to include null fields in Patch requests. 2763 NullFields []string `json:"-"` 2764} 2765 2766func (s *GoogleDevtoolsRemoteworkersV1test2CommandOutputs) MarshalJSON() ([]byte, error) { 2767 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandOutputs 2768 raw := NoMethod(*s) 2769 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2770} 2771 2772// GoogleDevtoolsRemoteworkersV1test2CommandOverhead: DEPRECATED - use 2773// CommandResult instead. Can be used as part of 2774// CompleteRequest.metadata, or are part of a more sophisticated 2775// message. 2776type GoogleDevtoolsRemoteworkersV1test2CommandOverhead struct { 2777 // Duration: The elapsed time between calling Accept and Complete. The 2778 // server will also have its own idea of what this should be, but this 2779 // excludes the overhead of the RPCs and the bot response time. 2780 Duration string `json:"duration,omitempty"` 2781 2782 // Overhead: The amount of time *not* spent executing the command (ie 2783 // uploading/downloading files). 2784 Overhead string `json:"overhead,omitempty"` 2785 2786 // ForceSendFields is a list of field names (e.g. "Duration") to 2787 // unconditionally include in API requests. By default, fields with 2788 // empty values are omitted from API requests. However, any non-pointer, 2789 // non-interface field appearing in ForceSendFields will be sent to the 2790 // server regardless of whether the field is empty or not. This may be 2791 // used to include empty fields in Patch requests. 2792 ForceSendFields []string `json:"-"` 2793 2794 // NullFields is a list of field names (e.g. "Duration") to include in 2795 // API requests with the JSON null value. By default, fields with empty 2796 // values are omitted from API requests. However, any field with an 2797 // empty value appearing in NullFields will be sent to the server as 2798 // null. It is an error if a field in this list has a non-empty value. 2799 // This may be used to include null fields in Patch requests. 2800 NullFields []string `json:"-"` 2801} 2802 2803func (s *GoogleDevtoolsRemoteworkersV1test2CommandOverhead) MarshalJSON() ([]byte, error) { 2804 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandOverhead 2805 raw := NoMethod(*s) 2806 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2807} 2808 2809// GoogleDevtoolsRemoteworkersV1test2CommandResult: All information 2810// about the execution of a command, suitable for providing as the Bots 2811// interface's `Lease.result` field. 2812type GoogleDevtoolsRemoteworkersV1test2CommandResult struct { 2813 // Duration: The elapsed time between calling Accept and Complete. The 2814 // server will also have its own idea of what this should be, but this 2815 // excludes the overhead of the RPCs and the bot response time. 2816 Duration string `json:"duration,omitempty"` 2817 2818 // ExitCode: The exit code of the process. An exit code of "0" should 2819 // only be trusted if `status` has a code of OK (otherwise it may simply 2820 // be unset). 2821 ExitCode int64 `json:"exitCode,omitempty"` 2822 2823 // Metadata: Implementation-dependent metadata about the task. Both 2824 // servers and bots may define messages which can be encoded here; bots 2825 // are free to provide metadata in multiple formats, and servers are 2826 // free to choose one or more of the values to process and ignore 2827 // others. In particular, it is *not* considered an error for the bot to 2828 // provide the server with a field that it doesn't know about. 2829 Metadata []googleapi.RawMessage `json:"metadata,omitempty"` 2830 2831 // Outputs: The output files. The blob referenced by the digest should 2832 // contain one of the following (implementation-dependent): * A 2833 // marshalled DirectoryMetadata of the returned filesystem * A 2834 // LUCI-style .isolated file 2835 Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"` 2836 2837 // Overhead: The amount of time *not* spent executing the command (ie 2838 // uploading/downloading files). 2839 Overhead string `json:"overhead,omitempty"` 2840 2841 // Status: An overall status for the command. For example, if the 2842 // command timed out, this might have a code of DEADLINE_EXCEEDED; if it 2843 // was killed by the OS for memory exhaustion, it might have a code of 2844 // RESOURCE_EXHAUSTED. 2845 Status *GoogleRpcStatus `json:"status,omitempty"` 2846 2847 // ForceSendFields is a list of field names (e.g. "Duration") to 2848 // unconditionally include in API requests. By default, fields with 2849 // empty values are omitted from API requests. However, any non-pointer, 2850 // non-interface field appearing in ForceSendFields will be sent to the 2851 // server regardless of whether the field is empty or not. This may be 2852 // used to include empty fields in Patch requests. 2853 ForceSendFields []string `json:"-"` 2854 2855 // NullFields is a list of field names (e.g. "Duration") to include in 2856 // API requests with the JSON null value. By default, fields with empty 2857 // values are omitted from API requests. However, any field with an 2858 // empty value appearing in NullFields will be sent to the server as 2859 // null. It is an error if a field in this list has a non-empty value. 2860 // This may be used to include null fields in Patch requests. 2861 NullFields []string `json:"-"` 2862} 2863 2864func (s *GoogleDevtoolsRemoteworkersV1test2CommandResult) MarshalJSON() ([]byte, error) { 2865 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandResult 2866 raw := NoMethod(*s) 2867 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2868} 2869 2870// GoogleDevtoolsRemoteworkersV1test2CommandTask: Describes a 2871// shell-style task to execute, suitable for providing as the Bots 2872// interface's `Lease.payload` field. 2873type GoogleDevtoolsRemoteworkersV1test2CommandTask struct { 2874 // ExpectedOutputs: The expected outputs from the task. 2875 ExpectedOutputs *GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs `json:"expectedOutputs,omitempty"` 2876 2877 // Inputs: The inputs to the task. 2878 Inputs *GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs `json:"inputs,omitempty"` 2879 2880 // Timeouts: The timeouts of this task. 2881 Timeouts *GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts `json:"timeouts,omitempty"` 2882 2883 // ForceSendFields is a list of field names (e.g. "ExpectedOutputs") to 2884 // unconditionally include in API requests. By default, fields with 2885 // empty values are omitted from API requests. However, any non-pointer, 2886 // non-interface field appearing in ForceSendFields will be sent to the 2887 // server regardless of whether the field is empty or not. This may be 2888 // used to include empty fields in Patch requests. 2889 ForceSendFields []string `json:"-"` 2890 2891 // NullFields is a list of field names (e.g. "ExpectedOutputs") to 2892 // include in API requests with the JSON null value. By default, fields 2893 // with empty values are omitted from API requests. However, any field 2894 // with an empty value appearing in NullFields will be sent to the 2895 // server as null. It is an error if a field in this list has a 2896 // non-empty value. This may be used to include null fields in Patch 2897 // requests. 2898 NullFields []string `json:"-"` 2899} 2900 2901func (s *GoogleDevtoolsRemoteworkersV1test2CommandTask) MarshalJSON() ([]byte, error) { 2902 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTask 2903 raw := NoMethod(*s) 2904 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2905} 2906 2907// GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs: Describes the 2908// inputs to a shell-style task. 2909type GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs struct { 2910 // Arguments: The command itself to run (e.g., argv). This field should 2911 // be passed directly to the underlying operating system, and so it must 2912 // be sensible to that operating system. For example, on Windows, the 2913 // first argument might be "C:\Windows\System32\ping.exe" - that is, 2914 // using drive letters and backslashes. A command for a *nix system, on 2915 // the other hand, would use forward slashes. All other fields in the 2916 // RWAPI must consistently use forward slashes, since those fields may 2917 // be interpretted by both the service and the bot. 2918 Arguments []string `json:"arguments,omitempty"` 2919 2920 // EnvironmentVariables: All environment variables required by the task. 2921 EnvironmentVariables []*GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable `json:"environmentVariables,omitempty"` 2922 2923 // Files: The input filesystem to be set up prior to the task beginning. 2924 // The contents should be a repeated set of FileMetadata messages though 2925 // other formats are allowed if better for the implementation (eg, a 2926 // LUCI-style .isolated file). This field is repeated since 2927 // implementations might want to cache the metadata, in which case it 2928 // may be useful to break up portions of the filesystem that change 2929 // frequently (eg, specific input files) from those that don't (eg, 2930 // standard header files). 2931 Files []*GoogleDevtoolsRemoteworkersV1test2Digest `json:"files,omitempty"` 2932 2933 // InlineBlobs: Inline contents for blobs expected to be needed by the 2934 // bot to execute the task. For example, contents of entries in `files` 2935 // or blobs that are indirectly referenced by an entry there. The bot 2936 // should check against this list before downloading required task 2937 // inputs to reduce the number of communications between itself and the 2938 // remote CAS server. 2939 InlineBlobs []*GoogleDevtoolsRemoteworkersV1test2Blob `json:"inlineBlobs,omitempty"` 2940 2941 // WorkingDirectory: Directory from which a command is executed. It is a 2942 // relative directory with respect to the bot's working directory (i.e., 2943 // "./"). If it is non-empty, then it must exist under "./". Otherwise, 2944 // "./" will be used. 2945 WorkingDirectory string `json:"workingDirectory,omitempty"` 2946 2947 // ForceSendFields is a list of field names (e.g. "Arguments") to 2948 // unconditionally include in API requests. By default, fields with 2949 // empty values are omitted from API requests. However, any non-pointer, 2950 // non-interface field appearing in ForceSendFields will be sent to the 2951 // server regardless of whether the field is empty or not. This may be 2952 // used to include empty fields in Patch requests. 2953 ForceSendFields []string `json:"-"` 2954 2955 // NullFields is a list of field names (e.g. "Arguments") to include in 2956 // API requests with the JSON null value. By default, fields with empty 2957 // values are omitted from API requests. However, any field with an 2958 // empty value appearing in NullFields will be sent to the server as 2959 // null. It is an error if a field in this list has a non-empty value. 2960 // This may be used to include null fields in Patch requests. 2961 NullFields []string `json:"-"` 2962} 2963 2964func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs) MarshalJSON() ([]byte, error) { 2965 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs 2966 raw := NoMethod(*s) 2967 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2968} 2969 2970// GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable 2971// : An environment variable required by this task. 2972type GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable struct { 2973 // Name: The envvar name. 2974 Name string `json:"name,omitempty"` 2975 2976 // Value: The envvar value. 2977 Value string `json:"value,omitempty"` 2978 2979 // ForceSendFields is a list of field names (e.g. "Name") to 2980 // unconditionally include in API requests. By default, fields with 2981 // empty values are omitted from API requests. However, any non-pointer, 2982 // non-interface field appearing in ForceSendFields will be sent to the 2983 // server regardless of whether the field is empty or not. This may be 2984 // used to include empty fields in Patch requests. 2985 ForceSendFields []string `json:"-"` 2986 2987 // NullFields is a list of field names (e.g. "Name") to include in API 2988 // requests with the JSON null value. By default, fields with empty 2989 // values are omitted from API requests. However, any field with an 2990 // empty value appearing in NullFields will be sent to the server as 2991 // null. It is an error if a field in this list has a non-empty value. 2992 // This may be used to include null fields in Patch requests. 2993 NullFields []string `json:"-"` 2994} 2995 2996func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable) MarshalJSON() ([]byte, error) { 2997 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable 2998 raw := NoMethod(*s) 2999 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3000} 3001 3002// GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs: Describes the 3003// expected outputs of the command. 3004type GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs struct { 3005 // Directories: A list of expected directories, relative to the 3006 // execution root. All paths MUST be delimited by forward slashes. 3007 Directories []string `json:"directories,omitempty"` 3008 3009 // Files: A list of expected files, relative to the execution root. All 3010 // paths MUST be delimited by forward slashes. 3011 Files []string `json:"files,omitempty"` 3012 3013 // StderrDestination: The destination to which any stderr should be 3014 // sent. The method by which the bot should send the stream contents to 3015 // that destination is not defined in this API. As examples, the 3016 // destination could be a file referenced in the `files` field in this 3017 // message, or it could be a URI that must be written via the ByteStream 3018 // API. 3019 StderrDestination string `json:"stderrDestination,omitempty"` 3020 3021 // StdoutDestination: The destination to which any stdout should be 3022 // sent. The method by which the bot should send the stream contents to 3023 // that destination is not defined in this API. As examples, the 3024 // destination could be a file referenced in the `files` field in this 3025 // message, or it could be a URI that must be written via the ByteStream 3026 // API. 3027 StdoutDestination string `json:"stdoutDestination,omitempty"` 3028 3029 // ForceSendFields is a list of field names (e.g. "Directories") to 3030 // unconditionally include in API requests. By default, fields with 3031 // empty values are omitted from API requests. However, any non-pointer, 3032 // non-interface field appearing in ForceSendFields will be sent to the 3033 // server regardless of whether the field is empty or not. This may be 3034 // used to include empty fields in Patch requests. 3035 ForceSendFields []string `json:"-"` 3036 3037 // NullFields is a list of field names (e.g. "Directories") to include 3038 // in API requests with the JSON null value. By default, fields with 3039 // empty values are omitted from API requests. However, any field with 3040 // an empty value appearing in NullFields will be sent to the server as 3041 // null. It is an error if a field in this list has a non-empty value. 3042 // This may be used to include null fields in Patch requests. 3043 NullFields []string `json:"-"` 3044} 3045 3046func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs) MarshalJSON() ([]byte, error) { 3047 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs 3048 raw := NoMethod(*s) 3049 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3050} 3051 3052// GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts: Describes the 3053// timeouts associated with this task. 3054type GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts struct { 3055 // Execution: This specifies the maximum time that the task can run, 3056 // excluding the time required to download inputs or upload outputs. 3057 // That is, the worker will terminate the task if it runs longer than 3058 // this. 3059 Execution string `json:"execution,omitempty"` 3060 3061 // Idle: This specifies the maximum amount of time the task can be idle 3062 // - that is, go without generating some output in either stdout or 3063 // stderr. If the process is silent for more than the specified time, 3064 // the worker will terminate the task. 3065 Idle string `json:"idle,omitempty"` 3066 3067 // Shutdown: If the execution or IO timeouts are exceeded, the worker 3068 // will try to gracefully terminate the task and return any existing 3069 // logs. However, tasks may be hard-frozen in which case this process 3070 // will fail. This timeout specifies how long to wait for a terminated 3071 // task to shut down gracefully (e.g. via SIGTERM) before we bring down 3072 // the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows). 3073 Shutdown string `json:"shutdown,omitempty"` 3074 3075 // ForceSendFields is a list of field names (e.g. "Execution") to 3076 // unconditionally include in API requests. By default, fields with 3077 // empty values are omitted from API requests. However, any non-pointer, 3078 // non-interface field appearing in ForceSendFields will be sent to the 3079 // server regardless of whether the field is empty or not. This may be 3080 // used to include empty fields in Patch requests. 3081 ForceSendFields []string `json:"-"` 3082 3083 // NullFields is a list of field names (e.g. "Execution") to include in 3084 // API requests with the JSON null value. By default, fields with empty 3085 // values are omitted from API requests. However, any field with an 3086 // empty value appearing in NullFields will be sent to the server as 3087 // null. It is an error if a field in this list has a non-empty value. 3088 // This may be used to include null fields in Patch requests. 3089 NullFields []string `json:"-"` 3090} 3091 3092func (s *GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts) MarshalJSON() ([]byte, error) { 3093 type NoMethod GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts 3094 raw := NoMethod(*s) 3095 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3096} 3097 3098// GoogleDevtoolsRemoteworkersV1test2Digest: The CommandTask and 3099// CommandResult messages assume the existence of a service that can 3100// serve blobs of content, identified by a hash and size known as a 3101// "digest." The method by which these blobs may be retrieved is not 3102// specified here, but a model implementation is in the Remote Execution 3103// API's "ContentAddressibleStorage" interface. In the context of the 3104// RWAPI, a Digest will virtually always refer to the contents of a file 3105// or a directory. The latter is represented by the byte-encoded 3106// Directory message. 3107type GoogleDevtoolsRemoteworkersV1test2Digest struct { 3108 // Hash: A string-encoded hash (eg "1a2b3c", not the byte array [0x1a, 3109 // 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg 3110 // SHA-256). 3111 Hash string `json:"hash,omitempty"` 3112 3113 // SizeBytes: The size of the contents. While this is not strictly 3114 // required as part of an identifier (after all, any given hash will 3115 // have exactly one canonical size), it's useful in almost all cases 3116 // when one might want to send or retrieve blobs of content and is 3117 // included here for this reason. 3118 SizeBytes int64 `json:"sizeBytes,omitempty,string"` 3119 3120 // ForceSendFields is a list of field names (e.g. "Hash") to 3121 // unconditionally include in API requests. By default, fields with 3122 // empty values are omitted from API requests. However, any non-pointer, 3123 // non-interface field appearing in ForceSendFields will be sent to the 3124 // server regardless of whether the field is empty or not. This may be 3125 // used to include empty fields in Patch requests. 3126 ForceSendFields []string `json:"-"` 3127 3128 // NullFields is a list of field names (e.g. "Hash") to include in API 3129 // requests with the JSON null value. By default, fields with empty 3130 // values are omitted from API requests. However, any field with an 3131 // empty value appearing in NullFields will be sent to the server as 3132 // null. It is an error if a field in this list has a non-empty value. 3133 // This may be used to include null fields in Patch requests. 3134 NullFields []string `json:"-"` 3135} 3136 3137func (s *GoogleDevtoolsRemoteworkersV1test2Digest) MarshalJSON() ([]byte, error) { 3138 type NoMethod GoogleDevtoolsRemoteworkersV1test2Digest 3139 raw := NoMethod(*s) 3140 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3141} 3142 3143// GoogleDevtoolsRemoteworkersV1test2Directory: The contents of a 3144// directory. Similar to the equivalent message in the Remote Execution 3145// API. 3146type GoogleDevtoolsRemoteworkersV1test2Directory struct { 3147 // Directories: Any subdirectories 3148 Directories []*GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata `json:"directories,omitempty"` 3149 3150 // Files: The files in this directory 3151 Files []*GoogleDevtoolsRemoteworkersV1test2FileMetadata `json:"files,omitempty"` 3152 3153 // ForceSendFields is a list of field names (e.g. "Directories") to 3154 // unconditionally include in API requests. By default, fields with 3155 // empty values are omitted from API requests. However, any non-pointer, 3156 // non-interface field appearing in ForceSendFields will be sent to the 3157 // server regardless of whether the field is empty or not. This may be 3158 // used to include empty fields in Patch requests. 3159 ForceSendFields []string `json:"-"` 3160 3161 // NullFields is a list of field names (e.g. "Directories") to include 3162 // in API requests with the JSON null value. By default, fields with 3163 // empty values are omitted from API requests. However, any field with 3164 // an empty value appearing in NullFields will be sent to the server as 3165 // null. It is an error if a field in this list has a non-empty value. 3166 // This may be used to include null fields in Patch requests. 3167 NullFields []string `json:"-"` 3168} 3169 3170func (s *GoogleDevtoolsRemoteworkersV1test2Directory) MarshalJSON() ([]byte, error) { 3171 type NoMethod GoogleDevtoolsRemoteworkersV1test2Directory 3172 raw := NoMethod(*s) 3173 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3174} 3175 3176// GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata: The metadata for 3177// a directory. Similar to the equivalent message in the Remote 3178// Execution API. 3179type GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata struct { 3180 // Digest: A pointer to the contents of the directory, in the form of a 3181 // marshalled Directory message. 3182 Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"` 3183 3184 // Path: The path of the directory, as in FileMetadata.path. 3185 Path string `json:"path,omitempty"` 3186 3187 // ForceSendFields is a list of field names (e.g. "Digest") to 3188 // unconditionally include in API requests. By default, fields with 3189 // empty values are omitted from API requests. However, any non-pointer, 3190 // non-interface field appearing in ForceSendFields will be sent to the 3191 // server regardless of whether the field is empty or not. This may be 3192 // used to include empty fields in Patch requests. 3193 ForceSendFields []string `json:"-"` 3194 3195 // NullFields is a list of field names (e.g. "Digest") to include in API 3196 // requests with the JSON null value. By default, fields with empty 3197 // values are omitted from API requests. However, any field with an 3198 // empty value appearing in NullFields will be sent to the server as 3199 // null. It is an error if a field in this list has a non-empty value. 3200 // This may be used to include null fields in Patch requests. 3201 NullFields []string `json:"-"` 3202} 3203 3204func (s *GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata) MarshalJSON() ([]byte, error) { 3205 type NoMethod GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata 3206 raw := NoMethod(*s) 3207 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3208} 3209 3210// GoogleDevtoolsRemoteworkersV1test2FileMetadata: The metadata for a 3211// file. Similar to the equivalent message in the Remote Execution API. 3212type GoogleDevtoolsRemoteworkersV1test2FileMetadata struct { 3213 // Contents: If the file is small enough, its contents may also or 3214 // alternatively be listed here. 3215 Contents string `json:"contents,omitempty"` 3216 3217 // Digest: A pointer to the contents of the file. The method by which a 3218 // client retrieves the contents from a CAS system is not defined here. 3219 Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"` 3220 3221 // IsExecutable: Properties of the file 3222 IsExecutable bool `json:"isExecutable,omitempty"` 3223 3224 // Path: The path of this file. If this message is part of the 3225 // CommandOutputs.outputs fields, the path is relative to the execution 3226 // root and must correspond to an entry in CommandTask.outputs.files. If 3227 // this message is part of a Directory message, then the path is 3228 // relative to the root of that directory. All paths MUST be delimited 3229 // by forward slashes. 3230 Path string `json:"path,omitempty"` 3231 3232 // ForceSendFields is a list of field names (e.g. "Contents") to 3233 // unconditionally include in API requests. By default, fields with 3234 // empty values are omitted from API requests. However, any non-pointer, 3235 // non-interface field appearing in ForceSendFields will be sent to the 3236 // server regardless of whether the field is empty or not. This may be 3237 // used to include empty fields in Patch requests. 3238 ForceSendFields []string `json:"-"` 3239 3240 // NullFields is a list of field names (e.g. "Contents") to include in 3241 // API requests with the JSON null value. By default, fields with empty 3242 // values are omitted from API requests. However, any field with an 3243 // empty value appearing in NullFields will be sent to the server as 3244 // null. It is an error if a field in this list has a non-empty value. 3245 // This may be used to include null fields in Patch requests. 3246 NullFields []string `json:"-"` 3247} 3248 3249func (s *GoogleDevtoolsRemoteworkersV1test2FileMetadata) MarshalJSON() ([]byte, error) { 3250 type NoMethod GoogleDevtoolsRemoteworkersV1test2FileMetadata 3251 raw := NoMethod(*s) 3252 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3253} 3254 3255// GoogleLongrunningOperation: This resource represents a long-running 3256// operation that is the result of a network API call. 3257type GoogleLongrunningOperation struct { 3258 // Done: If the value is `false`, it means the operation is still in 3259 // progress. If `true`, the operation is completed, and either `error` 3260 // or `response` is available. 3261 Done bool `json:"done,omitempty"` 3262 3263 // Error: The error result of the operation in case of failure or 3264 // cancellation. 3265 Error *GoogleRpcStatus `json:"error,omitempty"` 3266 3267 // Metadata: Service-specific metadata associated with the operation. It 3268 // typically contains progress information and common metadata such as 3269 // create time. Some services might not provide such metadata. Any 3270 // method that returns a long-running operation should document the 3271 // metadata type, if any. 3272 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 3273 3274 // Name: The server-assigned name, which is only unique within the same 3275 // service that originally returns it. If you use the default HTTP 3276 // mapping, the `name` should be a resource name ending with 3277 // `operations/{unique_id}`. 3278 Name string `json:"name,omitempty"` 3279 3280 // Response: The normal response of the operation in case of success. If 3281 // the original method returns no data on success, such as `Delete`, the 3282 // response is `google.protobuf.Empty`. If the original method is 3283 // standard `Get`/`Create`/`Update`, the response should be the 3284 // resource. For other methods, the response should have the type 3285 // `XxxResponse`, where `Xxx` is the original method name. For example, 3286 // if the original method name is `TakeSnapshot()`, the inferred 3287 // response type is `TakeSnapshotResponse`. 3288 Response googleapi.RawMessage `json:"response,omitempty"` 3289 3290 // ServerResponse contains the HTTP response code and headers from the 3291 // server. 3292 googleapi.ServerResponse `json:"-"` 3293 3294 // ForceSendFields is a list of field names (e.g. "Done") to 3295 // unconditionally include in API requests. By default, fields with 3296 // empty values are omitted from API requests. However, any non-pointer, 3297 // non-interface field appearing in ForceSendFields will be sent to the 3298 // server regardless of whether the field is empty or not. This may be 3299 // used to include empty fields in Patch requests. 3300 ForceSendFields []string `json:"-"` 3301 3302 // NullFields is a list of field names (e.g. "Done") to include in API 3303 // requests with the JSON null value. By default, fields with empty 3304 // values are omitted from API requests. However, any field with an 3305 // empty value appearing in NullFields will be sent to the server as 3306 // null. It is an error if a field in this list has a non-empty value. 3307 // This may be used to include null fields in Patch requests. 3308 NullFields []string `json:"-"` 3309} 3310 3311func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { 3312 type NoMethod GoogleLongrunningOperation 3313 raw := NoMethod(*s) 3314 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3315} 3316 3317// GoogleRpcStatus: The `Status` type defines a logical error model that 3318// is suitable for different programming environments, including REST 3319// APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each 3320// `Status` message contains three pieces of data: error code, error 3321// message, and error details. You can find out more about this error 3322// model and how to work with it in the API Design Guide 3323// (https://cloud.google.com/apis/design/errors). 3324type GoogleRpcStatus struct { 3325 // Code: The status code, which should be an enum value of 3326 // google.rpc.Code. 3327 Code int64 `json:"code,omitempty"` 3328 3329 // Details: A list of messages that carry the error details. There is a 3330 // common set of message types for APIs to use. 3331 Details []googleapi.RawMessage `json:"details,omitempty"` 3332 3333 // Message: A developer-facing error message, which should be in 3334 // English. Any user-facing error message should be localized and sent 3335 // in the google.rpc.Status.details field, or localized by the client. 3336 Message string `json:"message,omitempty"` 3337 3338 // ForceSendFields is a list of field names (e.g. "Code") to 3339 // unconditionally include in API requests. By default, fields with 3340 // empty values are omitted from API requests. However, any non-pointer, 3341 // non-interface field appearing in ForceSendFields will be sent to the 3342 // server regardless of whether the field is empty or not. This may be 3343 // used to include empty fields in Patch requests. 3344 ForceSendFields []string `json:"-"` 3345 3346 // NullFields is a list of field names (e.g. "Code") to include in API 3347 // requests with the JSON null value. By default, fields with empty 3348 // values are omitted from API requests. However, any field with an 3349 // empty value appearing in NullFields will be sent to the server as 3350 // null. It is an error if a field in this list has a non-empty value. 3351 // This may be used to include null fields in Patch requests. 3352 NullFields []string `json:"-"` 3353} 3354 3355func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) { 3356 type NoMethod GoogleRpcStatus 3357 raw := NoMethod(*s) 3358 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3359} 3360 3361// method id "remotebuildexecution.projects.instances.create": 3362 3363type ProjectsInstancesCreateCall struct { 3364 s *Service 3365 parent string 3366 googledevtoolsremotebuildexecutionadminv1alphacreateinstancerequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest 3367 urlParams_ gensupport.URLParams 3368 ctx_ context.Context 3369 header_ http.Header 3370} 3371 3372// Create: Creates a new instance in the specified region. Returns a 3373// long running operation which contains an instance on completion. 3374// While the long running operation is in progress, any call to 3375// `GetInstance` returns an instance in state `CREATING`. 3376func (r *ProjectsInstancesService) Create(parent string, googledevtoolsremotebuildexecutionadminv1alphacreateinstancerequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest) *ProjectsInstancesCreateCall { 3377 c := &ProjectsInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3378 c.parent = parent 3379 c.googledevtoolsremotebuildexecutionadminv1alphacreateinstancerequest = googledevtoolsremotebuildexecutionadminv1alphacreateinstancerequest 3380 return c 3381} 3382 3383// Fields allows partial responses to be retrieved. See 3384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3385// for more information. 3386func (c *ProjectsInstancesCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesCreateCall { 3387 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3388 return c 3389} 3390 3391// Context sets the context to be used in this call's Do method. Any 3392// pending HTTP request will be aborted if the provided context is 3393// canceled. 3394func (c *ProjectsInstancesCreateCall) Context(ctx context.Context) *ProjectsInstancesCreateCall { 3395 c.ctx_ = ctx 3396 return c 3397} 3398 3399// Header returns an http.Header that can be modified by the caller to 3400// add HTTP headers to the request. 3401func (c *ProjectsInstancesCreateCall) Header() http.Header { 3402 if c.header_ == nil { 3403 c.header_ = make(http.Header) 3404 } 3405 return c.header_ 3406} 3407 3408func (c *ProjectsInstancesCreateCall) doRequest(alt string) (*http.Response, error) { 3409 reqHeaders := make(http.Header) 3410 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 3411 for k, v := range c.header_ { 3412 reqHeaders[k] = v 3413 } 3414 reqHeaders.Set("User-Agent", c.s.userAgent()) 3415 var body io.Reader = nil 3416 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googledevtoolsremotebuildexecutionadminv1alphacreateinstancerequest) 3417 if err != nil { 3418 return nil, err 3419 } 3420 reqHeaders.Set("Content-Type", "application/json") 3421 c.urlParams_.Set("alt", alt) 3422 c.urlParams_.Set("prettyPrint", "false") 3423 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/instances") 3424 urls += "?" + c.urlParams_.Encode() 3425 req, err := http.NewRequest("POST", urls, body) 3426 if err != nil { 3427 return nil, err 3428 } 3429 req.Header = reqHeaders 3430 googleapi.Expand(req.URL, map[string]string{ 3431 "parent": c.parent, 3432 }) 3433 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3434} 3435 3436// Do executes the "remotebuildexecution.projects.instances.create" call. 3437// Exactly one of *GoogleLongrunningOperation or error will be non-nil. 3438// Any non-2xx status code is an error. Response headers are in either 3439// *GoogleLongrunningOperation.ServerResponse.Header or (if a response 3440// was returned at all) in error.(*googleapi.Error).Header. Use 3441// googleapi.IsNotModified to check whether the returned error was 3442// because http.StatusNotModified was returned. 3443func (c *ProjectsInstancesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 3444 gensupport.SetOptions(c.urlParams_, opts...) 3445 res, err := c.doRequest("json") 3446 if res != nil && res.StatusCode == http.StatusNotModified { 3447 if res.Body != nil { 3448 res.Body.Close() 3449 } 3450 return nil, &googleapi.Error{ 3451 Code: res.StatusCode, 3452 Header: res.Header, 3453 } 3454 } 3455 if err != nil { 3456 return nil, err 3457 } 3458 defer googleapi.CloseBody(res) 3459 if err := googleapi.CheckResponse(res); err != nil { 3460 return nil, err 3461 } 3462 ret := &GoogleLongrunningOperation{ 3463 ServerResponse: googleapi.ServerResponse{ 3464 Header: res.Header, 3465 HTTPStatusCode: res.StatusCode, 3466 }, 3467 } 3468 target := &ret 3469 if err := gensupport.DecodeResponse(target, res); err != nil { 3470 return nil, err 3471 } 3472 return ret, nil 3473 // { 3474 // "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`.", 3475 // "flatPath": "v1alpha/projects/{projectsId}/instances", 3476 // "httpMethod": "POST", 3477 // "id": "remotebuildexecution.projects.instances.create", 3478 // "parameterOrder": [ 3479 // "parent" 3480 // ], 3481 // "parameters": { 3482 // "parent": { 3483 // "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.", 3484 // "location": "path", 3485 // "pattern": "^projects/[^/]+$", 3486 // "required": true, 3487 // "type": "string" 3488 // } 3489 // }, 3490 // "path": "v1alpha/{+parent}/instances", 3491 // "request": { 3492 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest" 3493 // }, 3494 // "response": { 3495 // "$ref": "GoogleLongrunningOperation" 3496 // }, 3497 // "scopes": [ 3498 // "https://www.googleapis.com/auth/cloud-platform" 3499 // ] 3500 // } 3501 3502} 3503 3504// method id "remotebuildexecution.projects.instances.delete": 3505 3506type ProjectsInstancesDeleteCall struct { 3507 s *Service 3508 name string 3509 urlParams_ gensupport.URLParams 3510 ctx_ context.Context 3511 header_ http.Header 3512} 3513 3514// Delete: Deletes the specified instance. Returns a long running 3515// operation which contains a `google.protobuf.Empty` response on 3516// completion. Deleting an instance with worker pools in it will delete 3517// these worker pools. 3518func (r *ProjectsInstancesService) Delete(name string) *ProjectsInstancesDeleteCall { 3519 c := &ProjectsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3520 c.name = name 3521 return c 3522} 3523 3524// Fields allows partial responses to be retrieved. See 3525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3526// for more information. 3527func (c *ProjectsInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesDeleteCall { 3528 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3529 return c 3530} 3531 3532// Context sets the context to be used in this call's Do method. Any 3533// pending HTTP request will be aborted if the provided context is 3534// canceled. 3535func (c *ProjectsInstancesDeleteCall) Context(ctx context.Context) *ProjectsInstancesDeleteCall { 3536 c.ctx_ = ctx 3537 return c 3538} 3539 3540// Header returns an http.Header that can be modified by the caller to 3541// add HTTP headers to the request. 3542func (c *ProjectsInstancesDeleteCall) Header() http.Header { 3543 if c.header_ == nil { 3544 c.header_ = make(http.Header) 3545 } 3546 return c.header_ 3547} 3548 3549func (c *ProjectsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) { 3550 reqHeaders := make(http.Header) 3551 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 3552 for k, v := range c.header_ { 3553 reqHeaders[k] = v 3554 } 3555 reqHeaders.Set("User-Agent", c.s.userAgent()) 3556 var body io.Reader = nil 3557 c.urlParams_.Set("alt", alt) 3558 c.urlParams_.Set("prettyPrint", "false") 3559 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") 3560 urls += "?" + c.urlParams_.Encode() 3561 req, err := http.NewRequest("DELETE", urls, body) 3562 if err != nil { 3563 return nil, err 3564 } 3565 req.Header = reqHeaders 3566 googleapi.Expand(req.URL, map[string]string{ 3567 "name": c.name, 3568 }) 3569 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3570} 3571 3572// Do executes the "remotebuildexecution.projects.instances.delete" call. 3573// Exactly one of *GoogleLongrunningOperation or error will be non-nil. 3574// Any non-2xx status code is an error. Response headers are in either 3575// *GoogleLongrunningOperation.ServerResponse.Header or (if a response 3576// was returned at all) in error.(*googleapi.Error).Header. Use 3577// googleapi.IsNotModified to check whether the returned error was 3578// because http.StatusNotModified was returned. 3579func (c *ProjectsInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 3580 gensupport.SetOptions(c.urlParams_, opts...) 3581 res, err := c.doRequest("json") 3582 if res != nil && res.StatusCode == http.StatusNotModified { 3583 if res.Body != nil { 3584 res.Body.Close() 3585 } 3586 return nil, &googleapi.Error{ 3587 Code: res.StatusCode, 3588 Header: res.Header, 3589 } 3590 } 3591 if err != nil { 3592 return nil, err 3593 } 3594 defer googleapi.CloseBody(res) 3595 if err := googleapi.CheckResponse(res); err != nil { 3596 return nil, err 3597 } 3598 ret := &GoogleLongrunningOperation{ 3599 ServerResponse: googleapi.ServerResponse{ 3600 Header: res.Header, 3601 HTTPStatusCode: res.StatusCode, 3602 }, 3603 } 3604 target := &ret 3605 if err := gensupport.DecodeResponse(target, res); err != nil { 3606 return nil, err 3607 } 3608 return ret, nil 3609 // { 3610 // "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.", 3611 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}", 3612 // "httpMethod": "DELETE", 3613 // "id": "remotebuildexecution.projects.instances.delete", 3614 // "parameterOrder": [ 3615 // "name" 3616 // ], 3617 // "parameters": { 3618 // "name": { 3619 // "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", 3620 // "location": "path", 3621 // "pattern": "^projects/[^/]+/instances/[^/]+$", 3622 // "required": true, 3623 // "type": "string" 3624 // } 3625 // }, 3626 // "path": "v1alpha/{+name}", 3627 // "response": { 3628 // "$ref": "GoogleLongrunningOperation" 3629 // }, 3630 // "scopes": [ 3631 // "https://www.googleapis.com/auth/cloud-platform" 3632 // ] 3633 // } 3634 3635} 3636 3637// method id "remotebuildexecution.projects.instances.get": 3638 3639type ProjectsInstancesGetCall struct { 3640 s *Service 3641 name string 3642 urlParams_ gensupport.URLParams 3643 ifNoneMatch_ string 3644 ctx_ context.Context 3645 header_ http.Header 3646} 3647 3648// Get: Returns the specified instance. 3649func (r *ProjectsInstancesService) Get(name string) *ProjectsInstancesGetCall { 3650 c := &ProjectsInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3651 c.name = name 3652 return c 3653} 3654 3655// Fields allows partial responses to be retrieved. See 3656// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3657// for more information. 3658func (c *ProjectsInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetCall { 3659 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3660 return c 3661} 3662 3663// IfNoneMatch sets the optional parameter which makes the operation 3664// fail if the object's ETag matches the given value. This is useful for 3665// getting updates only after the object has changed since the last 3666// request. Use googleapi.IsNotModified to check whether the response 3667// error from Do is the result of In-None-Match. 3668func (c *ProjectsInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesGetCall { 3669 c.ifNoneMatch_ = entityTag 3670 return c 3671} 3672 3673// Context sets the context to be used in this call's Do method. Any 3674// pending HTTP request will be aborted if the provided context is 3675// canceled. 3676func (c *ProjectsInstancesGetCall) Context(ctx context.Context) *ProjectsInstancesGetCall { 3677 c.ctx_ = ctx 3678 return c 3679} 3680 3681// Header returns an http.Header that can be modified by the caller to 3682// add HTTP headers to the request. 3683func (c *ProjectsInstancesGetCall) Header() http.Header { 3684 if c.header_ == nil { 3685 c.header_ = make(http.Header) 3686 } 3687 return c.header_ 3688} 3689 3690func (c *ProjectsInstancesGetCall) doRequest(alt string) (*http.Response, error) { 3691 reqHeaders := make(http.Header) 3692 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 3693 for k, v := range c.header_ { 3694 reqHeaders[k] = v 3695 } 3696 reqHeaders.Set("User-Agent", c.s.userAgent()) 3697 if c.ifNoneMatch_ != "" { 3698 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3699 } 3700 var body io.Reader = nil 3701 c.urlParams_.Set("alt", alt) 3702 c.urlParams_.Set("prettyPrint", "false") 3703 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") 3704 urls += "?" + c.urlParams_.Encode() 3705 req, err := http.NewRequest("GET", urls, body) 3706 if err != nil { 3707 return nil, err 3708 } 3709 req.Header = reqHeaders 3710 googleapi.Expand(req.URL, map[string]string{ 3711 "name": c.name, 3712 }) 3713 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3714} 3715 3716// Do executes the "remotebuildexecution.projects.instances.get" call. 3717// Exactly one of 3718// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance or error will 3719// be non-nil. Any non-2xx status code is an error. Response headers are 3720// in either 3721// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance.ServerResponse 3722// .Header or (if a response was returned at all) in 3723// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3724// whether the returned error was because http.StatusNotModified was 3725// returned. 3726func (c *ProjectsInstancesGetCall) Do(opts ...googleapi.CallOption) (*GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance, error) { 3727 gensupport.SetOptions(c.urlParams_, opts...) 3728 res, err := c.doRequest("json") 3729 if res != nil && res.StatusCode == http.StatusNotModified { 3730 if res.Body != nil { 3731 res.Body.Close() 3732 } 3733 return nil, &googleapi.Error{ 3734 Code: res.StatusCode, 3735 Header: res.Header, 3736 } 3737 } 3738 if err != nil { 3739 return nil, err 3740 } 3741 defer googleapi.CloseBody(res) 3742 if err := googleapi.CheckResponse(res); err != nil { 3743 return nil, err 3744 } 3745 ret := &GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance{ 3746 ServerResponse: googleapi.ServerResponse{ 3747 Header: res.Header, 3748 HTTPStatusCode: res.StatusCode, 3749 }, 3750 } 3751 target := &ret 3752 if err := gensupport.DecodeResponse(target, res); err != nil { 3753 return nil, err 3754 } 3755 return ret, nil 3756 // { 3757 // "description": "Returns the specified instance.", 3758 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}", 3759 // "httpMethod": "GET", 3760 // "id": "remotebuildexecution.projects.instances.get", 3761 // "parameterOrder": [ 3762 // "name" 3763 // ], 3764 // "parameters": { 3765 // "name": { 3766 // "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", 3767 // "location": "path", 3768 // "pattern": "^projects/[^/]+/instances/[^/]+$", 3769 // "required": true, 3770 // "type": "string" 3771 // } 3772 // }, 3773 // "path": "v1alpha/{+name}", 3774 // "response": { 3775 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance" 3776 // }, 3777 // "scopes": [ 3778 // "https://www.googleapis.com/auth/cloud-platform" 3779 // ] 3780 // } 3781 3782} 3783 3784// method id "remotebuildexecution.projects.instances.list": 3785 3786type ProjectsInstancesListCall struct { 3787 s *Service 3788 parent string 3789 urlParams_ gensupport.URLParams 3790 ifNoneMatch_ string 3791 ctx_ context.Context 3792 header_ http.Header 3793} 3794 3795// List: Lists instances in a project. 3796func (r *ProjectsInstancesService) List(parent string) *ProjectsInstancesListCall { 3797 c := &ProjectsInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3798 c.parent = parent 3799 return c 3800} 3801 3802// Fields allows partial responses to be retrieved. See 3803// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3804// for more information. 3805func (c *ProjectsInstancesListCall) Fields(s ...googleapi.Field) *ProjectsInstancesListCall { 3806 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3807 return c 3808} 3809 3810// IfNoneMatch sets the optional parameter which makes the operation 3811// fail if the object's ETag matches the given value. This is useful for 3812// getting updates only after the object has changed since the last 3813// request. Use googleapi.IsNotModified to check whether the response 3814// error from Do is the result of In-None-Match. 3815func (c *ProjectsInstancesListCall) IfNoneMatch(entityTag string) *ProjectsInstancesListCall { 3816 c.ifNoneMatch_ = entityTag 3817 return c 3818} 3819 3820// Context sets the context to be used in this call's Do method. Any 3821// pending HTTP request will be aborted if the provided context is 3822// canceled. 3823func (c *ProjectsInstancesListCall) Context(ctx context.Context) *ProjectsInstancesListCall { 3824 c.ctx_ = ctx 3825 return c 3826} 3827 3828// Header returns an http.Header that can be modified by the caller to 3829// add HTTP headers to the request. 3830func (c *ProjectsInstancesListCall) Header() http.Header { 3831 if c.header_ == nil { 3832 c.header_ = make(http.Header) 3833 } 3834 return c.header_ 3835} 3836 3837func (c *ProjectsInstancesListCall) doRequest(alt string) (*http.Response, error) { 3838 reqHeaders := make(http.Header) 3839 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 3840 for k, v := range c.header_ { 3841 reqHeaders[k] = v 3842 } 3843 reqHeaders.Set("User-Agent", c.s.userAgent()) 3844 if c.ifNoneMatch_ != "" { 3845 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3846 } 3847 var body io.Reader = nil 3848 c.urlParams_.Set("alt", alt) 3849 c.urlParams_.Set("prettyPrint", "false") 3850 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/instances") 3851 urls += "?" + c.urlParams_.Encode() 3852 req, err := http.NewRequest("GET", urls, body) 3853 if err != nil { 3854 return nil, err 3855 } 3856 req.Header = reqHeaders 3857 googleapi.Expand(req.URL, map[string]string{ 3858 "parent": c.parent, 3859 }) 3860 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3861} 3862 3863// Do executes the "remotebuildexecution.projects.instances.list" call. 3864// Exactly one of 3865// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse 3866// or error will be non-nil. Any non-2xx status code is an error. 3867// Response headers are in either 3868// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse.S 3869// erverResponse.Header or (if a response was returned at all) in 3870// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3871// whether the returned error was because http.StatusNotModified was 3872// returned. 3873func (c *ProjectsInstancesListCall) Do(opts ...googleapi.CallOption) (*GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse, error) { 3874 gensupport.SetOptions(c.urlParams_, opts...) 3875 res, err := c.doRequest("json") 3876 if res != nil && res.StatusCode == http.StatusNotModified { 3877 if res.Body != nil { 3878 res.Body.Close() 3879 } 3880 return nil, &googleapi.Error{ 3881 Code: res.StatusCode, 3882 Header: res.Header, 3883 } 3884 } 3885 if err != nil { 3886 return nil, err 3887 } 3888 defer googleapi.CloseBody(res) 3889 if err := googleapi.CheckResponse(res); err != nil { 3890 return nil, err 3891 } 3892 ret := &GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse{ 3893 ServerResponse: googleapi.ServerResponse{ 3894 Header: res.Header, 3895 HTTPStatusCode: res.StatusCode, 3896 }, 3897 } 3898 target := &ret 3899 if err := gensupport.DecodeResponse(target, res); err != nil { 3900 return nil, err 3901 } 3902 return ret, nil 3903 // { 3904 // "description": "Lists instances in a project.", 3905 // "flatPath": "v1alpha/projects/{projectsId}/instances", 3906 // "httpMethod": "GET", 3907 // "id": "remotebuildexecution.projects.instances.list", 3908 // "parameterOrder": [ 3909 // "parent" 3910 // ], 3911 // "parameters": { 3912 // "parent": { 3913 // "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.", 3914 // "location": "path", 3915 // "pattern": "^projects/[^/]+$", 3916 // "required": true, 3917 // "type": "string" 3918 // } 3919 // }, 3920 // "path": "v1alpha/{+parent}/instances", 3921 // "response": { 3922 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse" 3923 // }, 3924 // "scopes": [ 3925 // "https://www.googleapis.com/auth/cloud-platform" 3926 // ] 3927 // } 3928 3929} 3930 3931// method id "remotebuildexecution.projects.instances.patch": 3932 3933type ProjectsInstancesPatchCall struct { 3934 s *Service 3935 name string 3936 googledevtoolsremotebuildexecutionadminv1alphainstance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance 3937 urlParams_ gensupport.URLParams 3938 ctx_ context.Context 3939 header_ http.Header 3940} 3941 3942// Patch: Updates the specified instance. Returns a long running 3943// operation which contains the updated instance in the response on 3944// completion. 3945func (r *ProjectsInstancesService) Patch(name string, googledevtoolsremotebuildexecutionadminv1alphainstance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance) *ProjectsInstancesPatchCall { 3946 c := &ProjectsInstancesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3947 c.name = name 3948 c.googledevtoolsremotebuildexecutionadminv1alphainstance = googledevtoolsremotebuildexecutionadminv1alphainstance 3949 return c 3950} 3951 3952// LoggingEnabled sets the optional parameter "loggingEnabled": 3953// Deprecated, use instance.logging_enabled instead. Whether to enable 3954// Stackdriver logging for this instance. 3955func (c *ProjectsInstancesPatchCall) LoggingEnabled(loggingEnabled bool) *ProjectsInstancesPatchCall { 3956 c.urlParams_.Set("loggingEnabled", fmt.Sprint(loggingEnabled)) 3957 return c 3958} 3959 3960// Name1 sets the optional parameter "name1": Deprecated, use 3961// instance.Name instead. Name of the instance to update. Format: 3962// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. 3963func (c *ProjectsInstancesPatchCall) Name1(name1 string) *ProjectsInstancesPatchCall { 3964 c.urlParams_.Set("name1", name1) 3965 return c 3966} 3967 3968// UpdateMask sets the optional parameter "updateMask": The update mask 3969// applies to instance. For the `FieldMask` definition, see 3970// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask 3971// If an empty update_mask is provided, only the non-default valued 3972// field in the worker pool field will be updated. Note that in order to 3973// update a field to the default value (zero, false, empty string) an 3974// explicit update_mask must be provided. 3975func (c *ProjectsInstancesPatchCall) UpdateMask(updateMask string) *ProjectsInstancesPatchCall { 3976 c.urlParams_.Set("updateMask", updateMask) 3977 return c 3978} 3979 3980// Fields allows partial responses to be retrieved. See 3981// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3982// for more information. 3983func (c *ProjectsInstancesPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesPatchCall { 3984 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3985 return c 3986} 3987 3988// Context sets the context to be used in this call's Do method. Any 3989// pending HTTP request will be aborted if the provided context is 3990// canceled. 3991func (c *ProjectsInstancesPatchCall) Context(ctx context.Context) *ProjectsInstancesPatchCall { 3992 c.ctx_ = ctx 3993 return c 3994} 3995 3996// Header returns an http.Header that can be modified by the caller to 3997// add HTTP headers to the request. 3998func (c *ProjectsInstancesPatchCall) Header() http.Header { 3999 if c.header_ == nil { 4000 c.header_ = make(http.Header) 4001 } 4002 return c.header_ 4003} 4004 4005func (c *ProjectsInstancesPatchCall) doRequest(alt string) (*http.Response, error) { 4006 reqHeaders := make(http.Header) 4007 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 4008 for k, v := range c.header_ { 4009 reqHeaders[k] = v 4010 } 4011 reqHeaders.Set("User-Agent", c.s.userAgent()) 4012 var body io.Reader = nil 4013 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googledevtoolsremotebuildexecutionadminv1alphainstance) 4014 if err != nil { 4015 return nil, err 4016 } 4017 reqHeaders.Set("Content-Type", "application/json") 4018 c.urlParams_.Set("alt", alt) 4019 c.urlParams_.Set("prettyPrint", "false") 4020 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") 4021 urls += "?" + c.urlParams_.Encode() 4022 req, err := http.NewRequest("PATCH", urls, body) 4023 if err != nil { 4024 return nil, err 4025 } 4026 req.Header = reqHeaders 4027 googleapi.Expand(req.URL, map[string]string{ 4028 "name": c.name, 4029 }) 4030 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4031} 4032 4033// Do executes the "remotebuildexecution.projects.instances.patch" call. 4034// Exactly one of *GoogleLongrunningOperation or error will be non-nil. 4035// Any non-2xx status code is an error. Response headers are in either 4036// *GoogleLongrunningOperation.ServerResponse.Header or (if a response 4037// was returned at all) in error.(*googleapi.Error).Header. Use 4038// googleapi.IsNotModified to check whether the returned error was 4039// because http.StatusNotModified was returned. 4040func (c *ProjectsInstancesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 4041 gensupport.SetOptions(c.urlParams_, opts...) 4042 res, err := c.doRequest("json") 4043 if res != nil && res.StatusCode == http.StatusNotModified { 4044 if res.Body != nil { 4045 res.Body.Close() 4046 } 4047 return nil, &googleapi.Error{ 4048 Code: res.StatusCode, 4049 Header: res.Header, 4050 } 4051 } 4052 if err != nil { 4053 return nil, err 4054 } 4055 defer googleapi.CloseBody(res) 4056 if err := googleapi.CheckResponse(res); err != nil { 4057 return nil, err 4058 } 4059 ret := &GoogleLongrunningOperation{ 4060 ServerResponse: googleapi.ServerResponse{ 4061 Header: res.Header, 4062 HTTPStatusCode: res.StatusCode, 4063 }, 4064 } 4065 target := &ret 4066 if err := gensupport.DecodeResponse(target, res); err != nil { 4067 return nil, err 4068 } 4069 return ret, nil 4070 // { 4071 // "description": "Updates the specified instance. Returns a long running operation which contains the updated instance in the response on completion.", 4072 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}", 4073 // "httpMethod": "PATCH", 4074 // "id": "remotebuildexecution.projects.instances.patch", 4075 // "parameterOrder": [ 4076 // "name" 4077 // ], 4078 // "parameters": { 4079 // "loggingEnabled": { 4080 // "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.", 4081 // "location": "query", 4082 // "type": "boolean" 4083 // }, 4084 // "name": { 4085 // "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.", 4086 // "location": "path", 4087 // "pattern": "^projects/[^/]+/instances/[^/]+$", 4088 // "required": true, 4089 // "type": "string" 4090 // }, 4091 // "name1": { 4092 // "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", 4093 // "location": "query", 4094 // "type": "string" 4095 // }, 4096 // "updateMask": { 4097 // "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.", 4098 // "format": "google-fieldmask", 4099 // "location": "query", 4100 // "type": "string" 4101 // } 4102 // }, 4103 // "path": "v1alpha/{+name}", 4104 // "request": { 4105 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance" 4106 // }, 4107 // "response": { 4108 // "$ref": "GoogleLongrunningOperation" 4109 // }, 4110 // "scopes": [ 4111 // "https://www.googleapis.com/auth/cloud-platform" 4112 // ] 4113 // } 4114 4115} 4116 4117// method id "remotebuildexecution.projects.instances.workerpools.create": 4118 4119type ProjectsInstancesWorkerpoolsCreateCall struct { 4120 s *Service 4121 parent string 4122 googledevtoolsremotebuildexecutionadminv1alphacreateworkerpoolrequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest 4123 urlParams_ gensupport.URLParams 4124 ctx_ context.Context 4125 header_ http.Header 4126} 4127 4128// Create: Creates a new worker pool with a specified size and 4129// configuration. Returns a long running operation which contains a 4130// worker pool on completion. While the long running operation is in 4131// progress, any call to `GetWorkerPool` returns a worker pool in state 4132// `CREATING`. 4133func (r *ProjectsInstancesWorkerpoolsService) Create(parent string, googledevtoolsremotebuildexecutionadminv1alphacreateworkerpoolrequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest) *ProjectsInstancesWorkerpoolsCreateCall { 4134 c := &ProjectsInstancesWorkerpoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4135 c.parent = parent 4136 c.googledevtoolsremotebuildexecutionadminv1alphacreateworkerpoolrequest = googledevtoolsremotebuildexecutionadminv1alphacreateworkerpoolrequest 4137 return c 4138} 4139 4140// Fields allows partial responses to be retrieved. See 4141// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4142// for more information. 4143func (c *ProjectsInstancesWorkerpoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsInstancesWorkerpoolsCreateCall { 4144 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4145 return c 4146} 4147 4148// Context sets the context to be used in this call's Do method. Any 4149// pending HTTP request will be aborted if the provided context is 4150// canceled. 4151func (c *ProjectsInstancesWorkerpoolsCreateCall) Context(ctx context.Context) *ProjectsInstancesWorkerpoolsCreateCall { 4152 c.ctx_ = ctx 4153 return c 4154} 4155 4156// Header returns an http.Header that can be modified by the caller to 4157// add HTTP headers to the request. 4158func (c *ProjectsInstancesWorkerpoolsCreateCall) Header() http.Header { 4159 if c.header_ == nil { 4160 c.header_ = make(http.Header) 4161 } 4162 return c.header_ 4163} 4164 4165func (c *ProjectsInstancesWorkerpoolsCreateCall) doRequest(alt string) (*http.Response, error) { 4166 reqHeaders := make(http.Header) 4167 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 4168 for k, v := range c.header_ { 4169 reqHeaders[k] = v 4170 } 4171 reqHeaders.Set("User-Agent", c.s.userAgent()) 4172 var body io.Reader = nil 4173 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googledevtoolsremotebuildexecutionadminv1alphacreateworkerpoolrequest) 4174 if err != nil { 4175 return nil, err 4176 } 4177 reqHeaders.Set("Content-Type", "application/json") 4178 c.urlParams_.Set("alt", alt) 4179 c.urlParams_.Set("prettyPrint", "false") 4180 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/workerpools") 4181 urls += "?" + c.urlParams_.Encode() 4182 req, err := http.NewRequest("POST", urls, body) 4183 if err != nil { 4184 return nil, err 4185 } 4186 req.Header = reqHeaders 4187 googleapi.Expand(req.URL, map[string]string{ 4188 "parent": c.parent, 4189 }) 4190 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4191} 4192 4193// Do executes the "remotebuildexecution.projects.instances.workerpools.create" call. 4194// Exactly one of *GoogleLongrunningOperation or error will be non-nil. 4195// Any non-2xx status code is an error. Response headers are in either 4196// *GoogleLongrunningOperation.ServerResponse.Header or (if a response 4197// was returned at all) in error.(*googleapi.Error).Header. Use 4198// googleapi.IsNotModified to check whether the returned error was 4199// because http.StatusNotModified was returned. 4200func (c *ProjectsInstancesWorkerpoolsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 4201 gensupport.SetOptions(c.urlParams_, opts...) 4202 res, err := c.doRequest("json") 4203 if res != nil && res.StatusCode == http.StatusNotModified { 4204 if res.Body != nil { 4205 res.Body.Close() 4206 } 4207 return nil, &googleapi.Error{ 4208 Code: res.StatusCode, 4209 Header: res.Header, 4210 } 4211 } 4212 if err != nil { 4213 return nil, err 4214 } 4215 defer googleapi.CloseBody(res) 4216 if err := googleapi.CheckResponse(res); err != nil { 4217 return nil, err 4218 } 4219 ret := &GoogleLongrunningOperation{ 4220 ServerResponse: googleapi.ServerResponse{ 4221 Header: res.Header, 4222 HTTPStatusCode: res.StatusCode, 4223 }, 4224 } 4225 target := &ret 4226 if err := gensupport.DecodeResponse(target, res); err != nil { 4227 return nil, err 4228 } 4229 return ret, nil 4230 // { 4231 // "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`.", 4232 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools", 4233 // "httpMethod": "POST", 4234 // "id": "remotebuildexecution.projects.instances.workerpools.create", 4235 // "parameterOrder": [ 4236 // "parent" 4237 // ], 4238 // "parameters": { 4239 // "parent": { 4240 // "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", 4241 // "location": "path", 4242 // "pattern": "^projects/[^/]+/instances/[^/]+$", 4243 // "required": true, 4244 // "type": "string" 4245 // } 4246 // }, 4247 // "path": "v1alpha/{+parent}/workerpools", 4248 // "request": { 4249 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest" 4250 // }, 4251 // "response": { 4252 // "$ref": "GoogleLongrunningOperation" 4253 // }, 4254 // "scopes": [ 4255 // "https://www.googleapis.com/auth/cloud-platform" 4256 // ] 4257 // } 4258 4259} 4260 4261// method id "remotebuildexecution.projects.instances.workerpools.delete": 4262 4263type ProjectsInstancesWorkerpoolsDeleteCall struct { 4264 s *Service 4265 name string 4266 urlParams_ gensupport.URLParams 4267 ctx_ context.Context 4268 header_ http.Header 4269} 4270 4271// Delete: Deletes the specified worker pool. Returns a long running 4272// operation, which contains a `google.protobuf.Empty` response on 4273// completion. While the long running operation is in progress, any call 4274// to `GetWorkerPool` returns a worker pool in state `DELETING`. 4275func (r *ProjectsInstancesWorkerpoolsService) Delete(name string) *ProjectsInstancesWorkerpoolsDeleteCall { 4276 c := &ProjectsInstancesWorkerpoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4277 c.name = name 4278 return c 4279} 4280 4281// Fields allows partial responses to be retrieved. See 4282// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4283// for more information. 4284func (c *ProjectsInstancesWorkerpoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsInstancesWorkerpoolsDeleteCall { 4285 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4286 return c 4287} 4288 4289// Context sets the context to be used in this call's Do method. Any 4290// pending HTTP request will be aborted if the provided context is 4291// canceled. 4292func (c *ProjectsInstancesWorkerpoolsDeleteCall) Context(ctx context.Context) *ProjectsInstancesWorkerpoolsDeleteCall { 4293 c.ctx_ = ctx 4294 return c 4295} 4296 4297// Header returns an http.Header that can be modified by the caller to 4298// add HTTP headers to the request. 4299func (c *ProjectsInstancesWorkerpoolsDeleteCall) Header() http.Header { 4300 if c.header_ == nil { 4301 c.header_ = make(http.Header) 4302 } 4303 return c.header_ 4304} 4305 4306func (c *ProjectsInstancesWorkerpoolsDeleteCall) doRequest(alt string) (*http.Response, error) { 4307 reqHeaders := make(http.Header) 4308 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 4309 for k, v := range c.header_ { 4310 reqHeaders[k] = v 4311 } 4312 reqHeaders.Set("User-Agent", c.s.userAgent()) 4313 var body io.Reader = nil 4314 c.urlParams_.Set("alt", alt) 4315 c.urlParams_.Set("prettyPrint", "false") 4316 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") 4317 urls += "?" + c.urlParams_.Encode() 4318 req, err := http.NewRequest("DELETE", urls, body) 4319 if err != nil { 4320 return nil, err 4321 } 4322 req.Header = reqHeaders 4323 googleapi.Expand(req.URL, map[string]string{ 4324 "name": c.name, 4325 }) 4326 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4327} 4328 4329// Do executes the "remotebuildexecution.projects.instances.workerpools.delete" call. 4330// Exactly one of *GoogleLongrunningOperation or error will be non-nil. 4331// Any non-2xx status code is an error. Response headers are in either 4332// *GoogleLongrunningOperation.ServerResponse.Header or (if a response 4333// was returned at all) in error.(*googleapi.Error).Header. Use 4334// googleapi.IsNotModified to check whether the returned error was 4335// because http.StatusNotModified was returned. 4336func (c *ProjectsInstancesWorkerpoolsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 4337 gensupport.SetOptions(c.urlParams_, opts...) 4338 res, err := c.doRequest("json") 4339 if res != nil && res.StatusCode == http.StatusNotModified { 4340 if res.Body != nil { 4341 res.Body.Close() 4342 } 4343 return nil, &googleapi.Error{ 4344 Code: res.StatusCode, 4345 Header: res.Header, 4346 } 4347 } 4348 if err != nil { 4349 return nil, err 4350 } 4351 defer googleapi.CloseBody(res) 4352 if err := googleapi.CheckResponse(res); err != nil { 4353 return nil, err 4354 } 4355 ret := &GoogleLongrunningOperation{ 4356 ServerResponse: googleapi.ServerResponse{ 4357 Header: res.Header, 4358 HTTPStatusCode: res.StatusCode, 4359 }, 4360 } 4361 target := &ret 4362 if err := gensupport.DecodeResponse(target, res); err != nil { 4363 return nil, err 4364 } 4365 return ret, nil 4366 // { 4367 // "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`.", 4368 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}", 4369 // "httpMethod": "DELETE", 4370 // "id": "remotebuildexecution.projects.instances.workerpools.delete", 4371 // "parameterOrder": [ 4372 // "name" 4373 // ], 4374 // "parameters": { 4375 // "name": { 4376 // "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.", 4377 // "location": "path", 4378 // "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$", 4379 // "required": true, 4380 // "type": "string" 4381 // } 4382 // }, 4383 // "path": "v1alpha/{+name}", 4384 // "response": { 4385 // "$ref": "GoogleLongrunningOperation" 4386 // }, 4387 // "scopes": [ 4388 // "https://www.googleapis.com/auth/cloud-platform" 4389 // ] 4390 // } 4391 4392} 4393 4394// method id "remotebuildexecution.projects.instances.workerpools.get": 4395 4396type ProjectsInstancesWorkerpoolsGetCall struct { 4397 s *Service 4398 name string 4399 urlParams_ gensupport.URLParams 4400 ifNoneMatch_ string 4401 ctx_ context.Context 4402 header_ http.Header 4403} 4404 4405// Get: Returns the specified worker pool. 4406func (r *ProjectsInstancesWorkerpoolsService) Get(name string) *ProjectsInstancesWorkerpoolsGetCall { 4407 c := &ProjectsInstancesWorkerpoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4408 c.name = name 4409 return c 4410} 4411 4412// Fields allows partial responses to be retrieved. See 4413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4414// for more information. 4415func (c *ProjectsInstancesWorkerpoolsGetCall) Fields(s ...googleapi.Field) *ProjectsInstancesWorkerpoolsGetCall { 4416 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4417 return c 4418} 4419 4420// IfNoneMatch sets the optional parameter which makes the operation 4421// fail if the object's ETag matches the given value. This is useful for 4422// getting updates only after the object has changed since the last 4423// request. Use googleapi.IsNotModified to check whether the response 4424// error from Do is the result of In-None-Match. 4425func (c *ProjectsInstancesWorkerpoolsGetCall) IfNoneMatch(entityTag string) *ProjectsInstancesWorkerpoolsGetCall { 4426 c.ifNoneMatch_ = entityTag 4427 return c 4428} 4429 4430// Context sets the context to be used in this call's Do method. Any 4431// pending HTTP request will be aborted if the provided context is 4432// canceled. 4433func (c *ProjectsInstancesWorkerpoolsGetCall) Context(ctx context.Context) *ProjectsInstancesWorkerpoolsGetCall { 4434 c.ctx_ = ctx 4435 return c 4436} 4437 4438// Header returns an http.Header that can be modified by the caller to 4439// add HTTP headers to the request. 4440func (c *ProjectsInstancesWorkerpoolsGetCall) Header() http.Header { 4441 if c.header_ == nil { 4442 c.header_ = make(http.Header) 4443 } 4444 return c.header_ 4445} 4446 4447func (c *ProjectsInstancesWorkerpoolsGetCall) doRequest(alt string) (*http.Response, error) { 4448 reqHeaders := make(http.Header) 4449 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 4450 for k, v := range c.header_ { 4451 reqHeaders[k] = v 4452 } 4453 reqHeaders.Set("User-Agent", c.s.userAgent()) 4454 if c.ifNoneMatch_ != "" { 4455 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4456 } 4457 var body io.Reader = nil 4458 c.urlParams_.Set("alt", alt) 4459 c.urlParams_.Set("prettyPrint", "false") 4460 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") 4461 urls += "?" + c.urlParams_.Encode() 4462 req, err := http.NewRequest("GET", urls, body) 4463 if err != nil { 4464 return nil, err 4465 } 4466 req.Header = reqHeaders 4467 googleapi.Expand(req.URL, map[string]string{ 4468 "name": c.name, 4469 }) 4470 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4471} 4472 4473// Do executes the "remotebuildexecution.projects.instances.workerpools.get" call. 4474// Exactly one of 4475// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool or error 4476// will be non-nil. Any non-2xx status code is an error. Response 4477// headers are in either 4478// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool.ServerRespon 4479// se.Header or (if a response was returned at all) in 4480// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4481// whether the returned error was because http.StatusNotModified was 4482// returned. 4483func (c *ProjectsInstancesWorkerpoolsGetCall) Do(opts ...googleapi.CallOption) (*GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool, error) { 4484 gensupport.SetOptions(c.urlParams_, opts...) 4485 res, err := c.doRequest("json") 4486 if res != nil && res.StatusCode == http.StatusNotModified { 4487 if res.Body != nil { 4488 res.Body.Close() 4489 } 4490 return nil, &googleapi.Error{ 4491 Code: res.StatusCode, 4492 Header: res.Header, 4493 } 4494 } 4495 if err != nil { 4496 return nil, err 4497 } 4498 defer googleapi.CloseBody(res) 4499 if err := googleapi.CheckResponse(res); err != nil { 4500 return nil, err 4501 } 4502 ret := &GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool{ 4503 ServerResponse: googleapi.ServerResponse{ 4504 Header: res.Header, 4505 HTTPStatusCode: res.StatusCode, 4506 }, 4507 } 4508 target := &ret 4509 if err := gensupport.DecodeResponse(target, res); err != nil { 4510 return nil, err 4511 } 4512 return ret, nil 4513 // { 4514 // "description": "Returns the specified worker pool.", 4515 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}", 4516 // "httpMethod": "GET", 4517 // "id": "remotebuildexecution.projects.instances.workerpools.get", 4518 // "parameterOrder": [ 4519 // "name" 4520 // ], 4521 // "parameters": { 4522 // "name": { 4523 // "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.", 4524 // "location": "path", 4525 // "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$", 4526 // "required": true, 4527 // "type": "string" 4528 // } 4529 // }, 4530 // "path": "v1alpha/{+name}", 4531 // "response": { 4532 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool" 4533 // }, 4534 // "scopes": [ 4535 // "https://www.googleapis.com/auth/cloud-platform" 4536 // ] 4537 // } 4538 4539} 4540 4541// method id "remotebuildexecution.projects.instances.workerpools.list": 4542 4543type ProjectsInstancesWorkerpoolsListCall struct { 4544 s *Service 4545 parent string 4546 urlParams_ gensupport.URLParams 4547 ifNoneMatch_ string 4548 ctx_ context.Context 4549 header_ http.Header 4550} 4551 4552// List: Lists worker pools in an instance. 4553func (r *ProjectsInstancesWorkerpoolsService) List(parent string) *ProjectsInstancesWorkerpoolsListCall { 4554 c := &ProjectsInstancesWorkerpoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4555 c.parent = parent 4556 return c 4557} 4558 4559// Filter sets the optional parameter "filter": A filter expression that 4560// filters resources listed in the response. The expression must specify 4561// the field name, a comparison operator, and the value that you want to 4562// use for filtering. The value must be a string, a number, or a 4563// boolean. String values are case-insensitive. The comparison operator 4564// must be either `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` 4565// operator can be used with string fields to match substrings. For 4566// non-string fields it is equivalent to the `=` operator. The `:*` 4567// comparison can be used to test whether a key has been defined. You 4568// can also filter on nested fields. To filter on multiple expressions, 4569// you can separate expression using `AND` and `OR` operators, using 4570// parentheses to specify precedence. If neither operator is specified, 4571// `AND` is assumed. Examples: Include only pools with more than 100 4572// reserved workers: `(worker_count > 100) (worker_config.reserved = 4573// true)` Include only pools with a certain label or machines of the 4574// e2-standard family: `worker_config.labels.key1 : * OR 4575// worker_config.machine_type: e2-standard` 4576func (c *ProjectsInstancesWorkerpoolsListCall) Filter(filter string) *ProjectsInstancesWorkerpoolsListCall { 4577 c.urlParams_.Set("filter", filter) 4578 return c 4579} 4580 4581// Fields allows partial responses to be retrieved. See 4582// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4583// for more information. 4584func (c *ProjectsInstancesWorkerpoolsListCall) Fields(s ...googleapi.Field) *ProjectsInstancesWorkerpoolsListCall { 4585 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4586 return c 4587} 4588 4589// IfNoneMatch sets the optional parameter which makes the operation 4590// fail if the object's ETag matches the given value. This is useful for 4591// getting updates only after the object has changed since the last 4592// request. Use googleapi.IsNotModified to check whether the response 4593// error from Do is the result of In-None-Match. 4594func (c *ProjectsInstancesWorkerpoolsListCall) IfNoneMatch(entityTag string) *ProjectsInstancesWorkerpoolsListCall { 4595 c.ifNoneMatch_ = entityTag 4596 return c 4597} 4598 4599// Context sets the context to be used in this call's Do method. Any 4600// pending HTTP request will be aborted if the provided context is 4601// canceled. 4602func (c *ProjectsInstancesWorkerpoolsListCall) Context(ctx context.Context) *ProjectsInstancesWorkerpoolsListCall { 4603 c.ctx_ = ctx 4604 return c 4605} 4606 4607// Header returns an http.Header that can be modified by the caller to 4608// add HTTP headers to the request. 4609func (c *ProjectsInstancesWorkerpoolsListCall) Header() http.Header { 4610 if c.header_ == nil { 4611 c.header_ = make(http.Header) 4612 } 4613 return c.header_ 4614} 4615 4616func (c *ProjectsInstancesWorkerpoolsListCall) doRequest(alt string) (*http.Response, error) { 4617 reqHeaders := make(http.Header) 4618 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 4619 for k, v := range c.header_ { 4620 reqHeaders[k] = v 4621 } 4622 reqHeaders.Set("User-Agent", c.s.userAgent()) 4623 if c.ifNoneMatch_ != "" { 4624 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4625 } 4626 var body io.Reader = nil 4627 c.urlParams_.Set("alt", alt) 4628 c.urlParams_.Set("prettyPrint", "false") 4629 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/workerpools") 4630 urls += "?" + c.urlParams_.Encode() 4631 req, err := http.NewRequest("GET", urls, body) 4632 if err != nil { 4633 return nil, err 4634 } 4635 req.Header = reqHeaders 4636 googleapi.Expand(req.URL, map[string]string{ 4637 "parent": c.parent, 4638 }) 4639 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4640} 4641 4642// Do executes the "remotebuildexecution.projects.instances.workerpools.list" call. 4643// Exactly one of 4644// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse 4645// or error will be non-nil. Any non-2xx status code is an error. 4646// Response headers are in either 4647// *GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse 4648// .ServerResponse.Header or (if a response was returned at all) in 4649// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4650// whether the returned error was because http.StatusNotModified was 4651// returned. 4652func (c *ProjectsInstancesWorkerpoolsListCall) Do(opts ...googleapi.CallOption) (*GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse, error) { 4653 gensupport.SetOptions(c.urlParams_, opts...) 4654 res, err := c.doRequest("json") 4655 if res != nil && res.StatusCode == http.StatusNotModified { 4656 if res.Body != nil { 4657 res.Body.Close() 4658 } 4659 return nil, &googleapi.Error{ 4660 Code: res.StatusCode, 4661 Header: res.Header, 4662 } 4663 } 4664 if err != nil { 4665 return nil, err 4666 } 4667 defer googleapi.CloseBody(res) 4668 if err := googleapi.CheckResponse(res); err != nil { 4669 return nil, err 4670 } 4671 ret := &GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse{ 4672 ServerResponse: googleapi.ServerResponse{ 4673 Header: res.Header, 4674 HTTPStatusCode: res.StatusCode, 4675 }, 4676 } 4677 target := &ret 4678 if err := gensupport.DecodeResponse(target, res); err != nil { 4679 return nil, err 4680 } 4681 return ret, nil 4682 // { 4683 // "description": "Lists worker pools in an instance.", 4684 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools", 4685 // "httpMethod": "GET", 4686 // "id": "remotebuildexecution.projects.instances.workerpools.list", 4687 // "parameterOrder": [ 4688 // "parent" 4689 // ], 4690 // "parameters": { 4691 // "filter": { 4692 // "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`", 4693 // "location": "query", 4694 // "type": "string" 4695 // }, 4696 // "parent": { 4697 // "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", 4698 // "location": "path", 4699 // "pattern": "^projects/[^/]+/instances/[^/]+$", 4700 // "required": true, 4701 // "type": "string" 4702 // } 4703 // }, 4704 // "path": "v1alpha/{+parent}/workerpools", 4705 // "response": { 4706 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse" 4707 // }, 4708 // "scopes": [ 4709 // "https://www.googleapis.com/auth/cloud-platform" 4710 // ] 4711 // } 4712 4713} 4714 4715// method id "remotebuildexecution.projects.instances.workerpools.patch": 4716 4717type ProjectsInstancesWorkerpoolsPatchCall struct { 4718 s *Service 4719 name string 4720 googledevtoolsremotebuildexecutionadminv1alphaupdateworkerpoolrequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest 4721 urlParams_ gensupport.URLParams 4722 ctx_ context.Context 4723 header_ http.Header 4724} 4725 4726// Patch: Updates an existing worker pool with a specified size and/or 4727// configuration. Returns a long running operation, which contains a 4728// worker pool on completion. While the long running operation is in 4729// progress, any call to `GetWorkerPool` returns a worker pool in state 4730// `UPDATING`. 4731func (r *ProjectsInstancesWorkerpoolsService) Patch(name string, googledevtoolsremotebuildexecutionadminv1alphaupdateworkerpoolrequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest) *ProjectsInstancesWorkerpoolsPatchCall { 4732 c := &ProjectsInstancesWorkerpoolsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4733 c.name = name 4734 c.googledevtoolsremotebuildexecutionadminv1alphaupdateworkerpoolrequest = googledevtoolsremotebuildexecutionadminv1alphaupdateworkerpoolrequest 4735 return c 4736} 4737 4738// Fields allows partial responses to be retrieved. See 4739// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4740// for more information. 4741func (c *ProjectsInstancesWorkerpoolsPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesWorkerpoolsPatchCall { 4742 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4743 return c 4744} 4745 4746// Context sets the context to be used in this call's Do method. Any 4747// pending HTTP request will be aborted if the provided context is 4748// canceled. 4749func (c *ProjectsInstancesWorkerpoolsPatchCall) Context(ctx context.Context) *ProjectsInstancesWorkerpoolsPatchCall { 4750 c.ctx_ = ctx 4751 return c 4752} 4753 4754// Header returns an http.Header that can be modified by the caller to 4755// add HTTP headers to the request. 4756func (c *ProjectsInstancesWorkerpoolsPatchCall) Header() http.Header { 4757 if c.header_ == nil { 4758 c.header_ = make(http.Header) 4759 } 4760 return c.header_ 4761} 4762 4763func (c *ProjectsInstancesWorkerpoolsPatchCall) doRequest(alt string) (*http.Response, error) { 4764 reqHeaders := make(http.Header) 4765 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 4766 for k, v := range c.header_ { 4767 reqHeaders[k] = v 4768 } 4769 reqHeaders.Set("User-Agent", c.s.userAgent()) 4770 var body io.Reader = nil 4771 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googledevtoolsremotebuildexecutionadminv1alphaupdateworkerpoolrequest) 4772 if err != nil { 4773 return nil, err 4774 } 4775 reqHeaders.Set("Content-Type", "application/json") 4776 c.urlParams_.Set("alt", alt) 4777 c.urlParams_.Set("prettyPrint", "false") 4778 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") 4779 urls += "?" + c.urlParams_.Encode() 4780 req, err := http.NewRequest("PATCH", urls, body) 4781 if err != nil { 4782 return nil, err 4783 } 4784 req.Header = reqHeaders 4785 googleapi.Expand(req.URL, map[string]string{ 4786 "name": c.name, 4787 }) 4788 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4789} 4790 4791// Do executes the "remotebuildexecution.projects.instances.workerpools.patch" call. 4792// Exactly one of *GoogleLongrunningOperation or error will be non-nil. 4793// Any non-2xx status code is an error. Response headers are in either 4794// *GoogleLongrunningOperation.ServerResponse.Header or (if a response 4795// was returned at all) in error.(*googleapi.Error).Header. Use 4796// googleapi.IsNotModified to check whether the returned error was 4797// because http.StatusNotModified was returned. 4798func (c *ProjectsInstancesWorkerpoolsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 4799 gensupport.SetOptions(c.urlParams_, opts...) 4800 res, err := c.doRequest("json") 4801 if res != nil && res.StatusCode == http.StatusNotModified { 4802 if res.Body != nil { 4803 res.Body.Close() 4804 } 4805 return nil, &googleapi.Error{ 4806 Code: res.StatusCode, 4807 Header: res.Header, 4808 } 4809 } 4810 if err != nil { 4811 return nil, err 4812 } 4813 defer googleapi.CloseBody(res) 4814 if err := googleapi.CheckResponse(res); err != nil { 4815 return nil, err 4816 } 4817 ret := &GoogleLongrunningOperation{ 4818 ServerResponse: googleapi.ServerResponse{ 4819 Header: res.Header, 4820 HTTPStatusCode: res.StatusCode, 4821 }, 4822 } 4823 target := &ret 4824 if err := gensupport.DecodeResponse(target, res); err != nil { 4825 return nil, err 4826 } 4827 return ret, nil 4828 // { 4829 // "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`.", 4830 // "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}", 4831 // "httpMethod": "PATCH", 4832 // "id": "remotebuildexecution.projects.instances.workerpools.patch", 4833 // "parameterOrder": [ 4834 // "name" 4835 // ], 4836 // "parameters": { 4837 // "name": { 4838 // "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.", 4839 // "location": "path", 4840 // "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$", 4841 // "required": true, 4842 // "type": "string" 4843 // } 4844 // }, 4845 // "path": "v1alpha/{+name}", 4846 // "request": { 4847 // "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest" 4848 // }, 4849 // "response": { 4850 // "$ref": "GoogleLongrunningOperation" 4851 // }, 4852 // "scopes": [ 4853 // "https://www.googleapis.com/auth/cloud-platform" 4854 // ] 4855 // } 4856 4857} 4858 4859// method id "remotebuildexecution.projects.operations.get": 4860 4861type ProjectsOperationsGetCall struct { 4862 s *Service 4863 name string 4864 urlParams_ gensupport.URLParams 4865 ifNoneMatch_ string 4866 ctx_ context.Context 4867 header_ http.Header 4868} 4869 4870// Get: Gets the latest state of a long-running operation. Clients can 4871// use this method to poll the operation result at intervals as 4872// recommended by the API service. 4873func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { 4874 c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4875 c.name = name 4876 return c 4877} 4878 4879// Fields allows partial responses to be retrieved. See 4880// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4881// for more information. 4882func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { 4883 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4884 return c 4885} 4886 4887// IfNoneMatch sets the optional parameter which makes the operation 4888// fail if the object's ETag matches the given value. This is useful for 4889// getting updates only after the object has changed since the last 4890// request. Use googleapi.IsNotModified to check whether the response 4891// error from Do is the result of In-None-Match. 4892func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { 4893 c.ifNoneMatch_ = entityTag 4894 return c 4895} 4896 4897// Context sets the context to be used in this call's Do method. Any 4898// pending HTTP request will be aborted if the provided context is 4899// canceled. 4900func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { 4901 c.ctx_ = ctx 4902 return c 4903} 4904 4905// Header returns an http.Header that can be modified by the caller to 4906// add HTTP headers to the request. 4907func (c *ProjectsOperationsGetCall) Header() http.Header { 4908 if c.header_ == nil { 4909 c.header_ = make(http.Header) 4910 } 4911 return c.header_ 4912} 4913 4914func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 4915 reqHeaders := make(http.Header) 4916 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210322") 4917 for k, v := range c.header_ { 4918 reqHeaders[k] = v 4919 } 4920 reqHeaders.Set("User-Agent", c.s.userAgent()) 4921 if c.ifNoneMatch_ != "" { 4922 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4923 } 4924 var body io.Reader = nil 4925 c.urlParams_.Set("alt", alt) 4926 c.urlParams_.Set("prettyPrint", "false") 4927 urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") 4928 urls += "?" + c.urlParams_.Encode() 4929 req, err := http.NewRequest("GET", urls, body) 4930 if err != nil { 4931 return nil, err 4932 } 4933 req.Header = reqHeaders 4934 googleapi.Expand(req.URL, map[string]string{ 4935 "name": c.name, 4936 }) 4937 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4938} 4939 4940// Do executes the "remotebuildexecution.projects.operations.get" call. 4941// Exactly one of *GoogleLongrunningOperation or error will be non-nil. 4942// Any non-2xx status code is an error. Response headers are in either 4943// *GoogleLongrunningOperation.ServerResponse.Header or (if a response 4944// was returned at all) in error.(*googleapi.Error).Header. Use 4945// googleapi.IsNotModified to check whether the returned error was 4946// because http.StatusNotModified was returned. 4947func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { 4948 gensupport.SetOptions(c.urlParams_, opts...) 4949 res, err := c.doRequest("json") 4950 if res != nil && res.StatusCode == http.StatusNotModified { 4951 if res.Body != nil { 4952 res.Body.Close() 4953 } 4954 return nil, &googleapi.Error{ 4955 Code: res.StatusCode, 4956 Header: res.Header, 4957 } 4958 } 4959 if err != nil { 4960 return nil, err 4961 } 4962 defer googleapi.CloseBody(res) 4963 if err := googleapi.CheckResponse(res); err != nil { 4964 return nil, err 4965 } 4966 ret := &GoogleLongrunningOperation{ 4967 ServerResponse: googleapi.ServerResponse{ 4968 Header: res.Header, 4969 HTTPStatusCode: res.StatusCode, 4970 }, 4971 } 4972 target := &ret 4973 if err := gensupport.DecodeResponse(target, res); err != nil { 4974 return nil, err 4975 } 4976 return ret, nil 4977 // { 4978 // "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.", 4979 // "flatPath": "v1alpha/projects/{projectsId}/operations/{operationsId}", 4980 // "httpMethod": "GET", 4981 // "id": "remotebuildexecution.projects.operations.get", 4982 // "parameterOrder": [ 4983 // "name" 4984 // ], 4985 // "parameters": { 4986 // "name": { 4987 // "description": "The name of the operation resource.", 4988 // "location": "path", 4989 // "pattern": "^projects/[^/]+/operations/[^/]+$", 4990 // "required": true, 4991 // "type": "string" 4992 // } 4993 // }, 4994 // "path": "v1alpha/{+name}", 4995 // "response": { 4996 // "$ref": "GoogleLongrunningOperation" 4997 // }, 4998 // "scopes": [ 4999 // "https://www.googleapis.com/auth/cloud-platform" 5000 // ] 5001 // } 5002 5003} 5004