1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/devtools/remoteexecution/v1test/remote_execution.proto 3 4package remoteexecution 5 6import ( 7 context "context" 8 fmt "fmt" 9 math "math" 10 11 proto "github.com/golang/protobuf/proto" 12 duration "github.com/golang/protobuf/ptypes/duration" 13 _ "google.golang.org/genproto/googleapis/api/annotations" 14 longrunning "google.golang.org/genproto/googleapis/longrunning" 15 status "google.golang.org/genproto/googleapis/rpc/status" 16 grpc "google.golang.org/grpc" 17) 18 19// Reference imports to suppress errors if they are not otherwise used. 20var _ = proto.Marshal 21var _ = fmt.Errorf 22var _ = math.Inf 23 24// This is a compile-time assertion to ensure that this generated file 25// is compatible with the proto package it is being compiled against. 26// A compilation error at this line likely means your copy of the 27// proto package needs to be updated. 28const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 29 30// The current stage of execution. 31type ExecuteOperationMetadata_Stage int32 32 33const ( 34 ExecuteOperationMetadata_UNKNOWN ExecuteOperationMetadata_Stage = 0 35 // Checking the result against the cache. 36 ExecuteOperationMetadata_CACHE_CHECK ExecuteOperationMetadata_Stage = 1 37 // Currently idle, awaiting a free machine to execute. 38 ExecuteOperationMetadata_QUEUED ExecuteOperationMetadata_Stage = 2 39 // Currently being executed by a worker. 40 ExecuteOperationMetadata_EXECUTING ExecuteOperationMetadata_Stage = 3 41 // Finished execution. 42 ExecuteOperationMetadata_COMPLETED ExecuteOperationMetadata_Stage = 4 43) 44 45var ExecuteOperationMetadata_Stage_name = map[int32]string{ 46 0: "UNKNOWN", 47 1: "CACHE_CHECK", 48 2: "QUEUED", 49 3: "EXECUTING", 50 4: "COMPLETED", 51} 52 53var ExecuteOperationMetadata_Stage_value = map[string]int32{ 54 "UNKNOWN": 0, 55 "CACHE_CHECK": 1, 56 "QUEUED": 2, 57 "EXECUTING": 3, 58 "COMPLETED": 4, 59} 60 61func (x ExecuteOperationMetadata_Stage) String() string { 62 return proto.EnumName(ExecuteOperationMetadata_Stage_name, int32(x)) 63} 64 65func (ExecuteOperationMetadata_Stage) EnumDescriptor() ([]byte, []int) { 66 return fileDescriptor_1fc46b2dca8a7fdb, []int{14, 0} 67} 68 69// An `Action` captures all the information about an execution which is required 70// to reproduce it. 71// 72// `Action`s are the core component of the [Execution] service. A single 73// `Action` represents a repeatable action that can be performed by the 74// execution service. `Action`s can be succinctly identified by the digest of 75// their wire format encoding and, once an `Action` has been executed, will be 76// cached in the action cache. Future requests can then use the cached result 77// rather than needing to run afresh. 78// 79// When a server completes execution of an 80// [Action][google.devtools.remoteexecution.v1test.Action], it MAY choose to 81// cache the [result][google.devtools.remoteexecution.v1test.ActionResult] in 82// the [ActionCache][google.devtools.remoteexecution.v1test.ActionCache] unless 83// `do_not_cache` is `true`. Clients SHOULD expect the server to do so. By 84// default, future calls to [Execute][] the same `Action` will also serve their 85// results from the cache. Clients must take care to understand the caching 86// behaviour. Ideally, all `Action`s will be reproducible so that serving a 87// result from cache is always desirable and correct. 88type Action struct { 89 // The digest of the [Command][google.devtools.remoteexecution.v1test.Command] 90 // to run, which MUST be present in the 91 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 92 CommandDigest *Digest `protobuf:"bytes,1,opt,name=command_digest,json=commandDigest,proto3" json:"command_digest,omitempty"` 93 // The digest of the root 94 // [Directory][google.devtools.remoteexecution.v1test.Directory] for the input 95 // files. The files in the directory tree are available in the correct 96 // location on the build machine before the command is executed. The root 97 // directory, as well as every subdirectory and content blob referred to, MUST 98 // be in the 99 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 100 InputRootDigest *Digest `protobuf:"bytes,2,opt,name=input_root_digest,json=inputRootDigest,proto3" json:"input_root_digest,omitempty"` 101 // A list of the output files that the client expects to retrieve from the 102 // action. Only the listed files, as well as directories listed in 103 // `output_directories`, will be returned to the client as output. 104 // Other files that may be created during command execution are discarded. 105 // 106 // The paths are relative to the working directory of the action execution. 107 // The paths are specified using a single forward slash (`/`) as a path 108 // separator, even if the execution platform natively uses a different 109 // separator. The path MUST NOT include a trailing slash, nor a leading slash, 110 // being a relative path. 111 // 112 // In order to ensure consistent hashing of the same Action, the output paths 113 // MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 114 // bytes). 115 OutputFiles []string `protobuf:"bytes,3,rep,name=output_files,json=outputFiles,proto3" json:"output_files,omitempty"` 116 // A list of the output directories that the client expects to retrieve from 117 // the action. Only the contents of the indicated directories (recursively 118 // including the contents of their subdirectories) will be 119 // returned, as well as files listed in `output_files`. Other files that may 120 // be created during command execution are discarded. 121 // 122 // The paths are relative to the working directory of the action execution. 123 // The paths are specified using a single forward slash (`/`) as a path 124 // separator, even if the execution platform natively uses a different 125 // separator. The path MUST NOT include a trailing slash, nor a leading slash, 126 // being a relative path. 127 // The special value of empty string is allowed, although not recommended, and 128 // can be used to capture the entire working directory tree, including inputs. 129 // 130 // In order to ensure consistent hashing of the same Action, the output paths 131 // MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 132 // bytes). 133 OutputDirectories []string `protobuf:"bytes,4,rep,name=output_directories,json=outputDirectories,proto3" json:"output_directories,omitempty"` 134 // The platform requirements for the execution environment. The server MAY 135 // choose to execute the action on any worker satisfying the requirements, so 136 // the client SHOULD ensure that running the action on any such worker will 137 // have the same result. 138 Platform *Platform `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` 139 // A timeout after which the execution should be killed. If the timeout is 140 // absent, then the client is specifying that the execution should continue 141 // as long as the server will let it. The server SHOULD impose a timeout if 142 // the client does not specify one, however, if the client does specify a 143 // timeout that is longer than the server's maximum timeout, the server MUST 144 // reject the request. 145 // 146 // The timeout is a part of the 147 // [Action][google.devtools.remoteexecution.v1test.Action] message, and 148 // therefore two `Actions` with different timeouts are different, even if they 149 // are otherwise identical. This is because, if they were not, running an 150 // `Action` with a lower timeout than is required might result in a cache hit 151 // from an execution run with a longer timeout, hiding the fact that the 152 // timeout is too short. By encoding it directly in the `Action`, a lower 153 // timeout will result in a cache miss and the execution timeout will fail 154 // immediately, rather than whenever the cache entry gets evicted. 155 Timeout *duration.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"` 156 // If true, then the `Action`'s result cannot be cached. 157 DoNotCache bool `protobuf:"varint,7,opt,name=do_not_cache,json=doNotCache,proto3" json:"do_not_cache,omitempty"` 158 XXX_NoUnkeyedLiteral struct{} `json:"-"` 159 XXX_unrecognized []byte `json:"-"` 160 XXX_sizecache int32 `json:"-"` 161} 162 163func (m *Action) Reset() { *m = Action{} } 164func (m *Action) String() string { return proto.CompactTextString(m) } 165func (*Action) ProtoMessage() {} 166func (*Action) Descriptor() ([]byte, []int) { 167 return fileDescriptor_1fc46b2dca8a7fdb, []int{0} 168} 169 170func (m *Action) XXX_Unmarshal(b []byte) error { 171 return xxx_messageInfo_Action.Unmarshal(m, b) 172} 173func (m *Action) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 174 return xxx_messageInfo_Action.Marshal(b, m, deterministic) 175} 176func (m *Action) XXX_Merge(src proto.Message) { 177 xxx_messageInfo_Action.Merge(m, src) 178} 179func (m *Action) XXX_Size() int { 180 return xxx_messageInfo_Action.Size(m) 181} 182func (m *Action) XXX_DiscardUnknown() { 183 xxx_messageInfo_Action.DiscardUnknown(m) 184} 185 186var xxx_messageInfo_Action proto.InternalMessageInfo 187 188func (m *Action) GetCommandDigest() *Digest { 189 if m != nil { 190 return m.CommandDigest 191 } 192 return nil 193} 194 195func (m *Action) GetInputRootDigest() *Digest { 196 if m != nil { 197 return m.InputRootDigest 198 } 199 return nil 200} 201 202func (m *Action) GetOutputFiles() []string { 203 if m != nil { 204 return m.OutputFiles 205 } 206 return nil 207} 208 209func (m *Action) GetOutputDirectories() []string { 210 if m != nil { 211 return m.OutputDirectories 212 } 213 return nil 214} 215 216func (m *Action) GetPlatform() *Platform { 217 if m != nil { 218 return m.Platform 219 } 220 return nil 221} 222 223func (m *Action) GetTimeout() *duration.Duration { 224 if m != nil { 225 return m.Timeout 226 } 227 return nil 228} 229 230func (m *Action) GetDoNotCache() bool { 231 if m != nil { 232 return m.DoNotCache 233 } 234 return false 235} 236 237// A `Command` is the actual command executed by a worker running an 238// [Action][google.devtools.remoteexecution.v1test.Action]. 239// 240// Except as otherwise required, the environment (such as which system 241// libraries or binaries are available, and what filesystems are mounted where) 242// is defined by and specific to the implementation of the remote execution API. 243type Command struct { 244 // The arguments to the command. The first argument must be the path to the 245 // executable, which must be either a relative path, in which case it is 246 // evaluated with respect to the input root, or an absolute path. 247 // 248 // The working directory will always be the input root. 249 Arguments []string `protobuf:"bytes,1,rep,name=arguments,proto3" json:"arguments,omitempty"` 250 // The environment variables to set when running the program. The worker may 251 // provide its own default environment variables; these defaults can be 252 // overridden using this field. Additional variables can also be specified. 253 // 254 // In order to ensure that equivalent `Command`s always hash to the same 255 // value, the environment variables MUST be lexicographically sorted by name. 256 // Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. 257 EnvironmentVariables []*Command_EnvironmentVariable `protobuf:"bytes,2,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"` 258 XXX_NoUnkeyedLiteral struct{} `json:"-"` 259 XXX_unrecognized []byte `json:"-"` 260 XXX_sizecache int32 `json:"-"` 261} 262 263func (m *Command) Reset() { *m = Command{} } 264func (m *Command) String() string { return proto.CompactTextString(m) } 265func (*Command) ProtoMessage() {} 266func (*Command) Descriptor() ([]byte, []int) { 267 return fileDescriptor_1fc46b2dca8a7fdb, []int{1} 268} 269 270func (m *Command) XXX_Unmarshal(b []byte) error { 271 return xxx_messageInfo_Command.Unmarshal(m, b) 272} 273func (m *Command) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 274 return xxx_messageInfo_Command.Marshal(b, m, deterministic) 275} 276func (m *Command) XXX_Merge(src proto.Message) { 277 xxx_messageInfo_Command.Merge(m, src) 278} 279func (m *Command) XXX_Size() int { 280 return xxx_messageInfo_Command.Size(m) 281} 282func (m *Command) XXX_DiscardUnknown() { 283 xxx_messageInfo_Command.DiscardUnknown(m) 284} 285 286var xxx_messageInfo_Command proto.InternalMessageInfo 287 288func (m *Command) GetArguments() []string { 289 if m != nil { 290 return m.Arguments 291 } 292 return nil 293} 294 295func (m *Command) GetEnvironmentVariables() []*Command_EnvironmentVariable { 296 if m != nil { 297 return m.EnvironmentVariables 298 } 299 return nil 300} 301 302// An `EnvironmentVariable` is one variable to set in the running program's 303// environment. 304type Command_EnvironmentVariable struct { 305 // The variable name. 306 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 307 // The variable value. 308 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 309 XXX_NoUnkeyedLiteral struct{} `json:"-"` 310 XXX_unrecognized []byte `json:"-"` 311 XXX_sizecache int32 `json:"-"` 312} 313 314func (m *Command_EnvironmentVariable) Reset() { *m = Command_EnvironmentVariable{} } 315func (m *Command_EnvironmentVariable) String() string { return proto.CompactTextString(m) } 316func (*Command_EnvironmentVariable) ProtoMessage() {} 317func (*Command_EnvironmentVariable) Descriptor() ([]byte, []int) { 318 return fileDescriptor_1fc46b2dca8a7fdb, []int{1, 0} 319} 320 321func (m *Command_EnvironmentVariable) XXX_Unmarshal(b []byte) error { 322 return xxx_messageInfo_Command_EnvironmentVariable.Unmarshal(m, b) 323} 324func (m *Command_EnvironmentVariable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 325 return xxx_messageInfo_Command_EnvironmentVariable.Marshal(b, m, deterministic) 326} 327func (m *Command_EnvironmentVariable) XXX_Merge(src proto.Message) { 328 xxx_messageInfo_Command_EnvironmentVariable.Merge(m, src) 329} 330func (m *Command_EnvironmentVariable) XXX_Size() int { 331 return xxx_messageInfo_Command_EnvironmentVariable.Size(m) 332} 333func (m *Command_EnvironmentVariable) XXX_DiscardUnknown() { 334 xxx_messageInfo_Command_EnvironmentVariable.DiscardUnknown(m) 335} 336 337var xxx_messageInfo_Command_EnvironmentVariable proto.InternalMessageInfo 338 339func (m *Command_EnvironmentVariable) GetName() string { 340 if m != nil { 341 return m.Name 342 } 343 return "" 344} 345 346func (m *Command_EnvironmentVariable) GetValue() string { 347 if m != nil { 348 return m.Value 349 } 350 return "" 351} 352 353// A `Platform` is a set of requirements, such as hardware, operating system, or 354// compiler toolchain, for an 355// [Action][google.devtools.remoteexecution.v1test.Action]'s execution 356// environment. A `Platform` is represented as a series of key-value pairs 357// representing the properties that are required of the platform. 358// 359// This message is currently being redeveloped since it is an overly simplistic 360// model of platforms. 361type Platform struct { 362 // The properties that make up this platform. In order to ensure that 363 // equivalent `Platform`s always hash to the same value, the properties MUST 364 // be lexicographically sorted by name, and then by value. Sorting of strings 365 // is done by code point, equivalently, by the UTF-8 bytes. 366 Properties []*Platform_Property `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty"` 367 XXX_NoUnkeyedLiteral struct{} `json:"-"` 368 XXX_unrecognized []byte `json:"-"` 369 XXX_sizecache int32 `json:"-"` 370} 371 372func (m *Platform) Reset() { *m = Platform{} } 373func (m *Platform) String() string { return proto.CompactTextString(m) } 374func (*Platform) ProtoMessage() {} 375func (*Platform) Descriptor() ([]byte, []int) { 376 return fileDescriptor_1fc46b2dca8a7fdb, []int{2} 377} 378 379func (m *Platform) XXX_Unmarshal(b []byte) error { 380 return xxx_messageInfo_Platform.Unmarshal(m, b) 381} 382func (m *Platform) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 383 return xxx_messageInfo_Platform.Marshal(b, m, deterministic) 384} 385func (m *Platform) XXX_Merge(src proto.Message) { 386 xxx_messageInfo_Platform.Merge(m, src) 387} 388func (m *Platform) XXX_Size() int { 389 return xxx_messageInfo_Platform.Size(m) 390} 391func (m *Platform) XXX_DiscardUnknown() { 392 xxx_messageInfo_Platform.DiscardUnknown(m) 393} 394 395var xxx_messageInfo_Platform proto.InternalMessageInfo 396 397func (m *Platform) GetProperties() []*Platform_Property { 398 if m != nil { 399 return m.Properties 400 } 401 return nil 402} 403 404// A single property for the environment. The server is responsible for 405// specifying the property `name`s that it accepts. If an unknown `name` is 406// provided in the requirements for an 407// [Action][google.devtools.remoteexecution.v1test.Action], the server SHOULD 408// reject the execution request. If permitted by the server, the same `name` 409// may occur multiple times. 410// 411// The server is also responsible for specifying the interpretation of 412// property `value`s. For instance, a property describing how much RAM must be 413// available may be interpreted as allowing a worker with 16GB to fulfill a 414// request for 8GB, while a property describing the OS environment on which 415// the action must be performed may require an exact match with the worker's 416// OS. 417// 418// The server MAY use the `value` of one or more properties to determine how 419// it sets up the execution environment, such as by making specific system 420// files available to the worker. 421type Platform_Property struct { 422 // The property name. 423 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 424 // The property value. 425 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 426 XXX_NoUnkeyedLiteral struct{} `json:"-"` 427 XXX_unrecognized []byte `json:"-"` 428 XXX_sizecache int32 `json:"-"` 429} 430 431func (m *Platform_Property) Reset() { *m = Platform_Property{} } 432func (m *Platform_Property) String() string { return proto.CompactTextString(m) } 433func (*Platform_Property) ProtoMessage() {} 434func (*Platform_Property) Descriptor() ([]byte, []int) { 435 return fileDescriptor_1fc46b2dca8a7fdb, []int{2, 0} 436} 437 438func (m *Platform_Property) XXX_Unmarshal(b []byte) error { 439 return xxx_messageInfo_Platform_Property.Unmarshal(m, b) 440} 441func (m *Platform_Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 442 return xxx_messageInfo_Platform_Property.Marshal(b, m, deterministic) 443} 444func (m *Platform_Property) XXX_Merge(src proto.Message) { 445 xxx_messageInfo_Platform_Property.Merge(m, src) 446} 447func (m *Platform_Property) XXX_Size() int { 448 return xxx_messageInfo_Platform_Property.Size(m) 449} 450func (m *Platform_Property) XXX_DiscardUnknown() { 451 xxx_messageInfo_Platform_Property.DiscardUnknown(m) 452} 453 454var xxx_messageInfo_Platform_Property proto.InternalMessageInfo 455 456func (m *Platform_Property) GetName() string { 457 if m != nil { 458 return m.Name 459 } 460 return "" 461} 462 463func (m *Platform_Property) GetValue() string { 464 if m != nil { 465 return m.Value 466 } 467 return "" 468} 469 470// A `Directory` represents a directory node in a file tree, containing zero or 471// more children [FileNodes][google.devtools.remoteexecution.v1test.FileNode] 472// and [DirectoryNodes][google.devtools.remoteexecution.v1test.DirectoryNode]. 473// Each `Node` contains its name in the directory, the digest of its content 474// (either a file blob or a `Directory` proto), as well as possibly some 475// metadata about the file or directory. 476// 477// In order to ensure that two equivalent directory trees hash to the same 478// value, the following restrictions MUST be obeyed when constructing a 479// a `Directory`: 480// - Every child in the directory must have a path of exactly one segment. 481// Multiple levels of directory hierarchy may not be collapsed. 482// - Each child in the directory must have a unique path segment (file name). 483// - The files and directories in the directory must each be sorted in 484// lexicographical order by path. The path strings must be sorted by code 485// point, equivalently, by UTF-8 bytes. 486// 487// A `Directory` that obeys the restrictions is said to be in canonical form. 488// 489// As an example, the following could be used for a file named `bar` and a 490// directory named `foo` with an executable file named `baz` (hashes shortened 491// for readability): 492// 493// ```json 494// // (Directory proto) 495// { 496// files: [ 497// { 498// name: "bar", 499// digest: { 500// hash: "4a73bc9d03...", 501// size: 65534 502// } 503// } 504// ], 505// directories: [ 506// { 507// name: "foo", 508// digest: { 509// hash: "4cf2eda940...", 510// size: 43 511// } 512// } 513// ] 514// } 515// 516// // (Directory proto with hash "4cf2eda940..." and size 43) 517// { 518// files: [ 519// { 520// name: "baz", 521// digest: { 522// hash: "b2c941073e...", 523// size: 1294, 524// }, 525// is_executable: true 526// } 527// ] 528// } 529// ``` 530type Directory struct { 531 // The files in the directory. 532 Files []*FileNode `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` 533 // The subdirectories in the directory. 534 Directories []*DirectoryNode `protobuf:"bytes,2,rep,name=directories,proto3" json:"directories,omitempty"` 535 XXX_NoUnkeyedLiteral struct{} `json:"-"` 536 XXX_unrecognized []byte `json:"-"` 537 XXX_sizecache int32 `json:"-"` 538} 539 540func (m *Directory) Reset() { *m = Directory{} } 541func (m *Directory) String() string { return proto.CompactTextString(m) } 542func (*Directory) ProtoMessage() {} 543func (*Directory) Descriptor() ([]byte, []int) { 544 return fileDescriptor_1fc46b2dca8a7fdb, []int{3} 545} 546 547func (m *Directory) XXX_Unmarshal(b []byte) error { 548 return xxx_messageInfo_Directory.Unmarshal(m, b) 549} 550func (m *Directory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 551 return xxx_messageInfo_Directory.Marshal(b, m, deterministic) 552} 553func (m *Directory) XXX_Merge(src proto.Message) { 554 xxx_messageInfo_Directory.Merge(m, src) 555} 556func (m *Directory) XXX_Size() int { 557 return xxx_messageInfo_Directory.Size(m) 558} 559func (m *Directory) XXX_DiscardUnknown() { 560 xxx_messageInfo_Directory.DiscardUnknown(m) 561} 562 563var xxx_messageInfo_Directory proto.InternalMessageInfo 564 565func (m *Directory) GetFiles() []*FileNode { 566 if m != nil { 567 return m.Files 568 } 569 return nil 570} 571 572func (m *Directory) GetDirectories() []*DirectoryNode { 573 if m != nil { 574 return m.Directories 575 } 576 return nil 577} 578 579// A `FileNode` represents a single file and associated metadata. 580type FileNode struct { 581 // The name of the file. 582 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 583 // The digest of the file's content. 584 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 585 // True if file is executable, false otherwise. 586 IsExecutable bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable,proto3" json:"is_executable,omitempty"` 587 XXX_NoUnkeyedLiteral struct{} `json:"-"` 588 XXX_unrecognized []byte `json:"-"` 589 XXX_sizecache int32 `json:"-"` 590} 591 592func (m *FileNode) Reset() { *m = FileNode{} } 593func (m *FileNode) String() string { return proto.CompactTextString(m) } 594func (*FileNode) ProtoMessage() {} 595func (*FileNode) Descriptor() ([]byte, []int) { 596 return fileDescriptor_1fc46b2dca8a7fdb, []int{4} 597} 598 599func (m *FileNode) XXX_Unmarshal(b []byte) error { 600 return xxx_messageInfo_FileNode.Unmarshal(m, b) 601} 602func (m *FileNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 603 return xxx_messageInfo_FileNode.Marshal(b, m, deterministic) 604} 605func (m *FileNode) XXX_Merge(src proto.Message) { 606 xxx_messageInfo_FileNode.Merge(m, src) 607} 608func (m *FileNode) XXX_Size() int { 609 return xxx_messageInfo_FileNode.Size(m) 610} 611func (m *FileNode) XXX_DiscardUnknown() { 612 xxx_messageInfo_FileNode.DiscardUnknown(m) 613} 614 615var xxx_messageInfo_FileNode proto.InternalMessageInfo 616 617func (m *FileNode) GetName() string { 618 if m != nil { 619 return m.Name 620 } 621 return "" 622} 623 624func (m *FileNode) GetDigest() *Digest { 625 if m != nil { 626 return m.Digest 627 } 628 return nil 629} 630 631func (m *FileNode) GetIsExecutable() bool { 632 if m != nil { 633 return m.IsExecutable 634 } 635 return false 636} 637 638// A `DirectoryNode` represents a child of a 639// [Directory][google.devtools.remoteexecution.v1test.Directory] which is itself 640// a `Directory` and its associated metadata. 641type DirectoryNode struct { 642 // The name of the directory. 643 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 644 // The digest of the 645 // [Directory][google.devtools.remoteexecution.v1test.Directory] object 646 // represented. See [Digest][google.devtools.remoteexecution.v1test.Digest] 647 // for information about how to take the digest of a proto message. 648 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 649 XXX_NoUnkeyedLiteral struct{} `json:"-"` 650 XXX_unrecognized []byte `json:"-"` 651 XXX_sizecache int32 `json:"-"` 652} 653 654func (m *DirectoryNode) Reset() { *m = DirectoryNode{} } 655func (m *DirectoryNode) String() string { return proto.CompactTextString(m) } 656func (*DirectoryNode) ProtoMessage() {} 657func (*DirectoryNode) Descriptor() ([]byte, []int) { 658 return fileDescriptor_1fc46b2dca8a7fdb, []int{5} 659} 660 661func (m *DirectoryNode) XXX_Unmarshal(b []byte) error { 662 return xxx_messageInfo_DirectoryNode.Unmarshal(m, b) 663} 664func (m *DirectoryNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 665 return xxx_messageInfo_DirectoryNode.Marshal(b, m, deterministic) 666} 667func (m *DirectoryNode) XXX_Merge(src proto.Message) { 668 xxx_messageInfo_DirectoryNode.Merge(m, src) 669} 670func (m *DirectoryNode) XXX_Size() int { 671 return xxx_messageInfo_DirectoryNode.Size(m) 672} 673func (m *DirectoryNode) XXX_DiscardUnknown() { 674 xxx_messageInfo_DirectoryNode.DiscardUnknown(m) 675} 676 677var xxx_messageInfo_DirectoryNode proto.InternalMessageInfo 678 679func (m *DirectoryNode) GetName() string { 680 if m != nil { 681 return m.Name 682 } 683 return "" 684} 685 686func (m *DirectoryNode) GetDigest() *Digest { 687 if m != nil { 688 return m.Digest 689 } 690 return nil 691} 692 693// A content digest. A digest for a given blob consists of the size of the blob 694// and its hash. The hash algorithm to use is defined by the server, but servers 695// SHOULD use SHA-256. 696// 697// The size is considered to be an integral part of the digest and cannot be 698// separated. That is, even if the `hash` field is correctly specified but 699// `size_bytes` is not, the server MUST reject the request. 700// 701// The reason for including the size in the digest is as follows: in a great 702// many cases, the server needs to know the size of the blob it is about to work 703// with prior to starting an operation with it, such as flattening Merkle tree 704// structures or streaming it to a worker. Technically, the server could 705// implement a separate metadata store, but this results in a significantly more 706// complicated implementation as opposed to having the client specify the size 707// up-front (or storing the size along with the digest in every message where 708// digests are embedded). This does mean that the API leaks some implementation 709// details of (what we consider to be) a reasonable server implementation, but 710// we consider this to be a worthwhile tradeoff. 711// 712// When a `Digest` is used to refer to a proto message, it always refers to the 713// message in binary encoded form. To ensure consistent hashing, clients and 714// servers MUST ensure that they serialize messages according to the following 715// rules, even if there are alternate valid encodings for the same message. 716// - Fields are serialized in tag order. 717// - There are no unknown fields. 718// - There are no duplicate fields. 719// - Fields are serialized according to the default semantics for their type. 720// 721// Most protocol buffer implementations will always follow these rules when 722// serializing, but care should be taken to avoid shortcuts. For instance, 723// concatenating two messages to merge them may produce duplicate fields. 724type Digest struct { 725 // The hash. In the case of SHA-256, it will always be a lowercase hex string 726 // exactly 64 characters long. 727 Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` 728 // The size of the blob, in bytes. 729 SizeBytes int64 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` 730 XXX_NoUnkeyedLiteral struct{} `json:"-"` 731 XXX_unrecognized []byte `json:"-"` 732 XXX_sizecache int32 `json:"-"` 733} 734 735func (m *Digest) Reset() { *m = Digest{} } 736func (m *Digest) String() string { return proto.CompactTextString(m) } 737func (*Digest) ProtoMessage() {} 738func (*Digest) Descriptor() ([]byte, []int) { 739 return fileDescriptor_1fc46b2dca8a7fdb, []int{6} 740} 741 742func (m *Digest) XXX_Unmarshal(b []byte) error { 743 return xxx_messageInfo_Digest.Unmarshal(m, b) 744} 745func (m *Digest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 746 return xxx_messageInfo_Digest.Marshal(b, m, deterministic) 747} 748func (m *Digest) XXX_Merge(src proto.Message) { 749 xxx_messageInfo_Digest.Merge(m, src) 750} 751func (m *Digest) XXX_Size() int { 752 return xxx_messageInfo_Digest.Size(m) 753} 754func (m *Digest) XXX_DiscardUnknown() { 755 xxx_messageInfo_Digest.DiscardUnknown(m) 756} 757 758var xxx_messageInfo_Digest proto.InternalMessageInfo 759 760func (m *Digest) GetHash() string { 761 if m != nil { 762 return m.Hash 763 } 764 return "" 765} 766 767func (m *Digest) GetSizeBytes() int64 { 768 if m != nil { 769 return m.SizeBytes 770 } 771 return 0 772} 773 774// An ActionResult represents the result of an 775// [Action][google.devtools.remoteexecution.v1test.Action] being run. 776type ActionResult struct { 777 // The output files of the action. For each output file requested in the 778 // `output_files` field of the Action, if the corresponding file existed after 779 // the action completed, a single entry will be present in the output list. 780 // 781 // If the action does not produce the requested output, or produces a 782 // directory where a regular file is expected or vice versa, then that output 783 // will be omitted from the list. The server is free to arrange the output 784 // list as desired; clients MUST NOT assume that the output list is sorted. 785 OutputFiles []*OutputFile `protobuf:"bytes,2,rep,name=output_files,json=outputFiles,proto3" json:"output_files,omitempty"` 786 // The output directories of the action. For each output directory requested 787 // in the `output_directories` field of the Action, if the corresponding 788 // directory existed after the action completed, a single entry will be 789 // present in the output list, which will contain the digest of 790 // a [Tree][google.devtools.remoteexecution.v1test.Tree] message containing 791 // the directory tree, and the path equal exactly to the corresponding Action 792 // output_directories member. 793 // As an example, suppose the Action had an output directory `a/b/dir` and the 794 // execution produced the following contents in `a/b/dir`: a file named `bar` 795 // and a directory named `foo` with an executable file named `baz`. Then, 796 // output_directory will contain (hashes shortened for readability): 797 // 798 // ```json 799 // // OutputDirectory proto: 800 // { 801 // path: "a/b/dir" 802 // tree_digest: { 803 // hash: "4a73bc9d03...", 804 // size: 55 805 // } 806 // } 807 // // Tree proto with hash "4a73bc9d03..." and size 55: 808 // { 809 // root: { 810 // files: [ 811 // { 812 // name: "bar", 813 // digest: { 814 // hash: "4a73bc9d03...", 815 // size: 65534 816 // } 817 // } 818 // ], 819 // directories: [ 820 // { 821 // name: "foo", 822 // digest: { 823 // hash: "4cf2eda940...", 824 // size: 43 825 // } 826 // } 827 // ] 828 // } 829 // children : { 830 // // (Directory proto with hash "4cf2eda940..." and size 43) 831 // files: [ 832 // { 833 // name: "baz", 834 // digest: { 835 // hash: "b2c941073e...", 836 // size: 1294, 837 // }, 838 // is_executable: true 839 // } 840 // ] 841 // } 842 // } 843 // ``` 844 OutputDirectories []*OutputDirectory `protobuf:"bytes,3,rep,name=output_directories,json=outputDirectories,proto3" json:"output_directories,omitempty"` 845 // The exit code of the command. 846 ExitCode int32 `protobuf:"varint,4,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` 847 // The standard output buffer of the action. The server will determine, based 848 // on the size of the buffer, whether to return it in raw form or to return 849 // a digest in `stdout_digest` that points to the buffer. If neither is set, 850 // then the buffer is empty. The client SHOULD NOT assume it will get one of 851 // the raw buffer or a digest on any given request and should be prepared to 852 // handle either. 853 StdoutRaw []byte `protobuf:"bytes,5,opt,name=stdout_raw,json=stdoutRaw,proto3" json:"stdout_raw,omitempty"` 854 // The digest for a blob containing the standard output of the action, which 855 // can be retrieved from the 856 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 857 // See `stdout_raw` for when this will be set. 858 StdoutDigest *Digest `protobuf:"bytes,6,opt,name=stdout_digest,json=stdoutDigest,proto3" json:"stdout_digest,omitempty"` 859 // The standard error buffer of the action. The server will determine, based 860 // on the size of the buffer, whether to return it in raw form or to return 861 // a digest in `stderr_digest` that points to the buffer. If neither is set, 862 // then the buffer is empty. The client SHOULD NOT assume it will get one of 863 // the raw buffer or a digest on any given request and should be prepared to 864 // handle either. 865 StderrRaw []byte `protobuf:"bytes,7,opt,name=stderr_raw,json=stderrRaw,proto3" json:"stderr_raw,omitempty"` 866 // The digest for a blob containing the standard error of the action, which 867 // can be retrieved from the 868 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 869 // See `stderr_raw` for when this will be set. 870 StderrDigest *Digest `protobuf:"bytes,8,opt,name=stderr_digest,json=stderrDigest,proto3" json:"stderr_digest,omitempty"` 871 XXX_NoUnkeyedLiteral struct{} `json:"-"` 872 XXX_unrecognized []byte `json:"-"` 873 XXX_sizecache int32 `json:"-"` 874} 875 876func (m *ActionResult) Reset() { *m = ActionResult{} } 877func (m *ActionResult) String() string { return proto.CompactTextString(m) } 878func (*ActionResult) ProtoMessage() {} 879func (*ActionResult) Descriptor() ([]byte, []int) { 880 return fileDescriptor_1fc46b2dca8a7fdb, []int{7} 881} 882 883func (m *ActionResult) XXX_Unmarshal(b []byte) error { 884 return xxx_messageInfo_ActionResult.Unmarshal(m, b) 885} 886func (m *ActionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 887 return xxx_messageInfo_ActionResult.Marshal(b, m, deterministic) 888} 889func (m *ActionResult) XXX_Merge(src proto.Message) { 890 xxx_messageInfo_ActionResult.Merge(m, src) 891} 892func (m *ActionResult) XXX_Size() int { 893 return xxx_messageInfo_ActionResult.Size(m) 894} 895func (m *ActionResult) XXX_DiscardUnknown() { 896 xxx_messageInfo_ActionResult.DiscardUnknown(m) 897} 898 899var xxx_messageInfo_ActionResult proto.InternalMessageInfo 900 901func (m *ActionResult) GetOutputFiles() []*OutputFile { 902 if m != nil { 903 return m.OutputFiles 904 } 905 return nil 906} 907 908func (m *ActionResult) GetOutputDirectories() []*OutputDirectory { 909 if m != nil { 910 return m.OutputDirectories 911 } 912 return nil 913} 914 915func (m *ActionResult) GetExitCode() int32 { 916 if m != nil { 917 return m.ExitCode 918 } 919 return 0 920} 921 922func (m *ActionResult) GetStdoutRaw() []byte { 923 if m != nil { 924 return m.StdoutRaw 925 } 926 return nil 927} 928 929func (m *ActionResult) GetStdoutDigest() *Digest { 930 if m != nil { 931 return m.StdoutDigest 932 } 933 return nil 934} 935 936func (m *ActionResult) GetStderrRaw() []byte { 937 if m != nil { 938 return m.StderrRaw 939 } 940 return nil 941} 942 943func (m *ActionResult) GetStderrDigest() *Digest { 944 if m != nil { 945 return m.StderrDigest 946 } 947 return nil 948} 949 950// An `OutputFile` is similar to a 951// [FileNode][google.devtools.remoteexecution.v1test.FileNode], but it is 952// tailored for output as part of an `ActionResult`. It allows a full file path 953// rather than only a name, and allows the server to include content inline. 954// 955// `OutputFile` is binary-compatible with `FileNode`. 956type OutputFile struct { 957 // The full path of the file relative to the input root, including the 958 // filename. The path separator is a forward slash `/`. Since this is a 959 // relative path, it MUST NOT begin with a leading forward slash. 960 Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` 961 // The digest of the file's content. 962 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 963 // The raw content of the file. 964 // 965 // This field may be used by the server to provide the content of a file 966 // inline in an 967 // [ActionResult][google.devtools.remoteexecution.v1test.ActionResult] and 968 // avoid requiring that the client make a separate call to 969 // [ContentAddressableStorage.GetBlob] to retrieve it. 970 // 971 // The client SHOULD NOT assume that it will get raw content with any request, 972 // and always be prepared to retrieve it via `digest`. 973 Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` 974 // True if file is executable, false otherwise. 975 IsExecutable bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable,proto3" json:"is_executable,omitempty"` 976 XXX_NoUnkeyedLiteral struct{} `json:"-"` 977 XXX_unrecognized []byte `json:"-"` 978 XXX_sizecache int32 `json:"-"` 979} 980 981func (m *OutputFile) Reset() { *m = OutputFile{} } 982func (m *OutputFile) String() string { return proto.CompactTextString(m) } 983func (*OutputFile) ProtoMessage() {} 984func (*OutputFile) Descriptor() ([]byte, []int) { 985 return fileDescriptor_1fc46b2dca8a7fdb, []int{8} 986} 987 988func (m *OutputFile) XXX_Unmarshal(b []byte) error { 989 return xxx_messageInfo_OutputFile.Unmarshal(m, b) 990} 991func (m *OutputFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 992 return xxx_messageInfo_OutputFile.Marshal(b, m, deterministic) 993} 994func (m *OutputFile) XXX_Merge(src proto.Message) { 995 xxx_messageInfo_OutputFile.Merge(m, src) 996} 997func (m *OutputFile) XXX_Size() int { 998 return xxx_messageInfo_OutputFile.Size(m) 999} 1000func (m *OutputFile) XXX_DiscardUnknown() { 1001 xxx_messageInfo_OutputFile.DiscardUnknown(m) 1002} 1003 1004var xxx_messageInfo_OutputFile proto.InternalMessageInfo 1005 1006func (m *OutputFile) GetPath() string { 1007 if m != nil { 1008 return m.Path 1009 } 1010 return "" 1011} 1012 1013func (m *OutputFile) GetDigest() *Digest { 1014 if m != nil { 1015 return m.Digest 1016 } 1017 return nil 1018} 1019 1020func (m *OutputFile) GetContent() []byte { 1021 if m != nil { 1022 return m.Content 1023 } 1024 return nil 1025} 1026 1027func (m *OutputFile) GetIsExecutable() bool { 1028 if m != nil { 1029 return m.IsExecutable 1030 } 1031 return false 1032} 1033 1034// A `Tree` contains all the 1035// [Directory][google.devtools.remoteexecution.v1test.Directory] protos in a 1036// single directory Merkle tree, compressed into one message. 1037type Tree struct { 1038 // The root directory in the tree. 1039 Root *Directory `protobuf:"bytes,1,opt,name=root,proto3" json:"root,omitempty"` 1040 // All the child directories: the directories referred to by the root and, 1041 // recursively, all its children. In order to reconstruct the directory tree, 1042 // the client must take the digests of each of the child directories and then 1043 // build up a tree starting from the `root`. 1044 Children []*Directory `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` 1045 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1046 XXX_unrecognized []byte `json:"-"` 1047 XXX_sizecache int32 `json:"-"` 1048} 1049 1050func (m *Tree) Reset() { *m = Tree{} } 1051func (m *Tree) String() string { return proto.CompactTextString(m) } 1052func (*Tree) ProtoMessage() {} 1053func (*Tree) Descriptor() ([]byte, []int) { 1054 return fileDescriptor_1fc46b2dca8a7fdb, []int{9} 1055} 1056 1057func (m *Tree) XXX_Unmarshal(b []byte) error { 1058 return xxx_messageInfo_Tree.Unmarshal(m, b) 1059} 1060func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1061 return xxx_messageInfo_Tree.Marshal(b, m, deterministic) 1062} 1063func (m *Tree) XXX_Merge(src proto.Message) { 1064 xxx_messageInfo_Tree.Merge(m, src) 1065} 1066func (m *Tree) XXX_Size() int { 1067 return xxx_messageInfo_Tree.Size(m) 1068} 1069func (m *Tree) XXX_DiscardUnknown() { 1070 xxx_messageInfo_Tree.DiscardUnknown(m) 1071} 1072 1073var xxx_messageInfo_Tree proto.InternalMessageInfo 1074 1075func (m *Tree) GetRoot() *Directory { 1076 if m != nil { 1077 return m.Root 1078 } 1079 return nil 1080} 1081 1082func (m *Tree) GetChildren() []*Directory { 1083 if m != nil { 1084 return m.Children 1085 } 1086 return nil 1087} 1088 1089// An `OutputDirectory` is the output in an `ActionResult` corresponding to a 1090// directory's full contents rather than a single file. 1091type OutputDirectory struct { 1092 // The full path of the directory relative to the working directory. The path 1093 // separator is a forward slash `/`. Since this is a relative path, it MUST 1094 // NOT begin with a leading forward slash. The empty string value is allowed, 1095 // and it denotes the entire working directory. 1096 Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` 1097 // DEPRECATED: This field is deprecated and should no longer be used. 1098 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 1099 // The digest of the encoded 1100 // [Tree][google.devtools.remoteexecution.v1test.Tree] proto containing the 1101 // directory's contents. 1102 TreeDigest *Digest `protobuf:"bytes,3,opt,name=tree_digest,json=treeDigest,proto3" json:"tree_digest,omitempty"` 1103 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1104 XXX_unrecognized []byte `json:"-"` 1105 XXX_sizecache int32 `json:"-"` 1106} 1107 1108func (m *OutputDirectory) Reset() { *m = OutputDirectory{} } 1109func (m *OutputDirectory) String() string { return proto.CompactTextString(m) } 1110func (*OutputDirectory) ProtoMessage() {} 1111func (*OutputDirectory) Descriptor() ([]byte, []int) { 1112 return fileDescriptor_1fc46b2dca8a7fdb, []int{10} 1113} 1114 1115func (m *OutputDirectory) XXX_Unmarshal(b []byte) error { 1116 return xxx_messageInfo_OutputDirectory.Unmarshal(m, b) 1117} 1118func (m *OutputDirectory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1119 return xxx_messageInfo_OutputDirectory.Marshal(b, m, deterministic) 1120} 1121func (m *OutputDirectory) XXX_Merge(src proto.Message) { 1122 xxx_messageInfo_OutputDirectory.Merge(m, src) 1123} 1124func (m *OutputDirectory) XXX_Size() int { 1125 return xxx_messageInfo_OutputDirectory.Size(m) 1126} 1127func (m *OutputDirectory) XXX_DiscardUnknown() { 1128 xxx_messageInfo_OutputDirectory.DiscardUnknown(m) 1129} 1130 1131var xxx_messageInfo_OutputDirectory proto.InternalMessageInfo 1132 1133func (m *OutputDirectory) GetPath() string { 1134 if m != nil { 1135 return m.Path 1136 } 1137 return "" 1138} 1139 1140func (m *OutputDirectory) GetDigest() *Digest { 1141 if m != nil { 1142 return m.Digest 1143 } 1144 return nil 1145} 1146 1147func (m *OutputDirectory) GetTreeDigest() *Digest { 1148 if m != nil { 1149 return m.TreeDigest 1150 } 1151 return nil 1152} 1153 1154// A request message for 1155// [Execution.Execute][google.devtools.remoteexecution.v1test.Execution.Execute]. 1156type ExecuteRequest struct { 1157 // The instance of the execution system to operate against. A server may 1158 // support multiple instances of the execution system (with their own workers, 1159 // storage, caches, etc.). The server MAY require use of this field to select 1160 // between them in an implementation-defined fashion, otherwise it can be 1161 // omitted. 1162 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1163 // The action to be performed. 1164 Action *Action `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` 1165 // If true, the action will be executed anew even if its result was already 1166 // present in the cache. If false, the result may be served from the 1167 // [ActionCache][google.devtools.remoteexecution.v1test.ActionCache]. 1168 SkipCacheLookup bool `protobuf:"varint,3,opt,name=skip_cache_lookup,json=skipCacheLookup,proto3" json:"skip_cache_lookup,omitempty"` 1169 // DEPRECATED: This field should be ignored by clients and servers and will be 1170 // removed. 1171 TotalInputFileCount int32 `protobuf:"varint,4,opt,name=total_input_file_count,json=totalInputFileCount,proto3" json:"total_input_file_count,omitempty"` 1172 // DEPRECATED: This field should be ignored by clients and servers and will be 1173 // removed. 1174 TotalInputFileBytes int64 `protobuf:"varint,5,opt,name=total_input_file_bytes,json=totalInputFileBytes,proto3" json:"total_input_file_bytes,omitempty"` 1175 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1176 XXX_unrecognized []byte `json:"-"` 1177 XXX_sizecache int32 `json:"-"` 1178} 1179 1180func (m *ExecuteRequest) Reset() { *m = ExecuteRequest{} } 1181func (m *ExecuteRequest) String() string { return proto.CompactTextString(m) } 1182func (*ExecuteRequest) ProtoMessage() {} 1183func (*ExecuteRequest) Descriptor() ([]byte, []int) { 1184 return fileDescriptor_1fc46b2dca8a7fdb, []int{11} 1185} 1186 1187func (m *ExecuteRequest) XXX_Unmarshal(b []byte) error { 1188 return xxx_messageInfo_ExecuteRequest.Unmarshal(m, b) 1189} 1190func (m *ExecuteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1191 return xxx_messageInfo_ExecuteRequest.Marshal(b, m, deterministic) 1192} 1193func (m *ExecuteRequest) XXX_Merge(src proto.Message) { 1194 xxx_messageInfo_ExecuteRequest.Merge(m, src) 1195} 1196func (m *ExecuteRequest) XXX_Size() int { 1197 return xxx_messageInfo_ExecuteRequest.Size(m) 1198} 1199func (m *ExecuteRequest) XXX_DiscardUnknown() { 1200 xxx_messageInfo_ExecuteRequest.DiscardUnknown(m) 1201} 1202 1203var xxx_messageInfo_ExecuteRequest proto.InternalMessageInfo 1204 1205func (m *ExecuteRequest) GetInstanceName() string { 1206 if m != nil { 1207 return m.InstanceName 1208 } 1209 return "" 1210} 1211 1212func (m *ExecuteRequest) GetAction() *Action { 1213 if m != nil { 1214 return m.Action 1215 } 1216 return nil 1217} 1218 1219func (m *ExecuteRequest) GetSkipCacheLookup() bool { 1220 if m != nil { 1221 return m.SkipCacheLookup 1222 } 1223 return false 1224} 1225 1226func (m *ExecuteRequest) GetTotalInputFileCount() int32 { 1227 if m != nil { 1228 return m.TotalInputFileCount 1229 } 1230 return 0 1231} 1232 1233func (m *ExecuteRequest) GetTotalInputFileBytes() int64 { 1234 if m != nil { 1235 return m.TotalInputFileBytes 1236 } 1237 return 0 1238} 1239 1240// A `LogFile` is a log stored in the CAS. 1241type LogFile struct { 1242 // The digest of the log contents. 1243 Digest *Digest `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` 1244 // This is a hint as to the purpose of the log, and is set to true if the log 1245 // is human-readable text that can be usefully displayed to a user, and false 1246 // otherwise. For instance, if a command-line client wishes to print the 1247 // server logs to the terminal for a failed action, this allows it to avoid 1248 // displaying a binary file. 1249 HumanReadable bool `protobuf:"varint,2,opt,name=human_readable,json=humanReadable,proto3" json:"human_readable,omitempty"` 1250 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1251 XXX_unrecognized []byte `json:"-"` 1252 XXX_sizecache int32 `json:"-"` 1253} 1254 1255func (m *LogFile) Reset() { *m = LogFile{} } 1256func (m *LogFile) String() string { return proto.CompactTextString(m) } 1257func (*LogFile) ProtoMessage() {} 1258func (*LogFile) Descriptor() ([]byte, []int) { 1259 return fileDescriptor_1fc46b2dca8a7fdb, []int{12} 1260} 1261 1262func (m *LogFile) XXX_Unmarshal(b []byte) error { 1263 return xxx_messageInfo_LogFile.Unmarshal(m, b) 1264} 1265func (m *LogFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1266 return xxx_messageInfo_LogFile.Marshal(b, m, deterministic) 1267} 1268func (m *LogFile) XXX_Merge(src proto.Message) { 1269 xxx_messageInfo_LogFile.Merge(m, src) 1270} 1271func (m *LogFile) XXX_Size() int { 1272 return xxx_messageInfo_LogFile.Size(m) 1273} 1274func (m *LogFile) XXX_DiscardUnknown() { 1275 xxx_messageInfo_LogFile.DiscardUnknown(m) 1276} 1277 1278var xxx_messageInfo_LogFile proto.InternalMessageInfo 1279 1280func (m *LogFile) GetDigest() *Digest { 1281 if m != nil { 1282 return m.Digest 1283 } 1284 return nil 1285} 1286 1287func (m *LogFile) GetHumanReadable() bool { 1288 if m != nil { 1289 return m.HumanReadable 1290 } 1291 return false 1292} 1293 1294// The response message for 1295// [Execution.Execute][google.devtools.remoteexecution.v1test.Execution.Execute], 1296// which will be contained in the [response 1297// field][google.longrunning.Operation.response] of the 1298// [Operation][google.longrunning.Operation]. 1299type ExecuteResponse struct { 1300 // The result of the action. 1301 Result *ActionResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` 1302 // True if the result was served from cache, false if it was executed. 1303 CachedResult bool `protobuf:"varint,2,opt,name=cached_result,json=cachedResult,proto3" json:"cached_result,omitempty"` 1304 // If the status has a code other than `OK`, it indicates that the action did 1305 // not finish execution. For example, if the operation times out during 1306 // execution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST 1307 // use this field for errors in execution, rather than the error field on the 1308 // `Operation` object. 1309 // 1310 // If the status code is other than `OK`, then the result MUST NOT be cached. 1311 // For an error status, the `result` field is optional; the server may 1312 // populate the output-, stdout-, and stderr-related fields if it has any 1313 // information available, such as the stdout and stderr of a timed-out action. 1314 Status *status.Status `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` 1315 // An optional list of additional log outputs the server wishes to provide. A 1316 // server can use this to return execution-specific logs however it wishes. 1317 // This is intended primarily to make it easier for users to debug issues that 1318 // may be outside of the actual job execution, such as by identifying the 1319 // worker executing the action or by providing logs from the worker's setup 1320 // phase. The keys SHOULD be human readable so that a client can display them 1321 // to a user. 1322 ServerLogs map[string]*LogFile `protobuf:"bytes,4,rep,name=server_logs,json=serverLogs,proto3" json:"server_logs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1323 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1324 XXX_unrecognized []byte `json:"-"` 1325 XXX_sizecache int32 `json:"-"` 1326} 1327 1328func (m *ExecuteResponse) Reset() { *m = ExecuteResponse{} } 1329func (m *ExecuteResponse) String() string { return proto.CompactTextString(m) } 1330func (*ExecuteResponse) ProtoMessage() {} 1331func (*ExecuteResponse) Descriptor() ([]byte, []int) { 1332 return fileDescriptor_1fc46b2dca8a7fdb, []int{13} 1333} 1334 1335func (m *ExecuteResponse) XXX_Unmarshal(b []byte) error { 1336 return xxx_messageInfo_ExecuteResponse.Unmarshal(m, b) 1337} 1338func (m *ExecuteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1339 return xxx_messageInfo_ExecuteResponse.Marshal(b, m, deterministic) 1340} 1341func (m *ExecuteResponse) XXX_Merge(src proto.Message) { 1342 xxx_messageInfo_ExecuteResponse.Merge(m, src) 1343} 1344func (m *ExecuteResponse) XXX_Size() int { 1345 return xxx_messageInfo_ExecuteResponse.Size(m) 1346} 1347func (m *ExecuteResponse) XXX_DiscardUnknown() { 1348 xxx_messageInfo_ExecuteResponse.DiscardUnknown(m) 1349} 1350 1351var xxx_messageInfo_ExecuteResponse proto.InternalMessageInfo 1352 1353func (m *ExecuteResponse) GetResult() *ActionResult { 1354 if m != nil { 1355 return m.Result 1356 } 1357 return nil 1358} 1359 1360func (m *ExecuteResponse) GetCachedResult() bool { 1361 if m != nil { 1362 return m.CachedResult 1363 } 1364 return false 1365} 1366 1367func (m *ExecuteResponse) GetStatus() *status.Status { 1368 if m != nil { 1369 return m.Status 1370 } 1371 return nil 1372} 1373 1374func (m *ExecuteResponse) GetServerLogs() map[string]*LogFile { 1375 if m != nil { 1376 return m.ServerLogs 1377 } 1378 return nil 1379} 1380 1381// Metadata about an ongoing 1382// [execution][google.devtools.remoteexecution.v1test.Execution.Execute], which 1383// will be contained in the [metadata 1384// field][google.longrunning.Operation.response] of the 1385// [Operation][google.longrunning.Operation]. 1386type ExecuteOperationMetadata struct { 1387 Stage ExecuteOperationMetadata_Stage `protobuf:"varint,1,opt,name=stage,proto3,enum=google.devtools.remoteexecution.v1test.ExecuteOperationMetadata_Stage" json:"stage,omitempty"` 1388 // The digest of the [Action][google.devtools.remoteexecution.v1test.Action] 1389 // being executed. 1390 ActionDigest *Digest `protobuf:"bytes,2,opt,name=action_digest,json=actionDigest,proto3" json:"action_digest,omitempty"` 1391 // If set, the client can use this name with 1392 // [ByteStream.Read][google.bytestream.ByteStream.Read] to stream the 1393 // standard output. 1394 StdoutStreamName string `protobuf:"bytes,3,opt,name=stdout_stream_name,json=stdoutStreamName,proto3" json:"stdout_stream_name,omitempty"` 1395 // If set, the client can use this name with 1396 // [ByteStream.Read][google.bytestream.ByteStream.Read] to stream the 1397 // standard error. 1398 StderrStreamName string `protobuf:"bytes,4,opt,name=stderr_stream_name,json=stderrStreamName,proto3" json:"stderr_stream_name,omitempty"` 1399 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1400 XXX_unrecognized []byte `json:"-"` 1401 XXX_sizecache int32 `json:"-"` 1402} 1403 1404func (m *ExecuteOperationMetadata) Reset() { *m = ExecuteOperationMetadata{} } 1405func (m *ExecuteOperationMetadata) String() string { return proto.CompactTextString(m) } 1406func (*ExecuteOperationMetadata) ProtoMessage() {} 1407func (*ExecuteOperationMetadata) Descriptor() ([]byte, []int) { 1408 return fileDescriptor_1fc46b2dca8a7fdb, []int{14} 1409} 1410 1411func (m *ExecuteOperationMetadata) XXX_Unmarshal(b []byte) error { 1412 return xxx_messageInfo_ExecuteOperationMetadata.Unmarshal(m, b) 1413} 1414func (m *ExecuteOperationMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1415 return xxx_messageInfo_ExecuteOperationMetadata.Marshal(b, m, deterministic) 1416} 1417func (m *ExecuteOperationMetadata) XXX_Merge(src proto.Message) { 1418 xxx_messageInfo_ExecuteOperationMetadata.Merge(m, src) 1419} 1420func (m *ExecuteOperationMetadata) XXX_Size() int { 1421 return xxx_messageInfo_ExecuteOperationMetadata.Size(m) 1422} 1423func (m *ExecuteOperationMetadata) XXX_DiscardUnknown() { 1424 xxx_messageInfo_ExecuteOperationMetadata.DiscardUnknown(m) 1425} 1426 1427var xxx_messageInfo_ExecuteOperationMetadata proto.InternalMessageInfo 1428 1429func (m *ExecuteOperationMetadata) GetStage() ExecuteOperationMetadata_Stage { 1430 if m != nil { 1431 return m.Stage 1432 } 1433 return ExecuteOperationMetadata_UNKNOWN 1434} 1435 1436func (m *ExecuteOperationMetadata) GetActionDigest() *Digest { 1437 if m != nil { 1438 return m.ActionDigest 1439 } 1440 return nil 1441} 1442 1443func (m *ExecuteOperationMetadata) GetStdoutStreamName() string { 1444 if m != nil { 1445 return m.StdoutStreamName 1446 } 1447 return "" 1448} 1449 1450func (m *ExecuteOperationMetadata) GetStderrStreamName() string { 1451 if m != nil { 1452 return m.StderrStreamName 1453 } 1454 return "" 1455} 1456 1457// A request message for 1458// [ActionCache.GetActionResult][google.devtools.remoteexecution.v1test.ActionCache.GetActionResult]. 1459type GetActionResultRequest struct { 1460 // The instance of the execution system to operate against. A server may 1461 // support multiple instances of the execution system (with their own workers, 1462 // storage, caches, etc.). The server MAY require use of this field to select 1463 // between them in an implementation-defined fashion, otherwise it can be 1464 // omitted. 1465 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1466 // The digest of the [Action][google.devtools.remoteexecution.v1test.Action] 1467 // whose result is requested. 1468 ActionDigest *Digest `protobuf:"bytes,2,opt,name=action_digest,json=actionDigest,proto3" json:"action_digest,omitempty"` 1469 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1470 XXX_unrecognized []byte `json:"-"` 1471 XXX_sizecache int32 `json:"-"` 1472} 1473 1474func (m *GetActionResultRequest) Reset() { *m = GetActionResultRequest{} } 1475func (m *GetActionResultRequest) String() string { return proto.CompactTextString(m) } 1476func (*GetActionResultRequest) ProtoMessage() {} 1477func (*GetActionResultRequest) Descriptor() ([]byte, []int) { 1478 return fileDescriptor_1fc46b2dca8a7fdb, []int{15} 1479} 1480 1481func (m *GetActionResultRequest) XXX_Unmarshal(b []byte) error { 1482 return xxx_messageInfo_GetActionResultRequest.Unmarshal(m, b) 1483} 1484func (m *GetActionResultRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1485 return xxx_messageInfo_GetActionResultRequest.Marshal(b, m, deterministic) 1486} 1487func (m *GetActionResultRequest) XXX_Merge(src proto.Message) { 1488 xxx_messageInfo_GetActionResultRequest.Merge(m, src) 1489} 1490func (m *GetActionResultRequest) XXX_Size() int { 1491 return xxx_messageInfo_GetActionResultRequest.Size(m) 1492} 1493func (m *GetActionResultRequest) XXX_DiscardUnknown() { 1494 xxx_messageInfo_GetActionResultRequest.DiscardUnknown(m) 1495} 1496 1497var xxx_messageInfo_GetActionResultRequest proto.InternalMessageInfo 1498 1499func (m *GetActionResultRequest) GetInstanceName() string { 1500 if m != nil { 1501 return m.InstanceName 1502 } 1503 return "" 1504} 1505 1506func (m *GetActionResultRequest) GetActionDigest() *Digest { 1507 if m != nil { 1508 return m.ActionDigest 1509 } 1510 return nil 1511} 1512 1513// A request message for 1514// [ActionCache.UpdateActionResult][google.devtools.remoteexecution.v1test.ActionCache.UpdateActionResult]. 1515type UpdateActionResultRequest struct { 1516 // The instance of the execution system to operate against. A server may 1517 // support multiple instances of the execution system (with their own workers, 1518 // storage, caches, etc.). The server MAY require use of this field to select 1519 // between them in an implementation-defined fashion, otherwise it can be 1520 // omitted. 1521 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1522 // The digest of the [Action][google.devtools.remoteexecution.v1test.Action] 1523 // whose result is being uploaded. 1524 ActionDigest *Digest `protobuf:"bytes,2,opt,name=action_digest,json=actionDigest,proto3" json:"action_digest,omitempty"` 1525 // The [ActionResult][google.devtools.remoteexecution.v1test.ActionResult] 1526 // to store in the cache. 1527 ActionResult *ActionResult `protobuf:"bytes,3,opt,name=action_result,json=actionResult,proto3" json:"action_result,omitempty"` 1528 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1529 XXX_unrecognized []byte `json:"-"` 1530 XXX_sizecache int32 `json:"-"` 1531} 1532 1533func (m *UpdateActionResultRequest) Reset() { *m = UpdateActionResultRequest{} } 1534func (m *UpdateActionResultRequest) String() string { return proto.CompactTextString(m) } 1535func (*UpdateActionResultRequest) ProtoMessage() {} 1536func (*UpdateActionResultRequest) Descriptor() ([]byte, []int) { 1537 return fileDescriptor_1fc46b2dca8a7fdb, []int{16} 1538} 1539 1540func (m *UpdateActionResultRequest) XXX_Unmarshal(b []byte) error { 1541 return xxx_messageInfo_UpdateActionResultRequest.Unmarshal(m, b) 1542} 1543func (m *UpdateActionResultRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1544 return xxx_messageInfo_UpdateActionResultRequest.Marshal(b, m, deterministic) 1545} 1546func (m *UpdateActionResultRequest) XXX_Merge(src proto.Message) { 1547 xxx_messageInfo_UpdateActionResultRequest.Merge(m, src) 1548} 1549func (m *UpdateActionResultRequest) XXX_Size() int { 1550 return xxx_messageInfo_UpdateActionResultRequest.Size(m) 1551} 1552func (m *UpdateActionResultRequest) XXX_DiscardUnknown() { 1553 xxx_messageInfo_UpdateActionResultRequest.DiscardUnknown(m) 1554} 1555 1556var xxx_messageInfo_UpdateActionResultRequest proto.InternalMessageInfo 1557 1558func (m *UpdateActionResultRequest) GetInstanceName() string { 1559 if m != nil { 1560 return m.InstanceName 1561 } 1562 return "" 1563} 1564 1565func (m *UpdateActionResultRequest) GetActionDigest() *Digest { 1566 if m != nil { 1567 return m.ActionDigest 1568 } 1569 return nil 1570} 1571 1572func (m *UpdateActionResultRequest) GetActionResult() *ActionResult { 1573 if m != nil { 1574 return m.ActionResult 1575 } 1576 return nil 1577} 1578 1579// A request message for 1580// [ContentAddressableStorage.FindMissingBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.FindMissingBlobs]. 1581type FindMissingBlobsRequest struct { 1582 // The instance of the execution system to operate against. A server may 1583 // support multiple instances of the execution system (with their own workers, 1584 // storage, caches, etc.). The server MAY require use of this field to select 1585 // between them in an implementation-defined fashion, otherwise it can be 1586 // omitted. 1587 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1588 // A list of the blobs to check. 1589 BlobDigests []*Digest `protobuf:"bytes,2,rep,name=blob_digests,json=blobDigests,proto3" json:"blob_digests,omitempty"` 1590 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1591 XXX_unrecognized []byte `json:"-"` 1592 XXX_sizecache int32 `json:"-"` 1593} 1594 1595func (m *FindMissingBlobsRequest) Reset() { *m = FindMissingBlobsRequest{} } 1596func (m *FindMissingBlobsRequest) String() string { return proto.CompactTextString(m) } 1597func (*FindMissingBlobsRequest) ProtoMessage() {} 1598func (*FindMissingBlobsRequest) Descriptor() ([]byte, []int) { 1599 return fileDescriptor_1fc46b2dca8a7fdb, []int{17} 1600} 1601 1602func (m *FindMissingBlobsRequest) XXX_Unmarshal(b []byte) error { 1603 return xxx_messageInfo_FindMissingBlobsRequest.Unmarshal(m, b) 1604} 1605func (m *FindMissingBlobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1606 return xxx_messageInfo_FindMissingBlobsRequest.Marshal(b, m, deterministic) 1607} 1608func (m *FindMissingBlobsRequest) XXX_Merge(src proto.Message) { 1609 xxx_messageInfo_FindMissingBlobsRequest.Merge(m, src) 1610} 1611func (m *FindMissingBlobsRequest) XXX_Size() int { 1612 return xxx_messageInfo_FindMissingBlobsRequest.Size(m) 1613} 1614func (m *FindMissingBlobsRequest) XXX_DiscardUnknown() { 1615 xxx_messageInfo_FindMissingBlobsRequest.DiscardUnknown(m) 1616} 1617 1618var xxx_messageInfo_FindMissingBlobsRequest proto.InternalMessageInfo 1619 1620func (m *FindMissingBlobsRequest) GetInstanceName() string { 1621 if m != nil { 1622 return m.InstanceName 1623 } 1624 return "" 1625} 1626 1627func (m *FindMissingBlobsRequest) GetBlobDigests() []*Digest { 1628 if m != nil { 1629 return m.BlobDigests 1630 } 1631 return nil 1632} 1633 1634// A response message for 1635// [ContentAddressableStorage.FindMissingBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.FindMissingBlobs]. 1636type FindMissingBlobsResponse struct { 1637 // A list of the blobs requested *not* present in the storage. 1638 MissingBlobDigests []*Digest `protobuf:"bytes,2,rep,name=missing_blob_digests,json=missingBlobDigests,proto3" json:"missing_blob_digests,omitempty"` 1639 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1640 XXX_unrecognized []byte `json:"-"` 1641 XXX_sizecache int32 `json:"-"` 1642} 1643 1644func (m *FindMissingBlobsResponse) Reset() { *m = FindMissingBlobsResponse{} } 1645func (m *FindMissingBlobsResponse) String() string { return proto.CompactTextString(m) } 1646func (*FindMissingBlobsResponse) ProtoMessage() {} 1647func (*FindMissingBlobsResponse) Descriptor() ([]byte, []int) { 1648 return fileDescriptor_1fc46b2dca8a7fdb, []int{18} 1649} 1650 1651func (m *FindMissingBlobsResponse) XXX_Unmarshal(b []byte) error { 1652 return xxx_messageInfo_FindMissingBlobsResponse.Unmarshal(m, b) 1653} 1654func (m *FindMissingBlobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1655 return xxx_messageInfo_FindMissingBlobsResponse.Marshal(b, m, deterministic) 1656} 1657func (m *FindMissingBlobsResponse) XXX_Merge(src proto.Message) { 1658 xxx_messageInfo_FindMissingBlobsResponse.Merge(m, src) 1659} 1660func (m *FindMissingBlobsResponse) XXX_Size() int { 1661 return xxx_messageInfo_FindMissingBlobsResponse.Size(m) 1662} 1663func (m *FindMissingBlobsResponse) XXX_DiscardUnknown() { 1664 xxx_messageInfo_FindMissingBlobsResponse.DiscardUnknown(m) 1665} 1666 1667var xxx_messageInfo_FindMissingBlobsResponse proto.InternalMessageInfo 1668 1669func (m *FindMissingBlobsResponse) GetMissingBlobDigests() []*Digest { 1670 if m != nil { 1671 return m.MissingBlobDigests 1672 } 1673 return nil 1674} 1675 1676// A single request message for 1677// [ContentAddressableStorage.BatchUpdateBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.BatchUpdateBlobs]. 1678type UpdateBlobRequest struct { 1679 // The digest of the blob. This MUST be the digest of `data`. 1680 ContentDigest *Digest `protobuf:"bytes,1,opt,name=content_digest,json=contentDigest,proto3" json:"content_digest,omitempty"` 1681 // The raw binary data. 1682 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` 1683 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1684 XXX_unrecognized []byte `json:"-"` 1685 XXX_sizecache int32 `json:"-"` 1686} 1687 1688func (m *UpdateBlobRequest) Reset() { *m = UpdateBlobRequest{} } 1689func (m *UpdateBlobRequest) String() string { return proto.CompactTextString(m) } 1690func (*UpdateBlobRequest) ProtoMessage() {} 1691func (*UpdateBlobRequest) Descriptor() ([]byte, []int) { 1692 return fileDescriptor_1fc46b2dca8a7fdb, []int{19} 1693} 1694 1695func (m *UpdateBlobRequest) XXX_Unmarshal(b []byte) error { 1696 return xxx_messageInfo_UpdateBlobRequest.Unmarshal(m, b) 1697} 1698func (m *UpdateBlobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1699 return xxx_messageInfo_UpdateBlobRequest.Marshal(b, m, deterministic) 1700} 1701func (m *UpdateBlobRequest) XXX_Merge(src proto.Message) { 1702 xxx_messageInfo_UpdateBlobRequest.Merge(m, src) 1703} 1704func (m *UpdateBlobRequest) XXX_Size() int { 1705 return xxx_messageInfo_UpdateBlobRequest.Size(m) 1706} 1707func (m *UpdateBlobRequest) XXX_DiscardUnknown() { 1708 xxx_messageInfo_UpdateBlobRequest.DiscardUnknown(m) 1709} 1710 1711var xxx_messageInfo_UpdateBlobRequest proto.InternalMessageInfo 1712 1713func (m *UpdateBlobRequest) GetContentDigest() *Digest { 1714 if m != nil { 1715 return m.ContentDigest 1716 } 1717 return nil 1718} 1719 1720func (m *UpdateBlobRequest) GetData() []byte { 1721 if m != nil { 1722 return m.Data 1723 } 1724 return nil 1725} 1726 1727// A request message for 1728// [ContentAddressableStorage.BatchUpdateBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.BatchUpdateBlobs]. 1729type BatchUpdateBlobsRequest struct { 1730 // The instance of the execution system to operate against. A server may 1731 // support multiple instances of the execution system (with their own workers, 1732 // storage, caches, etc.). The server MAY require use of this field to select 1733 // between them in an implementation-defined fashion, otherwise it can be 1734 // omitted. 1735 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1736 // The individual upload requests. 1737 Requests []*UpdateBlobRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` 1738 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1739 XXX_unrecognized []byte `json:"-"` 1740 XXX_sizecache int32 `json:"-"` 1741} 1742 1743func (m *BatchUpdateBlobsRequest) Reset() { *m = BatchUpdateBlobsRequest{} } 1744func (m *BatchUpdateBlobsRequest) String() string { return proto.CompactTextString(m) } 1745func (*BatchUpdateBlobsRequest) ProtoMessage() {} 1746func (*BatchUpdateBlobsRequest) Descriptor() ([]byte, []int) { 1747 return fileDescriptor_1fc46b2dca8a7fdb, []int{20} 1748} 1749 1750func (m *BatchUpdateBlobsRequest) XXX_Unmarshal(b []byte) error { 1751 return xxx_messageInfo_BatchUpdateBlobsRequest.Unmarshal(m, b) 1752} 1753func (m *BatchUpdateBlobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1754 return xxx_messageInfo_BatchUpdateBlobsRequest.Marshal(b, m, deterministic) 1755} 1756func (m *BatchUpdateBlobsRequest) XXX_Merge(src proto.Message) { 1757 xxx_messageInfo_BatchUpdateBlobsRequest.Merge(m, src) 1758} 1759func (m *BatchUpdateBlobsRequest) XXX_Size() int { 1760 return xxx_messageInfo_BatchUpdateBlobsRequest.Size(m) 1761} 1762func (m *BatchUpdateBlobsRequest) XXX_DiscardUnknown() { 1763 xxx_messageInfo_BatchUpdateBlobsRequest.DiscardUnknown(m) 1764} 1765 1766var xxx_messageInfo_BatchUpdateBlobsRequest proto.InternalMessageInfo 1767 1768func (m *BatchUpdateBlobsRequest) GetInstanceName() string { 1769 if m != nil { 1770 return m.InstanceName 1771 } 1772 return "" 1773} 1774 1775func (m *BatchUpdateBlobsRequest) GetRequests() []*UpdateBlobRequest { 1776 if m != nil { 1777 return m.Requests 1778 } 1779 return nil 1780} 1781 1782// A response message for 1783// [ContentAddressableStorage.BatchUpdateBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.BatchUpdateBlobs]. 1784type BatchUpdateBlobsResponse struct { 1785 // The responses to the requests. 1786 Responses []*BatchUpdateBlobsResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` 1787 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1788 XXX_unrecognized []byte `json:"-"` 1789 XXX_sizecache int32 `json:"-"` 1790} 1791 1792func (m *BatchUpdateBlobsResponse) Reset() { *m = BatchUpdateBlobsResponse{} } 1793func (m *BatchUpdateBlobsResponse) String() string { return proto.CompactTextString(m) } 1794func (*BatchUpdateBlobsResponse) ProtoMessage() {} 1795func (*BatchUpdateBlobsResponse) Descriptor() ([]byte, []int) { 1796 return fileDescriptor_1fc46b2dca8a7fdb, []int{21} 1797} 1798 1799func (m *BatchUpdateBlobsResponse) XXX_Unmarshal(b []byte) error { 1800 return xxx_messageInfo_BatchUpdateBlobsResponse.Unmarshal(m, b) 1801} 1802func (m *BatchUpdateBlobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1803 return xxx_messageInfo_BatchUpdateBlobsResponse.Marshal(b, m, deterministic) 1804} 1805func (m *BatchUpdateBlobsResponse) XXX_Merge(src proto.Message) { 1806 xxx_messageInfo_BatchUpdateBlobsResponse.Merge(m, src) 1807} 1808func (m *BatchUpdateBlobsResponse) XXX_Size() int { 1809 return xxx_messageInfo_BatchUpdateBlobsResponse.Size(m) 1810} 1811func (m *BatchUpdateBlobsResponse) XXX_DiscardUnknown() { 1812 xxx_messageInfo_BatchUpdateBlobsResponse.DiscardUnknown(m) 1813} 1814 1815var xxx_messageInfo_BatchUpdateBlobsResponse proto.InternalMessageInfo 1816 1817func (m *BatchUpdateBlobsResponse) GetResponses() []*BatchUpdateBlobsResponse_Response { 1818 if m != nil { 1819 return m.Responses 1820 } 1821 return nil 1822} 1823 1824// A response corresponding to a single blob that the client tried to upload. 1825type BatchUpdateBlobsResponse_Response struct { 1826 // The digest to which this response corresponds. 1827 BlobDigest *Digest `protobuf:"bytes,1,opt,name=blob_digest,json=blobDigest,proto3" json:"blob_digest,omitempty"` 1828 // The result of attempting to upload that blob. 1829 Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` 1830 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1831 XXX_unrecognized []byte `json:"-"` 1832 XXX_sizecache int32 `json:"-"` 1833} 1834 1835func (m *BatchUpdateBlobsResponse_Response) Reset() { *m = BatchUpdateBlobsResponse_Response{} } 1836func (m *BatchUpdateBlobsResponse_Response) String() string { return proto.CompactTextString(m) } 1837func (*BatchUpdateBlobsResponse_Response) ProtoMessage() {} 1838func (*BatchUpdateBlobsResponse_Response) Descriptor() ([]byte, []int) { 1839 return fileDescriptor_1fc46b2dca8a7fdb, []int{21, 0} 1840} 1841 1842func (m *BatchUpdateBlobsResponse_Response) XXX_Unmarshal(b []byte) error { 1843 return xxx_messageInfo_BatchUpdateBlobsResponse_Response.Unmarshal(m, b) 1844} 1845func (m *BatchUpdateBlobsResponse_Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1846 return xxx_messageInfo_BatchUpdateBlobsResponse_Response.Marshal(b, m, deterministic) 1847} 1848func (m *BatchUpdateBlobsResponse_Response) XXX_Merge(src proto.Message) { 1849 xxx_messageInfo_BatchUpdateBlobsResponse_Response.Merge(m, src) 1850} 1851func (m *BatchUpdateBlobsResponse_Response) XXX_Size() int { 1852 return xxx_messageInfo_BatchUpdateBlobsResponse_Response.Size(m) 1853} 1854func (m *BatchUpdateBlobsResponse_Response) XXX_DiscardUnknown() { 1855 xxx_messageInfo_BatchUpdateBlobsResponse_Response.DiscardUnknown(m) 1856} 1857 1858var xxx_messageInfo_BatchUpdateBlobsResponse_Response proto.InternalMessageInfo 1859 1860func (m *BatchUpdateBlobsResponse_Response) GetBlobDigest() *Digest { 1861 if m != nil { 1862 return m.BlobDigest 1863 } 1864 return nil 1865} 1866 1867func (m *BatchUpdateBlobsResponse_Response) GetStatus() *status.Status { 1868 if m != nil { 1869 return m.Status 1870 } 1871 return nil 1872} 1873 1874// A request message for 1875// [ContentAddressableStorage.GetTree][google.devtools.remoteexecution.v1test.ContentAddressableStorage.GetTree]. 1876type GetTreeRequest struct { 1877 // The instance of the execution system to operate against. A server may 1878 // support multiple instances of the execution system (with their own workers, 1879 // storage, caches, etc.). The server MAY require use of this field to select 1880 // between them in an implementation-defined fashion, otherwise it can be 1881 // omitted. 1882 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1883 // The digest of the root, which must be an encoded 1884 // [Directory][google.devtools.remoteexecution.v1test.Directory] message 1885 // stored in the 1886 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 1887 RootDigest *Digest `protobuf:"bytes,2,opt,name=root_digest,json=rootDigest,proto3" json:"root_digest,omitempty"` 1888 // A maximum page size to request. If present, the server will request no more 1889 // than this many items. Regardless of whether a page size is specified, the 1890 // server may place its own limit on the number of items to be returned and 1891 // require the client to retrieve more items using a subsequent request. 1892 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1893 // A page token, which must be a value received in a previous 1894 // [GetTreeResponse][google.devtools.remoteexecution.v1test.GetTreeResponse]. 1895 // If present, the server will use it to return the following page of results. 1896 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1897 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1898 XXX_unrecognized []byte `json:"-"` 1899 XXX_sizecache int32 `json:"-"` 1900} 1901 1902func (m *GetTreeRequest) Reset() { *m = GetTreeRequest{} } 1903func (m *GetTreeRequest) String() string { return proto.CompactTextString(m) } 1904func (*GetTreeRequest) ProtoMessage() {} 1905func (*GetTreeRequest) Descriptor() ([]byte, []int) { 1906 return fileDescriptor_1fc46b2dca8a7fdb, []int{22} 1907} 1908 1909func (m *GetTreeRequest) XXX_Unmarshal(b []byte) error { 1910 return xxx_messageInfo_GetTreeRequest.Unmarshal(m, b) 1911} 1912func (m *GetTreeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1913 return xxx_messageInfo_GetTreeRequest.Marshal(b, m, deterministic) 1914} 1915func (m *GetTreeRequest) XXX_Merge(src proto.Message) { 1916 xxx_messageInfo_GetTreeRequest.Merge(m, src) 1917} 1918func (m *GetTreeRequest) XXX_Size() int { 1919 return xxx_messageInfo_GetTreeRequest.Size(m) 1920} 1921func (m *GetTreeRequest) XXX_DiscardUnknown() { 1922 xxx_messageInfo_GetTreeRequest.DiscardUnknown(m) 1923} 1924 1925var xxx_messageInfo_GetTreeRequest proto.InternalMessageInfo 1926 1927func (m *GetTreeRequest) GetInstanceName() string { 1928 if m != nil { 1929 return m.InstanceName 1930 } 1931 return "" 1932} 1933 1934func (m *GetTreeRequest) GetRootDigest() *Digest { 1935 if m != nil { 1936 return m.RootDigest 1937 } 1938 return nil 1939} 1940 1941func (m *GetTreeRequest) GetPageSize() int32 { 1942 if m != nil { 1943 return m.PageSize 1944 } 1945 return 0 1946} 1947 1948func (m *GetTreeRequest) GetPageToken() string { 1949 if m != nil { 1950 return m.PageToken 1951 } 1952 return "" 1953} 1954 1955// A response message for 1956// [ContentAddressableStorage.GetTree][google.devtools.remoteexecution.v1test.ContentAddressableStorage.GetTree]. 1957type GetTreeResponse struct { 1958 // The directories descended from the requested root. 1959 Directories []*Directory `protobuf:"bytes,1,rep,name=directories,proto3" json:"directories,omitempty"` 1960 // If present, signifies that there are more results which the client can 1961 // retrieve by passing this as the page_token in a subsequent 1962 // [request][google.devtools.remoteexecution.v1test.GetTreeRequest]. 1963 // If empty, signifies that this is the last page of results. 1964 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1965 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1966 XXX_unrecognized []byte `json:"-"` 1967 XXX_sizecache int32 `json:"-"` 1968} 1969 1970func (m *GetTreeResponse) Reset() { *m = GetTreeResponse{} } 1971func (m *GetTreeResponse) String() string { return proto.CompactTextString(m) } 1972func (*GetTreeResponse) ProtoMessage() {} 1973func (*GetTreeResponse) Descriptor() ([]byte, []int) { 1974 return fileDescriptor_1fc46b2dca8a7fdb, []int{23} 1975} 1976 1977func (m *GetTreeResponse) XXX_Unmarshal(b []byte) error { 1978 return xxx_messageInfo_GetTreeResponse.Unmarshal(m, b) 1979} 1980func (m *GetTreeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1981 return xxx_messageInfo_GetTreeResponse.Marshal(b, m, deterministic) 1982} 1983func (m *GetTreeResponse) XXX_Merge(src proto.Message) { 1984 xxx_messageInfo_GetTreeResponse.Merge(m, src) 1985} 1986func (m *GetTreeResponse) XXX_Size() int { 1987 return xxx_messageInfo_GetTreeResponse.Size(m) 1988} 1989func (m *GetTreeResponse) XXX_DiscardUnknown() { 1990 xxx_messageInfo_GetTreeResponse.DiscardUnknown(m) 1991} 1992 1993var xxx_messageInfo_GetTreeResponse proto.InternalMessageInfo 1994 1995func (m *GetTreeResponse) GetDirectories() []*Directory { 1996 if m != nil { 1997 return m.Directories 1998 } 1999 return nil 2000} 2001 2002func (m *GetTreeResponse) GetNextPageToken() string { 2003 if m != nil { 2004 return m.NextPageToken 2005 } 2006 return "" 2007} 2008 2009// Details for the tool used to call the API. 2010type ToolDetails struct { 2011 // Name of the tool, e.g. bazel. 2012 ToolName string `protobuf:"bytes,1,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"` 2013 // Version of the tool used for the request, e.g. 5.0.3. 2014 ToolVersion string `protobuf:"bytes,2,opt,name=tool_version,json=toolVersion,proto3" json:"tool_version,omitempty"` 2015 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2016 XXX_unrecognized []byte `json:"-"` 2017 XXX_sizecache int32 `json:"-"` 2018} 2019 2020func (m *ToolDetails) Reset() { *m = ToolDetails{} } 2021func (m *ToolDetails) String() string { return proto.CompactTextString(m) } 2022func (*ToolDetails) ProtoMessage() {} 2023func (*ToolDetails) Descriptor() ([]byte, []int) { 2024 return fileDescriptor_1fc46b2dca8a7fdb, []int{24} 2025} 2026 2027func (m *ToolDetails) XXX_Unmarshal(b []byte) error { 2028 return xxx_messageInfo_ToolDetails.Unmarshal(m, b) 2029} 2030func (m *ToolDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2031 return xxx_messageInfo_ToolDetails.Marshal(b, m, deterministic) 2032} 2033func (m *ToolDetails) XXX_Merge(src proto.Message) { 2034 xxx_messageInfo_ToolDetails.Merge(m, src) 2035} 2036func (m *ToolDetails) XXX_Size() int { 2037 return xxx_messageInfo_ToolDetails.Size(m) 2038} 2039func (m *ToolDetails) XXX_DiscardUnknown() { 2040 xxx_messageInfo_ToolDetails.DiscardUnknown(m) 2041} 2042 2043var xxx_messageInfo_ToolDetails proto.InternalMessageInfo 2044 2045func (m *ToolDetails) GetToolName() string { 2046 if m != nil { 2047 return m.ToolName 2048 } 2049 return "" 2050} 2051 2052func (m *ToolDetails) GetToolVersion() string { 2053 if m != nil { 2054 return m.ToolVersion 2055 } 2056 return "" 2057} 2058 2059// An optional Metadata to attach to any RPC request to tell the server about an 2060// external context of the request. The server may use this for logging or other 2061// purposes. To use it, the client attaches the header to the call using the 2062// canonical proto serialization: 2063// name: google.devtools.remoteexecution.v1test.requestmetadata-bin 2064// contents: the base64 encoded binary RequestMetadata message. 2065type RequestMetadata struct { 2066 // The details for the tool invoking the requests. 2067 ToolDetails *ToolDetails `protobuf:"bytes,1,opt,name=tool_details,json=toolDetails,proto3" json:"tool_details,omitempty"` 2068 // An identifier that ties multiple requests to the same action. 2069 // For example, multiple requests to the CAS, Action Cache, and Execution 2070 // API are used in order to compile foo.cc. 2071 ActionId string `protobuf:"bytes,2,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` 2072 // An identifier that ties multiple actions together to a final result. 2073 // For example, multiple actions are required to build and run foo_test. 2074 ToolInvocationId string `protobuf:"bytes,3,opt,name=tool_invocation_id,json=toolInvocationId,proto3" json:"tool_invocation_id,omitempty"` 2075 // An identifier to tie multiple tool invocations together. For example, 2076 // runs of foo_test, bar_test and baz_test on a post-submit of a given patch. 2077 CorrelatedInvocationsId string `protobuf:"bytes,4,opt,name=correlated_invocations_id,json=correlatedInvocationsId,proto3" json:"correlated_invocations_id,omitempty"` 2078 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2079 XXX_unrecognized []byte `json:"-"` 2080 XXX_sizecache int32 `json:"-"` 2081} 2082 2083func (m *RequestMetadata) Reset() { *m = RequestMetadata{} } 2084func (m *RequestMetadata) String() string { return proto.CompactTextString(m) } 2085func (*RequestMetadata) ProtoMessage() {} 2086func (*RequestMetadata) Descriptor() ([]byte, []int) { 2087 return fileDescriptor_1fc46b2dca8a7fdb, []int{25} 2088} 2089 2090func (m *RequestMetadata) XXX_Unmarshal(b []byte) error { 2091 return xxx_messageInfo_RequestMetadata.Unmarshal(m, b) 2092} 2093func (m *RequestMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2094 return xxx_messageInfo_RequestMetadata.Marshal(b, m, deterministic) 2095} 2096func (m *RequestMetadata) XXX_Merge(src proto.Message) { 2097 xxx_messageInfo_RequestMetadata.Merge(m, src) 2098} 2099func (m *RequestMetadata) XXX_Size() int { 2100 return xxx_messageInfo_RequestMetadata.Size(m) 2101} 2102func (m *RequestMetadata) XXX_DiscardUnknown() { 2103 xxx_messageInfo_RequestMetadata.DiscardUnknown(m) 2104} 2105 2106var xxx_messageInfo_RequestMetadata proto.InternalMessageInfo 2107 2108func (m *RequestMetadata) GetToolDetails() *ToolDetails { 2109 if m != nil { 2110 return m.ToolDetails 2111 } 2112 return nil 2113} 2114 2115func (m *RequestMetadata) GetActionId() string { 2116 if m != nil { 2117 return m.ActionId 2118 } 2119 return "" 2120} 2121 2122func (m *RequestMetadata) GetToolInvocationId() string { 2123 if m != nil { 2124 return m.ToolInvocationId 2125 } 2126 return "" 2127} 2128 2129func (m *RequestMetadata) GetCorrelatedInvocationsId() string { 2130 if m != nil { 2131 return m.CorrelatedInvocationsId 2132 } 2133 return "" 2134} 2135 2136func init() { 2137 proto.RegisterEnum("google.devtools.remoteexecution.v1test.ExecuteOperationMetadata_Stage", ExecuteOperationMetadata_Stage_name, ExecuteOperationMetadata_Stage_value) 2138 proto.RegisterType((*Action)(nil), "google.devtools.remoteexecution.v1test.Action") 2139 proto.RegisterType((*Command)(nil), "google.devtools.remoteexecution.v1test.Command") 2140 proto.RegisterType((*Command_EnvironmentVariable)(nil), "google.devtools.remoteexecution.v1test.Command.EnvironmentVariable") 2141 proto.RegisterType((*Platform)(nil), "google.devtools.remoteexecution.v1test.Platform") 2142 proto.RegisterType((*Platform_Property)(nil), "google.devtools.remoteexecution.v1test.Platform.Property") 2143 proto.RegisterType((*Directory)(nil), "google.devtools.remoteexecution.v1test.Directory") 2144 proto.RegisterType((*FileNode)(nil), "google.devtools.remoteexecution.v1test.FileNode") 2145 proto.RegisterType((*DirectoryNode)(nil), "google.devtools.remoteexecution.v1test.DirectoryNode") 2146 proto.RegisterType((*Digest)(nil), "google.devtools.remoteexecution.v1test.Digest") 2147 proto.RegisterType((*ActionResult)(nil), "google.devtools.remoteexecution.v1test.ActionResult") 2148 proto.RegisterType((*OutputFile)(nil), "google.devtools.remoteexecution.v1test.OutputFile") 2149 proto.RegisterType((*Tree)(nil), "google.devtools.remoteexecution.v1test.Tree") 2150 proto.RegisterType((*OutputDirectory)(nil), "google.devtools.remoteexecution.v1test.OutputDirectory") 2151 proto.RegisterType((*ExecuteRequest)(nil), "google.devtools.remoteexecution.v1test.ExecuteRequest") 2152 proto.RegisterType((*LogFile)(nil), "google.devtools.remoteexecution.v1test.LogFile") 2153 proto.RegisterType((*ExecuteResponse)(nil), "google.devtools.remoteexecution.v1test.ExecuteResponse") 2154 proto.RegisterMapType((map[string]*LogFile)(nil), "google.devtools.remoteexecution.v1test.ExecuteResponse.ServerLogsEntry") 2155 proto.RegisterType((*ExecuteOperationMetadata)(nil), "google.devtools.remoteexecution.v1test.ExecuteOperationMetadata") 2156 proto.RegisterType((*GetActionResultRequest)(nil), "google.devtools.remoteexecution.v1test.GetActionResultRequest") 2157 proto.RegisterType((*UpdateActionResultRequest)(nil), "google.devtools.remoteexecution.v1test.UpdateActionResultRequest") 2158 proto.RegisterType((*FindMissingBlobsRequest)(nil), "google.devtools.remoteexecution.v1test.FindMissingBlobsRequest") 2159 proto.RegisterType((*FindMissingBlobsResponse)(nil), "google.devtools.remoteexecution.v1test.FindMissingBlobsResponse") 2160 proto.RegisterType((*UpdateBlobRequest)(nil), "google.devtools.remoteexecution.v1test.UpdateBlobRequest") 2161 proto.RegisterType((*BatchUpdateBlobsRequest)(nil), "google.devtools.remoteexecution.v1test.BatchUpdateBlobsRequest") 2162 proto.RegisterType((*BatchUpdateBlobsResponse)(nil), "google.devtools.remoteexecution.v1test.BatchUpdateBlobsResponse") 2163 proto.RegisterType((*BatchUpdateBlobsResponse_Response)(nil), "google.devtools.remoteexecution.v1test.BatchUpdateBlobsResponse.Response") 2164 proto.RegisterType((*GetTreeRequest)(nil), "google.devtools.remoteexecution.v1test.GetTreeRequest") 2165 proto.RegisterType((*GetTreeResponse)(nil), "google.devtools.remoteexecution.v1test.GetTreeResponse") 2166 proto.RegisterType((*ToolDetails)(nil), "google.devtools.remoteexecution.v1test.ToolDetails") 2167 proto.RegisterType((*RequestMetadata)(nil), "google.devtools.remoteexecution.v1test.RequestMetadata") 2168} 2169 2170func init() { 2171 proto.RegisterFile("google/devtools/remoteexecution/v1test/remote_execution.proto", fileDescriptor_1fc46b2dca8a7fdb) 2172} 2173 2174var fileDescriptor_1fc46b2dca8a7fdb = []byte{ 2175 // 2025 bytes of a gzipped FileDescriptorProto 2176 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xdd, 0x6f, 0x23, 0x57, 2177 0x15, 0x67, 0xec, 0x24, 0xb6, 0x8f, 0x9d, 0x75, 0xf6, 0x76, 0xe9, 0x7a, 0xdd, 0x2e, 0x4a, 0xa7, 2178 0xa2, 0x8a, 0xa2, 0x62, 0xb3, 0xde, 0x96, 0x85, 0x54, 0xa5, 0x6c, 0x1c, 0x27, 0x8d, 0x9a, 0xaf, 2179 0x4e, 0xe2, 0x74, 0xbb, 0xaa, 0x34, 0x9d, 0x78, 0x6e, 0xc6, 0xa3, 0xd8, 0x73, 0xcd, 0xbd, 0xd7, 2180 0x69, 0xd2, 0x65, 0x79, 0xe0, 0x05, 0x09, 0x04, 0x12, 0x54, 0x08, 0x24, 0x78, 0x42, 0x42, 0x48, 2181 0x88, 0x27, 0xfe, 0x00, 0x24, 0xf8, 0x03, 0x78, 0x80, 0x17, 0x9e, 0x11, 0x2f, 0xbc, 0xf1, 0xdc, 2182 0x07, 0x84, 0xee, 0xc7, 0x7c, 0xd8, 0xc9, 0xb2, 0x63, 0x67, 0x57, 0xe2, 0xcd, 0x73, 0xce, 0x3d, 2183 0xbf, 0xf3, 0x79, 0xcf, 0x39, 0x33, 0x86, 0xb7, 0x3d, 0x42, 0xbc, 0x1e, 0xae, 0xbb, 0xf8, 0x94, 2184 0x13, 0xd2, 0x63, 0x75, 0x8a, 0xfb, 0x84, 0x63, 0x7c, 0x86, 0x3b, 0x43, 0xee, 0x93, 0xa0, 0x7e, 2185 0x7a, 0x87, 0x63, 0xc6, 0x35, 0xd9, 0x8e, 0xe8, 0xb5, 0x01, 0x25, 0x9c, 0xa0, 0xd7, 0x94, 0x78, 2186 0x2d, 0x14, 0xaf, 0x8d, 0x89, 0xd7, 0x94, 0x78, 0xf5, 0x65, 0xad, 0xc6, 0x19, 0xf8, 0x75, 0x27, 2187 0x08, 0x08, 0x77, 0x04, 0x97, 0x29, 0x94, 0xea, 0xab, 0x9a, 0xdb, 0x23, 0x81, 0x47, 0x87, 0x41, 2188 0xe0, 0x07, 0x5e, 0x9d, 0x0c, 0x30, 0x1d, 0x39, 0xf4, 0x25, 0x7d, 0x48, 0x3e, 0x1d, 0x0d, 0x8f, 2189 0xeb, 0xee, 0x50, 0x1d, 0xd0, 0xfc, 0x9b, 0x9a, 0x4f, 0x07, 0x9d, 0x3a, 0xe3, 0x0e, 0x1f, 0x6a, 2190 0x41, 0xf3, 0x0f, 0x59, 0x98, 0xbb, 0xdf, 0x11, 0x27, 0x51, 0x1b, 0xae, 0x75, 0x48, 0xbf, 0xef, 2191 0x04, 0xae, 0xed, 0xfa, 0x1e, 0x66, 0xbc, 0x62, 0x2c, 0x1a, 0x4b, 0xc5, 0x46, 0xad, 0x96, 0xce, 2192 0x8f, 0xda, 0x9a, 0x94, 0xb2, 0xe6, 0x35, 0x8a, 0x7a, 0x44, 0x0f, 0xe1, 0xba, 0x1f, 0x0c, 0x86, 2193 0xdc, 0xa6, 0x84, 0xf0, 0x10, 0x39, 0x33, 0x15, 0x72, 0x59, 0x02, 0x59, 0x84, 0x70, 0x8d, 0xfd, 2194 0x0a, 0x94, 0xc8, 0x90, 0x0b, 0xf0, 0x63, 0xbf, 0x87, 0x59, 0x25, 0xbb, 0x98, 0x5d, 0x2a, 0x58, 2195 0x45, 0x45, 0x5b, 0x17, 0x24, 0xf4, 0x15, 0x40, 0xfa, 0x88, 0xeb, 0x53, 0xdc, 0xe1, 0x84, 0xfa, 2196 0x98, 0x55, 0x66, 0xe4, 0xc1, 0xeb, 0x8a, 0xb3, 0x16, 0x33, 0xd0, 0x16, 0xe4, 0x07, 0x3d, 0x87, 2197 0x1f, 0x13, 0xda, 0xaf, 0xcc, 0x4a, 0x23, 0xbf, 0x9a, 0xd6, 0xc8, 0x3d, 0x2d, 0x67, 0x45, 0x08, 2198 0xe8, 0x2e, 0xe4, 0xb8, 0xdf, 0xc7, 0x64, 0xc8, 0x2b, 0x73, 0x12, 0xec, 0x56, 0x08, 0x16, 0x26, 2199 0xaa, 0xb6, 0xa6, 0x13, 0x65, 0x85, 0x27, 0xd1, 0x22, 0x94, 0x5c, 0x62, 0x07, 0x84, 0xdb, 0x1d, 2200 0xa7, 0xd3, 0xc5, 0x95, 0xdc, 0xa2, 0xb1, 0x94, 0xb7, 0xc0, 0x25, 0x3b, 0x84, 0x37, 0x05, 0xc5, 2201 0xfc, 0x87, 0x01, 0xb9, 0xa6, 0x0a, 0x32, 0x7a, 0x19, 0x0a, 0x0e, 0xf5, 0x86, 0x7d, 0x1c, 0x70, 2202 0x56, 0x31, 0xa4, 0x5b, 0x31, 0x01, 0x9d, 0xc1, 0x17, 0x71, 0x70, 0xea, 0x53, 0x12, 0x88, 0x67, 2203 0xfb, 0xd4, 0xa1, 0xbe, 0x73, 0x24, 0x22, 0x95, 0x59, 0xcc, 0x2e, 0x15, 0x1b, 0xcd, 0xb4, 0xbe, 2204 0x69, 0x6d, 0xb5, 0x56, 0x0c, 0x76, 0xa8, 0xb1, 0xac, 0x1b, 0xf8, 0x22, 0x91, 0x55, 0xdf, 0x81, 2205 0x17, 0x2e, 0x39, 0x8c, 0x10, 0xcc, 0x04, 0x4e, 0x1f, 0xcb, 0xd2, 0x2a, 0x58, 0xf2, 0x37, 0xba, 2206 0x01, 0xb3, 0xa7, 0x4e, 0x6f, 0x88, 0x65, 0x55, 0x14, 0x2c, 0xf5, 0x60, 0xfe, 0xd2, 0x80, 0x7c, 2207 0x18, 0x52, 0xf4, 0x21, 0xc0, 0x80, 0x8a, 0xaa, 0xe7, 0x22, 0x7b, 0x86, 0x34, 0xfe, 0x1b, 0x93, 2208 0x26, 0xa6, 0xb6, 0xa7, 0x20, 0xce, 0xad, 0x04, 0x58, 0xf5, 0x0d, 0xc8, 0x87, 0xf4, 0x09, 0xac, 2209 0xfb, 0xbd, 0x01, 0x85, 0xb0, 0x6e, 0xce, 0xd1, 0x3a, 0xcc, 0xaa, 0x02, 0x54, 0x96, 0xa5, 0x2e, 2210 0x19, 0x51, 0xa2, 0x3b, 0xc4, 0xc5, 0x96, 0x12, 0x47, 0x1f, 0x40, 0x31, 0x59, 0xa5, 0x2a, 0x49, 2211 0x6f, 0xa6, 0xbf, 0x25, 0xda, 0x1e, 0x09, 0x99, 0x44, 0x32, 0x7f, 0x68, 0x40, 0x3e, 0x54, 0x76, 2212 0xa9, 0x97, 0xeb, 0x30, 0x77, 0xa5, 0xab, 0xa9, 0xa5, 0xd1, 0xab, 0x30, 0xef, 0x33, 0xdd, 0x09, 2213 0x45, 0xc2, 0x2b, 0x33, 0xb2, 0x7a, 0x4b, 0x3e, 0x6b, 0x45, 0x34, 0xf3, 0x04, 0xe6, 0x47, 0x6c, 2214 0x7d, 0x9e, 0x16, 0x99, 0x6f, 0xc1, 0x9c, 0xee, 0x16, 0x08, 0x66, 0xba, 0x0e, 0xeb, 0x86, 0x5a, 2215 0xc4, 0x6f, 0x74, 0x1b, 0x80, 0xf9, 0x9f, 0x62, 0xfb, 0xe8, 0x9c, 0xcb, 0x80, 0x1b, 0x4b, 0x59, 2216 0xab, 0x20, 0x28, 0xab, 0x82, 0x60, 0xfe, 0x35, 0x0b, 0x25, 0xd5, 0x1e, 0x2d, 0xcc, 0x86, 0x3d, 2217 0x8e, 0xda, 0x63, 0x1d, 0x47, 0xa5, 0xa8, 0x91, 0xd6, 0xb6, 0xdd, 0xa8, 0x33, 0x8d, 0x76, 0xa9, 2218 0xe3, 0x4b, 0xbb, 0x54, 0x56, 0x82, 0xdf, 0x9b, 0x0c, 0x3c, 0x8a, 0xec, 0x65, 0xed, 0xed, 0x25, 2219 0x28, 0xe0, 0x33, 0x9f, 0xdb, 0x1d, 0xe2, 0xaa, 0xd4, 0xcc, 0x5a, 0x79, 0x41, 0x68, 0x8a, 0x2c, 2220 0x88, 0x58, 0x70, 0x97, 0x88, 0x56, 0xed, 0x7c, 0x22, 0xbb, 0x5f, 0xc9, 0x2a, 0x28, 0x8a, 0xe5, 2221 0x7c, 0x82, 0xf6, 0x61, 0x5e, 0xb3, 0x75, 0x5e, 0xe6, 0xa6, 0xca, 0x4b, 0x49, 0x81, 0xe8, 0x9c, 2222 0x28, 0x9d, 0x98, 0x52, 0xa9, 0x33, 0x17, 0xe9, 0xc4, 0x94, 0xc6, 0x3a, 0x05, 0x5b, 0xeb, 0xcc, 2223 0x4f, 0xad, 0x13, 0x53, 0xaa, 0x9e, 0xcc, 0xdf, 0x1a, 0x00, 0x71, 0x22, 0x44, 0x59, 0x0c, 0x1c, 2224 0x1e, 0x95, 0x85, 0xf8, 0xfd, 0xcc, 0xae, 0x43, 0x05, 0x72, 0x1d, 0x12, 0x70, 0x1c, 0xf0, 0x4a, 2225 0x56, 0xfa, 0x16, 0x3e, 0xa6, 0xbb, 0x28, 0xbf, 0x32, 0x60, 0xe6, 0x80, 0x62, 0x8c, 0x5a, 0x30, 2226 0x23, 0xc6, 0xa7, 0x9e, 0xc8, 0x77, 0x26, 0xee, 0x08, 0x96, 0x14, 0x47, 0xdb, 0x90, 0xef, 0x74, 2227 0xfd, 0x9e, 0x4b, 0x71, 0xa0, 0x2b, 0x77, 0x0a, 0xa8, 0x08, 0xc2, 0xfc, 0xa3, 0x01, 0xe5, 0xb1, 2228 0xa2, 0x7b, 0xae, 0xd1, 0xdc, 0x85, 0x22, 0xa7, 0x18, 0x87, 0xb5, 0x90, 0x9d, 0x0a, 0x0c, 0x04, 2229 0x84, 0xae, 0x84, 0xcf, 0x32, 0x70, 0x4d, 0x85, 0x1b, 0x5b, 0xf8, 0xdb, 0xc3, 0xb0, 0x81, 0x05, 2230 0x8c, 0x3b, 0x41, 0x07, 0xdb, 0x89, 0x9e, 0x54, 0x0a, 0x89, 0x3b, 0xba, 0x37, 0x39, 0xb2, 0x2b, 2231 0x4c, 0xea, 0x90, 0xee, 0x25, 0x5a, 0x1a, 0x2d, 0xc3, 0x75, 0x76, 0xe2, 0x0f, 0xd4, 0xa0, 0xb7, 2232 0x7b, 0x84, 0x9c, 0x0c, 0x07, 0xd2, 0xad, 0xbc, 0x55, 0x16, 0x0c, 0x39, 0xee, 0xb7, 0x24, 0x19, 2233 0xdd, 0x85, 0x17, 0x39, 0xe1, 0x4e, 0xcf, 0x56, 0xdb, 0x94, 0x68, 0x3f, 0x76, 0x87, 0x0c, 0x03, 2234 0xae, 0xef, 0xf1, 0x0b, 0x92, 0xbb, 0x19, 0xe8, 0xb2, 0x6e, 0x0a, 0xd6, 0xa5, 0x42, 0xaa, 0xd5, 2235 0xcd, 0xca, 0x56, 0x37, 0x26, 0xa4, 0x9a, 0xde, 0x19, 0xe4, 0xb6, 0x88, 0x27, 0xef, 0x46, 0x9c, 2236 0x39, 0xe3, 0x4a, 0x99, 0xfb, 0x32, 0x5c, 0xeb, 0x0e, 0xfb, 0x4e, 0x60, 0x53, 0xec, 0xb8, 0xb2, 2237 0xdc, 0x33, 0xd2, 0xcb, 0x79, 0x49, 0xb5, 0x34, 0xd1, 0xfc, 0x41, 0x16, 0xca, 0x51, 0x3e, 0xd8, 2238 0x80, 0x04, 0x0c, 0xa3, 0x2d, 0x98, 0xa3, 0xb2, 0xf7, 0x6a, 0x13, 0xde, 0x98, 0x30, 0xd6, 0x52, 2239 0xd6, 0xd2, 0x18, 0x22, 0xbd, 0x32, 0xd8, 0xae, 0xad, 0x41, 0x95, 0x1d, 0x25, 0x45, 0xd4, 0x4d, 2240 0x7e, 0x19, 0xe6, 0xd4, 0x92, 0xac, 0x4b, 0x0c, 0x85, 0x2a, 0xe9, 0xa0, 0x53, 0xdb, 0x97, 0x1c, 2241 0x4b, 0x9f, 0x40, 0x5d, 0x28, 0x32, 0x4c, 0x4f, 0x31, 0xb5, 0x7b, 0xc4, 0x53, 0x8b, 0x65, 0xb1, 2242 0xb1, 0x91, 0xd6, 0xc6, 0x31, 0x67, 0x6b, 0xfb, 0x12, 0x6a, 0x8b, 0x78, 0xac, 0x15, 0x70, 0x7a, 2243 0x6e, 0x01, 0x8b, 0x08, 0xd5, 0x00, 0xca, 0x63, 0x6c, 0xb4, 0x00, 0xd9, 0x13, 0x7c, 0xae, 0x4b, 2244 0x54, 0xfc, 0x44, 0xad, 0xe4, 0xb6, 0x52, 0x6c, 0xd4, 0xd3, 0x1a, 0xa2, 0x13, 0xae, 0xd7, 0x9b, 2245 0x95, 0xcc, 0xd7, 0x0d, 0xf3, 0xf3, 0x0c, 0x54, 0xb4, 0x7d, 0xbb, 0xe1, 0xfb, 0xc6, 0x36, 0xe6, 2246 0x8e, 0xeb, 0x70, 0x07, 0x7d, 0x04, 0xb3, 0x8c, 0x3b, 0x9e, 0xba, 0x1e, 0xd7, 0x1a, 0xeb, 0x13, 2247 0x3a, 0x7c, 0x01, 0x50, 0x84, 0xd5, 0xc3, 0x96, 0x02, 0x15, 0x6d, 0x5f, 0xdd, 0x90, 0xab, 0xbd, 2248 0x2f, 0x94, 0x14, 0x88, 0x1e, 0x35, 0xaf, 0x03, 0xd2, 0xf3, 0x8b, 0x71, 0x8a, 0x9d, 0xbe, 0xba, 2249 0xde, 0x59, 0x19, 0xbb, 0x05, 0xc5, 0xd9, 0x97, 0x0c, 0x79, 0xc5, 0xd5, 0x69, 0x31, 0x79, 0x92, 2250 0xa7, 0x67, 0xa2, 0xd3, 0x98, 0xd2, 0xf8, 0xb4, 0xb9, 0x0b, 0xb3, 0xd2, 0x01, 0x54, 0x84, 0x5c, 2251 0x7b, 0xe7, 0xbd, 0x9d, 0xdd, 0x0f, 0x76, 0x16, 0xbe, 0x80, 0xca, 0x50, 0x6c, 0xde, 0x6f, 0xbe, 2252 0xdb, 0xb2, 0x9b, 0xef, 0xb6, 0x9a, 0xef, 0x2d, 0x18, 0x08, 0x60, 0xee, 0xfd, 0x76, 0xab, 0xdd, 2253 0x5a, 0x5b, 0xc8, 0xa0, 0x79, 0x28, 0xb4, 0x1e, 0xb4, 0x9a, 0xed, 0x83, 0xcd, 0x9d, 0x8d, 0x85, 2254 0xac, 0x78, 0x6c, 0xee, 0x6e, 0xef, 0x6d, 0xb5, 0x0e, 0x5a, 0x6b, 0x0b, 0x33, 0xe6, 0x4f, 0x0d, 2255 0x78, 0x71, 0x03, 0xf3, 0x91, 0x1a, 0x9e, 0xa4, 0x43, 0x3d, 0x8f, 0x08, 0x9a, 0xff, 0x36, 0xe0, 2256 0x56, 0x7b, 0xe0, 0x3a, 0x1c, 0xff, 0x5f, 0xd9, 0x85, 0x3e, 0x8c, 0x40, 0xf5, 0xa5, 0xce, 0x5e, 2257 0xa1, 0x53, 0x68, 0x68, 0xf5, 0x64, 0xfe, 0xc4, 0x80, 0x9b, 0xeb, 0x7e, 0xe0, 0x6e, 0xfb, 0x8c, 2258 0xf9, 0x81, 0xb7, 0xda, 0x23, 0x47, 0x6c, 0x22, 0x87, 0xdf, 0x87, 0xd2, 0x51, 0x8f, 0x1c, 0x69, 2259 0x77, 0xc3, 0x85, 0x71, 0x52, 0x7f, 0x8b, 0x02, 0x43, 0xfd, 0x66, 0xe6, 0x77, 0xa0, 0x72, 0xd1, 2260 0x24, 0xdd, 0x2d, 0x3f, 0x86, 0x1b, 0x7d, 0x45, 0xb7, 0x9f, 0x81, 0x5a, 0xd4, 0x8f, 0x75, 0x84, 2261 0xda, 0xbf, 0x0b, 0xd7, 0x55, 0x0d, 0x08, 0x62, 0x18, 0x0a, 0xf9, 0xed, 0x40, 0x2e, 0x36, 0x57, 2262 0xfe, 0x76, 0x20, 0x51, 0xe2, 0x8d, 0x5d, 0x34, 0x07, 0x59, 0x24, 0x25, 0x4b, 0xfe, 0x36, 0x7f, 2263 0x66, 0xc0, 0xcd, 0x55, 0x87, 0x77, 0xba, 0xb1, 0x15, 0x93, 0x65, 0xa4, 0x0d, 0x79, 0xaa, 0xce, 2264 0x87, 0x61, 0x49, 0xfd, 0x26, 0x79, 0xc1, 0x71, 0x2b, 0x82, 0x32, 0x7f, 0x94, 0x81, 0xca, 0x45, 2265 0xbb, 0x74, 0x5a, 0x3c, 0x28, 0x50, 0xfd, 0x3b, 0x7c, 0x49, 0xdc, 0x4c, 0xab, 0xf4, 0x49, 0xa0, 2266 0xb5, 0xf0, 0x87, 0x15, 0x63, 0x57, 0xbf, 0x6f, 0x40, 0x3e, 0xd2, 0xba, 0x0b, 0xc5, 0x44, 0x11, 2267 0x4c, 0x99, 0x12, 0x88, 0x4b, 0x2f, 0x31, 0x18, 0x33, 0x4f, 0x1b, 0x8c, 0xe6, 0x9f, 0x0d, 0xb8, 2268 0xb6, 0x81, 0xb9, 0x58, 0x5f, 0x27, 0x4a, 0xcf, 0x2e, 0x14, 0xaf, 0xfe, 0xa5, 0x08, 0x68, 0xfc, 2269 0x91, 0xe8, 0x25, 0x28, 0x0c, 0x1c, 0x0f, 0xdb, 0xe2, 0xad, 0x4e, 0x76, 0x86, 0x59, 0x2b, 0x2f, 2270 0x08, 0xfb, 0xfe, 0xa7, 0xf2, 0x9d, 0x47, 0x32, 0x39, 0x39, 0xc1, 0x81, 0x6e, 0xef, 0xf2, 0xf8, 2271 0x81, 0x20, 0x98, 0x3f, 0x36, 0xa0, 0x1c, 0x39, 0xa1, 0xa3, 0xba, 0x3f, 0xfa, 0x92, 0x6e, 0x4c, 2272 0xbb, 0x47, 0x27, 0x51, 0xd0, 0x6b, 0x50, 0x0e, 0xf0, 0x19, 0xb7, 0x13, 0xc6, 0xa8, 0xef, 0x0d, 2273 0xf3, 0x82, 0xbc, 0x17, 0x19, 0xb4, 0x0d, 0xc5, 0x03, 0x42, 0x7a, 0x6b, 0x98, 0x3b, 0x7e, 0x4f, 2274 0xbe, 0xcf, 0x09, 0x6d, 0xc9, 0x68, 0xe6, 0x05, 0x41, 0x46, 0xf2, 0x15, 0x28, 0x49, 0xe6, 0x29, 2275 0xa6, 0x2c, 0xdc, 0x55, 0x0b, 0x56, 0x51, 0xd0, 0x0e, 0x15, 0x49, 0x74, 0xf4, 0xb2, 0xce, 0x4e, 2276 0x34, 0xda, 0x0f, 0xb5, 0x98, 0xab, 0x74, 0xe8, 0xb2, 0xb9, 0x9b, 0xd6, 0xc1, 0x84, 0x79, 0x4a, 2277 0x57, 0xc2, 0x56, 0xdd, 0xa5, 0x7d, 0x57, 0xdb, 0x92, 0x57, 0x84, 0x4d, 0x57, 0x8c, 0x5b, 0xa9, 2278 0xd4, 0x0f, 0x4e, 0x49, 0xc7, 0x09, 0x4f, 0xe9, 0xe1, 0x2c, 0x38, 0x9b, 0x11, 0x63, 0xd3, 0x45, 2279 0x2b, 0x70, 0xab, 0x43, 0x28, 0xc5, 0x3d, 0x87, 0x63, 0x37, 0x21, 0xc3, 0x84, 0x90, 0x4a, 0xe2, 2280 0xcd, 0xf8, 0x40, 0x2c, 0xca, 0x36, 0xdd, 0xc6, 0x6f, 0x0c, 0x28, 0xb4, 0x42, 0xa3, 0xd1, 0xcf, 2281 0x0d, 0xc8, 0xe9, 0x9d, 0x04, 0x7d, 0x6d, 0xe2, 0xad, 0x4d, 0x06, 0xae, 0x7a, 0x3b, 0x94, 0x4b, 2282 0x7c, 0xa2, 0xad, 0x45, 0x1b, 0x8e, 0xf9, 0xe6, 0xf7, 0xfe, 0xf6, 0xcf, 0xcf, 0x32, 0x75, 0x73, 2283 0x39, 0xfc, 0x5c, 0xfc, 0x68, 0xe4, 0x12, 0xbc, 0xbd, 0xbc, 0xfc, 0xb8, 0xae, 0xe2, 0xc0, 0x56, 2284 0x94, 0x2a, 0xbc, 0x62, 0x2c, 0x37, 0x3e, 0xcf, 0x42, 0x51, 0x0d, 0x26, 0xf9, 0x16, 0x80, 0xfe, 2285 0xa5, 0x4a, 0x71, 0xe4, 0x6b, 0xc4, 0x37, 0xd3, 0x5a, 0x7c, 0xf9, 0x2a, 0x51, 0x9d, 0x6a, 0x42, 2286 0x9a, 0x1f, 0x4b, 0x87, 0x1e, 0xa2, 0x07, 0x4f, 0x75, 0x48, 0x09, 0xb0, 0xfa, 0xa3, 0x91, 0x99, 2287 0x5f, 0xeb, 0x3a, 0xac, 0xfb, 0x78, 0x9c, 0x18, 0x7f, 0x86, 0x79, 0x8c, 0xfe, 0x63, 0x00, 0xba, 2288 0xb8, 0x68, 0xa0, 0xfb, 0x93, 0xf5, 0xe9, 0x67, 0xe7, 0x31, 0x91, 0x1e, 0xfb, 0xd5, 0xe7, 0xe6, 2289 0xf1, 0xca, 0xe8, 0x02, 0xd3, 0xf8, 0xc5, 0x2c, 0xdc, 0x6a, 0xaa, 0x51, 0x78, 0xdf, 0x75, 0x29, 2290 0x66, 0x4c, 0xbc, 0x1f, 0xed, 0x73, 0x42, 0xc5, 0x92, 0xf9, 0x17, 0x03, 0x16, 0xc6, 0x37, 0x00, 2291 0xf4, 0x4e, 0xfa, 0x8f, 0x8e, 0x97, 0xae, 0x33, 0xd5, 0x6f, 0x4d, 0x0f, 0xa0, 0x3a, 0xa3, 0x79, 2292 0x4f, 0x86, 0xe9, 0x8e, 0xf9, 0xfa, 0xff, 0x08, 0x93, 0x98, 0x26, 0x6c, 0xe5, 0x38, 0x86, 0x58, 2293 0x31, 0x96, 0xa5, 0x43, 0xe3, 0x63, 0x2e, 0xbd, 0x43, 0x4f, 0xd8, 0x06, 0xd2, 0x3b, 0xf4, 0xa4, 2294 0x09, 0x3b, 0x81, 0x43, 0x47, 0x31, 0x84, 0x70, 0xe8, 0xef, 0x06, 0xe4, 0xf4, 0xdc, 0x48, 0xdf, 2295 0x56, 0x46, 0xa7, 0x65, 0xf5, 0xde, 0xc4, 0x72, 0xda, 0xea, 0x8f, 0xa4, 0xd5, 0x87, 0xe8, 0xe0, 2296 0x69, 0x56, 0xd7, 0x1f, 0x25, 0x26, 0x6d, 0x58, 0xa3, 0x49, 0x52, 0xb2, 0x42, 0x3d, 0xa5, 0x65, 2297 0xf5, 0x4f, 0x06, 0x2c, 0x77, 0x48, 0x3f, 0xa5, 0x71, 0xab, 0x37, 0x2c, 0x49, 0x8f, 0x3a, 0xee, 2298 0x1e, 0x25, 0x9c, 0xec, 0x19, 0x0f, 0xdb, 0x5a, 0xde, 0x23, 0x3d, 0x27, 0xf0, 0x6a, 0x84, 0x7a, 2299 0x75, 0x0f, 0x07, 0xf2, 0x6f, 0x91, 0xba, 0x62, 0x39, 0x03, 0x9f, 0x3d, 0xed, 0xaf, 0xb7, 0xb7, 2300 0xc6, 0xc8, 0xbf, 0xce, 0x64, 0xad, 0xd6, 0x83, 0xdf, 0x65, 0x6e, 0x6f, 0x28, 0xf4, 0x31, 0xe5, 2301 0xb5, 0xc3, 0x3b, 0x07, 0x98, 0xf1, 0xa3, 0x39, 0xa9, 0xe7, 0xee, 0x7f, 0x03, 0x00, 0x00, 0xff, 2302 0xff, 0xf0, 0x8a, 0x2f, 0x43, 0xe1, 0x1b, 0x00, 0x00, 2303} 2304 2305// Reference imports to suppress errors if they are not otherwise used. 2306var _ context.Context 2307var _ grpc.ClientConn 2308 2309// This is a compile-time assertion to ensure that this generated file 2310// is compatible with the grpc package it is being compiled against. 2311const _ = grpc.SupportPackageIsVersion4 2312 2313// ExecutionClient is the client API for Execution service. 2314// 2315// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2316type ExecutionClient interface { 2317 // Execute an action remotely. 2318 // 2319 // In order to execute an action, the client must first upload all of the 2320 // inputs, as well as the 2321 // [Command][google.devtools.remoteexecution.v1test.Command] to run, into the 2322 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 2323 // It then calls `Execute` with an 2324 // [Action][google.devtools.remoteexecution.v1test.Action] referring to them. 2325 // The server will run the action and eventually return the result. 2326 // 2327 // The input `Action`'s fields MUST meet the various canonicalization 2328 // requirements specified in the documentation for their types so that it has 2329 // the same digest as other logically equivalent `Action`s. The server MAY 2330 // enforce the requirements and return errors if a non-canonical input is 2331 // received. It MAY also proceed without verifying some or all of the 2332 // requirements, such as for performance reasons. If the server does not 2333 // verify the requirement, then it will treat the `Action` as distinct from 2334 // another logically equivalent action if they hash differently. 2335 // 2336 // Returns a [google.longrunning.Operation][google.longrunning.Operation] 2337 // describing the resulting execution, with eventual `response` 2338 // [ExecuteResponse][google.devtools.remoteexecution.v1test.ExecuteResponse]. 2339 // The `metadata` on the operation is of type 2340 // [ExecuteOperationMetadata][google.devtools.remoteexecution.v1test.ExecuteOperationMetadata]. 2341 // 2342 // To query the operation, you can use the 2343 // [Operations API][google.longrunning.Operations.GetOperation]. If you wish 2344 // to allow the server to stream operations updates, rather than requiring 2345 // client polling, you can use the 2346 // [Watcher API][google.watcher.v1.Watcher.Watch] with the Operation's `name` 2347 // as the `target`. 2348 // 2349 // When using the Watcher API, the initial `data` will be the `Operation` at 2350 // the time of the request. Updates will be provided periodically by the 2351 // server until the `Operation` completes, at which point the response message 2352 // will (assuming no error) be at `data.response`. 2353 // 2354 // The server NEED NOT implement other methods or functionality of the 2355 // Operation and Watcher APIs. 2356 // 2357 // Errors discovered during creation of the `Operation` will be reported 2358 // as gRPC Status errors, while errors that occurred while running the 2359 // action will be reported in the `status` field of the `ExecuteResponse`. The 2360 // server MUST NOT set the `error` field of the `Operation` proto. 2361 // The possible errors include: 2362 // * `INVALID_ARGUMENT`: One or more arguments are invalid. 2363 // * `FAILED_PRECONDITION`: One or more errors occurred in setting up the 2364 // action requested, such as a missing input or command or no worker being 2365 // available. The client may be able to fix the errors and retry. 2366 // * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run 2367 // the action. 2368 // * `UNAVAILABLE`: Due to a transient condition, such as all workers being 2369 // occupied (and the server does not support a queue), the action could not 2370 // be started. The client should retry. 2371 // * `INTERNAL`: An internal error occurred in the execution engine or the 2372 // worker. 2373 // * `DEADLINE_EXCEEDED`: The execution timed out. 2374 // 2375 // In the case of a missing input or command, the server SHOULD additionally 2376 // send a [PreconditionFailure][google.rpc.PreconditionFailure] error detail 2377 // where, for each requested blob not present in the CAS, there is a 2378 // `Violation` with a `type` of `MISSING` and a `subject` of 2379 // `"blobs/{hash}/{size}"` indicating the digest of the missing blob. 2380 Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2381} 2382 2383type executionClient struct { 2384 cc *grpc.ClientConn 2385} 2386 2387func NewExecutionClient(cc *grpc.ClientConn) ExecutionClient { 2388 return &executionClient{cc} 2389} 2390 2391func (c *executionClient) Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2392 out := new(longrunning.Operation) 2393 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.Execution/Execute", in, out, opts...) 2394 if err != nil { 2395 return nil, err 2396 } 2397 return out, nil 2398} 2399 2400// ExecutionServer is the server API for Execution service. 2401type ExecutionServer interface { 2402 // Execute an action remotely. 2403 // 2404 // In order to execute an action, the client must first upload all of the 2405 // inputs, as well as the 2406 // [Command][google.devtools.remoteexecution.v1test.Command] to run, into the 2407 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 2408 // It then calls `Execute` with an 2409 // [Action][google.devtools.remoteexecution.v1test.Action] referring to them. 2410 // The server will run the action and eventually return the result. 2411 // 2412 // The input `Action`'s fields MUST meet the various canonicalization 2413 // requirements specified in the documentation for their types so that it has 2414 // the same digest as other logically equivalent `Action`s. The server MAY 2415 // enforce the requirements and return errors if a non-canonical input is 2416 // received. It MAY also proceed without verifying some or all of the 2417 // requirements, such as for performance reasons. If the server does not 2418 // verify the requirement, then it will treat the `Action` as distinct from 2419 // another logically equivalent action if they hash differently. 2420 // 2421 // Returns a [google.longrunning.Operation][google.longrunning.Operation] 2422 // describing the resulting execution, with eventual `response` 2423 // [ExecuteResponse][google.devtools.remoteexecution.v1test.ExecuteResponse]. 2424 // The `metadata` on the operation is of type 2425 // [ExecuteOperationMetadata][google.devtools.remoteexecution.v1test.ExecuteOperationMetadata]. 2426 // 2427 // To query the operation, you can use the 2428 // [Operations API][google.longrunning.Operations.GetOperation]. If you wish 2429 // to allow the server to stream operations updates, rather than requiring 2430 // client polling, you can use the 2431 // [Watcher API][google.watcher.v1.Watcher.Watch] with the Operation's `name` 2432 // as the `target`. 2433 // 2434 // When using the Watcher API, the initial `data` will be the `Operation` at 2435 // the time of the request. Updates will be provided periodically by the 2436 // server until the `Operation` completes, at which point the response message 2437 // will (assuming no error) be at `data.response`. 2438 // 2439 // The server NEED NOT implement other methods or functionality of the 2440 // Operation and Watcher APIs. 2441 // 2442 // Errors discovered during creation of the `Operation` will be reported 2443 // as gRPC Status errors, while errors that occurred while running the 2444 // action will be reported in the `status` field of the `ExecuteResponse`. The 2445 // server MUST NOT set the `error` field of the `Operation` proto. 2446 // The possible errors include: 2447 // * `INVALID_ARGUMENT`: One or more arguments are invalid. 2448 // * `FAILED_PRECONDITION`: One or more errors occurred in setting up the 2449 // action requested, such as a missing input or command or no worker being 2450 // available. The client may be able to fix the errors and retry. 2451 // * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run 2452 // the action. 2453 // * `UNAVAILABLE`: Due to a transient condition, such as all workers being 2454 // occupied (and the server does not support a queue), the action could not 2455 // be started. The client should retry. 2456 // * `INTERNAL`: An internal error occurred in the execution engine or the 2457 // worker. 2458 // * `DEADLINE_EXCEEDED`: The execution timed out. 2459 // 2460 // In the case of a missing input or command, the server SHOULD additionally 2461 // send a [PreconditionFailure][google.rpc.PreconditionFailure] error detail 2462 // where, for each requested blob not present in the CAS, there is a 2463 // `Violation` with a `type` of `MISSING` and a `subject` of 2464 // `"blobs/{hash}/{size}"` indicating the digest of the missing blob. 2465 Execute(context.Context, *ExecuteRequest) (*longrunning.Operation, error) 2466} 2467 2468func RegisterExecutionServer(s *grpc.Server, srv ExecutionServer) { 2469 s.RegisterService(&_Execution_serviceDesc, srv) 2470} 2471 2472func _Execution_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2473 in := new(ExecuteRequest) 2474 if err := dec(in); err != nil { 2475 return nil, err 2476 } 2477 if interceptor == nil { 2478 return srv.(ExecutionServer).Execute(ctx, in) 2479 } 2480 info := &grpc.UnaryServerInfo{ 2481 Server: srv, 2482 FullMethod: "/google.devtools.remoteexecution.v1test.Execution/Execute", 2483 } 2484 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2485 return srv.(ExecutionServer).Execute(ctx, req.(*ExecuteRequest)) 2486 } 2487 return interceptor(ctx, in, info, handler) 2488} 2489 2490var _Execution_serviceDesc = grpc.ServiceDesc{ 2491 ServiceName: "google.devtools.remoteexecution.v1test.Execution", 2492 HandlerType: (*ExecutionServer)(nil), 2493 Methods: []grpc.MethodDesc{ 2494 { 2495 MethodName: "Execute", 2496 Handler: _Execution_Execute_Handler, 2497 }, 2498 }, 2499 Streams: []grpc.StreamDesc{}, 2500 Metadata: "google/devtools/remoteexecution/v1test/remote_execution.proto", 2501} 2502 2503// ActionCacheClient is the client API for ActionCache service. 2504// 2505// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2506type ActionCacheClient interface { 2507 // Retrieve a cached execution result. 2508 // 2509 // Errors: 2510 // * `NOT_FOUND`: The requested `ActionResult` is not in the cache. 2511 GetActionResult(ctx context.Context, in *GetActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) 2512 // Upload a new execution result. 2513 // 2514 // This method is intended for servers which implement the distributed cache 2515 // independently of the 2516 // [Execution][google.devtools.remoteexecution.v1test.Execution] API. As a 2517 // result, it is OPTIONAL for servers to implement. 2518 // 2519 // Errors: 2520 // * `NOT_IMPLEMENTED`: This method is not supported by the server. 2521 // * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the 2522 // entry to the cache. 2523 UpdateActionResult(ctx context.Context, in *UpdateActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) 2524} 2525 2526type actionCacheClient struct { 2527 cc *grpc.ClientConn 2528} 2529 2530func NewActionCacheClient(cc *grpc.ClientConn) ActionCacheClient { 2531 return &actionCacheClient{cc} 2532} 2533 2534func (c *actionCacheClient) GetActionResult(ctx context.Context, in *GetActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) { 2535 out := new(ActionResult) 2536 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ActionCache/GetActionResult", in, out, opts...) 2537 if err != nil { 2538 return nil, err 2539 } 2540 return out, nil 2541} 2542 2543func (c *actionCacheClient) UpdateActionResult(ctx context.Context, in *UpdateActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) { 2544 out := new(ActionResult) 2545 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ActionCache/UpdateActionResult", in, out, opts...) 2546 if err != nil { 2547 return nil, err 2548 } 2549 return out, nil 2550} 2551 2552// ActionCacheServer is the server API for ActionCache service. 2553type ActionCacheServer interface { 2554 // Retrieve a cached execution result. 2555 // 2556 // Errors: 2557 // * `NOT_FOUND`: The requested `ActionResult` is not in the cache. 2558 GetActionResult(context.Context, *GetActionResultRequest) (*ActionResult, error) 2559 // Upload a new execution result. 2560 // 2561 // This method is intended for servers which implement the distributed cache 2562 // independently of the 2563 // [Execution][google.devtools.remoteexecution.v1test.Execution] API. As a 2564 // result, it is OPTIONAL for servers to implement. 2565 // 2566 // Errors: 2567 // * `NOT_IMPLEMENTED`: This method is not supported by the server. 2568 // * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the 2569 // entry to the cache. 2570 UpdateActionResult(context.Context, *UpdateActionResultRequest) (*ActionResult, error) 2571} 2572 2573func RegisterActionCacheServer(s *grpc.Server, srv ActionCacheServer) { 2574 s.RegisterService(&_ActionCache_serviceDesc, srv) 2575} 2576 2577func _ActionCache_GetActionResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2578 in := new(GetActionResultRequest) 2579 if err := dec(in); err != nil { 2580 return nil, err 2581 } 2582 if interceptor == nil { 2583 return srv.(ActionCacheServer).GetActionResult(ctx, in) 2584 } 2585 info := &grpc.UnaryServerInfo{ 2586 Server: srv, 2587 FullMethod: "/google.devtools.remoteexecution.v1test.ActionCache/GetActionResult", 2588 } 2589 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2590 return srv.(ActionCacheServer).GetActionResult(ctx, req.(*GetActionResultRequest)) 2591 } 2592 return interceptor(ctx, in, info, handler) 2593} 2594 2595func _ActionCache_UpdateActionResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2596 in := new(UpdateActionResultRequest) 2597 if err := dec(in); err != nil { 2598 return nil, err 2599 } 2600 if interceptor == nil { 2601 return srv.(ActionCacheServer).UpdateActionResult(ctx, in) 2602 } 2603 info := &grpc.UnaryServerInfo{ 2604 Server: srv, 2605 FullMethod: "/google.devtools.remoteexecution.v1test.ActionCache/UpdateActionResult", 2606 } 2607 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2608 return srv.(ActionCacheServer).UpdateActionResult(ctx, req.(*UpdateActionResultRequest)) 2609 } 2610 return interceptor(ctx, in, info, handler) 2611} 2612 2613var _ActionCache_serviceDesc = grpc.ServiceDesc{ 2614 ServiceName: "google.devtools.remoteexecution.v1test.ActionCache", 2615 HandlerType: (*ActionCacheServer)(nil), 2616 Methods: []grpc.MethodDesc{ 2617 { 2618 MethodName: "GetActionResult", 2619 Handler: _ActionCache_GetActionResult_Handler, 2620 }, 2621 { 2622 MethodName: "UpdateActionResult", 2623 Handler: _ActionCache_UpdateActionResult_Handler, 2624 }, 2625 }, 2626 Streams: []grpc.StreamDesc{}, 2627 Metadata: "google/devtools/remoteexecution/v1test/remote_execution.proto", 2628} 2629 2630// ContentAddressableStorageClient is the client API for ContentAddressableStorage service. 2631// 2632// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2633type ContentAddressableStorageClient interface { 2634 // Determine if blobs are present in the CAS. 2635 // 2636 // Clients can use this API before uploading blobs to determine which ones are 2637 // already present in the CAS and do not need to be uploaded again. 2638 // 2639 // There are no method-specific errors. 2640 FindMissingBlobs(ctx context.Context, in *FindMissingBlobsRequest, opts ...grpc.CallOption) (*FindMissingBlobsResponse, error) 2641 // Upload many blobs at once. 2642 // 2643 // The client MUST NOT upload blobs with a combined total size of more than 10 2644 // MiB using this API. Such requests should either be split into smaller 2645 // chunks or uploaded using the 2646 // [ByteStream API][google.bytestream.ByteStream], as appropriate. 2647 // 2648 // This request is equivalent to calling [UpdateBlob][] on each individual 2649 // blob, in parallel. The requests may succeed or fail independently. 2650 // 2651 // Errors: 2652 // * `INVALID_ARGUMENT`: The client attempted to upload more than 10 MiB of 2653 // data. 2654 // 2655 // Individual requests may return the following errors, additionally: 2656 // * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. 2657 // * `INVALID_ARGUMENT`: The 2658 // [Digest][google.devtools.remoteexecution.v1test.Digest] does not match the 2659 // provided data. 2660 BatchUpdateBlobs(ctx context.Context, in *BatchUpdateBlobsRequest, opts ...grpc.CallOption) (*BatchUpdateBlobsResponse, error) 2661 // Fetch the entire directory tree rooted at a node. 2662 // 2663 // This request must be targeted at a 2664 // [Directory][google.devtools.remoteexecution.v1test.Directory] stored in the 2665 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage] 2666 // (CAS). The server will enumerate the `Directory` tree recursively and 2667 // return every node descended from the root. 2668 // The exact traversal order is unspecified and, unless retrieving subsequent 2669 // pages from an earlier request, is not guaranteed to be stable across 2670 // multiple invocations of `GetTree`. 2671 // 2672 // If part of the tree is missing from the CAS, the server will return the 2673 // portion present and omit the rest. 2674 // 2675 // * `NOT_FOUND`: The requested tree root is not present in the CAS. 2676 GetTree(ctx context.Context, in *GetTreeRequest, opts ...grpc.CallOption) (*GetTreeResponse, error) 2677} 2678 2679type contentAddressableStorageClient struct { 2680 cc *grpc.ClientConn 2681} 2682 2683func NewContentAddressableStorageClient(cc *grpc.ClientConn) ContentAddressableStorageClient { 2684 return &contentAddressableStorageClient{cc} 2685} 2686 2687func (c *contentAddressableStorageClient) FindMissingBlobs(ctx context.Context, in *FindMissingBlobsRequest, opts ...grpc.CallOption) (*FindMissingBlobsResponse, error) { 2688 out := new(FindMissingBlobsResponse) 2689 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/FindMissingBlobs", in, out, opts...) 2690 if err != nil { 2691 return nil, err 2692 } 2693 return out, nil 2694} 2695 2696func (c *contentAddressableStorageClient) BatchUpdateBlobs(ctx context.Context, in *BatchUpdateBlobsRequest, opts ...grpc.CallOption) (*BatchUpdateBlobsResponse, error) { 2697 out := new(BatchUpdateBlobsResponse) 2698 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/BatchUpdateBlobs", in, out, opts...) 2699 if err != nil { 2700 return nil, err 2701 } 2702 return out, nil 2703} 2704 2705func (c *contentAddressableStorageClient) GetTree(ctx context.Context, in *GetTreeRequest, opts ...grpc.CallOption) (*GetTreeResponse, error) { 2706 out := new(GetTreeResponse) 2707 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/GetTree", in, out, opts...) 2708 if err != nil { 2709 return nil, err 2710 } 2711 return out, nil 2712} 2713 2714// ContentAddressableStorageServer is the server API for ContentAddressableStorage service. 2715type ContentAddressableStorageServer interface { 2716 // Determine if blobs are present in the CAS. 2717 // 2718 // Clients can use this API before uploading blobs to determine which ones are 2719 // already present in the CAS and do not need to be uploaded again. 2720 // 2721 // There are no method-specific errors. 2722 FindMissingBlobs(context.Context, *FindMissingBlobsRequest) (*FindMissingBlobsResponse, error) 2723 // Upload many blobs at once. 2724 // 2725 // The client MUST NOT upload blobs with a combined total size of more than 10 2726 // MiB using this API. Such requests should either be split into smaller 2727 // chunks or uploaded using the 2728 // [ByteStream API][google.bytestream.ByteStream], as appropriate. 2729 // 2730 // This request is equivalent to calling [UpdateBlob][] on each individual 2731 // blob, in parallel. The requests may succeed or fail independently. 2732 // 2733 // Errors: 2734 // * `INVALID_ARGUMENT`: The client attempted to upload more than 10 MiB of 2735 // data. 2736 // 2737 // Individual requests may return the following errors, additionally: 2738 // * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. 2739 // * `INVALID_ARGUMENT`: The 2740 // [Digest][google.devtools.remoteexecution.v1test.Digest] does not match the 2741 // provided data. 2742 BatchUpdateBlobs(context.Context, *BatchUpdateBlobsRequest) (*BatchUpdateBlobsResponse, error) 2743 // Fetch the entire directory tree rooted at a node. 2744 // 2745 // This request must be targeted at a 2746 // [Directory][google.devtools.remoteexecution.v1test.Directory] stored in the 2747 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage] 2748 // (CAS). The server will enumerate the `Directory` tree recursively and 2749 // return every node descended from the root. 2750 // The exact traversal order is unspecified and, unless retrieving subsequent 2751 // pages from an earlier request, is not guaranteed to be stable across 2752 // multiple invocations of `GetTree`. 2753 // 2754 // If part of the tree is missing from the CAS, the server will return the 2755 // portion present and omit the rest. 2756 // 2757 // * `NOT_FOUND`: The requested tree root is not present in the CAS. 2758 GetTree(context.Context, *GetTreeRequest) (*GetTreeResponse, error) 2759} 2760 2761func RegisterContentAddressableStorageServer(s *grpc.Server, srv ContentAddressableStorageServer) { 2762 s.RegisterService(&_ContentAddressableStorage_serviceDesc, srv) 2763} 2764 2765func _ContentAddressableStorage_FindMissingBlobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2766 in := new(FindMissingBlobsRequest) 2767 if err := dec(in); err != nil { 2768 return nil, err 2769 } 2770 if interceptor == nil { 2771 return srv.(ContentAddressableStorageServer).FindMissingBlobs(ctx, in) 2772 } 2773 info := &grpc.UnaryServerInfo{ 2774 Server: srv, 2775 FullMethod: "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/FindMissingBlobs", 2776 } 2777 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2778 return srv.(ContentAddressableStorageServer).FindMissingBlobs(ctx, req.(*FindMissingBlobsRequest)) 2779 } 2780 return interceptor(ctx, in, info, handler) 2781} 2782 2783func _ContentAddressableStorage_BatchUpdateBlobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2784 in := new(BatchUpdateBlobsRequest) 2785 if err := dec(in); err != nil { 2786 return nil, err 2787 } 2788 if interceptor == nil { 2789 return srv.(ContentAddressableStorageServer).BatchUpdateBlobs(ctx, in) 2790 } 2791 info := &grpc.UnaryServerInfo{ 2792 Server: srv, 2793 FullMethod: "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/BatchUpdateBlobs", 2794 } 2795 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2796 return srv.(ContentAddressableStorageServer).BatchUpdateBlobs(ctx, req.(*BatchUpdateBlobsRequest)) 2797 } 2798 return interceptor(ctx, in, info, handler) 2799} 2800 2801func _ContentAddressableStorage_GetTree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2802 in := new(GetTreeRequest) 2803 if err := dec(in); err != nil { 2804 return nil, err 2805 } 2806 if interceptor == nil { 2807 return srv.(ContentAddressableStorageServer).GetTree(ctx, in) 2808 } 2809 info := &grpc.UnaryServerInfo{ 2810 Server: srv, 2811 FullMethod: "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/GetTree", 2812 } 2813 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2814 return srv.(ContentAddressableStorageServer).GetTree(ctx, req.(*GetTreeRequest)) 2815 } 2816 return interceptor(ctx, in, info, handler) 2817} 2818 2819var _ContentAddressableStorage_serviceDesc = grpc.ServiceDesc{ 2820 ServiceName: "google.devtools.remoteexecution.v1test.ContentAddressableStorage", 2821 HandlerType: (*ContentAddressableStorageServer)(nil), 2822 Methods: []grpc.MethodDesc{ 2823 { 2824 MethodName: "FindMissingBlobs", 2825 Handler: _ContentAddressableStorage_FindMissingBlobs_Handler, 2826 }, 2827 { 2828 MethodName: "BatchUpdateBlobs", 2829 Handler: _ContentAddressableStorage_BatchUpdateBlobs_Handler, 2830 }, 2831 { 2832 MethodName: "GetTree", 2833 Handler: _ContentAddressableStorage_GetTree_Handler, 2834 }, 2835 }, 2836 Streams: []grpc.StreamDesc{}, 2837 Metadata: "google/devtools/remoteexecution/v1test/remote_execution.proto", 2838} 2839