// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 // protoc v3.21.12 // source: proto/vagrant_server/server.proto package vagrant_server import ( vagrant_plugin_sdk "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" _ "github.com/mitchellh/protostructure" status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" emptypb "google.golang.org/protobuf/types/known/emptypb" structpb "google.golang.org/protobuf/types/known/structpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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) ) // The Vagrantfile can be provided in a number of formats type Vagrantfile_Format int32 const ( Vagrantfile_JSON Vagrantfile_Format = 0 Vagrantfile_HCL Vagrantfile_Format = 1 Vagrantfile_RUBY Vagrantfile_Format = 2 ) // Enum value maps for Vagrantfile_Format. var ( Vagrantfile_Format_name = map[int32]string{ 0: "JSON", 1: "HCL", 2: "RUBY", } Vagrantfile_Format_value = map[string]int32{ "JSON": 0, "HCL": 1, "RUBY": 2, } ) func (x Vagrantfile_Format) Enum() *Vagrantfile_Format { p := new(Vagrantfile_Format) *p = x return p } func (x Vagrantfile_Format) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Vagrantfile_Format) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[0].Descriptor() } func (Vagrantfile_Format) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[0] } func (x Vagrantfile_Format) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Vagrantfile_Format.Descriptor instead. func (Vagrantfile_Format) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{2, 0} } // Supported component types, the values here MUST match the enum values // in the Go sdk/component package exactly. A test in internal/server // validates this. type Component_Type int32 const ( Component_UNKNOWN Component_Type = 0 Component_COMMAND Component_Type = 1 Component_COMMUNICATOR Component_Type = 2 Component_GUEST Component_Type = 3 Component_HOST Component_Type = 4 Component_PROVIDER Component_Type = 5 Component_PROVISIONER Component_Type = 6 Component_SYNCEDFOLDER Component_Type = 7 Component_AUTHENTICATOR Component_Type = 8 Component_LOGPLATFORM Component_Type = 9 Component_LOGVIEWER Component_Type = 10 Component_MAPPER Component_Type = 11 Component_CONFIG Component_Type = 12 Component_PLUGININFO Component_Type = 13 Component_PUSH Component_Type = 14 Component_DOWNLOADER Component_Type = 15 ) // Enum value maps for Component_Type. var ( Component_Type_name = map[int32]string{ 0: "UNKNOWN", 1: "COMMAND", 2: "COMMUNICATOR", 3: "GUEST", 4: "HOST", 5: "PROVIDER", 6: "PROVISIONER", 7: "SYNCEDFOLDER", 8: "AUTHENTICATOR", 9: "LOGPLATFORM", 10: "LOGVIEWER", 11: "MAPPER", 12: "CONFIG", 13: "PLUGININFO", 14: "PUSH", 15: "DOWNLOADER", } Component_Type_value = map[string]int32{ "UNKNOWN": 0, "COMMAND": 1, "COMMUNICATOR": 2, "GUEST": 3, "HOST": 4, "PROVIDER": 5, "PROVISIONER": 6, "SYNCEDFOLDER": 7, "AUTHENTICATOR": 8, "LOGPLATFORM": 9, "LOGVIEWER": 10, "MAPPER": 11, "CONFIG": 12, "PLUGININFO": 13, "PUSH": 14, "DOWNLOADER": 15, } ) func (x Component_Type) Enum() *Component_Type { p := new(Component_Type) *p = x return p } func (x Component_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Component_Type) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[1].Descriptor() } func (Component_Type) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[1] } func (x Component_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Component_Type.Descriptor instead. func (Component_Type) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{8, 0} } type Status_State int32 const ( Status_UNKNOWN Status_State = 0 Status_RUNNING Status_State = 1 Status_SUCCESS Status_State = 2 Status_ERROR Status_State = 3 ) // Enum value maps for Status_State. var ( Status_State_name = map[int32]string{ 0: "UNKNOWN", 1: "RUNNING", 2: "SUCCESS", 3: "ERROR", } Status_State_value = map[string]int32{ "UNKNOWN": 0, "RUNNING": 1, "SUCCESS": 2, "ERROR": 3, } ) func (x Status_State) Enum() *Status_State { p := new(Status_State) *p = x return p } func (x Status_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Status_State) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[2].Descriptor() } func (Status_State) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[2] } func (x Status_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Status_State.Descriptor instead. func (Status_State) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{9, 0} } // PhysicalState is the state of any physical resources associated with // an operation. A physical resource for example is the actual container // that might be created alongside an operation. type Operation_PhysicalState int32 const ( Operation_UNKNOWN Operation_PhysicalState = 0 Operation_PENDING Operation_PhysicalState = 1 Operation_CREATED Operation_PhysicalState = 2 Operation_DESTROYED Operation_PhysicalState = 3 Operation_HALTED Operation_PhysicalState = 4 Operation_NOT_CREATED Operation_PhysicalState = 5 ) // Enum value maps for Operation_PhysicalState. var ( Operation_PhysicalState_name = map[int32]string{ 0: "UNKNOWN", 1: "PENDING", 2: "CREATED", 3: "DESTROYED", 4: "HALTED", 5: "NOT_CREATED", } Operation_PhysicalState_value = map[string]int32{ "UNKNOWN": 0, "PENDING": 1, "CREATED": 2, "DESTROYED": 3, "HALTED": 4, "NOT_CREATED": 5, } ) func (x Operation_PhysicalState) Enum() *Operation_PhysicalState { p := new(Operation_PhysicalState) *p = x return p } func (x Operation_PhysicalState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Operation_PhysicalState) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[3].Descriptor() } func (Operation_PhysicalState) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[3] } func (x Operation_PhysicalState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Operation_PhysicalState.Descriptor instead. func (Operation_PhysicalState) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{11, 0} } type OperationOrder_Order int32 const ( OperationOrder_UNSET OperationOrder_Order = 0 OperationOrder_START_TIME OperationOrder_Order = 1 OperationOrder_COMPLETE_TIME OperationOrder_Order = 2 ) // Enum value maps for OperationOrder_Order. var ( OperationOrder_Order_name = map[int32]string{ 0: "UNSET", 1: "START_TIME", 2: "COMPLETE_TIME", } OperationOrder_Order_value = map[string]int32{ "UNSET": 0, "START_TIME": 1, "COMPLETE_TIME": 2, } ) func (x OperationOrder_Order) Enum() *OperationOrder_Order { p := new(OperationOrder_Order) *p = x return p } func (x OperationOrder_Order) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OperationOrder_Order) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[4].Descriptor() } func (OperationOrder_Order) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[4] } func (x OperationOrder_Order) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OperationOrder_Order.Descriptor instead. func (OperationOrder_Order) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{12, 0} } type Job_State int32 const ( Job_UNKNOWN Job_State = 0 Job_QUEUED Job_State = 1 // queued and waiting for assignment Job_WAITING Job_State = 2 // assigned to a runner, waiting for runner to ack Job_RUNNING Job_State = 3 // runner acked and is executing Job_ERROR Job_State = 4 // job failed Job_SUCCESS Job_State = 5 // job succeeded ) // Enum value maps for Job_State. var ( Job_State_name = map[int32]string{ 0: "UNKNOWN", 1: "QUEUED", 2: "WAITING", 3: "RUNNING", 4: "ERROR", 5: "SUCCESS", } Job_State_value = map[string]int32{ "UNKNOWN": 0, "QUEUED": 1, "WAITING": 2, "RUNNING": 3, "ERROR": 4, "SUCCESS": 5, } ) func (x Job_State) Enum() *Job_State { p := new(Job_State) *p = x return p } func (x Job_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Job_State) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[5].Descriptor() } func (Job_State) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[5] } func (x Job_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Job_State.Descriptor instead. func (Job_State) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 0} } type Job_Hook_Location int32 const ( Job_Hook_BEFORE Job_Hook_Location = 0 Job_Hook_AFTER Job_Hook_Location = 1 ) // Enum value maps for Job_Hook_Location. var ( Job_Hook_Location_name = map[int32]string{ 0: "BEFORE", 1: "AFTER", } Job_Hook_Location_value = map[string]int32{ "BEFORE": 0, "AFTER": 1, } ) func (x Job_Hook_Location) Enum() *Job_Hook_Location { p := new(Job_Hook_Location) *p = x return p } func (x Job_Hook_Location) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Job_Hook_Location) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[6].Descriptor() } func (Job_Hook_Location) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[6] } func (x Job_Hook_Location) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Job_Hook_Location.Descriptor instead. func (Job_Hook_Location) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 16, 0} } type ExecStreamResponse_Output_Channel int32 const ( ExecStreamResponse_Output_UNKNOWN ExecStreamResponse_Output_Channel = 0 ExecStreamResponse_Output_STDOUT ExecStreamResponse_Output_Channel = 1 ExecStreamResponse_Output_STDERR ExecStreamResponse_Output_Channel = 2 ) // Enum value maps for ExecStreamResponse_Output_Channel. var ( ExecStreamResponse_Output_Channel_name = map[int32]string{ 0: "UNKNOWN", 1: "STDOUT", 2: "STDERR", } ExecStreamResponse_Output_Channel_value = map[string]int32{ "UNKNOWN": 0, "STDOUT": 1, "STDERR": 2, } ) func (x ExecStreamResponse_Output_Channel) Enum() *ExecStreamResponse_Output_Channel { p := new(ExecStreamResponse_Output_Channel) *p = x return p } func (x ExecStreamResponse_Output_Channel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ExecStreamResponse_Output_Channel) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[7].Descriptor() } func (ExecStreamResponse_Output_Channel) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[7] } func (x ExecStreamResponse_Output_Channel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ExecStreamResponse_Output_Channel.Descriptor instead. func (ExecStreamResponse_Output_Channel) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{70, 2, 0} } type EntrypointExecRequest_Output_Channel int32 const ( EntrypointExecRequest_Output_UNKNOWN EntrypointExecRequest_Output_Channel = 0 EntrypointExecRequest_Output_STDOUT EntrypointExecRequest_Output_Channel = 1 EntrypointExecRequest_Output_STDERR EntrypointExecRequest_Output_Channel = 2 ) // Enum value maps for EntrypointExecRequest_Output_Channel. var ( EntrypointExecRequest_Output_Channel_name = map[int32]string{ 0: "UNKNOWN", 1: "STDOUT", 2: "STDERR", } EntrypointExecRequest_Output_Channel_value = map[string]int32{ "UNKNOWN": 0, "STDOUT": 1, "STDERR": 2, } ) func (x EntrypointExecRequest_Output_Channel) Enum() *EntrypointExecRequest_Output_Channel { p := new(EntrypointExecRequest_Output_Channel) *p = x return p } func (x EntrypointExecRequest_Output_Channel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (EntrypointExecRequest_Output_Channel) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[8].Descriptor() } func (EntrypointExecRequest_Output_Channel) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[8] } func (x EntrypointExecRequest_Output_Channel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use EntrypointExecRequest_Output_Channel.Descriptor instead. func (EntrypointExecRequest_Output_Channel) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{75, 2, 0} } type Snapshot_Header_Format int32 const ( Snapshot_Header_UNKNOWN Snapshot_Header_Format = 0 Snapshot_Header_BOLT Snapshot_Header_Format = 1 // Expect a series of BoltChunk messages ) // Enum value maps for Snapshot_Header_Format. var ( Snapshot_Header_Format_name = map[int32]string{ 0: "UNKNOWN", 1: "BOLT", } Snapshot_Header_Format_value = map[string]int32{ "UNKNOWN": 0, "BOLT": 1, } ) func (x Snapshot_Header_Format) Enum() *Snapshot_Header_Format { p := new(Snapshot_Header_Format) *p = x return p } func (x Snapshot_Header_Format) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Snapshot_Header_Format) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[9].Descriptor() } func (Snapshot_Header_Format) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[9] } func (x Snapshot_Header_Format) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Snapshot_Header_Format.Descriptor instead. func (Snapshot_Header_Format) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{85, 0, 0} } type GetVersionInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Info *VersionInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"` } func (x *GetVersionInfoResponse) Reset() { *x = GetVersionInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetVersionInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetVersionInfoResponse) ProtoMessage() {} func (x *GetVersionInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetVersionInfoResponse.ProtoReflect.Descriptor instead. func (*GetVersionInfoResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{0} } func (x *GetVersionInfoResponse) GetInfo() *VersionInfo { if x != nil { return x.Info } return nil } type VersionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Api *VersionInfo_ProtocolVersion `protobuf:"bytes,1,opt,name=api,proto3" json:"api,omitempty"` Entrypoint *VersionInfo_ProtocolVersion `protobuf:"bytes,2,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` // Full version string (semver-syntax). This may be hidden/blank for // security purposes so clients should gracefully handle blank values. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` } func (x *VersionInfo) Reset() { *x = VersionInfo{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VersionInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*VersionInfo) ProtoMessage() {} func (x *VersionInfo) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 VersionInfo.ProtoReflect.Descriptor instead. func (*VersionInfo) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{1} } func (x *VersionInfo) GetApi() *VersionInfo_ProtocolVersion { if x != nil { return x.Api } return nil } func (x *VersionInfo) GetEntrypoint() *VersionInfo_ProtocolVersion { if x != nil { return x.Entrypoint } return nil } func (x *VersionInfo) GetVersion() string { if x != nil { return x.Version } return "" } type Vagrantfile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unfinalized Vagrantfile configuration. This content is // still able to be used for file merges. Unfinalized *vagrant_plugin_sdk.Args_Hash `protobuf:"bytes,1,opt,name=unfinalized,proto3" json:"unfinalized,omitempty"` // Finalized Vagrantfile configuration. This is the final // configuration which is not suitable for future merges. Finalized *vagrant_plugin_sdk.Args_Hash `protobuf:"bytes,2,opt,name=finalized,proto3" json:"finalized,omitempty"` // Raw contents of the file (not used for Ruby based Vagrantfile) Raw []byte `protobuf:"bytes,3,opt,name=raw,proto3" json:"raw,omitempty"` // Format of this Vagrantfile Format Vagrantfile_Format `protobuf:"varint,4,opt,name=format,proto3,enum=hashicorp.vagrant.Vagrantfile_Format" json:"format,omitempty"` // Original path of the Vagrantfile Path *vagrant_plugin_sdk.Args_Path `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` } func (x *Vagrantfile) Reset() { *x = Vagrantfile{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Vagrantfile) String() string { return protoimpl.X.MessageStringOf(x) } func (*Vagrantfile) ProtoMessage() {} func (x *Vagrantfile) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Vagrantfile.ProtoReflect.Descriptor instead. func (*Vagrantfile) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{2} } func (x *Vagrantfile) GetUnfinalized() *vagrant_plugin_sdk.Args_Hash { if x != nil { return x.Unfinalized } return nil } func (x *Vagrantfile) GetFinalized() *vagrant_plugin_sdk.Args_Hash { if x != nil { return x.Finalized } return nil } func (x *Vagrantfile) GetRaw() []byte { if x != nil { return x.Raw } return nil } func (x *Vagrantfile) GetFormat() Vagrantfile_Format { if x != nil { return x.Format } return Vagrantfile_JSON } func (x *Vagrantfile) GetPath() *vagrant_plugin_sdk.Args_Path { if x != nil { return x.Path } return nil } // This is considered the core configuration and information for the // run. This correlates to a VAGRANT_HOME and contains information // around projects which utilize this basis as well as the configuration // for the basis type Basis struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unique resource identifier (internal use) ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Name for this basis Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Path to this basis Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // Projects within this basis Projects []*vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty"` // Custom metadata Metadata *vagrant_plugin_sdk.Args_MetadataSet `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` // Serialized configuration of the basis (Vagrantfile) Configuration *Vagrantfile `protobuf:"bytes,6,opt,name=configuration,proto3" json:"configuration,omitempty"` // If true, then the `-remote` flag or the `vagrant build project/app` // syntax can be used with a remote runner. If this is false, then // this is not allowed. This is typically configured using the // `runner {}` block in the vagrant config. RemoteEnabled bool `protobuf:"varint,100,opt,name=remote_enabled,json=remoteEnabled,proto3" json:"remote_enabled,omitempty"` // Where data is sourced for remote operations. If this isn't set, then // there is no default data source and it will be an error if a job is // queued for this project without a data source set. This is usually // set using the `runner {}` block in the vagrant config. DataSource *Job_DataSource `protobuf:"bytes,101,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` } func (x *Basis) Reset() { *x = Basis{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Basis) String() string { return protoimpl.X.MessageStringOf(x) } func (*Basis) ProtoMessage() {} func (x *Basis) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Basis.ProtoReflect.Descriptor instead. func (*Basis) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{3} } func (x *Basis) GetResourceId() string { if x != nil { return x.ResourceId } return "" } func (x *Basis) GetName() string { if x != nil { return x.Name } return "" } func (x *Basis) GetPath() string { if x != nil { return x.Path } return "" } func (x *Basis) GetProjects() []*vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Projects } return nil } func (x *Basis) GetMetadata() *vagrant_plugin_sdk.Args_MetadataSet { if x != nil { return x.Metadata } return nil } func (x *Basis) GetConfiguration() *Vagrantfile { if x != nil { return x.Configuration } return nil } func (x *Basis) GetRemoteEnabled() bool { if x != nil { return x.RemoteEnabled } return false } func (x *Basis) GetDataSource() *Job_DataSource { if x != nil { return x.DataSource } return nil } type Project struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unique resource identifier ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Name of this project Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Path where this project lives Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // Targets associated with this project Targets []*vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,4,rep,name=targets,proto3" json:"targets,omitempty"` // The basis which this project is within Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,5,opt,name=basis,proto3" json:"basis,omitempty"` // Custom metadata Metadata *vagrant_plugin_sdk.Args_MetadataSet `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // Serialized configuration of the project (Vagrantfile) Configuration *Vagrantfile `protobuf:"bytes,7,opt,name=configuration,proto3" json:"configuration,omitempty"` // If true, then the `-remote` flag or the `vagrant build project/app` // syntax can be used with a remote runner. If this is false, then // this is not allowed. This is typically configured using the // `runner {}` block in the vagrant config. RemoteEnabled bool `protobuf:"varint,100,opt,name=remote_enabled,json=remoteEnabled,proto3" json:"remote_enabled,omitempty"` // Where data is sourced for remote operations. If this isn't set, then // there is no default data source and it will be an error if a job is // queued for this project without a data source set. This is usually // set using the `runner {}` block in the vagrant config. DataSource *Job_DataSource `protobuf:"bytes,101,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` } func (x *Project) Reset() { *x = Project{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Project) String() string { return protoimpl.X.MessageStringOf(x) } func (*Project) ProtoMessage() {} func (x *Project) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Project.ProtoReflect.Descriptor instead. func (*Project) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{4} } func (x *Project) GetResourceId() string { if x != nil { return x.ResourceId } return "" } func (x *Project) GetName() string { if x != nil { return x.Name } return "" } func (x *Project) GetPath() string { if x != nil { return x.Path } return "" } func (x *Project) GetTargets() []*vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Targets } return nil } func (x *Project) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } func (x *Project) GetMetadata() *vagrant_plugin_sdk.Args_MetadataSet { if x != nil { return x.Metadata } return nil } func (x *Project) GetConfiguration() *Vagrantfile { if x != nil { return x.Configuration } return nil } func (x *Project) GetRemoteEnabled() bool { if x != nil { return x.RemoteEnabled } return false } func (x *Project) GetDataSource() *Job_DataSource { if x != nil { return x.DataSource } return nil } type Box struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the box ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // This is the provider that this box is built for. Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` // The version of this box. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // This is the directory on disk where this box exists. Directory string `protobuf:"bytes,4,opt,name=directory,proto3" json:"directory,omitempty"` // This is the metadata for the box. This is read from the "metadata.json" // file that all boxes require. Metadata *structpb.Struct `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` // This is the URL to the version info and other metadata for this // box. MetadataUrl string `protobuf:"bytes,6,opt,name=metadata_url,json=metadataUrl,proto3" json:"metadata_url,omitempty"` // The box name. This is the logical name used when adding the box. Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` // Tracks the last automatic update for the box LastUpdate *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` } func (x *Box) Reset() { *x = Box{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Box) String() string { return protoimpl.X.MessageStringOf(x) } func (*Box) ProtoMessage() {} func (x *Box) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Box.ProtoReflect.Descriptor instead. func (*Box) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5} } func (x *Box) GetResourceId() string { if x != nil { return x.ResourceId } return "" } func (x *Box) GetProvider() string { if x != nil { return x.Provider } return "" } func (x *Box) GetVersion() string { if x != nil { return x.Version } return "" } func (x *Box) GetDirectory() string { if x != nil { return x.Directory } return "" } func (x *Box) GetMetadata() *structpb.Struct { if x != nil { return x.Metadata } return nil } func (x *Box) GetMetadataUrl() string { if x != nil { return x.MetadataUrl } return "" } func (x *Box) GetName() string { if x != nil { return x.Name } return "" } func (x *Box) GetLastUpdate() *timestamppb.Timestamp { if x != nil { return x.LastUpdate } return nil } type Target struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unique resource identifier ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Data directory for target specific files Datadir *vagrant_plugin_sdk.Args_DataDir_Target `protobuf:"bytes,2,opt,name=datadir,proto3" json:"datadir,omitempty"` // Name of the target Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // Project the target is associated Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,4,opt,name=project,proto3" json:"project,omitempty"` // State of the target State Operation_PhysicalState `protobuf:"varint,5,opt,name=state,proto3,enum=hashicorp.vagrant.Operation_PhysicalState" json:"state,omitempty"` // Targets contained within this target Subtargets []*vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,6,rep,name=subtargets,proto3" json:"subtargets,omitempty"` // Parent if this target is a subtarget Parent *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,7,opt,name=parent,proto3" json:"parent,omitempty"` // Public unique identifier for target Uuid string `protobuf:"bytes,8,opt,name=uuid,proto3" json:"uuid,omitempty"` // Custom metadata Metadata *vagrant_plugin_sdk.Args_MetadataSet `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` // Serialized configuration of the target (Vagrantfile) Configuration *vagrant_plugin_sdk.Args_ConfigData `protobuf:"bytes,10,opt,name=configuration,proto3" json:"configuration,omitempty"` // Specialized target information (from provider) Record *anypb.Any `protobuf:"bytes,11,opt,name=record,proto3" json:"record,omitempty"` // Provider name backing target Provider string `protobuf:"bytes,12,opt,name=provider,proto3" json:"provider,omitempty"` } func (x *Target) Reset() { *x = Target{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Target) String() string { return protoimpl.X.MessageStringOf(x) } func (*Target) ProtoMessage() {} func (x *Target) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Target.ProtoReflect.Descriptor instead. func (*Target) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{6} } func (x *Target) GetResourceId() string { if x != nil { return x.ResourceId } return "" } func (x *Target) GetDatadir() *vagrant_plugin_sdk.Args_DataDir_Target { if x != nil { return x.Datadir } return nil } func (x *Target) GetName() string { if x != nil { return x.Name } return "" } func (x *Target) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *Target) GetState() Operation_PhysicalState { if x != nil { return x.State } return Operation_UNKNOWN } func (x *Target) GetSubtargets() []*vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Subtargets } return nil } func (x *Target) GetParent() *vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Parent } return nil } func (x *Target) GetUuid() string { if x != nil { return x.Uuid } return "" } func (x *Target) GetMetadata() *vagrant_plugin_sdk.Args_MetadataSet { if x != nil { return x.Metadata } return nil } func (x *Target) GetConfiguration() *vagrant_plugin_sdk.Args_ConfigData { if x != nil { return x.Configuration } return nil } func (x *Target) GetRecord() *anypb.Any { if x != nil { return x.Record } return nil } func (x *Target) GetProvider() string { if x != nil { return x.Provider } return "" } // Ref contains shared messages used for references to other resources. // // Refs should be used when the full type shouldn't be embedded in the message. type Ref struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Ref) Reset() { *x = Ref{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref) ProtoMessage() {} func (x *Ref) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Ref.ProtoReflect.Descriptor instead. func (*Ref) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7} } // Component represents metadata about a component. A component is the // generic name for a plugin type type Component struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // type of the component Type Component_Type `protobuf:"varint,1,opt,name=type,proto3,enum=hashicorp.vagrant.Component_Type" json:"type,omitempty"` // name of the component Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` ServerAddr string `protobuf:"bytes,3,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"` } func (x *Component) Reset() { *x = Component{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Component) String() string { return protoimpl.X.MessageStringOf(x) } func (*Component) ProtoMessage() {} func (x *Component) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Component.ProtoReflect.Descriptor instead. func (*Component) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{8} } func (x *Component) GetType() Component_Type { if x != nil { return x.Type } return Component_UNKNOWN } func (x *Component) GetName() string { if x != nil { return x.Name } return "" } func (x *Component) GetServerAddr() string { if x != nil { return x.ServerAddr } return "" } // Status represents the status of an async operation. type Status struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // state is the state of this operation. State Status_State `protobuf:"varint,1,opt,name=state,proto3,enum=hashicorp.vagrant.Status_State" json:"state,omitempty"` // details may be non-empty to provide human-friendly information // about the current status. This may change between status updates // for the same state to provide updated details about the state. Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` // error is set if the state == ERROR with the error that occurred. Error *status.Status `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` // start_time is the time the operation was started. StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // complete_time is the time the operation completed (success or fail). CompleteTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` } func (x *Status) Reset() { *x = Status{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Status) String() string { return protoimpl.X.MessageStringOf(x) } func (*Status) ProtoMessage() {} func (x *Status) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Status.ProtoReflect.Descriptor instead. func (*Status) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{9} } func (x *Status) GetState() Status_State { if x != nil { return x.State } return Status_UNKNOWN } func (x *Status) GetDetails() string { if x != nil { return x.Details } return "" } func (x *Status) GetError() *status.Status { if x != nil { return x.Error } return nil } func (x *Status) GetStartTime() *timestamppb.Timestamp { if x != nil { return x.StartTime } return nil } func (x *Status) GetCompleteTime() *timestamppb.Timestamp { if x != nil { return x.CompleteTime } return nil } type StatusFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Filters are ANDed together. Filters []*StatusFilter_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *StatusFilter) Reset() { *x = StatusFilter{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatusFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatusFilter) ProtoMessage() {} func (x *StatusFilter) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 StatusFilter.ProtoReflect.Descriptor instead. func (*StatusFilter) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{10} } func (x *StatusFilter) GetFilters() []*StatusFilter_Filter { if x != nil { return x.Filters } return nil } // Operation is a shared message type used to describe "operations" which are // executions of a build, deploy, etc. This just contains shared message types // used for fields. Each individual operation has their own message type // such as Deployment. type Operation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Operation) Reset() { *x = Operation{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Operation) String() string { return protoimpl.X.MessageStringOf(x) } func (*Operation) ProtoMessage() {} func (x *Operation) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Operation.ProtoReflect.Descriptor instead. func (*Operation) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{11} } // OperationOrder is a shared message type used for controlling the order // of results in queries for app operations such as build, deploys, etc. type OperationOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Order for the results. Order OperationOrder_Order `protobuf:"varint,2,opt,name=order,proto3,enum=hashicorp.vagrant.OperationOrder_Order" json:"order,omitempty"` Desc bool `protobuf:"varint,3,opt,name=desc,proto3" json:"desc,omitempty"` // Limit the number of results Limit uint32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *OperationOrder) Reset() { *x = OperationOrder{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OperationOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*OperationOrder) ProtoMessage() {} func (x *OperationOrder) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 OperationOrder.ProtoReflect.Descriptor instead. func (*OperationOrder) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{12} } func (x *OperationOrder) GetOrder() OperationOrder_Order { if x != nil { return x.Order } return OperationOrder_UNSET } func (x *OperationOrder) GetDesc() bool { if x != nil { return x.Desc } return false } func (x *OperationOrder) GetLimit() uint32 { if x != nil { return x.Limit } return 0 } type QueueJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The job to queue. See the Job message documentation for more details // on what to set. Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` // Set an expiration duration. If the job is not assigned and acked // in the given duration then the job will be automatically cancelled. ExpiresIn string `protobuf:"bytes,2,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` } func (x *QueueJobRequest) Reset() { *x = QueueJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueJobRequest) ProtoMessage() {} func (x *QueueJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 QueueJobRequest.ProtoReflect.Descriptor instead. func (*QueueJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{13} } func (x *QueueJobRequest) GetJob() *Job { if x != nil { return x.Job } return nil } func (x *QueueJobRequest) GetExpiresIn() string { if x != nil { return x.ExpiresIn } return "" } type QueueJobResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the job ID that was queued. This can be used with other RPC methods // to check on the status, cancel, etc. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *QueueJobResponse) Reset() { *x = QueueJobResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueJobResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueJobResponse) ProtoMessage() {} func (x *QueueJobResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 QueueJobResponse.ProtoReflect.Descriptor instead. func (*QueueJobResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{14} } func (x *QueueJobResponse) GetJobId() string { if x != nil { return x.JobId } return "" } type CancelJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The job to cancel JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *CancelJobRequest) Reset() { *x = CancelJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CancelJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CancelJobRequest) ProtoMessage() {} func (x *CancelJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 CancelJobRequest.ProtoReflect.Descriptor instead. func (*CancelJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{15} } func (x *CancelJobRequest) GetJobId() string { if x != nil { return x.JobId } return "" } type ValidateJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The job to validate. Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` // If true, will NOT validate that the job is assignable. DisableAssign bool `protobuf:"varint,2,opt,name=disable_assign,json=disableAssign,proto3" json:"disable_assign,omitempty"` } func (x *ValidateJobRequest) Reset() { *x = ValidateJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidateJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidateJobRequest) ProtoMessage() {} func (x *ValidateJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 ValidateJobRequest.ProtoReflect.Descriptor instead. func (*ValidateJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16} } func (x *ValidateJobRequest) GetJob() *Job { if x != nil { return x.Job } return nil } func (x *ValidateJobRequest) GetDisableAssign() bool { if x != nil { return x.DisableAssign } return false } type ValidateJobResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // valid will be true if the job structure is valid. If it is invalid // validation_error will be set with a reason. Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` ValidationError *status.Status `protobuf:"bytes,2,opt,name=validation_error,json=validationError,proto3" json:"validation_error,omitempty"` // assignable will be true if the job is assignable at this point-in-time. // Assignable means that there are runners registered with the server that // claim to be able to service this job. Note that this is a point-in-time // result so it doesn't guarantee that a job will be serviced when queued. // Additionally, assignability doesn't imply anything about queue length, // so the job may still be queued for some time. // // This will always be false if "valid" is false since we don't check // assignability of invalid jobs. Assignable bool `protobuf:"varint,3,opt,name=assignable,proto3" json:"assignable,omitempty"` } func (x *ValidateJobResponse) Reset() { *x = ValidateJobResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidateJobResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidateJobResponse) ProtoMessage() {} func (x *ValidateJobResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 ValidateJobResponse.ProtoReflect.Descriptor instead. func (*ValidateJobResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{17} } func (x *ValidateJobResponse) GetValid() bool { if x != nil { return x.Valid } return false } func (x *ValidateJobResponse) GetValidationError() *status.Status { if x != nil { return x.ValidationError } return nil } func (x *ValidateJobResponse) GetAssignable() bool { if x != nil { return x.Assignable } return false } // A Job is a job that executes on a runner and is queued by QueueOperation. type Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // id of the job. This is generated on the server side when queued. If // you are queueing a job, this must be empty or unset. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The application to target for the operation. Some operations may allow // certain fields of this to be empty, so check with the operation // documentation to determine what needs to be set. Generally, project // must be set. // // Types that are assignable to Scope: // // *Job_Basis // *Job_Project // *Job_Target Scope isJob_Scope `protobuf_oneof:"scope"` // The runner that should execute this job. This is required. TargetRunner *Ref_Runner `protobuf:"bytes,5,opt,name=target_runner,json=targetRunner,proto3" json:"target_runner,omitempty"` // Labels are the labels to set for this operation. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // data_source determines where the data to operate on (such as the // application source code and Vagrant configuration) comes from. // If this is not set then QueueJob will populate this if a default // data source is configured for the target project. // // The overrides will set overrides of configs for the data source. This is // data source dependent but this allows for example setting the Git ref // without knowing the full data source. Invalid overrides will fail the // job. DataSource *Job_DataSource `protobuf:"bytes,7,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` DataSourceOverrides map[string]string `protobuf:"bytes,8,rep,name=data_source_overrides,json=dataSourceOverrides,proto3" json:"data_source_overrides,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The operation to execute. See the message docs for details on the operation. // // Types that are assignable to Operation: // // *Job_Noop_ // *Job_Auth // *Job_Docs // *Job_Validate // *Job_Command // *Job_Init // *Job_InitBasis // *Job_InitProject Operation isJob_Operation `protobuf_oneof:"operation"` // state of the job State Job_State `protobuf:"varint,100,opt,name=state,proto3,enum=hashicorp.vagrant.Job_State" json:"state,omitempty"` // The runner that was assigned to execute this job. Note that the // runner may have been ephemeral and may no longer exist. AssignedRunner *Ref_RunnerId `protobuf:"bytes,101,opt,name=assigned_runner,json=assignedRunner,proto3" json:"assigned_runner,omitempty"` // The time when the job was queued. QueueTime *timestamppb.Timestamp `protobuf:"bytes,102,opt,name=queue_time,json=queueTime,proto3" json:"queue_time,omitempty"` AssignTime *timestamppb.Timestamp `protobuf:"bytes,103,opt,name=assign_time,json=assignTime,proto3" json:"assign_time,omitempty"` AckTime *timestamppb.Timestamp `protobuf:"bytes,104,opt,name=ack_time,json=ackTime,proto3" json:"ack_time,omitempty"` CompleteTime *timestamppb.Timestamp `protobuf:"bytes,105,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` // error is set if state == ERROR Error *status.Status `protobuf:"bytes,106,opt,name=error,proto3" json:"error,omitempty"` // result is set based on the operation specified. A nil result is possible // for some operations. Result *Job_Result `protobuf:"bytes,107,opt,name=result,proto3" json:"result,omitempty"` // cancel time is the time that cancellation of this job was requested. // If this is zero then this job was not cancelled. Note that this is the // cancellation _request_ time. The actual time a job ended is noted by // the complete_time field. CancelTime *timestamppb.Timestamp `protobuf:"bytes,108,opt,name=cancel_time,json=cancelTime,proto3" json:"cancel_time,omitempty"` // expire time is the time when this job would expire. If this isn't set // then this is a non-expiring job. This will remain set even if the job // never expired because it was accepted and run. This field can be used // to detect that it was configured to expire. ExpireTime *timestamppb.Timestamp `protobuf:"bytes,109,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` } func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[18] 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 Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18} } func (x *Job) GetId() string { if x != nil { return x.Id } return "" } func (m *Job) GetScope() isJob_Scope { if m != nil { return m.Scope } return nil } func (x *Job) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*Job_Basis); ok { return x.Basis } return nil } func (x *Job) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*Job_Project); ok { return x.Project } return nil } func (x *Job) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*Job_Target); ok { return x.Target } return nil } func (x *Job) GetTargetRunner() *Ref_Runner { if x != nil { return x.TargetRunner } return nil } func (x *Job) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } func (x *Job) GetDataSource() *Job_DataSource { if x != nil { return x.DataSource } return nil } func (x *Job) GetDataSourceOverrides() map[string]string { if x != nil { return x.DataSourceOverrides } return nil } func (m *Job) GetOperation() isJob_Operation { if m != nil { return m.Operation } return nil } func (x *Job) GetNoop() *Job_Noop { if x, ok := x.GetOperation().(*Job_Noop_); ok { return x.Noop } return nil } func (x *Job) GetAuth() *Job_AuthOp { if x, ok := x.GetOperation().(*Job_Auth); ok { return x.Auth } return nil } func (x *Job) GetDocs() *Job_DocsOp { if x, ok := x.GetOperation().(*Job_Docs); ok { return x.Docs } return nil } func (x *Job) GetValidate() *Job_ValidateOp { if x, ok := x.GetOperation().(*Job_Validate); ok { return x.Validate } return nil } func (x *Job) GetCommand() *Job_CommandOp { if x, ok := x.GetOperation().(*Job_Command); ok { return x.Command } return nil } func (x *Job) GetInit() *Job_InitOp { if x, ok := x.GetOperation().(*Job_Init); ok { return x.Init } return nil } func (x *Job) GetInitBasis() *Job_InitBasisOp { if x, ok := x.GetOperation().(*Job_InitBasis); ok { return x.InitBasis } return nil } func (x *Job) GetInitProject() *Job_InitProjectOp { if x, ok := x.GetOperation().(*Job_InitProject); ok { return x.InitProject } return nil } func (x *Job) GetState() Job_State { if x != nil { return x.State } return Job_UNKNOWN } func (x *Job) GetAssignedRunner() *Ref_RunnerId { if x != nil { return x.AssignedRunner } return nil } func (x *Job) GetQueueTime() *timestamppb.Timestamp { if x != nil { return x.QueueTime } return nil } func (x *Job) GetAssignTime() *timestamppb.Timestamp { if x != nil { return x.AssignTime } return nil } func (x *Job) GetAckTime() *timestamppb.Timestamp { if x != nil { return x.AckTime } return nil } func (x *Job) GetCompleteTime() *timestamppb.Timestamp { if x != nil { return x.CompleteTime } return nil } func (x *Job) GetError() *status.Status { if x != nil { return x.Error } return nil } func (x *Job) GetResult() *Job_Result { if x != nil { return x.Result } return nil } func (x *Job) GetCancelTime() *timestamppb.Timestamp { if x != nil { return x.CancelTime } return nil } func (x *Job) GetExpireTime() *timestamppb.Timestamp { if x != nil { return x.ExpireTime } return nil } type isJob_Scope interface { isJob_Scope() } type Job_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,2,opt,name=basis,proto3,oneof"` } type Job_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,3,opt,name=project,proto3,oneof"` } type Job_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,4,opt,name=target,proto3,oneof"` } func (*Job_Basis) isJob_Scope() {} func (*Job_Project) isJob_Scope() {} func (*Job_Target) isJob_Scope() {} type isJob_Operation interface { isJob_Operation() } type Job_Noop_ struct { Noop *Job_Noop `protobuf:"bytes,50,opt,name=noop,proto3,oneof"` } type Job_Auth struct { Auth *Job_AuthOp `protobuf:"bytes,51,opt,name=auth,proto3,oneof"` } type Job_Docs struct { Docs *Job_DocsOp `protobuf:"bytes,52,opt,name=docs,proto3,oneof"` } type Job_Validate struct { Validate *Job_ValidateOp `protobuf:"bytes,53,opt,name=validate,proto3,oneof"` } type Job_Command struct { Command *Job_CommandOp `protobuf:"bytes,54,opt,name=command,proto3,oneof"` } type Job_Init struct { Init *Job_InitOp `protobuf:"bytes,55,opt,name=init,proto3,oneof"` } type Job_InitBasis struct { InitBasis *Job_InitBasisOp `protobuf:"bytes,56,opt,name=init_basis,json=initBasis,proto3,oneof"` } type Job_InitProject struct { InitProject *Job_InitProjectOp `protobuf:"bytes,57,opt,name=init_project,json=initProject,proto3,oneof"` } func (*Job_Noop_) isJob_Operation() {} func (*Job_Auth) isJob_Operation() {} func (*Job_Docs) isJob_Operation() {} func (*Job_Validate) isJob_Operation() {} func (*Job_Command) isJob_Operation() {} func (*Job_Init) isJob_Operation() {} func (*Job_InitBasis) isJob_Operation() {} func (*Job_InitProject) isJob_Operation() {} type Documentation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` Example string `protobuf:"bytes,2,opt,name=example,proto3" json:"example,omitempty"` Input string `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` Output string `protobuf:"bytes,4,opt,name=output,proto3" json:"output,omitempty"` Fields map[string]*Documentation_Field `protobuf:"bytes,5,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Mappers []*Documentation_Mapper `protobuf:"bytes,6,rep,name=mappers,proto3" json:"mappers,omitempty"` } func (x *Documentation) Reset() { *x = Documentation{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Documentation) String() string { return protoimpl.X.MessageStringOf(x) } func (*Documentation) ProtoMessage() {} func (x *Documentation) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[19] 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 Documentation.ProtoReflect.Descriptor instead. func (*Documentation) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{19} } func (x *Documentation) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Documentation) GetExample() string { if x != nil { return x.Example } return "" } func (x *Documentation) GetInput() string { if x != nil { return x.Input } return "" } func (x *Documentation) GetOutput() string { if x != nil { return x.Output } return "" } func (x *Documentation) GetFields() map[string]*Documentation_Field { if x != nil { return x.Fields } return nil } func (x *Documentation) GetMappers() []*Documentation_Mapper { if x != nil { return x.Mappers } return nil } type GetJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the job to request. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *GetJobRequest) Reset() { *x = GetJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobRequest) ProtoMessage() {} func (x *GetJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[20] 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 GetJobRequest.ProtoReflect.Descriptor instead. func (*GetJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{20} } func (x *GetJobRequest) GetJobId() string { if x != nil { return x.JobId } return "" } type ListJobsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ListJobsRequest) Reset() { *x = ListJobsRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListJobsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListJobsRequest) ProtoMessage() {} func (x *ListJobsRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[21] 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 ListJobsRequest.ProtoReflect.Descriptor instead. func (*ListJobsRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{21} } type ListJobsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` } func (x *ListJobsResponse) Reset() { *x = ListJobsResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListJobsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListJobsResponse) ProtoMessage() {} func (x *ListJobsResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[22] 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 ListJobsResponse.ProtoReflect.Descriptor instead. func (*ListJobsResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22} } func (x *ListJobsResponse) GetJobs() []*Job { if x != nil { return x.Jobs } return nil } type GetJobStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *GetJobStreamRequest) Reset() { *x = GetJobStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamRequest) ProtoMessage() {} func (x *GetJobStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[23] 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 GetJobStreamRequest.ProtoReflect.Descriptor instead. func (*GetJobStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{23} } func (x *GetJobStreamRequest) GetJobId() string { if x != nil { return x.JobId } return "" } type GetJobStreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *GetJobStreamResponse_Open_ // *GetJobStreamResponse_State_ // *GetJobStreamResponse_Terminal_ // *GetJobStreamResponse_Error_ // *GetJobStreamResponse_Complete_ Event isGetJobStreamResponse_Event `protobuf_oneof:"event"` } func (x *GetJobStreamResponse) Reset() { *x = GetJobStreamResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse) ProtoMessage() {} func (x *GetJobStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[24] 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 GetJobStreamResponse.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24} } func (m *GetJobStreamResponse) GetEvent() isGetJobStreamResponse_Event { if m != nil { return m.Event } return nil } func (x *GetJobStreamResponse) GetOpen() *GetJobStreamResponse_Open { if x, ok := x.GetEvent().(*GetJobStreamResponse_Open_); ok { return x.Open } return nil } func (x *GetJobStreamResponse) GetState() *GetJobStreamResponse_State { if x, ok := x.GetEvent().(*GetJobStreamResponse_State_); ok { return x.State } return nil } func (x *GetJobStreamResponse) GetTerminal() *GetJobStreamResponse_Terminal { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_); ok { return x.Terminal } return nil } func (x *GetJobStreamResponse) GetError() *GetJobStreamResponse_Error { if x, ok := x.GetEvent().(*GetJobStreamResponse_Error_); ok { return x.Error } return nil } func (x *GetJobStreamResponse) GetComplete() *GetJobStreamResponse_Complete { if x, ok := x.GetEvent().(*GetJobStreamResponse_Complete_); ok { return x.Complete } return nil } type isGetJobStreamResponse_Event interface { isGetJobStreamResponse_Event() } type GetJobStreamResponse_Open_ struct { // Open is sent as confirmation that the job stream successfully opened. // This will be sent immediately by the server if the job ID is valid. // This is useful since other events such as terminal output may not // happen for a long time while the job is executing, queued, etc. // // This is ALWAYS sent. If the job is already completed, this will be // sent first followed immediately by a Complete. Open *GetJobStreamResponse_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type GetJobStreamResponse_State_ struct { // state is sent when there is a job state change event. State *GetJobStreamResponse_State `protobuf:"bytes,2,opt,name=state,proto3,oneof"` } type GetJobStreamResponse_Terminal_ struct { // terminal output. On initial connection, the server may send buffered // historical terminal data so there isn't a race between queueing a job // and getting its first byte output. You can determine this based on the // flag on Terminal. Terminal *GetJobStreamResponse_Terminal `protobuf:"bytes,3,opt,name=terminal,proto3,oneof"` } type GetJobStreamResponse_Error_ struct { // an error regarding the stream itself, rather than the executing job. // For example, if you request a job stream for an invalid job ID, // this will be sent back. If this is sent, no further messages will // be sent and the stream is terminated. // // For errors in job execution, see "complete". Error *GetJobStreamResponse_Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` } type GetJobStreamResponse_Complete_ struct { // job completion, no more events will follow this one. This can be // both success or failure, the event must be checked. Any errors // in complete are errors from the job execution itself. Complete *GetJobStreamResponse_Complete `protobuf:"bytes,5,opt,name=complete,proto3,oneof"` } func (*GetJobStreamResponse_Open_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_State_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_Terminal_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_Error_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_Complete_) isGetJobStreamResponse_Event() {} type Runner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // id is a unique ID generated by the runner. This should be a UUID or some // other guaranteed unique mechanism. This is not an auth mechanism, just // a way to associate an ID to a runner. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The runner will only be assigned jobs that directly target this // runner by ID. This is used by local runners to prevent external // jobs from being assigned to them. ByIdOnly bool `protobuf:"varint,2,opt,name=by_id_only,json=byIdOnly,proto3" json:"by_id_only,omitempty"` // Components are the list of components that the runner supports. This // is used to match jobs to this runner. Components []*Component `protobuf:"bytes,3,rep,name=components,proto3" json:"components,omitempty"` } func (x *Runner) Reset() { *x = Runner{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Runner) String() string { return protoimpl.X.MessageStringOf(x) } func (*Runner) ProtoMessage() {} func (x *Runner) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[25] 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 Runner.ProtoReflect.Descriptor instead. func (*Runner) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{25} } func (x *Runner) GetId() string { if x != nil { return x.Id } return "" } func (x *Runner) GetByIdOnly() bool { if x != nil { return x.ByIdOnly } return false } func (x *Runner) GetComponents() []*Component { if x != nil { return x.Components } return nil } type RunnerConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *RunnerConfigRequest_Open_ Event isRunnerConfigRequest_Event `protobuf_oneof:"event"` } func (x *RunnerConfigRequest) Reset() { *x = RunnerConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfigRequest) ProtoMessage() {} func (x *RunnerConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[26] 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 RunnerConfigRequest.ProtoReflect.Descriptor instead. func (*RunnerConfigRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{26} } func (m *RunnerConfigRequest) GetEvent() isRunnerConfigRequest_Event { if m != nil { return m.Event } return nil } func (x *RunnerConfigRequest) GetOpen() *RunnerConfigRequest_Open { if x, ok := x.GetEvent().(*RunnerConfigRequest_Open_); ok { return x.Open } return nil } type isRunnerConfigRequest_Event interface { isRunnerConfigRequest_Event() } type RunnerConfigRequest_Open_ struct { Open *RunnerConfigRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } func (*RunnerConfigRequest_Open_) isRunnerConfigRequest_Event() {} type RunnerConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // config is any updated configuration for the runner. Config *RunnerConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *RunnerConfigResponse) Reset() { *x = RunnerConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfigResponse) ProtoMessage() {} func (x *RunnerConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[27] 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 RunnerConfigResponse.ProtoReflect.Descriptor instead. func (*RunnerConfigResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{27} } func (x *RunnerConfigResponse) GetConfig() *RunnerConfig { if x != nil { return x.Config } return nil } type RunnerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The configuration for the runner. Any locally set runner config will // take priority in a conflict. This allows operators to setup runners // with specific configuration without fear that the server will override // them. ConfigVars []*ConfigVar `protobuf:"bytes,1,rep,name=config_vars,json=configVars,proto3" json:"config_vars,omitempty"` } func (x *RunnerConfig) Reset() { *x = RunnerConfig{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfig) ProtoMessage() {} func (x *RunnerConfig) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[28] 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 RunnerConfig.ProtoReflect.Descriptor instead. func (*RunnerConfig) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{28} } func (x *RunnerConfig) GetConfigVars() []*ConfigVar { if x != nil { return x.ConfigVars } return nil } type RunnerJobStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *RunnerJobStreamRequest_Request_ // *RunnerJobStreamRequest_Ack_ // *RunnerJobStreamRequest_Complete_ // *RunnerJobStreamRequest_Error_ // *RunnerJobStreamRequest_Terminal // *RunnerJobStreamRequest_Heartbeat_ Event isRunnerJobStreamRequest_Event `protobuf_oneof:"event"` } func (x *RunnerJobStreamRequest) Reset() { *x = RunnerJobStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest) ProtoMessage() {} func (x *RunnerJobStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[29] 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 RunnerJobStreamRequest.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{29} } func (m *RunnerJobStreamRequest) GetEvent() isRunnerJobStreamRequest_Event { if m != nil { return m.Event } return nil } func (x *RunnerJobStreamRequest) GetRequest() *RunnerJobStreamRequest_Request { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Request_); ok { return x.Request } return nil } func (x *RunnerJobStreamRequest) GetAck() *RunnerJobStreamRequest_Ack { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Ack_); ok { return x.Ack } return nil } func (x *RunnerJobStreamRequest) GetComplete() *RunnerJobStreamRequest_Complete { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Complete_); ok { return x.Complete } return nil } func (x *RunnerJobStreamRequest) GetError() *RunnerJobStreamRequest_Error { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Error_); ok { return x.Error } return nil } func (x *RunnerJobStreamRequest) GetTerminal() *GetJobStreamResponse_Terminal { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Terminal); ok { return x.Terminal } return nil } func (x *RunnerJobStreamRequest) GetHeartbeat() *RunnerJobStreamRequest_Heartbeat { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Heartbeat_); ok { return x.Heartbeat } return nil } type isRunnerJobStreamRequest_Event interface { isRunnerJobStreamRequest_Event() } type RunnerJobStreamRequest_Request_ struct { // request MUST BE the first message sent by a client. This is used to // signify that a runner is ready to accept a job. This is only ever // sent once. Once a job is complete, the client must terminate the // stream and open a new connection. Request *RunnerJobStreamRequest_Request `protobuf:"bytes,1,opt,name=request,proto3,oneof"` } type RunnerJobStreamRequest_Ack_ struct { // ack is sent to accept a job assignment from the server. This // should be sent soon after the job is assigned to avoid the job being // reassigned and duplicated. Ack *RunnerJobStreamRequest_Ack `protobuf:"bytes,2,opt,name=ack,proto3,oneof"` } type RunnerJobStreamRequest_Complete_ struct { // complete is sent on job completion. This is only sent if there // were no errors, so this signals a successful completion. An erroneous // completion is signaled by sending an Error event. Complete *RunnerJobStreamRequest_Complete `protobuf:"bytes,3,opt,name=complete,proto3,oneof"` } type RunnerJobStreamRequest_Error_ struct { // error is sent when there was an error with job execution (after // accept was sent). This signals that the job failed and it cannot // be retried. This terminates the job and no other events should be // sent. Error *RunnerJobStreamRequest_Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` } type RunnerJobStreamRequest_Terminal struct { // terminal output from the job. Terminal *GetJobStreamResponse_Terminal `protobuf:"bytes,5,opt,name=terminal,proto3,oneof"` } type RunnerJobStreamRequest_Heartbeat_ struct { // heartbeat that the job is still running. Heartbeat *RunnerJobStreamRequest_Heartbeat `protobuf:"bytes,6,opt,name=heartbeat,proto3,oneof"` } func (*RunnerJobStreamRequest_Request_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Ack_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Complete_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Error_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Terminal) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Heartbeat_) isRunnerJobStreamRequest_Event() {} type RunnerJobStreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *RunnerJobStreamResponse_Assignment // *RunnerJobStreamResponse_Cancel Event isRunnerJobStreamResponse_Event `protobuf_oneof:"event"` } func (x *RunnerJobStreamResponse) Reset() { *x = RunnerJobStreamResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamResponse) ProtoMessage() {} func (x *RunnerJobStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[30] 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 RunnerJobStreamResponse.ProtoReflect.Descriptor instead. func (*RunnerJobStreamResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{30} } func (m *RunnerJobStreamResponse) GetEvent() isRunnerJobStreamResponse_Event { if m != nil { return m.Event } return nil } func (x *RunnerJobStreamResponse) GetAssignment() *RunnerJobStreamResponse_JobAssignment { if x, ok := x.GetEvent().(*RunnerJobStreamResponse_Assignment); ok { return x.Assignment } return nil } func (x *RunnerJobStreamResponse) GetCancel() *RunnerJobStreamResponse_JobCancel { if x, ok := x.GetEvent().(*RunnerJobStreamResponse_Cancel); ok { return x.Cancel } return nil } type isRunnerJobStreamResponse_Event interface { isRunnerJobStreamResponse_Event() } type RunnerJobStreamResponse_Assignment struct { // assignment is when a job is assigned to this job stream. This // will happen ONLY in response to a "Request" message from the client. Assignment *RunnerJobStreamResponse_JobAssignment `protobuf:"bytes,1,opt,name=assignment,proto3,oneof"` } type RunnerJobStreamResponse_Cancel struct { // cancel is sent when a cancel request is made. Cancel *RunnerJobStreamResponse_JobCancel `protobuf:"bytes,2,opt,name=cancel,proto3,oneof"` } func (*RunnerJobStreamResponse_Assignment) isRunnerJobStreamResponse_Event() {} func (*RunnerJobStreamResponse_Cancel) isRunnerJobStreamResponse_Event() {} type GetRunnerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the runner to request. RunnerId string `protobuf:"bytes,1,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"` } func (x *GetRunnerRequest) Reset() { *x = GetRunnerRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetRunnerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRunnerRequest) ProtoMessage() {} func (x *GetRunnerRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[31] 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 GetRunnerRequest.ProtoReflect.Descriptor instead. func (*GetRunnerRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{31} } func (x *GetRunnerRequest) GetRunnerId() string { if x != nil { return x.RunnerId } return "" } type UpsertBasisRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Basis to upsert. See the message for what fields to set. Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *UpsertBasisRequest) Reset() { *x = UpsertBasisRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertBasisRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertBasisRequest) ProtoMessage() {} func (x *UpsertBasisRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[32] 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 UpsertBasisRequest.ProtoReflect.Descriptor instead. func (*UpsertBasisRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{32} } func (x *UpsertBasisRequest) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type UpsertBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *UpsertBasisResponse) Reset() { *x = UpsertBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertBasisResponse) ProtoMessage() {} func (x *UpsertBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[33] 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 UpsertBasisResponse.ProtoReflect.Descriptor instead. func (*UpsertBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{33} } func (x *UpsertBasisResponse) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type GetBasisRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *GetBasisRequest) Reset() { *x = GetBasisRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBasisRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBasisRequest) ProtoMessage() {} func (x *GetBasisRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[34] 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 GetBasisRequest.ProtoReflect.Descriptor instead. func (*GetBasisRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{34} } func (x *GetBasisRequest) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } type GetBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *GetBasisResponse) Reset() { *x = GetBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBasisResponse) ProtoMessage() {} func (x *GetBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[35] 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 GetBasisResponse.ProtoReflect.Descriptor instead. func (*GetBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{35} } func (x *GetBasisResponse) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type FindBasisRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *FindBasisRequest) Reset() { *x = FindBasisRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindBasisRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindBasisRequest) ProtoMessage() {} func (x *FindBasisRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[36] 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 FindBasisRequest.ProtoReflect.Descriptor instead. func (*FindBasisRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{36} } func (x *FindBasisRequest) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type FindBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *Basis `protobuf:"bytes,2,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *FindBasisResponse) Reset() { *x = FindBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindBasisResponse) ProtoMessage() {} func (x *FindBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[37] 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 FindBasisResponse.ProtoReflect.Descriptor instead. func (*FindBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{37} } func (x *FindBasisResponse) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type ListBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis []*vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,rep,name=basis,proto3" json:"basis,omitempty"` } func (x *ListBasisResponse) Reset() { *x = ListBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListBasisResponse) ProtoMessage() {} func (x *ListBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[38] 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 ListBasisResponse.ProtoReflect.Descriptor instead. func (*ListBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{38} } func (x *ListBasisResponse) GetBasis() []*vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } type UpsertProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Project to upsert. See the message for what fields to set. Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *UpsertProjectRequest) Reset() { *x = UpsertProjectRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertProjectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertProjectRequest) ProtoMessage() {} func (x *UpsertProjectRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[39] 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 UpsertProjectRequest.ProtoReflect.Descriptor instead. func (*UpsertProjectRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{39} } func (x *UpsertProjectRequest) GetProject() *Project { if x != nil { return x.Project } return nil } type UpsertProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *UpsertProjectResponse) Reset() { *x = UpsertProjectResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertProjectResponse) ProtoMessage() {} func (x *UpsertProjectResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[40] 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 UpsertProjectResponse.ProtoReflect.Descriptor instead. func (*UpsertProjectResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{40} } func (x *UpsertProjectResponse) GetProject() *Project { if x != nil { return x.Project } return nil } type GetProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *GetProjectRequest) Reset() { *x = GetProjectRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetProjectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetProjectRequest) ProtoMessage() {} func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[41] 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 GetProjectRequest.ProtoReflect.Descriptor instead. func (*GetProjectRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{41} } func (x *GetProjectRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } type GetProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *GetProjectResponse) Reset() { *x = GetProjectResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetProjectResponse) ProtoMessage() {} func (x *GetProjectResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[42] 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 GetProjectResponse.ProtoReflect.Descriptor instead. func (*GetProjectResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{42} } func (x *GetProjectResponse) GetProject() *Project { if x != nil { return x.Project } return nil } type FindProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *FindProjectRequest) Reset() { *x = FindProjectRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindProjectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindProjectRequest) ProtoMessage() {} func (x *FindProjectRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[43] 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 FindProjectRequest.ProtoReflect.Descriptor instead. func (*FindProjectRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{43} } func (x *FindProjectRequest) GetProject() *Project { if x != nil { return x.Project } return nil } type FindProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *Project `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` } func (x *FindProjectResponse) Reset() { *x = FindProjectResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindProjectResponse) ProtoMessage() {} func (x *FindProjectResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[44] 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 FindProjectResponse.ProtoReflect.Descriptor instead. func (*FindProjectResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{44} } func (x *FindProjectResponse) GetProject() *Project { if x != nil { return x.Project } return nil } type ListProjectsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Projects []*vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` } func (x *ListProjectsResponse) Reset() { *x = ListProjectsResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListProjectsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListProjectsResponse) ProtoMessage() {} func (x *ListProjectsResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[45] 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 ListProjectsResponse.ProtoReflect.Descriptor instead. func (*ListProjectsResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{45} } func (x *ListProjectsResponse) GetProjects() []*vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Projects } return nil } type UpsertTargetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // project to register the app against Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` Target *Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *UpsertTargetRequest) Reset() { *x = UpsertTargetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertTargetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertTargetRequest) ProtoMessage() {} func (x *UpsertTargetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[46] 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 UpsertTargetRequest.ProtoReflect.Descriptor instead. func (*UpsertTargetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{46} } func (x *UpsertTargetRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *UpsertTargetRequest) GetTarget() *Target { if x != nil { return x.Target } return nil } type UpsertTargetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` } func (x *UpsertTargetResponse) Reset() { *x = UpsertTargetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertTargetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertTargetResponse) ProtoMessage() {} func (x *UpsertTargetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[47] 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 UpsertTargetResponse.ProtoReflect.Descriptor instead. func (*UpsertTargetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{47} } func (x *UpsertTargetResponse) GetTarget() *Target { if x != nil { return x.Target } return nil } type DeleteTargetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *DeleteTargetRequest) Reset() { *x = DeleteTargetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteTargetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteTargetRequest) ProtoMessage() {} func (x *DeleteTargetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[48] 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 DeleteTargetRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{48} } func (x *DeleteTargetRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *DeleteTargetRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Target } return nil } type GetTargetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *GetTargetRequest) Reset() { *x = GetTargetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetTargetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetTargetRequest) ProtoMessage() {} func (x *GetTargetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[49] 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 GetTargetRequest.ProtoReflect.Descriptor instead. func (*GetTargetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{49} } func (x *GetTargetRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *GetTargetRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Target } return nil } type GetTargetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` } func (x *GetTargetResponse) Reset() { *x = GetTargetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetTargetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetTargetResponse) ProtoMessage() {} func (x *GetTargetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[50] 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 GetTargetResponse.ProtoReflect.Descriptor instead. func (*GetTargetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{50} } func (x *GetTargetResponse) GetTarget() *Target { if x != nil { return x.Target } return nil } type FindTargetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` } func (x *FindTargetRequest) Reset() { *x = FindTargetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindTargetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindTargetRequest) ProtoMessage() {} func (x *FindTargetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[51] 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 FindTargetRequest.ProtoReflect.Descriptor instead. func (*FindTargetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{51} } func (x *FindTargetRequest) GetTarget() *Target { if x != nil { return x.Target } return nil } type FindTargetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *FindTargetResponse) Reset() { *x = FindTargetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindTargetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindTargetResponse) ProtoMessage() {} func (x *FindTargetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[52] 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 FindTargetResponse.ProtoReflect.Descriptor instead. func (*FindTargetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{52} } func (x *FindTargetResponse) GetTarget() *Target { if x != nil { return x.Target } return nil } type ListTargetsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Targets []*vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,rep,name=targets,proto3" json:"targets,omitempty"` } func (x *ListTargetsResponse) Reset() { *x = ListTargetsResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListTargetsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListTargetsResponse) ProtoMessage() {} func (x *ListTargetsResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[53] 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 ListTargetsResponse.ProtoReflect.Descriptor instead. func (*ListTargetsResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{53} } func (x *ListTargetsResponse) GetTargets() []*vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Targets } return nil } type UpsertBoxRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Box *Box `protobuf:"bytes,1,opt,name=box,proto3" json:"box,omitempty"` } func (x *UpsertBoxRequest) Reset() { *x = UpsertBoxRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertBoxRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertBoxRequest) ProtoMessage() {} func (x *UpsertBoxRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[54] 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 UpsertBoxRequest.ProtoReflect.Descriptor instead. func (*UpsertBoxRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{54} } func (x *UpsertBoxRequest) GetBox() *Box { if x != nil { return x.Box } return nil } type UpsertBoxResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Box *Box `protobuf:"bytes,1,opt,name=box,proto3" json:"box,omitempty"` } func (x *UpsertBoxResponse) Reset() { *x = UpsertBoxResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertBoxResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertBoxResponse) ProtoMessage() {} func (x *UpsertBoxResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[55] 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 UpsertBoxResponse.ProtoReflect.Descriptor instead. func (*UpsertBoxResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{55} } func (x *UpsertBoxResponse) GetBox() *Box { if x != nil { return x.Box } return nil } type DeleteBoxRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Box *vagrant_plugin_sdk.Ref_Box `protobuf:"bytes,1,opt,name=box,proto3" json:"box,omitempty"` } func (x *DeleteBoxRequest) Reset() { *x = DeleteBoxRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteBoxRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteBoxRequest) ProtoMessage() {} func (x *DeleteBoxRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[56] 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 DeleteBoxRequest.ProtoReflect.Descriptor instead. func (*DeleteBoxRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{56} } func (x *DeleteBoxRequest) GetBox() *vagrant_plugin_sdk.Ref_Box { if x != nil { return x.Box } return nil } type GetBoxRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Box *vagrant_plugin_sdk.Ref_Box `protobuf:"bytes,2,opt,name=box,proto3" json:"box,omitempty"` } func (x *GetBoxRequest) Reset() { *x = GetBoxRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBoxRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBoxRequest) ProtoMessage() {} func (x *GetBoxRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[57] 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 GetBoxRequest.ProtoReflect.Descriptor instead. func (*GetBoxRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{57} } func (x *GetBoxRequest) GetBox() *vagrant_plugin_sdk.Ref_Box { if x != nil { return x.Box } return nil } type GetBoxResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Box *Box `protobuf:"bytes,1,opt,name=box,proto3" json:"box,omitempty"` } func (x *GetBoxResponse) Reset() { *x = GetBoxResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBoxResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBoxResponse) ProtoMessage() {} func (x *GetBoxResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[58] 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 GetBoxResponse.ProtoReflect.Descriptor instead. func (*GetBoxResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{58} } func (x *GetBoxResponse) GetBox() *Box { if x != nil { return x.Box } return nil } type ListBoxesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Boxes []*vagrant_plugin_sdk.Ref_Box `protobuf:"bytes,1,rep,name=boxes,proto3" json:"boxes,omitempty"` } func (x *ListBoxesResponse) Reset() { *x = ListBoxesResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListBoxesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListBoxesResponse) ProtoMessage() {} func (x *ListBoxesResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[59] 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 ListBoxesResponse.ProtoReflect.Descriptor instead. func (*ListBoxesResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{59} } func (x *ListBoxesResponse) GetBoxes() []*vagrant_plugin_sdk.Ref_Box { if x != nil { return x.Boxes } return nil } type FindBoxRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Box *vagrant_plugin_sdk.Ref_Box `protobuf:"bytes,2,opt,name=box,proto3" json:"box,omitempty"` } func (x *FindBoxRequest) Reset() { *x = FindBoxRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindBoxRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindBoxRequest) ProtoMessage() {} func (x *FindBoxRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[60] 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 FindBoxRequest.ProtoReflect.Descriptor instead. func (*FindBoxRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{60} } func (x *FindBoxRequest) GetBox() *vagrant_plugin_sdk.Ref_Box { if x != nil { return x.Box } return nil } type FindBoxResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Box *Box `protobuf:"bytes,1,opt,name=box,proto3" json:"box,omitempty"` } func (x *FindBoxResponse) Reset() { *x = FindBoxResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindBoxResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindBoxResponse) ProtoMessage() {} func (x *FindBoxResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[61] 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 FindBoxResponse.ProtoReflect.Descriptor instead. func (*FindBoxResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{61} } func (x *FindBoxResponse) GetBox() *Box { if x != nil { return x.Box } return nil } type GetLogStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Scope: // // *GetLogStreamRequest_Basis // *GetLogStreamRequest_Project // *GetLogStreamRequest_Target Scope isGetLogStreamRequest_Scope `protobuf_oneof:"scope"` // limit_backlog sets the maximum backlog lines to return on the initial // connection. This setting is per instance, not global. The maximum // backlog to expect is `n * limit_backlog` where n is the number of // instances. // // A negative value will not limit the backlog. // // A value of zero will default to a value of 50. LimitBacklog int32 `protobuf:"varint,4,opt,name=limit_backlog,json=limitBacklog,proto3" json:"limit_backlog,omitempty"` } func (x *GetLogStreamRequest) Reset() { *x = GetLogStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetLogStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLogStreamRequest) ProtoMessage() {} func (x *GetLogStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[62] 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 GetLogStreamRequest.ProtoReflect.Descriptor instead. func (*GetLogStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{62} } func (m *GetLogStreamRequest) GetScope() isGetLogStreamRequest_Scope { if m != nil { return m.Scope } return nil } func (x *GetLogStreamRequest) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*GetLogStreamRequest_Basis); ok { return x.Basis } return nil } func (x *GetLogStreamRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*GetLogStreamRequest_Project); ok { return x.Project } return nil } func (x *GetLogStreamRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*GetLogStreamRequest_Target); ok { return x.Target } return nil } func (x *GetLogStreamRequest) GetLimitBacklog() int32 { if x != nil { return x.LimitBacklog } return 0 } type isGetLogStreamRequest_Scope interface { isGetLogStreamRequest_Scope() } type GetLogStreamRequest_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3,oneof"` } type GetLogStreamRequest_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` } type GetLogStreamRequest_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,3,opt,name=target,proto3,oneof"` } func (*GetLogStreamRequest_Basis) isGetLogStreamRequest_Scope() {} func (*GetLogStreamRequest_Project) isGetLogStreamRequest_Scope() {} func (*GetLogStreamRequest_Target) isGetLogStreamRequest_Scope() {} type LogBatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` Lines []*LogBatch_Entry `protobuf:"bytes,3,rep,name=lines,proto3" json:"lines,omitempty"` } func (x *LogBatch) Reset() { *x = LogBatch{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LogBatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*LogBatch) ProtoMessage() {} func (x *LogBatch) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[63] 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 LogBatch.ProtoReflect.Descriptor instead. func (*LogBatch) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{63} } func (x *LogBatch) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } func (x *LogBatch) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } func (x *LogBatch) GetLines() []*LogBatch_Entry { if x != nil { return x.Lines } return nil } type ConfigVar struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // scope is the scoping for this config variable. // // Types that are assignable to Scope: // // *ConfigVar_Basis // *ConfigVar_Project // *ConfigVar_Target // *ConfigVar_Runner Scope isConfigVar_Scope `protobuf_oneof:"scope"` } func (x *ConfigVar) Reset() { *x = ConfigVar{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigVar) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigVar) ProtoMessage() {} func (x *ConfigVar) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[64] 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 ConfigVar.ProtoReflect.Descriptor instead. func (*ConfigVar) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{64} } func (x *ConfigVar) GetName() string { if x != nil { return x.Name } return "" } func (x *ConfigVar) GetValue() string { if x != nil { return x.Value } return "" } func (m *ConfigVar) GetScope() isConfigVar_Scope { if m != nil { return m.Scope } return nil } func (x *ConfigVar) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*ConfigVar_Basis); ok { return x.Basis } return nil } func (x *ConfigVar) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*ConfigVar_Project); ok { return x.Project } return nil } func (x *ConfigVar) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*ConfigVar_Target); ok { return x.Target } return nil } func (x *ConfigVar) GetRunner() *Ref_Runner { if x, ok := x.GetScope().(*ConfigVar_Runner); ok { return x.Runner } return nil } type isConfigVar_Scope interface { isConfigVar_Scope() } type ConfigVar_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,3,opt,name=basis,proto3,oneof"` } type ConfigVar_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,4,opt,name=project,proto3,oneof"` } type ConfigVar_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,5,opt,name=target,proto3,oneof"` } type ConfigVar_Runner struct { // This specifies that the configuration variable is for runners only. // You can use more complex runner targeting via this ref. Runner *Ref_Runner `protobuf:"bytes,6,opt,name=runner,proto3,oneof"` } func (*ConfigVar_Basis) isConfigVar_Scope() {} func (*ConfigVar_Project) isConfigVar_Scope() {} func (*ConfigVar_Target) isConfigVar_Scope() {} func (*ConfigVar_Runner) isConfigVar_Scope() {} type ConfigSetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Variables []*ConfigVar `protobuf:"bytes,1,rep,name=variables,proto3" json:"variables,omitempty"` } func (x *ConfigSetRequest) Reset() { *x = ConfigSetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSetRequest) ProtoMessage() {} func (x *ConfigSetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[65] 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 ConfigSetRequest.ProtoReflect.Descriptor instead. func (*ConfigSetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{65} } func (x *ConfigSetRequest) GetVariables() []*ConfigVar { if x != nil { return x.Variables } return nil } type ConfigSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ConfigSetResponse) Reset() { *x = ConfigSetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSetResponse) ProtoMessage() {} func (x *ConfigSetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[66] 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 ConfigSetResponse.ProtoReflect.Descriptor instead. func (*ConfigSetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{66} } type ConfigGetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // scope is the scoping for this config variable. // // Types that are assignable to Scope: // // *ConfigGetRequest_Target // *ConfigGetRequest_Project // *ConfigGetRequest_Basis // *ConfigGetRequest_Runner Scope isConfigGetRequest_Scope `protobuf_oneof:"scope"` // Get all configuration entries under the given prefix. When empty, // returns all config variables. Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` } func (x *ConfigGetRequest) Reset() { *x = ConfigGetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigGetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigGetRequest) ProtoMessage() {} func (x *ConfigGetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[67] 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 ConfigGetRequest.ProtoReflect.Descriptor instead. func (*ConfigGetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{67} } func (m *ConfigGetRequest) GetScope() isConfigGetRequest_Scope { if m != nil { return m.Scope } return nil } func (x *ConfigGetRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*ConfigGetRequest_Target); ok { return x.Target } return nil } func (x *ConfigGetRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*ConfigGetRequest_Project); ok { return x.Project } return nil } func (x *ConfigGetRequest) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*ConfigGetRequest_Basis); ok { return x.Basis } return nil } func (x *ConfigGetRequest) GetRunner() *Ref_RunnerId { if x, ok := x.GetScope().(*ConfigGetRequest_Runner); ok { return x.Runner } return nil } func (x *ConfigGetRequest) GetPrefix() string { if x != nil { return x.Prefix } return "" } type isConfigGetRequest_Scope interface { isConfigGetRequest_Scope() } type ConfigGetRequest_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,2,opt,name=target,proto3,oneof"` } type ConfigGetRequest_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,3,opt,name=project,proto3,oneof"` } type ConfigGetRequest_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,4,opt,name=basis,proto3,oneof"` } type ConfigGetRequest_Runner struct { Runner *Ref_RunnerId `protobuf:"bytes,5,opt,name=runner,proto3,oneof"` } func (*ConfigGetRequest_Target) isConfigGetRequest_Scope() {} func (*ConfigGetRequest_Project) isConfigGetRequest_Scope() {} func (*ConfigGetRequest_Basis) isConfigGetRequest_Scope() {} func (*ConfigGetRequest_Runner) isConfigGetRequest_Scope() {} type ConfigGetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Variables []*ConfigVar `protobuf:"bytes,1,rep,name=variables,proto3" json:"variables,omitempty"` } func (x *ConfigGetResponse) Reset() { *x = ConfigGetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigGetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigGetResponse) ProtoMessage() {} func (x *ConfigGetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[68] 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 ConfigGetResponse.ProtoReflect.Descriptor instead. func (*ConfigGetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{68} } func (x *ConfigGetResponse) GetVariables() []*ConfigVar { if x != nil { return x.Variables } return nil } type ExecStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *ExecStreamRequest_Start_ // *ExecStreamRequest_Input_ // *ExecStreamRequest_Winch Event isExecStreamRequest_Event `protobuf_oneof:"event"` } func (x *ExecStreamRequest) Reset() { *x = ExecStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest) ProtoMessage() {} func (x *ExecStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[69] 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 ExecStreamRequest.ProtoReflect.Descriptor instead. func (*ExecStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69} } func (m *ExecStreamRequest) GetEvent() isExecStreamRequest_Event { if m != nil { return m.Event } return nil } func (x *ExecStreamRequest) GetStart() *ExecStreamRequest_Start { if x, ok := x.GetEvent().(*ExecStreamRequest_Start_); ok { return x.Start } return nil } func (x *ExecStreamRequest) GetInput() *ExecStreamRequest_Input { if x, ok := x.GetEvent().(*ExecStreamRequest_Input_); ok { return x.Input } return nil } func (x *ExecStreamRequest) GetWinch() *ExecStreamRequest_WindowSize { if x, ok := x.GetEvent().(*ExecStreamRequest_Winch); ok { return x.Winch } return nil } type isExecStreamRequest_Event interface { isExecStreamRequest_Event() } type ExecStreamRequest_Start_ struct { Start *ExecStreamRequest_Start `protobuf:"bytes,1,opt,name=start,proto3,oneof"` } type ExecStreamRequest_Input_ struct { Input *ExecStreamRequest_Input `protobuf:"bytes,2,opt,name=input,proto3,oneof"` } type ExecStreamRequest_Winch struct { Winch *ExecStreamRequest_WindowSize `protobuf:"bytes,3,opt,name=winch,proto3,oneof"` } func (*ExecStreamRequest_Start_) isExecStreamRequest_Event() {} func (*ExecStreamRequest_Input_) isExecStreamRequest_Event() {} func (*ExecStreamRequest_Winch) isExecStreamRequest_Event() {} type ExecStreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *ExecStreamResponse_Open_ // *ExecStreamResponse_Output_ // *ExecStreamResponse_Exit_ Event isExecStreamResponse_Event `protobuf_oneof:"event"` } func (x *ExecStreamResponse) Reset() { *x = ExecStreamResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse) ProtoMessage() {} func (x *ExecStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[70] 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 ExecStreamResponse.ProtoReflect.Descriptor instead. func (*ExecStreamResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{70} } func (m *ExecStreamResponse) GetEvent() isExecStreamResponse_Event { if m != nil { return m.Event } return nil } func (x *ExecStreamResponse) GetOpen() *ExecStreamResponse_Open { if x, ok := x.GetEvent().(*ExecStreamResponse_Open_); ok { return x.Open } return nil } func (x *ExecStreamResponse) GetOutput() *ExecStreamResponse_Output { if x, ok := x.GetEvent().(*ExecStreamResponse_Output_); ok { return x.Output } return nil } func (x *ExecStreamResponse) GetExit() *ExecStreamResponse_Exit { if x, ok := x.GetEvent().(*ExecStreamResponse_Exit_); ok { return x.Exit } return nil } type isExecStreamResponse_Event interface { isExecStreamResponse_Event() } type ExecStreamResponse_Open_ struct { // Open is always sent first no matter what (unless there is an error // in which case the stream will exit). This should be used to validate // that the exec process started properly. Open *ExecStreamResponse_Open `protobuf:"bytes,3,opt,name=open,proto3,oneof"` } type ExecStreamResponse_Output_ struct { Output *ExecStreamResponse_Output `protobuf:"bytes,1,opt,name=output,proto3,oneof"` } type ExecStreamResponse_Exit_ struct { Exit *ExecStreamResponse_Exit `protobuf:"bytes,2,opt,name=exit,proto3,oneof"` } func (*ExecStreamResponse_Open_) isExecStreamResponse_Event() {} func (*ExecStreamResponse_Output_) isExecStreamResponse_Event() {} func (*ExecStreamResponse_Exit_) isExecStreamResponse_Event() {} type EntrypointConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // id of the deployment that this instance is a part of DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` // instance_id is a unique ID generated by the running entrypoint. This is // not an auth mechanism, just a way to associate data with the correct instance. InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` } func (x *EntrypointConfigRequest) Reset() { *x = EntrypointConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfigRequest) ProtoMessage() {} func (x *EntrypointConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[71] 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 EntrypointConfigRequest.ProtoReflect.Descriptor instead. func (*EntrypointConfigRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{71} } func (x *EntrypointConfigRequest) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } func (x *EntrypointConfigRequest) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } type EntrypointConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *EntrypointConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *EntrypointConfigResponse) Reset() { *x = EntrypointConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfigResponse) ProtoMessage() {} func (x *EntrypointConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[72] 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 EntrypointConfigResponse.ProtoReflect.Descriptor instead. func (*EntrypointConfigResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{72} } func (x *EntrypointConfigResponse) GetConfig() *EntrypointConfig { if x != nil { return x.Config } return nil } type EntrypointConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Exec are requested exec sessions for this instance. Exec []*EntrypointConfig_Exec `protobuf:"bytes,1,rep,name=exec,proto3" json:"exec,omitempty"` EnvVars []*ConfigVar `protobuf:"bytes,2,rep,name=env_vars,json=envVars,proto3" json:"env_vars,omitempty"` // The URL service configuration. This might be nil. If this is nil, // then the URL service is disabled. UrlService *EntrypointConfig_URLService `protobuf:"bytes,3,opt,name=url_service,json=urlService,proto3" json:"url_service,omitempty"` } func (x *EntrypointConfig) Reset() { *x = EntrypointConfig{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfig) ProtoMessage() {} func (x *EntrypointConfig) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[73] 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 EntrypointConfig.ProtoReflect.Descriptor instead. func (*EntrypointConfig) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{73} } func (x *EntrypointConfig) GetExec() []*EntrypointConfig_Exec { if x != nil { return x.Exec } return nil } func (x *EntrypointConfig) GetEnvVars() []*ConfigVar { if x != nil { return x.EnvVars } return nil } func (x *EntrypointConfig) GetUrlService() *EntrypointConfig_URLService { if x != nil { return x.UrlService } return nil } // A batch of data for log streaming from the entrypoint. type EntrypointLogBatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // instance_id is a unique ID generated by the running entrypoint. This is // not an auth mechanism, just a way to associate data with the correct instance. InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // lines is the set of lines Lines []*LogBatch_Entry `protobuf:"bytes,2,rep,name=lines,proto3" json:"lines,omitempty"` } func (x *EntrypointLogBatch) Reset() { *x = EntrypointLogBatch{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointLogBatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointLogBatch) ProtoMessage() {} func (x *EntrypointLogBatch) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[74] 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 EntrypointLogBatch.ProtoReflect.Descriptor instead. func (*EntrypointLogBatch) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{74} } func (x *EntrypointLogBatch) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } func (x *EntrypointLogBatch) GetLines() []*LogBatch_Entry { if x != nil { return x.Lines } return nil } type EntrypointExecRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *EntrypointExecRequest_Open_ // *EntrypointExecRequest_Exit_ // *EntrypointExecRequest_Output_ // *EntrypointExecRequest_Error_ Event isEntrypointExecRequest_Event `protobuf_oneof:"event"` } func (x *EntrypointExecRequest) Reset() { *x = EntrypointExecRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest) ProtoMessage() {} func (x *EntrypointExecRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[75] 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 EntrypointExecRequest.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{75} } func (m *EntrypointExecRequest) GetEvent() isEntrypointExecRequest_Event { if m != nil { return m.Event } return nil } func (x *EntrypointExecRequest) GetOpen() *EntrypointExecRequest_Open { if x, ok := x.GetEvent().(*EntrypointExecRequest_Open_); ok { return x.Open } return nil } func (x *EntrypointExecRequest) GetExit() *EntrypointExecRequest_Exit { if x, ok := x.GetEvent().(*EntrypointExecRequest_Exit_); ok { return x.Exit } return nil } func (x *EntrypointExecRequest) GetOutput() *EntrypointExecRequest_Output { if x, ok := x.GetEvent().(*EntrypointExecRequest_Output_); ok { return x.Output } return nil } func (x *EntrypointExecRequest) GetError() *EntrypointExecRequest_Error { if x, ok := x.GetEvent().(*EntrypointExecRequest_Error_); ok { return x.Error } return nil } type isEntrypointExecRequest_Event interface { isEntrypointExecRequest_Event() } type EntrypointExecRequest_Open_ struct { // open MUST BE the first message sent by a client. This will be used // by the server side to perform some initialization. If the first message // is not open the server will close the connection. Open *EntrypointExecRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type EntrypointExecRequest_Exit_ struct { // exit should be sent as a final message type after the command exits. Exit *EntrypointExecRequest_Exit `protobuf:"bytes,2,opt,name=exit,proto3,oneof"` } type EntrypointExecRequest_Output_ struct { // output contains stdout/stderr Output *EntrypointExecRequest_Output `protobuf:"bytes,3,opt,name=output,proto3,oneof"` } type EntrypointExecRequest_Error_ struct { // error indicates an error occurred. This will terminate the stream. Error *EntrypointExecRequest_Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` } func (*EntrypointExecRequest_Open_) isEntrypointExecRequest_Event() {} func (*EntrypointExecRequest_Exit_) isEntrypointExecRequest_Event() {} func (*EntrypointExecRequest_Output_) isEntrypointExecRequest_Event() {} func (*EntrypointExecRequest_Error_) isEntrypointExecRequest_Event() {} type EntrypointExecResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *EntrypointExecResponse_Input // *EntrypointExecResponse_Winch // *EntrypointExecResponse_Opened Event isEntrypointExecResponse_Event `protobuf_oneof:"event"` } func (x *EntrypointExecResponse) Reset() { *x = EntrypointExecResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecResponse) ProtoMessage() {} func (x *EntrypointExecResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[76] 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 EntrypointExecResponse.ProtoReflect.Descriptor instead. func (*EntrypointExecResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{76} } func (m *EntrypointExecResponse) GetEvent() isEntrypointExecResponse_Event { if m != nil { return m.Event } return nil } func (x *EntrypointExecResponse) GetInput() []byte { if x, ok := x.GetEvent().(*EntrypointExecResponse_Input); ok { return x.Input } return nil } func (x *EntrypointExecResponse) GetWinch() *ExecStreamRequest_WindowSize { if x, ok := x.GetEvent().(*EntrypointExecResponse_Winch); ok { return x.Winch } return nil } func (x *EntrypointExecResponse) GetOpened() bool { if x, ok := x.GetEvent().(*EntrypointExecResponse_Opened); ok { return x.Opened } return false } type isEntrypointExecResponse_Event interface { isEntrypointExecResponse_Event() } type EntrypointExecResponse_Input struct { // input is raw stdin input from the client Input []byte `protobuf:"bytes,1,opt,name=input,proto3,oneof"` } type EntrypointExecResponse_Winch struct { // winch is SIGWNCH information for window sizing Winch *ExecStreamRequest_WindowSize `protobuf:"bytes,2,opt,name=winch,proto3,oneof"` } type EntrypointExecResponse_Opened struct { // opened is sent when the entrypoint session is successfully opened. // The value of this message is meaningless. The existence of the message // itself is a signal that the stream was opened properly. Opened bool `protobuf:"varint,3,opt,name=opened,proto3,oneof"` } func (*EntrypointExecResponse_Input) isEntrypointExecResponse_Event() {} func (*EntrypointExecResponse_Winch) isEntrypointExecResponse_Event() {} func (*EntrypointExecResponse_Opened) isEntrypointExecResponse_Event() {} // The outer structure of the token that is directly Marshaled and // ASCII armored. type TokenTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A Marshaled token, stored as bytes because we need to to validate // it with the given signature. Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` // The signature of body for validation. Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` // The key used to generate the signature. KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` // Any configuration style metadata that can be passed along with the token // without invalidating the token body itself. Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *TokenTransport) Reset() { *x = TokenTransport{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenTransport) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenTransport) ProtoMessage() {} func (x *TokenTransport) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[77] 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 TokenTransport.ProtoReflect.Descriptor instead. func (*TokenTransport) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{77} } func (x *TokenTransport) GetBody() []byte { if x != nil { return x.Body } return nil } func (x *TokenTransport) GetSignature() []byte { if x != nil { return x.Signature } return nil } func (x *TokenTransport) GetKeyId() string { if x != nil { return x.KeyId } return "" } func (x *TokenTransport) GetMetadata() map[string]string { if x != nil { return x.Metadata } return nil } // The authenticated Token information. This is used to authenticate requests. type Token struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The user that the token is fore. User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` // A random id for the token. Also functions as a nonce when signing. TokenId []byte `protobuf:"bytes,2,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"` // When the token is valid until. After the given date, the token will be rejected. // When this is not set, the token is valid forever. ValidUntil *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=valid_until,json=validUntil,proto3" json:"valid_until,omitempty"` // Indicates whether or not this token can be used for to authenticate RPCs. Login bool `protobuf:"varint,4,opt,name=login,proto3" json:"login,omitempty"` // Inidicates whether or not this token can be used as an invite. Invite bool `protobuf:"varint,5,opt,name=invite,proto3" json:"invite,omitempty"` // Entrypoint if set indicates that this token is for entrypoint binary // usage only and specific restrictions are specified in this message. Entrypoint *Token_Entrypoint `protobuf:"bytes,6,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` } func (x *Token) Reset() { *x = Token{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Token) String() string { return protoimpl.X.MessageStringOf(x) } func (*Token) ProtoMessage() {} func (x *Token) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[78] 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 Token.ProtoReflect.Descriptor instead. func (*Token) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{78} } func (x *Token) GetUser() string { if x != nil { return x.User } return "" } func (x *Token) GetTokenId() []byte { if x != nil { return x.TokenId } return nil } func (x *Token) GetValidUntil() *timestamppb.Timestamp { if x != nil { return x.ValidUntil } return nil } func (x *Token) GetLogin() bool { if x != nil { return x.Login } return false } func (x *Token) GetInvite() bool { if x != nil { return x.Invite } return false } func (x *Token) GetEntrypoint() *Token_Entrypoint { if x != nil { return x.Entrypoint } return nil } // Represents a key used to sign tokens using HMAC type HMACKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The identifier of the key. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // A randomly generated key used to sign tokens with Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } func (x *HMACKey) Reset() { *x = HMACKey{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HMACKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*HMACKey) ProtoMessage() {} func (x *HMACKey) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[79] 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 HMACKey.ProtoReflect.Descriptor instead. func (*HMACKey) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{79} } func (x *HMACKey) GetId() string { if x != nil { return x.Id } return "" } func (x *HMACKey) GetKey() []byte { if x != nil { return x.Key } return nil } // Passed with GenerateInviteToken with the params on how the invite token should // be generate. type InviteTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How long the token should be valid until. The resulting token has a timestamp // encoded within it by adding the current time to this duration. Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` // If set, the token generated by this invite code is for the given entrypoint. Entrypoint *Token_Entrypoint `protobuf:"bytes,2,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` } func (x *InviteTokenRequest) Reset() { *x = InviteTokenRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InviteTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InviteTokenRequest) ProtoMessage() {} func (x *InviteTokenRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[80] 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 InviteTokenRequest.ProtoReflect.Descriptor instead. func (*InviteTokenRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{80} } func (x *InviteTokenRequest) GetDuration() string { if x != nil { return x.Duration } return "" } func (x *InviteTokenRequest) GetEntrypoint() *Token_Entrypoint { if x != nil { return x.Entrypoint } return nil } // Returned by any action that creates a token. type NewTokenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The new token which can be presented to whichever API expects it. Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } func (x *NewTokenResponse) Reset() { *x = NewTokenResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NewTokenResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewTokenResponse) ProtoMessage() {} func (x *NewTokenResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[81] 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 NewTokenResponse.ProtoReflect.Descriptor instead. func (*NewTokenResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{81} } func (x *NewTokenResponse) GetToken() string { if x != nil { return x.Token } return "" } // Passed to ConvertInviteToken to create a new token that can be used to authenticate RPCs. type ConvertInviteTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A token previous returned by GenerateInviteToken. Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } func (x *ConvertInviteTokenRequest) Reset() { *x = ConvertInviteTokenRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConvertInviteTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConvertInviteTokenRequest) ProtoMessage() {} func (x *ConvertInviteTokenRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[82] 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 ConvertInviteTokenRequest.ProtoReflect.Descriptor instead. func (*ConvertInviteTokenRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{82} } func (x *ConvertInviteTokenRequest) GetToken() string { if x != nil { return x.Token } return "" } type CreateSnapshotResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *CreateSnapshotResponse_Open_ // *CreateSnapshotResponse_Chunk Event isCreateSnapshotResponse_Event `protobuf_oneof:"event"` } func (x *CreateSnapshotResponse) Reset() { *x = CreateSnapshotResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateSnapshotResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateSnapshotResponse) ProtoMessage() {} func (x *CreateSnapshotResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[83] 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 CreateSnapshotResponse.ProtoReflect.Descriptor instead. func (*CreateSnapshotResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{83} } func (m *CreateSnapshotResponse) GetEvent() isCreateSnapshotResponse_Event { if m != nil { return m.Event } return nil } func (x *CreateSnapshotResponse) GetOpen() *CreateSnapshotResponse_Open { if x, ok := x.GetEvent().(*CreateSnapshotResponse_Open_); ok { return x.Open } return nil } func (x *CreateSnapshotResponse) GetChunk() []byte { if x, ok := x.GetEvent().(*CreateSnapshotResponse_Chunk); ok { return x.Chunk } return nil } type isCreateSnapshotResponse_Event interface { isCreateSnapshotResponse_Event() } type CreateSnapshotResponse_Open_ struct { // Open is sent as the opening message with information about the // snapshot. This is always sent first (before any data). Open *CreateSnapshotResponse_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type CreateSnapshotResponse_Chunk struct { // Chunk is a next chunk of data. You should continue to expect // data until an EOF is received on the stream. Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` } func (*CreateSnapshotResponse_Open_) isCreateSnapshotResponse_Event() {} func (*CreateSnapshotResponse_Chunk) isCreateSnapshotResponse_Event() {} type RestoreSnapshotRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // // *RestoreSnapshotRequest_Open_ // *RestoreSnapshotRequest_Chunk Event isRestoreSnapshotRequest_Event `protobuf_oneof:"event"` } func (x *RestoreSnapshotRequest) Reset() { *x = RestoreSnapshotRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreSnapshotRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreSnapshotRequest) ProtoMessage() {} func (x *RestoreSnapshotRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[84] 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 RestoreSnapshotRequest.ProtoReflect.Descriptor instead. func (*RestoreSnapshotRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{84} } func (m *RestoreSnapshotRequest) GetEvent() isRestoreSnapshotRequest_Event { if m != nil { return m.Event } return nil } func (x *RestoreSnapshotRequest) GetOpen() *RestoreSnapshotRequest_Open { if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Open_); ok { return x.Open } return nil } func (x *RestoreSnapshotRequest) GetChunk() []byte { if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Chunk); ok { return x.Chunk } return nil } type isRestoreSnapshotRequest_Event interface { isRestoreSnapshotRequest_Event() } type RestoreSnapshotRequest_Open_ struct { // Open MUST be sent as the first message and sent exactly once. // This sets the settings for the restore. Open *RestoreSnapshotRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type RestoreSnapshotRequest_Chunk struct { // Chunk is a chunk of restore data. The restore snapshot API will // continue reading data until an EOF is received (the write end is // closed). Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` } func (*RestoreSnapshotRequest_Open_) isRestoreSnapshotRequest_Event() {} func (*RestoreSnapshotRequest_Chunk) isRestoreSnapshotRequest_Event() {} // Snapshot is the encoding of the snapshot for all snapshot APIs. // The encoding is proto.Message delimited data. This is also the encoding // expected if the vagrant-restore.db file is copied manually from the // snapshot data. // // For snapshots, the Header message is always guaranteed first. After that, // it is NOT guaranteed that only data chunks are sent. It is only guaranteed // that the data chunks are over at EOF. Unknown messages can probably be // ignored. // // It is HIGHLY RECOMMENDED you do not modify snapshots, but these messages // are publicly exported so that you can try to inspect snapshots. type Snapshot struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Snapshot) Reset() { *x = Snapshot{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot) ProtoMessage() {} func (x *Snapshot) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[85] 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 Snapshot.ProtoReflect.Descriptor instead. func (*Snapshot) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{85} } type VersionInfo_ProtocolVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Current uint32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` Minimum uint32 `protobuf:"varint,2,opt,name=minimum,proto3" json:"minimum,omitempty"` } func (x *VersionInfo_ProtocolVersion) Reset() { *x = VersionInfo_ProtocolVersion{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VersionInfo_ProtocolVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*VersionInfo_ProtocolVersion) ProtoMessage() {} func (x *VersionInfo_ProtocolVersion) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[86] 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 VersionInfo_ProtocolVersion.ProtoReflect.Descriptor instead. func (*VersionInfo_ProtocolVersion) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{1, 0} } func (x *VersionInfo_ProtocolVersion) GetCurrent() uint32 { if x != nil { return x.Current } return 0 } func (x *VersionInfo_ProtocolVersion) GetMinimum() uint32 { if x != nil { return x.Minimum } return 0 } // Specialized target (machine) type Target_Machine struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of machine as assigned by provider Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Box information for guest Box *Box `protobuf:"bytes,7,opt,name=box,proto3" json:"box,omitempty"` // User ID of machine creator Uid string `protobuf:"bytes,9,opt,name=uid,proto3" json:"uid,omitempty"` // State of the machine (Vagrant representation) State *vagrant_plugin_sdk.Args_Target_Machine_State `protobuf:"bytes,10,opt,name=state,proto3" json:"state,omitempty"` } func (x *Target_Machine) Reset() { *x = Target_Machine{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Target_Machine) String() string { return protoimpl.X.MessageStringOf(x) } func (*Target_Machine) ProtoMessage() {} func (x *Target_Machine) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[87] 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 Target_Machine.ProtoReflect.Descriptor instead. func (*Target_Machine) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{6, 0} } func (x *Target_Machine) GetId() string { if x != nil { return x.Id } return "" } func (x *Target_Machine) GetBox() *Box { if x != nil { return x.Box } return nil } func (x *Target_Machine) GetUid() string { if x != nil { return x.Uid } return "" } func (x *Target_Machine) GetState() *vagrant_plugin_sdk.Args_Target_Machine_State { if x != nil { return x.State } return nil } // Component references a component. type Ref_Component struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type Component_Type `protobuf:"varint,1,opt,name=type,proto3,enum=hashicorp.vagrant.Component_Type" json:"type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *Ref_Component) Reset() { *x = Ref_Component{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Component) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Component) ProtoMessage() {} func (x *Ref_Component) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[88] 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 Ref_Component.ProtoReflect.Descriptor instead. func (*Ref_Component) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 0} } func (x *Ref_Component) GetType() Component_Type { if x != nil { return x.Type } return Component_UNKNOWN } func (x *Ref_Component) GetName() string { if x != nil { return x.Name } return "" } // Operation references an operation (build, deploy, etc.). This can reference // an operation in multiple ways so you must use the oneof to choose. type Ref_Operation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Target: // // *Ref_Operation_Id // *Ref_Operation_TargetSequence // *Ref_Operation_ProjectSequence // *Ref_Operation_BasisSequence Target isRef_Operation_Target `protobuf_oneof:"target"` } func (x *Ref_Operation) Reset() { *x = Ref_Operation{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Operation) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Operation) ProtoMessage() {} func (x *Ref_Operation) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[89] 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 Ref_Operation.ProtoReflect.Descriptor instead. func (*Ref_Operation) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 1} } func (m *Ref_Operation) GetTarget() isRef_Operation_Target { if m != nil { return m.Target } return nil } func (x *Ref_Operation) GetId() string { if x, ok := x.GetTarget().(*Ref_Operation_Id); ok { return x.Id } return "" } func (x *Ref_Operation) GetTargetSequence() *Ref_TargetOperationSeq { if x, ok := x.GetTarget().(*Ref_Operation_TargetSequence); ok { return x.TargetSequence } return nil } func (x *Ref_Operation) GetProjectSequence() *Ref_ProjectOperationSeq { if x, ok := x.GetTarget().(*Ref_Operation_ProjectSequence); ok { return x.ProjectSequence } return nil } func (x *Ref_Operation) GetBasisSequence() *Ref_BasisOperationSeq { if x, ok := x.GetTarget().(*Ref_Operation_BasisSequence); ok { return x.BasisSequence } return nil } type isRef_Operation_Target interface { isRef_Operation_Target() } type Ref_Operation_Id struct { Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` } type Ref_Operation_TargetSequence struct { TargetSequence *Ref_TargetOperationSeq `protobuf:"bytes,2,opt,name=target_sequence,json=targetSequence,proto3,oneof"` } type Ref_Operation_ProjectSequence struct { ProjectSequence *Ref_ProjectOperationSeq `protobuf:"bytes,3,opt,name=project_sequence,json=projectSequence,proto3,oneof"` } type Ref_Operation_BasisSequence struct { BasisSequence *Ref_BasisOperationSeq `protobuf:"bytes,4,opt,name=basis_sequence,json=basisSequence,proto3,oneof"` } func (*Ref_Operation_Id) isRef_Operation_Target() {} func (*Ref_Operation_TargetSequence) isRef_Operation_Target() {} func (*Ref_Operation_ProjectSequence) isRef_Operation_Target() {} func (*Ref_Operation_BasisSequence) isRef_Operation_Target() {} // TargetOperationSeq references an operation by sequence number anchored // to a Target type Ref_TargetOperationSeq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` } func (x *Ref_TargetOperationSeq) Reset() { *x = Ref_TargetOperationSeq{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_TargetOperationSeq) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_TargetOperationSeq) ProtoMessage() {} func (x *Ref_TargetOperationSeq) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[90] 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 Ref_TargetOperationSeq.ProtoReflect.Descriptor instead. func (*Ref_TargetOperationSeq) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 2} } func (x *Ref_TargetOperationSeq) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Target } return nil } func (x *Ref_TargetOperationSeq) GetNumber() uint64 { if x != nil { return x.Number } return 0 } // MachineOperationSeq references an operation by sequence number anchored // to a Project type Ref_ProjectOperationSeq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` } func (x *Ref_ProjectOperationSeq) Reset() { *x = Ref_ProjectOperationSeq{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_ProjectOperationSeq) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_ProjectOperationSeq) ProtoMessage() {} func (x *Ref_ProjectOperationSeq) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[91] 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 Ref_ProjectOperationSeq.ProtoReflect.Descriptor instead. func (*Ref_ProjectOperationSeq) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 3} } func (x *Ref_ProjectOperationSeq) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *Ref_ProjectOperationSeq) GetNumber() uint64 { if x != nil { return x.Number } return 0 } // BasisOperationSeq references an operation by sequence number anchored // to a Basis type Ref_BasisOperationSeq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` } func (x *Ref_BasisOperationSeq) Reset() { *x = Ref_BasisOperationSeq{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_BasisOperationSeq) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_BasisOperationSeq) ProtoMessage() {} func (x *Ref_BasisOperationSeq) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[92] 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 Ref_BasisOperationSeq.ProtoReflect.Descriptor instead. func (*Ref_BasisOperationSeq) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 4} } func (x *Ref_BasisOperationSeq) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } func (x *Ref_BasisOperationSeq) GetNumber() uint64 { if x != nil { return x.Number } return 0 } // Runner references a runner process which executes operations. This // can reference a runner by any of the more specific types, such as // by ID. If you want to constrain which runners can be targeted, // a different ref type should be used. type Ref_Runner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Target: // // *Ref_Runner_Any // *Ref_Runner_Id Target isRef_Runner_Target `protobuf_oneof:"target"` } func (x *Ref_Runner) Reset() { *x = Ref_Runner{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Runner) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Runner) ProtoMessage() {} func (x *Ref_Runner) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[93] 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 Ref_Runner.ProtoReflect.Descriptor instead. func (*Ref_Runner) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 5} } func (m *Ref_Runner) GetTarget() isRef_Runner_Target { if m != nil { return m.Target } return nil } func (x *Ref_Runner) GetAny() *Ref_RunnerAny { if x, ok := x.GetTarget().(*Ref_Runner_Any); ok { return x.Any } return nil } func (x *Ref_Runner) GetId() *Ref_RunnerId { if x, ok := x.GetTarget().(*Ref_Runner_Id); ok { return x.Id } return nil } type isRef_Runner_Target interface { isRef_Runner_Target() } type Ref_Runner_Any struct { Any *Ref_RunnerAny `protobuf:"bytes,1,opt,name=any,proto3,oneof"` } type Ref_Runner_Id struct { Id *Ref_RunnerId `protobuf:"bytes,2,opt,name=id,proto3,oneof"` } func (*Ref_Runner_Any) isRef_Runner_Target() {} func (*Ref_Runner_Id) isRef_Runner_Target() {} // RunenrId references a runner by ID. type Ref_RunnerId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *Ref_RunnerId) Reset() { *x = Ref_RunnerId{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_RunnerId) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_RunnerId) ProtoMessage() {} func (x *Ref_RunnerId) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[94] 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 Ref_RunnerId.ProtoReflect.Descriptor instead. func (*Ref_RunnerId) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 6} } func (x *Ref_RunnerId) GetId() string { if x != nil { return x.Id } return "" } // RunnerAny will reference any runner. type Ref_RunnerAny struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Ref_RunnerAny) Reset() { *x = Ref_RunnerAny{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_RunnerAny) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_RunnerAny) ProtoMessage() {} func (x *Ref_RunnerAny) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[95] 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 Ref_RunnerAny.ProtoReflect.Descriptor instead. func (*Ref_RunnerAny) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 7} } // Vagrantfile references a Vagrantfile type Ref_Vagrantfile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` } func (x *Ref_Vagrantfile) Reset() { *x = Ref_Vagrantfile{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Vagrantfile) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Vagrantfile) ProtoMessage() {} func (x *Ref_Vagrantfile) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[96] 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 Ref_Vagrantfile.ProtoReflect.Descriptor instead. func (*Ref_Vagrantfile) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 8} } func (x *Ref_Vagrantfile) GetResourceId() string { if x != nil { return x.ResourceId } return "" } type StatusFilter_Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Filter: // // *StatusFilter_Filter_State Filter isStatusFilter_Filter_Filter `protobuf_oneof:"filter"` } func (x *StatusFilter_Filter) Reset() { *x = StatusFilter_Filter{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatusFilter_Filter) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatusFilter_Filter) ProtoMessage() {} func (x *StatusFilter_Filter) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[97] 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 StatusFilter_Filter.ProtoReflect.Descriptor instead. func (*StatusFilter_Filter) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{10, 0} } func (m *StatusFilter_Filter) GetFilter() isStatusFilter_Filter_Filter { if m != nil { return m.Filter } return nil } func (x *StatusFilter_Filter) GetState() Status_State { if x, ok := x.GetFilter().(*StatusFilter_Filter_State); ok { return x.State } return Status_UNKNOWN } type isStatusFilter_Filter_Filter interface { isStatusFilter_Filter_Filter() } type StatusFilter_Filter_State struct { // state will match any status that has the given state. State Status_State `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.vagrant.Status_State,oneof"` } func (*StatusFilter_Filter_State) isStatusFilter_Filter_Filter() {} type Job_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Auth *Job_AuthResult `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"` Docs *Job_DocsResult `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` Validate *Job_ValidateResult `protobuf:"bytes,3,opt,name=validate,proto3" json:"validate,omitempty"` Init *Job_InitResult `protobuf:"bytes,4,opt,name=init,proto3" json:"init,omitempty"` Run *Job_CommandResult `protobuf:"bytes,5,opt,name=run,proto3" json:"run,omitempty"` Basis *Job_InitBasisResult `protobuf:"bytes,6,opt,name=basis,proto3" json:"basis,omitempty"` Project *Job_InitProjectResult `protobuf:"bytes,7,opt,name=project,proto3" json:"project,omitempty"` } func (x *Job_Result) Reset() { *x = Job_Result{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Result) ProtoMessage() {} func (x *Job_Result) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[100] 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 Job_Result.ProtoReflect.Descriptor instead. func (*Job_Result) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 2} } func (x *Job_Result) GetAuth() *Job_AuthResult { if x != nil { return x.Auth } return nil } func (x *Job_Result) GetDocs() *Job_DocsResult { if x != nil { return x.Docs } return nil } func (x *Job_Result) GetValidate() *Job_ValidateResult { if x != nil { return x.Validate } return nil } func (x *Job_Result) GetInit() *Job_InitResult { if x != nil { return x.Init } return nil } func (x *Job_Result) GetRun() *Job_CommandResult { if x != nil { return x.Run } return nil } func (x *Job_Result) GetBasis() *Job_InitBasisResult { if x != nil { return x.Basis } return nil } func (x *Job_Result) GetProject() *Job_InitProjectResult { if x != nil { return x.Project } return nil } type Job_DataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Source: // // *Job_DataSource_Local // *Job_DataSource_Git Source isJob_DataSource_Source `protobuf_oneof:"source"` } func (x *Job_DataSource) Reset() { *x = Job_DataSource{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DataSource) ProtoMessage() {} func (x *Job_DataSource) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[101] 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 Job_DataSource.ProtoReflect.Descriptor instead. func (*Job_DataSource) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 3} } func (m *Job_DataSource) GetSource() isJob_DataSource_Source { if m != nil { return m.Source } return nil } func (x *Job_DataSource) GetLocal() *Job_Local { if x, ok := x.GetSource().(*Job_DataSource_Local); ok { return x.Local } return nil } func (x *Job_DataSource) GetGit() *Job_Git { if x, ok := x.GetSource().(*Job_DataSource_Git); ok { return x.Git } return nil } type isJob_DataSource_Source interface { isJob_DataSource_Source() } type Job_DataSource_Local struct { // local means the runner has access to the data locally and will // know what to do. This is primarily only useful if the target_runner // is a specific runner and should not be used by any runner unless your // runners are configured to have access to the proper data. Local *Job_Local `protobuf:"bytes,1,opt,name=local,proto3,oneof"` } type Job_DataSource_Git struct { // git will check out the data from a Git repository. Git *Job_Git `protobuf:"bytes,2,opt,name=git,proto3,oneof"` } func (*Job_DataSource_Local) isJob_DataSource_Source() {} func (*Job_DataSource_Git) isJob_DataSource_Source() {} type Job_Local struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_Local) Reset() { *x = Job_Local{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Local) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Local) ProtoMessage() {} func (x *Job_Local) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[102] 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 Job_Local.ProtoReflect.Descriptor instead. func (*Job_Local) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 4} } type Job_Git struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // url of the repository to clone. Local paths are not allowed. Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` // a ref to checkout. If this isn't specified, then the default // ref that is cloned from the URL above will be used. Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` // path is a subdirectory within the checked out repository to // go into for the configuration. This must be a relative path // and may not contain ".." Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` } func (x *Job_Git) Reset() { *x = Job_Git{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Git) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Git) ProtoMessage() {} func (x *Job_Git) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[103] 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 Job_Git.ProtoReflect.Descriptor instead. func (*Job_Git) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 5} } func (x *Job_Git) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Job_Git) GetRef() string { if x != nil { return x.Ref } return "" } func (x *Job_Git) GetPath() string { if x != nil { return x.Path } return "" } // Noop operations do nothing. This is primarily used for testing. // This operation will still download the data from the data source. // A noop may be useful outside of testing to verify a runner is // executing properly or can access data properly. type Job_Noop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_Noop) Reset() { *x = Job_Noop{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Noop) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Noop) ProtoMessage() {} func (x *Job_Noop) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[104] 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 Job_Noop.ProtoReflect.Descriptor instead. func (*Job_Noop) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 6} } // ValidateOp validates various aspects of a configuration. type Job_ValidateOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_ValidateOp) Reset() { *x = Job_ValidateOp{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_ValidateOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_ValidateOp) ProtoMessage() {} func (x *Job_ValidateOp) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[105] 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 Job_ValidateOp.ProtoReflect.Descriptor instead. func (*Job_ValidateOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 7} } type Job_ValidateResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_ValidateResult) Reset() { *x = Job_ValidateResult{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_ValidateResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_ValidateResult) ProtoMessage() {} func (x *Job_ValidateResult) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[106] 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 Job_ValidateResult.ProtoReflect.Descriptor instead. func (*Job_ValidateResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 8} } // InitOp initializes a Vagrant configuration and returns information // about the runtime. type Job_InitOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_InitOp) Reset() { *x = Job_InitOp{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitOp) ProtoMessage() {} func (x *Job_InitOp) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[107] 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 Job_InitOp.ProtoReflect.Descriptor instead. func (*Job_InitOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 9} } type Job_InitResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Actions []*Job_Action `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` Commands []*vagrant_plugin_sdk.Command_CommandInfo `protobuf:"bytes,2,rep,name=commands,proto3" json:"commands,omitempty"` Hooks []*Job_Hook `protobuf:"bytes,3,rep,name=hooks,proto3" json:"hooks,omitempty"` } func (x *Job_InitResult) Reset() { *x = Job_InitResult{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitResult) ProtoMessage() {} func (x *Job_InitResult) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[108] 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 Job_InitResult.ProtoReflect.Descriptor instead. func (*Job_InitResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 10} } func (x *Job_InitResult) GetActions() []*Job_Action { if x != nil { return x.Actions } return nil } func (x *Job_InitResult) GetCommands() []*vagrant_plugin_sdk.Command_CommandInfo { if x != nil { return x.Commands } return nil } func (x *Job_InitResult) GetHooks() []*Job_Hook { if x != nil { return x.Hooks } return nil } type Job_InitBasisOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_InitBasisOp) Reset() { *x = Job_InitBasisOp{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitBasisOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitBasisOp) ProtoMessage() {} func (x *Job_InitBasisOp) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[109] 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 Job_InitBasisOp.ProtoReflect.Descriptor instead. func (*Job_InitBasisOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 11} } type Job_InitBasisResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *Job_InitBasisResult) Reset() { *x = Job_InitBasisResult{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitBasisResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitBasisResult) ProtoMessage() {} func (x *Job_InitBasisResult) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[110] 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 Job_InitBasisResult.ProtoReflect.Descriptor instead. func (*Job_InitBasisResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 12} } func (x *Job_InitBasisResult) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } type Job_InitProjectOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_InitProjectOp) Reset() { *x = Job_InitProjectOp{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitProjectOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitProjectOp) ProtoMessage() {} func (x *Job_InitProjectOp) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[111] 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 Job_InitProjectOp.ProtoReflect.Descriptor instead. func (*Job_InitProjectOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 13} } type Job_InitProjectResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *Job_InitProjectResult) Reset() { *x = Job_InitProjectResult{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitProjectResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitProjectResult) ProtoMessage() {} func (x *Job_InitProjectResult) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[112] 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 Job_InitProjectResult.ProtoReflect.Descriptor instead. func (*Job_InitProjectResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 14} } func (x *Job_InitProjectResult) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } type Job_Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` } func (x *Job_Action) Reset() { *x = Job_Action{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Action) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Action) ProtoMessage() {} func (x *Job_Action) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[113] 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 Job_Action.ProtoReflect.Descriptor instead. func (*Job_Action) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 15} } func (x *Job_Action) GetName() string { if x != nil { return x.Name } return "" } func (x *Job_Action) GetSource() string { if x != nil { return x.Source } return "" } type Job_Hook struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TargetActionName string `protobuf:"bytes,1,opt,name=target_action_name,json=targetActionName,proto3" json:"target_action_name,omitempty"` Location Job_Hook_Location `protobuf:"varint,2,opt,name=location,proto3,enum=hashicorp.vagrant.Job_Hook_Location" json:"location,omitempty"` ActionName string `protobuf:"bytes,3,opt,name=action_name,json=actionName,proto3" json:"action_name,omitempty"` Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` } func (x *Job_Hook) Reset() { *x = Job_Hook{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Hook) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Hook) ProtoMessage() {} func (x *Job_Hook) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[114] 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 Job_Hook.ProtoReflect.Descriptor instead. func (*Job_Hook) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 16} } func (x *Job_Hook) GetTargetActionName() string { if x != nil { return x.TargetActionName } return "" } func (x *Job_Hook) GetLocation() Job_Hook_Location { if x != nil { return x.Location } return Job_Hook_BEFORE } func (x *Job_Hook) GetActionName() string { if x != nil { return x.ActionName } return "" } func (x *Job_Hook) GetSource() string { if x != nil { return x.Source } return "" } // CommandOp runs a command type Job_CommandOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The scope this command was run within // // Types that are assignable to Scope: // // *Job_CommandOp_Target // *Job_CommandOp_Project // *Job_CommandOp_Basis Scope isJob_CommandOp_Scope `protobuf_oneof:"scope"` // Name of the command executed Command string `protobuf:"bytes,4,opt,name=command,proto3" json:"command,omitempty"` // id is the unique ID for this task Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` // Status is the current status of the task Status *Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` // State of any resources related to the task State Operation_PhysicalState `protobuf:"varint,7,opt,name=state,proto3,enum=hashicorp.vagrant.Operation_PhysicalState" json:"state,omitempty"` // Component responsible for this task Component *Component `protobuf:"bytes,8,opt,name=component,proto3" json:"component,omitempty"` // Any labels which were set for this task Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // ID of the job that created this task JobId string `protobuf:"bytes,10,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // Map of cli arguments CliArgs *vagrant_plugin_sdk.Command_Arguments `protobuf:"bytes,11,opt,name=cli_args,json=cliArgs,proto3" json:"cli_args,omitempty"` Vagrantfile *Vagrantfile `protobuf:"bytes,12,opt,name=vagrantfile,proto3" json:"vagrantfile,omitempty"` } func (x *Job_CommandOp) Reset() { *x = Job_CommandOp{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_CommandOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_CommandOp) ProtoMessage() {} func (x *Job_CommandOp) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[115] 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 Job_CommandOp.ProtoReflect.Descriptor instead. func (*Job_CommandOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 17} } func (m *Job_CommandOp) GetScope() isJob_CommandOp_Scope { if m != nil { return m.Scope } return nil } func (x *Job_CommandOp) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*Job_CommandOp_Target); ok { return x.Target } return nil } func (x *Job_CommandOp) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*Job_CommandOp_Project); ok { return x.Project } return nil } func (x *Job_CommandOp) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*Job_CommandOp_Basis); ok { return x.Basis } return nil } func (x *Job_CommandOp) GetCommand() string { if x != nil { return x.Command } return "" } func (x *Job_CommandOp) GetId() string { if x != nil { return x.Id } return "" } func (x *Job_CommandOp) GetStatus() *Status { if x != nil { return x.Status } return nil } func (x *Job_CommandOp) GetState() Operation_PhysicalState { if x != nil { return x.State } return Operation_UNKNOWN } func (x *Job_CommandOp) GetComponent() *Component { if x != nil { return x.Component } return nil } func (x *Job_CommandOp) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } func (x *Job_CommandOp) GetJobId() string { if x != nil { return x.JobId } return "" } func (x *Job_CommandOp) GetCliArgs() *vagrant_plugin_sdk.Command_Arguments { if x != nil { return x.CliArgs } return nil } func (x *Job_CommandOp) GetVagrantfile() *Vagrantfile { if x != nil { return x.Vagrantfile } return nil } type isJob_CommandOp_Scope interface { isJob_CommandOp_Scope() } type Job_CommandOp_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,opt,name=target,proto3,oneof"` } type Job_CommandOp_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` } type Job_CommandOp_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,3,opt,name=basis,proto3,oneof"` } func (*Job_CommandOp_Target) isJob_CommandOp_Scope() {} func (*Job_CommandOp_Project) isJob_CommandOp_Scope() {} func (*Job_CommandOp_Basis) isJob_CommandOp_Scope() {} type Job_CommandResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Operation which was run Task *Operation `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` // True if the task did not encounter any errors RunResult bool `protobuf:"varint,2,opt,name=run_result,json=runResult,proto3" json:"run_result,omitempty"` // Provides any error information RunError *status.Status `protobuf:"bytes,3,opt,name=run_error,json=runError,proto3" json:"run_error,omitempty"` // Exit code if applicable ExitCode int32 `protobuf:"zigzag32,4,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` } func (x *Job_CommandResult) Reset() { *x = Job_CommandResult{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_CommandResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_CommandResult) ProtoMessage() {} func (x *Job_CommandResult) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[116] 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 Job_CommandResult.ProtoReflect.Descriptor instead. func (*Job_CommandResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 18} } func (x *Job_CommandResult) GetTask() *Operation { if x != nil { return x.Task } return nil } func (x *Job_CommandResult) GetRunResult() bool { if x != nil { return x.RunResult } return false } func (x *Job_CommandResult) GetRunError() *status.Status { if x != nil { return x.RunError } return nil } func (x *Job_CommandResult) GetExitCode() int32 { if x != nil { return x.ExitCode } return 0 } // AuthOp is the configuration to authenticate any plugins. type Job_AuthOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // if true, auth will only be checked but not attempted. Currently // this must ALWAYS be true. Only authentication checking is supported. CheckOnly bool `protobuf:"varint,1,opt,name=check_only,json=checkOnly,proto3" json:"check_only,omitempty"` // if set, only the component matching this reference will be authed. // If this component doesn't exist, an error will be returned. If this is // unset, all components wll be authed. Component *Ref_Component `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"` } func (x *Job_AuthOp) Reset() { *x = Job_AuthOp{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_AuthOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_AuthOp) ProtoMessage() {} func (x *Job_AuthOp) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[117] 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 Job_AuthOp.ProtoReflect.Descriptor instead. func (*Job_AuthOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 19} } func (x *Job_AuthOp) GetCheckOnly() bool { if x != nil { return x.CheckOnly } return false } func (x *Job_AuthOp) GetComponent() *Ref_Component { if x != nil { return x.Component } return nil } type Job_AuthResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // results are the list of components that were checked Results []*Job_AuthResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } func (x *Job_AuthResult) Reset() { *x = Job_AuthResult{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_AuthResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_AuthResult) ProtoMessage() {} func (x *Job_AuthResult) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[118] 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 Job_AuthResult.ProtoReflect.Descriptor instead. func (*Job_AuthResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 20} } func (x *Job_AuthResult) GetResults() []*Job_AuthResult_Result { if x != nil { return x.Results } return nil } type Job_DocsOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_DocsOp) Reset() { *x = Job_DocsOp{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DocsOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DocsOp) ProtoMessage() {} func (x *Job_DocsOp) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[119] 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 Job_DocsOp.ProtoReflect.Descriptor instead. func (*Job_DocsOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 21} } type Job_DocsResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // results are the list of components that were checked Results []*Job_DocsResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } func (x *Job_DocsResult) Reset() { *x = Job_DocsResult{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DocsResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DocsResult) ProtoMessage() {} func (x *Job_DocsResult) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[120] 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 Job_DocsResult.ProtoReflect.Descriptor instead. func (*Job_DocsResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 22} } func (x *Job_DocsResult) GetResults() []*Job_DocsResult_Result { if x != nil { return x.Results } return nil } type Job_AuthResult_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // component that was checked Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` // result of the auth check. If the component didn't implement the // auth interface this will be set to true. You can check for interface // implementation using auth_supported. If auth is attempted, the auth // operation will recheck the status and this value will reflect the // check post-auth attempt. You can use this to verify if the auth // succeeded. CheckResult bool `protobuf:"varint,2,opt,name=check_result,json=checkResult,proto3" json:"check_result,omitempty"` CheckError *status.Status `protobuf:"bytes,3,opt,name=check_error,json=checkError,proto3" json:"check_error,omitempty"` // this is true if the component was authenticated using the Auth // callback. If false, then no attempt was made to authenticate. This // can be on purpose for example if "check_only" is set to true on // the op. AuthCompleted bool `protobuf:"varint,4,opt,name=auth_completed,json=authCompleted,proto3" json:"auth_completed,omitempty"` AuthError *status.Status `protobuf:"bytes,5,opt,name=auth_error,json=authError,proto3" json:"auth_error,omitempty"` // auth supported is true if this component implemented the auth // interface. AuthSupported bool `protobuf:"varint,6,opt,name=auth_supported,json=authSupported,proto3" json:"auth_supported,omitempty"` } func (x *Job_AuthResult_Result) Reset() { *x = Job_AuthResult_Result{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_AuthResult_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_AuthResult_Result) ProtoMessage() {} func (x *Job_AuthResult_Result) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[122] 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 Job_AuthResult_Result.ProtoReflect.Descriptor instead. func (*Job_AuthResult_Result) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 20, 0} } func (x *Job_AuthResult_Result) GetComponent() *Component { if x != nil { return x.Component } return nil } func (x *Job_AuthResult_Result) GetCheckResult() bool { if x != nil { return x.CheckResult } return false } func (x *Job_AuthResult_Result) GetCheckError() *status.Status { if x != nil { return x.CheckError } return nil } func (x *Job_AuthResult_Result) GetAuthCompleted() bool { if x != nil { return x.AuthCompleted } return false } func (x *Job_AuthResult_Result) GetAuthError() *status.Status { if x != nil { return x.AuthError } return nil } func (x *Job_AuthResult_Result) GetAuthSupported() bool { if x != nil { return x.AuthSupported } return false } type Job_DocsResult_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // component that the docs are for Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` Docs *Documentation `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` } func (x *Job_DocsResult_Result) Reset() { *x = Job_DocsResult_Result{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DocsResult_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DocsResult_Result) ProtoMessage() {} func (x *Job_DocsResult_Result) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[123] 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 Job_DocsResult_Result.ProtoReflect.Descriptor instead. func (*Job_DocsResult_Result) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 22, 0} } func (x *Job_DocsResult_Result) GetComponent() *Component { if x != nil { return x.Component } return nil } func (x *Job_DocsResult_Result) GetDocs() *Documentation { if x != nil { return x.Docs } return nil } type Documentation_Field struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Synopsis string `protobuf:"bytes,2,opt,name=synopsis,proto3" json:"synopsis,omitempty"` Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` Optional bool `protobuf:"varint,4,opt,name=optional,proto3" json:"optional,omitempty"` EnvVar string `protobuf:"bytes,5,opt,name=env_var,json=envVar,proto3" json:"env_var,omitempty"` Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` Default string `protobuf:"bytes,7,opt,name=default,proto3" json:"default,omitempty"` } func (x *Documentation_Field) Reset() { *x = Documentation_Field{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Documentation_Field) String() string { return protoimpl.X.MessageStringOf(x) } func (*Documentation_Field) ProtoMessage() {} func (x *Documentation_Field) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[125] 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 Documentation_Field.ProtoReflect.Descriptor instead. func (*Documentation_Field) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{19, 1} } func (x *Documentation_Field) GetName() string { if x != nil { return x.Name } return "" } func (x *Documentation_Field) GetSynopsis() string { if x != nil { return x.Synopsis } return "" } func (x *Documentation_Field) GetSummary() string { if x != nil { return x.Summary } return "" } func (x *Documentation_Field) GetOptional() bool { if x != nil { return x.Optional } return false } func (x *Documentation_Field) GetEnvVar() string { if x != nil { return x.EnvVar } return "" } func (x *Documentation_Field) GetType() string { if x != nil { return x.Type } return "" } func (x *Documentation_Field) GetDefault() string { if x != nil { return x.Default } return "" } type Documentation_Mapper struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Input string `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` } func (x *Documentation_Mapper) Reset() { *x = Documentation_Mapper{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Documentation_Mapper) String() string { return protoimpl.X.MessageStringOf(x) } func (*Documentation_Mapper) ProtoMessage() {} func (x *Documentation_Mapper) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[126] 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 Documentation_Mapper.ProtoReflect.Descriptor instead. func (*Documentation_Mapper) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{19, 2} } func (x *Documentation_Mapper) GetInput() string { if x != nil { return x.Input } return "" } func (x *Documentation_Mapper) GetOutput() string { if x != nil { return x.Output } return "" } func (x *Documentation_Mapper) GetDescription() string { if x != nil { return x.Description } return "" } type GetJobStreamResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GetJobStreamResponse_Open) Reset() { *x = GetJobStreamResponse_Open{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Open) ProtoMessage() {} func (x *GetJobStreamResponse_Open) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[127] 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 GetJobStreamResponse_Open.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 0} } type GetJobStreamResponse_State struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // previous and current are the previous and current states, respectively. Previous Job_State `protobuf:"varint,1,opt,name=previous,proto3,enum=hashicorp.vagrant.Job_State" json:"previous,omitempty"` Current Job_State `protobuf:"varint,2,opt,name=current,proto3,enum=hashicorp.vagrant.Job_State" json:"current,omitempty"` // The full updated job is also sent because additional fields may be // set depending on the state (such as the assigned runner, assignment // times, etc.) Job *Job `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"` // canceling is true if the job was requested to be canceled. Canceling bool `protobuf:"varint,4,opt,name=canceling,proto3" json:"canceling,omitempty"` } func (x *GetJobStreamResponse_State) Reset() { *x = GetJobStreamResponse_State{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_State) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_State) ProtoMessage() {} func (x *GetJobStreamResponse_State) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[128] 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 GetJobStreamResponse_State.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_State) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 1} } func (x *GetJobStreamResponse_State) GetPrevious() Job_State { if x != nil { return x.Previous } return Job_UNKNOWN } func (x *GetJobStreamResponse_State) GetCurrent() Job_State { if x != nil { return x.Current } return Job_UNKNOWN } func (x *GetJobStreamResponse_State) GetJob() *Job { if x != nil { return x.Job } return nil } func (x *GetJobStreamResponse_State) GetCanceling() bool { if x != nil { return x.Canceling } return false } type GetJobStreamResponse_Terminal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Events []*GetJobStreamResponse_Terminal_Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` // buffered if true signifies that the data being sent is from the // server buffer and is historical vs real-time since the stream was // opened. If this is true, all lines are buffered. We will never mix // buffered and non-buffered lines. Buffered bool `protobuf:"varint,2,opt,name=buffered,proto3" json:"buffered,omitempty"` } func (x *GetJobStreamResponse_Terminal) Reset() { *x = GetJobStreamResponse_Terminal{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[129] 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 GetJobStreamResponse_Terminal.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2} } func (x *GetJobStreamResponse_Terminal) GetEvents() []*GetJobStreamResponse_Terminal_Event { if x != nil { return x.Events } return nil } func (x *GetJobStreamResponse_Terminal) GetBuffered() bool { if x != nil { return x.Buffered } return false } type GetJobStreamResponse_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (x *GetJobStreamResponse_Error) Reset() { *x = GetJobStreamResponse_Error{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Error) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Error) ProtoMessage() {} func (x *GetJobStreamResponse_Error) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[130] 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 GetJobStreamResponse_Error.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Error) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 3} } func (x *GetJobStreamResponse_Error) GetError() *status.Status { if x != nil { return x.Error } return nil } type GetJobStreamResponse_Complete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // error, if set, is an error that occurred as part of the job execution // and resulted in job termination. This is different than the "error" // event which is an error in the stream itself. Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` // Result will be set to the final result of the job execution, if any. Result *Job_Result `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` } func (x *GetJobStreamResponse_Complete) Reset() { *x = GetJobStreamResponse_Complete{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Complete) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Complete) ProtoMessage() {} func (x *GetJobStreamResponse_Complete) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[131] 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 GetJobStreamResponse_Complete.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Complete) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 4} } func (x *GetJobStreamResponse_Complete) GetError() *status.Status { if x != nil { return x.Error } return nil } func (x *GetJobStreamResponse_Complete) GetResult() *Job_Result { if x != nil { return x.Result } return nil } type GetJobStreamResponse_Terminal_Event struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // timestamp of the event as seen by the runner. This might be // skewed from the server or the client but relative to all other // line output, it will be accurate. Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Types that are assignable to Event: // // *GetJobStreamResponse_Terminal_Event_Line_ // *GetJobStreamResponse_Terminal_Event_Status_ // *GetJobStreamResponse_Terminal_Event_NamedValues_ // *GetJobStreamResponse_Terminal_Event_Raw_ // *GetJobStreamResponse_Terminal_Event_Table_ // *GetJobStreamResponse_Terminal_Event_StepGroup_ // *GetJobStreamResponse_Terminal_Event_Step_ Event isGetJobStreamResponse_Terminal_Event_Event `protobuf_oneof:"event"` } func (x *GetJobStreamResponse_Terminal_Event) Reset() { *x = GetJobStreamResponse_Terminal_Event{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[132] 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 GetJobStreamResponse_Terminal_Event.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0} } func (x *GetJobStreamResponse_Terminal_Event) GetTimestamp() *timestamppb.Timestamp { if x != nil { return x.Timestamp } return nil } func (m *GetJobStreamResponse_Terminal_Event) GetEvent() isGetJobStreamResponse_Terminal_Event_Event { if m != nil { return m.Event } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetLine() *GetJobStreamResponse_Terminal_Event_Line { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Line_); ok { return x.Line } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetStatus() *GetJobStreamResponse_Terminal_Event_Status { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Status_); ok { return x.Status } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetNamedValues() *GetJobStreamResponse_Terminal_Event_NamedValues { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_NamedValues_); ok { return x.NamedValues } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetRaw() *GetJobStreamResponse_Terminal_Event_Raw { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Raw_); ok { return x.Raw } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetTable() *GetJobStreamResponse_Terminal_Event_Table { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Table_); ok { return x.Table } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetStepGroup() *GetJobStreamResponse_Terminal_Event_StepGroup { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_StepGroup_); ok { return x.StepGroup } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetStep() *GetJobStreamResponse_Terminal_Event_Step { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Step_); ok { return x.Step } return nil } type isGetJobStreamResponse_Terminal_Event_Event interface { isGetJobStreamResponse_Terminal_Event_Event() } type GetJobStreamResponse_Terminal_Event_Line_ struct { Line *GetJobStreamResponse_Terminal_Event_Line `protobuf:"bytes,2,opt,name=line,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Status_ struct { Status *GetJobStreamResponse_Terminal_Event_Status `protobuf:"bytes,3,opt,name=status,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_NamedValues_ struct { NamedValues *GetJobStreamResponse_Terminal_Event_NamedValues `protobuf:"bytes,4,opt,name=named_values,json=namedValues,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Raw_ struct { Raw *GetJobStreamResponse_Terminal_Event_Raw `protobuf:"bytes,5,opt,name=raw,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Table_ struct { Table *GetJobStreamResponse_Terminal_Event_Table `protobuf:"bytes,6,opt,name=table,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_StepGroup_ struct { StepGroup *GetJobStreamResponse_Terminal_Event_StepGroup `protobuf:"bytes,7,opt,name=step_group,json=stepGroup,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Step_ struct { Step *GetJobStreamResponse_Terminal_Event_Step `protobuf:"bytes,8,opt,name=step,proto3,oneof"` } func (*GetJobStreamResponse_Terminal_Event_Line_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_Status_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_NamedValues_) isGetJobStreamResponse_Terminal_Event_Event() { } func (*GetJobStreamResponse_Terminal_Event_Raw_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_Table_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_StepGroup_) isGetJobStreamResponse_Terminal_Event_Event() { } func (*GetJobStreamResponse_Terminal_Event_Step_) isGetJobStreamResponse_Terminal_Event_Event() {} type GetJobStreamResponse_Terminal_Event_Status struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Step bool `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Status) Reset() { *x = GetJobStreamResponse_Terminal_Event_Status{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Status) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Status) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Status) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[133] 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 GetJobStreamResponse_Terminal_Event_Status.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Status) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 0} } func (x *GetJobStreamResponse_Terminal_Event_Status) GetStatus() string { if x != nil { return x.Status } return "" } func (x *GetJobStreamResponse_Terminal_Event_Status) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *GetJobStreamResponse_Terminal_Event_Status) GetStep() bool { if x != nil { return x.Step } return false } type GetJobStreamResponse_Terminal_Event_Line struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` Style string `protobuf:"bytes,2,opt,name=style,proto3" json:"style,omitempty"` DisableNewLine bool `protobuf:"varint,3,opt,name=disable_new_line,json=disableNewLine,proto3" json:"disable_new_line,omitempty"` Color string `protobuf:"bytes,4,opt,name=color,proto3" json:"color,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Line) Reset() { *x = GetJobStreamResponse_Terminal_Event_Line{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Line) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Line) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Line) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[134] 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 GetJobStreamResponse_Terminal_Event_Line.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Line) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 1} } func (x *GetJobStreamResponse_Terminal_Event_Line) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *GetJobStreamResponse_Terminal_Event_Line) GetStyle() string { if x != nil { return x.Style } return "" } func (x *GetJobStreamResponse_Terminal_Event_Line) GetDisableNewLine() bool { if x != nil { return x.DisableNewLine } return false } func (x *GetJobStreamResponse_Terminal_Event_Line) GetColor() string { if x != nil { return x.Color } return "" } type GetJobStreamResponse_Terminal_Event_Raw struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Stderr bool `protobuf:"varint,2,opt,name=stderr,proto3" json:"stderr,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Raw) Reset() { *x = GetJobStreamResponse_Terminal_Event_Raw{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Raw) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Raw) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Raw) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[135] 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 GetJobStreamResponse_Terminal_Event_Raw.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Raw) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 2} } func (x *GetJobStreamResponse_Terminal_Event_Raw) GetData() []byte { if x != nil { return x.Data } return nil } func (x *GetJobStreamResponse_Terminal_Event_Raw) GetStderr() bool { if x != nil { return x.Stderr } return false } type GetJobStreamResponse_Terminal_Event_NamedValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) Reset() { *x = GetJobStreamResponse_Terminal_Event_NamedValue{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_NamedValue) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_NamedValue) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[136] 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 GetJobStreamResponse_Terminal_Event_NamedValue.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_NamedValue) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 3} } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetName() string { if x != nil { return x.Name } return "" } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetValue() string { if x != nil { return x.Value } return "" } type GetJobStreamResponse_Terminal_Event_NamedValues struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Values []*GetJobStreamResponse_Terminal_Event_NamedValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_NamedValues) Reset() { *x = GetJobStreamResponse_Terminal_Event_NamedValues{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_NamedValues) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_NamedValues) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_NamedValues) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[137] 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 GetJobStreamResponse_Terminal_Event_NamedValues.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_NamedValues) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 4} } func (x *GetJobStreamResponse_Terminal_Event_NamedValues) GetValues() []*GetJobStreamResponse_Terminal_Event_NamedValue { if x != nil { return x.Values } return nil } type GetJobStreamResponse_Terminal_Event_TableEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) Reset() { *x = GetJobStreamResponse_Terminal_Event_TableEntry{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_TableEntry) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_TableEntry) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[138] 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 GetJobStreamResponse_Terminal_Event_TableEntry.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_TableEntry) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 5} } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetValue() string { if x != nil { return x.Value } return "" } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetColor() string { if x != nil { return x.Color } return "" } type GetJobStreamResponse_Terminal_Event_TableRow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Entries []*GetJobStreamResponse_Terminal_Event_TableEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_TableRow) Reset() { *x = GetJobStreamResponse_Terminal_Event_TableRow{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_TableRow) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_TableRow) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_TableRow) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[139] 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 GetJobStreamResponse_Terminal_Event_TableRow.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_TableRow) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 6} } func (x *GetJobStreamResponse_Terminal_Event_TableRow) GetEntries() []*GetJobStreamResponse_Terminal_Event_TableEntry { if x != nil { return x.Entries } return nil } type GetJobStreamResponse_Terminal_Event_Table struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Headers []string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` Rows []*GetJobStreamResponse_Terminal_Event_TableRow `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Table) Reset() { *x = GetJobStreamResponse_Terminal_Event_Table{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Table) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Table) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Table) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[140] 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 GetJobStreamResponse_Terminal_Event_Table.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Table) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 7} } func (x *GetJobStreamResponse_Terminal_Event_Table) GetHeaders() []string { if x != nil { return x.Headers } return nil } func (x *GetJobStreamResponse_Terminal_Event_Table) GetRows() []*GetJobStreamResponse_Terminal_Event_TableRow { if x != nil { return x.Rows } return nil } type GetJobStreamResponse_Terminal_Event_StepGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Close bool `protobuf:"varint,1,opt,name=close,proto3" json:"close,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_StepGroup) Reset() { *x = GetJobStreamResponse_Terminal_Event_StepGroup{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_StepGroup) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_StepGroup) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_StepGroup) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[141] 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 GetJobStreamResponse_Terminal_Event_StepGroup.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_StepGroup) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 8} } func (x *GetJobStreamResponse_Terminal_Event_StepGroup) GetClose() bool { if x != nil { return x.Close } return false } type GetJobStreamResponse_Terminal_Event_Step struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Close bool `protobuf:"varint,2,opt,name=close,proto3" json:"close,omitempty"` Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` Output []byte `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Step) Reset() { *x = GetJobStreamResponse_Terminal_Event_Step{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Step) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Step) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Step) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[142] 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 GetJobStreamResponse_Terminal_Event_Step.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Step) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 2, 0, 9} } func (x *GetJobStreamResponse_Terminal_Event_Step) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *GetJobStreamResponse_Terminal_Event_Step) GetClose() bool { if x != nil { return x.Close } return false } func (x *GetJobStreamResponse_Terminal_Event_Step) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *GetJobStreamResponse_Terminal_Event_Step) GetStatus() string { if x != nil { return x.Status } return "" } func (x *GetJobStreamResponse_Terminal_Event_Step) GetOutput() []byte { if x != nil { return x.Output } return nil } type RunnerConfigRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runner to register. See Runner for what fields can be set. Runner *Runner `protobuf:"bytes,1,opt,name=runner,proto3" json:"runner,omitempty"` } func (x *RunnerConfigRequest_Open) Reset() { *x = RunnerConfigRequest_Open{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfigRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfigRequest_Open) ProtoMessage() {} func (x *RunnerConfigRequest_Open) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[143] 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 RunnerConfigRequest_Open.ProtoReflect.Descriptor instead. func (*RunnerConfigRequest_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{26, 0} } func (x *RunnerConfigRequest_Open) GetRunner() *Runner { if x != nil { return x.Runner } return nil } type RunnerJobStreamRequest_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RunnerId string `protobuf:"bytes,1,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"` } func (x *RunnerJobStreamRequest_Request) Reset() { *x = RunnerJobStreamRequest_Request{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Request) ProtoMessage() {} func (x *RunnerJobStreamRequest_Request) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[144] 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 RunnerJobStreamRequest_Request.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Request) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{29, 0} } func (x *RunnerJobStreamRequest_Request) GetRunnerId() string { if x != nil { return x.RunnerId } return "" } type RunnerJobStreamRequest_Ack struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RunnerJobStreamRequest_Ack) Reset() { *x = RunnerJobStreamRequest_Ack{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Ack) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Ack) ProtoMessage() {} func (x *RunnerJobStreamRequest_Ack) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[145] 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 RunnerJobStreamRequest_Ack.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Ack) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{29, 1} } type RunnerJobStreamRequest_Complete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Result *Job_Result `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` } func (x *RunnerJobStreamRequest_Complete) Reset() { *x = RunnerJobStreamRequest_Complete{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Complete) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Complete) ProtoMessage() {} func (x *RunnerJobStreamRequest_Complete) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[146] 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 RunnerJobStreamRequest_Complete.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Complete) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{29, 2} } func (x *RunnerJobStreamRequest_Complete) GetResult() *Job_Result { if x != nil { return x.Result } return nil } type RunnerJobStreamRequest_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (x *RunnerJobStreamRequest_Error) Reset() { *x = RunnerJobStreamRequest_Error{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Error) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Error) ProtoMessage() {} func (x *RunnerJobStreamRequest_Error) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[147] 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 RunnerJobStreamRequest_Error.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Error) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{29, 3} } func (x *RunnerJobStreamRequest_Error) GetError() *status.Status { if x != nil { return x.Error } return nil } type RunnerJobStreamRequest_Heartbeat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RunnerJobStreamRequest_Heartbeat) Reset() { *x = RunnerJobStreamRequest_Heartbeat{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Heartbeat) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Heartbeat) ProtoMessage() {} func (x *RunnerJobStreamRequest_Heartbeat) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[148] 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 RunnerJobStreamRequest_Heartbeat.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Heartbeat) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{29, 4} } type RunnerJobStreamResponse_JobAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } func (x *RunnerJobStreamResponse_JobAssignment) Reset() { *x = RunnerJobStreamResponse_JobAssignment{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamResponse_JobAssignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamResponse_JobAssignment) ProtoMessage() {} func (x *RunnerJobStreamResponse_JobAssignment) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[149] 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 RunnerJobStreamResponse_JobAssignment.ProtoReflect.Descriptor instead. func (*RunnerJobStreamResponse_JobAssignment) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{30, 0} } func (x *RunnerJobStreamResponse_JobAssignment) GetJob() *Job { if x != nil { return x.Job } return nil } type RunnerJobStreamResponse_JobCancel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Force bool `protobuf:"varint,1,opt,name=force,proto3" json:"force,omitempty"` } func (x *RunnerJobStreamResponse_JobCancel) Reset() { *x = RunnerJobStreamResponse_JobCancel{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamResponse_JobCancel) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamResponse_JobCancel) ProtoMessage() {} func (x *RunnerJobStreamResponse_JobCancel) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[150] 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 RunnerJobStreamResponse_JobCancel.ProtoReflect.Descriptor instead. func (*RunnerJobStreamResponse_JobCancel) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{30, 1} } func (x *RunnerJobStreamResponse_JobCancel) GetForce() bool { if x != nil { return x.Force } return false } type LogBatch_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Line string `protobuf:"bytes,2,opt,name=line,proto3" json:"line,omitempty"` } func (x *LogBatch_Entry) Reset() { *x = LogBatch_Entry{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LogBatch_Entry) String() string { return protoimpl.X.MessageStringOf(x) } func (*LogBatch_Entry) ProtoMessage() {} func (x *LogBatch_Entry) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[151] 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 LogBatch_Entry.ProtoReflect.Descriptor instead. func (*LogBatch_Entry) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{63, 0} } func (x *LogBatch_Entry) GetTimestamp() *timestamppb.Timestamp { if x != nil { return x.Timestamp } return nil } func (x *LogBatch_Entry) GetLine() string { if x != nil { return x.Line } return "" } type ExecStreamRequest_Start struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Deployment to exec into DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` // Args including the command at args[0] to execute. Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` // Pty is set if we should allocate a PTY for this exec stream. Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` } func (x *ExecStreamRequest_Start) Reset() { *x = ExecStreamRequest_Start{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_Start) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_Start) ProtoMessage() {} func (x *ExecStreamRequest_Start) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[152] 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 ExecStreamRequest_Start.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_Start) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 0} } func (x *ExecStreamRequest_Start) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } func (x *ExecStreamRequest_Start) GetArgs() []string { if x != nil { return x.Args } return nil } func (x *ExecStreamRequest_Start) GetPty() *ExecStreamRequest_PTY { if x != nil { return x.Pty } return nil } type ExecStreamRequest_Input struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *ExecStreamRequest_Input) Reset() { *x = ExecStreamRequest_Input{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_Input) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_Input) ProtoMessage() {} func (x *ExecStreamRequest_Input) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[153] 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 ExecStreamRequest_Input.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_Input) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 1} } func (x *ExecStreamRequest_Input) GetData() []byte { if x != nil { return x.Data } return nil } type ExecStreamRequest_PTY struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` // term is the TERM value to request on the remote side. This should be set. Term string `protobuf:"bytes,2,opt,name=term,proto3" json:"term,omitempty"` // window_size is the initial window size WindowSize *ExecStreamRequest_WindowSize `protobuf:"bytes,3,opt,name=window_size,json=windowSize,proto3" json:"window_size,omitempty"` } func (x *ExecStreamRequest_PTY) Reset() { *x = ExecStreamRequest_PTY{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_PTY) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_PTY) ProtoMessage() {} func (x *ExecStreamRequest_PTY) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[154] 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 ExecStreamRequest_PTY.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_PTY) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 2} } func (x *ExecStreamRequest_PTY) GetEnable() bool { if x != nil { return x.Enable } return false } func (x *ExecStreamRequest_PTY) GetTerm() string { if x != nil { return x.Term } return "" } func (x *ExecStreamRequest_PTY) GetWindowSize() *ExecStreamRequest_WindowSize { if x != nil { return x.WindowSize } return nil } type ExecStreamRequest_WindowSize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rows int32 `protobuf:"varint,1,opt,name=rows,proto3" json:"rows,omitempty"` Cols int32 `protobuf:"varint,2,opt,name=cols,proto3" json:"cols,omitempty"` Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` } func (x *ExecStreamRequest_WindowSize) Reset() { *x = ExecStreamRequest_WindowSize{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_WindowSize) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_WindowSize) ProtoMessage() {} func (x *ExecStreamRequest_WindowSize) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[155] 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 ExecStreamRequest_WindowSize.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_WindowSize) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 3} } func (x *ExecStreamRequest_WindowSize) GetRows() int32 { if x != nil { return x.Rows } return 0 } func (x *ExecStreamRequest_WindowSize) GetCols() int32 { if x != nil { return x.Cols } return 0 } func (x *ExecStreamRequest_WindowSize) GetWidth() int32 { if x != nil { return x.Width } return 0 } func (x *ExecStreamRequest_WindowSize) GetHeight() int32 { if x != nil { return x.Height } return 0 } type ExecStreamResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ExecStreamResponse_Open) Reset() { *x = ExecStreamResponse_Open{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse_Open) ProtoMessage() {} func (x *ExecStreamResponse_Open) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[156] 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 ExecStreamResponse_Open.ProtoReflect.Descriptor instead. func (*ExecStreamResponse_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{70, 0} } type ExecStreamResponse_Exit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` } func (x *ExecStreamResponse_Exit) Reset() { *x = ExecStreamResponse_Exit{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse_Exit) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse_Exit) ProtoMessage() {} func (x *ExecStreamResponse_Exit) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[157] 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 ExecStreamResponse_Exit.ProtoReflect.Descriptor instead. func (*ExecStreamResponse_Exit) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{70, 1} } func (x *ExecStreamResponse_Exit) GetCode() int32 { if x != nil { return x.Code } return 0 } type ExecStreamResponse_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel ExecStreamResponse_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.vagrant.ExecStreamResponse_Output_Channel" json:"channel,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *ExecStreamResponse_Output) Reset() { *x = ExecStreamResponse_Output{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse_Output) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse_Output) ProtoMessage() {} func (x *ExecStreamResponse_Output) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[158] 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 ExecStreamResponse_Output.ProtoReflect.Descriptor instead. func (*ExecStreamResponse_Output) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{70, 2} } func (x *ExecStreamResponse_Output) GetChannel() ExecStreamResponse_Output_Channel { if x != nil { return x.Channel } return ExecStreamResponse_Output_UNKNOWN } func (x *ExecStreamResponse_Output) GetData() []byte { if x != nil { return x.Data } return nil } type EntrypointConfig_Exec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` } func (x *EntrypointConfig_Exec) Reset() { *x = EntrypointConfig_Exec{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfig_Exec) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfig_Exec) ProtoMessage() {} func (x *EntrypointConfig_Exec) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[159] 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 EntrypointConfig_Exec.ProtoReflect.Descriptor instead. func (*EntrypointConfig_Exec) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{73, 0} } func (x *EntrypointConfig_Exec) GetIndex() int64 { if x != nil { return x.Index } return 0 } func (x *EntrypointConfig_Exec) GetArgs() []string { if x != nil { return x.Args } return nil } func (x *EntrypointConfig_Exec) GetPty() *ExecStreamRequest_PTY { if x != nil { return x.Pty } return nil } type EntrypointConfig_URLService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // address to the control server and the token for auth ControlAddr string `protobuf:"bytes,1,opt,name=control_addr,json=controlAddr,proto3" json:"control_addr,omitempty"` Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` // labels to register this instance under Labels string `protobuf:"bytes,3,opt,name=labels,proto3" json:"labels,omitempty"` } func (x *EntrypointConfig_URLService) Reset() { *x = EntrypointConfig_URLService{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfig_URLService) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfig_URLService) ProtoMessage() {} func (x *EntrypointConfig_URLService) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[160] 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 EntrypointConfig_URLService.ProtoReflect.Descriptor instead. func (*EntrypointConfig_URLService) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{73, 1} } func (x *EntrypointConfig_URLService) GetControlAddr() string { if x != nil { return x.ControlAddr } return "" } func (x *EntrypointConfig_URLService) GetToken() string { if x != nil { return x.Token } return "" } func (x *EntrypointConfig_URLService) GetLabels() string { if x != nil { return x.Labels } return "" } type EntrypointExecRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` } func (x *EntrypointExecRequest_Open) Reset() { *x = EntrypointExecRequest_Open{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Open) ProtoMessage() {} func (x *EntrypointExecRequest_Open) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[161] 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 EntrypointExecRequest_Open.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{75, 0} } func (x *EntrypointExecRequest_Open) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } func (x *EntrypointExecRequest_Open) GetIndex() int64 { if x != nil { return x.Index } return 0 } type EntrypointExecRequest_Exit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` } func (x *EntrypointExecRequest_Exit) Reset() { *x = EntrypointExecRequest_Exit{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Exit) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Exit) ProtoMessage() {} func (x *EntrypointExecRequest_Exit) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[162] 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 EntrypointExecRequest_Exit.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Exit) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{75, 1} } func (x *EntrypointExecRequest_Exit) GetCode() int32 { if x != nil { return x.Code } return 0 } type EntrypointExecRequest_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel EntrypointExecRequest_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.vagrant.EntrypointExecRequest_Output_Channel" json:"channel,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *EntrypointExecRequest_Output) Reset() { *x = EntrypointExecRequest_Output{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Output) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Output) ProtoMessage() {} func (x *EntrypointExecRequest_Output) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[163] 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 EntrypointExecRequest_Output.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Output) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{75, 2} } func (x *EntrypointExecRequest_Output) GetChannel() EntrypointExecRequest_Output_Channel { if x != nil { return x.Channel } return EntrypointExecRequest_Output_UNKNOWN } func (x *EntrypointExecRequest_Output) GetData() []byte { if x != nil { return x.Data } return nil } type EntrypointExecRequest_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (x *EntrypointExecRequest_Error) Reset() { *x = EntrypointExecRequest_Error{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Error) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Error) ProtoMessage() {} func (x *EntrypointExecRequest_Error) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[164] 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 EntrypointExecRequest_Error.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Error) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{75, 3} } func (x *EntrypointExecRequest_Error) GetError() *status.Status { if x != nil { return x.Error } return nil } type Token_Entrypoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // deployment id is the deployment to restrict this token to. DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` } func (x *Token_Entrypoint) Reset() { *x = Token_Entrypoint{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Token_Entrypoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*Token_Entrypoint) ProtoMessage() {} func (x *Token_Entrypoint) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[166] 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 Token_Entrypoint.ProtoReflect.Descriptor instead. func (*Token_Entrypoint) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{78, 0} } func (x *Token_Entrypoint) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } // One day we may add information here. For now we are reserving this. type CreateSnapshotResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateSnapshotResponse_Open) Reset() { *x = CreateSnapshotResponse_Open{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateSnapshotResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateSnapshotResponse_Open) ProtoMessage() {} func (x *CreateSnapshotResponse_Open) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[167] 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 CreateSnapshotResponse_Open.ProtoReflect.Descriptor instead. func (*CreateSnapshotResponse_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{83, 0} } type RestoreSnapshotRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, the server will exit after the restore is staged. This will // SHUT DOWN the server and some external process you created is expected // to bring it back. The Vagrant server on its own WILL NOT automatically // restart. You should only set this if you have some operation to // automate restart such as running in Nomad or Kubernetes. Exit bool `protobuf:"varint,1,opt,name=exit,proto3" json:"exit,omitempty"` } func (x *RestoreSnapshotRequest_Open) Reset() { *x = RestoreSnapshotRequest_Open{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreSnapshotRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreSnapshotRequest_Open) ProtoMessage() {} func (x *RestoreSnapshotRequest_Open) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[168] 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 RestoreSnapshotRequest_Open.ProtoReflect.Descriptor instead. func (*RestoreSnapshotRequest_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{84, 0} } func (x *RestoreSnapshotRequest_Open) GetExit() bool { if x != nil { return x.Exit } return false } // Header is _always_ the first message encoded into a snapshot. If // this isn't present, the entire snapshot can be considered corrupt. type Snapshot_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // version is the version of Vagrant that generated this snapshot. Version *VersionInfo `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // format is the format of the remaining messages. This can be used // to determine what messages to expect following the header. Format Snapshot_Header_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.vagrant.Snapshot_Header_Format" json:"format,omitempty"` } func (x *Snapshot_Header) Reset() { *x = Snapshot_Header{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot_Header) ProtoMessage() {} func (x *Snapshot_Header) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[169] 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 Snapshot_Header.ProtoReflect.Descriptor instead. func (*Snapshot_Header) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{85, 0} } func (x *Snapshot_Header) GetVersion() *VersionInfo { if x != nil { return x.Version } return nil } func (x *Snapshot_Header) GetFormat() Snapshot_Header_Format { if x != nil { return x.Format } return Snapshot_Header_UNKNOWN } // Trailer is sent as the final message encoded into a snapshot. Detecting // when the trailer is is dependent on the format. type Snapshot_Trailer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // checksum is the checksum of all the bytes up to but not including // this proto message. The checksum is for the raw uncompressed bytes. // // Types that are assignable to Checksum: // // *Snapshot_Trailer_Sha256 Checksum isSnapshot_Trailer_Checksum `protobuf_oneof:"checksum"` } func (x *Snapshot_Trailer) Reset() { *x = Snapshot_Trailer{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot_Trailer) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot_Trailer) ProtoMessage() {} func (x *Snapshot_Trailer) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[170] 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 Snapshot_Trailer.ProtoReflect.Descriptor instead. func (*Snapshot_Trailer) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{85, 1} } func (m *Snapshot_Trailer) GetChecksum() isSnapshot_Trailer_Checksum { if m != nil { return m.Checksum } return nil } func (x *Snapshot_Trailer) GetSha256() string { if x, ok := x.GetChecksum().(*Snapshot_Trailer_Sha256); ok { return x.Sha256 } return "" } type isSnapshot_Trailer_Checksum interface { isSnapshot_Trailer_Checksum() } type Snapshot_Trailer_Sha256 struct { Sha256 string `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"` // SHA-256 checksum } func (*Snapshot_Trailer_Sha256) isSnapshot_Trailer_Checksum() {} // BoltChunk is a single chunk of data for BoltDB if the snapshot format // is BOLT. A chunk will always contain items designated for a single bucket, // but a bucket may be repeated multiple time across chunks if there are // too many items in the bucket. // // The final BoltChunk will have trailer set to true. Immediaetly following // that chunk will be the Trailer message. type Snapshot_BoltChunk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // bucket is the name of the bucket. This may be empty. If this is empty, // then this chunk should be ignored. Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` // items is a id/value mapping of all this chunk of items in this bucket Items map[string][]byte `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // final is true if this is the last bolt chunk being written. Final bool `protobuf:"varint,3,opt,name=final,proto3" json:"final,omitempty"` } func (x *Snapshot_BoltChunk) Reset() { *x = Snapshot_BoltChunk{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot_BoltChunk) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot_BoltChunk) ProtoMessage() {} func (x *Snapshot_BoltChunk) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[171] 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 Snapshot_BoltChunk.ProtoReflect.Descriptor instead. func (*Snapshot_BoltChunk) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{85, 2} } func (x *Snapshot_BoltChunk) GetBucket() string { if x != nil { return x.Bucket } return "" } func (x *Snapshot_BoltChunk) GetItems() map[string][]byte { if x != nil { return x.Items } return nil } func (x *Snapshot_BoltChunk) GetFinal() bool { if x != nil { return x.Final } return false } var File_proto_vagrant_server_server_proto protoreflect.FileDescriptor var file_proto_vagrant_server_server_proto_rawDesc = []byte{ 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x4e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x45, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x22, 0xbf, 0x02, 0x0a, 0x0b, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x75, 0x6e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0b, 0x75, 0x6e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x3d, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x25, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x43, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x55, 0x42, 0x59, 0x10, 0x02, 0x22, 0x86, 0x03, 0x0a, 0x05, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xbd, 0x03, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x03, 0x42, 0x6f, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x92, 0x06, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x9d, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9a, 0x07, 0x0a, 0x03, 0x52, 0x65, 0x66, 0x1a, 0x56, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xa9, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x69, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x67, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x6b, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x63, 0x0a, 0x11, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x7b, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x31, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x1a, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x0b, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x1a, 0x2e, 0x0a, 0x0b, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xe7, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x22, 0xed, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x59, 0x4e, 0x43, 0x45, 0x44, 0x46, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x4f, 0x47, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x50, 0x50, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x0c, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x0d, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x55, 0x53, 0x48, 0x10, 0x0e, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x52, 0x10, 0x0f, 0x22, 0xba, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 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, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0x9d, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x4b, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x6f, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x62, 0x0a, 0x0d, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x41, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x22, 0xb0, 0x01, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x35, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x22, 0x29, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x29, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xf1, 0x24, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4e, 0x6f, 0x6f, 0x70, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x66, 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, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x67, 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, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x68, 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, 0x07, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x69, 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, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6c, 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, 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6d, 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, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xaa, 0x03, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x3c, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x7c, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x3d, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x6f, 0x70, 0x1a, 0x0c, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x1a, 0x10, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x1a, 0xc0, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x1a, 0x0d, 0x0a, 0x0b, 0x49, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x1a, 0x49, 0x0a, 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x1a, 0x0f, 0x0a, 0x0d, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x1a, 0x51, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x34, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xd2, 0x01, 0x0a, 0x04, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x1a, 0xc5, 0x05, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4f, 0x70, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4f, 0x70, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x41, 0x72, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x1a, 0xae, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x67, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x1a, 0xf0, 0x02, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0x08, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x1a, 0xcc, 0x01, 0x0a, 0x0a, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x7a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x22, 0x52, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x05, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x3a, 0x10, 0x50, 0x22, 0xf6, 0x04, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x1a, 0x61, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb4, 0x01, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x58, 0x0a, 0x06, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x2c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0xef, 0x12, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0xc1, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0xef, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x4e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x1a, 0xf6, 0x0b, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 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, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x51, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x57, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x67, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x54, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x61, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x51, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x48, 0x00, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x46, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x6e, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x1a, 0x31, 0x0a, 0x03, 0x52, 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x1a, 0x36, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x68, 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x1a, 0x67, 0x0a, 0x08, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x12, 0x5b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x76, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x21, 0x0a, 0x09, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x6e, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x6b, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x74, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x79, 0x49, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x1a, 0x39, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4f, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4d, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x73, 0x22, 0xa5, 0x05, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x03, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x1a, 0x26, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x05, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x1a, 0x41, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x0b, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xac, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x39, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x1a, 0x21, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x45, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x49, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x43, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x4b, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x4c, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4d, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x51, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4b, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x56, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x49, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x46, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x46, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x47, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x52, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x22, 0x3d, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x22, 0x44, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x22, 0x41, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x22, 0x3a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x22, 0x49, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x22, 0x42, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x22, 0x3b, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x22, 0xfa, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x09, 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, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xae, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa5, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xf2, 0x04, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x1a, 0x7c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x83, 0x01, 0x0a, 0x03, 0x50, 0x54, 0x59, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x50, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x62, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xac, 0x03, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9c, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x5f, 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa7, 0x03, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x6c, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, 0x1a, 0x5d, 0x0a, 0x0a, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x6e, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0xed, 0x04, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x43, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9f, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xe3, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x02, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x03, 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, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x07, 0x48, 0x4d, 0x41, 0x43, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x75, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x31, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x1a, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xa2, 0x03, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa6, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1f, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4c, 0x54, 0x10, 0x01, 0x1a, 0x2f, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x0a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x1a, 0xbb, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0x82, 0x17, 0x0a, 0x07, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6f, 0x78, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x78, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x78, 0x12, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x78, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x30, 0x01, 0x12, 0x53, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x54, 0x0a, 0x09, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x3e, 0x0a, 0x0c, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x4f, 0x6c, 0x64, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x6c, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_proto_vagrant_server_server_proto_rawDescOnce sync.Once file_proto_vagrant_server_server_proto_rawDescData = file_proto_vagrant_server_server_proto_rawDesc ) func file_proto_vagrant_server_server_proto_rawDescGZIP() []byte { file_proto_vagrant_server_server_proto_rawDescOnce.Do(func() { file_proto_vagrant_server_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_vagrant_server_server_proto_rawDescData) }) return file_proto_vagrant_server_server_proto_rawDescData } var file_proto_vagrant_server_server_proto_enumTypes = make([]protoimpl.EnumInfo, 10) var file_proto_vagrant_server_server_proto_msgTypes = make([]protoimpl.MessageInfo, 173) var file_proto_vagrant_server_server_proto_goTypes = []interface{}{ (Vagrantfile_Format)(0), // 0: hashicorp.vagrant.Vagrantfile.Format (Component_Type)(0), // 1: hashicorp.vagrant.Component.Type (Status_State)(0), // 2: hashicorp.vagrant.Status.State (Operation_PhysicalState)(0), // 3: hashicorp.vagrant.Operation.PhysicalState (OperationOrder_Order)(0), // 4: hashicorp.vagrant.OperationOrder.Order (Job_State)(0), // 5: hashicorp.vagrant.Job.State (Job_Hook_Location)(0), // 6: hashicorp.vagrant.Job.Hook.Location (ExecStreamResponse_Output_Channel)(0), // 7: hashicorp.vagrant.ExecStreamResponse.Output.Channel (EntrypointExecRequest_Output_Channel)(0), // 8: hashicorp.vagrant.EntrypointExecRequest.Output.Channel (Snapshot_Header_Format)(0), // 9: hashicorp.vagrant.Snapshot.Header.Format (*GetVersionInfoResponse)(nil), // 10: hashicorp.vagrant.GetVersionInfoResponse (*VersionInfo)(nil), // 11: hashicorp.vagrant.VersionInfo (*Vagrantfile)(nil), // 12: hashicorp.vagrant.Vagrantfile (*Basis)(nil), // 13: hashicorp.vagrant.Basis (*Project)(nil), // 14: hashicorp.vagrant.Project (*Box)(nil), // 15: hashicorp.vagrant.Box (*Target)(nil), // 16: hashicorp.vagrant.Target (*Ref)(nil), // 17: hashicorp.vagrant.Ref (*Component)(nil), // 18: hashicorp.vagrant.Component (*Status)(nil), // 19: hashicorp.vagrant.Status (*StatusFilter)(nil), // 20: hashicorp.vagrant.StatusFilter (*Operation)(nil), // 21: hashicorp.vagrant.Operation (*OperationOrder)(nil), // 22: hashicorp.vagrant.OperationOrder (*QueueJobRequest)(nil), // 23: hashicorp.vagrant.QueueJobRequest (*QueueJobResponse)(nil), // 24: hashicorp.vagrant.QueueJobResponse (*CancelJobRequest)(nil), // 25: hashicorp.vagrant.CancelJobRequest (*ValidateJobRequest)(nil), // 26: hashicorp.vagrant.ValidateJobRequest (*ValidateJobResponse)(nil), // 27: hashicorp.vagrant.ValidateJobResponse (*Job)(nil), // 28: hashicorp.vagrant.Job (*Documentation)(nil), // 29: hashicorp.vagrant.Documentation (*GetJobRequest)(nil), // 30: hashicorp.vagrant.GetJobRequest (*ListJobsRequest)(nil), // 31: hashicorp.vagrant.ListJobsRequest (*ListJobsResponse)(nil), // 32: hashicorp.vagrant.ListJobsResponse (*GetJobStreamRequest)(nil), // 33: hashicorp.vagrant.GetJobStreamRequest (*GetJobStreamResponse)(nil), // 34: hashicorp.vagrant.GetJobStreamResponse (*Runner)(nil), // 35: hashicorp.vagrant.Runner (*RunnerConfigRequest)(nil), // 36: hashicorp.vagrant.RunnerConfigRequest (*RunnerConfigResponse)(nil), // 37: hashicorp.vagrant.RunnerConfigResponse (*RunnerConfig)(nil), // 38: hashicorp.vagrant.RunnerConfig (*RunnerJobStreamRequest)(nil), // 39: hashicorp.vagrant.RunnerJobStreamRequest (*RunnerJobStreamResponse)(nil), // 40: hashicorp.vagrant.RunnerJobStreamResponse (*GetRunnerRequest)(nil), // 41: hashicorp.vagrant.GetRunnerRequest (*UpsertBasisRequest)(nil), // 42: hashicorp.vagrant.UpsertBasisRequest (*UpsertBasisResponse)(nil), // 43: hashicorp.vagrant.UpsertBasisResponse (*GetBasisRequest)(nil), // 44: hashicorp.vagrant.GetBasisRequest (*GetBasisResponse)(nil), // 45: hashicorp.vagrant.GetBasisResponse (*FindBasisRequest)(nil), // 46: hashicorp.vagrant.FindBasisRequest (*FindBasisResponse)(nil), // 47: hashicorp.vagrant.FindBasisResponse (*ListBasisResponse)(nil), // 48: hashicorp.vagrant.ListBasisResponse (*UpsertProjectRequest)(nil), // 49: hashicorp.vagrant.UpsertProjectRequest (*UpsertProjectResponse)(nil), // 50: hashicorp.vagrant.UpsertProjectResponse (*GetProjectRequest)(nil), // 51: hashicorp.vagrant.GetProjectRequest (*GetProjectResponse)(nil), // 52: hashicorp.vagrant.GetProjectResponse (*FindProjectRequest)(nil), // 53: hashicorp.vagrant.FindProjectRequest (*FindProjectResponse)(nil), // 54: hashicorp.vagrant.FindProjectResponse (*ListProjectsResponse)(nil), // 55: hashicorp.vagrant.ListProjectsResponse (*UpsertTargetRequest)(nil), // 56: hashicorp.vagrant.UpsertTargetRequest (*UpsertTargetResponse)(nil), // 57: hashicorp.vagrant.UpsertTargetResponse (*DeleteTargetRequest)(nil), // 58: hashicorp.vagrant.DeleteTargetRequest (*GetTargetRequest)(nil), // 59: hashicorp.vagrant.GetTargetRequest (*GetTargetResponse)(nil), // 60: hashicorp.vagrant.GetTargetResponse (*FindTargetRequest)(nil), // 61: hashicorp.vagrant.FindTargetRequest (*FindTargetResponse)(nil), // 62: hashicorp.vagrant.FindTargetResponse (*ListTargetsResponse)(nil), // 63: hashicorp.vagrant.ListTargetsResponse (*UpsertBoxRequest)(nil), // 64: hashicorp.vagrant.UpsertBoxRequest (*UpsertBoxResponse)(nil), // 65: hashicorp.vagrant.UpsertBoxResponse (*DeleteBoxRequest)(nil), // 66: hashicorp.vagrant.DeleteBoxRequest (*GetBoxRequest)(nil), // 67: hashicorp.vagrant.GetBoxRequest (*GetBoxResponse)(nil), // 68: hashicorp.vagrant.GetBoxResponse (*ListBoxesResponse)(nil), // 69: hashicorp.vagrant.ListBoxesResponse (*FindBoxRequest)(nil), // 70: hashicorp.vagrant.FindBoxRequest (*FindBoxResponse)(nil), // 71: hashicorp.vagrant.FindBoxResponse (*GetLogStreamRequest)(nil), // 72: hashicorp.vagrant.GetLogStreamRequest (*LogBatch)(nil), // 73: hashicorp.vagrant.LogBatch (*ConfigVar)(nil), // 74: hashicorp.vagrant.ConfigVar (*ConfigSetRequest)(nil), // 75: hashicorp.vagrant.ConfigSetRequest (*ConfigSetResponse)(nil), // 76: hashicorp.vagrant.ConfigSetResponse (*ConfigGetRequest)(nil), // 77: hashicorp.vagrant.ConfigGetRequest (*ConfigGetResponse)(nil), // 78: hashicorp.vagrant.ConfigGetResponse (*ExecStreamRequest)(nil), // 79: hashicorp.vagrant.ExecStreamRequest (*ExecStreamResponse)(nil), // 80: hashicorp.vagrant.ExecStreamResponse (*EntrypointConfigRequest)(nil), // 81: hashicorp.vagrant.EntrypointConfigRequest (*EntrypointConfigResponse)(nil), // 82: hashicorp.vagrant.EntrypointConfigResponse (*EntrypointConfig)(nil), // 83: hashicorp.vagrant.EntrypointConfig (*EntrypointLogBatch)(nil), // 84: hashicorp.vagrant.EntrypointLogBatch (*EntrypointExecRequest)(nil), // 85: hashicorp.vagrant.EntrypointExecRequest (*EntrypointExecResponse)(nil), // 86: hashicorp.vagrant.EntrypointExecResponse (*TokenTransport)(nil), // 87: hashicorp.vagrant.TokenTransport (*Token)(nil), // 88: hashicorp.vagrant.Token (*HMACKey)(nil), // 89: hashicorp.vagrant.HMACKey (*InviteTokenRequest)(nil), // 90: hashicorp.vagrant.InviteTokenRequest (*NewTokenResponse)(nil), // 91: hashicorp.vagrant.NewTokenResponse (*ConvertInviteTokenRequest)(nil), // 92: hashicorp.vagrant.ConvertInviteTokenRequest (*CreateSnapshotResponse)(nil), // 93: hashicorp.vagrant.CreateSnapshotResponse (*RestoreSnapshotRequest)(nil), // 94: hashicorp.vagrant.RestoreSnapshotRequest (*Snapshot)(nil), // 95: hashicorp.vagrant.Snapshot (*VersionInfo_ProtocolVersion)(nil), // 96: hashicorp.vagrant.VersionInfo.ProtocolVersion (*Target_Machine)(nil), // 97: hashicorp.vagrant.Target.Machine (*Ref_Component)(nil), // 98: hashicorp.vagrant.Ref.Component (*Ref_Operation)(nil), // 99: hashicorp.vagrant.Ref.Operation (*Ref_TargetOperationSeq)(nil), // 100: hashicorp.vagrant.Ref.TargetOperationSeq (*Ref_ProjectOperationSeq)(nil), // 101: hashicorp.vagrant.Ref.ProjectOperationSeq (*Ref_BasisOperationSeq)(nil), // 102: hashicorp.vagrant.Ref.BasisOperationSeq (*Ref_Runner)(nil), // 103: hashicorp.vagrant.Ref.Runner (*Ref_RunnerId)(nil), // 104: hashicorp.vagrant.Ref.RunnerId (*Ref_RunnerAny)(nil), // 105: hashicorp.vagrant.Ref.RunnerAny (*Ref_Vagrantfile)(nil), // 106: hashicorp.vagrant.Ref.Vagrantfile (*StatusFilter_Filter)(nil), // 107: hashicorp.vagrant.StatusFilter.Filter nil, // 108: hashicorp.vagrant.Job.LabelsEntry nil, // 109: hashicorp.vagrant.Job.DataSourceOverridesEntry (*Job_Result)(nil), // 110: hashicorp.vagrant.Job.Result (*Job_DataSource)(nil), // 111: hashicorp.vagrant.Job.DataSource (*Job_Local)(nil), // 112: hashicorp.vagrant.Job.Local (*Job_Git)(nil), // 113: hashicorp.vagrant.Job.Git (*Job_Noop)(nil), // 114: hashicorp.vagrant.Job.Noop (*Job_ValidateOp)(nil), // 115: hashicorp.vagrant.Job.ValidateOp (*Job_ValidateResult)(nil), // 116: hashicorp.vagrant.Job.ValidateResult (*Job_InitOp)(nil), // 117: hashicorp.vagrant.Job.InitOp (*Job_InitResult)(nil), // 118: hashicorp.vagrant.Job.InitResult (*Job_InitBasisOp)(nil), // 119: hashicorp.vagrant.Job.InitBasisOp (*Job_InitBasisResult)(nil), // 120: hashicorp.vagrant.Job.InitBasisResult (*Job_InitProjectOp)(nil), // 121: hashicorp.vagrant.Job.InitProjectOp (*Job_InitProjectResult)(nil), // 122: hashicorp.vagrant.Job.InitProjectResult (*Job_Action)(nil), // 123: hashicorp.vagrant.Job.Action (*Job_Hook)(nil), // 124: hashicorp.vagrant.Job.Hook (*Job_CommandOp)(nil), // 125: hashicorp.vagrant.Job.CommandOp (*Job_CommandResult)(nil), // 126: hashicorp.vagrant.Job.CommandResult (*Job_AuthOp)(nil), // 127: hashicorp.vagrant.Job.AuthOp (*Job_AuthResult)(nil), // 128: hashicorp.vagrant.Job.AuthResult (*Job_DocsOp)(nil), // 129: hashicorp.vagrant.Job.DocsOp (*Job_DocsResult)(nil), // 130: hashicorp.vagrant.Job.DocsResult nil, // 131: hashicorp.vagrant.Job.CommandOp.LabelsEntry (*Job_AuthResult_Result)(nil), // 132: hashicorp.vagrant.Job.AuthResult.Result (*Job_DocsResult_Result)(nil), // 133: hashicorp.vagrant.Job.DocsResult.Result nil, // 134: hashicorp.vagrant.Documentation.FieldsEntry (*Documentation_Field)(nil), // 135: hashicorp.vagrant.Documentation.Field (*Documentation_Mapper)(nil), // 136: hashicorp.vagrant.Documentation.Mapper (*GetJobStreamResponse_Open)(nil), // 137: hashicorp.vagrant.GetJobStreamResponse.Open (*GetJobStreamResponse_State)(nil), // 138: hashicorp.vagrant.GetJobStreamResponse.State (*GetJobStreamResponse_Terminal)(nil), // 139: hashicorp.vagrant.GetJobStreamResponse.Terminal (*GetJobStreamResponse_Error)(nil), // 140: hashicorp.vagrant.GetJobStreamResponse.Error (*GetJobStreamResponse_Complete)(nil), // 141: hashicorp.vagrant.GetJobStreamResponse.Complete (*GetJobStreamResponse_Terminal_Event)(nil), // 142: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event (*GetJobStreamResponse_Terminal_Event_Status)(nil), // 143: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status (*GetJobStreamResponse_Terminal_Event_Line)(nil), // 144: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line (*GetJobStreamResponse_Terminal_Event_Raw)(nil), // 145: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw (*GetJobStreamResponse_Terminal_Event_NamedValue)(nil), // 146: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue (*GetJobStreamResponse_Terminal_Event_NamedValues)(nil), // 147: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues (*GetJobStreamResponse_Terminal_Event_TableEntry)(nil), // 148: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry (*GetJobStreamResponse_Terminal_Event_TableRow)(nil), // 149: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow (*GetJobStreamResponse_Terminal_Event_Table)(nil), // 150: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table (*GetJobStreamResponse_Terminal_Event_StepGroup)(nil), // 151: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup (*GetJobStreamResponse_Terminal_Event_Step)(nil), // 152: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step (*RunnerConfigRequest_Open)(nil), // 153: hashicorp.vagrant.RunnerConfigRequest.Open (*RunnerJobStreamRequest_Request)(nil), // 154: hashicorp.vagrant.RunnerJobStreamRequest.Request (*RunnerJobStreamRequest_Ack)(nil), // 155: hashicorp.vagrant.RunnerJobStreamRequest.Ack (*RunnerJobStreamRequest_Complete)(nil), // 156: hashicorp.vagrant.RunnerJobStreamRequest.Complete (*RunnerJobStreamRequest_Error)(nil), // 157: hashicorp.vagrant.RunnerJobStreamRequest.Error (*RunnerJobStreamRequest_Heartbeat)(nil), // 158: hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat (*RunnerJobStreamResponse_JobAssignment)(nil), // 159: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment (*RunnerJobStreamResponse_JobCancel)(nil), // 160: hashicorp.vagrant.RunnerJobStreamResponse.JobCancel (*LogBatch_Entry)(nil), // 161: hashicorp.vagrant.LogBatch.Entry (*ExecStreamRequest_Start)(nil), // 162: hashicorp.vagrant.ExecStreamRequest.Start (*ExecStreamRequest_Input)(nil), // 163: hashicorp.vagrant.ExecStreamRequest.Input (*ExecStreamRequest_PTY)(nil), // 164: hashicorp.vagrant.ExecStreamRequest.PTY (*ExecStreamRequest_WindowSize)(nil), // 165: hashicorp.vagrant.ExecStreamRequest.WindowSize (*ExecStreamResponse_Open)(nil), // 166: hashicorp.vagrant.ExecStreamResponse.Open (*ExecStreamResponse_Exit)(nil), // 167: hashicorp.vagrant.ExecStreamResponse.Exit (*ExecStreamResponse_Output)(nil), // 168: hashicorp.vagrant.ExecStreamResponse.Output (*EntrypointConfig_Exec)(nil), // 169: hashicorp.vagrant.EntrypointConfig.Exec (*EntrypointConfig_URLService)(nil), // 170: hashicorp.vagrant.EntrypointConfig.URLService (*EntrypointExecRequest_Open)(nil), // 171: hashicorp.vagrant.EntrypointExecRequest.Open (*EntrypointExecRequest_Exit)(nil), // 172: hashicorp.vagrant.EntrypointExecRequest.Exit (*EntrypointExecRequest_Output)(nil), // 173: hashicorp.vagrant.EntrypointExecRequest.Output (*EntrypointExecRequest_Error)(nil), // 174: hashicorp.vagrant.EntrypointExecRequest.Error nil, // 175: hashicorp.vagrant.TokenTransport.MetadataEntry (*Token_Entrypoint)(nil), // 176: hashicorp.vagrant.Token.Entrypoint (*CreateSnapshotResponse_Open)(nil), // 177: hashicorp.vagrant.CreateSnapshotResponse.Open (*RestoreSnapshotRequest_Open)(nil), // 178: hashicorp.vagrant.RestoreSnapshotRequest.Open (*Snapshot_Header)(nil), // 179: hashicorp.vagrant.Snapshot.Header (*Snapshot_Trailer)(nil), // 180: hashicorp.vagrant.Snapshot.Trailer (*Snapshot_BoltChunk)(nil), // 181: hashicorp.vagrant.Snapshot.BoltChunk nil, // 182: hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry (*vagrant_plugin_sdk.Args_Hash)(nil), // 183: hashicorp.vagrant.sdk.Args.Hash (*vagrant_plugin_sdk.Args_Path)(nil), // 184: hashicorp.vagrant.sdk.Args.Path (*vagrant_plugin_sdk.Ref_Project)(nil), // 185: hashicorp.vagrant.sdk.Ref.Project (*vagrant_plugin_sdk.Args_MetadataSet)(nil), // 186: hashicorp.vagrant.sdk.Args.MetadataSet (*vagrant_plugin_sdk.Ref_Target)(nil), // 187: hashicorp.vagrant.sdk.Ref.Target (*vagrant_plugin_sdk.Ref_Basis)(nil), // 188: hashicorp.vagrant.sdk.Ref.Basis (*structpb.Struct)(nil), // 189: google.protobuf.Struct (*timestamppb.Timestamp)(nil), // 190: google.protobuf.Timestamp (*vagrant_plugin_sdk.Args_DataDir_Target)(nil), // 191: hashicorp.vagrant.sdk.Args.DataDir.Target (*vagrant_plugin_sdk.Args_ConfigData)(nil), // 192: hashicorp.vagrant.sdk.Args.ConfigData (*anypb.Any)(nil), // 193: google.protobuf.Any (*status.Status)(nil), // 194: google.rpc.Status (*vagrant_plugin_sdk.Ref_Box)(nil), // 195: hashicorp.vagrant.sdk.Ref.Box (*vagrant_plugin_sdk.Args_Target_Machine_State)(nil), // 196: hashicorp.vagrant.sdk.Args.Target.Machine.State (*vagrant_plugin_sdk.Command_CommandInfo)(nil), // 197: hashicorp.vagrant.sdk.Command.CommandInfo (*vagrant_plugin_sdk.Command_Arguments)(nil), // 198: hashicorp.vagrant.sdk.Command.Arguments (*emptypb.Empty)(nil), // 199: google.protobuf.Empty } var file_proto_vagrant_server_server_proto_depIdxs = []int32{ 11, // 0: hashicorp.vagrant.GetVersionInfoResponse.info:type_name -> hashicorp.vagrant.VersionInfo 96, // 1: hashicorp.vagrant.VersionInfo.api:type_name -> hashicorp.vagrant.VersionInfo.ProtocolVersion 96, // 2: hashicorp.vagrant.VersionInfo.entrypoint:type_name -> hashicorp.vagrant.VersionInfo.ProtocolVersion 183, // 3: hashicorp.vagrant.Vagrantfile.unfinalized:type_name -> hashicorp.vagrant.sdk.Args.Hash 183, // 4: hashicorp.vagrant.Vagrantfile.finalized:type_name -> hashicorp.vagrant.sdk.Args.Hash 0, // 5: hashicorp.vagrant.Vagrantfile.format:type_name -> hashicorp.vagrant.Vagrantfile.Format 184, // 6: hashicorp.vagrant.Vagrantfile.path:type_name -> hashicorp.vagrant.sdk.Args.Path 185, // 7: hashicorp.vagrant.Basis.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project 186, // 8: hashicorp.vagrant.Basis.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 12, // 9: hashicorp.vagrant.Basis.configuration:type_name -> hashicorp.vagrant.Vagrantfile 111, // 10: hashicorp.vagrant.Basis.data_source:type_name -> hashicorp.vagrant.Job.DataSource 187, // 11: hashicorp.vagrant.Project.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target 188, // 12: hashicorp.vagrant.Project.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 186, // 13: hashicorp.vagrant.Project.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 12, // 14: hashicorp.vagrant.Project.configuration:type_name -> hashicorp.vagrant.Vagrantfile 111, // 15: hashicorp.vagrant.Project.data_source:type_name -> hashicorp.vagrant.Job.DataSource 189, // 16: hashicorp.vagrant.Box.metadata:type_name -> google.protobuf.Struct 190, // 17: hashicorp.vagrant.Box.last_update:type_name -> google.protobuf.Timestamp 191, // 18: hashicorp.vagrant.Target.datadir:type_name -> hashicorp.vagrant.sdk.Args.DataDir.Target 185, // 19: hashicorp.vagrant.Target.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 3, // 20: hashicorp.vagrant.Target.state:type_name -> hashicorp.vagrant.Operation.PhysicalState 187, // 21: hashicorp.vagrant.Target.subtargets:type_name -> hashicorp.vagrant.sdk.Ref.Target 187, // 22: hashicorp.vagrant.Target.parent:type_name -> hashicorp.vagrant.sdk.Ref.Target 186, // 23: hashicorp.vagrant.Target.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 192, // 24: hashicorp.vagrant.Target.configuration:type_name -> hashicorp.vagrant.sdk.Args.ConfigData 193, // 25: hashicorp.vagrant.Target.record:type_name -> google.protobuf.Any 1, // 26: hashicorp.vagrant.Component.type:type_name -> hashicorp.vagrant.Component.Type 2, // 27: hashicorp.vagrant.Status.state:type_name -> hashicorp.vagrant.Status.State 194, // 28: hashicorp.vagrant.Status.error:type_name -> google.rpc.Status 190, // 29: hashicorp.vagrant.Status.start_time:type_name -> google.protobuf.Timestamp 190, // 30: hashicorp.vagrant.Status.complete_time:type_name -> google.protobuf.Timestamp 107, // 31: hashicorp.vagrant.StatusFilter.filters:type_name -> hashicorp.vagrant.StatusFilter.Filter 4, // 32: hashicorp.vagrant.OperationOrder.order:type_name -> hashicorp.vagrant.OperationOrder.Order 28, // 33: hashicorp.vagrant.QueueJobRequest.job:type_name -> hashicorp.vagrant.Job 28, // 34: hashicorp.vagrant.ValidateJobRequest.job:type_name -> hashicorp.vagrant.Job 194, // 35: hashicorp.vagrant.ValidateJobResponse.validation_error:type_name -> google.rpc.Status 188, // 36: hashicorp.vagrant.Job.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 185, // 37: hashicorp.vagrant.Job.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 187, // 38: hashicorp.vagrant.Job.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 103, // 39: hashicorp.vagrant.Job.target_runner:type_name -> hashicorp.vagrant.Ref.Runner 108, // 40: hashicorp.vagrant.Job.labels:type_name -> hashicorp.vagrant.Job.LabelsEntry 111, // 41: hashicorp.vagrant.Job.data_source:type_name -> hashicorp.vagrant.Job.DataSource 109, // 42: hashicorp.vagrant.Job.data_source_overrides:type_name -> hashicorp.vagrant.Job.DataSourceOverridesEntry 114, // 43: hashicorp.vagrant.Job.noop:type_name -> hashicorp.vagrant.Job.Noop 127, // 44: hashicorp.vagrant.Job.auth:type_name -> hashicorp.vagrant.Job.AuthOp 129, // 45: hashicorp.vagrant.Job.docs:type_name -> hashicorp.vagrant.Job.DocsOp 115, // 46: hashicorp.vagrant.Job.validate:type_name -> hashicorp.vagrant.Job.ValidateOp 125, // 47: hashicorp.vagrant.Job.command:type_name -> hashicorp.vagrant.Job.CommandOp 117, // 48: hashicorp.vagrant.Job.init:type_name -> hashicorp.vagrant.Job.InitOp 119, // 49: hashicorp.vagrant.Job.init_basis:type_name -> hashicorp.vagrant.Job.InitBasisOp 121, // 50: hashicorp.vagrant.Job.init_project:type_name -> hashicorp.vagrant.Job.InitProjectOp 5, // 51: hashicorp.vagrant.Job.state:type_name -> hashicorp.vagrant.Job.State 104, // 52: hashicorp.vagrant.Job.assigned_runner:type_name -> hashicorp.vagrant.Ref.RunnerId 190, // 53: hashicorp.vagrant.Job.queue_time:type_name -> google.protobuf.Timestamp 190, // 54: hashicorp.vagrant.Job.assign_time:type_name -> google.protobuf.Timestamp 190, // 55: hashicorp.vagrant.Job.ack_time:type_name -> google.protobuf.Timestamp 190, // 56: hashicorp.vagrant.Job.complete_time:type_name -> google.protobuf.Timestamp 194, // 57: hashicorp.vagrant.Job.error:type_name -> google.rpc.Status 110, // 58: hashicorp.vagrant.Job.result:type_name -> hashicorp.vagrant.Job.Result 190, // 59: hashicorp.vagrant.Job.cancel_time:type_name -> google.protobuf.Timestamp 190, // 60: hashicorp.vagrant.Job.expire_time:type_name -> google.protobuf.Timestamp 134, // 61: hashicorp.vagrant.Documentation.fields:type_name -> hashicorp.vagrant.Documentation.FieldsEntry 136, // 62: hashicorp.vagrant.Documentation.mappers:type_name -> hashicorp.vagrant.Documentation.Mapper 28, // 63: hashicorp.vagrant.ListJobsResponse.jobs:type_name -> hashicorp.vagrant.Job 137, // 64: hashicorp.vagrant.GetJobStreamResponse.open:type_name -> hashicorp.vagrant.GetJobStreamResponse.Open 138, // 65: hashicorp.vagrant.GetJobStreamResponse.state:type_name -> hashicorp.vagrant.GetJobStreamResponse.State 139, // 66: hashicorp.vagrant.GetJobStreamResponse.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal 140, // 67: hashicorp.vagrant.GetJobStreamResponse.error:type_name -> hashicorp.vagrant.GetJobStreamResponse.Error 141, // 68: hashicorp.vagrant.GetJobStreamResponse.complete:type_name -> hashicorp.vagrant.GetJobStreamResponse.Complete 18, // 69: hashicorp.vagrant.Runner.components:type_name -> hashicorp.vagrant.Component 153, // 70: hashicorp.vagrant.RunnerConfigRequest.open:type_name -> hashicorp.vagrant.RunnerConfigRequest.Open 38, // 71: hashicorp.vagrant.RunnerConfigResponse.config:type_name -> hashicorp.vagrant.RunnerConfig 74, // 72: hashicorp.vagrant.RunnerConfig.config_vars:type_name -> hashicorp.vagrant.ConfigVar 154, // 73: hashicorp.vagrant.RunnerJobStreamRequest.request:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Request 155, // 74: hashicorp.vagrant.RunnerJobStreamRequest.ack:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Ack 156, // 75: hashicorp.vagrant.RunnerJobStreamRequest.complete:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Complete 157, // 76: hashicorp.vagrant.RunnerJobStreamRequest.error:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Error 139, // 77: hashicorp.vagrant.RunnerJobStreamRequest.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal 158, // 78: hashicorp.vagrant.RunnerJobStreamRequest.heartbeat:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat 159, // 79: hashicorp.vagrant.RunnerJobStreamResponse.assignment:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment 160, // 80: hashicorp.vagrant.RunnerJobStreamResponse.cancel:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobCancel 13, // 81: hashicorp.vagrant.UpsertBasisRequest.basis:type_name -> hashicorp.vagrant.Basis 13, // 82: hashicorp.vagrant.UpsertBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 188, // 83: hashicorp.vagrant.GetBasisRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 13, // 84: hashicorp.vagrant.GetBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 13, // 85: hashicorp.vagrant.FindBasisRequest.basis:type_name -> hashicorp.vagrant.Basis 13, // 86: hashicorp.vagrant.FindBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 188, // 87: hashicorp.vagrant.ListBasisResponse.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 14, // 88: hashicorp.vagrant.UpsertProjectRequest.project:type_name -> hashicorp.vagrant.Project 14, // 89: hashicorp.vagrant.UpsertProjectResponse.project:type_name -> hashicorp.vagrant.Project 185, // 90: hashicorp.vagrant.GetProjectRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 14, // 91: hashicorp.vagrant.GetProjectResponse.project:type_name -> hashicorp.vagrant.Project 14, // 92: hashicorp.vagrant.FindProjectRequest.project:type_name -> hashicorp.vagrant.Project 14, // 93: hashicorp.vagrant.FindProjectResponse.project:type_name -> hashicorp.vagrant.Project 185, // 94: hashicorp.vagrant.ListProjectsResponse.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project 185, // 95: hashicorp.vagrant.UpsertTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 16, // 96: hashicorp.vagrant.UpsertTargetRequest.target:type_name -> hashicorp.vagrant.Target 16, // 97: hashicorp.vagrant.UpsertTargetResponse.target:type_name -> hashicorp.vagrant.Target 185, // 98: hashicorp.vagrant.DeleteTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 187, // 99: hashicorp.vagrant.DeleteTargetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 185, // 100: hashicorp.vagrant.GetTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 187, // 101: hashicorp.vagrant.GetTargetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 16, // 102: hashicorp.vagrant.GetTargetResponse.target:type_name -> hashicorp.vagrant.Target 16, // 103: hashicorp.vagrant.FindTargetRequest.target:type_name -> hashicorp.vagrant.Target 16, // 104: hashicorp.vagrant.FindTargetResponse.target:type_name -> hashicorp.vagrant.Target 187, // 105: hashicorp.vagrant.ListTargetsResponse.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target 15, // 106: hashicorp.vagrant.UpsertBoxRequest.box:type_name -> hashicorp.vagrant.Box 15, // 107: hashicorp.vagrant.UpsertBoxResponse.box:type_name -> hashicorp.vagrant.Box 195, // 108: hashicorp.vagrant.DeleteBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box 195, // 109: hashicorp.vagrant.GetBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box 15, // 110: hashicorp.vagrant.GetBoxResponse.box:type_name -> hashicorp.vagrant.Box 195, // 111: hashicorp.vagrant.ListBoxesResponse.boxes:type_name -> hashicorp.vagrant.sdk.Ref.Box 195, // 112: hashicorp.vagrant.FindBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box 15, // 113: hashicorp.vagrant.FindBoxResponse.box:type_name -> hashicorp.vagrant.Box 188, // 114: hashicorp.vagrant.GetLogStreamRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 185, // 115: hashicorp.vagrant.GetLogStreamRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 187, // 116: hashicorp.vagrant.GetLogStreamRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 161, // 117: hashicorp.vagrant.LogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry 188, // 118: hashicorp.vagrant.ConfigVar.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 185, // 119: hashicorp.vagrant.ConfigVar.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 187, // 120: hashicorp.vagrant.ConfigVar.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 103, // 121: hashicorp.vagrant.ConfigVar.runner:type_name -> hashicorp.vagrant.Ref.Runner 74, // 122: hashicorp.vagrant.ConfigSetRequest.variables:type_name -> hashicorp.vagrant.ConfigVar 187, // 123: hashicorp.vagrant.ConfigGetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 185, // 124: hashicorp.vagrant.ConfigGetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 188, // 125: hashicorp.vagrant.ConfigGetRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 104, // 126: hashicorp.vagrant.ConfigGetRequest.runner:type_name -> hashicorp.vagrant.Ref.RunnerId 74, // 127: hashicorp.vagrant.ConfigGetResponse.variables:type_name -> hashicorp.vagrant.ConfigVar 162, // 128: hashicorp.vagrant.ExecStreamRequest.start:type_name -> hashicorp.vagrant.ExecStreamRequest.Start 163, // 129: hashicorp.vagrant.ExecStreamRequest.input:type_name -> hashicorp.vagrant.ExecStreamRequest.Input 165, // 130: hashicorp.vagrant.ExecStreamRequest.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 166, // 131: hashicorp.vagrant.ExecStreamResponse.open:type_name -> hashicorp.vagrant.ExecStreamResponse.Open 168, // 132: hashicorp.vagrant.ExecStreamResponse.output:type_name -> hashicorp.vagrant.ExecStreamResponse.Output 167, // 133: hashicorp.vagrant.ExecStreamResponse.exit:type_name -> hashicorp.vagrant.ExecStreamResponse.Exit 83, // 134: hashicorp.vagrant.EntrypointConfigResponse.config:type_name -> hashicorp.vagrant.EntrypointConfig 169, // 135: hashicorp.vagrant.EntrypointConfig.exec:type_name -> hashicorp.vagrant.EntrypointConfig.Exec 74, // 136: hashicorp.vagrant.EntrypointConfig.env_vars:type_name -> hashicorp.vagrant.ConfigVar 170, // 137: hashicorp.vagrant.EntrypointConfig.url_service:type_name -> hashicorp.vagrant.EntrypointConfig.URLService 161, // 138: hashicorp.vagrant.EntrypointLogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry 171, // 139: hashicorp.vagrant.EntrypointExecRequest.open:type_name -> hashicorp.vagrant.EntrypointExecRequest.Open 172, // 140: hashicorp.vagrant.EntrypointExecRequest.exit:type_name -> hashicorp.vagrant.EntrypointExecRequest.Exit 173, // 141: hashicorp.vagrant.EntrypointExecRequest.output:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output 174, // 142: hashicorp.vagrant.EntrypointExecRequest.error:type_name -> hashicorp.vagrant.EntrypointExecRequest.Error 165, // 143: hashicorp.vagrant.EntrypointExecResponse.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 175, // 144: hashicorp.vagrant.TokenTransport.metadata:type_name -> hashicorp.vagrant.TokenTransport.MetadataEntry 190, // 145: hashicorp.vagrant.Token.valid_until:type_name -> google.protobuf.Timestamp 176, // 146: hashicorp.vagrant.Token.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint 176, // 147: hashicorp.vagrant.InviteTokenRequest.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint 177, // 148: hashicorp.vagrant.CreateSnapshotResponse.open:type_name -> hashicorp.vagrant.CreateSnapshotResponse.Open 178, // 149: hashicorp.vagrant.RestoreSnapshotRequest.open:type_name -> hashicorp.vagrant.RestoreSnapshotRequest.Open 15, // 150: hashicorp.vagrant.Target.Machine.box:type_name -> hashicorp.vagrant.Box 196, // 151: hashicorp.vagrant.Target.Machine.state:type_name -> hashicorp.vagrant.sdk.Args.Target.Machine.State 1, // 152: hashicorp.vagrant.Ref.Component.type:type_name -> hashicorp.vagrant.Component.Type 100, // 153: hashicorp.vagrant.Ref.Operation.target_sequence:type_name -> hashicorp.vagrant.Ref.TargetOperationSeq 101, // 154: hashicorp.vagrant.Ref.Operation.project_sequence:type_name -> hashicorp.vagrant.Ref.ProjectOperationSeq 102, // 155: hashicorp.vagrant.Ref.Operation.basis_sequence:type_name -> hashicorp.vagrant.Ref.BasisOperationSeq 187, // 156: hashicorp.vagrant.Ref.TargetOperationSeq.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 185, // 157: hashicorp.vagrant.Ref.ProjectOperationSeq.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 188, // 158: hashicorp.vagrant.Ref.BasisOperationSeq.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 105, // 159: hashicorp.vagrant.Ref.Runner.any:type_name -> hashicorp.vagrant.Ref.RunnerAny 104, // 160: hashicorp.vagrant.Ref.Runner.id:type_name -> hashicorp.vagrant.Ref.RunnerId 2, // 161: hashicorp.vagrant.StatusFilter.Filter.state:type_name -> hashicorp.vagrant.Status.State 128, // 162: hashicorp.vagrant.Job.Result.auth:type_name -> hashicorp.vagrant.Job.AuthResult 130, // 163: hashicorp.vagrant.Job.Result.docs:type_name -> hashicorp.vagrant.Job.DocsResult 116, // 164: hashicorp.vagrant.Job.Result.validate:type_name -> hashicorp.vagrant.Job.ValidateResult 118, // 165: hashicorp.vagrant.Job.Result.init:type_name -> hashicorp.vagrant.Job.InitResult 126, // 166: hashicorp.vagrant.Job.Result.run:type_name -> hashicorp.vagrant.Job.CommandResult 120, // 167: hashicorp.vagrant.Job.Result.basis:type_name -> hashicorp.vagrant.Job.InitBasisResult 122, // 168: hashicorp.vagrant.Job.Result.project:type_name -> hashicorp.vagrant.Job.InitProjectResult 112, // 169: hashicorp.vagrant.Job.DataSource.local:type_name -> hashicorp.vagrant.Job.Local 113, // 170: hashicorp.vagrant.Job.DataSource.git:type_name -> hashicorp.vagrant.Job.Git 123, // 171: hashicorp.vagrant.Job.InitResult.actions:type_name -> hashicorp.vagrant.Job.Action 197, // 172: hashicorp.vagrant.Job.InitResult.commands:type_name -> hashicorp.vagrant.sdk.Command.CommandInfo 124, // 173: hashicorp.vagrant.Job.InitResult.hooks:type_name -> hashicorp.vagrant.Job.Hook 188, // 174: hashicorp.vagrant.Job.InitBasisResult.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 185, // 175: hashicorp.vagrant.Job.InitProjectResult.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 6, // 176: hashicorp.vagrant.Job.Hook.location:type_name -> hashicorp.vagrant.Job.Hook.Location 187, // 177: hashicorp.vagrant.Job.CommandOp.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 185, // 178: hashicorp.vagrant.Job.CommandOp.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 188, // 179: hashicorp.vagrant.Job.CommandOp.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 19, // 180: hashicorp.vagrant.Job.CommandOp.status:type_name -> hashicorp.vagrant.Status 3, // 181: hashicorp.vagrant.Job.CommandOp.state:type_name -> hashicorp.vagrant.Operation.PhysicalState 18, // 182: hashicorp.vagrant.Job.CommandOp.component:type_name -> hashicorp.vagrant.Component 131, // 183: hashicorp.vagrant.Job.CommandOp.labels:type_name -> hashicorp.vagrant.Job.CommandOp.LabelsEntry 198, // 184: hashicorp.vagrant.Job.CommandOp.cli_args:type_name -> hashicorp.vagrant.sdk.Command.Arguments 12, // 185: hashicorp.vagrant.Job.CommandOp.vagrantfile:type_name -> hashicorp.vagrant.Vagrantfile 21, // 186: hashicorp.vagrant.Job.CommandResult.task:type_name -> hashicorp.vagrant.Operation 194, // 187: hashicorp.vagrant.Job.CommandResult.run_error:type_name -> google.rpc.Status 98, // 188: hashicorp.vagrant.Job.AuthOp.component:type_name -> hashicorp.vagrant.Ref.Component 132, // 189: hashicorp.vagrant.Job.AuthResult.results:type_name -> hashicorp.vagrant.Job.AuthResult.Result 133, // 190: hashicorp.vagrant.Job.DocsResult.results:type_name -> hashicorp.vagrant.Job.DocsResult.Result 18, // 191: hashicorp.vagrant.Job.AuthResult.Result.component:type_name -> hashicorp.vagrant.Component 194, // 192: hashicorp.vagrant.Job.AuthResult.Result.check_error:type_name -> google.rpc.Status 194, // 193: hashicorp.vagrant.Job.AuthResult.Result.auth_error:type_name -> google.rpc.Status 18, // 194: hashicorp.vagrant.Job.DocsResult.Result.component:type_name -> hashicorp.vagrant.Component 29, // 195: hashicorp.vagrant.Job.DocsResult.Result.docs:type_name -> hashicorp.vagrant.Documentation 135, // 196: hashicorp.vagrant.Documentation.FieldsEntry.value:type_name -> hashicorp.vagrant.Documentation.Field 5, // 197: hashicorp.vagrant.GetJobStreamResponse.State.previous:type_name -> hashicorp.vagrant.Job.State 5, // 198: hashicorp.vagrant.GetJobStreamResponse.State.current:type_name -> hashicorp.vagrant.Job.State 28, // 199: hashicorp.vagrant.GetJobStreamResponse.State.job:type_name -> hashicorp.vagrant.Job 142, // 200: hashicorp.vagrant.GetJobStreamResponse.Terminal.events:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event 194, // 201: hashicorp.vagrant.GetJobStreamResponse.Error.error:type_name -> google.rpc.Status 194, // 202: hashicorp.vagrant.GetJobStreamResponse.Complete.error:type_name -> google.rpc.Status 110, // 203: hashicorp.vagrant.GetJobStreamResponse.Complete.result:type_name -> hashicorp.vagrant.Job.Result 190, // 204: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.timestamp:type_name -> google.protobuf.Timestamp 144, // 205: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.line:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line 143, // 206: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.status:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status 147, // 207: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.named_values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues 145, // 208: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.raw:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw 150, // 209: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.table:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table 151, // 210: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step_group:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup 152, // 211: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step 146, // 212: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues.values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue 148, // 213: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow.entries:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry 149, // 214: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table.rows:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow 35, // 215: hashicorp.vagrant.RunnerConfigRequest.Open.runner:type_name -> hashicorp.vagrant.Runner 110, // 216: hashicorp.vagrant.RunnerJobStreamRequest.Complete.result:type_name -> hashicorp.vagrant.Job.Result 194, // 217: hashicorp.vagrant.RunnerJobStreamRequest.Error.error:type_name -> google.rpc.Status 28, // 218: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment.job:type_name -> hashicorp.vagrant.Job 190, // 219: hashicorp.vagrant.LogBatch.Entry.timestamp:type_name -> google.protobuf.Timestamp 164, // 220: hashicorp.vagrant.ExecStreamRequest.Start.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY 165, // 221: hashicorp.vagrant.ExecStreamRequest.PTY.window_size:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 7, // 222: hashicorp.vagrant.ExecStreamResponse.Output.channel:type_name -> hashicorp.vagrant.ExecStreamResponse.Output.Channel 164, // 223: hashicorp.vagrant.EntrypointConfig.Exec.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY 8, // 224: hashicorp.vagrant.EntrypointExecRequest.Output.channel:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output.Channel 194, // 225: hashicorp.vagrant.EntrypointExecRequest.Error.error:type_name -> google.rpc.Status 11, // 226: hashicorp.vagrant.Snapshot.Header.version:type_name -> hashicorp.vagrant.VersionInfo 9, // 227: hashicorp.vagrant.Snapshot.Header.format:type_name -> hashicorp.vagrant.Snapshot.Header.Format 182, // 228: hashicorp.vagrant.Snapshot.BoltChunk.items:type_name -> hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry 199, // 229: hashicorp.vagrant.Vagrant.GetVersionInfo:input_type -> google.protobuf.Empty 42, // 230: hashicorp.vagrant.Vagrant.UpsertBasis:input_type -> hashicorp.vagrant.UpsertBasisRequest 44, // 231: hashicorp.vagrant.Vagrant.GetBasis:input_type -> hashicorp.vagrant.GetBasisRequest 46, // 232: hashicorp.vagrant.Vagrant.FindBasis:input_type -> hashicorp.vagrant.FindBasisRequest 199, // 233: hashicorp.vagrant.Vagrant.ListBasis:input_type -> google.protobuf.Empty 49, // 234: hashicorp.vagrant.Vagrant.UpsertProject:input_type -> hashicorp.vagrant.UpsertProjectRequest 51, // 235: hashicorp.vagrant.Vagrant.GetProject:input_type -> hashicorp.vagrant.GetProjectRequest 53, // 236: hashicorp.vagrant.Vagrant.FindProject:input_type -> hashicorp.vagrant.FindProjectRequest 199, // 237: hashicorp.vagrant.Vagrant.ListProjects:input_type -> google.protobuf.Empty 56, // 238: hashicorp.vagrant.Vagrant.UpsertTarget:input_type -> hashicorp.vagrant.UpsertTargetRequest 58, // 239: hashicorp.vagrant.Vagrant.DeleteTarget:input_type -> hashicorp.vagrant.DeleteTargetRequest 59, // 240: hashicorp.vagrant.Vagrant.GetTarget:input_type -> hashicorp.vagrant.GetTargetRequest 61, // 241: hashicorp.vagrant.Vagrant.FindTarget:input_type -> hashicorp.vagrant.FindTargetRequest 199, // 242: hashicorp.vagrant.Vagrant.ListTargets:input_type -> google.protobuf.Empty 64, // 243: hashicorp.vagrant.Vagrant.UpsertBox:input_type -> hashicorp.vagrant.UpsertBoxRequest 66, // 244: hashicorp.vagrant.Vagrant.DeleteBox:input_type -> hashicorp.vagrant.DeleteBoxRequest 67, // 245: hashicorp.vagrant.Vagrant.GetBox:input_type -> hashicorp.vagrant.GetBoxRequest 199, // 246: hashicorp.vagrant.Vagrant.ListBoxes:input_type -> google.protobuf.Empty 70, // 247: hashicorp.vagrant.Vagrant.FindBox:input_type -> hashicorp.vagrant.FindBoxRequest 72, // 248: hashicorp.vagrant.Vagrant.GetLogStream:input_type -> hashicorp.vagrant.GetLogStreamRequest 23, // 249: hashicorp.vagrant.Vagrant.QueueJob:input_type -> hashicorp.vagrant.QueueJobRequest 25, // 250: hashicorp.vagrant.Vagrant.CancelJob:input_type -> hashicorp.vagrant.CancelJobRequest 30, // 251: hashicorp.vagrant.Vagrant.GetJob:input_type -> hashicorp.vagrant.GetJobRequest 31, // 252: hashicorp.vagrant.Vagrant._ListJobs:input_type -> hashicorp.vagrant.ListJobsRequest 26, // 253: hashicorp.vagrant.Vagrant.ValidateJob:input_type -> hashicorp.vagrant.ValidateJobRequest 33, // 254: hashicorp.vagrant.Vagrant.GetJobStream:input_type -> hashicorp.vagrant.GetJobStreamRequest 199, // 255: hashicorp.vagrant.Vagrant.PruneOldJobs:input_type -> google.protobuf.Empty 41, // 256: hashicorp.vagrant.Vagrant.GetRunner:input_type -> hashicorp.vagrant.GetRunnerRequest 199, // 257: hashicorp.vagrant.Vagrant.BootstrapToken:input_type -> google.protobuf.Empty 90, // 258: hashicorp.vagrant.Vagrant.GenerateInviteToken:input_type -> hashicorp.vagrant.InviteTokenRequest 199, // 259: hashicorp.vagrant.Vagrant.GenerateLoginToken:input_type -> google.protobuf.Empty 92, // 260: hashicorp.vagrant.Vagrant.ConvertInviteToken:input_type -> hashicorp.vagrant.ConvertInviteTokenRequest 36, // 261: hashicorp.vagrant.Vagrant.RunnerConfig:input_type -> hashicorp.vagrant.RunnerConfigRequest 39, // 262: hashicorp.vagrant.Vagrant.RunnerJobStream:input_type -> hashicorp.vagrant.RunnerJobStreamRequest 10, // 263: hashicorp.vagrant.Vagrant.GetVersionInfo:output_type -> hashicorp.vagrant.GetVersionInfoResponse 43, // 264: hashicorp.vagrant.Vagrant.UpsertBasis:output_type -> hashicorp.vagrant.UpsertBasisResponse 45, // 265: hashicorp.vagrant.Vagrant.GetBasis:output_type -> hashicorp.vagrant.GetBasisResponse 47, // 266: hashicorp.vagrant.Vagrant.FindBasis:output_type -> hashicorp.vagrant.FindBasisResponse 48, // 267: hashicorp.vagrant.Vagrant.ListBasis:output_type -> hashicorp.vagrant.ListBasisResponse 50, // 268: hashicorp.vagrant.Vagrant.UpsertProject:output_type -> hashicorp.vagrant.UpsertProjectResponse 52, // 269: hashicorp.vagrant.Vagrant.GetProject:output_type -> hashicorp.vagrant.GetProjectResponse 54, // 270: hashicorp.vagrant.Vagrant.FindProject:output_type -> hashicorp.vagrant.FindProjectResponse 55, // 271: hashicorp.vagrant.Vagrant.ListProjects:output_type -> hashicorp.vagrant.ListProjectsResponse 57, // 272: hashicorp.vagrant.Vagrant.UpsertTarget:output_type -> hashicorp.vagrant.UpsertTargetResponse 199, // 273: hashicorp.vagrant.Vagrant.DeleteTarget:output_type -> google.protobuf.Empty 60, // 274: hashicorp.vagrant.Vagrant.GetTarget:output_type -> hashicorp.vagrant.GetTargetResponse 62, // 275: hashicorp.vagrant.Vagrant.FindTarget:output_type -> hashicorp.vagrant.FindTargetResponse 63, // 276: hashicorp.vagrant.Vagrant.ListTargets:output_type -> hashicorp.vagrant.ListTargetsResponse 65, // 277: hashicorp.vagrant.Vagrant.UpsertBox:output_type -> hashicorp.vagrant.UpsertBoxResponse 199, // 278: hashicorp.vagrant.Vagrant.DeleteBox:output_type -> google.protobuf.Empty 68, // 279: hashicorp.vagrant.Vagrant.GetBox:output_type -> hashicorp.vagrant.GetBoxResponse 69, // 280: hashicorp.vagrant.Vagrant.ListBoxes:output_type -> hashicorp.vagrant.ListBoxesResponse 71, // 281: hashicorp.vagrant.Vagrant.FindBox:output_type -> hashicorp.vagrant.FindBoxResponse 73, // 282: hashicorp.vagrant.Vagrant.GetLogStream:output_type -> hashicorp.vagrant.LogBatch 24, // 283: hashicorp.vagrant.Vagrant.QueueJob:output_type -> hashicorp.vagrant.QueueJobResponse 199, // 284: hashicorp.vagrant.Vagrant.CancelJob:output_type -> google.protobuf.Empty 28, // 285: hashicorp.vagrant.Vagrant.GetJob:output_type -> hashicorp.vagrant.Job 32, // 286: hashicorp.vagrant.Vagrant._ListJobs:output_type -> hashicorp.vagrant.ListJobsResponse 27, // 287: hashicorp.vagrant.Vagrant.ValidateJob:output_type -> hashicorp.vagrant.ValidateJobResponse 34, // 288: hashicorp.vagrant.Vagrant.GetJobStream:output_type -> hashicorp.vagrant.GetJobStreamResponse 199, // 289: hashicorp.vagrant.Vagrant.PruneOldJobs:output_type -> google.protobuf.Empty 35, // 290: hashicorp.vagrant.Vagrant.GetRunner:output_type -> hashicorp.vagrant.Runner 91, // 291: hashicorp.vagrant.Vagrant.BootstrapToken:output_type -> hashicorp.vagrant.NewTokenResponse 91, // 292: hashicorp.vagrant.Vagrant.GenerateInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse 91, // 293: hashicorp.vagrant.Vagrant.GenerateLoginToken:output_type -> hashicorp.vagrant.NewTokenResponse 91, // 294: hashicorp.vagrant.Vagrant.ConvertInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse 37, // 295: hashicorp.vagrant.Vagrant.RunnerConfig:output_type -> hashicorp.vagrant.RunnerConfigResponse 40, // 296: hashicorp.vagrant.Vagrant.RunnerJobStream:output_type -> hashicorp.vagrant.RunnerJobStreamResponse 263, // [263:297] is the sub-list for method output_type 229, // [229:263] is the sub-list for method input_type 229, // [229:229] is the sub-list for extension type_name 229, // [229:229] is the sub-list for extension extendee 0, // [0:229] is the sub-list for field type_name } func init() { file_proto_vagrant_server_server_proto_init() } func file_proto_vagrant_server_server_proto_init() { if File_proto_vagrant_server_server_proto != nil { return } if !protoimpl.UnsafeEnabled { file_proto_vagrant_server_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Vagrantfile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Basis); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Project); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Box); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Target); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Component); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Status); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Operation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OperationOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueJobResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CancelJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateJobResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Documentation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListJobsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListJobsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runner); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRunnerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertBasisRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBasisRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindBasisRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertProjectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertProjectResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetProjectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetProjectResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindProjectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindProjectResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListProjectsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertTargetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertTargetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindTargetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindTargetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertBoxRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertBoxResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteBoxRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBoxRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBoxResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBoxesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindBoxRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindBoxResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLogStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogBatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigVar); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigGetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigGetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointLogBatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenTransport); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HMACKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InviteTokenRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewTokenResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConvertInviteTokenRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSnapshotResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreSnapshotRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionInfo_ProtocolVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Target_Machine); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Component); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Operation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_TargetOperationSeq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_ProjectOperationSeq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_BasisOperationSeq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Runner); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_RunnerId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_RunnerAny); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Vagrantfile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusFilter_Filter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Local); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Git); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Noop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ValidateOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_ValidateResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitBasisOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitBasisResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitProjectOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_InitProjectResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Action); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_Hook); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_CommandOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_CommandResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_AuthOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_AuthResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DocsOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DocsResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_AuthResult_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job_DocsResult_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Documentation_Field); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Documentation_Mapper); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_State); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Error); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Complete); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Status); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Line); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Raw); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValues); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_TableEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_TableRow); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Table); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_StepGroup); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse_Terminal_Event_Step); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfigRequest_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Ack); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Complete); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Error); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest_Heartbeat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamResponse_JobAssignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamResponse_JobCancel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogBatch_Entry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_Start); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_Input); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_PTY); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest_WindowSize); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse_Exit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse_Output); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfig_Exec); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfig_URLService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Exit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Output); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest_Error); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token_Entrypoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSnapshotResponse_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreSnapshotRequest_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot_Trailer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot_BoltChunk); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_proto_vagrant_server_server_proto_msgTypes[18].OneofWrappers = []interface{}{ (*Job_Basis)(nil), (*Job_Project)(nil), (*Job_Target)(nil), (*Job_Noop_)(nil), (*Job_Auth)(nil), (*Job_Docs)(nil), (*Job_Validate)(nil), (*Job_Command)(nil), (*Job_Init)(nil), (*Job_InitBasis)(nil), (*Job_InitProject)(nil), } file_proto_vagrant_server_server_proto_msgTypes[24].OneofWrappers = []interface{}{ (*GetJobStreamResponse_Open_)(nil), (*GetJobStreamResponse_State_)(nil), (*GetJobStreamResponse_Terminal_)(nil), (*GetJobStreamResponse_Error_)(nil), (*GetJobStreamResponse_Complete_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[26].OneofWrappers = []interface{}{ (*RunnerConfigRequest_Open_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[29].OneofWrappers = []interface{}{ (*RunnerJobStreamRequest_Request_)(nil), (*RunnerJobStreamRequest_Ack_)(nil), (*RunnerJobStreamRequest_Complete_)(nil), (*RunnerJobStreamRequest_Error_)(nil), (*RunnerJobStreamRequest_Terminal)(nil), (*RunnerJobStreamRequest_Heartbeat_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[30].OneofWrappers = []interface{}{ (*RunnerJobStreamResponse_Assignment)(nil), (*RunnerJobStreamResponse_Cancel)(nil), } file_proto_vagrant_server_server_proto_msgTypes[62].OneofWrappers = []interface{}{ (*GetLogStreamRequest_Basis)(nil), (*GetLogStreamRequest_Project)(nil), (*GetLogStreamRequest_Target)(nil), } file_proto_vagrant_server_server_proto_msgTypes[64].OneofWrappers = []interface{}{ (*ConfigVar_Basis)(nil), (*ConfigVar_Project)(nil), (*ConfigVar_Target)(nil), (*ConfigVar_Runner)(nil), } file_proto_vagrant_server_server_proto_msgTypes[67].OneofWrappers = []interface{}{ (*ConfigGetRequest_Target)(nil), (*ConfigGetRequest_Project)(nil), (*ConfigGetRequest_Basis)(nil), (*ConfigGetRequest_Runner)(nil), } file_proto_vagrant_server_server_proto_msgTypes[69].OneofWrappers = []interface{}{ (*ExecStreamRequest_Start_)(nil), (*ExecStreamRequest_Input_)(nil), (*ExecStreamRequest_Winch)(nil), } file_proto_vagrant_server_server_proto_msgTypes[70].OneofWrappers = []interface{}{ (*ExecStreamResponse_Open_)(nil), (*ExecStreamResponse_Output_)(nil), (*ExecStreamResponse_Exit_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[75].OneofWrappers = []interface{}{ (*EntrypointExecRequest_Open_)(nil), (*EntrypointExecRequest_Exit_)(nil), (*EntrypointExecRequest_Output_)(nil), (*EntrypointExecRequest_Error_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[76].OneofWrappers = []interface{}{ (*EntrypointExecResponse_Input)(nil), (*EntrypointExecResponse_Winch)(nil), (*EntrypointExecResponse_Opened)(nil), } file_proto_vagrant_server_server_proto_msgTypes[83].OneofWrappers = []interface{}{ (*CreateSnapshotResponse_Open_)(nil), (*CreateSnapshotResponse_Chunk)(nil), } file_proto_vagrant_server_server_proto_msgTypes[84].OneofWrappers = []interface{}{ (*RestoreSnapshotRequest_Open_)(nil), (*RestoreSnapshotRequest_Chunk)(nil), } file_proto_vagrant_server_server_proto_msgTypes[89].OneofWrappers = []interface{}{ (*Ref_Operation_Id)(nil), (*Ref_Operation_TargetSequence)(nil), (*Ref_Operation_ProjectSequence)(nil), (*Ref_Operation_BasisSequence)(nil), } file_proto_vagrant_server_server_proto_msgTypes[93].OneofWrappers = []interface{}{ (*Ref_Runner_Any)(nil), (*Ref_Runner_Id)(nil), } file_proto_vagrant_server_server_proto_msgTypes[97].OneofWrappers = []interface{}{ (*StatusFilter_Filter_State)(nil), } file_proto_vagrant_server_server_proto_msgTypes[101].OneofWrappers = []interface{}{ (*Job_DataSource_Local)(nil), (*Job_DataSource_Git)(nil), } file_proto_vagrant_server_server_proto_msgTypes[115].OneofWrappers = []interface{}{ (*Job_CommandOp_Target)(nil), (*Job_CommandOp_Project)(nil), (*Job_CommandOp_Basis)(nil), } file_proto_vagrant_server_server_proto_msgTypes[132].OneofWrappers = []interface{}{ (*GetJobStreamResponse_Terminal_Event_Line_)(nil), (*GetJobStreamResponse_Terminal_Event_Status_)(nil), (*GetJobStreamResponse_Terminal_Event_NamedValues_)(nil), (*GetJobStreamResponse_Terminal_Event_Raw_)(nil), (*GetJobStreamResponse_Terminal_Event_Table_)(nil), (*GetJobStreamResponse_Terminal_Event_StepGroup_)(nil), (*GetJobStreamResponse_Terminal_Event_Step_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[170].OneofWrappers = []interface{}{ (*Snapshot_Trailer_Sha256)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_vagrant_server_server_proto_rawDesc, NumEnums: 10, NumMessages: 173, NumExtensions: 0, NumServices: 1, }, GoTypes: file_proto_vagrant_server_server_proto_goTypes, DependencyIndexes: file_proto_vagrant_server_server_proto_depIdxs, EnumInfos: file_proto_vagrant_server_server_proto_enumTypes, MessageInfos: file_proto_vagrant_server_server_proto_msgTypes, }.Build() File_proto_vagrant_server_server_proto = out.File file_proto_vagrant_server_server_proto_rawDesc = nil file_proto_vagrant_server_server_proto_goTypes = nil file_proto_vagrant_server_server_proto_depIdxs = nil }