feat: optimize SyncProbes API definition (#125)

feat: optimize SyncProbes API definition.

Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
Gaius 2023-06-09 12:22:26 +08:00 committed by GitHub
parent 47d2834769
commit 278c100e78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 2436 additions and 566 deletions

View File

@ -1965,13 +1965,62 @@ func (x *Build) GetPlatform() string {
return ""
}
// ProbeStartedRequest represents started request of SyncProbesRequest.
type ProbeStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Source host metadata.
Host *v1.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
}
func (x *ProbeStartedRequest) Reset() {
*x = ProbeStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProbeStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProbeStartedRequest) ProtoMessage() {}
func (x *ProbeStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_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 ProbeStartedRequest.ProtoReflect.Descriptor instead.
func (*ProbeStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{19}
}
func (x *ProbeStartedRequest) GetHost() *v1.Host {
if x != nil {
return x.Host
}
return nil
}
// Probe information.
type Probe struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host metadata.
// Destination host metadata.
Host *v1.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// RTT is the round-trip time sent via this pinger.
Rtt *durationpb.Duration `protobuf:"bytes,2,opt,name=rtt,proto3" json:"rtt,omitempty"`
@ -1982,7 +2031,7 @@ type Probe struct {
func (x *Probe) Reset() {
*x = Probe{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[19]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1995,7 +2044,7 @@ func (x *Probe) String() string {
func (*Probe) ProtoMessage() {}
func (x *Probe) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[19]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2008,7 +2057,7 @@ func (x *Probe) ProtoReflect() protoreflect.Message {
// Deprecated: Use Probe.ProtoReflect.Descriptor instead.
func (*Probe) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{19}
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{20}
}
func (x *Probe) GetHost() *v1.Host {
@ -2032,35 +2081,35 @@ func (x *Probe) GetCreatedAt() *timestamppb.Timestamp {
return nil
}
// ProbesOfHost represents probes information of the host.
type ProbesOfHost struct {
// ProbeFinishedRequest represents finished request of SyncProbesRequest.
type ProbeFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host metadata.
// Source host metadata.
Host *v1.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// Probes information.
Probes []*Probe `protobuf:"bytes,2,rep,name=probes,proto3" json:"probes,omitempty"`
}
func (x *ProbesOfHost) Reset() {
*x = ProbesOfHost{}
func (x *ProbeFinishedRequest) Reset() {
*x = ProbeFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[20]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProbesOfHost) String() string {
func (x *ProbeFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProbesOfHost) ProtoMessage() {}
func (*ProbeFinishedRequest) ProtoMessage() {}
func (x *ProbesOfHost) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[20]
func (x *ProbeFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2071,39 +2120,159 @@ func (x *ProbesOfHost) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use ProbesOfHost.ProtoReflect.Descriptor instead.
func (*ProbesOfHost) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{20}
// Deprecated: Use ProbeFinishedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{21}
}
func (x *ProbesOfHost) GetHost() *v1.Host {
func (x *ProbeFinishedRequest) GetHost() *v1.Host {
if x != nil {
return x.Host
}
return nil
}
func (x *ProbesOfHost) GetProbes() []*Probe {
func (x *ProbeFinishedRequest) GetProbes() []*Probe {
if x != nil {
return x.Probes
}
return nil
}
// FailedProbe information.
type FailedProbe struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Destination host metadata.
Host *v1.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// The description of probing failed.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *FailedProbe) Reset() {
*x = FailedProbe{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FailedProbe) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FailedProbe) ProtoMessage() {}
func (x *FailedProbe) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_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 FailedProbe.ProtoReflect.Descriptor instead.
func (*FailedProbe) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{22}
}
func (x *FailedProbe) GetHost() *v1.Host {
if x != nil {
return x.Host
}
return nil
}
func (x *FailedProbe) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
// ProbeFailedRequest represents failed request of SyncProbesRequest.
type ProbeFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Source host metadata.
Host *v1.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// Failed probes information.
FailedProbes []*FailedProbe `protobuf:"bytes,2,rep,name=failed_probes,json=failedProbes,proto3" json:"failed_probes,omitempty"`
}
func (x *ProbeFailedRequest) Reset() {
*x = ProbeFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProbeFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProbeFailedRequest) ProtoMessage() {}
func (x *ProbeFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_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 ProbeFailedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{23}
}
func (x *ProbeFailedRequest) GetHost() *v1.Host {
if x != nil {
return x.Host
}
return nil
}
func (x *ProbeFailedRequest) GetFailedProbes() []*FailedProbe {
if x != nil {
return x.FailedProbes
}
return nil
}
// SyncProbesRequest represents request of SyncProbes.
type SyncProbesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Probes information of the host.
ProbesOfHost *ProbesOfHost `protobuf:"bytes,1,opt,name=probes_of_host,json=probesOfHost,proto3" json:"probes_of_host,omitempty"`
// Types that are assignable to Request:
//
// *SyncProbesRequest_ProbeStartedRequest
// *SyncProbesRequest_ProbeFinishedRequest
// *SyncProbesRequest_ProbeFailedRequest
Request isSyncProbesRequest_Request `protobuf_oneof:"request"`
}
func (x *SyncProbesRequest) Reset() {
*x = SyncProbesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[21]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2116,7 +2285,7 @@ func (x *SyncProbesRequest) String() string {
func (*SyncProbesRequest) ProtoMessage() {}
func (x *SyncProbesRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[21]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2129,16 +2298,59 @@ func (x *SyncProbesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncProbesRequest.ProtoReflect.Descriptor instead.
func (*SyncProbesRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{21}
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{24}
}
func (x *SyncProbesRequest) GetProbesOfHost() *ProbesOfHost {
if x != nil {
return x.ProbesOfHost
func (m *SyncProbesRequest) GetRequest() isSyncProbesRequest_Request {
if m != nil {
return m.Request
}
return nil
}
func (x *SyncProbesRequest) GetProbeStartedRequest() *ProbeStartedRequest {
if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeStartedRequest); ok {
return x.ProbeStartedRequest
}
return nil
}
func (x *SyncProbesRequest) GetProbeFinishedRequest() *ProbeFinishedRequest {
if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeFinishedRequest); ok {
return x.ProbeFinishedRequest
}
return nil
}
func (x *SyncProbesRequest) GetProbeFailedRequest() *ProbeFailedRequest {
if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeFailedRequest); ok {
return x.ProbeFailedRequest
}
return nil
}
type isSyncProbesRequest_Request interface {
isSyncProbesRequest_Request()
}
type SyncProbesRequest_ProbeStartedRequest struct {
ProbeStartedRequest *ProbeStartedRequest `protobuf:"bytes,1,opt,name=probe_started_request,json=probeStartedRequest,proto3,oneof"`
}
type SyncProbesRequest_ProbeFinishedRequest struct {
ProbeFinishedRequest *ProbeFinishedRequest `protobuf:"bytes,2,opt,name=probe_finished_request,json=probeFinishedRequest,proto3,oneof"`
}
type SyncProbesRequest_ProbeFailedRequest struct {
ProbeFailedRequest *ProbeFailedRequest `protobuf:"bytes,3,opt,name=probe_failed_request,json=probeFailedRequest,proto3,oneof"`
}
func (*SyncProbesRequest_ProbeStartedRequest) isSyncProbesRequest_Request() {}
func (*SyncProbesRequest_ProbeFinishedRequest) isSyncProbesRequest_Request() {}
func (*SyncProbesRequest_ProbeFailedRequest) isSyncProbesRequest_Request() {}
// SyncProbesResponse represents response of SyncProbes.
type SyncProbesResponse struct {
state protoimpl.MessageState
@ -2154,7 +2366,7 @@ type SyncProbesResponse struct {
func (x *SyncProbesResponse) Reset() {
*x = SyncProbesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[22]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2167,7 +2379,7 @@ func (x *SyncProbesResponse) String() string {
func (*SyncProbesResponse) ProtoMessage() {}
func (x *SyncProbesResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[22]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2180,7 +2392,7 @@ func (x *SyncProbesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncProbesResponse.ProtoReflect.Descriptor instead.
func (*SyncProbesResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{22}
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP(), []int{25}
}
func (x *SyncProbesResponse) GetHosts() []*v1.Host {
@ -2213,7 +2425,7 @@ type PeerPacket_DestPeer struct {
func (x *PeerPacket_DestPeer) Reset() {
*x = PeerPacket_DestPeer{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[23]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2226,7 +2438,7 @@ func (x *PeerPacket_DestPeer) String() string {
func (*PeerPacket_DestPeer) ProtoMessage() {}
func (x *PeerPacket_DestPeer) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[23]
mi := &file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2607,83 +2819,115 @@ var file_pkg_apis_scheduler_v1_scheduler_proto_rawDesc = []byte{
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67,
0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x22, 0xaf, 0x01, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x2a,
0x66, 0x6f, 0x72, 0x6d, 0x22, 0x41, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61,
0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x68,
0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62,
0x65, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa,
0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a,
0x03, 0x72, 0x74, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52,
0x03, 0x72, 0x74, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x61, 0x74, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xb2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x76, 0x0a, 0x14, 0x50, 0x72, 0x6f,
0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa,
0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x32, 0x0a,
0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42,
0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65,
0x73, 0x22, 0x64, 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42,
0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x62,
0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a,
0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a,
0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x72, 0x74,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x03, 0x72, 0x74,
0x74, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xb2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x70, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73,
0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f,
0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f,
0x73, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50,
0x72, 0x6f, 0x62, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x28, 0x01,
0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63,
0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a,
0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08,
0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73,
0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x53, 0x79, 0x6e, 0x63, 0x50,
0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a,
0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92,
0x01, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x4a, 0x0a,
0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x62,
0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x32, 0xf7, 0x04, 0x0a, 0x09, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1a, 0x2e, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x69, 0x65, 0x63,
0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x50, 0x69, 0x65, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a,
0x15, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x65, 0x72,
0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x10, 0x52, 0x65,
0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x15,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x66, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x16, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x46, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01,
0x02, 0x08, 0x01, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x73, 0x22, 0xa5, 0x02, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x62, 0x65,
0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x53,
0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a,
0x16, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
0x52, 0x14, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f,
0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x53, 0x79,
0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x2e, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x0a, 0xfa,
0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73,
0x12, 0x4a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76,
0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x70,
0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x32, 0xf7, 0x04, 0x0a,
0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x10, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1a,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50,
0x69, 0x65, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x69, 0x65, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x1a, 0x15, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50,
0x65, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a,
0x10, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x12, 0x15, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x65,
0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 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, 0x46, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x6e,
0x6f, 0x75, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 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, 0x37, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x0f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x3a, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x15,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54,
0x61, 0x72, 0x67, 0x65, 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, 0x46, 0x0a,
0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x2e,
0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e,
0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
0x63, 0x65, 0x48, 0x6f, 0x73, 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, 0x37, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74,
0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x3a,
0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67,
0x65, 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, 0x46, 0x0a, 0x0c, 0x41, 0x6e,
0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48,
0x6f, 0x73, 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, 0x40, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12,
0x1b, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x4c, 0x65, 0x61, 0x76,
0x65, 0x48, 0x6f, 0x73, 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, 0x4d, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62,
0x65, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53,
0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x79, 0x6e,
0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28,
0x01, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f,
0x73, 0x74, 0x12, 0x1b, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x4c,
0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 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, 0x4d, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x50,
0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -2698,7 +2942,7 @@ func file_pkg_apis_scheduler_v1_scheduler_proto_rawDescGZIP() []byte {
return file_pkg_apis_scheduler_v1_scheduler_proto_rawDescData
}
var file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_pkg_apis_scheduler_v1_scheduler_proto_goTypes = []interface{}{
(*PeerTaskRequest)(nil), // 0: scheduler.PeerTaskRequest
(*RegisterResult)(nil), // 1: scheduler.RegisterResult
@ -2719,83 +2963,92 @@ var file_pkg_apis_scheduler_v1_scheduler_proto_goTypes = []interface{}{
(*Network)(nil), // 16: scheduler.Network
(*Disk)(nil), // 17: scheduler.Disk
(*Build)(nil), // 18: scheduler.Build
(*Probe)(nil), // 19: scheduler.Probe
(*ProbesOfHost)(nil), // 20: scheduler.ProbesOfHost
(*SyncProbesRequest)(nil), // 21: scheduler.SyncProbesRequest
(*SyncProbesResponse)(nil), // 22: scheduler.SyncProbesResponse
(*PeerPacket_DestPeer)(nil), // 23: scheduler.PeerPacket.DestPeer
(*v1.UrlMeta)(nil), // 24: common.UrlMeta
(v1.TaskType)(0), // 25: common.TaskType
(v1.SizeScope)(0), // 26: common.SizeScope
(*v1.ExtendAttribute)(nil), // 27: common.ExtendAttribute
(*v1.PieceInfo)(nil), // 28: common.PieceInfo
(v1.Code)(0), // 29: common.Code
(*v11.SourceError)(nil), // 30: errordetails.SourceError
(*v1.PiecePacket)(nil), // 31: common.PiecePacket
(*v1.Host)(nil), // 32: common.Host
(*durationpb.Duration)(nil), // 33: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp
(*emptypb.Empty)(nil), // 35: google.protobuf.Empty
(*ProbeStartedRequest)(nil), // 19: scheduler.ProbeStartedRequest
(*Probe)(nil), // 20: scheduler.Probe
(*ProbeFinishedRequest)(nil), // 21: scheduler.ProbeFinishedRequest
(*FailedProbe)(nil), // 22: scheduler.FailedProbe
(*ProbeFailedRequest)(nil), // 23: scheduler.ProbeFailedRequest
(*SyncProbesRequest)(nil), // 24: scheduler.SyncProbesRequest
(*SyncProbesResponse)(nil), // 25: scheduler.SyncProbesResponse
(*PeerPacket_DestPeer)(nil), // 26: scheduler.PeerPacket.DestPeer
(*v1.UrlMeta)(nil), // 27: common.UrlMeta
(v1.TaskType)(0), // 28: common.TaskType
(v1.SizeScope)(0), // 29: common.SizeScope
(*v1.ExtendAttribute)(nil), // 30: common.ExtendAttribute
(*v1.PieceInfo)(nil), // 31: common.PieceInfo
(v1.Code)(0), // 32: common.Code
(*v11.SourceError)(nil), // 33: errordetails.SourceError
(*v1.PiecePacket)(nil), // 34: common.PiecePacket
(*v1.Host)(nil), // 35: common.Host
(*durationpb.Duration)(nil), // 36: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp
(*emptypb.Empty)(nil), // 38: google.protobuf.Empty
}
var file_pkg_apis_scheduler_v1_scheduler_proto_depIdxs = []int32{
24, // 0: scheduler.PeerTaskRequest.url_meta:type_name -> common.UrlMeta
27, // 0: scheduler.PeerTaskRequest.url_meta:type_name -> common.UrlMeta
3, // 1: scheduler.PeerTaskRequest.peer_host:type_name -> scheduler.PeerHost
25, // 2: scheduler.RegisterResult.task_type:type_name -> common.TaskType
26, // 3: scheduler.RegisterResult.size_scope:type_name -> common.SizeScope
28, // 2: scheduler.RegisterResult.task_type:type_name -> common.TaskType
29, // 3: scheduler.RegisterResult.size_scope:type_name -> common.SizeScope
2, // 4: scheduler.RegisterResult.single_piece:type_name -> scheduler.SinglePiece
27, // 5: scheduler.RegisterResult.extend_attribute:type_name -> common.ExtendAttribute
28, // 6: scheduler.SinglePiece.piece_info:type_name -> common.PieceInfo
28, // 7: scheduler.PieceResult.piece_info:type_name -> common.PieceInfo
29, // 8: scheduler.PieceResult.code:type_name -> common.Code
27, // 9: scheduler.PieceResult.extend_attribute:type_name -> common.ExtendAttribute
23, // 10: scheduler.PeerPacket.main_peer:type_name -> scheduler.PeerPacket.DestPeer
23, // 11: scheduler.PeerPacket.candidate_peers:type_name -> scheduler.PeerPacket.DestPeer
29, // 12: scheduler.PeerPacket.code:type_name -> common.Code
30, // 13: scheduler.PeerPacket.source_error:type_name -> errordetails.SourceError
29, // 14: scheduler.PeerResult.code:type_name -> common.Code
30, // 15: scheduler.PeerResult.source_error:type_name -> errordetails.SourceError
24, // 16: scheduler.AnnounceTaskRequest.url_meta:type_name -> common.UrlMeta
30, // 5: scheduler.RegisterResult.extend_attribute:type_name -> common.ExtendAttribute
31, // 6: scheduler.SinglePiece.piece_info:type_name -> common.PieceInfo
31, // 7: scheduler.PieceResult.piece_info:type_name -> common.PieceInfo
32, // 8: scheduler.PieceResult.code:type_name -> common.Code
30, // 9: scheduler.PieceResult.extend_attribute:type_name -> common.ExtendAttribute
26, // 10: scheduler.PeerPacket.main_peer:type_name -> scheduler.PeerPacket.DestPeer
26, // 11: scheduler.PeerPacket.candidate_peers:type_name -> scheduler.PeerPacket.DestPeer
32, // 12: scheduler.PeerPacket.code:type_name -> common.Code
33, // 13: scheduler.PeerPacket.source_error:type_name -> errordetails.SourceError
32, // 14: scheduler.PeerResult.code:type_name -> common.Code
33, // 15: scheduler.PeerResult.source_error:type_name -> errordetails.SourceError
27, // 16: scheduler.AnnounceTaskRequest.url_meta:type_name -> common.UrlMeta
3, // 17: scheduler.AnnounceTaskRequest.peer_host:type_name -> scheduler.PeerHost
31, // 18: scheduler.AnnounceTaskRequest.piece_packet:type_name -> common.PiecePacket
25, // 19: scheduler.AnnounceTaskRequest.task_type:type_name -> common.TaskType
25, // 20: scheduler.Task.type:type_name -> common.TaskType
34, // 18: scheduler.AnnounceTaskRequest.piece_packet:type_name -> common.PiecePacket
28, // 19: scheduler.AnnounceTaskRequest.task_type:type_name -> common.TaskType
28, // 20: scheduler.Task.type:type_name -> common.TaskType
13, // 21: scheduler.AnnounceHostRequest.cpu:type_name -> scheduler.CPU
15, // 22: scheduler.AnnounceHostRequest.memory:type_name -> scheduler.Memory
16, // 23: scheduler.AnnounceHostRequest.network:type_name -> scheduler.Network
17, // 24: scheduler.AnnounceHostRequest.disk:type_name -> scheduler.Disk
18, // 25: scheduler.AnnounceHostRequest.build:type_name -> scheduler.Build
14, // 26: scheduler.CPU.times:type_name -> scheduler.CPUTimes
32, // 27: scheduler.Probe.host:type_name -> common.Host
33, // 28: scheduler.Probe.rtt:type_name -> google.protobuf.Duration
34, // 29: scheduler.Probe.created_at:type_name -> google.protobuf.Timestamp
32, // 30: scheduler.ProbesOfHost.host:type_name -> common.Host
19, // 31: scheduler.ProbesOfHost.probes:type_name -> scheduler.Probe
20, // 32: scheduler.SyncProbesRequest.probes_of_host:type_name -> scheduler.ProbesOfHost
32, // 33: scheduler.SyncProbesResponse.hosts:type_name -> common.Host
33, // 34: scheduler.SyncProbesResponse.probe_interval:type_name -> google.protobuf.Duration
0, // 35: scheduler.Scheduler.RegisterPeerTask:input_type -> scheduler.PeerTaskRequest
4, // 36: scheduler.Scheduler.ReportPieceResult:input_type -> scheduler.PieceResult
6, // 37: scheduler.Scheduler.ReportPeerResult:input_type -> scheduler.PeerResult
7, // 38: scheduler.Scheduler.AnnounceTask:input_type -> scheduler.AnnounceTaskRequest
8, // 39: scheduler.Scheduler.StatTask:input_type -> scheduler.StatTaskRequest
10, // 40: scheduler.Scheduler.LeaveTask:input_type -> scheduler.PeerTarget
12, // 41: scheduler.Scheduler.AnnounceHost:input_type -> scheduler.AnnounceHostRequest
11, // 42: scheduler.Scheduler.LeaveHost:input_type -> scheduler.LeaveHostRequest
21, // 43: scheduler.Scheduler.SyncProbes:input_type -> scheduler.SyncProbesRequest
1, // 44: scheduler.Scheduler.RegisterPeerTask:output_type -> scheduler.RegisterResult
5, // 45: scheduler.Scheduler.ReportPieceResult:output_type -> scheduler.PeerPacket
35, // 46: scheduler.Scheduler.ReportPeerResult:output_type -> google.protobuf.Empty
35, // 47: scheduler.Scheduler.AnnounceTask:output_type -> google.protobuf.Empty
9, // 48: scheduler.Scheduler.StatTask:output_type -> scheduler.Task
35, // 49: scheduler.Scheduler.LeaveTask:output_type -> google.protobuf.Empty
35, // 50: scheduler.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
35, // 51: scheduler.Scheduler.LeaveHost:output_type -> google.protobuf.Empty
22, // 52: scheduler.Scheduler.SyncProbes:output_type -> scheduler.SyncProbesResponse
44, // [44:53] is the sub-list for method output_type
35, // [35:44] is the sub-list for method input_type
35, // [35:35] is the sub-list for extension type_name
35, // [35:35] is the sub-list for extension extendee
0, // [0:35] is the sub-list for field type_name
35, // 27: scheduler.ProbeStartedRequest.host:type_name -> common.Host
35, // 28: scheduler.Probe.host:type_name -> common.Host
36, // 29: scheduler.Probe.rtt:type_name -> google.protobuf.Duration
37, // 30: scheduler.Probe.created_at:type_name -> google.protobuf.Timestamp
35, // 31: scheduler.ProbeFinishedRequest.host:type_name -> common.Host
20, // 32: scheduler.ProbeFinishedRequest.probes:type_name -> scheduler.Probe
35, // 33: scheduler.FailedProbe.host:type_name -> common.Host
35, // 34: scheduler.ProbeFailedRequest.host:type_name -> common.Host
22, // 35: scheduler.ProbeFailedRequest.failed_probes:type_name -> scheduler.FailedProbe
19, // 36: scheduler.SyncProbesRequest.probe_started_request:type_name -> scheduler.ProbeStartedRequest
21, // 37: scheduler.SyncProbesRequest.probe_finished_request:type_name -> scheduler.ProbeFinishedRequest
23, // 38: scheduler.SyncProbesRequest.probe_failed_request:type_name -> scheduler.ProbeFailedRequest
35, // 39: scheduler.SyncProbesResponse.hosts:type_name -> common.Host
36, // 40: scheduler.SyncProbesResponse.probe_interval:type_name -> google.protobuf.Duration
0, // 41: scheduler.Scheduler.RegisterPeerTask:input_type -> scheduler.PeerTaskRequest
4, // 42: scheduler.Scheduler.ReportPieceResult:input_type -> scheduler.PieceResult
6, // 43: scheduler.Scheduler.ReportPeerResult:input_type -> scheduler.PeerResult
7, // 44: scheduler.Scheduler.AnnounceTask:input_type -> scheduler.AnnounceTaskRequest
8, // 45: scheduler.Scheduler.StatTask:input_type -> scheduler.StatTaskRequest
10, // 46: scheduler.Scheduler.LeaveTask:input_type -> scheduler.PeerTarget
12, // 47: scheduler.Scheduler.AnnounceHost:input_type -> scheduler.AnnounceHostRequest
11, // 48: scheduler.Scheduler.LeaveHost:input_type -> scheduler.LeaveHostRequest
24, // 49: scheduler.Scheduler.SyncProbes:input_type -> scheduler.SyncProbesRequest
1, // 50: scheduler.Scheduler.RegisterPeerTask:output_type -> scheduler.RegisterResult
5, // 51: scheduler.Scheduler.ReportPieceResult:output_type -> scheduler.PeerPacket
38, // 52: scheduler.Scheduler.ReportPeerResult:output_type -> google.protobuf.Empty
38, // 53: scheduler.Scheduler.AnnounceTask:output_type -> google.protobuf.Empty
9, // 54: scheduler.Scheduler.StatTask:output_type -> scheduler.Task
38, // 55: scheduler.Scheduler.LeaveTask:output_type -> google.protobuf.Empty
38, // 56: scheduler.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
38, // 57: scheduler.Scheduler.LeaveHost:output_type -> google.protobuf.Empty
25, // 58: scheduler.Scheduler.SyncProbes:output_type -> scheduler.SyncProbesResponse
50, // [50:59] is the sub-list for method output_type
41, // [41:50] is the sub-list for method input_type
41, // [41:41] is the sub-list for extension type_name
41, // [41:41] is the sub-list for extension extendee
0, // [0:41] is the sub-list for field type_name
}
func init() { file_pkg_apis_scheduler_v1_scheduler_proto_init() }
@ -3033,7 +3286,7 @@ func file_pkg_apis_scheduler_v1_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Probe); i {
switch v := v.(*ProbeStartedRequest); i {
case 0:
return &v.state
case 1:
@ -3045,7 +3298,7 @@ func file_pkg_apis_scheduler_v1_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProbesOfHost); i {
switch v := v.(*Probe); i {
case 0:
return &v.state
case 1:
@ -3057,7 +3310,7 @@ func file_pkg_apis_scheduler_v1_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesRequest); i {
switch v := v.(*ProbeFinishedRequest); i {
case 0:
return &v.state
case 1:
@ -3069,7 +3322,7 @@ func file_pkg_apis_scheduler_v1_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesResponse); i {
switch v := v.(*FailedProbe); i {
case 0:
return &v.state
case 1:
@ -3081,6 +3334,42 @@ func file_pkg_apis_scheduler_v1_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProbeFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PeerPacket_DestPeer); i {
case 0:
return &v.state
@ -3103,13 +3392,18 @@ func file_pkg_apis_scheduler_v1_scheduler_proto_init() {
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[6].OneofWrappers = []interface{}{
(*PeerResult_SourceError)(nil),
}
file_pkg_apis_scheduler_v1_scheduler_proto_msgTypes[24].OneofWrappers = []interface{}{
(*SyncProbesRequest_ProbeStartedRequest)(nil),
(*SyncProbesRequest_ProbeFinishedRequest)(nil),
(*SyncProbesRequest_ProbeFailedRequest)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pkg_apis_scheduler_v1_scheduler_proto_rawDesc,
NumEnums: 0,
NumMessages: 24,
NumMessages: 27,
NumExtensions: 0,
NumServices: 1,
},

View File

@ -3429,6 +3429,148 @@ var _ interface {
ErrorName() string
} = BuildValidationError{}
// Validate checks the field values on ProbeStartedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *ProbeStartedRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on ProbeStartedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// ProbeStartedRequestMultiError, or nil if none found.
func (m *ProbeStartedRequest) ValidateAll() error {
return m.validate(true)
}
func (m *ProbeStartedRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if m.GetHost() == nil {
err := ProbeStartedRequestValidationError{
field: "Host",
reason: "value is required",
}
if !all {
return err
}
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeStartedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeStartedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeStartedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
}
}
}
if len(errors) > 0 {
return ProbeStartedRequestMultiError(errors)
}
return nil
}
// ProbeStartedRequestMultiError is an error wrapping multiple validation
// errors returned by ProbeStartedRequest.ValidateAll() if the designated
// constraints aren't met.
type ProbeStartedRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m ProbeStartedRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m ProbeStartedRequestMultiError) AllErrors() []error { return m }
// ProbeStartedRequestValidationError is the validation error returned by
// ProbeStartedRequest.Validate if the designated constraints aren't met.
type ProbeStartedRequestValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e ProbeStartedRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e ProbeStartedRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e ProbeStartedRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e ProbeStartedRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e ProbeStartedRequestValidationError) ErrorName() string {
return "ProbeStartedRequestValidationError"
}
// Error satisfies the builtin error interface
func (e ProbeStartedRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sProbeStartedRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = ProbeStartedRequestValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = ProbeStartedRequestValidationError{}
// Validate checks the field values on Probe with the rules defined in the
// proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
@ -3589,22 +3731,22 @@ var _ interface {
ErrorName() string
} = ProbeValidationError{}
// Validate checks the field values on ProbesOfHost with the rules defined in
// the proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
func (m *ProbesOfHost) Validate() error {
// Validate checks the field values on ProbeFinishedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *ProbeFinishedRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on ProbesOfHost with the rules defined
// in the proto definition for this message. If any rules are violated, the
// result is a list of violation errors wrapped in ProbesOfHostMultiError, or
// nil if none found.
func (m *ProbesOfHost) ValidateAll() error {
// ValidateAll checks the field values on ProbeFinishedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// ProbeFinishedRequestMultiError, or nil if none found.
func (m *ProbeFinishedRequest) ValidateAll() error {
return m.validate(true)
}
func (m *ProbesOfHost) validate(all bool) error {
func (m *ProbeFinishedRequest) validate(all bool) error {
if m == nil {
return nil
}
@ -3612,7 +3754,7 @@ func (m *ProbesOfHost) validate(all bool) error {
var errors []error
if m.GetHost() == nil {
err := ProbesOfHostValidationError{
err := ProbeFinishedRequestValidationError{
field: "Host",
reason: "value is required",
}
@ -3626,7 +3768,7 @@ func (m *ProbesOfHost) validate(all bool) error {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
errors = append(errors, ProbeFinishedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
@ -3634,7 +3776,7 @@ func (m *ProbesOfHost) validate(all bool) error {
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
errors = append(errors, ProbeFinishedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
@ -3643,7 +3785,7 @@ func (m *ProbesOfHost) validate(all bool) error {
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbesOfHostValidationError{
return ProbeFinishedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
@ -3651,68 +3793,65 @@ func (m *ProbesOfHost) validate(all bool) error {
}
}
if len(m.GetProbes()) > 0 {
if len(m.GetProbes()) < 1 {
err := ProbesOfHostValidationError{
field: "Probes",
reason: "value must contain at least 1 item(s)",
}
if !all {
return err
}
errors = append(errors, err)
if len(m.GetProbes()) < 1 {
err := ProbeFinishedRequestValidationError{
field: "Probes",
reason: "value must contain at least 1 item(s)",
}
if !all {
return err
}
errors = append(errors, err)
}
for idx, item := range m.GetProbes() {
_, _ = idx, item
for idx, item := range m.GetProbes() {
_, _ = idx, item
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbesOfHostValidationError{
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeFinishedRequestValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeFinishedRequestValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeFinishedRequestValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
}
}
}
if len(errors) > 0 {
return ProbesOfHostMultiError(errors)
return ProbeFinishedRequestMultiError(errors)
}
return nil
}
// ProbesOfHostMultiError is an error wrapping multiple validation errors
// returned by ProbesOfHost.ValidateAll() if the designated constraints aren't met.
type ProbesOfHostMultiError []error
// ProbeFinishedRequestMultiError is an error wrapping multiple validation
// errors returned by ProbeFinishedRequest.ValidateAll() if the designated
// constraints aren't met.
type ProbeFinishedRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m ProbesOfHostMultiError) Error() string {
func (m ProbeFinishedRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
@ -3721,11 +3860,11 @@ func (m ProbesOfHostMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
func (m ProbesOfHostMultiError) AllErrors() []error { return m }
func (m ProbeFinishedRequestMultiError) AllErrors() []error { return m }
// ProbesOfHostValidationError is the validation error returned by
// ProbesOfHost.Validate if the designated constraints aren't met.
type ProbesOfHostValidationError struct {
// ProbeFinishedRequestValidationError is the validation error returned by
// ProbeFinishedRequest.Validate if the designated constraints aren't met.
type ProbeFinishedRequestValidationError struct {
field string
reason string
cause error
@ -3733,22 +3872,24 @@ type ProbesOfHostValidationError struct {
}
// Field function returns field value.
func (e ProbesOfHostValidationError) Field() string { return e.field }
func (e ProbeFinishedRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e ProbesOfHostValidationError) Reason() string { return e.reason }
func (e ProbeFinishedRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e ProbesOfHostValidationError) Cause() error { return e.cause }
func (e ProbeFinishedRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e ProbesOfHostValidationError) Key() bool { return e.key }
func (e ProbeFinishedRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e ProbesOfHostValidationError) ErrorName() string { return "ProbesOfHostValidationError" }
func (e ProbeFinishedRequestValidationError) ErrorName() string {
return "ProbeFinishedRequestValidationError"
}
// Error satisfies the builtin error interface
func (e ProbesOfHostValidationError) Error() string {
func (e ProbeFinishedRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@ -3760,14 +3901,14 @@ func (e ProbesOfHostValidationError) Error() string {
}
return fmt.Sprintf(
"invalid %sProbesOfHost.%s: %s%s",
"invalid %sProbeFinishedRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = ProbesOfHostValidationError{}
var _ error = ProbeFinishedRequestValidationError{}
var _ interface {
Field() string
@ -3775,7 +3916,344 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
} = ProbesOfHostValidationError{}
} = ProbeFinishedRequestValidationError{}
// Validate checks the field values on FailedProbe with the rules defined in
// the proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
func (m *FailedProbe) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on FailedProbe with the rules defined in
// the proto definition for this message. If any rules are violated, the
// result is a list of violation errors wrapped in FailedProbeMultiError, or
// nil if none found.
func (m *FailedProbe) ValidateAll() error {
return m.validate(true)
}
func (m *FailedProbe) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if m.GetHost() == nil {
err := FailedProbeValidationError{
field: "Host",
reason: "value is required",
}
if !all {
return err
}
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, FailedProbeValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, FailedProbeValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return FailedProbeValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
}
}
}
if utf8.RuneCountInString(m.GetDescription()) < 1 {
err := FailedProbeValidationError{
field: "Description",
reason: "value length must be at least 1 runes",
}
if !all {
return err
}
errors = append(errors, err)
}
if len(errors) > 0 {
return FailedProbeMultiError(errors)
}
return nil
}
// FailedProbeMultiError is an error wrapping multiple validation errors
// returned by FailedProbe.ValidateAll() if the designated constraints aren't met.
type FailedProbeMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m FailedProbeMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m FailedProbeMultiError) AllErrors() []error { return m }
// FailedProbeValidationError is the validation error returned by
// FailedProbe.Validate if the designated constraints aren't met.
type FailedProbeValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e FailedProbeValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e FailedProbeValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e FailedProbeValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e FailedProbeValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e FailedProbeValidationError) ErrorName() string { return "FailedProbeValidationError" }
// Error satisfies the builtin error interface
func (e FailedProbeValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sFailedProbe.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = FailedProbeValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = FailedProbeValidationError{}
// Validate checks the field values on ProbeFailedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *ProbeFailedRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on ProbeFailedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// ProbeFailedRequestMultiError, or nil if none found.
func (m *ProbeFailedRequest) ValidateAll() error {
return m.validate(true)
}
func (m *ProbeFailedRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if m.GetHost() == nil {
err := ProbeFailedRequestValidationError{
field: "Host",
reason: "value is required",
}
if !all {
return err
}
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeFailedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
}
}
}
if len(m.GetFailedProbes()) < 1 {
err := ProbeFailedRequestValidationError{
field: "FailedProbes",
reason: "value must contain at least 1 item(s)",
}
if !all {
return err
}
errors = append(errors, err)
}
for idx, item := range m.GetFailedProbes() {
_, _ = idx, item
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: fmt.Sprintf("FailedProbes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: fmt.Sprintf("FailedProbes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeFailedRequestValidationError{
field: fmt.Sprintf("FailedProbes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
}
}
}
if len(errors) > 0 {
return ProbeFailedRequestMultiError(errors)
}
return nil
}
// ProbeFailedRequestMultiError is an error wrapping multiple validation errors
// returned by ProbeFailedRequest.ValidateAll() if the designated constraints
// aren't met.
type ProbeFailedRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m ProbeFailedRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m ProbeFailedRequestMultiError) AllErrors() []error { return m }
// ProbeFailedRequestValidationError is the validation error returned by
// ProbeFailedRequest.Validate if the designated constraints aren't met.
type ProbeFailedRequestValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e ProbeFailedRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e ProbeFailedRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e ProbeFailedRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e ProbeFailedRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e ProbeFailedRequestValidationError) ErrorName() string {
return "ProbeFailedRequestValidationError"
}
// Error satisfies the builtin error interface
func (e ProbeFailedRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sProbeFailedRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = ProbeFailedRequestValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = ProbeFailedRequestValidationError{}
// Validate checks the field values on SyncProbesRequest with the rules defined
// in the proto definition for this message. If any rules are violated, the
@ -3799,9 +4277,140 @@ func (m *SyncProbesRequest) validate(all bool) error {
var errors []error
if m.GetProbesOfHost() == nil {
oneofRequestPresent := false
switch v := m.Request.(type) {
case *SyncProbesRequest_ProbeStartedRequest:
if v == nil {
err := SyncProbesRequestValidationError{
field: "Request",
reason: "oneof value cannot be a typed-nil",
}
if !all {
return err
}
errors = append(errors, err)
}
oneofRequestPresent = true
if all {
switch v := interface{}(m.GetProbeStartedRequest()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeStartedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeStartedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbeStartedRequest()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbeStartedRequest",
reason: "embedded message failed validation",
cause: err,
}
}
}
case *SyncProbesRequest_ProbeFinishedRequest:
if v == nil {
err := SyncProbesRequestValidationError{
field: "Request",
reason: "oneof value cannot be a typed-nil",
}
if !all {
return err
}
errors = append(errors, err)
}
oneofRequestPresent = true
if all {
switch v := interface{}(m.GetProbeFinishedRequest()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFinishedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFinishedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbeFinishedRequest()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbeFinishedRequest",
reason: "embedded message failed validation",
cause: err,
}
}
}
case *SyncProbesRequest_ProbeFailedRequest:
if v == nil {
err := SyncProbesRequestValidationError{
field: "Request",
reason: "oneof value cannot be a typed-nil",
}
if !all {
return err
}
errors = append(errors, err)
}
oneofRequestPresent = true
if all {
switch v := interface{}(m.GetProbeFailedRequest()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFailedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFailedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbeFailedRequest()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbeFailedRequest",
reason: "embedded message failed validation",
cause: err,
}
}
}
default:
_ = v // ensures v is used
}
if !oneofRequestPresent {
err := SyncProbesRequestValidationError{
field: "ProbesOfHost",
field: "Request",
reason: "value is required",
}
if !all {
@ -3810,35 +4419,6 @@ func (m *SyncProbesRequest) validate(all bool) error {
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetProbesOfHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbesOfHost",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbesOfHost",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbesOfHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbesOfHost",
reason: "embedded message failed validation",
cause: err,
}
}
}
if len(errors) > 0 {
return SyncProbesRequestMultiError(errors)
}

View File

@ -366,9 +366,15 @@ message Build {
string platform = 4;
}
// ProbeStartedRequest represents started request of SyncProbesRequest.
message ProbeStartedRequest {
// Source host metadata.
common.Host host = 1 [(validate.rules).message.required = true];
}
// Probe information.
message Probe {
// Host metadata.
// Destination host metadata.
common.Host host = 1 [(validate.rules).message.required = true];
// RTT is the round-trip time sent via this pinger.
google.protobuf.Duration rtt = 2 [(validate.rules).duration.required = true];
@ -376,18 +382,39 @@ message Probe {
google.protobuf.Timestamp created_at = 3 [(validate.rules).timestamp.required = true];
}
// ProbesOfHost represents probes information of the host.
message ProbesOfHost {
// Host metadata.
// ProbeFinishedRequest represents finished request of SyncProbesRequest.
message ProbeFinishedRequest {
// Source host metadata.
common.Host host = 1 [(validate.rules).message.required = true];
// Probes information.
repeated Probe probes = 2 [(validate.rules).repeated = {min_items: 1, ignore_empty: true}];
repeated Probe probes = 2 [(validate.rules).repeated = {min_items: 1}];
}
// FailedProbe information.
message FailedProbe {
// Destination host metadata.
common.Host host = 1 [(validate.rules).message.required = true];
// The description of probing failed.
string description = 2 [(validate.rules).string.min_len = 1];
}
// ProbeFailedRequest represents failed request of SyncProbesRequest.
message ProbeFailedRequest {
// Source host metadata.
common.Host host = 1 [(validate.rules).message.required = true];
// Failed probes information.
repeated FailedProbe failed_probes = 2 [(validate.rules).repeated = {min_items: 1}];
}
// SyncProbesRequest represents request of SyncProbes.
message SyncProbesRequest {
// Probes information of the host.
ProbesOfHost probes_of_host = 1 [(validate.rules).message.required = true];
oneof request {
option (validate.required) = true;
ProbeStartedRequest probe_started_request = 1;
ProbeFinishedRequest probe_finished_request = 2;
ProbeFailedRequest probe_failed_request = 3;
}
}
// SyncProbesResponse represents response of SyncProbes.

View File

@ -1981,13 +1981,62 @@ func (x *LeaveHostRequest) GetId() string {
return ""
}
// ProbeStartedRequest represents started request of SyncProbesRequest.
type ProbeStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Source host metadata.
Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
}
func (x *ProbeStartedRequest) Reset() {
*x = ProbeStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProbeStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProbeStartedRequest) ProtoMessage() {}
func (x *ProbeStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_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 ProbeStartedRequest.ProtoReflect.Descriptor instead.
func (*ProbeStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{31}
}
func (x *ProbeStartedRequest) GetHost() *v2.Host {
if x != nil {
return x.Host
}
return nil
}
// Probe information.
type Probe struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host metadata.
// Destination host metadata.
Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// RTT is the round-trip time sent via this pinger.
Rtt *durationpb.Duration `protobuf:"bytes,2,opt,name=rtt,proto3" json:"rtt,omitempty"`
@ -1998,7 +2047,7 @@ type Probe struct {
func (x *Probe) Reset() {
*x = Probe{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2011,7 +2060,7 @@ func (x *Probe) String() string {
func (*Probe) ProtoMessage() {}
func (x *Probe) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2024,7 +2073,7 @@ func (x *Probe) ProtoReflect() protoreflect.Message {
// Deprecated: Use Probe.ProtoReflect.Descriptor instead.
func (*Probe) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{31}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{32}
}
func (x *Probe) GetHost() *v2.Host {
@ -2048,35 +2097,35 @@ func (x *Probe) GetCreatedAt() *timestamppb.Timestamp {
return nil
}
// ProbesOfHost represents probes information of the host.
type ProbesOfHost struct {
// ProbeFinishedRequest represents finished request of SyncProbesRequest.
type ProbeFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host metadata.
// Source host metadata.
Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// Probes information.
Probes []*Probe `protobuf:"bytes,2,rep,name=probes,proto3" json:"probes,omitempty"`
}
func (x *ProbesOfHost) Reset() {
*x = ProbesOfHost{}
func (x *ProbeFinishedRequest) Reset() {
*x = ProbeFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProbesOfHost) String() string {
func (x *ProbeFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProbesOfHost) ProtoMessage() {}
func (*ProbeFinishedRequest) ProtoMessage() {}
func (x *ProbesOfHost) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32]
func (x *ProbeFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2087,39 +2136,159 @@ func (x *ProbesOfHost) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use ProbesOfHost.ProtoReflect.Descriptor instead.
func (*ProbesOfHost) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{32}
// Deprecated: Use ProbeFinishedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{33}
}
func (x *ProbesOfHost) GetHost() *v2.Host {
func (x *ProbeFinishedRequest) GetHost() *v2.Host {
if x != nil {
return x.Host
}
return nil
}
func (x *ProbesOfHost) GetProbes() []*Probe {
func (x *ProbeFinishedRequest) GetProbes() []*Probe {
if x != nil {
return x.Probes
}
return nil
}
// FailedProbe information.
type FailedProbe struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Destination host metadata.
Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// The description of probing failed.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *FailedProbe) Reset() {
*x = FailedProbe{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FailedProbe) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FailedProbe) ProtoMessage() {}
func (x *FailedProbe) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_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 FailedProbe.ProtoReflect.Descriptor instead.
func (*FailedProbe) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{34}
}
func (x *FailedProbe) GetHost() *v2.Host {
if x != nil {
return x.Host
}
return nil
}
func (x *FailedProbe) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
// ProbeFailedRequest represents failed request of SyncProbesRequest.
type ProbeFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Source host metadata.
Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// Failed probes information.
FailedProbes []*FailedProbe `protobuf:"bytes,2,rep,name=failed_probes,json=failedProbes,proto3" json:"failed_probes,omitempty"`
}
func (x *ProbeFailedRequest) Reset() {
*x = ProbeFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProbeFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProbeFailedRequest) ProtoMessage() {}
func (x *ProbeFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_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 ProbeFailedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{35}
}
func (x *ProbeFailedRequest) GetHost() *v2.Host {
if x != nil {
return x.Host
}
return nil
}
func (x *ProbeFailedRequest) GetFailedProbes() []*FailedProbe {
if x != nil {
return x.FailedProbes
}
return nil
}
// SyncProbesRequest represents request of SyncProbes.
type SyncProbesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Probes information of the host.
ProbesOfHost *ProbesOfHost `protobuf:"bytes,1,opt,name=probes_of_host,json=probesOfHost,proto3" json:"probes_of_host,omitempty"`
// Types that are assignable to Request:
//
// *SyncProbesRequest_ProbeStartedRequest
// *SyncProbesRequest_ProbeFinishedRequest
// *SyncProbesRequest_ProbeFailedRequest
Request isSyncProbesRequest_Request `protobuf_oneof:"request"`
}
func (x *SyncProbesRequest) Reset() {
*x = SyncProbesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2132,7 +2301,7 @@ func (x *SyncProbesRequest) String() string {
func (*SyncProbesRequest) ProtoMessage() {}
func (x *SyncProbesRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2145,16 +2314,59 @@ func (x *SyncProbesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncProbesRequest.ProtoReflect.Descriptor instead.
func (*SyncProbesRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{33}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{36}
}
func (x *SyncProbesRequest) GetProbesOfHost() *ProbesOfHost {
if x != nil {
return x.ProbesOfHost
func (m *SyncProbesRequest) GetRequest() isSyncProbesRequest_Request {
if m != nil {
return m.Request
}
return nil
}
func (x *SyncProbesRequest) GetProbeStartedRequest() *ProbeStartedRequest {
if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeStartedRequest); ok {
return x.ProbeStartedRequest
}
return nil
}
func (x *SyncProbesRequest) GetProbeFinishedRequest() *ProbeFinishedRequest {
if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeFinishedRequest); ok {
return x.ProbeFinishedRequest
}
return nil
}
func (x *SyncProbesRequest) GetProbeFailedRequest() *ProbeFailedRequest {
if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeFailedRequest); ok {
return x.ProbeFailedRequest
}
return nil
}
type isSyncProbesRequest_Request interface {
isSyncProbesRequest_Request()
}
type SyncProbesRequest_ProbeStartedRequest struct {
ProbeStartedRequest *ProbeStartedRequest `protobuf:"bytes,1,opt,name=probe_started_request,json=probeStartedRequest,proto3,oneof"`
}
type SyncProbesRequest_ProbeFinishedRequest struct {
ProbeFinishedRequest *ProbeFinishedRequest `protobuf:"bytes,2,opt,name=probe_finished_request,json=probeFinishedRequest,proto3,oneof"`
}
type SyncProbesRequest_ProbeFailedRequest struct {
ProbeFailedRequest *ProbeFailedRequest `protobuf:"bytes,3,opt,name=probe_failed_request,json=probeFailedRequest,proto3,oneof"`
}
func (*SyncProbesRequest_ProbeStartedRequest) isSyncProbesRequest_Request() {}
func (*SyncProbesRequest_ProbeFinishedRequest) isSyncProbesRequest_Request() {}
func (*SyncProbesRequest_ProbeFailedRequest) isSyncProbesRequest_Request() {}
// SyncProbesResponse represents response of SyncProbes.
type SyncProbesResponse struct {
state protoimpl.MessageState
@ -2170,7 +2382,7 @@ type SyncProbesResponse struct {
func (x *SyncProbesResponse) Reset() {
*x = SyncProbesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2183,7 +2395,7 @@ func (x *SyncProbesResponse) String() string {
func (*SyncProbesResponse) ProtoMessage() {}
func (x *SyncProbesResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2196,7 +2408,7 @@ func (x *SyncProbesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncProbesResponse.ProtoReflect.Descriptor instead.
func (*SyncProbesResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{34}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{37}
}
func (x *SyncProbesResponse) GetHosts() []*v2.Host {
@ -2534,83 +2746,116 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{
0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x10, 0x4c, 0x65, 0x61,
0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42,
0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12,
0x35, 0x0a, 0x03, 0x72, 0x74, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
0x01, 0x52, 0x03, 0x72, 0x74, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xb2, 0x01, 0x02, 0x08, 0x01,
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x76, 0x0a, 0x0c, 0x50,
0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x68,
0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a,
0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x72,
0x6f, 0x62, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42,
0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f,
0x62, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62,
0x65, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42,
0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66,
0x48, 0x6f, 0x73, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f,
0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x68,
0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x0a, 0xfa, 0x42, 0x07,
0x92, 0x01, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x4a,
0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f,
0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x32, 0xdf, 0x04, 0x0a, 0x09, 0x53,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f,
0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65,
0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75,
0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28,
0x01, 0x30, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12,
0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53,
0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x12,
0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x61, 0x76,
0x65, 0x50, 0x65, 0x65, 0x72, 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, 0x55, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50,
0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x53,
0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75,
0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48,
0x6f, 0x73, 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, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12,
0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c,
0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x53,
0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a,
0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42,
0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0xb2, 0x01, 0x0a,
0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32,
0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x72, 0x74, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa,
0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x03, 0x72, 0x74, 0x74, 0x12, 0x43, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 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, 0x42, 0x08, 0xfa, 0x42,
0x05, 0xb2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x22, 0x7c, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62,
0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x08, 0xfa,
0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22,
0x67, 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x2d,
0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa,
0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f,
0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08,
0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x48,
0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c,
0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22, 0xae, 0x02, 0x0a, 0x11, 0x53, 0x79, 0x6e,
0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57,
0x0a, 0x15, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f,
0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x48, 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x62, 0x65,
0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69,
0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x70,
0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x66, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x53, 0x79,
0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74,
0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x05, 0x68, 0x6f,
0x73, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x74,
0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01,
0x52, 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x32,
0xdf, 0x04, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x59, 0x0a,
0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e,
0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74,
0x50, 0x65, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e,
0x50, 0x65, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x65, 0x65,
0x72, 0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 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, 0x55, 0x0a, 0x0c, 0x45, 0x78, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x0c,
0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 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, 0x53, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x50,
0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a,
0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32,
0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65,
0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 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, 0x53, 0x0a, 0x0a,
0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72,
0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50,
0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30,
0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -2625,7 +2870,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP() []byte {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData
}
var file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 36)
var file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = []interface{}{
(*RegisterPeerRequest)(nil), // 0: scheduler.v2.RegisterPeerRequest
(*RegisterSeedPeerRequest)(nil), // 1: scheduler.v2.RegisterSeedPeerRequest
@ -2658,28 +2903,31 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = []interface{}{
(*StatTaskRequest)(nil), // 28: scheduler.v2.StatTaskRequest
(*AnnounceHostRequest)(nil), // 29: scheduler.v2.AnnounceHostRequest
(*LeaveHostRequest)(nil), // 30: scheduler.v2.LeaveHostRequest
(*Probe)(nil), // 31: scheduler.v2.Probe
(*ProbesOfHost)(nil), // 32: scheduler.v2.ProbesOfHost
(*SyncProbesRequest)(nil), // 33: scheduler.v2.SyncProbesRequest
(*SyncProbesResponse)(nil), // 34: scheduler.v2.SyncProbesResponse
nil, // 35: scheduler.v2.HTTPResponse.HeaderEntry
(*v2.Download)(nil), // 36: common.v2.Download
(*v2.Piece)(nil), // 37: common.v2.Piece
(*v2.Peer)(nil), // 38: common.v2.Peer
(*v2.Host)(nil), // 39: common.v2.Host
(*durationpb.Duration)(nil), // 40: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 41: google.protobuf.Timestamp
(*emptypb.Empty)(nil), // 42: google.protobuf.Empty
(*v2.Task)(nil), // 43: common.v2.Task
(*ProbeStartedRequest)(nil), // 31: scheduler.v2.ProbeStartedRequest
(*Probe)(nil), // 32: scheduler.v2.Probe
(*ProbeFinishedRequest)(nil), // 33: scheduler.v2.ProbeFinishedRequest
(*FailedProbe)(nil), // 34: scheduler.v2.FailedProbe
(*ProbeFailedRequest)(nil), // 35: scheduler.v2.ProbeFailedRequest
(*SyncProbesRequest)(nil), // 36: scheduler.v2.SyncProbesRequest
(*SyncProbesResponse)(nil), // 37: scheduler.v2.SyncProbesResponse
nil, // 38: scheduler.v2.HTTPResponse.HeaderEntry
(*v2.Download)(nil), // 39: common.v2.Download
(*v2.Piece)(nil), // 40: common.v2.Piece
(*v2.Peer)(nil), // 41: common.v2.Peer
(*v2.Host)(nil), // 42: common.v2.Host
(*durationpb.Duration)(nil), // 43: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 44: google.protobuf.Timestamp
(*emptypb.Empty)(nil), // 45: google.protobuf.Empty
(*v2.Task)(nil), // 46: common.v2.Task
}
var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{
36, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download
36, // 1: scheduler.v2.RegisterSeedPeerRequest.download:type_name -> common.v2.Download
37, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece
37, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece
37, // 4: scheduler.v2.DownloadPieceFailedRequest.piece:type_name -> common.v2.Piece
35, // 5: scheduler.v2.HTTPResponse.header:type_name -> scheduler.v2.HTTPResponse.HeaderEntry
37, // 6: scheduler.v2.DownloadPieceBackToSourceFailedRequest.piece:type_name -> common.v2.Piece
39, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download
39, // 1: scheduler.v2.RegisterSeedPeerRequest.download:type_name -> common.v2.Download
40, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece
40, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece
40, // 4: scheduler.v2.DownloadPieceFailedRequest.piece:type_name -> common.v2.Piece
38, // 5: scheduler.v2.HTTPResponse.header:type_name -> scheduler.v2.HTTPResponse.HeaderEntry
40, // 6: scheduler.v2.DownloadPieceBackToSourceFailedRequest.piece:type_name -> common.v2.Piece
11, // 7: scheduler.v2.DownloadPieceBackToSourceFailedRequest.http_response:type_name -> scheduler.v2.HTTPResponse
12, // 8: scheduler.v2.DownloadPieceBackToSourceFailedRequest.hdfs_response:type_name -> scheduler.v2.HDFSResponse
13, // 9: scheduler.v2.DownloadPieceBackToSourceFailedRequest.s3_response:type_name -> scheduler.v2.S3Response
@ -2697,43 +2945,49 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{
10, // 21: scheduler.v2.AnnouncePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
15, // 22: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFailedRequest
16, // 23: scheduler.v2.AnnouncePeerRequest.sync_pieces_failed_request:type_name -> scheduler.v2.SyncPiecesFailedRequest
38, // 24: scheduler.v2.SmallTaskResponse.candidate_parent:type_name -> common.v2.Peer
38, // 25: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer
41, // 24: scheduler.v2.SmallTaskResponse.candidate_parent:type_name -> common.v2.Peer
41, // 25: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer
18, // 26: scheduler.v2.AnnouncePeerResponse.empty_task_response:type_name -> scheduler.v2.EmptyTaskResponse
19, // 27: scheduler.v2.AnnouncePeerResponse.tiny_task_response:type_name -> scheduler.v2.TinyTaskResponse
20, // 28: scheduler.v2.AnnouncePeerResponse.small_task_response:type_name -> scheduler.v2.SmallTaskResponse
21, // 29: scheduler.v2.AnnouncePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalTaskResponse
22, // 30: scheduler.v2.AnnouncePeerResponse.need_back_to_source_response:type_name -> scheduler.v2.NeedBackToSourceResponse
39, // 31: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host
39, // 32: scheduler.v2.Probe.host:type_name -> common.v2.Host
40, // 33: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration
41, // 34: scheduler.v2.Probe.created_at:type_name -> google.protobuf.Timestamp
39, // 35: scheduler.v2.ProbesOfHost.host:type_name -> common.v2.Host
31, // 36: scheduler.v2.ProbesOfHost.probes:type_name -> scheduler.v2.Probe
32, // 37: scheduler.v2.SyncProbesRequest.probes_of_host:type_name -> scheduler.v2.ProbesOfHost
39, // 38: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host
40, // 39: scheduler.v2.SyncProbesResponse.probe_interval:type_name -> google.protobuf.Duration
17, // 40: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest
24, // 41: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest
27, // 42: scheduler.v2.Scheduler.LeavePeer:input_type -> scheduler.v2.LeavePeerRequest
25, // 43: scheduler.v2.Scheduler.ExchangePeer:input_type -> scheduler.v2.ExchangePeerRequest
28, // 44: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest
29, // 45: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest
30, // 46: scheduler.v2.Scheduler.LeaveHost:input_type -> scheduler.v2.LeaveHostRequest
33, // 47: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest
23, // 48: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse
38, // 49: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer
42, // 50: scheduler.v2.Scheduler.LeavePeer:output_type -> google.protobuf.Empty
26, // 51: scheduler.v2.Scheduler.ExchangePeer:output_type -> scheduler.v2.ExchangePeerResponse
43, // 52: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task
42, // 53: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
42, // 54: scheduler.v2.Scheduler.LeaveHost:output_type -> google.protobuf.Empty
34, // 55: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse
48, // [48:56] is the sub-list for method output_type
40, // [40:48] is the sub-list for method input_type
40, // [40:40] is the sub-list for extension type_name
40, // [40:40] is the sub-list for extension extendee
0, // [0:40] is the sub-list for field type_name
42, // 31: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host
42, // 32: scheduler.v2.ProbeStartedRequest.host:type_name -> common.v2.Host
42, // 33: scheduler.v2.Probe.host:type_name -> common.v2.Host
43, // 34: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration
44, // 35: scheduler.v2.Probe.created_at:type_name -> google.protobuf.Timestamp
42, // 36: scheduler.v2.ProbeFinishedRequest.host:type_name -> common.v2.Host
32, // 37: scheduler.v2.ProbeFinishedRequest.probes:type_name -> scheduler.v2.Probe
42, // 38: scheduler.v2.FailedProbe.host:type_name -> common.v2.Host
42, // 39: scheduler.v2.ProbeFailedRequest.host:type_name -> common.v2.Host
34, // 40: scheduler.v2.ProbeFailedRequest.failed_probes:type_name -> scheduler.v2.FailedProbe
31, // 41: scheduler.v2.SyncProbesRequest.probe_started_request:type_name -> scheduler.v2.ProbeStartedRequest
33, // 42: scheduler.v2.SyncProbesRequest.probe_finished_request:type_name -> scheduler.v2.ProbeFinishedRequest
35, // 43: scheduler.v2.SyncProbesRequest.probe_failed_request:type_name -> scheduler.v2.ProbeFailedRequest
42, // 44: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host
43, // 45: scheduler.v2.SyncProbesResponse.probe_interval:type_name -> google.protobuf.Duration
17, // 46: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest
24, // 47: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest
27, // 48: scheduler.v2.Scheduler.LeavePeer:input_type -> scheduler.v2.LeavePeerRequest
25, // 49: scheduler.v2.Scheduler.ExchangePeer:input_type -> scheduler.v2.ExchangePeerRequest
28, // 50: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest
29, // 51: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest
30, // 52: scheduler.v2.Scheduler.LeaveHost:input_type -> scheduler.v2.LeaveHostRequest
36, // 53: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest
23, // 54: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse
41, // 55: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer
45, // 56: scheduler.v2.Scheduler.LeavePeer:output_type -> google.protobuf.Empty
26, // 57: scheduler.v2.Scheduler.ExchangePeer:output_type -> scheduler.v2.ExchangePeerResponse
46, // 58: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task
45, // 59: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
45, // 60: scheduler.v2.Scheduler.LeaveHost:output_type -> google.protobuf.Empty
37, // 61: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse
54, // [54:62] is the sub-list for method output_type
46, // [46:54] is the sub-list for method input_type
46, // [46:46] is the sub-list for extension type_name
46, // [46:46] is the sub-list for extension extendee
0, // [0:46] is the sub-list for field type_name
}
func init() { file_pkg_apis_scheduler_v2_scheduler_proto_init() }
@ -3115,7 +3369,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Probe); i {
switch v := v.(*ProbeStartedRequest); i {
case 0:
return &v.state
case 1:
@ -3127,7 +3381,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProbesOfHost); i {
switch v := v.(*Probe); i {
case 0:
return &v.state
case 1:
@ -3139,7 +3393,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesRequest); i {
switch v := v.(*ProbeFinishedRequest); i {
case 0:
return &v.state
case 1:
@ -3151,6 +3405,42 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FailedProbe); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProbeFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesResponse); i {
case 0:
return &v.state
@ -3191,13 +3481,18 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
(*AnnouncePeerResponse_NormalTaskResponse)(nil),
(*AnnouncePeerResponse_NeedBackToSourceResponse)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36].OneofWrappers = []interface{}{
(*SyncProbesRequest_ProbeStartedRequest)(nil),
(*SyncProbesRequest_ProbeFinishedRequest)(nil),
(*SyncProbesRequest_ProbeFailedRequest)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc,
NumEnums: 0,
NumMessages: 36,
NumMessages: 39,
NumExtensions: 0,
NumServices: 1,
},

View File

@ -4836,6 +4836,148 @@ var _ interface {
ErrorName() string
} = LeaveHostRequestValidationError{}
// Validate checks the field values on ProbeStartedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *ProbeStartedRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on ProbeStartedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// ProbeStartedRequestMultiError, or nil if none found.
func (m *ProbeStartedRequest) ValidateAll() error {
return m.validate(true)
}
func (m *ProbeStartedRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if m.GetHost() == nil {
err := ProbeStartedRequestValidationError{
field: "Host",
reason: "value is required",
}
if !all {
return err
}
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeStartedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeStartedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeStartedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
}
}
}
if len(errors) > 0 {
return ProbeStartedRequestMultiError(errors)
}
return nil
}
// ProbeStartedRequestMultiError is an error wrapping multiple validation
// errors returned by ProbeStartedRequest.ValidateAll() if the designated
// constraints aren't met.
type ProbeStartedRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m ProbeStartedRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m ProbeStartedRequestMultiError) AllErrors() []error { return m }
// ProbeStartedRequestValidationError is the validation error returned by
// ProbeStartedRequest.Validate if the designated constraints aren't met.
type ProbeStartedRequestValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e ProbeStartedRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e ProbeStartedRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e ProbeStartedRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e ProbeStartedRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e ProbeStartedRequestValidationError) ErrorName() string {
return "ProbeStartedRequestValidationError"
}
// Error satisfies the builtin error interface
func (e ProbeStartedRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sProbeStartedRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = ProbeStartedRequestValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = ProbeStartedRequestValidationError{}
// Validate checks the field values on Probe with the rules defined in the
// proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
@ -4996,22 +5138,22 @@ var _ interface {
ErrorName() string
} = ProbeValidationError{}
// Validate checks the field values on ProbesOfHost with the rules defined in
// the proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
func (m *ProbesOfHost) Validate() error {
// Validate checks the field values on ProbeFinishedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *ProbeFinishedRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on ProbesOfHost with the rules defined
// in the proto definition for this message. If any rules are violated, the
// result is a list of violation errors wrapped in ProbesOfHostMultiError, or
// nil if none found.
func (m *ProbesOfHost) ValidateAll() error {
// ValidateAll checks the field values on ProbeFinishedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// ProbeFinishedRequestMultiError, or nil if none found.
func (m *ProbeFinishedRequest) ValidateAll() error {
return m.validate(true)
}
func (m *ProbesOfHost) validate(all bool) error {
func (m *ProbeFinishedRequest) validate(all bool) error {
if m == nil {
return nil
}
@ -5019,7 +5161,7 @@ func (m *ProbesOfHost) validate(all bool) error {
var errors []error
if m.GetHost() == nil {
err := ProbesOfHostValidationError{
err := ProbeFinishedRequestValidationError{
field: "Host",
reason: "value is required",
}
@ -5033,7 +5175,7 @@ func (m *ProbesOfHost) validate(all bool) error {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
errors = append(errors, ProbeFinishedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
@ -5041,7 +5183,7 @@ func (m *ProbesOfHost) validate(all bool) error {
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
errors = append(errors, ProbeFinishedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
@ -5050,7 +5192,7 @@ func (m *ProbesOfHost) validate(all bool) error {
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbesOfHostValidationError{
return ProbeFinishedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
@ -5058,68 +5200,65 @@ func (m *ProbesOfHost) validate(all bool) error {
}
}
if len(m.GetProbes()) > 0 {
if len(m.GetProbes()) < 1 {
err := ProbesOfHostValidationError{
field: "Probes",
reason: "value must contain at least 1 item(s)",
}
if !all {
return err
}
errors = append(errors, err)
if len(m.GetProbes()) < 1 {
err := ProbeFinishedRequestValidationError{
field: "Probes",
reason: "value must contain at least 1 item(s)",
}
if !all {
return err
}
errors = append(errors, err)
}
for idx, item := range m.GetProbes() {
_, _ = idx, item
for idx, item := range m.GetProbes() {
_, _ = idx, item
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbesOfHostValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbesOfHostValidationError{
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeFinishedRequestValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeFinishedRequestValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeFinishedRequestValidationError{
field: fmt.Sprintf("Probes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
}
}
}
if len(errors) > 0 {
return ProbesOfHostMultiError(errors)
return ProbeFinishedRequestMultiError(errors)
}
return nil
}
// ProbesOfHostMultiError is an error wrapping multiple validation errors
// returned by ProbesOfHost.ValidateAll() if the designated constraints aren't met.
type ProbesOfHostMultiError []error
// ProbeFinishedRequestMultiError is an error wrapping multiple validation
// errors returned by ProbeFinishedRequest.ValidateAll() if the designated
// constraints aren't met.
type ProbeFinishedRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m ProbesOfHostMultiError) Error() string {
func (m ProbeFinishedRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
@ -5128,11 +5267,11 @@ func (m ProbesOfHostMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
func (m ProbesOfHostMultiError) AllErrors() []error { return m }
func (m ProbeFinishedRequestMultiError) AllErrors() []error { return m }
// ProbesOfHostValidationError is the validation error returned by
// ProbesOfHost.Validate if the designated constraints aren't met.
type ProbesOfHostValidationError struct {
// ProbeFinishedRequestValidationError is the validation error returned by
// ProbeFinishedRequest.Validate if the designated constraints aren't met.
type ProbeFinishedRequestValidationError struct {
field string
reason string
cause error
@ -5140,22 +5279,24 @@ type ProbesOfHostValidationError struct {
}
// Field function returns field value.
func (e ProbesOfHostValidationError) Field() string { return e.field }
func (e ProbeFinishedRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e ProbesOfHostValidationError) Reason() string { return e.reason }
func (e ProbeFinishedRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e ProbesOfHostValidationError) Cause() error { return e.cause }
func (e ProbeFinishedRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e ProbesOfHostValidationError) Key() bool { return e.key }
func (e ProbeFinishedRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e ProbesOfHostValidationError) ErrorName() string { return "ProbesOfHostValidationError" }
func (e ProbeFinishedRequestValidationError) ErrorName() string {
return "ProbeFinishedRequestValidationError"
}
// Error satisfies the builtin error interface
func (e ProbesOfHostValidationError) Error() string {
func (e ProbeFinishedRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@ -5167,14 +5308,14 @@ func (e ProbesOfHostValidationError) Error() string {
}
return fmt.Sprintf(
"invalid %sProbesOfHost.%s: %s%s",
"invalid %sProbeFinishedRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = ProbesOfHostValidationError{}
var _ error = ProbeFinishedRequestValidationError{}
var _ interface {
Field() string
@ -5182,7 +5323,344 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
} = ProbesOfHostValidationError{}
} = ProbeFinishedRequestValidationError{}
// Validate checks the field values on FailedProbe with the rules defined in
// the proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
func (m *FailedProbe) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on FailedProbe with the rules defined in
// the proto definition for this message. If any rules are violated, the
// result is a list of violation errors wrapped in FailedProbeMultiError, or
// nil if none found.
func (m *FailedProbe) ValidateAll() error {
return m.validate(true)
}
func (m *FailedProbe) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if m.GetHost() == nil {
err := FailedProbeValidationError{
field: "Host",
reason: "value is required",
}
if !all {
return err
}
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, FailedProbeValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, FailedProbeValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return FailedProbeValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
}
}
}
if utf8.RuneCountInString(m.GetDescription()) < 1 {
err := FailedProbeValidationError{
field: "Description",
reason: "value length must be at least 1 runes",
}
if !all {
return err
}
errors = append(errors, err)
}
if len(errors) > 0 {
return FailedProbeMultiError(errors)
}
return nil
}
// FailedProbeMultiError is an error wrapping multiple validation errors
// returned by FailedProbe.ValidateAll() if the designated constraints aren't met.
type FailedProbeMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m FailedProbeMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m FailedProbeMultiError) AllErrors() []error { return m }
// FailedProbeValidationError is the validation error returned by
// FailedProbe.Validate if the designated constraints aren't met.
type FailedProbeValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e FailedProbeValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e FailedProbeValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e FailedProbeValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e FailedProbeValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e FailedProbeValidationError) ErrorName() string { return "FailedProbeValidationError" }
// Error satisfies the builtin error interface
func (e FailedProbeValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sFailedProbe.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = FailedProbeValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = FailedProbeValidationError{}
// Validate checks the field values on ProbeFailedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *ProbeFailedRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on ProbeFailedRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// ProbeFailedRequestMultiError, or nil if none found.
func (m *ProbeFailedRequest) ValidateAll() error {
return m.validate(true)
}
func (m *ProbeFailedRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if m.GetHost() == nil {
err := ProbeFailedRequestValidationError{
field: "Host",
reason: "value is required",
}
if !all {
return err
}
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeFailedRequestValidationError{
field: "Host",
reason: "embedded message failed validation",
cause: err,
}
}
}
if len(m.GetFailedProbes()) < 1 {
err := ProbeFailedRequestValidationError{
field: "FailedProbes",
reason: "value must contain at least 1 item(s)",
}
if !all {
return err
}
errors = append(errors, err)
}
for idx, item := range m.GetFailedProbes() {
_, _ = idx, item
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: fmt.Sprintf("FailedProbes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, ProbeFailedRequestValidationError{
field: fmt.Sprintf("FailedProbes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return ProbeFailedRequestValidationError{
field: fmt.Sprintf("FailedProbes[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
}
}
}
if len(errors) > 0 {
return ProbeFailedRequestMultiError(errors)
}
return nil
}
// ProbeFailedRequestMultiError is an error wrapping multiple validation errors
// returned by ProbeFailedRequest.ValidateAll() if the designated constraints
// aren't met.
type ProbeFailedRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m ProbeFailedRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m ProbeFailedRequestMultiError) AllErrors() []error { return m }
// ProbeFailedRequestValidationError is the validation error returned by
// ProbeFailedRequest.Validate if the designated constraints aren't met.
type ProbeFailedRequestValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e ProbeFailedRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e ProbeFailedRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e ProbeFailedRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e ProbeFailedRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e ProbeFailedRequestValidationError) ErrorName() string {
return "ProbeFailedRequestValidationError"
}
// Error satisfies the builtin error interface
func (e ProbeFailedRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sProbeFailedRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = ProbeFailedRequestValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = ProbeFailedRequestValidationError{}
// Validate checks the field values on SyncProbesRequest with the rules defined
// in the proto definition for this message. If any rules are violated, the
@ -5206,9 +5684,140 @@ func (m *SyncProbesRequest) validate(all bool) error {
var errors []error
if m.GetProbesOfHost() == nil {
oneofRequestPresent := false
switch v := m.Request.(type) {
case *SyncProbesRequest_ProbeStartedRequest:
if v == nil {
err := SyncProbesRequestValidationError{
field: "Request",
reason: "oneof value cannot be a typed-nil",
}
if !all {
return err
}
errors = append(errors, err)
}
oneofRequestPresent = true
if all {
switch v := interface{}(m.GetProbeStartedRequest()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeStartedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeStartedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbeStartedRequest()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbeStartedRequest",
reason: "embedded message failed validation",
cause: err,
}
}
}
case *SyncProbesRequest_ProbeFinishedRequest:
if v == nil {
err := SyncProbesRequestValidationError{
field: "Request",
reason: "oneof value cannot be a typed-nil",
}
if !all {
return err
}
errors = append(errors, err)
}
oneofRequestPresent = true
if all {
switch v := interface{}(m.GetProbeFinishedRequest()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFinishedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFinishedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbeFinishedRequest()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbeFinishedRequest",
reason: "embedded message failed validation",
cause: err,
}
}
}
case *SyncProbesRequest_ProbeFailedRequest:
if v == nil {
err := SyncProbesRequestValidationError{
field: "Request",
reason: "oneof value cannot be a typed-nil",
}
if !all {
return err
}
errors = append(errors, err)
}
oneofRequestPresent = true
if all {
switch v := interface{}(m.GetProbeFailedRequest()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFailedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbeFailedRequest",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbeFailedRequest()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbeFailedRequest",
reason: "embedded message failed validation",
cause: err,
}
}
}
default:
_ = v // ensures v is used
}
if !oneofRequestPresent {
err := SyncProbesRequestValidationError{
field: "ProbesOfHost",
field: "Request",
reason: "value is required",
}
if !all {
@ -5217,35 +5826,6 @@ func (m *SyncProbesRequest) validate(all bool) error {
errors = append(errors, err)
}
if all {
switch v := interface{}(m.GetProbesOfHost()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbesOfHost",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, SyncProbesRequestValidationError{
field: "ProbesOfHost",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetProbesOfHost()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return SyncProbesRequestValidationError{
field: "ProbesOfHost",
reason: "embedded message failed validation",
cause: err,
}
}
}
if len(errors) > 0 {
return SyncProbesRequestMultiError(errors)
}

View File

@ -265,9 +265,15 @@ message LeaveHostRequest{
string id = 1 [(validate.rules).string.min_len = 1];
}
// ProbeStartedRequest represents started request of SyncProbesRequest.
message ProbeStartedRequest {
// Source host metadata.
common.v2.Host host = 1 [(validate.rules).message.required = true];
}
// Probe information.
message Probe {
// Host metadata.
// Destination host metadata.
common.v2.Host host = 1 [(validate.rules).message.required = true];
// RTT is the round-trip time sent via this pinger.
google.protobuf.Duration rtt = 2 [(validate.rules).duration.required = true];
@ -275,18 +281,39 @@ message Probe {
google.protobuf.Timestamp created_at = 3 [(validate.rules).timestamp.required = true];
}
// ProbesOfHost represents probes information of the host.
message ProbesOfHost {
// Host metadata.
// ProbeFinishedRequest represents finished request of SyncProbesRequest.
message ProbeFinishedRequest {
// Source host metadata.
common.v2.Host host = 1 [(validate.rules).message.required = true];
// Probes information.
repeated Probe probes = 2 [(validate.rules).repeated = {min_items: 1, ignore_empty: true}];
repeated Probe probes = 2 [(validate.rules).repeated = {min_items: 1}];
}
// FailedProbe information.
message FailedProbe {
// Destination host metadata.
common.v2.Host host = 1 [(validate.rules).message.required = true];
// The description of probing failed.
string description = 2 [(validate.rules).string.min_len = 1];
}
// ProbeFailedRequest represents failed request of SyncProbesRequest.
message ProbeFailedRequest {
// Source host metadata.
common.v2.Host host = 1 [(validate.rules).message.required = true];
// Failed probes information.
repeated FailedProbe failed_probes = 2 [(validate.rules).repeated = {min_items: 1}];
}
// SyncProbesRequest represents request of SyncProbes.
message SyncProbesRequest {
// Probes information of the host.
ProbesOfHost probes_of_host = 1 [(validate.rules).message.required = true];
oneof request {
option (validate.required) = true;
ProbeStartedRequest probe_started_request = 1;
ProbeFinishedRequest probe_finished_request = 2;
ProbeFailedRequest probe_failed_request = 3;
}
}
// SyncProbesResponse represents response of SyncProbes.

View File

@ -259,9 +259,15 @@ message LeaveHostRequest{
string id = 1;
}
// ProbeStartedRequest represents started request of SyncProbesRequest.
message ProbeStartedRequest {
// Source host metadata.
common.Host host = 1;
}
// Probe information.
message Probe {
// Host metadata.
// Destination host metadata.
common.Host host = 1;
// RTT is the round-trip time sent via this pinger.
google.protobuf.Duration rtt = 2;
@ -269,18 +275,37 @@ message Probe {
google.protobuf.Timestamp created_at = 3;
}
// ProbesOfHost represents probes information of the host.
message ProbesOfHost {
// Host metadata.
// ProbeFinishedRequest represents finished request of SyncProbesRequest.
message ProbeFinishedRequest {
// Source host metadata.
common.Host host = 1;
// Probes information.
repeated Probe probes = 2;
}
// FailedProbe information.
message FailedProbe {
// Destination host metadata.
common.Host host = 1;
// The description of probing failed.
string description = 2;
}
// ProbeFailedRequest represents failed request of SyncProbesRequest.
message ProbeFailedRequest {
// Source host metadata.
common.Host host = 1;
// Failed probes information.
repeated FailedProbe failed_probes = 2;
}
// SyncProbesRequest represents request of SyncProbes.
message SyncProbesRequest {
// Probes information of the host.
ProbesOfHost probes_of_host = 1;
oneof request {
ProbeStartedRequest probe_started_request = 1;
ProbeFinishedRequest probe_finished_request = 2;
ProbeFailedRequest probe_failed_request = 3;
}
}
// SyncProbesResponse represents response of SyncProbes.

View File

@ -359,11 +359,19 @@ pub struct LeaveHostRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
}
/// ProbeStartedRequest represents started request of SyncProbesRequest.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProbeStartedRequest {
/// Source host metadata.
#[prost(message, optional, tag = "1")]
pub host: ::core::option::Option<super::common::Host>,
}
/// Probe information.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Probe {
/// Host metadata.
/// Destination host metadata.
#[prost(message, optional, tag = "1")]
pub host: ::core::option::Option<super::common::Host>,
/// RTT is the round-trip time sent via this pinger.
@ -373,24 +381,58 @@ pub struct Probe {
#[prost(message, optional, tag = "3")]
pub created_at: ::core::option::Option<::prost_types::Timestamp>,
}
/// ProbesOfHost represents probes information of the host.
/// ProbeFinishedRequest represents finished request of SyncProbesRequest.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProbesOfHost {
/// Host metadata.
pub struct ProbeFinishedRequest {
/// Source host metadata.
#[prost(message, optional, tag = "1")]
pub host: ::core::option::Option<super::common::Host>,
/// Probes information.
#[prost(message, repeated, tag = "2")]
pub probes: ::prost::alloc::vec::Vec<Probe>,
}
/// FailedProbe information.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FailedProbe {
/// Destination host metadata.
#[prost(message, optional, tag = "1")]
pub host: ::core::option::Option<super::common::Host>,
/// The description of probing failed.
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
}
/// ProbeFailedRequest represents failed request of SyncProbesRequest.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProbeFailedRequest {
/// Source host metadata.
#[prost(message, optional, tag = "1")]
pub host: ::core::option::Option<super::common::Host>,
/// Failed probes information.
#[prost(message, repeated, tag = "2")]
pub failed_probes: ::prost::alloc::vec::Vec<FailedProbe>,
}
/// SyncProbesRequest represents request of SyncProbes.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncProbesRequest {
/// Probes information of the host.
#[prost(message, optional, tag = "1")]
pub probes_of_host: ::core::option::Option<ProbesOfHost>,
#[prost(oneof = "sync_probes_request::Request", tags = "1, 2, 3")]
pub request: ::core::option::Option<sync_probes_request::Request>,
}
/// Nested message and enum types in `SyncProbesRequest`.
pub mod sync_probes_request {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Request {
#[prost(message, tag = "1")]
ProbeStartedRequest(super::ProbeStartedRequest),
#[prost(message, tag = "2")]
ProbeFinishedRequest(super::ProbeFinishedRequest),
#[prost(message, tag = "3")]
ProbeFailedRequest(super::ProbeFailedRequest),
}
}
/// SyncProbesResponse represents response of SyncProbes.
#[allow(clippy::derive_partial_eq_without_eq)]