diff --git a/go.mod b/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..25fda2698c4eba4568190560f2a438b6297fea6c --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module code.fbi.h-da.de/cocsn/api + +go 1.16 diff --git a/proto/gosdn/pnd/pnd.pb.go b/proto/gosdn/pnd/pnd.pb.go index 8b32b21bb553653eb73b3f5d8ce07b84c2c615e9..9d040605f17e7d2cf9ccccfa1f2332757adab08c 100644 --- a/proto/gosdn/pnd/pnd.pb.go +++ b/proto/gosdn/pnd/pnd.pb.go @@ -27,64 +27,6 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 -type GetRequestGetType int32 - -const ( - GetRequest_PND GetRequestGetType = 0 - GetRequest_OND GetRequestGetType = 1 - GetRequest_ONDS GetRequestGetType = 2 - GetRequest_SBI GetRequestGetType = 3 - GetRequest_SBIS GetRequestGetType = 4 - GetRequest_Changes GetRequestGetType = 5 -) - -// Enum value maps for GetRequestGetType. -var ( - GetRequestGetType_name = map[int32]string{ - 0: "PND", - 1: "OND", - 2: "ONDS", - 3: "SBI", - 4: "SBIS", - 5: "Changes", - } - GetRequestGetType_value = map[string]int32{ - "PND": 0, - "OND": 1, - "ONDS": 2, - "SBI": 3, - "SBIS": 4, - "Changes": 5, - } -) - -func (x GetRequestGetType) Enum() *GetRequestGetType { - p := new(GetRequestGetType) - *p = x - return p -} - -func (x GetRequestGetType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GetRequestGetType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gosdn_pnd_pnd_proto_enumTypes[0].Descriptor() -} - -func (GetRequestGetType) Type() protoreflect.EnumType { - return &file_proto_gosdn_pnd_pnd_proto_enumTypes[0] -} - -func (x GetRequestGetType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use GetRequestGetType.Descriptor instead. -func (GetRequestGetType) EnumDescriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{0, 0} -} - type Change_State int32 const ( @@ -118,11 +60,11 @@ func (x Change_State) String() string { } func (Change_State) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gosdn_pnd_pnd_proto_enumTypes[1].Descriptor() + return file_proto_gosdn_pnd_pnd_proto_enumTypes[0].Descriptor() } func (Change_State) Type() protoreflect.EnumType { - return &file_proto_gosdn_pnd_pnd_proto_enumTypes[1] + return &file_proto_gosdn_pnd_pnd_proto_enumTypes[0] } func (x Change_State) Number() protoreflect.EnumNumber { @@ -131,7 +73,7 @@ func (x Change_State) Number() protoreflect.EnumNumber { // Deprecated: Use Change_State.Descriptor instead. func (Change_State) EnumDescriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{7, 0} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{9, 0} } type SetResponseStatus int32 @@ -164,11 +106,11 @@ func (x SetResponseStatus) String() string { } func (SetResponseStatus) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gosdn_pnd_pnd_proto_enumTypes[2].Descriptor() + return file_proto_gosdn_pnd_pnd_proto_enumTypes[1].Descriptor() } func (SetResponseStatus) Type() protoreflect.EnumType { - return &file_proto_gosdn_pnd_pnd_proto_enumTypes[2] + return &file_proto_gosdn_pnd_pnd_proto_enumTypes[1] } func (x SetResponseStatus) Number() protoreflect.EnumNumber { @@ -177,7 +119,7 @@ func (x SetResponseStatus) Number() protoreflect.EnumNumber { // Deprecated: Use SetResponseStatus.Descriptor instead. func (SetResponseStatus) EnumDescriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{10, 0} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{14, 0} } type ChangeRequest_Operation int32 @@ -213,11 +155,11 @@ func (x ChangeRequest_Operation) String() string { } func (ChangeRequest_Operation) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gosdn_pnd_pnd_proto_enumTypes[3].Descriptor() + return file_proto_gosdn_pnd_pnd_proto_enumTypes[2].Descriptor() } func (ChangeRequest_Operation) Type() protoreflect.EnumType { - return &file_proto_gosdn_pnd_pnd_proto_enumTypes[3] + return &file_proto_gosdn_pnd_pnd_proto_enumTypes[2] } func (x ChangeRequest_Operation) Number() protoreflect.EnumNumber { @@ -226,7 +168,7 @@ func (x ChangeRequest_Operation) Number() protoreflect.EnumNumber { // Deprecated: Use ChangeRequest_Operation.Descriptor instead. func (ChangeRequest_Operation) EnumDescriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{11, 0} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{15, 0} } type ChangeRequest_ApiOperation int32 @@ -262,11 +204,11 @@ func (x ChangeRequest_ApiOperation) String() string { } func (ChangeRequest_ApiOperation) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gosdn_pnd_pnd_proto_enumTypes[4].Descriptor() + return file_proto_gosdn_pnd_pnd_proto_enumTypes[3].Descriptor() } func (ChangeRequest_ApiOperation) Type() protoreflect.EnumType { - return &file_proto_gosdn_pnd_pnd_proto_enumTypes[4] + return &file_proto_gosdn_pnd_pnd_proto_enumTypes[3] } func (x ChangeRequest_ApiOperation) Number() protoreflect.EnumNumber { @@ -275,7 +217,7 @@ func (x ChangeRequest_ApiOperation) Number() protoreflect.EnumNumber { // Deprecated: Use ChangeRequest_ApiOperation.Descriptor instead. func (ChangeRequest_ApiOperation) EnumDescriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{11, 1} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{15, 1} } type GetRequest struct { @@ -283,9 +225,14 @@ type GetRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. - Type GetRequestGetType `protobuf:"varint,2,opt,name=type,proto3,enum=gosdn.pnd.GetRequestGetType" json:"type,omitempty"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + // Types that are assignable to Request: + // *GetRequest_Pnd + // *GetRequest_Ond + // *GetRequest_Sbi + // *GetRequest_Change + Request isGetRequest_Request `protobuf_oneof:"request"` + Pid string `protobuf:"bytes,6,opt,name=pid,proto3" json:"pid,omitempty"` } func (x *GetRequest) Reset() { @@ -327,38 +274,84 @@ func (x *GetRequest) GetTimestamp() int64 { return 0 } -func (x *GetRequest) GetType() GetRequestGetType { - if x != nil { - return x.Type +func (m *GetRequest) GetRequest() isGetRequest_Request { + if m != nil { + return m.Request + } + return nil +} + +func (x *GetRequest) GetPnd() *GetPnd { + if x, ok := x.GetRequest().(*GetRequest_Pnd); ok { + return x.Pnd + } + return nil +} + +func (x *GetRequest) GetOnd() *GetOnd { + if x, ok := x.GetRequest().(*GetRequest_Ond); ok { + return x.Ond + } + return nil +} + +func (x *GetRequest) GetSbi() *GetSbi { + if x, ok := x.GetRequest().(*GetRequest_Sbi); ok { + return x.Sbi } - return GetRequest_PND + return nil } -func (x *GetRequest) GetId() string { +func (x *GetRequest) GetChange() *GetChange { + if x, ok := x.GetRequest().(*GetRequest_Change); ok { + return x.Change + } + return nil +} + +func (x *GetRequest) GetPid() string { if x != nil { - return x.Id + return x.Pid } return "" } -type GetResponse struct { +type isGetRequest_Request interface { + isGetRequest_Request() +} + +type GetRequest_Pnd struct { + Pnd *GetPnd `protobuf:"bytes,2,opt,name=pnd,proto3,oneof"` +} + +type GetRequest_Ond struct { + Ond *GetOnd `protobuf:"bytes,3,opt,name=ond,proto3,oneof"` +} + +type GetRequest_Sbi struct { + Sbi *GetSbi `protobuf:"bytes,4,opt,name=sbi,proto3,oneof"` +} + +type GetRequest_Change struct { + Change *GetChange `protobuf:"bytes,5,opt,name=change,proto3,oneof"` +} + +func (*GetRequest_Pnd) isGetRequest_Request() {} + +func (*GetRequest_Ond) isGetRequest_Request() {} + +func (*GetRequest_Sbi) isGetRequest_Request() {} + +func (*GetRequest_Change) isGetRequest_Request() {} + +type GetPnd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. - // Types that are assignable to Payload: - // *GetResponse_Pnd - // *GetResponse_Ond - // *GetResponse_Onds - // *GetResponse_Sbi - // *GetResponse_Sbis - // *GetResponse_Changes - Payload isGetResponse_Payload `protobuf_oneof:"payload"` } -func (x *GetResponse) Reset() { - *x = GetResponse{} +func (x *GetPnd) Reset() { + *x = GetPnd{} if protoimpl.UnsafeEnabled { mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -366,13 +359,13 @@ func (x *GetResponse) Reset() { } } -func (x *GetResponse) String() string { +func (x *GetPnd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetResponse) ProtoMessage() {} +func (*GetPnd) ProtoMessage() {} -func (x *GetResponse) ProtoReflect() protoreflect.Message { +func (x *GetPnd) ProtoReflect() protoreflect.Message { mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -384,124 +377,272 @@ func (x *GetResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetResponse.ProtoReflect.Descriptor instead. -func (*GetResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPnd.ProtoReflect.Descriptor instead. +func (*GetPnd) Descriptor() ([]byte, []int) { return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{1} } -func (x *GetResponse) GetTimestamp() int64 { +type GetOnd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + All bool `protobuf:"varint,1,opt,name=all,proto3" json:"all,omitempty"` + Did []string `protobuf:"bytes,2,rep,name=did,proto3" json:"did,omitempty"` +} + +func (x *GetOnd) Reset() { + *x = GetOnd{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetOnd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOnd) ProtoMessage() {} + +func (x *GetOnd) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetOnd.ProtoReflect.Descriptor instead. +func (*GetOnd) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{2} +} + +func (x *GetOnd) GetAll() bool { if x != nil { - return x.Timestamp + return x.All } - return 0 + return false } -func (m *GetResponse) GetPayload() isGetResponse_Payload { - if m != nil { - return m.Payload +func (x *GetOnd) GetDid() []string { + if x != nil { + return x.Did } return nil } -func (x *GetResponse) GetPnd() *PrincipalNetworkDomain { - if x, ok := x.GetPayload().(*GetResponse_Pnd); ok { - return x.Pnd +type GetSbi struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + All bool `protobuf:"varint,1,opt,name=all,proto3" json:"all,omitempty"` + Sid []string `protobuf:"bytes,2,rep,name=sid,proto3" json:"sid,omitempty"` +} + +func (x *GetSbi) Reset() { + *x = GetSbi{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *GetResponse) GetOnd() *OrchestratedNetworkingDevice { - if x, ok := x.GetPayload().(*GetResponse_Ond); ok { - return x.Ond +func (x *GetSbi) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSbi) ProtoMessage() {} + +func (x *GetSbi) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) +} + +// Deprecated: Use GetSbi.ProtoReflect.Descriptor instead. +func (*GetSbi) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{3} } -func (x *GetResponse) GetOnds() *OrchestratedNetworkingDevices { - if x, ok := x.GetPayload().(*GetResponse_Onds); ok { - return x.Onds +func (x *GetSbi) GetAll() bool { + if x != nil { + return x.All } - return nil + return false } -func (x *GetResponse) GetSbi() *SouthboundInterface { - if x, ok := x.GetPayload().(*GetResponse_Sbi); ok { - return x.Sbi +func (x *GetSbi) GetSid() []string { + if x != nil { + return x.Sid } return nil } -func (x *GetResponse) GetSbis() *SouthboundInterfaces { - if x, ok := x.GetPayload().(*GetResponse_Sbis); ok { - return x.Sbis +type GetChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + All bool `protobuf:"varint,1,opt,name=all,proto3" json:"all,omitempty"` + Cuid []string `protobuf:"bytes,2,rep,name=cuid,proto3" json:"cuid,omitempty"` +} + +func (x *GetChange) Reset() { + *x = GetChange{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *GetResponse) GetChanges() *Changes { - if x, ok := x.GetPayload().(*GetResponse_Changes); ok { - return x.Changes +func (x *GetChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChange) ProtoMessage() {} + +func (x *GetChange) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -type isGetResponse_Payload interface { - isGetResponse_Payload() +// Deprecated: Use GetChange.ProtoReflect.Descriptor instead. +func (*GetChange) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{4} } -type GetResponse_Pnd struct { - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3,oneof"` +func (x *GetChange) GetAll() bool { + if x != nil { + return x.All + } + return false } -type GetResponse_Ond struct { - Ond *OrchestratedNetworkingDevice `protobuf:"bytes,3,opt,name=ond,proto3,oneof"` +func (x *GetChange) GetCuid() []string { + if x != nil { + return x.Cuid + } + return nil } -type GetResponse_Onds struct { - Onds *OrchestratedNetworkingDevices `protobuf:"bytes,4,opt,name=onds,proto3,oneof"` +type GetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Ond []*OrchestratedNetworkingDevice `protobuf:"bytes,3,rep,name=ond,proto3" json:"ond,omitempty"` + Sbi []*SouthboundInterface `protobuf:"bytes,5,rep,name=sbi,proto3" json:"sbi,omitempty"` + Change []*Change `protobuf:"bytes,7,rep,name=change,proto3" json:"change,omitempty"` } -type GetResponse_Sbi struct { - Sbi *SouthboundInterface `protobuf:"bytes,5,opt,name=sbi,proto3,oneof"` +func (x *GetResponse) Reset() { + *x = GetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type GetResponse_Sbis struct { - Sbis *SouthboundInterfaces `protobuf:"bytes,6,opt,name=sbis,proto3,oneof"` +func (x *GetResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -type GetResponse_Changes struct { - Changes *Changes `protobuf:"bytes,7,opt,name=changes,proto3,oneof"` +func (*GetResponse) ProtoMessage() {} + +func (x *GetResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (*GetResponse_Pnd) isGetResponse_Payload() {} +// Deprecated: Use GetResponse.ProtoReflect.Descriptor instead. +func (*GetResponse) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{5} +} -func (*GetResponse_Ond) isGetResponse_Payload() {} +func (x *GetResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} -func (*GetResponse_Onds) isGetResponse_Payload() {} +func (x *GetResponse) GetPnd() *PrincipalNetworkDomain { + if x != nil { + return x.Pnd + } + return nil +} -func (*GetResponse_Sbi) isGetResponse_Payload() {} +func (x *GetResponse) GetOnd() []*OrchestratedNetworkingDevice { + if x != nil { + return x.Ond + } + return nil +} -func (*GetResponse_Sbis) isGetResponse_Payload() {} +func (x *GetResponse) GetSbi() []*SouthboundInterface { + if x != nil { + return x.Sbi + } + return nil +} -func (*GetResponse_Changes) isGetResponse_Payload() {} +func (x *GetResponse) GetChange() []*Change { + if x != nil { + return x.Change + } + return nil +} type PrincipalNetworkDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - Onds *OrchestratedNetworkingDevices `protobuf:"bytes,4,opt,name=onds,proto3" json:"onds,omitempty"` - Sbis *SouthboundInterfaces `protobuf:"bytes,5,opt,name=sbis,proto3" json:"sbis,omitempty"` - Changes *Changes `protobuf:"bytes,6,opt,name=changes,proto3" json:"changes,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Ond []*OrchestratedNetworkingDevice `protobuf:"bytes,4,rep,name=ond,proto3" json:"ond,omitempty"` + Sbi []*SouthboundInterface `protobuf:"bytes,5,rep,name=sbi,proto3" json:"sbi,omitempty"` + Change []*Change `protobuf:"bytes,6,rep,name=change,proto3" json:"change,omitempty"` } func (x *PrincipalNetworkDomain) Reset() { *x = PrincipalNetworkDomain{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[2] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -514,7 +655,7 @@ func (x *PrincipalNetworkDomain) String() string { func (*PrincipalNetworkDomain) ProtoMessage() {} func (x *PrincipalNetworkDomain) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[2] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -527,7 +668,7 @@ func (x *PrincipalNetworkDomain) ProtoReflect() protoreflect.Message { // Deprecated: Use PrincipalNetworkDomain.ProtoReflect.Descriptor instead. func (*PrincipalNetworkDomain) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{2} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{6} } func (x *PrincipalNetworkDomain) GetId() string { @@ -551,23 +692,23 @@ func (x *PrincipalNetworkDomain) GetDescription() string { return "" } -func (x *PrincipalNetworkDomain) GetOnds() *OrchestratedNetworkingDevices { +func (x *PrincipalNetworkDomain) GetOnd() []*OrchestratedNetworkingDevice { if x != nil { - return x.Onds + return x.Ond } return nil } -func (x *PrincipalNetworkDomain) GetSbis() *SouthboundInterfaces { +func (x *PrincipalNetworkDomain) GetSbi() []*SouthboundInterface { if x != nil { - return x.Sbis + return x.Sbi } return nil } -func (x *PrincipalNetworkDomain) GetChanges() *Changes { +func (x *PrincipalNetworkDomain) GetChange() []*Change { if x != nil { - return x.Changes + return x.Change } return nil } @@ -584,7 +725,7 @@ type SouthboundInterface struct { func (x *SouthboundInterface) Reset() { *x = SouthboundInterface{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[3] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -597,7 +738,7 @@ func (x *SouthboundInterface) String() string { func (*SouthboundInterface) ProtoMessage() {} func (x *SouthboundInterface) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[3] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -610,7 +751,7 @@ func (x *SouthboundInterface) ProtoReflect() protoreflect.Message { // Deprecated: Use SouthboundInterface.ProtoReflect.Descriptor instead. func (*SouthboundInterface) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{3} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{7} } func (x *SouthboundInterface) GetId() string { @@ -640,7 +781,7 @@ type OrchestratedNetworkingDevice struct { func (x *OrchestratedNetworkingDevice) Reset() { *x = OrchestratedNetworkingDevice{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[4] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -653,7 +794,7 @@ func (x *OrchestratedNetworkingDevice) String() string { func (*OrchestratedNetworkingDevice) ProtoMessage() {} func (x *OrchestratedNetworkingDevice) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[4] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -666,7 +807,7 @@ func (x *OrchestratedNetworkingDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use OrchestratedNetworkingDevice.ProtoReflect.Descriptor instead. func (*OrchestratedNetworkingDevice) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{4} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{8} } func (x *OrchestratedNetworkingDevice) GetId() string { @@ -690,31 +831,33 @@ func (x *OrchestratedNetworkingDevice) GetDevice() []*gnmi.Notification { return nil } -type SouthboundInterfaces struct { +type Change struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sbis map[string]*SouthboundInterface `protobuf:"bytes,1,rep,name=sbis,proto3" json:"sbis,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Age int64 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"` + State Change_State `protobuf:"varint,3,opt,name=state,proto3,enum=gosdn.pnd.Change_State" json:"state,omitempty"` } -func (x *SouthboundInterfaces) Reset() { - *x = SouthboundInterfaces{} +func (x *Change) Reset() { + *x = Change{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[5] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SouthboundInterfaces) String() string { +func (x *Change) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SouthboundInterfaces) ProtoMessage() {} +func (*Change) ProtoMessage() {} -func (x *SouthboundInterfaces) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[5] +func (x *Change) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -725,43 +868,62 @@ func (x *SouthboundInterfaces) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SouthboundInterfaces.ProtoReflect.Descriptor instead. -func (*SouthboundInterfaces) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{5} +// Deprecated: Use Change.ProtoReflect.Descriptor instead. +func (*Change) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{9} } -func (x *SouthboundInterfaces) GetSbis() map[string]*SouthboundInterface { +func (x *Change) GetId() string { if x != nil { - return x.Sbis + return x.Id } - return nil + return "" +} + +func (x *Change) GetAge() int64 { + if x != nil { + return x.Age + } + return 0 } -type OrchestratedNetworkingDevices struct { +func (x *Change) GetState() Change_State { + if x != nil { + return x.State + } + return Change_PENDING +} + +type SetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Onds map[string]*OrchestratedNetworkingDevice `protobuf:"bytes,1,rep,name=onds,proto3" json:"onds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Ond []*SetOnd `protobuf:"bytes,2,rep,name=ond,proto3" json:"ond,omitempty"` + Sbi []*SetSbi `protobuf:"bytes,3,rep,name=sbi,proto3" json:"sbi,omitempty"` + Change []*SetChange `protobuf:"bytes,4,rep,name=change,proto3" json:"change,omitempty"` + ChangeRequest []*ChangeRequest `protobuf:"bytes,5,rep,name=changeRequest,proto3" json:"changeRequest,omitempty"` + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` } -func (x *OrchestratedNetworkingDevices) Reset() { - *x = OrchestratedNetworkingDevices{} +func (x *SetRequest) Reset() { + *x = SetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[6] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *OrchestratedNetworkingDevices) String() string { +func (x *SetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OrchestratedNetworkingDevices) ProtoMessage() {} +func (*SetRequest) ProtoMessage() {} -func (x *OrchestratedNetworkingDevices) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[6] +func (x *SetRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -772,106 +934,76 @@ func (x *OrchestratedNetworkingDevices) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OrchestratedNetworkingDevices.ProtoReflect.Descriptor instead. -func (*OrchestratedNetworkingDevices) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{6} +// Deprecated: Use SetRequest.ProtoReflect.Descriptor instead. +func (*SetRequest) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{10} } -func (x *OrchestratedNetworkingDevices) GetOnds() map[string]*OrchestratedNetworkingDevice { +func (x *SetRequest) GetTimestamp() int64 { if x != nil { - return x.Onds + return x.Timestamp } - return nil -} - -type Change struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Age int64 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"` - State Change_State `protobuf:"varint,3,opt,name=state,proto3,enum=gosdn.pnd.Change_State" json:"state,omitempty"` + return 0 } -func (x *Change) Reset() { - *x = Change{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SetRequest) GetOnd() []*SetOnd { + if x != nil { + return x.Ond } + return nil } -func (x *Change) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Change) ProtoMessage() {} - -func (x *Change) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SetRequest) GetSbi() []*SetSbi { + if x != nil { + return x.Sbi } - return mi.MessageOf(x) -} - -// Deprecated: Use Change.ProtoReflect.Descriptor instead. -func (*Change) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{7} + return nil } -func (x *Change) GetId() string { +func (x *SetRequest) GetChange() []*SetChange { if x != nil { - return x.Id + return x.Change } - return "" + return nil } -func (x *Change) GetAge() int64 { +func (x *SetRequest) GetChangeRequest() []*ChangeRequest { if x != nil { - return x.Age + return x.ChangeRequest } - return 0 + return nil } -func (x *Change) GetState() Change_State { +func (x *SetRequest) GetId() string { if x != nil { - return x.State + return x.Id } - return Change_PENDING + return "" } -type Changes struct { +type SetOnd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Sbis map[string]*Change `protobuf:"bytes,1,rep,name=sbis,proto3" json:"sbis,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *Changes) Reset() { - *x = Changes{} +func (x *SetOnd) Reset() { + *x = SetOnd{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[8] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Changes) String() string { +func (x *SetOnd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Changes) ProtoMessage() {} +func (*SetOnd) ProtoMessage() {} -func (x *Changes) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[8] +func (x *SetOnd) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -882,48 +1014,34 @@ func (x *Changes) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Changes.ProtoReflect.Descriptor instead. -func (*Changes) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{8} -} - -func (x *Changes) GetSbis() map[string]*Change { - if x != nil { - return x.Sbis - } - return nil +// Deprecated: Use SetOnd.ProtoReflect.Descriptor instead. +func (*SetOnd) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{11} } -type SetRequest struct { +type SetSbi struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. - // Types that are assignable to Request: - // *SetRequest_Change - // *SetRequest_Ond - // *SetRequest_Sbi - Request isSetRequest_Request `protobuf_oneof:"request"` } -func (x *SetRequest) Reset() { - *x = SetRequest{} +func (x *SetSbi) Reset() { + *x = SetSbi{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[9] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SetRequest) String() string { +func (x *SetSbi) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetRequest) ProtoMessage() {} +func (*SetSbi) ProtoMessage() {} -func (x *SetRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[9] +func (x *SetSbi) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -934,68 +1052,49 @@ func (x *SetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetRequest.ProtoReflect.Descriptor instead. -func (*SetRequest) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{9} +// Deprecated: Use SetSbi.ProtoReflect.Descriptor instead. +func (*SetSbi) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{12} } -func (x *SetRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 +type SetChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *SetRequest) GetRequest() isSetRequest_Request { - if m != nil { - return m.Request +func (x *SetChange) Reset() { + *x = SetChange{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *SetRequest) GetChange() *ChangeRequest { - if x, ok := x.GetRequest().(*SetRequest_Change); ok { - return x.Change - } - return nil +func (x *SetChange) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *SetRequest) GetOnd() *OrchestratedNetworkingDevice { - if x, ok := x.GetRequest().(*SetRequest_Ond); ok { - return x.Ond - } - return nil -} +func (*SetChange) ProtoMessage() {} -func (x *SetRequest) GetSbi() *SouthboundInterface { - if x, ok := x.GetRequest().(*SetRequest_Sbi); ok { - return x.Sbi +func (x *SetChange) ProtoReflect() protoreflect.Message { + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil -} - -type isSetRequest_Request interface { - isSetRequest_Request() -} - -type SetRequest_Change struct { - Change *ChangeRequest `protobuf:"bytes,2,opt,name=change,proto3,oneof"` -} - -type SetRequest_Ond struct { - Ond *OrchestratedNetworkingDevice `protobuf:"bytes,3,opt,name=ond,proto3,oneof"` + return mi.MessageOf(x) } -type SetRequest_Sbi struct { - Sbi *SouthboundInterface `protobuf:"bytes,4,opt,name=sbi,proto3,oneof"` +// Deprecated: Use SetChange.ProtoReflect.Descriptor instead. +func (*SetChange) Descriptor() ([]byte, []int) { + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{13} } -func (*SetRequest_Change) isSetRequest_Request() {} - -func (*SetRequest_Ond) isSetRequest_Request() {} - -func (*SetRequest_Sbi) isSetRequest_Request() {} - type SetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1007,7 +1106,7 @@ type SetResponse struct { func (x *SetResponse) Reset() { *x = SetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[10] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1020,7 +1119,7 @@ func (x *SetResponse) String() string { func (*SetResponse) ProtoMessage() {} func (x *SetResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[10] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1033,7 +1132,7 @@ func (x *SetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetResponse.ProtoReflect.Descriptor instead. func (*SetResponse) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{10} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{14} } func (x *SetResponse) GetTimestamp() int64 { @@ -1058,7 +1157,7 @@ type ChangeRequest struct { func (x *ChangeRequest) Reset() { *x = ChangeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[11] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1071,7 +1170,7 @@ func (x *ChangeRequest) String() string { func (*ChangeRequest) ProtoMessage() {} func (x *ChangeRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[11] + mi := &file_proto_gosdn_pnd_pnd_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1084,7 +1183,7 @@ func (x *ChangeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangeRequest.ProtoReflect.Descriptor instead. func (*ChangeRequest) Descriptor() ([]byte, []int) { - return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{11} + return file_proto_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{15} } func (x *ChangeRequest) GetId() string { @@ -1132,157 +1231,132 @@ var file_proto_gosdn_pnd_pnd_proto_rawDesc = []byte{ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, - 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x0a, 0x47, + 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, - 0x64, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x67, 0x65, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x08, 0x67, - 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x4e, 0x44, 0x10, 0x00, - 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x4e, 0x44, - 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x42, 0x49, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, - 0x53, 0x42, 0x49, 0x53, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x10, 0x05, 0x22, 0x85, 0x03, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x35, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, - 0x69, 0x70, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x48, 0x00, 0x52, 0x03, 0x70, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x03, 0x6f, 0x6e, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, - 0x64, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, - 0x52, 0x03, 0x6f, 0x6e, 0x64, 0x12, 0x3e, 0x0a, 0x04, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, - 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, - 0x04, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, - 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x48, 0x00, 0x52, 0x03, 0x73, 0x62, 0x69, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x62, 0x69, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, - 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x73, 0x62, 0x69, 0x73, - 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xff, 0x01, 0x0a, 0x16, - 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x04, - 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x73, - 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x52, 0x04, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x62, - 0x69, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x04, 0x73, 0x62, 0x69, 0x73, 0x12, - 0x2c, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x3d, 0x0a, - 0x13, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x6e, 0x0a, 0x1c, - 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x2a, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0xae, 0x01, 0x0a, - 0x14, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x62, 0x69, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, - 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x73, 0x2e, 0x53, 0x62, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, - 0x73, 0x62, 0x69, 0x73, 0x1a, 0x57, 0x0a, 0x09, 0x53, 0x62, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, - 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc9, 0x01, - 0x0a, 0x1d, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, - 0x46, 0x0a, 0x04, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x04, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x60, 0x0a, 0x09, 0x4f, 0x6e, 0x64, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, - 0x64, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x06, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, - 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, - 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, - 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x22, 0x87, 0x01, 0x0a, 0x07, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x62, 0x69, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x62, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x04, 0x73, 0x62, 0x69, 0x73, 0x1a, 0x4a, 0x0a, 0x09, 0x53, 0x62, 0x69, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, - 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xda, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, + 0x2e, 0x67, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x03, 0x70, 0x6e, 0x64, 0x12, 0x25, + 0x0a, 0x03, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, + 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x67, 0x65, 0x74, 0x4f, 0x6e, 0x64, 0x48, 0x00, + 0x52, 0x03, 0x6f, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x67, + 0x65, 0x74, 0x53, 0x62, 0x69, 0x48, 0x00, 0x52, 0x03, 0x73, 0x62, 0x69, 0x12, 0x2e, 0x0a, 0x06, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x42, 0x09, + 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x08, 0x0a, 0x06, 0x67, 0x65, 0x74, + 0x50, 0x6e, 0x64, 0x22, 0x2c, 0x0a, 0x06, 0x67, 0x65, 0x74, 0x4f, 0x6e, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, + 0x10, 0x0a, 0x03, 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, + 0x64, 0x22, 0x2c, 0x0a, 0x06, 0x67, 0x65, 0x74, 0x53, 0x62, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x61, + 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, + 0x31, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x63, 0x75, + 0x69, 0x64, 0x22, 0xf8, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x32, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x03, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x4f, 0x72, - 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x03, 0x6f, 0x6e, - 0x64, 0x12, 0x32, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x6f, 0x75, 0x74, 0x68, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x48, 0x00, - 0x52, 0x03, 0x73, 0x62, 0x69, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x48, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x1b, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, - 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x22, 0xa1, 0x02, 0x0a, 0x0d, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x61, 0x70, 0x69, 0x4f, 0x70, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, - 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x41, 0x70, 0x69, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x61, 0x70, - 0x69, 0x4f, 0x70, 0x12, 0x32, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x22, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x30, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x02, 0x22, 0x33, 0x0a, 0x0c, 0x41, 0x70, 0x69, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, - 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x32, 0x71, - 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x67, - 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x03, 0x53, - 0x65, 0x74, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x64, - 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x11, 0x5a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2f, 0x70, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x33, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, + 0x70, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x52, 0x03, 0x70, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x03, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x4f, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x03, 0x6f, 0x6e, 0x64, + 0x12, 0x30, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x03, 0x73, + 0x62, 0x69, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf6, 0x01, + 0x0a, 0x16, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, + 0x0a, 0x03, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x03, 0x6f, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x03, 0x73, 0x62, 0x69, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, + 0x6e, 0x64, 0x2e, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x03, 0x73, 0x62, 0x69, 0x12, 0x29, 0x0a, 0x06, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, + 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x3d, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x6e, 0x0a, 0x1c, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, + 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x22, 0x32, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x49, + 0x54, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, + 0x4d, 0x45, 0x44, 0x10, 0x02, 0x22, 0xf2, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x03, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x73, 0x65, 0x74, 0x4f, + 0x6e, 0x64, 0x52, 0x03, 0x6f, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, + 0x2e, 0x73, 0x65, 0x74, 0x53, 0x62, 0x69, 0x52, 0x03, 0x73, 0x62, 0x69, 0x12, 0x2c, 0x0a, 0x06, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x73, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x08, 0x0a, 0x06, 0x73, 0x65, + 0x74, 0x4f, 0x6e, 0x64, 0x22, 0x08, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x53, 0x62, 0x69, 0x22, 0x0b, + 0x0a, 0x09, 0x73, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x48, 0x0a, 0x0b, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0x01, 0x22, 0xa1, 0x02, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x61, 0x70, 0x69, 0x4f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x70, 0x69, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x61, 0x70, 0x69, 0x4f, 0x70, 0x12, 0x32, + 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x73, + 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, + 0x6f, 0x70, 0x22, 0x30, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x46, 0x49, + 0x52, 0x4d, 0x10, 0x02, 0x22, 0x33, 0x0a, 0x0c, 0x41, 0x70, 0x69, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x32, 0x71, 0x0a, 0x03, 0x70, 0x6e, 0x64, + 0x12, 0x34, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, + 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x15, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, + 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x11, 0x5a, 0x0f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x70, 0x6e, 0x64, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1297,64 +1371,60 @@ func file_proto_gosdn_pnd_pnd_proto_rawDescGZIP() []byte { return file_proto_gosdn_pnd_pnd_proto_rawDescData } -var file_proto_gosdn_pnd_pnd_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_proto_gosdn_pnd_pnd_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_proto_gosdn_pnd_pnd_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_proto_gosdn_pnd_pnd_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_proto_gosdn_pnd_pnd_proto_goTypes = []interface{}{ - (GetRequestGetType)(0), // 0: gosdn.pnd.GetRequest.get_type - (Change_State)(0), // 1: gosdn.pnd.Change.State - (SetResponseStatus)(0), // 2: gosdn.pnd.SetResponse.status - (ChangeRequest_Operation)(0), // 3: gosdn.pnd.ChangeRequest.Operation - (ChangeRequest_ApiOperation)(0), // 4: gosdn.pnd.ChangeRequest.ApiOperation - (*GetRequest)(nil), // 5: gosdn.pnd.GetRequest - (*GetResponse)(nil), // 6: gosdn.pnd.GetResponse - (*PrincipalNetworkDomain)(nil), // 7: gosdn.pnd.PrincipalNetworkDomain - (*SouthboundInterface)(nil), // 8: gosdn.pnd.SouthboundInterface - (*OrchestratedNetworkingDevice)(nil), // 9: gosdn.pnd.OrchestratedNetworkingDevice - (*SouthboundInterfaces)(nil), // 10: gosdn.pnd.SouthboundInterfaces - (*OrchestratedNetworkingDevices)(nil), // 11: gosdn.pnd.OrchestratedNetworkingDevices - (*Change)(nil), // 12: gosdn.pnd.Change - (*Changes)(nil), // 13: gosdn.pnd.Changes - (*SetRequest)(nil), // 14: gosdn.pnd.SetRequest - (*SetResponse)(nil), // 15: gosdn.pnd.SetResponse - (*ChangeRequest)(nil), // 16: gosdn.pnd.ChangeRequest - nil, // 17: gosdn.pnd.SouthboundInterfaces.SbisEntry - nil, // 18: gosdn.pnd.OrchestratedNetworkingDevices.OndsEntry - nil, // 19: gosdn.pnd.Changes.SbisEntry - (*gnmi.Notification)(nil), // 20: gnmi.Notification + (Change_State)(0), // 0: gosdn.pnd.Change.State + (SetResponseStatus)(0), // 1: gosdn.pnd.SetResponse.status + (ChangeRequest_Operation)(0), // 2: gosdn.pnd.ChangeRequest.Operation + (ChangeRequest_ApiOperation)(0), // 3: gosdn.pnd.ChangeRequest.ApiOperation + (*GetRequest)(nil), // 4: gosdn.pnd.GetRequest + (*GetPnd)(nil), // 5: gosdn.pnd.getPnd + (*GetOnd)(nil), // 6: gosdn.pnd.getOnd + (*GetSbi)(nil), // 7: gosdn.pnd.getSbi + (*GetChange)(nil), // 8: gosdn.pnd.getChange + (*GetResponse)(nil), // 9: gosdn.pnd.GetResponse + (*PrincipalNetworkDomain)(nil), // 10: gosdn.pnd.PrincipalNetworkDomain + (*SouthboundInterface)(nil), // 11: gosdn.pnd.SouthboundInterface + (*OrchestratedNetworkingDevice)(nil), // 12: gosdn.pnd.OrchestratedNetworkingDevice + (*Change)(nil), // 13: gosdn.pnd.Change + (*SetRequest)(nil), // 14: gosdn.pnd.SetRequest + (*SetOnd)(nil), // 15: gosdn.pnd.setOnd + (*SetSbi)(nil), // 16: gosdn.pnd.setSbi + (*SetChange)(nil), // 17: gosdn.pnd.setChange + (*SetResponse)(nil), // 18: gosdn.pnd.SetResponse + (*ChangeRequest)(nil), // 19: gosdn.pnd.ChangeRequest + (*gnmi.Notification)(nil), // 20: gnmi.Notification } var file_proto_gosdn_pnd_pnd_proto_depIdxs = []int32{ - 0, // 0: gosdn.pnd.GetRequest.type:type_name -> gosdn.pnd.GetRequest.get_type - 7, // 1: gosdn.pnd.GetResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 9, // 2: gosdn.pnd.GetResponse.ond:type_name -> gosdn.pnd.OrchestratedNetworkingDevice - 11, // 3: gosdn.pnd.GetResponse.onds:type_name -> gosdn.pnd.OrchestratedNetworkingDevices - 8, // 4: gosdn.pnd.GetResponse.sbi:type_name -> gosdn.pnd.SouthboundInterface - 10, // 5: gosdn.pnd.GetResponse.sbis:type_name -> gosdn.pnd.SouthboundInterfaces - 13, // 6: gosdn.pnd.GetResponse.changes:type_name -> gosdn.pnd.Changes - 11, // 7: gosdn.pnd.PrincipalNetworkDomain.onds:type_name -> gosdn.pnd.OrchestratedNetworkingDevices - 10, // 8: gosdn.pnd.PrincipalNetworkDomain.sbis:type_name -> gosdn.pnd.SouthboundInterfaces - 13, // 9: gosdn.pnd.PrincipalNetworkDomain.changes:type_name -> gosdn.pnd.Changes - 20, // 10: gosdn.pnd.OrchestratedNetworkingDevice.device:type_name -> gnmi.Notification - 17, // 11: gosdn.pnd.SouthboundInterfaces.sbis:type_name -> gosdn.pnd.SouthboundInterfaces.SbisEntry - 18, // 12: gosdn.pnd.OrchestratedNetworkingDevices.onds:type_name -> gosdn.pnd.OrchestratedNetworkingDevices.OndsEntry - 1, // 13: gosdn.pnd.Change.state:type_name -> gosdn.pnd.Change.State - 19, // 14: gosdn.pnd.Changes.sbis:type_name -> gosdn.pnd.Changes.SbisEntry - 16, // 15: gosdn.pnd.SetRequest.change:type_name -> gosdn.pnd.ChangeRequest - 9, // 16: gosdn.pnd.SetRequest.ond:type_name -> gosdn.pnd.OrchestratedNetworkingDevice - 8, // 17: gosdn.pnd.SetRequest.sbi:type_name -> gosdn.pnd.SouthboundInterface - 4, // 18: gosdn.pnd.ChangeRequest.apiOp:type_name -> gosdn.pnd.ChangeRequest.ApiOperation - 3, // 19: gosdn.pnd.ChangeRequest.op:type_name -> gosdn.pnd.ChangeRequest.Operation - 8, // 20: gosdn.pnd.SouthboundInterfaces.SbisEntry.value:type_name -> gosdn.pnd.SouthboundInterface - 9, // 21: gosdn.pnd.OrchestratedNetworkingDevices.OndsEntry.value:type_name -> gosdn.pnd.OrchestratedNetworkingDevice - 12, // 22: gosdn.pnd.Changes.SbisEntry.value:type_name -> gosdn.pnd.Change - 5, // 23: gosdn.pnd.pnd.Get:input_type -> gosdn.pnd.GetRequest - 14, // 24: gosdn.pnd.pnd.Set:input_type -> gosdn.pnd.SetRequest - 6, // 25: gosdn.pnd.pnd.Get:output_type -> gosdn.pnd.GetResponse - 15, // 26: gosdn.pnd.pnd.Set:output_type -> gosdn.pnd.SetResponse - 25, // [25:27] is the sub-list for method output_type - 23, // [23:25] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 5, // 0: gosdn.pnd.GetRequest.pnd:type_name -> gosdn.pnd.getPnd + 6, // 1: gosdn.pnd.GetRequest.ond:type_name -> gosdn.pnd.getOnd + 7, // 2: gosdn.pnd.GetRequest.sbi:type_name -> gosdn.pnd.getSbi + 8, // 3: gosdn.pnd.GetRequest.change:type_name -> gosdn.pnd.getChange + 10, // 4: gosdn.pnd.GetResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain + 12, // 5: gosdn.pnd.GetResponse.ond:type_name -> gosdn.pnd.OrchestratedNetworkingDevice + 11, // 6: gosdn.pnd.GetResponse.sbi:type_name -> gosdn.pnd.SouthboundInterface + 13, // 7: gosdn.pnd.GetResponse.change:type_name -> gosdn.pnd.Change + 12, // 8: gosdn.pnd.PrincipalNetworkDomain.ond:type_name -> gosdn.pnd.OrchestratedNetworkingDevice + 11, // 9: gosdn.pnd.PrincipalNetworkDomain.sbi:type_name -> gosdn.pnd.SouthboundInterface + 13, // 10: gosdn.pnd.PrincipalNetworkDomain.change:type_name -> gosdn.pnd.Change + 20, // 11: gosdn.pnd.OrchestratedNetworkingDevice.device:type_name -> gnmi.Notification + 0, // 12: gosdn.pnd.Change.state:type_name -> gosdn.pnd.Change.State + 15, // 13: gosdn.pnd.SetRequest.ond:type_name -> gosdn.pnd.setOnd + 16, // 14: gosdn.pnd.SetRequest.sbi:type_name -> gosdn.pnd.setSbi + 17, // 15: gosdn.pnd.SetRequest.change:type_name -> gosdn.pnd.setChange + 19, // 16: gosdn.pnd.SetRequest.changeRequest:type_name -> gosdn.pnd.ChangeRequest + 3, // 17: gosdn.pnd.ChangeRequest.apiOp:type_name -> gosdn.pnd.ChangeRequest.ApiOperation + 2, // 18: gosdn.pnd.ChangeRequest.op:type_name -> gosdn.pnd.ChangeRequest.Operation + 4, // 19: gosdn.pnd.pnd.Get:input_type -> gosdn.pnd.GetRequest + 14, // 20: gosdn.pnd.pnd.Set:input_type -> gosdn.pnd.SetRequest + 9, // 21: gosdn.pnd.pnd.Get:output_type -> gosdn.pnd.GetResponse + 18, // 22: gosdn.pnd.pnd.Set:output_type -> gosdn.pnd.SetResponse + 21, // [21:23] is the sub-list for method output_type + 19, // [19:21] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_proto_gosdn_pnd_pnd_proto_init() } @@ -1376,7 +1446,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResponse); i { + switch v := v.(*GetPnd); i { case 0: return &v.state case 1: @@ -1388,7 +1458,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrincipalNetworkDomain); i { + switch v := v.(*GetOnd); i { case 0: return &v.state case 1: @@ -1400,7 +1470,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SouthboundInterface); i { + switch v := v.(*GetSbi); i { case 0: return &v.state case 1: @@ -1412,7 +1482,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrchestratedNetworkingDevice); i { + switch v := v.(*GetChange); i { case 0: return &v.state case 1: @@ -1424,7 +1494,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SouthboundInterfaces); i { + switch v := v.(*GetResponse); i { case 0: return &v.state case 1: @@ -1436,7 +1506,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrchestratedNetworkingDevices); i { + switch v := v.(*PrincipalNetworkDomain); i { case 0: return &v.state case 1: @@ -1448,7 +1518,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Change); i { + switch v := v.(*SouthboundInterface); i { case 0: return &v.state case 1: @@ -1460,7 +1530,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Changes); i { + switch v := v.(*OrchestratedNetworkingDevice); i { case 0: return &v.state case 1: @@ -1472,7 +1542,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetRequest); i { + switch v := v.(*Change); i { case 0: return &v.state case 1: @@ -1484,7 +1554,7 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetResponse); i { + switch v := v.(*SetRequest); i { case 0: return &v.state case 1: @@ -1496,6 +1566,54 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } file_proto_gosdn_pnd_pnd_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetOnd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gosdn_pnd_pnd_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetSbi); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gosdn_pnd_pnd_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gosdn_pnd_pnd_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gosdn_pnd_pnd_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeRequest); i { case 0: return &v.state @@ -1508,26 +1626,19 @@ func file_proto_gosdn_pnd_pnd_proto_init() { } } } - file_proto_gosdn_pnd_pnd_proto_msgTypes[1].OneofWrappers = []interface{}{ - (*GetResponse_Pnd)(nil), - (*GetResponse_Ond)(nil), - (*GetResponse_Onds)(nil), - (*GetResponse_Sbi)(nil), - (*GetResponse_Sbis)(nil), - (*GetResponse_Changes)(nil), - } - file_proto_gosdn_pnd_pnd_proto_msgTypes[9].OneofWrappers = []interface{}{ - (*SetRequest_Change)(nil), - (*SetRequest_Ond)(nil), - (*SetRequest_Sbi)(nil), + file_proto_gosdn_pnd_pnd_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*GetRequest_Pnd)(nil), + (*GetRequest_Ond)(nil), + (*GetRequest_Sbi)(nil), + (*GetRequest_Change)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_gosdn_pnd_pnd_proto_rawDesc, - NumEnums: 5, - NumMessages: 15, + NumEnums: 4, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/gosdn/pnd/pnd.proto b/proto/gosdn/pnd/pnd.proto index f9fdb2e4b133b465d7efea7542db35c63e824c78..3e6c3c22b0b526cb31ce4e588fc3781265298c74 100644 --- a/proto/gosdn/pnd/pnd.proto +++ b/proto/gosdn/pnd/pnd.proto @@ -14,38 +14,47 @@ service pnd { message GetRequest { int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - enum get_type { - PND = 0; - OND = 1; - ONDS = 2; - SBI = 3; - SBIS = 4; - Changes = 5; + oneof request { + getPnd pnd = 2; + getOnd ond = 3; + getSbi sbi = 4; + getChange change = 5; } - get_type type = 2; - string id = 3; + string pid = 6; +} + +message getPnd {} + +message getOnd { + bool all = 1; + repeated string did = 2; +} + +message getSbi { + bool all = 1; + repeated string sid = 2; +} + +message getChange { + bool all = 1; + repeated string cuid = 2; } message GetResponse { int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - oneof payload { PrincipalNetworkDomain pnd = 2; - OrchestratedNetworkingDevice ond = 3; - OrchestratedNetworkingDevices onds = 4; - SouthboundInterface sbi = 5; - SouthboundInterfaces sbis = 6; - Changes changes = 7; - } - + repeated OrchestratedNetworkingDevice ond = 3; + repeated SouthboundInterface sbi = 5; + repeated Change change = 7; } message PrincipalNetworkDomain { string id = 1; string name = 2; string description = 3; - OrchestratedNetworkingDevices onds = 4; - SouthboundInterfaces sbis = 5; - Changes changes = 6; + repeated OrchestratedNetworkingDevice ond = 4; + repeated SouthboundInterface sbi = 5; + repeated Change change = 6; } message SouthboundInterface { @@ -59,14 +68,6 @@ message OrchestratedNetworkingDevice { repeated gnmi.Notification device = 3; } -message SouthboundInterfaces { - map<string, SouthboundInterface> sbis = 1; -} - -message OrchestratedNetworkingDevices { - map<string, OrchestratedNetworkingDevice> onds = 1; -} - message Change { string id = 1; int64 age = 2; @@ -78,17 +79,25 @@ message Change { State state = 3; } -message Changes { - map<string, Change> sbis = 1; -} - message SetRequest { int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - oneof request { - ChangeRequest change = 2; - OrchestratedNetworkingDevice ond = 3; - SouthboundInterface sbi = 4; - } + repeated setOnd ond = 2; + repeated setSbi sbi = 3; + repeated setChange change = 4; + repeated ChangeRequest changeRequest = 5; + string id = 6; +} + +message setOnd { + +} + +message setSbi { + +} + +message setChange { + } message SetResponse{