blob: 404d7dc88258f92ddffdaa3082f41f92b84e3370 [file] [log] [blame]
// Copyright 2010 Google LLC. All Rights Reserved.
//
// new proto definitions for goma v2
// LINT: ALLOW_GROUPS
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.13.0
// source: api/goma_data.proto
package api
import (
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type FileBlob_BlobType int32
const (
FileBlob_FILE_UNSPECIFIED FileBlob_BlobType = 0
FileBlob_FILE FileBlob_BlobType = 1
FileBlob_FILE_META FileBlob_BlobType = 2
FileBlob_FILE_CHUNK FileBlob_BlobType = 3
// ARCHIVE = 4;
FileBlob_FILE_REF FileBlob_BlobType = 5
)
// Enum value maps for FileBlob_BlobType.
var (
FileBlob_BlobType_name = map[int32]string{
0: "FILE_UNSPECIFIED",
1: "FILE",
2: "FILE_META",
3: "FILE_CHUNK",
5: "FILE_REF",
}
FileBlob_BlobType_value = map[string]int32{
"FILE_UNSPECIFIED": 0,
"FILE": 1,
"FILE_META": 2,
"FILE_CHUNK": 3,
"FILE_REF": 5,
}
)
func (x FileBlob_BlobType) Enum() *FileBlob_BlobType {
p := new(FileBlob_BlobType)
*p = x
return p
}
func (x FileBlob_BlobType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FileBlob_BlobType) Descriptor() protoreflect.EnumDescriptor {
return file_api_goma_data_proto_enumTypes[0].Descriptor()
}
func (FileBlob_BlobType) Type() protoreflect.EnumType {
return &file_api_goma_data_proto_enumTypes[0]
}
func (x FileBlob_BlobType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *FileBlob_BlobType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = FileBlob_BlobType(num)
return nil
}
// Deprecated: Use FileBlob_BlobType.Descriptor instead.
func (FileBlob_BlobType) EnumDescriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{0, 0}
}
// The version of goma protocol. This is intended to be used for two purpose:
//
// - When we changes the meanings of compiler_proxy's request, we may
// want to support the previous type of requests in our backend for a while.
// Backend can change its behavior by checking the value of this field.
// - Once a server stops supporting the old behavior, the backend can
// send an error messages to the client. Also, we can track the clients'
// versions with this field so we can easily decide if it's safe to
// stop supporting the old behavior.
//
// 0 => 1: Changed the meaning of command_spec.system_include_path.
// Now -isysroot in a command line is considered to obtain this field.
// 1 => 2: command_spec.version contains vendor versions.
// E.g., 4.4.3[Ubuntu 4.4.3-4ubuntu5]
type RequesterInfo_GomaApiVersion int32
const (
RequesterInfo_CURRENT_VERSION RequesterInfo_GomaApiVersion = 2
)
// Enum value maps for RequesterInfo_GomaApiVersion.
var (
RequesterInfo_GomaApiVersion_name = map[int32]string{
2: "CURRENT_VERSION",
}
RequesterInfo_GomaApiVersion_value = map[string]int32{
"CURRENT_VERSION": 2,
}
)
func (x RequesterInfo_GomaApiVersion) Enum() *RequesterInfo_GomaApiVersion {
p := new(RequesterInfo_GomaApiVersion)
*p = x
return p
}
func (x RequesterInfo_GomaApiVersion) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RequesterInfo_GomaApiVersion) Descriptor() protoreflect.EnumDescriptor {
return file_api_goma_data_proto_enumTypes[1].Descriptor()
}
func (RequesterInfo_GomaApiVersion) Type() protoreflect.EnumType {
return &file_api_goma_data_proto_enumTypes[1]
}
func (x RequesterInfo_GomaApiVersion) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *RequesterInfo_GomaApiVersion) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = RequesterInfo_GomaApiVersion(num)
return nil
}
// Deprecated: Use RequesterInfo_GomaApiVersion.Descriptor instead.
func (RequesterInfo_GomaApiVersion) EnumDescriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{5, 0}
}
// Implementation Note: `WINDOWS` is defined on Win, so we have to add
// prefix or suffix.
type RequesterInfo_PathStyle int32
const (
RequesterInfo_UNKNOWN_STYLE RequesterInfo_PathStyle = 0
RequesterInfo_POSIX_STYLE RequesterInfo_PathStyle = 1 // unix-style, slash separated.
RequesterInfo_WINDOWS_STYLE RequesterInfo_PathStyle = 2 // windows-style. backslash separated.
)
// Enum value maps for RequesterInfo_PathStyle.
var (
RequesterInfo_PathStyle_name = map[int32]string{
0: "UNKNOWN_STYLE",
1: "POSIX_STYLE",
2: "WINDOWS_STYLE",
}
RequesterInfo_PathStyle_value = map[string]int32{
"UNKNOWN_STYLE": 0,
"POSIX_STYLE": 1,
"WINDOWS_STYLE": 2,
}
)
func (x RequesterInfo_PathStyle) Enum() *RequesterInfo_PathStyle {
p := new(RequesterInfo_PathStyle)
*p = x
return p
}
func (x RequesterInfo_PathStyle) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RequesterInfo_PathStyle) Descriptor() protoreflect.EnumDescriptor {
return file_api_goma_data_proto_enumTypes[2].Descriptor()
}
func (RequesterInfo_PathStyle) Type() protoreflect.EnumType {
return &file_api_goma_data_proto_enumTypes[2]
}
func (x RequesterInfo_PathStyle) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *RequesterInfo_PathStyle) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = RequesterInfo_PathStyle(num)
return nil
}
// Deprecated: Use RequesterInfo_PathStyle.Descriptor instead.
func (RequesterInfo_PathStyle) EnumDescriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{5, 1}
}
type ExecReq_CachePolicy int32
const (
// IGNORE = 0;
ExecReq_LOOKUP_AND_STORE ExecReq_CachePolicy = 1
ExecReq_LOOKUP_ONLY ExecReq_CachePolicy = 2
ExecReq_STORE_ONLY ExecReq_CachePolicy = 3
ExecReq_LOOKUP_AND_STORE_SUCCESS ExecReq_CachePolicy = 4
)
// Enum value maps for ExecReq_CachePolicy.
var (
ExecReq_CachePolicy_name = map[int32]string{
1: "LOOKUP_AND_STORE",
2: "LOOKUP_ONLY",
3: "STORE_ONLY",
4: "LOOKUP_AND_STORE_SUCCESS",
}
ExecReq_CachePolicy_value = map[string]int32{
"LOOKUP_AND_STORE": 1,
"LOOKUP_ONLY": 2,
"STORE_ONLY": 3,
"LOOKUP_AND_STORE_SUCCESS": 4,
}
)
func (x ExecReq_CachePolicy) Enum() *ExecReq_CachePolicy {
p := new(ExecReq_CachePolicy)
*p = x
return p
}
func (x ExecReq_CachePolicy) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExecReq_CachePolicy) Descriptor() protoreflect.EnumDescriptor {
return file_api_goma_data_proto_enumTypes[3].Descriptor()
}
func (ExecReq_CachePolicy) Type() protoreflect.EnumType {
return &file_api_goma_data_proto_enumTypes[3]
}
func (x ExecReq_CachePolicy) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ExecReq_CachePolicy) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ExecReq_CachePolicy(num)
return nil
}
// Deprecated: Use ExecReq_CachePolicy.Descriptor instead.
func (ExecReq_CachePolicy) EnumDescriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{7, 0}
}
type ExecResp_ExecError int32
const (
ExecResp_OK ExecResp_ExecError = 0
ExecResp_BAD_REQUEST ExecResp_ExecError = -1 // Non retryable error.
)
// Enum value maps for ExecResp_ExecError.
var (
ExecResp_ExecError_name = map[int32]string{
0: "OK",
-1: "BAD_REQUEST",
}
ExecResp_ExecError_value = map[string]int32{
"OK": 0,
"BAD_REQUEST": -1,
}
)
func (x ExecResp_ExecError) Enum() *ExecResp_ExecError {
p := new(ExecResp_ExecError)
*p = x
return p
}
func (x ExecResp_ExecError) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExecResp_ExecError) Descriptor() protoreflect.EnumDescriptor {
return file_api_goma_data_proto_enumTypes[4].Descriptor()
}
func (ExecResp_ExecError) Type() protoreflect.EnumType {
return &file_api_goma_data_proto_enumTypes[4]
}
func (x ExecResp_ExecError) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ExecResp_ExecError) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ExecResp_ExecError(num)
return nil
}
// Deprecated: Use ExecResp_ExecError.Descriptor instead.
func (ExecResp_ExecError) EnumDescriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{9, 0}
}
// Specifies the reason of ExecError::BAD_REQUEST.
type ExecResp_BadRequestReasonCode int32
const (
// The reason is unknown (or not BAD_REQUEST)
ExecResp_UNKNOWN ExecResp_BadRequestReasonCode = 0
// The request contains unsupported compiler flags.
ExecResp_UNSUPPORTED_COMPILER_FLAGS ExecResp_BadRequestReasonCode = 1
)
// Enum value maps for ExecResp_BadRequestReasonCode.
var (
ExecResp_BadRequestReasonCode_name = map[int32]string{
0: "UNKNOWN",
1: "UNSUPPORTED_COMPILER_FLAGS",
}
ExecResp_BadRequestReasonCode_value = map[string]int32{
"UNKNOWN": 0,
"UNSUPPORTED_COMPILER_FLAGS": 1,
}
)
func (x ExecResp_BadRequestReasonCode) Enum() *ExecResp_BadRequestReasonCode {
p := new(ExecResp_BadRequestReasonCode)
*p = x
return p
}
func (x ExecResp_BadRequestReasonCode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExecResp_BadRequestReasonCode) Descriptor() protoreflect.EnumDescriptor {
return file_api_goma_data_proto_enumTypes[5].Descriptor()
}
func (ExecResp_BadRequestReasonCode) Type() protoreflect.EnumType {
return &file_api_goma_data_proto_enumTypes[5]
}
func (x ExecResp_BadRequestReasonCode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ExecResp_BadRequestReasonCode) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ExecResp_BadRequestReasonCode(num)
return nil
}
// Deprecated: Use ExecResp_BadRequestReasonCode.Descriptor instead.
func (ExecResp_BadRequestReasonCode) EnumDescriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{9, 1}
}
type ExecResp_CacheSource int32
const (
ExecResp_NO_CACHE ExecResp_CacheSource = 0
ExecResp_MEM_CACHE ExecResp_CacheSource = 1
ExecResp_STORAGE_CACHE ExecResp_CacheSource = 2
ExecResp_LOCAL_OUTPUT_CACHE ExecResp_CacheSource = 3
)
// Enum value maps for ExecResp_CacheSource.
var (
ExecResp_CacheSource_name = map[int32]string{
0: "NO_CACHE",
1: "MEM_CACHE",
2: "STORAGE_CACHE",
3: "LOCAL_OUTPUT_CACHE",
}
ExecResp_CacheSource_value = map[string]int32{
"NO_CACHE": 0,
"MEM_CACHE": 1,
"STORAGE_CACHE": 2,
"LOCAL_OUTPUT_CACHE": 3,
}
)
func (x ExecResp_CacheSource) Enum() *ExecResp_CacheSource {
p := new(ExecResp_CacheSource)
*p = x
return p
}
func (x ExecResp_CacheSource) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExecResp_CacheSource) Descriptor() protoreflect.EnumDescriptor {
return file_api_goma_data_proto_enumTypes[6].Descriptor()
}
func (ExecResp_CacheSource) Type() protoreflect.EnumType {
return &file_api_goma_data_proto_enumTypes[6]
}
func (x ExecResp_CacheSource) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ExecResp_CacheSource) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ExecResp_CacheSource(num)
return nil
}
// Deprecated: Use ExecResp_CacheSource.Descriptor instead.
func (ExecResp_CacheSource) EnumDescriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{9, 2}
}
// hash_key = sha256(serialized FileBlob)
//
// for small file (< 2MB) embedded
// blob_type=FILE, !has_offset(), has_content()
// has_file_size(), hash_key_size() == 0
//
// for large file
// blob_type=FILE_META, !has_offset(), !has_content()
// has_file_size(), hash_key_size() > 0
// for each hash_key(i)
// blob_type=FILE_CHUNK, has_offset(), has_content(),
// has_file_size(), hash_key_size() == 0
//
// for small file (< 2MB), stored as blob_type=FILE in file server with
// key=hash_key[0]
// blob_type=FILE_REF, !hash_offset(), !has_content()
// has_file_size(), hash_key_size() == 1
type FileBlob struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlobType *FileBlob_BlobType `protobuf:"varint,1,req,name=blob_type,json=blobType,enum=devtools_goma.FileBlob_BlobType" json:"blob_type,omitempty"`
// for blob_type=FILE_CHUNK
Offset *int64 `protobuf:"varint,10,opt,name=offset" json:"offset,omitempty"`
// for blob_type=FILE or FILE_CHUNK
Content []byte `protobuf:"bytes,11,opt,name=content" json:"content,omitempty"`
// for all blob_types
FileSize *int64 `protobuf:"varint,20,opt,name=file_size,json=fileSize" json:"file_size,omitempty"`
// for blob_type=FILE_META. hash_key is FileBlob hash of FILE_CHUNK.
HashKey []string `protobuf:"bytes,21,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"`
}
func (x *FileBlob) Reset() {
*x = FileBlob{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileBlob) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileBlob) ProtoMessage() {}
func (x *FileBlob) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FileBlob.ProtoReflect.Descriptor instead.
func (*FileBlob) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{0}
}
func (x *FileBlob) GetBlobType() FileBlob_BlobType {
if x != nil && x.BlobType != nil {
return *x.BlobType
}
return FileBlob_FILE_UNSPECIFIED
}
func (x *FileBlob) GetOffset() int64 {
if x != nil && x.Offset != nil {
return *x.Offset
}
return 0
}
func (x *FileBlob) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
func (x *FileBlob) GetFileSize() int64 {
if x != nil && x.FileSize != nil {
return *x.FileSize
}
return 0
}
func (x *FileBlob) GetHashKey() []string {
if x != nil {
return x.HashKey
}
return nil
}
// Goma backend selects compiler with CommandSpec.
// NEXT ID TO USE: 14
type CommandSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // "gcc", "g++", "cl.exe", etc, without
// path, version number and architecture.
Version *string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"` // "4.4.3[Ubuntu 4.4.3-4ubuntu5]"
Target *string `protobuf:"bytes,3,opt,name=target" json:"target,omitempty"` // "x86_64-linux-gnu
// Binary size of the command.
// Necessary if toolchain is sent to the server.
// TODO: Now that we have ToolchainSpec, this is not necessary.
Size *int64 `protobuf:"varint,13,opt,name=size" json:"size,omitempty"`
// The followings will be used to request more specific version of
// command, populated by compiler_proxy.
BinaryHash []byte `protobuf:"bytes,4,opt,name=binary_hash,json=binaryHash" json:"binary_hash,omitempty"` // to require exact the same binary.
// A list of alternative hashes. This field will be used when
// multiple binaries can be considered the same. For example, linux
// android gcc will be used even if a user is using goma from
// mac. For such cases, we should fill this field with binary hash
// of mac gcc.
EquivalentHash [][]byte `protobuf:"bytes,11,rep,name=equivalent_hash,json=equivalentHash" json:"equivalent_hash,omitempty"`
DetailedInfo *string `protobuf:"bytes,5,opt,name=detailed_info,json=detailedInfo" json:"detailed_info,omitempty"` // output of "gcc -v"
// Tell compiler_proxy what the path to local 'gcc' (not goma gcc)
// is, populated by gomacc.cc and consumed by compiler_proxy
LocalCompilerPath *string `protobuf:"bytes,6,opt,name=local_compiler_path,json=localCompilerPath" json:"local_compiler_path,omitempty"`
// Compiler system include paths (sent from compiler_proxy).
// Note that system include paths can be a relative path from cwd.
// For Windows NaCl, it could also be a relative path from toolchain root.
SystemIncludePath []string `protobuf:"bytes,7,rep,name=system_include_path,json=systemIncludePath" json:"system_include_path,omitempty"`
CxxSystemIncludePath []string `protobuf:"bytes,8,rep,name=cxx_system_include_path,json=cxxSystemIncludePath" json:"cxx_system_include_path,omitempty"`
SystemFrameworkPath []string `protobuf:"bytes,9,rep,name=system_framework_path,json=systemFrameworkPath" json:"system_framework_path,omitempty"`
// Compiler system library paths
SystemLibraryPath []string `protobuf:"bytes,12,rep,name=system_library_path,json=systemLibraryPath" json:"system_library_path,omitempty"`
// An optional label of this command for logging/monitoring purpose.
Comment *string `protobuf:"bytes,10,opt,name=comment" json:"comment,omitempty"`
}
func (x *CommandSpec) Reset() {
*x = CommandSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommandSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommandSpec) ProtoMessage() {}
func (x *CommandSpec) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommandSpec.ProtoReflect.Descriptor instead.
func (*CommandSpec) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{1}
}
func (x *CommandSpec) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *CommandSpec) GetVersion() string {
if x != nil && x.Version != nil {
return *x.Version
}
return ""
}
func (x *CommandSpec) GetTarget() string {
if x != nil && x.Target != nil {
return *x.Target
}
return ""
}
func (x *CommandSpec) GetSize() int64 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *CommandSpec) GetBinaryHash() []byte {
if x != nil {
return x.BinaryHash
}
return nil
}
func (x *CommandSpec) GetEquivalentHash() [][]byte {
if x != nil {
return x.EquivalentHash
}
return nil
}
func (x *CommandSpec) GetDetailedInfo() string {
if x != nil && x.DetailedInfo != nil {
return *x.DetailedInfo
}
return ""
}
func (x *CommandSpec) GetLocalCompilerPath() string {
if x != nil && x.LocalCompilerPath != nil {
return *x.LocalCompilerPath
}
return ""
}
func (x *CommandSpec) GetSystemIncludePath() []string {
if x != nil {
return x.SystemIncludePath
}
return nil
}
func (x *CommandSpec) GetCxxSystemIncludePath() []string {
if x != nil {
return x.CxxSystemIncludePath
}
return nil
}
func (x *CommandSpec) GetSystemFrameworkPath() []string {
if x != nil {
return x.SystemFrameworkPath
}
return nil
}
func (x *CommandSpec) GetSystemLibraryPath() []string {
if x != nil {
return x.SystemLibraryPath
}
return nil
}
func (x *CommandSpec) GetComment() string {
if x != nil && x.Comment != nil {
return *x.Comment
}
return ""
}
type SubprogramSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// full path (in client filesystem)
// or basename (in result when default subprogram is used).
Path *string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
BinaryHash *string `protobuf:"bytes,2,opt,name=binary_hash,json=binaryHash" json:"binary_hash,omitempty"`
// Binary size of the subprogram.
Size *int64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
}
func (x *SubprogramSpec) Reset() {
*x = SubprogramSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubprogramSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubprogramSpec) ProtoMessage() {}
func (x *SubprogramSpec) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubprogramSpec.ProtoReflect.Descriptor instead.
func (*SubprogramSpec) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{2}
}
func (x *SubprogramSpec) GetPath() string {
if x != nil && x.Path != nil {
return *x.Path
}
return ""
}
func (x *SubprogramSpec) GetBinaryHash() string {
if x != nil && x.BinaryHash != nil {
return *x.BinaryHash
}
return ""
}
func (x *SubprogramSpec) GetSize() int64 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
// Experimental.
// Specifies toolchain specification.
// This spec is necessary only if toolchain is also uploaded.
type ToolchainSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// path to toolchain. Relative path from ExecReq::cwd or Absolute path.
Path *string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
// SHA256 hash of the toolchain.
Hash *string `protobuf:"bytes,2,opt,name=hash" json:"hash,omitempty"`
// file size of toolchain (in bytes).
Size *int64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
// true if the toolchain has 'x' bit.
IsExecutable *bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable" json:"is_executable,omitempty"`
// If this spec is a symlink, set this path.
// hash, size, and is_executable should be empty in this case.
// If this spec is not a symlink, this should be empty.
SymlinkPath *string `protobuf:"bytes,5,opt,name=symlink_path,json=symlinkPath" json:"symlink_path,omitempty"`
}
func (x *ToolchainSpec) Reset() {
*x = ToolchainSpec{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ToolchainSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ToolchainSpec) ProtoMessage() {}
func (x *ToolchainSpec) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ToolchainSpec.ProtoReflect.Descriptor instead.
func (*ToolchainSpec) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{3}
}
func (x *ToolchainSpec) GetPath() string {
if x != nil && x.Path != nil {
return *x.Path
}
return ""
}
func (x *ToolchainSpec) GetHash() string {
if x != nil && x.Hash != nil {
return *x.Hash
}
return ""
}
func (x *ToolchainSpec) GetSize() int64 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *ToolchainSpec) GetIsExecutable() bool {
if x != nil && x.IsExecutable != nil {
return *x.IsExecutable
}
return false
}
func (x *ToolchainSpec) GetSymlinkPath() string {
if x != nil && x.SymlinkPath != nil {
return *x.SymlinkPath
}
return ""
}
type ExecResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ExitStatus *int32 `protobuf:"varint,1,req,name=exit_status,json=exitStatus,def=-1" json:"exit_status,omitempty"`
StdoutBuffer []byte `protobuf:"bytes,2,opt,name=stdout_buffer,json=stdoutBuffer" json:"stdout_buffer,omitempty"`
StderrBuffer []byte `protobuf:"bytes,3,opt,name=stderr_buffer,json=stderrBuffer" json:"stderr_buffer,omitempty"`
CommandSpec *CommandSpec `protobuf:"bytes,4,opt,name=command_spec,json=commandSpec" json:"command_spec,omitempty"`
// subprograms that were used in compilation.
Subprogram []*SubprogramSpec `protobuf:"bytes,5,rep,name=subprogram" json:"subprogram,omitempty"`
Output []*ExecResult_Output `protobuf:"group,10,rep,name=Output,json=output" json:"output,omitempty"`
}
// Default values for ExecResult fields.
const (
Default_ExecResult_ExitStatus = int32(-1)
)
func (x *ExecResult) Reset() {
*x = ExecResult{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecResult) ProtoMessage() {}
func (x *ExecResult) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecResult.ProtoReflect.Descriptor instead.
func (*ExecResult) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{4}
}
func (x *ExecResult) GetExitStatus() int32 {
if x != nil && x.ExitStatus != nil {
return *x.ExitStatus
}
return Default_ExecResult_ExitStatus
}
func (x *ExecResult) GetStdoutBuffer() []byte {
if x != nil {
return x.StdoutBuffer
}
return nil
}
func (x *ExecResult) GetStderrBuffer() []byte {
if x != nil {
return x.StderrBuffer
}
return nil
}
func (x *ExecResult) GetCommandSpec() *CommandSpec {
if x != nil {
return x.CommandSpec
}
return nil
}
func (x *ExecResult) GetSubprogram() []*SubprogramSpec {
if x != nil {
return x.Subprogram
}
return nil
}
func (x *ExecResult) GetOutput() []*ExecResult_Output {
if x != nil {
return x.Output
}
return nil
}
// NEXT ID TO USE: 12
type RequesterInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Addr *string `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"` // requester's ip addr.
Username *string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"` // requester's user name
// Identifier for each compiler_proxy request.
CompilerProxyId *string `protobuf:"bytes,3,opt,name=compiler_proxy_id,json=compilerProxyId" json:"compiler_proxy_id,omitempty"`
// Can't use [default=CURRENT_VERSION] since GomaApiVersion is not int32.
ApiVersion *int32 `protobuf:"varint,4,opt,name=api_version,json=apiVersion,def=2" json:"api_version,omitempty"`
Pid *int32 `protobuf:"varint,5,opt,name=pid" json:"pid,omitempty"`
// # of retry. 0 is first call.
Retry *int32 `protobuf:"varint,7,opt,name=retry" json:"retry,omitempty"`
GomaRevision *string `protobuf:"bytes,8,opt,name=goma_revision,json=gomaRevision" json:"goma_revision,omitempty"`
// Unique ID per build.
// Client should set unique identifier of the build in this field.
//
// Note to LUCI users: since there could be multiple compile steps for
// recipes, you cannot use buildbucket build_id here.
BuildId *string `protobuf:"bytes,9,opt,name=build_id,json=buildId" json:"build_id,omitempty"`
// Requester's dimensions. Each dimension is a "<key>:<value>" pair.
//
// `dimensions` can define the constraint of the remote machine.
// e.g. "os":"linux".
//
// Inspired from swarming bot dimensions.
// https://chromium.googlesource.com/infra/luci/luci-py/+/effbcfcafa96e0840189a98ac485586ba2c2ceb6/appengine/swarming/proto/config/bots.proto
Dimensions []string `protobuf:"bytes,10,rep,name=dimensions" json:"dimensions,omitempty"`
// Requester's path style.
PathStyle *RequesterInfo_PathStyle `protobuf:"varint,11,opt,name=path_style,json=pathStyle,enum=devtools_goma.RequesterInfo_PathStyle" json:"path_style,omitempty"`
}
// Default values for RequesterInfo fields.
const (
Default_RequesterInfo_ApiVersion = int32(2)
)
func (x *RequesterInfo) Reset() {
*x = RequesterInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequesterInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequesterInfo) ProtoMessage() {}
func (x *RequesterInfo) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequesterInfo.ProtoReflect.Descriptor instead.
func (*RequesterInfo) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{5}
}
func (x *RequesterInfo) GetAddr() string {
if x != nil && x.Addr != nil {
return *x.Addr
}
return ""
}
func (x *RequesterInfo) GetUsername() string {
if x != nil && x.Username != nil {
return *x.Username
}
return ""
}
func (x *RequesterInfo) GetCompilerProxyId() string {
if x != nil && x.CompilerProxyId != nil {
return *x.CompilerProxyId
}
return ""
}
func (x *RequesterInfo) GetApiVersion() int32 {
if x != nil && x.ApiVersion != nil {
return *x.ApiVersion
}
return Default_RequesterInfo_ApiVersion
}
func (x *RequesterInfo) GetPid() int32 {
if x != nil && x.Pid != nil {
return *x.Pid
}
return 0
}
func (x *RequesterInfo) GetRetry() int32 {
if x != nil && x.Retry != nil {
return *x.Retry
}
return 0
}
func (x *RequesterInfo) GetGomaRevision() string {
if x != nil && x.GomaRevision != nil {
return *x.GomaRevision
}
return ""
}
func (x *RequesterInfo) GetBuildId() string {
if x != nil && x.BuildId != nil {
return *x.BuildId
}
return ""
}
func (x *RequesterInfo) GetDimensions() []string {
if x != nil {
return x.Dimensions
}
return nil
}
func (x *RequesterInfo) GetPathStyle() RequesterInfo_PathStyle {
if x != nil && x.PathStyle != nil {
return *x.PathStyle
}
return RequesterInfo_UNKNOWN_STYLE
}
type RequesterEnv struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GomaccPath *string `protobuf:"bytes,41,opt,name=gomacc_path,json=gomaccPath" json:"gomacc_path,omitempty"` // full pathname of gomacc.
LocalPath *string `protobuf:"bytes,42,opt,name=local_path,json=localPath" json:"local_path,omitempty"` // user's PATH.
Umask *int32 `protobuf:"varint,43,opt,name=umask" json:"umask,omitempty"` // user's umask.
VerifyOutput *bool `protobuf:"varint,50,opt,name=verify_output,json=verifyOutput" json:"verify_output,omitempty"` // GOMA_VERIFY_OUTPUT
UseLocal *bool `protobuf:"varint,51,opt,name=use_local,json=useLocal" json:"use_local,omitempty"` // GOMA_USE_LOCAL
Fallback *bool `protobuf:"varint,52,opt,name=fallback" json:"fallback,omitempty"` // GOMA_FALLBACK
VerifyCommand *string `protobuf:"bytes,53,opt,name=verify_command,json=verifyCommand" json:"verify_command,omitempty"` // GOMA_VERIFY_COMMAND
FallbackInputFile []string `protobuf:"bytes,60,rep,name=fallback_input_file,json=fallbackInputFile" json:"fallback_input_file,omitempty"` // GOMA_FALLBACK_INPUT_FILES
}
func (x *RequesterEnv) Reset() {
*x = RequesterEnv{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequesterEnv) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequesterEnv) ProtoMessage() {}
func (x *RequesterEnv) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequesterEnv.ProtoReflect.Descriptor instead.
func (*RequesterEnv) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{6}
}
func (x *RequesterEnv) GetGomaccPath() string {
if x != nil && x.GomaccPath != nil {
return *x.GomaccPath
}
return ""
}
func (x *RequesterEnv) GetLocalPath() string {
if x != nil && x.LocalPath != nil {
return *x.LocalPath
}
return ""
}
func (x *RequesterEnv) GetUmask() int32 {
if x != nil && x.Umask != nil {
return *x.Umask
}
return 0
}
func (x *RequesterEnv) GetVerifyOutput() bool {
if x != nil && x.VerifyOutput != nil {
return *x.VerifyOutput
}
return false
}
func (x *RequesterEnv) GetUseLocal() bool {
if x != nil && x.UseLocal != nil {
return *x.UseLocal
}
return false
}
func (x *RequesterEnv) GetFallback() bool {
if x != nil && x.Fallback != nil {
return *x.Fallback
}
return false
}
func (x *RequesterEnv) GetVerifyCommand() string {
if x != nil && x.VerifyCommand != nil {
return *x.VerifyCommand
}
return ""
}
func (x *RequesterEnv) GetFallbackInputFile() []string {
if x != nil {
return x.FallbackInputFile
}
return nil
}
type ExecReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CommandSpec *CommandSpec `protobuf:"bytes,1,req,name=command_spec,json=commandSpec" json:"command_spec,omitempty"`
Arg []string `protobuf:"bytes,2,rep,name=arg" json:"arg,omitempty"`
Env []string `protobuf:"bytes,3,rep,name=env" json:"env,omitempty"`
Cwd *string `protobuf:"bytes,4,opt,name=cwd" json:"cwd,omitempty"`
Input []*ExecReq_Input `protobuf:"group,10,rep,name=Input,json=input" json:"input,omitempty"`
// The @ notations in arg should be expanded and the result should
// be stored in this field for javac and VC++.
ExpandedArg []string `protobuf:"bytes,14,rep,name=expanded_arg,json=expandedArg" json:"expanded_arg,omitempty"`
// Subprograms that would be used in client. By setting this,
// client could request backend to use the same subprograms.
//
Subprogram []*SubprogramSpec `protobuf:"bytes,15,rep,name=subprogram" json:"subprogram,omitempty"`
RequesterInfo *RequesterInfo `protobuf:"bytes,30,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"`
CachePolicy *ExecReq_CachePolicy `protobuf:"varint,31,opt,name=cache_policy,json=cachePolicy,enum=devtools_goma.ExecReq_CachePolicy,def=1" json:"cache_policy,omitempty"`
// This is passed from gomacc to compiler proxy, and compiler proxy
// clears it before sending ExecReq to goma service.
RequesterEnv *RequesterEnv `protobuf:"bytes,32,opt,name=requester_env,json=requesterEnv" json:"requester_env,omitempty"`
// When hermetic_mode is true, restrict backend use the same compiler
// as local version. Backend should use a compiler package
// that has the same version string and the same binary_hash only.
// If there is no such compilers in backend, it should not run any other
// compiler but returns error: ExecResp contains error messages,
// no command spec and empty missing_input. It isn't rpc error.
HermeticMode *bool `protobuf:"varint,33,opt,name=hermetic_mode,json=hermeticMode" json:"hermetic_mode,omitempty"`
// Requests that the call is traced.
Trace *bool `protobuf:"varint,34,opt,name=trace" json:"trace,omitempty"`
// Expected output files and dirs, which are calculated in CompilerFlags.
// Goma server will return these files and dirs as output.
//
// If files which are not specified here are generated in the server,
// those files will be ignored (so, we can ignore temporary cache file or
// telemetry information).
//
// If files which are specified here are not generated in the server,
// the server just ignores such files. If the specified files do not look
// generated by a compiler, Goma server can return BAD_REQUEST.
//
// If output files and dirs are not specified, the server can calculate
// expected output files and dirs by itself (if possible).
//
// These path must be in client-format.
// Use '/' on Linux and Mac, and use '\\' for Windows.
ExpectedOutputFiles []string `protobuf:"bytes,35,rep,name=expected_output_files,json=expectedOutputFiles" json:"expected_output_files,omitempty"`
ExpectedOutputDirs []string `protobuf:"bytes,36,rep,name=expected_output_dirs,json=expectedOutputDirs" json:"expected_output_dirs,omitempty"`
// EXPERIMENTAL.
// True if ExecReq contains toolchains as input.
ToolchainIncluded *bool `protobuf:"varint,37,opt,name=toolchain_included,json=toolchainIncluded" json:"toolchain_included,omitempty"`
// If ExecReq contains toolchains as input, set toolchain spec.
// toolchain spec should contain all compiler related files except system
// shared objects which are expected to exist in the server side. For
// example, in `clang` case, recent `clang` binary usually contains
// everything, so it is OK to have just `clang`. In `pnacl-clang` case, it
// needs libLLVM.so, and since it is a compiler wrapper, it needs related
// python scripts etc.
// Currently, if `dimensions` is set correctly, we don't need to add
// shared objects in /lib or /usr/lib.
//
// toolchain_specs should contain compiler-driver (which is set in
// command_spec) and subprograms, too.
ToolchainSpecs []*ToolchainSpec `protobuf:"bytes,38,rep,name=toolchain_specs,json=toolchainSpecs" json:"toolchain_specs,omitempty"`
}
// Default values for ExecReq fields.
const (
Default_ExecReq_CachePolicy = ExecReq_LOOKUP_AND_STORE
)
func (x *ExecReq) Reset() {
*x = ExecReq{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecReq) ProtoMessage() {}
func (x *ExecReq) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecReq.ProtoReflect.Descriptor instead.
func (*ExecReq) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{7}
}
func (x *ExecReq) GetCommandSpec() *CommandSpec {
if x != nil {
return x.CommandSpec
}
return nil
}
func (x *ExecReq) GetArg() []string {
if x != nil {
return x.Arg
}
return nil
}
func (x *ExecReq) GetEnv() []string {
if x != nil {
return x.Env
}
return nil
}
func (x *ExecReq) GetCwd() string {
if x != nil && x.Cwd != nil {
return *x.Cwd
}
return ""
}
func (x *ExecReq) GetInput() []*ExecReq_Input {
if x != nil {
return x.Input
}
return nil
}
func (x *ExecReq) GetExpandedArg() []string {
if x != nil {
return x.ExpandedArg
}
return nil
}
func (x *ExecReq) GetSubprogram() []*SubprogramSpec {
if x != nil {
return x.Subprogram
}
return nil
}
func (x *ExecReq) GetRequesterInfo() *RequesterInfo {
if x != nil {
return x.RequesterInfo
}
return nil
}
func (x *ExecReq) GetCachePolicy() ExecReq_CachePolicy {
if x != nil && x.CachePolicy != nil {
return *x.CachePolicy
}
return Default_ExecReq_CachePolicy
}
func (x *ExecReq) GetRequesterEnv() *RequesterEnv {
if x != nil {
return x.RequesterEnv
}
return nil
}
func (x *ExecReq) GetHermeticMode() bool {
if x != nil && x.HermeticMode != nil {
return *x.HermeticMode
}
return false
}
func (x *ExecReq) GetTrace() bool {
if x != nil && x.Trace != nil {
return *x.Trace
}
return false
}
func (x *ExecReq) GetExpectedOutputFiles() []string {
if x != nil {
return x.ExpectedOutputFiles
}
return nil
}
func (x *ExecReq) GetExpectedOutputDirs() []string {
if x != nil {
return x.ExpectedOutputDirs
}
return nil
}
func (x *ExecReq) GetToolchainIncluded() bool {
if x != nil && x.ToolchainIncluded != nil {
return *x.ToolchainIncluded
}
return false
}
func (x *ExecReq) GetToolchainSpecs() []*ToolchainSpec {
if x != nil {
return x.ToolchainSpecs
}
return nil
}
// Stats of a single RBE execution. This is a subset of
// https://github.com/bazelbuild/remote-apis/blob/178b756a22d441d8d06873a70bcd0ef01d876467/build/bazel/remote/execution/v2/remote_execution.proto#L789-L819
type ExecutionStats struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// When the worker started executing the action command.
ExecutionStartTimestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=execution_start_timestamp,json=executionStartTimestamp" json:"execution_start_timestamp,omitempty"`
// When the worker completed executing the action command.
ExecutionCompletedTimestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=execution_completed_timestamp,json=executionCompletedTimestamp" json:"execution_completed_timestamp,omitempty"`
}
func (x *ExecutionStats) Reset() {
*x = ExecutionStats{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecutionStats) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecutionStats) ProtoMessage() {}
func (x *ExecutionStats) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecutionStats.ProtoReflect.Descriptor instead.
func (*ExecutionStats) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{8}
}
func (x *ExecutionStats) GetExecutionStartTimestamp() *timestamp.Timestamp {
if x != nil {
return x.ExecutionStartTimestamp
}
return nil
}
func (x *ExecutionStats) GetExecutionCompletedTimestamp() *timestamp.Timestamp {
if x != nil {
return x.ExecutionCompletedTimestamp
}
return nil
}
// NEXT ID TO USE: 82
type ExecResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *ExecResult `protobuf:"bytes,1,opt,name=result" json:"result,omitempty"`
Error *ExecResp_ExecError `protobuf:"varint,2,opt,name=error,enum=devtools_goma.ExecResp_ExecError,def=0" json:"error,omitempty"`
BadRequestReasonCode *ExecResp_BadRequestReasonCode `protobuf:"varint,3,opt,name=bad_request_reason_code,json=badRequestReasonCode,enum=devtools_goma.ExecResp_BadRequestReasonCode,def=0" json:"bad_request_reason_code,omitempty"`
MissingInput []string `protobuf:"bytes,11,rep,name=missing_input,json=missingInput" json:"missing_input,omitempty"` // filename
MissingReason []string `protobuf:"bytes,15,rep,name=missing_reason,json=missingReason" json:"missing_reason,omitempty"` // reasons of missing_input.
ErrorMessage []string `protobuf:"bytes,12,rep,name=error_message,json=errorMessage" json:"error_message,omitempty"`
ForceStoreOutputFileForUnmatchedHash *bool `protobuf:"varint,13,opt,name=force_store_output_file_for_unmatched_hash,json=forceStoreOutputFileForUnmatchedHash,def=0" json:"force_store_output_file_for_unmatched_hash,omitempty"`
ForceStoreOutputFileForUnmatchedVersion *bool `protobuf:"varint,14,opt,name=force_store_output_file_for_unmatched_version,json=forceStoreOutputFileForUnmatchedVersion,def=0" json:"force_store_output_file_for_unmatched_version,omitempty"`
ForceStoreOutputFileForUnmatchedSubprograms *bool `protobuf:"varint,16,opt,name=force_store_output_file_for_unmatched_subprograms,json=forceStoreOutputFileForUnmatchedSubprograms,def=0" json:"force_store_output_file_for_unmatched_subprograms,omitempty"`
// for trace
CacheKey *string `protobuf:"bytes,21,opt,name=cache_key,json=cacheKey" json:"cache_key,omitempty"` // result cache_key
CacheHit *ExecResp_CacheSource `protobuf:"varint,27,opt,name=cache_hit,json=cacheHit,enum=devtools_goma.ExecResp_CacheSource" json:"cache_hit,omitempty"`
// requester's compiler_proxy_id.
// for cached resp, it is the original requester, not current requester.
RequesterCompilerProxyId *string `protobuf:"bytes,26,opt,name=requester_compiler_proxy_id,json=requesterCompilerProxyId" json:"requester_compiler_proxy_id,omitempty"`
// Time at compiler_proxy
CompilerProxyTime *float64 `protobuf:"fixed64,50,opt,name=compiler_proxy_time,json=compilerProxyTime" json:"compiler_proxy_time,omitempty"`
CompilerProxyIncludePreprocTime *float64 `protobuf:"fixed64,51,opt,name=compiler_proxy_include_preproc_time,json=compilerProxyIncludePreprocTime" json:"compiler_proxy_include_preproc_time,omitempty"`
CompilerProxyIncludeFileloadTime *float64 `protobuf:"fixed64,52,opt,name=compiler_proxy_include_fileload_time,json=compilerProxyIncludeFileloadTime" json:"compiler_proxy_include_fileload_time,omitempty"`
CompilerProxyRpcCallTime *float64 `protobuf:"fixed64,53,opt,name=compiler_proxy_rpc_call_time,json=compilerProxyRpcCallTime" json:"compiler_proxy_rpc_call_time,omitempty"`
CompilerProxyFileResponseTime *float64 `protobuf:"fixed64,54,opt,name=compiler_proxy_file_response_time,json=compilerProxyFileResponseTime" json:"compiler_proxy_file_response_time,omitempty"`
CompilerProxyRpcBuildTime *float64 `protobuf:"fixed64,55,opt,name=compiler_proxy_rpc_build_time,json=compilerProxyRpcBuildTime" json:"compiler_proxy_rpc_build_time,omitempty"`
CompilerProxyRpcSendTime *float64 `protobuf:"fixed64,56,opt,name=compiler_proxy_rpc_send_time,json=compilerProxyRpcSendTime" json:"compiler_proxy_rpc_send_time,omitempty"`
CompilerProxyRpcWaitTime *float64 `protobuf:"fixed64,57,opt,name=compiler_proxy_rpc_wait_time,json=compilerProxyRpcWaitTime" json:"compiler_proxy_rpc_wait_time,omitempty"`
CompilerProxyRpcRecvTime *float64 `protobuf:"fixed64,58,opt,name=compiler_proxy_rpc_recv_time,json=compilerProxyRpcRecvTime" json:"compiler_proxy_rpc_recv_time,omitempty"`
CompilerProxyRpcParseTime *float64 `protobuf:"fixed64,59,opt,name=compiler_proxy_rpc_parse_time,json=compilerProxyRpcParseTime" json:"compiler_proxy_rpc_parse_time,omitempty"`
CompilerProxyLocalPendingTime *float64 `protobuf:"fixed64,60,opt,name=compiler_proxy_local_pending_time,json=compilerProxyLocalPendingTime" json:"compiler_proxy_local_pending_time,omitempty"`
CompilerProxyLocalRunTime *float64 `protobuf:"fixed64,61,opt,name=compiler_proxy_local_run_time,json=compilerProxyLocalRunTime" json:"compiler_proxy_local_run_time,omitempty"`
CompilerProxyGomaFinished *bool `protobuf:"varint,70,opt,name=compiler_proxy_goma_finished,json=compilerProxyGomaFinished" json:"compiler_proxy_goma_finished,omitempty"`
CompilerProxyGomaCacheHit *bool `protobuf:"varint,71,opt,name=compiler_proxy_goma_cache_hit,json=compilerProxyGomaCacheHit" json:"compiler_proxy_goma_cache_hit,omitempty"`
CompilerProxyGomaAborted *bool `protobuf:"varint,72,opt,name=compiler_proxy_goma_aborted,json=compilerProxyGomaAborted" json:"compiler_proxy_goma_aborted,omitempty"`
CompilerProxyGomaError *bool `protobuf:"varint,73,opt,name=compiler_proxy_goma_error,json=compilerProxyGomaError" json:"compiler_proxy_goma_error,omitempty"`
CompilerProxyLocalFinished *bool `protobuf:"varint,74,opt,name=compiler_proxy_local_finished,json=compilerProxyLocalFinished" json:"compiler_proxy_local_finished,omitempty"`
CompilerProxyLocalRun *bool `protobuf:"varint,75,opt,name=compiler_proxy_local_run,json=compilerProxyLocalRun" json:"compiler_proxy_local_run,omitempty"`
CompilerProxyLocalKilled *bool `protobuf:"varint,76,opt,name=compiler_proxy_local_killed,json=compilerProxyLocalKilled" json:"compiler_proxy_local_killed,omitempty"`
CompilerProxyExecRequestRetry *int32 `protobuf:"varint,80,opt,name=compiler_proxy_exec_request_retry,json=compilerProxyExecRequestRetry" json:"compiler_proxy_exec_request_retry,omitempty"`
// Execution stats collected from RBE
ExecutionStats *ExecutionStats `protobuf:"bytes,81,opt,name=execution_stats,json=executionStats" json:"execution_stats,omitempty"`
}
// Default values for ExecResp fields.
const (
Default_ExecResp_Error = ExecResp_OK
Default_ExecResp_BadRequestReasonCode = ExecResp_UNKNOWN
Default_ExecResp_ForceStoreOutputFileForUnmatchedHash = bool(false)
Default_ExecResp_ForceStoreOutputFileForUnmatchedVersion = bool(false)
Default_ExecResp_ForceStoreOutputFileForUnmatchedSubprograms = bool(false)
)
func (x *ExecResp) Reset() {
*x = ExecResp{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecResp) ProtoMessage() {}
func (x *ExecResp) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecResp.ProtoReflect.Descriptor instead.
func (*ExecResp) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{9}
}
func (x *ExecResp) GetResult() *ExecResult {
if x != nil {
return x.Result
}
return nil
}
func (x *ExecResp) GetError() ExecResp_ExecError {
if x != nil && x.Error != nil {
return *x.Error
}
return Default_ExecResp_Error
}
func (x *ExecResp) GetBadRequestReasonCode() ExecResp_BadRequestReasonCode {
if x != nil && x.BadRequestReasonCode != nil {
return *x.BadRequestReasonCode
}
return Default_ExecResp_BadRequestReasonCode
}
func (x *ExecResp) GetMissingInput() []string {
if x != nil {
return x.MissingInput
}
return nil
}
func (x *ExecResp) GetMissingReason() []string {
if x != nil {
return x.MissingReason
}
return nil
}
func (x *ExecResp) GetErrorMessage() []string {
if x != nil {
return x.ErrorMessage
}
return nil
}
func (x *ExecResp) GetForceStoreOutputFileForUnmatchedHash() bool {
if x != nil && x.ForceStoreOutputFileForUnmatchedHash != nil {
return *x.ForceStoreOutputFileForUnmatchedHash
}
return Default_ExecResp_ForceStoreOutputFileForUnmatchedHash
}
func (x *ExecResp) GetForceStoreOutputFileForUnmatchedVersion() bool {
if x != nil && x.ForceStoreOutputFileForUnmatchedVersion != nil {
return *x.ForceStoreOutputFileForUnmatchedVersion
}
return Default_ExecResp_ForceStoreOutputFileForUnmatchedVersion
}
func (x *ExecResp) GetForceStoreOutputFileForUnmatchedSubprograms() bool {
if x != nil && x.ForceStoreOutputFileForUnmatchedSubprograms != nil {
return *x.ForceStoreOutputFileForUnmatchedSubprograms
}
return Default_ExecResp_ForceStoreOutputFileForUnmatchedSubprograms
}
func (x *ExecResp) GetCacheKey() string {
if x != nil && x.CacheKey != nil {
return *x.CacheKey
}
return ""
}
func (x *ExecResp) GetCacheHit() ExecResp_CacheSource {
if x != nil && x.CacheHit != nil {
return *x.CacheHit
}
return ExecResp_NO_CACHE
}
func (x *ExecResp) GetRequesterCompilerProxyId() string {
if x != nil && x.RequesterCompilerProxyId != nil {
return *x.RequesterCompilerProxyId
}
return ""
}
func (x *ExecResp) GetCompilerProxyTime() float64 {
if x != nil && x.CompilerProxyTime != nil {
return *x.CompilerProxyTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyIncludePreprocTime() float64 {
if x != nil && x.CompilerProxyIncludePreprocTime != nil {
return *x.CompilerProxyIncludePreprocTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyIncludeFileloadTime() float64 {
if x != nil && x.CompilerProxyIncludeFileloadTime != nil {
return *x.CompilerProxyIncludeFileloadTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyRpcCallTime() float64 {
if x != nil && x.CompilerProxyRpcCallTime != nil {
return *x.CompilerProxyRpcCallTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyFileResponseTime() float64 {
if x != nil && x.CompilerProxyFileResponseTime != nil {
return *x.CompilerProxyFileResponseTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyRpcBuildTime() float64 {
if x != nil && x.CompilerProxyRpcBuildTime != nil {
return *x.CompilerProxyRpcBuildTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyRpcSendTime() float64 {
if x != nil && x.CompilerProxyRpcSendTime != nil {
return *x.CompilerProxyRpcSendTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyRpcWaitTime() float64 {
if x != nil && x.CompilerProxyRpcWaitTime != nil {
return *x.CompilerProxyRpcWaitTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyRpcRecvTime() float64 {
if x != nil && x.CompilerProxyRpcRecvTime != nil {
return *x.CompilerProxyRpcRecvTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyRpcParseTime() float64 {
if x != nil && x.CompilerProxyRpcParseTime != nil {
return *x.CompilerProxyRpcParseTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyLocalPendingTime() float64 {
if x != nil && x.CompilerProxyLocalPendingTime != nil {
return *x.CompilerProxyLocalPendingTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyLocalRunTime() float64 {
if x != nil && x.CompilerProxyLocalRunTime != nil {
return *x.CompilerProxyLocalRunTime
}
return 0
}
func (x *ExecResp) GetCompilerProxyGomaFinished() bool {
if x != nil && x.CompilerProxyGomaFinished != nil {
return *x.CompilerProxyGomaFinished
}
return false
}
func (x *ExecResp) GetCompilerProxyGomaCacheHit() bool {
if x != nil && x.CompilerProxyGomaCacheHit != nil {
return *x.CompilerProxyGomaCacheHit
}
return false
}
func (x *ExecResp) GetCompilerProxyGomaAborted() bool {
if x != nil && x.CompilerProxyGomaAborted != nil {
return *x.CompilerProxyGomaAborted
}
return false
}
func (x *ExecResp) GetCompilerProxyGomaError() bool {
if x != nil && x.CompilerProxyGomaError != nil {
return *x.CompilerProxyGomaError
}
return false
}
func (x *ExecResp) GetCompilerProxyLocalFinished() bool {
if x != nil && x.CompilerProxyLocalFinished != nil {
return *x.CompilerProxyLocalFinished
}
return false
}
func (x *ExecResp) GetCompilerProxyLocalRun() bool {
if x != nil && x.CompilerProxyLocalRun != nil {
return *x.CompilerProxyLocalRun
}
return false
}
func (x *ExecResp) GetCompilerProxyLocalKilled() bool {
if x != nil && x.CompilerProxyLocalKilled != nil {
return *x.CompilerProxyLocalKilled
}
return false
}
func (x *ExecResp) GetCompilerProxyExecRequestRetry() int32 {
if x != nil && x.CompilerProxyExecRequestRetry != nil {
return *x.CompilerProxyExecRequestRetry
}
return 0
}
func (x *ExecResp) GetExecutionStats() *ExecutionStats {
if x != nil {
return x.ExecutionStats
}
return nil
}
type StoreFileReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Blob []*FileBlob `protobuf:"bytes,1,rep,name=blob" json:"blob,omitempty"`
RequesterInfo *RequesterInfo `protobuf:"bytes,10,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"`
}
func (x *StoreFileReq) Reset() {
*x = StoreFileReq{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StoreFileReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StoreFileReq) ProtoMessage() {}
func (x *StoreFileReq) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StoreFileReq.ProtoReflect.Descriptor instead.
func (*StoreFileReq) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{10}
}
func (x *StoreFileReq) GetBlob() []*FileBlob {
if x != nil {
return x.Blob
}
return nil
}
func (x *StoreFileReq) GetRequesterInfo() *RequesterInfo {
if x != nil {
return x.RequesterInfo
}
return nil
}
type StoreFileResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HashKey []string `protobuf:"bytes,1,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"` // sha256(blob) for success or "" for error
}
func (x *StoreFileResp) Reset() {
*x = StoreFileResp{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StoreFileResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StoreFileResp) ProtoMessage() {}
func (x *StoreFileResp) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StoreFileResp.ProtoReflect.Descriptor instead.
func (*StoreFileResp) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{11}
}
func (x *StoreFileResp) GetHashKey() []string {
if x != nil {
return x.HashKey
}
return nil
}
type LookupFileReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HashKey []string `protobuf:"bytes,1,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"`
RequesterInfo *RequesterInfo `protobuf:"bytes,10,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"`
}
func (x *LookupFileReq) Reset() {
*x = LookupFileReq{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LookupFileReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LookupFileReq) ProtoMessage() {}
func (x *LookupFileReq) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LookupFileReq.ProtoReflect.Descriptor instead.
func (*LookupFileReq) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{12}
}
func (x *LookupFileReq) GetHashKey() []string {
if x != nil {
return x.HashKey
}
return nil
}
func (x *LookupFileReq) GetRequesterInfo() *RequesterInfo {
if x != nil {
return x.RequesterInfo
}
return nil
}
type LookupFileResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Blob []*FileBlob `protobuf:"bytes,2,rep,name=blob" json:"blob,omitempty"`
}
func (x *LookupFileResp) Reset() {
*x = LookupFileResp{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LookupFileResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LookupFileResp) ProtoMessage() {}
func (x *LookupFileResp) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LookupFileResp.ProtoReflect.Descriptor instead.
func (*LookupFileResp) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{13}
}
func (x *LookupFileResp) GetBlob() []*FileBlob {
if x != nil {
return x.Blob
}
return nil
}
type EmptyMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *EmptyMessage) Reset() {
*x = EmptyMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EmptyMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EmptyMessage) ProtoMessage() {}
func (x *EmptyMessage) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EmptyMessage.ProtoReflect.Descriptor instead.
func (*EmptyMessage) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{14}
}
type HttpPortResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Port *int32 `protobuf:"varint,1,req,name=port" json:"port,omitempty"`
}
func (x *HttpPortResponse) Reset() {
*x = HttpPortResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HttpPortResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HttpPortResponse) ProtoMessage() {}
func (x *HttpPortResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HttpPortResponse.ProtoReflect.Descriptor instead.
func (*HttpPortResponse) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{15}
}
func (x *HttpPortResponse) GetPort() int32 {
if x != nil && x.Port != nil {
return *x.Port
}
return 0
}
type ExecResult_Output struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// TODO: We might want to normalize this path to relative path?
Filename *string `protobuf:"bytes,11,opt,name=filename" json:"filename,omitempty"` // relative to request cwd or full path
// if blob.blob_type=FILE_META, client need to request blob.hash_key() later
Blob *FileBlob `protobuf:"bytes,12,opt,name=blob" json:"blob,omitempty"`
IsExecutable *bool `protobuf:"varint,13,opt,name=is_executable,json=isExecutable,def=0" json:"is_executable,omitempty"`
}
// Default values for ExecResult_Output fields.
const (
Default_ExecResult_Output_IsExecutable = bool(false)
)
func (x *ExecResult_Output) Reset() {
*x = ExecResult_Output{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecResult_Output) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecResult_Output) ProtoMessage() {}
func (x *ExecResult_Output) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecResult_Output.ProtoReflect.Descriptor instead.
func (*ExecResult_Output) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{4, 0}
}
func (x *ExecResult_Output) GetFilename() string {
if x != nil && x.Filename != nil {
return *x.Filename
}
return ""
}
func (x *ExecResult_Output) GetBlob() *FileBlob {
if x != nil {
return x.Blob
}
return nil
}
func (x *ExecResult_Output) GetIsExecutable() bool {
if x != nil && x.IsExecutable != nil {
return *x.IsExecutable
}
return Default_ExecResult_Output_IsExecutable
}
type ExecReq_Input struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Filename *string `protobuf:"bytes,11,opt,name=filename" json:"filename,omitempty"` // relative to cwd or full path
HashKey *string `protobuf:"bytes,12,req,name=hash_key,json=hashKey" json:"hash_key,omitempty"`
Content *FileBlob `protobuf:"bytes,13,opt,name=content" json:"content,omitempty"`
}
func (x *ExecReq_Input) Reset() {
*x = ExecReq_Input{}
if protoimpl.UnsafeEnabled {
mi := &file_api_goma_data_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecReq_Input) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecReq_Input) ProtoMessage() {}
func (x *ExecReq_Input) ProtoReflect() protoreflect.Message {
mi := &file_api_goma_data_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecReq_Input.ProtoReflect.Descriptor instead.
func (*ExecReq_Input) Descriptor() ([]byte, []int) {
return file_api_goma_data_proto_rawDescGZIP(), []int{7, 0}
}
func (x *ExecReq_Input) GetFilename() string {
if x != nil && x.Filename != nil {
return *x.Filename
}
return ""
}
func (x *ExecReq_Input) GetHashKey() string {
if x != nil && x.HashKey != nil {
return *x.HashKey
}
return ""
}
func (x *ExecReq_Input) GetContent() *FileBlob {
if x != nil {
return x.Content
}
return nil
}
var File_api_goma_data_proto protoreflect.FileDescriptor
var file_api_goma_data_proto_rawDesc = []byte{
0x0a, 0x13, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f,
0x67, 0x6f, 0x6d, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x02, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c,
0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x2e, 0x42,
0x6c, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x54, 0x79, 0x70,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65,
0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x15, 0x20, 0x03,
0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x22, 0x57, 0x0a, 0x08, 0x42,
0x6c, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x49, 0x4c, 0x45, 0x5f,
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a,
0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x49, 0x4c, 0x45, 0x5f,
0x4d, 0x45, 0x54, 0x41, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43,
0x48, 0x55, 0x4e, 0x4b, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x52,
0x45, 0x46, 0x10, 0x05, 0x22, 0xeb, 0x03, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
0x7a, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f,
0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12,
0x27, 0x0a, 0x0f, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61,
0x73, 0x68, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61,
0x6c, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a,
0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f,
0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61,
0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a,
0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a,
0x17, 0x63, 0x78, 0x78, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14,
0x63, 0x78, 0x78, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x66,
0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20,
0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65,
0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x62,
0x72, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d,
0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x74, 0x22, 0x59, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d,
0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x61,
0x72, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62,
0x69, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x93, 0x01,
0x0a, 0x0d, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12,
0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69,
0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65,
0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x50,
0x61, 0x74, 0x68, 0x22, 0xb2, 0x03, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0a, 0x65, 0x78, 0x69,
0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x64, 0x6f, 0x75,
0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d,
0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x42, 0x75, 0x66, 0x66, 0x65,
0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x65,
0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53,
0x70, 0x65, 0x63, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63,
0x12, 0x3d, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x05,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f,
0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53,
0x70, 0x65, 0x63, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12,
0x38, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0a, 0x32,
0x20, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e,
0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75,
0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, 0x7d, 0x0a, 0x06, 0x4f, 0x75, 0x74,
0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x2b, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69,
0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x0d,
0x69, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x78,
0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xcf, 0x03, 0x0a, 0x0d, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64,
0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1a,
0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f,
0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50,
0x72, 0x6f, 0x78, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x0a,
0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05,
0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x65, 0x74,
0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x6f, 0x6d, 0x61, 0x52,
0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x09,
0x70, 0x61, 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x25, 0x0a, 0x0e, 0x47, 0x6f, 0x6d,
0x61, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x43,
0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02,
0x22, 0x42, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x11, 0x0a,
0x0d, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, 0x00,
0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10,
0x01, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x5f, 0x53, 0x54, 0x59,
0x4c, 0x45, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x99, 0x02, 0x0a, 0x0c, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x67,
0x6f, 0x6d, 0x61, 0x63, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x67, 0x6f, 0x6d, 0x61, 0x63, 0x63, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a,
0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x75,
0x6d, 0x61, 0x73, 0x6b, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x6d, 0x61, 0x73,
0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x70,
0x75, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,
0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x6c, 0x6f,
0x63, 0x61, 0x6c, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x75, 0x73, 0x65, 0x4c, 0x6f,
0x63, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18,
0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12,
0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
0x64, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43,
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61,
0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x3c, 0x20,
0x03, 0x28, 0x09, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x70,
0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x22, 0xe8, 0x07, 0x0a, 0x07, 0x45, 0x78, 0x65, 0x63, 0x52,
0x65, 0x71, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x70,
0x65, 0x63, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x53, 0x70, 0x65, 0x63, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x70, 0x65,
0x63, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03,
0x61, 0x72, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x77, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x63, 0x77, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74,
0x18, 0x0a, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x49,
0x6e, 0x70, 0x75, 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65,
0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x0e, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x72, 0x67, 0x12, 0x3d,
0x0a, 0x0a, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f,
0x6d, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x70, 0x65,
0x63, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x43, 0x0a,
0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71,
0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x10, 0x4c, 0x4f,
0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x52, 0x0b,
0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x0a, 0x0d, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x20, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f,
0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x52,
0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x23, 0x0a,
0x0d, 0x68, 0x65, 0x72, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x21,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x4d, 0x6f,
0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28,
0x08, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65,
0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65,
0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65,
0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14,
0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
0x64, 0x69, 0x72, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x70, 0x65,
0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x72, 0x73, 0x12, 0x2d,
0x0a, 0x12, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x74, 0x6f, 0x6f, 0x6c,
0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x12, 0x45, 0x0a,
0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73,
0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e,
0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53,
0x70, 0x65, 0x63, 0x73, 0x1a, 0x71, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73,
0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x02, 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73,
0x68, 0x4b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x07,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50,
0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b,
0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0e, 0x0a,
0x0a, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x1c, 0x0a,
0x18, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52,
0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x63, 0x10,
0x64, 0x22, 0xc8, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53,
0x74, 0x61, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x19, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x5e, 0x0a, 0x1d,
0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x1b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xfd, 0x12, 0x0a,
0x08, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x76, 0x74,
0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x65,
0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63,
0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x02,
0x4f, 0x4b, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x6c, 0x0a, 0x17, 0x62, 0x61, 0x64,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f,
0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x76,
0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52,
0x65, 0x73, 0x70, 0x2e, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65,
0x61, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x3a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
0x4e, 0x52, 0x14, 0x62, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x25, 0x0a, 0x0e,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0f,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5f, 0x0a, 0x2a, 0x66, 0x6f, 0x72, 0x63,
0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66,
0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61,
0x6c, 0x73, 0x65, 0x52, 0x24, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f,
0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x6e, 0x6d, 0x61,
0x74, 0x63, 0x68, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x65, 0x0a, 0x2d, 0x66, 0x6f, 0x72,
0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68,
0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08,
0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x27, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74,
0x6f, 0x72, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72,
0x55, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x6d, 0x0a, 0x31, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f,
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f,
0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f,
0x67, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c,
0x73, 0x65, 0x52, 0x2b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x75,
0x74, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x6e, 0x6d, 0x61, 0x74,
0x63, 0x68, 0x65, 0x64, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x12,
0x1b, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x15, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x09,
0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x23, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e,
0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x48, 0x69, 0x74, 0x12, 0x3d,
0x0a, 0x1b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1a, 0x20,
0x01, 0x28, 0x09, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f,
0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x64, 0x12, 0x2e, 0x0a,
0x13, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70,
0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a,
0x23, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x63, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1f, 0x63, 0x6f, 0x6d, 0x70,
0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x50, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x01, 0x52, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46,
0x69, 0x6c, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70,
0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28,
0x01, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79,
0x52, 0x70, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x66, 0x69,
0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x36, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72,
0x50, 0x72, 0x6f, 0x78, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x63, 0x6f,
0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x42, 0x75,
0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65,
0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x38, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x53,
0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x61,
0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x57,
0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65,
0x63, 0x76, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x52,
0x65, 0x63, 0x76, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x61,
0x72, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19,
0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63,
0x50, 0x61, 0x72, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x63, 0x6f, 0x6d,
0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
0x6c, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3c,
0x20, 0x01, 0x28, 0x01, 0x52, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72,
0x6f, 0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f,
0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x70,
0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x66, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x63, 0x6f, 0x6d,
0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61, 0x46, 0x69,
0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x63, 0x61,
0x63, 0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x47, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61,
0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x69, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x70,
0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f,
0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x48, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x63,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61,
0x41, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x63, 0x6f, 0x6d, 0x70,
0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61, 0x45, 0x72, 0x72,
0x6f, 0x72, 0x12, 0x41, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70,
0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x65, 0x64, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x75,
0x6e, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x12, 0x3d,
0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79,
0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x4c, 0x20,
0x01, 0x28, 0x08, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f,
0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x48, 0x0a,
0x21, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f,
0x65, 0x78, 0x65, 0x63, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x74,
0x72, 0x79, 0x18, 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61,
0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22,
0x2d, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02,
0x4f, 0x4b, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x0b, 0x42, 0x41, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55,
0x45, 0x53, 0x54, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x22, 0x43,
0x0a, 0x14, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x73,
0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
0x4e, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54,
0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x52, 0x5f, 0x46, 0x4c, 0x41, 0x47,
0x53, 0x10, 0x01, 0x22, 0x55, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x00,
0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x45, 0x4d, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x01, 0x12,
0x11, 0x0a, 0x0d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45,
0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x50,
0x55, 0x54, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x16, 0x10, 0x17,
0x4a, 0x04, 0x08, 0x17, 0x10, 0x18, 0x4a, 0x04, 0x08, 0x63, 0x10, 0x64, 0x22, 0x80, 0x01, 0x0a,
0x0c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a,
0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65,
0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65,
0x42, 0x6c, 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x43, 0x0a, 0x0e, 0x72, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f,
0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22,
0x2a, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03,
0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x22, 0x6f, 0x0a, 0x0d, 0x4c,
0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08,
0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
0x68, 0x61, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3d, 0x0a, 0x0e,
0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b,
0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64,
0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c,
0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x22, 0x0e, 0x0a, 0x0c, 0x45,
0x6d, 0x70, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x48,
0x74, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x04, 0x70,
0x6f, 0x72, 0x74, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x6d, 0x61, 0x2f, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69,
}
var (
file_api_goma_data_proto_rawDescOnce sync.Once
file_api_goma_data_proto_rawDescData = file_api_goma_data_proto_rawDesc
)
func file_api_goma_data_proto_rawDescGZIP() []byte {
file_api_goma_data_proto_rawDescOnce.Do(func() {
file_api_goma_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_goma_data_proto_rawDescData)
})
return file_api_goma_data_proto_rawDescData
}
var file_api_goma_data_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_api_goma_data_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_api_goma_data_proto_goTypes = []interface{}{
(FileBlob_BlobType)(0), // 0: devtools_goma.FileBlob.BlobType
(RequesterInfo_GomaApiVersion)(0), // 1: devtools_goma.RequesterInfo.GomaApiVersion
(RequesterInfo_PathStyle)(0), // 2: devtools_goma.RequesterInfo.PathStyle
(ExecReq_CachePolicy)(0), // 3: devtools_goma.ExecReq.CachePolicy
(ExecResp_ExecError)(0), // 4: devtools_goma.ExecResp.ExecError
(ExecResp_BadRequestReasonCode)(0), // 5: devtools_goma.ExecResp.BadRequestReasonCode
(ExecResp_CacheSource)(0), // 6: devtools_goma.ExecResp.CacheSource
(*FileBlob)(nil), // 7: devtools_goma.FileBlob
(*CommandSpec)(nil), // 8: devtools_goma.CommandSpec
(*SubprogramSpec)(nil), // 9: devtools_goma.SubprogramSpec
(*ToolchainSpec)(nil), // 10: devtools_goma.ToolchainSpec
(*ExecResult)(nil), // 11: devtools_goma.ExecResult
(*RequesterInfo)(nil), // 12: devtools_goma.RequesterInfo
(*RequesterEnv)(nil), // 13: devtools_goma.RequesterEnv
(*ExecReq)(nil), // 14: devtools_goma.ExecReq
(*ExecutionStats)(nil), // 15: devtools_goma.ExecutionStats
(*ExecResp)(nil), // 16: devtools_goma.ExecResp
(*StoreFileReq)(nil), // 17: devtools_goma.StoreFileReq
(*StoreFileResp)(nil), // 18: devtools_goma.StoreFileResp
(*LookupFileReq)(nil), // 19: devtools_goma.LookupFileReq
(*LookupFileResp)(nil), // 20: devtools_goma.LookupFileResp
(*EmptyMessage)(nil), // 21: devtools_goma.EmptyMessage
(*HttpPortResponse)(nil), // 22: devtools_goma.HttpPortResponse
(*ExecResult_Output)(nil), // 23: devtools_goma.ExecResult.Output
(*ExecReq_Input)(nil), // 24: devtools_goma.ExecReq.Input
(*timestamp.Timestamp)(nil), // 25: google.protobuf.Timestamp
}
var file_api_goma_data_proto_depIdxs = []int32{
0, // 0: devtools_goma.FileBlob.blob_type:type_name -> devtools_goma.FileBlob.BlobType
8, // 1: devtools_goma.ExecResult.command_spec:type_name -> devtools_goma.CommandSpec
9, // 2: devtools_goma.ExecResult.subprogram:type_name -> devtools_goma.SubprogramSpec
23, // 3: devtools_goma.ExecResult.output:type_name -> devtools_goma.ExecResult.Output
2, // 4: devtools_goma.RequesterInfo.path_style:type_name -> devtools_goma.RequesterInfo.PathStyle
8, // 5: devtools_goma.ExecReq.command_spec:type_name -> devtools_goma.CommandSpec
24, // 6: devtools_goma.ExecReq.input:type_name -> devtools_goma.ExecReq.Input
9, // 7: devtools_goma.ExecReq.subprogram:type_name -> devtools_goma.SubprogramSpec
12, // 8: devtools_goma.ExecReq.requester_info:type_name -> devtools_goma.RequesterInfo
3, // 9: devtools_goma.ExecReq.cache_policy:type_name -> devtools_goma.ExecReq.CachePolicy
13, // 10: devtools_goma.ExecReq.requester_env:type_name -> devtools_goma.RequesterEnv
10, // 11: devtools_goma.ExecReq.toolchain_specs:type_name -> devtools_goma.ToolchainSpec
25, // 12: devtools_goma.ExecutionStats.execution_start_timestamp:type_name -> google.protobuf.Timestamp
25, // 13: devtools_goma.ExecutionStats.execution_completed_timestamp:type_name -> google.protobuf.Timestamp
11, // 14: devtools_goma.ExecResp.result:type_name -> devtools_goma.ExecResult
4, // 15: devtools_goma.ExecResp.error:type_name -> devtools_goma.ExecResp.ExecError
5, // 16: devtools_goma.ExecResp.bad_request_reason_code:type_name -> devtools_goma.ExecResp.BadRequestReasonCode
6, // 17: devtools_goma.ExecResp.cache_hit:type_name -> devtools_goma.ExecResp.CacheSource
15, // 18: devtools_goma.ExecResp.execution_stats:type_name -> devtools_goma.ExecutionStats
7, // 19: devtools_goma.StoreFileReq.blob:type_name -> devtools_goma.FileBlob
12, // 20: devtools_goma.StoreFileReq.requester_info:type_name -> devtools_goma.RequesterInfo
12, // 21: devtools_goma.LookupFileReq.requester_info:type_name -> devtools_goma.RequesterInfo
7, // 22: devtools_goma.LookupFileResp.blob:type_name -> devtools_goma.FileBlob
7, // 23: devtools_goma.ExecResult.Output.blob:type_name -> devtools_goma.FileBlob
7, // 24: devtools_goma.ExecReq.Input.content:type_name -> devtools_goma.FileBlob
25, // [25:25] is the sub-list for method output_type
25, // [25:25] is the sub-list for method input_type
25, // [25:25] is the sub-list for extension type_name
25, // [25:25] is the sub-list for extension extendee
0, // [0:25] is the sub-list for field type_name
}
func init() { file_api_goma_data_proto_init() }
func file_api_goma_data_proto_init() {
if File_api_goma_data_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_api_goma_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileBlob); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommandSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubprogramSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ToolchainSpec); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequesterInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequesterEnv); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecutionStats); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StoreFileReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StoreFileResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupFileReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupFileResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EmptyMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HttpPortResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecResult_Output); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_goma_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecReq_Input); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_goma_data_proto_rawDesc,
NumEnums: 7,
NumMessages: 18,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_api_goma_data_proto_goTypes,
DependencyIndexes: file_api_goma_data_proto_depIdxs,
EnumInfos: file_api_goma_data_proto_enumTypes,
MessageInfos: file_api_goma_data_proto_msgTypes,
}.Build()
File_api_goma_data_proto = out.File
file_api_goma_data_proto_rawDesc = nil
file_api_goma_data_proto_goTypes = nil
file_api_goma_data_proto_depIdxs = nil
}