You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

5525 lines
217 KiB

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