diff --git a/api/go/gosdn/networkelement/networkelement.pb.go b/api/go/gosdn/networkelement/networkelement.pb.go index 60220e8f7e75534d8acbdcdd7ac1edc54f7aa1f5..1a75e9b8e15b103bb3585d604a167db1af64d244 100644 --- a/api/go/gosdn/networkelement/networkelement.pb.go +++ b/api/go/gosdn/networkelement/networkelement.pb.go @@ -8,11 +8,10 @@ package networkelement import ( conflict "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/conflict" - _ "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" southbound "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" transport "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - _ "github.com/openconfig/gnmi/proto/gnmi" + gnmi "github.com/openconfig/gnmi/proto/gnmi" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -77,20 +76,283 @@ func (Status) EnumDescriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{0} } -type NetworkElement struct { +type ChangeState int32 + +const ( + ChangeState_CHANGE_STATE_UNSPECIFIED ChangeState = 0 + ChangeState_CHANGE_STATE_PENDING ChangeState = 1 + ChangeState_CHANGE_STATE_COMMITTED ChangeState = 2 + ChangeState_CHANGE_STATE_CONFIRMED ChangeState = 3 + ChangeState_CHANGE_STATE_INCONSISTENT ChangeState = 4 +) + +// Enum value maps for ChangeState. +var ( + ChangeState_name = map[int32]string{ + 0: "CHANGE_STATE_UNSPECIFIED", + 1: "CHANGE_STATE_PENDING", + 2: "CHANGE_STATE_COMMITTED", + 3: "CHANGE_STATE_CONFIRMED", + 4: "CHANGE_STATE_INCONSISTENT", + } + ChangeState_value = map[string]int32{ + "CHANGE_STATE_UNSPECIFIED": 0, + "CHANGE_STATE_PENDING": 1, + "CHANGE_STATE_COMMITTED": 2, + "CHANGE_STATE_CONFIRMED": 3, + "CHANGE_STATE_INCONSISTENT": 4, + } +) + +func (x ChangeState) Enum() *ChangeState { + p := new(ChangeState) + *p = x + return p +} + +func (x ChangeState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChangeState) Descriptor() protoreflect.EnumDescriptor { + return file_gosdn_networkelement_networkelement_proto_enumTypes[1].Descriptor() +} + +func (ChangeState) Type() protoreflect.EnumType { + return &file_gosdn_networkelement_networkelement_proto_enumTypes[1] +} + +func (x ChangeState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChangeState.Descriptor instead. +func (ChangeState) EnumDescriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{1} +} + +type ApiOperation int32 + +const ( + ApiOperation_API_OPERATION_UNSPECIFIED ApiOperation = 0 + ApiOperation_API_OPERATION_UPDATE ApiOperation = 1 + ApiOperation_API_OPERATION_REPLACE ApiOperation = 2 + ApiOperation_API_OPERATION_DELETE ApiOperation = 3 +) + +// Enum value maps for ApiOperation. +var ( + ApiOperation_name = map[int32]string{ + 0: "API_OPERATION_UNSPECIFIED", + 1: "API_OPERATION_UPDATE", + 2: "API_OPERATION_REPLACE", + 3: "API_OPERATION_DELETE", + } + ApiOperation_value = map[string]int32{ + "API_OPERATION_UNSPECIFIED": 0, + "API_OPERATION_UPDATE": 1, + "API_OPERATION_REPLACE": 2, + "API_OPERATION_DELETE": 3, + } +) + +func (x ApiOperation) Enum() *ApiOperation { + p := new(ApiOperation) + *p = x + return p +} + +func (x ApiOperation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ApiOperation) Descriptor() protoreflect.EnumDescriptor { + return file_gosdn_networkelement_networkelement_proto_enumTypes[2].Descriptor() +} + +func (ApiOperation) Type() protoreflect.EnumType { + return &file_gosdn_networkelement_networkelement_proto_enumTypes[2] +} + +func (x ApiOperation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ApiOperation.Descriptor instead. +func (ApiOperation) EnumDescriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{2} +} + +type Operation int32 + +const ( + Operation_OPERATION_UNSPECIFIED Operation = 0 + Operation_OPERATION_CREATE Operation = 1 + Operation_OPERATION_COMMIT Operation = 2 + Operation_OPERATION_CONFIRM Operation = 3 +) + +// Enum value maps for Operation. +var ( + Operation_name = map[int32]string{ + 0: "OPERATION_UNSPECIFIED", + 1: "OPERATION_CREATE", + 2: "OPERATION_COMMIT", + 3: "OPERATION_CONFIRM", + } + Operation_value = map[string]int32{ + "OPERATION_UNSPECIFIED": 0, + "OPERATION_CREATE": 1, + "OPERATION_COMMIT": 2, + "OPERATION_CONFIRM": 3, + } +) + +func (x Operation) Enum() *Operation { + p := new(Operation) + *p = x + return p +} + +func (x Operation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Operation) Descriptor() protoreflect.EnumDescriptor { + return file_gosdn_networkelement_networkelement_proto_enumTypes[3].Descriptor() +} + +func (Operation) Type() protoreflect.EnumType { + return &file_gosdn_networkelement_networkelement_proto_enumTypes[3] +} + +func (x Operation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Operation.Descriptor instead. +func (Operation) EnumDescriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{3} +} + +type SubscriptionMode int32 + +const ( + SubscriptionMode_SUBSCRIPTION_MODE_UNSPECIFIED SubscriptionMode = 0 + SubscriptionMode_SUBSCRIPTION_MODE_ONCE SubscriptionMode = 1 + SubscriptionMode_SUBSCRIPTION_MODE_STREAM SubscriptionMode = 2 + SubscriptionMode_SUBSCRIPTION_MODE_POLL SubscriptionMode = 3 +) + +// Enum value maps for SubscriptionMode. +var ( + SubscriptionMode_name = map[int32]string{ + 0: "SUBSCRIPTION_MODE_UNSPECIFIED", + 1: "SUBSCRIPTION_MODE_ONCE", + 2: "SUBSCRIPTION_MODE_STREAM", + 3: "SUBSCRIPTION_MODE_POLL", + } + SubscriptionMode_value = map[string]int32{ + "SUBSCRIPTION_MODE_UNSPECIFIED": 0, + "SUBSCRIPTION_MODE_ONCE": 1, + "SUBSCRIPTION_MODE_STREAM": 2, + "SUBSCRIPTION_MODE_POLL": 3, + } +) + +func (x SubscriptionMode) Enum() *SubscriptionMode { + p := new(SubscriptionMode) + *p = x + return p +} + +func (x SubscriptionMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SubscriptionMode) Descriptor() protoreflect.EnumDescriptor { + return file_gosdn_networkelement_networkelement_proto_enumTypes[4].Descriptor() +} + +func (SubscriptionMode) Type() protoreflect.EnumType { + return &file_gosdn_networkelement_networkelement_proto_enumTypes[4] +} + +func (x SubscriptionMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SubscriptionMode.Descriptor instead. +func (SubscriptionMode) EnumDescriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{4} +} + +type StreamMode int32 + +const ( + StreamMode_STREAM_MODE_UNSPECIFIED StreamMode = 0 + StreamMode_STREAM_MODE_TARGET_DEFINED StreamMode = 1 // The target selects the relevant mode for each element. + StreamMode_STREAM_MODE_ON_CHANGE StreamMode = 2 // The target sends an update on element value change. + StreamMode_STREAM_MODE_SAMPLE StreamMode = 3 // The target samples values according to the interval. +) + +// Enum value maps for StreamMode. +var ( + StreamMode_name = map[int32]string{ + 0: "STREAM_MODE_UNSPECIFIED", + 1: "STREAM_MODE_TARGET_DEFINED", + 2: "STREAM_MODE_ON_CHANGE", + 3: "STREAM_MODE_SAMPLE", + } + StreamMode_value = map[string]int32{ + "STREAM_MODE_UNSPECIFIED": 0, + "STREAM_MODE_TARGET_DEFINED": 1, + "STREAM_MODE_ON_CHANGE": 2, + "STREAM_MODE_SAMPLE": 3, + } +) + +func (x StreamMode) Enum() *StreamMode { + p := new(StreamMode) + *p = x + return p +} + +func (x StreamMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StreamMode) Descriptor() protoreflect.EnumDescriptor { + return file_gosdn_networkelement_networkelement_proto_enumTypes[5].Descriptor() +} + +func (StreamMode) Type() protoreflect.EnumType { + return &file_gosdn_networkelement_networkelement_proto_enumTypes[5] +} + +func (x StreamMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StreamMode.Descriptor instead. +func (StreamMode) EnumDescriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{5} +} + +type ManagedNetworkElement 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"` - Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` - TransportAddress string `protobuf:"bytes,4,opt,name=transport_address,json=transportAddress,proto3" json:"transport_address,omitempty"` - Metadata *conflict.Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,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"` + MneNotification []*gnmi.Notification `protobuf:"bytes,3,rep,name=mne_notification,json=mneNotification,proto3" json:"mne_notification,omitempty"` + Sbi *southbound.SouthboundInterface `protobuf:"bytes,4,opt,name=sbi,proto3" json:"sbi,omitempty"` + Metadata *conflict.Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *NetworkElement) Reset() { - *x = NetworkElement{} +func (x *ManagedNetworkElement) Reset() { + *x = ManagedNetworkElement{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -98,13 +360,13 @@ func (x *NetworkElement) Reset() { } } -func (x *NetworkElement) String() string { +func (x *ManagedNetworkElement) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NetworkElement) ProtoMessage() {} +func (*ManagedNetworkElement) ProtoMessage() {} -func (x *NetworkElement) ProtoReflect() protoreflect.Message { +func (x *ManagedNetworkElement) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -116,59 +378,58 @@ func (x *NetworkElement) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NetworkElement.ProtoReflect.Descriptor instead. -func (*NetworkElement) Descriptor() ([]byte, []int) { +// Deprecated: Use ManagedNetworkElement.ProtoReflect.Descriptor instead. +func (*ManagedNetworkElement) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{0} } -func (x *NetworkElement) GetId() string { +func (x *ManagedNetworkElement) GetId() string { if x != nil { return x.Id } return "" } -func (x *NetworkElement) GetName() string { +func (x *ManagedNetworkElement) GetName() string { if x != nil { return x.Name } return "" } -func (x *NetworkElement) GetModel() string { +func (x *ManagedNetworkElement) GetMneNotification() []*gnmi.Notification { if x != nil { - return x.Model + return x.MneNotification } - return "" + return nil } -func (x *NetworkElement) GetTransportAddress() string { +func (x *ManagedNetworkElement) GetSbi() *southbound.SouthboundInterface { if x != nil { - return x.TransportAddress + return x.Sbi } - return "" + return nil } -func (x *NetworkElement) GetMetadata() *conflict.Metadata { +func (x *ManagedNetworkElement) GetMetadata() *conflict.Metadata { if x != nil { return x.Metadata } return nil } -type AddNetworkElementConfiguration struct { +type FlattenedManagedNetworkElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Sbi *southbound.SouthboundInterface `protobuf:"bytes,2,opt,name=sbi,proto3" json:"sbi,omitempty"` - NetworkElementName string `protobuf:"bytes,3,opt,name=network_element_name,json=networkElementName,proto3" json:"network_element_name,omitempty"` - TransportOption *transport.TransportOption `protobuf:"bytes,4,opt,name=transport_option,json=transportOption,proto3" json:"transport_option,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"` + Sbi string `protobuf:"bytes,3,opt,name=sbi,proto3" json:"sbi,omitempty"` } -func (x *AddNetworkElementConfiguration) Reset() { - *x = AddNetworkElementConfiguration{} +func (x *FlattenedManagedNetworkElement) Reset() { + *x = FlattenedManagedNetworkElement{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -176,13 +437,13 @@ func (x *AddNetworkElementConfiguration) Reset() { } } -func (x *AddNetworkElementConfiguration) String() string { +func (x *FlattenedManagedNetworkElement) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AddNetworkElementConfiguration) ProtoMessage() {} +func (*FlattenedManagedNetworkElement) ProtoMessage() {} -func (x *AddNetworkElementConfiguration) ProtoReflect() protoreflect.Message { +func (x *FlattenedManagedNetworkElement) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -194,51 +455,45 @@ func (x *AddNetworkElementConfiguration) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AddNetworkElementConfiguration.ProtoReflect.Descriptor instead. -func (*AddNetworkElementConfiguration) Descriptor() ([]byte, []int) { +// Deprecated: Use FlattenedManagedNetworkElement.ProtoReflect.Descriptor instead. +func (*FlattenedManagedNetworkElement) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{1} } -func (x *AddNetworkElementConfiguration) GetAddress() string { +func (x *FlattenedManagedNetworkElement) GetId() string { if x != nil { - return x.Address + return x.Id } return "" } -func (x *AddNetworkElementConfiguration) GetSbi() *southbound.SouthboundInterface { - if x != nil { - return x.Sbi - } - return nil -} - -func (x *AddNetworkElementConfiguration) GetNetworkElementName() string { +func (x *FlattenedManagedNetworkElement) GetName() string { if x != nil { - return x.NetworkElementName + return x.Name } return "" } -func (x *AddNetworkElementConfiguration) GetTransportOption() *transport.TransportOption { +func (x *FlattenedManagedNetworkElement) GetSbi() string { if x != nil { - return x.TransportOption + return x.Sbi } - return nil + return "" } -type AddNetworkElementRequest struct { +// //TODO(PND): this is maybe only temporary, need to figure out how to include without cycle or duplication +type PrincipalNetworkDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - NetworkElement *AddNetworkElementConfiguration `protobuf:"bytes,2,opt,name=network_element,json=networkElement,proto3" json:"network_element,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,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"` } -func (x *AddNetworkElementRequest) Reset() { - *x = AddNetworkElementRequest{} +func (x *PrincipalNetworkDomain) Reset() { + *x = PrincipalNetworkDomain{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -246,13 +501,13 @@ func (x *AddNetworkElementRequest) Reset() { } } -func (x *AddNetworkElementRequest) String() string { +func (x *PrincipalNetworkDomain) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AddNetworkElementRequest) ProtoMessage() {} +func (*PrincipalNetworkDomain) ProtoMessage() {} -func (x *AddNetworkElementRequest) ProtoReflect() protoreflect.Message { +func (x *PrincipalNetworkDomain) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -264,44 +519,43 @@ func (x *AddNetworkElementRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AddNetworkElementRequest.ProtoReflect.Descriptor instead. -func (*AddNetworkElementRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use PrincipalNetworkDomain.ProtoReflect.Descriptor instead. +func (*PrincipalNetworkDomain) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{2} } -func (x *AddNetworkElementRequest) GetTimestamp() int64 { +func (x *PrincipalNetworkDomain) GetId() string { if x != nil { - return x.Timestamp + return x.Id } - return 0 + return "" } -func (x *AddNetworkElementRequest) GetNetworkElement() *AddNetworkElementConfiguration { +func (x *PrincipalNetworkDomain) GetName() string { if x != nil { - return x.NetworkElement + return x.Name } - return nil + return "" } -func (x *AddNetworkElementRequest) GetPid() string { +func (x *PrincipalNetworkDomain) GetDescription() string { if x != nil { - return x.Pid + return x.Description } return "" } -type AddNetworkElementResponse struct { +type GetMneListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` - NetworkElementId string `protobuf:"bytes,3,opt,name=network_element_id,json=networkElementId,proto3" json:"network_element_id,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"` } -func (x *AddNetworkElementResponse) Reset() { - *x = AddNetworkElementResponse{} +func (x *GetMneListRequest) Reset() { + *x = GetMneListRequest{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -309,13 +563,13 @@ func (x *AddNetworkElementResponse) Reset() { } } -func (x *AddNetworkElementResponse) String() string { +func (x *GetMneListRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AddNetworkElementResponse) ProtoMessage() {} +func (*GetMneListRequest) ProtoMessage() {} -func (x *AddNetworkElementResponse) ProtoReflect() protoreflect.Message { +func (x *GetMneListRequest) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -327,43 +581,39 @@ func (x *AddNetworkElementResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AddNetworkElementResponse.ProtoReflect.Descriptor instead. -func (*AddNetworkElementResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetMneListRequest.ProtoReflect.Descriptor instead. +func (*GetMneListRequest) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{3} } -func (x *AddNetworkElementResponse) GetTimestamp() int64 { +func (x *GetMneListRequest) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *AddNetworkElementResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -func (x *AddNetworkElementResponse) GetNetworkElementId() string { +func (x *GetMneListRequest) GetPid() string { if x != nil { - return x.NetworkElementId + return x.Pid } return "" } -type GetNetworkElementRequest struct { +type GetMneListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - NetworkElementId string `protobuf:"bytes,2,opt,name=network_element_id,json=networkElementId,proto3" json:"network_element_id,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Mne []*ManagedNetworkElement `protobuf:"bytes,3,rep,name=mne,proto3" json:"mne,omitempty"` } -func (x *GetNetworkElementRequest) Reset() { - *x = GetNetworkElementRequest{} +func (x *GetMneListResponse) Reset() { + *x = GetMneListResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -371,13 +621,13 @@ func (x *GetNetworkElementRequest) Reset() { } } -func (x *GetNetworkElementRequest) String() string { +func (x *GetMneListResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetNetworkElementRequest) ProtoMessage() {} +func (*GetMneListResponse) ProtoMessage() {} -func (x *GetNetworkElementRequest) ProtoReflect() protoreflect.Message { +func (x *GetMneListResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -389,37 +639,47 @@ func (x *GetNetworkElementRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetNetworkElementRequest.ProtoReflect.Descriptor instead. -func (*GetNetworkElementRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetMneListResponse.ProtoReflect.Descriptor instead. +func (*GetMneListResponse) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{4} } -func (x *GetNetworkElementRequest) GetTimestamp() int64 { +func (x *GetMneListResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetNetworkElementRequest) GetNetworkElementId() string { +func (x *GetMneListResponse) GetPnd() *PrincipalNetworkDomain { if x != nil { - return x.NetworkElementId + return x.Pnd } - return "" + return nil +} + +func (x *GetMneListResponse) GetMne() []*ManagedNetworkElement { + if x != nil { + return x.Mne + } + return nil } -type GetNetworkElementResponse struct { +//TODO(PND): add request here +type GetFlattenedMneListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` - NetworkElement *NetworkElement `protobuf:"bytes,3,opt,name=network_element,json=networkElement,proto3" json:"network_element,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Mne []*FlattenedManagedNetworkElement `protobuf:"bytes,3,rep,name=mne,proto3" json:"mne,omitempty"` } -func (x *GetNetworkElementResponse) Reset() { - *x = GetNetworkElementResponse{} +func (x *GetFlattenedMneListResponse) Reset() { + *x = GetFlattenedMneListResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -427,13 +687,13 @@ func (x *GetNetworkElementResponse) Reset() { } } -func (x *GetNetworkElementResponse) String() string { +func (x *GetFlattenedMneListResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetNetworkElementResponse) ProtoMessage() {} +func (*GetFlattenedMneListResponse) ProtoMessage() {} -func (x *GetNetworkElementResponse) ProtoReflect() protoreflect.Message { +func (x *GetFlattenedMneListResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -445,42 +705,44 @@ func (x *GetNetworkElementResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetNetworkElementResponse.ProtoReflect.Descriptor instead. -func (*GetNetworkElementResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetFlattenedMneListResponse.ProtoReflect.Descriptor instead. +func (*GetFlattenedMneListResponse) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{5} } -func (x *GetNetworkElementResponse) GetTimestamp() int64 { +func (x *GetFlattenedMneListResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetNetworkElementResponse) GetStatus() Status { +func (x *GetFlattenedMneListResponse) GetPnd() *PrincipalNetworkDomain { if x != nil { - return x.Status + return x.Pnd } - return Status_STATUS_UNSPECIFIED + return nil } -func (x *GetNetworkElementResponse) GetNetworkElement() *NetworkElement { +func (x *GetFlattenedMneListResponse) GetMne() []*FlattenedManagedNetworkElement { if x != nil { - return x.NetworkElement + return x.Mne } return nil } -type GetAllNetworkElementRequest struct { +type GetMneRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Mneid string `protobuf:"bytes,2,opt,name=mneid,proto3" json:"mneid,omitempty"` + Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` } -func (x *GetAllNetworkElementRequest) Reset() { - *x = GetAllNetworkElementRequest{} +func (x *GetMneRequest) Reset() { + *x = GetMneRequest{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -488,13 +750,13 @@ func (x *GetAllNetworkElementRequest) Reset() { } } -func (x *GetAllNetworkElementRequest) String() string { +func (x *GetMneRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAllNetworkElementRequest) ProtoMessage() {} +func (*GetMneRequest) ProtoMessage() {} -func (x *GetAllNetworkElementRequest) ProtoReflect() protoreflect.Message { +func (x *GetMneRequest) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -506,30 +768,46 @@ func (x *GetAllNetworkElementRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAllNetworkElementRequest.ProtoReflect.Descriptor instead. -func (*GetAllNetworkElementRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetMneRequest.ProtoReflect.Descriptor instead. +func (*GetMneRequest) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{6} } -func (x *GetAllNetworkElementRequest) GetTimestamp() int64 { +func (x *GetMneRequest) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -type GetAllNetworkElementResponse struct { +func (x *GetMneRequest) GetMneid() string { + if x != nil { + return x.Mneid + } + return "" +} + +func (x *GetMneRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +type GetMneResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` - NetworkElement []*NetworkElement `protobuf:"bytes,3,rep,name=network_element,json=networkElement,proto3" json:"network_element,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Mne *ManagedNetworkElement `protobuf:"bytes,3,opt,name=mne,proto3" json:"mne,omitempty"` } -func (x *GetAllNetworkElementResponse) Reset() { - *x = GetAllNetworkElementResponse{} +func (x *GetMneResponse) Reset() { + *x = GetMneResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -537,13 +815,13 @@ func (x *GetAllNetworkElementResponse) Reset() { } } -func (x *GetAllNetworkElementResponse) String() string { +func (x *GetMneResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAllNetworkElementResponse) ProtoMessage() {} +func (*GetMneResponse) ProtoMessage() {} -func (x *GetAllNetworkElementResponse) ProtoReflect() protoreflect.Message { +func (x *GetMneResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -555,43 +833,45 @@ func (x *GetAllNetworkElementResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAllNetworkElementResponse.ProtoReflect.Descriptor instead. -func (*GetAllNetworkElementResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetMneResponse.ProtoReflect.Descriptor instead. +func (*GetMneResponse) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{7} } -func (x *GetAllNetworkElementResponse) GetTimestamp() int64 { +func (x *GetMneResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetAllNetworkElementResponse) GetStatus() Status { +func (x *GetMneResponse) GetPnd() *PrincipalNetworkDomain { if x != nil { - return x.Status + return x.Pnd } - return Status_STATUS_UNSPECIFIED + return nil } -func (x *GetAllNetworkElementResponse) GetNetworkElement() []*NetworkElement { +func (x *GetMneResponse) GetMne() *ManagedNetworkElement { if x != nil { - return x.NetworkElement + return x.Mne } return nil } -type UpdateNetworkElementRequest struct { +type SetMne struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - NetworkElement *NetworkElement `protobuf:"bytes,2,opt,name=network_element,json=networkElement,proto3" json:"network_element,omitempty"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Sbi *southbound.SouthboundInterface `protobuf:"bytes,2,opt,name=sbi,proto3" json:"sbi,omitempty"` + MneName string `protobuf:"bytes,3,opt,name=mne_name,json=mneName,proto3" json:"mne_name,omitempty"` + TransportOption *transport.TransportOption `protobuf:"bytes,4,opt,name=transport_option,json=transportOption,proto3" json:"transport_option,omitempty"` } -func (x *UpdateNetworkElementRequest) Reset() { - *x = UpdateNetworkElementRequest{} +func (x *SetMne) Reset() { + *x = SetMne{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -599,13 +879,13 @@ func (x *UpdateNetworkElementRequest) Reset() { } } -func (x *UpdateNetworkElementRequest) String() string { +func (x *SetMne) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateNetworkElementRequest) ProtoMessage() {} +func (*SetMne) ProtoMessage() {} -func (x *UpdateNetworkElementRequest) ProtoReflect() protoreflect.Message { +func (x *SetMne) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -617,36 +897,51 @@ func (x *UpdateNetworkElementRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateNetworkElementRequest.ProtoReflect.Descriptor instead. -func (*UpdateNetworkElementRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SetMne.ProtoReflect.Descriptor instead. +func (*SetMne) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{8} } -func (x *UpdateNetworkElementRequest) GetTimestamp() int64 { +func (x *SetMne) GetAddress() string { if x != nil { - return x.Timestamp + return x.Address } - return 0 + return "" +} + +func (x *SetMne) GetSbi() *southbound.SouthboundInterface { + if x != nil { + return x.Sbi + } + return nil +} + +func (x *SetMne) GetMneName() string { + if x != nil { + return x.MneName + } + return "" } -func (x *UpdateNetworkElementRequest) GetNetworkElement() *NetworkElement { +func (x *SetMne) GetTransportOption() *transport.TransportOption { if x != nil { - return x.NetworkElement + return x.TransportOption } return nil } -type UpdateNetworkElementResponse struct { +type SetMneListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Mne []*SetMne `protobuf:"bytes,2,rep,name=mne,proto3" json:"mne,omitempty"` + Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` } -func (x *UpdateNetworkElementResponse) Reset() { - *x = UpdateNetworkElementResponse{} +func (x *SetMneListRequest) Reset() { + *x = SetMneListRequest{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -654,13 +949,13 @@ func (x *UpdateNetworkElementResponse) Reset() { } } -func (x *UpdateNetworkElementResponse) String() string { +func (x *SetMneListRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateNetworkElementResponse) ProtoMessage() {} +func (*SetMneListRequest) ProtoMessage() {} -func (x *UpdateNetworkElementResponse) ProtoReflect() protoreflect.Message { +func (x *SetMneListRequest) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -672,36 +967,44 @@ func (x *UpdateNetworkElementResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateNetworkElementResponse.ProtoReflect.Descriptor instead. -func (*UpdateNetworkElementResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use SetMneListRequest.ProtoReflect.Descriptor instead. +func (*SetMneListRequest) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{9} } -func (x *UpdateNetworkElementResponse) GetTimestamp() int64 { +func (x *SetMneListRequest) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *UpdateNetworkElementResponse) GetStatus() Status { +func (x *SetMneListRequest) GetMne() []*SetMne { if x != nil { - return x.Status + return x.Mne } - return Status_STATUS_UNSPECIFIED + return nil +} + +func (x *SetMneListRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" } -type DeleteNetworkElementRequest struct { +type SetMneListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - NetworkElementId string `protobuf:"bytes,2,opt,name=network_element_id,json=networkElementId,proto3" json:"network_element_id,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` + Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` } -func (x *DeleteNetworkElementRequest) Reset() { - *x = DeleteNetworkElementRequest{} +func (x *SetMneListResponse) Reset() { + *x = SetMneListResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -709,13 +1012,13 @@ func (x *DeleteNetworkElementRequest) Reset() { } } -func (x *DeleteNetworkElementRequest) String() string { +func (x *SetMneListResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteNetworkElementRequest) ProtoMessage() {} +func (*SetMneListResponse) ProtoMessage() {} -func (x *DeleteNetworkElementRequest) ProtoReflect() protoreflect.Message { +func (x *SetMneListResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -727,36 +1030,45 @@ func (x *DeleteNetworkElementRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteNetworkElementRequest.ProtoReflect.Descriptor instead. -func (*DeleteNetworkElementRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SetMneListResponse.ProtoReflect.Descriptor instead. +func (*SetMneListResponse) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{10} } -func (x *DeleteNetworkElementRequest) GetTimestamp() int64 { +func (x *SetMneListResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *DeleteNetworkElementRequest) GetNetworkElementId() string { +func (x *SetMneListResponse) GetStatus() Status { if x != nil { - return x.NetworkElementId + return x.Status } - return "" + return Status_STATUS_UNSPECIFIED } -type DeleteNetworkElementResponse struct { +func (x *SetMneListResponse) GetResponses() []*SetResponse { + if x != nil { + return x.Responses + } + return nil +} + +type GetPathRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Mneid string `protobuf:"bytes,2,opt,name=mneid,proto3" json:"mneid,omitempty"` + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + Pid string `protobuf:"bytes,4,opt,name=pid,proto3" json:"pid,omitempty"` } -func (x *DeleteNetworkElementResponse) Reset() { - *x = DeleteNetworkElementResponse{} +func (x *GetPathRequest) Reset() { + *x = GetPathRequest{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -764,13 +1076,13 @@ func (x *DeleteNetworkElementResponse) Reset() { } } -func (x *DeleteNetworkElementResponse) String() string { +func (x *GetPathRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteNetworkElementResponse) ProtoMessage() {} +func (*GetPathRequest) ProtoMessage() {} -func (x *DeleteNetworkElementResponse) ProtoReflect() protoreflect.Message { +func (x *GetPathRequest) ProtoReflect() protoreflect.Message { mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -782,207 +1094,1671 @@ func (x *DeleteNetworkElementResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteNetworkElementResponse.ProtoReflect.Descriptor instead. -func (*DeleteNetworkElementResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPathRequest.ProtoReflect.Descriptor instead. +func (*GetPathRequest) Descriptor() ([]byte, []int) { return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{11} } -func (x *DeleteNetworkElementResponse) GetTimestamp() int64 { +func (x *GetPathRequest) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *DeleteNetworkElementResponse) GetStatus() Status { +func (x *GetPathRequest) GetMneid() string { if x != nil { - return x.Status + return x.Mneid } - return Status_STATUS_UNSPECIFIED + return "" } -var File_gosdn_networkelement_networkelement_proto protoreflect.FileDescriptor +func (x *GetPathRequest) GetPath() string { + if x != nil { + return x.Path + } + return "" +} -var file_gosdn_networkelement_networkelement_proto_rawDesc = []byte{ - 0x0a, 0x29, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x67, 0x6f, 0x73, - 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x1a, 0x1d, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, - 0x69, 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x13, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x70, 0x6e, 0x64, 0x2f, 0x70, 0x6e, - 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, - 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, - 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2f, 0x73, 0x6f, 0x75, 0x74, 0x68, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x0e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf2, 0x01, 0x0a, 0x1e, - 0x41, 0x64, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, - 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 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, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xa9, 0x01, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 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, 0x5d, 0x0a, 0x0f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x9d, 0x01, 0x0a, - 0x19, 0x41, 0x64, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, - 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 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, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x22, 0xbe, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3b, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 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, 0x22, 0xc1, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, +func (x *GetPathRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +type GetPathResponse 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. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + MneNotification []*gnmi.Notification `protobuf:"bytes,3,rep,name=mne_notification,json=mneNotification,proto3" json:"mne_notification,omitempty"` +} + +func (x *GetPathResponse) Reset() { + *x = GetPathResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPathResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPathResponse) ProtoMessage() {} + +func (x *GetPathResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPathResponse.ProtoReflect.Descriptor instead. +func (*GetPathResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{12} +} + +func (x *GetPathResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *GetPathResponse) GetPnd() *PrincipalNetworkDomain { + if x != nil { + return x.Pnd + } + return nil +} + +func (x *GetPathResponse) GetMneNotification() []*gnmi.Notification { + if x != nil { + return x.MneNotification + } + return nil +} + +type SetResponse 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. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Status Status `protobuf:"varint,3,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` +} + +func (x *SetResponse) Reset() { + *x = SetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetResponse) ProtoMessage() {} + +func (x *SetResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetResponse.ProtoReflect.Descriptor instead. +func (*SetResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{13} +} + +func (x *SetResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SetResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SetResponse) GetStatus() Status { + if x != nil { + return x.Status + } + return Status_STATUS_UNSPECIFIED +} + +type SetPathListRequest 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. + ChangeRequest []*ChangeRequest `protobuf:"bytes,2,rep,name=change_request,json=changeRequest,proto3" json:"change_request,omitempty"` + Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` +} + +func (x *SetPathListRequest) Reset() { + *x = SetPathListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetPathListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPathListRequest) ProtoMessage() {} + +func (x *SetPathListRequest) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPathListRequest.ProtoReflect.Descriptor instead. +func (*SetPathListRequest) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{14} +} + +func (x *SetPathListRequest) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SetPathListRequest) GetChangeRequest() []*ChangeRequest { + if x != nil { + return x.ChangeRequest + } + return nil +} + +func (x *SetPathListRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +type SetPathListResponse 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. + Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` + Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` +} + +func (x *SetPathListResponse) Reset() { + *x = SetPathListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetPathListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPathListResponse) ProtoMessage() {} + +func (x *SetPathListResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPathListResponse.ProtoReflect.Descriptor instead. +func (*SetPathListResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{15} +} + +func (x *SetPathListResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SetPathListResponse) GetStatus() Status { + if x != nil { + return x.Status + } + return Status_STATUS_UNSPECIFIED +} + +func (x *SetPathListResponse) GetResponses() []*SetResponse { + if x != nil { + return x.Responses + } + return nil +} + +type DeleteMneRequest 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. + Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"` + Mneid string `protobuf:"bytes,3,opt,name=mneid,proto3" json:"mneid,omitempty"` +} + +func (x *DeleteMneRequest) Reset() { + *x = DeleteMneRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMneRequest) ProtoMessage() {} + +func (x *DeleteMneRequest) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteMneRequest.ProtoReflect.Descriptor instead. +func (*DeleteMneRequest) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{16} +} + +func (x *DeleteMneRequest) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *DeleteMneRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +func (x *DeleteMneRequest) GetMneid() string { + if x != nil { + return x.Mneid + } + return "" +} + +type DeleteMneResponse 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. + Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` +} + +func (x *DeleteMneResponse) Reset() { + *x = DeleteMneResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMneResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMneResponse) ProtoMessage() {} + +func (x *DeleteMneResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteMneResponse.ProtoReflect.Descriptor instead. +func (*DeleteMneResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{17} +} + +func (x *DeleteMneResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *DeleteMneResponse) GetStatus() Status { + if x != nil { + return x.Status + } + return Status_STATUS_UNSPECIFIED +} + +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 ChangeState `protobuf:"varint,3,opt,name=state,proto3,enum=gosdn.networkelement.ChangeState" json:"state,omitempty"` + Diff *gnmi.Notification `protobuf:"bytes,4,opt,name=diff,proto3" json:"diff,omitempty"` +} + +func (x *Change) Reset() { + *x = Change{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Change) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Change) ProtoMessage() {} + +func (x *Change) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Change.ProtoReflect.Descriptor instead. +func (*Change) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{18} +} + +func (x *Change) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Change) GetAge() int64 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *Change) GetState() ChangeState { + if x != nil { + return x.State + } + return ChangeState_CHANGE_STATE_UNSPECIFIED +} + +func (x *Change) GetDiff() *gnmi.Notification { + if x != nil { + return x.Diff + } + return nil +} + +//TODO: rename +type ChangeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mneid string `protobuf:"bytes,1,opt,name=mneid,proto3" json:"mneid,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + ApiOp ApiOperation `protobuf:"varint,4,opt,name=api_op,json=apiOp,proto3,enum=gosdn.networkelement.ApiOperation" json:"api_op,omitempty"` +} + +func (x *ChangeRequest) Reset() { + *x = ChangeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChangeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeRequest) ProtoMessage() {} + +func (x *ChangeRequest) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_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 ChangeRequest.ProtoReflect.Descriptor instead. +func (*ChangeRequest) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{19} +} + +func (x *ChangeRequest) GetMneid() string { + if x != nil { + return x.Mneid + } + return "" +} + +func (x *ChangeRequest) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *ChangeRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *ChangeRequest) GetApiOp() ApiOperation { + if x != nil { + return x.ApiOp + } + return ApiOperation_API_OPERATION_UNSPECIFIED +} + +type SetChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cuid string `protobuf:"bytes,1,opt,name=cuid,proto3" json:"cuid,omitempty"` + Op Operation `protobuf:"varint,2,opt,name=op,proto3,enum=gosdn.networkelement.Operation" json:"op,omitempty"` +} + +func (x *SetChange) Reset() { + *x = SetChange{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetChange) ProtoMessage() {} + +func (x *SetChange) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetChange.ProtoReflect.Descriptor instead. +func (*SetChange) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{20} +} + +func (x *SetChange) GetCuid() string { + if x != nil { + return x.Cuid + } + return "" +} + +func (x *SetChange) GetOp() Operation { + if x != nil { + return x.Op + } + return Operation_OPERATION_UNSPECIFIED +} + +type GetChangeListRequest 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. + Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"` +} + +func (x *GetChangeListRequest) Reset() { + *x = GetChangeListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChangeListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChangeListRequest) ProtoMessage() {} + +func (x *GetChangeListRequest) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetChangeListRequest.ProtoReflect.Descriptor instead. +func (*GetChangeListRequest) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{21} +} + +func (x *GetChangeListRequest) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *GetChangeListRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +type GetChangeListResponse 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. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Change []*Change `protobuf:"bytes,3,rep,name=change,proto3" json:"change,omitempty"` +} + +func (x *GetChangeListResponse) Reset() { + *x = GetChangeListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChangeListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChangeListResponse) ProtoMessage() {} + +func (x *GetChangeListResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_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 GetChangeListResponse.ProtoReflect.Descriptor instead. +func (*GetChangeListResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{22} +} + +func (x *GetChangeListResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *GetChangeListResponse) GetPnd() *PrincipalNetworkDomain { + if x != nil { + return x.Pnd + } + return nil +} + +func (x *GetChangeListResponse) GetChange() []*Change { + if x != nil { + return x.Change + } + return nil +} + +type GetChangeRequest 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. + Cuid []string `protobuf:"bytes,2,rep,name=cuid,proto3" json:"cuid,omitempty"` + Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` +} + +func (x *GetChangeRequest) Reset() { + *x = GetChangeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChangeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChangeRequest) ProtoMessage() {} + +func (x *GetChangeRequest) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_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 GetChangeRequest.ProtoReflect.Descriptor instead. +func (*GetChangeRequest) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{23} +} + +func (x *GetChangeRequest) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *GetChangeRequest) GetCuid() []string { + if x != nil { + return x.Cuid + } + return nil +} + +func (x *GetChangeRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +type GetChangeResponse 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. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Change []*Change `protobuf:"bytes,3,rep,name=change,proto3" json:"change,omitempty"` +} + +func (x *GetChangeResponse) Reset() { + *x = GetChangeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChangeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChangeResponse) ProtoMessage() {} + +func (x *GetChangeResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetChangeResponse.ProtoReflect.Descriptor instead. +func (*GetChangeResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{24} +} + +func (x *GetChangeResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *GetChangeResponse) GetPnd() *PrincipalNetworkDomain { + if x != nil { + return x.Pnd + } + return nil +} + +func (x *GetChangeResponse) GetChange() []*Change { + if x != nil { + return x.Change + } + return nil +} + +type SetChangeListRequest 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. + Change []*SetChange `protobuf:"bytes,2,rep,name=change,proto3" json:"change,omitempty"` + Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` +} + +func (x *SetChangeListRequest) Reset() { + *x = SetChangeListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetChangeListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetChangeListRequest) ProtoMessage() {} + +func (x *SetChangeListRequest) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetChangeListRequest.ProtoReflect.Descriptor instead. +func (*SetChangeListRequest) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{25} +} + +func (x *SetChangeListRequest) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SetChangeListRequest) GetChange() []*SetChange { + if x != nil { + return x.Change + } + return nil +} + +func (x *SetChangeListRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +type SetChangeListResponse 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. + Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` + Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` +} + +func (x *SetChangeListResponse) Reset() { + *x = SetChangeListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetChangeListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetChangeListResponse) ProtoMessage() {} + +func (x *SetChangeListResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetChangeListResponse.ProtoReflect.Descriptor instead. +func (*SetChangeListResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{26} +} + +func (x *SetChangeListResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SetChangeListResponse) GetStatus() Status { + if x != nil { + return x.Status + } + return Status_STATUS_UNSPECIFIED +} + +func (x *SetChangeListResponse) GetResponses() []*SetResponse { + if x != nil { + return x.Responses + } + return nil +} + +// The mode determines how the target should trigger updates to be sent. +// Reference: gNMI Specification Section 3.5.1.2 +type SubscriptionList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subscription []*Subscription `protobuf:"bytes,1,rep,name=subscription,proto3" json:"subscription,omitempty"` + Mode SubscriptionMode `protobuf:"varint,2,opt,name=mode,proto3,enum=gosdn.networkelement.SubscriptionMode" json:"mode,omitempty"` +} + +func (x *SubscriptionList) Reset() { + *x = SubscriptionList{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscriptionList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionList) ProtoMessage() {} + +func (x *SubscriptionList) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionList.ProtoReflect.Descriptor instead. +func (*SubscriptionList) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{27} +} + +func (x *SubscriptionList) GetSubscription() []*Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +func (x *SubscriptionList) GetMode() SubscriptionMode { + if x != nil { + return x.Mode + } + return SubscriptionMode_SUBSCRIPTION_MODE_UNSPECIFIED +} + +type Subscription struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + StreamMode StreamMode `protobuf:"varint,2,opt,name=stream_mode,json=streamMode,proto3,enum=gosdn.networkelement.StreamMode" json:"stream_mode,omitempty"` + SampleInterval uint64 `protobuf:"varint,3,opt,name=sample_interval,json=sampleInterval,proto3" json:"sample_interval,omitempty"` // time in ns between samples in SAMPLE mode. +} + +func (x *Subscription) Reset() { + *x = Subscription{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Subscription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subscription) ProtoMessage() {} + +func (x *Subscription) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Subscription.ProtoReflect.Descriptor instead. +func (*Subscription) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{28} +} + +func (x *Subscription) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *Subscription) GetStreamMode() StreamMode { + if x != nil { + return x.StreamMode + } + return StreamMode_STREAM_MODE_UNSPECIFIED +} + +func (x *Subscription) GetSampleInterval() uint64 { + if x != nil { + return x.SampleInterval + } + return 0 +} + +type SubscribePathRequest 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. + Mneid string `protobuf:"bytes,2,opt,name=mneid,proto3" json:"mneid,omitempty"` + Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` + Sublist *SubscriptionList `protobuf:"bytes,4,opt,name=sublist,proto3" json:"sublist,omitempty"` +} + +func (x *SubscribePathRequest) Reset() { + *x = SubscribePathRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribePathRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribePathRequest) ProtoMessage() {} + +func (x *SubscribePathRequest) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscribePathRequest.ProtoReflect.Descriptor instead. +func (*SubscribePathRequest) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{29} +} + +func (x *SubscribePathRequest) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SubscribePathRequest) GetMneid() string { + if x != nil { + return x.Mneid + } + return "" +} + +func (x *SubscribePathRequest) GetPid() string { + if x != nil { + return x.Pid + } + return "" +} + +func (x *SubscribePathRequest) GetSublist() *SubscriptionList { + if x != nil { + return x.Sublist + } + return nil +} + +type SubscribePathResponse 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. + Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.networkelement.Status" json:"status,omitempty"` + MneNotification []*gnmi.Notification `protobuf:"bytes,3,rep,name=mne_notification,json=mneNotification,proto3" json:"mne_notification,omitempty"` +} + +func (x *SubscribePathResponse) Reset() { + *x = SubscribePathResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribePathResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribePathResponse) ProtoMessage() {} + +func (x *SubscribePathResponse) ProtoReflect() protoreflect.Message { + mi := &file_gosdn_networkelement_networkelement_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscribePathResponse.ProtoReflect.Descriptor instead. +func (*SubscribePathResponse) Descriptor() ([]byte, []int) { + return file_gosdn_networkelement_networkelement_proto_rawDescGZIP(), []int{30} +} + +func (x *SubscribePathResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SubscribePathResponse) GetStatus() Status { + if x != nil { + return x.Status + } + return Status_STATUS_UNSPECIFIED +} + +func (x *SubscribePathResponse) GetMneNotification() []*gnmi.Notification { + if x != nil { + return x.MneNotification + } + return nil +} + +var File_gosdn_networkelement_networkelement_proto protoreflect.FileDescriptor + +var file_gosdn_networkelement_networkelement_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x67, 0x6f, 0x73, + 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x1a, 0x1d, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x74, 0x68, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2f, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x01, 0x0a, 0x15, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 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, 0x3d, 0x0a, 0x10, 0x6d, 0x6e, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, 0x6d, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, + 0x75, 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, 0x34, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x56, 0x0a, 0x1e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 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, 0x10, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x62, 0x69, 0x22, 0x5e, 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, 0x22, 0x43, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 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, 0x10, 0x0a, + 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, + 0xb1, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 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, 0x3e, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x3d, 0x0a, 0x03, 0x6d, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, + 0x6d, 0x6e, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x74, + 0x65, 0x6e, 0x65, 0x64, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 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, 0x4d, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x70, 0x12, 0x3e, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x46, 0x0a, 0x03, 0x6d, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x6d, 0x6e, 0x65, 0x22, 0x55, 0x0a, 0x0d, 0x47, 0x65, 0x74, + 0x4d, 0x6e, 0x65, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6e, 0x65, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, + 0x22, 0xad, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 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, 0x3e, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x3d, 0x0a, 0x03, 0x6d, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x6d, 0x6e, 0x65, + 0x22, 0xc3, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, 0x75, 0x74, 0x68, + 0x62, 0x6f, 0x75, 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, 0x19, + 0x0a, 0x08, 0x6d, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, + 0x4c, 0x69, 0x73, 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, 0x2e, 0x0a, 0x03, 0x6d, 0x6e, 0x65, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, + 0x74, 0x4d, 0x6e, 0x65, 0x52, 0x03, 0x6d, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x12, + 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x73, 0x64, + 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x6a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, + 0x74, 0x68, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x70, 0x69, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 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, 0x3e, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x3d, 0x0a, 0x10, 0x6d, 0x6e, 0x65, 0x5f, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, 0x6d, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 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, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x69, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 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, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0x72, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, + 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 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, 0x4a, 0x0a, 0x0e, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x13, 0x53, + 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x32, 0xcd, 0x04, 0x0a, 0x15, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x03, 0x41, 0x64, 0x64, 0x12, 0x2e, 0x2e, 0x67, 0x6f, - 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x73, 0x64, + 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x6e, 0x65, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, + 0x6e, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 0x69, + 0x64, 0x22, 0x67, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6e, 0x65, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8b, 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, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x26, 0x0a, 0x04, 0x64, 0x69, 0x66, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x69, 0x66, 0x66, 0x22, 0x8a, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6e, + 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 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, 0x39, 0x0a, 0x06, 0x61, 0x70, + 0x69, 0x5f, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x73, + 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x41, 0x70, 0x69, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, + 0x61, 0x70, 0x69, 0x4f, 0x70, 0x22, 0x50, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x63, 0x75, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x46, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 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, 0x10, 0x0a, + 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, + 0xab, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, + 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, 0x3e, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x34, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x56, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, + 0x12, 0x0a, 0x04, 0x63, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 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, 0x3e, 0x0a, 0x03, 0x70, 0x6e, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x34, 0x0a, 0x06, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, + 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, + 0x7f, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 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, 0x37, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, + 0x22, 0xac, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, + 0x73, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, + 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, + 0x96, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x73, + 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x73, + 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x41, 0x0a, + 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x9e, 0x01, 0x0a, 0x14, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x73, 0x64, + 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x15, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, 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, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x10, 0x6d, 0x6e, 0x65, 0x5f, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, 0x6d, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0x9c, 0x01, 0x0a, 0x0b, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, + 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x4e, + 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1a, + 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, + 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4e, + 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x2a, 0x7c, 0x0a, 0x0c, 0x41, 0x70, 0x69, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x50, 0x49, + 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x50, 0x49, 0x5f, + 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, + 0x14, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, + 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x69, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, + 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, + 0x10, 0x03, 0x2a, 0x8b, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x55, 0x42, 0x53, 0x43, + 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x55, + 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, + 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, + 0x41, 0x4d, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x4c, 0x10, 0x03, + 0x2a, 0x7c, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x17, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, + 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, + 0x54, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, + 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x43, 0x48, + 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x03, 0x32, 0x8e, + 0x0b, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, + 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x73, + 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, 0x6e, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, + 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x12, 0x74, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4d, 0x6e, + 0x65, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, + 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x2f, 0x7b, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x12, 0x7c, 0x0a, + 0x0a, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2d, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x80, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, + 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4d, + 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x70, 0x6e, 0x64, 0x73, + 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x07, + 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x70, + 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x7b, 0x70, 0x61, + 0x74, 0x68, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, + 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, + 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, + 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x7e, 0x0a, 0x09, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1a, 0x2a, 0x18, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x6d, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x0d, + 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x73, 0x64, + 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, + 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x73, 0x64, + 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x70, 0x6e, 0x64, + 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2f, + 0x7b, 0x63, 0x75, 0x69, 0x64, 0x7d, 0x12, 0x88, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x12, 0x12, 0x10, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2d, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x8d, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, - 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2d, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, - 0x61, 0x6c, 0x6c, 0x12, 0x93, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, + 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x70, + 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, - 0x22, 0x17, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2d, 0x65, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x3a, 0x5a, 0x38, 0x63, 0x6f, 0x64, - 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, - 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, - 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, + 0x3a, 0x5a, 0x38, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, + 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -997,52 +2773,117 @@ func file_gosdn_networkelement_networkelement_proto_rawDescGZIP() []byte { return file_gosdn_networkelement_networkelement_proto_rawDescData } -var file_gosdn_networkelement_networkelement_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_gosdn_networkelement_networkelement_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_gosdn_networkelement_networkelement_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_gosdn_networkelement_networkelement_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_gosdn_networkelement_networkelement_proto_goTypes = []interface{}{ (Status)(0), // 0: gosdn.networkelement.Status - (*NetworkElement)(nil), // 1: gosdn.networkelement.NetworkElement - (*AddNetworkElementConfiguration)(nil), // 2: gosdn.networkelement.AddNetworkElementConfiguration - (*AddNetworkElementRequest)(nil), // 3: gosdn.networkelement.AddNetworkElementRequest - (*AddNetworkElementResponse)(nil), // 4: gosdn.networkelement.AddNetworkElementResponse - (*GetNetworkElementRequest)(nil), // 5: gosdn.networkelement.GetNetworkElementRequest - (*GetNetworkElementResponse)(nil), // 6: gosdn.networkelement.GetNetworkElementResponse - (*GetAllNetworkElementRequest)(nil), // 7: gosdn.networkelement.GetAllNetworkElementRequest - (*GetAllNetworkElementResponse)(nil), // 8: gosdn.networkelement.GetAllNetworkElementResponse - (*UpdateNetworkElementRequest)(nil), // 9: gosdn.networkelement.UpdateNetworkElementRequest - (*UpdateNetworkElementResponse)(nil), // 10: gosdn.networkelement.UpdateNetworkElementResponse - (*DeleteNetworkElementRequest)(nil), // 11: gosdn.networkelement.DeleteNetworkElementRequest - (*DeleteNetworkElementResponse)(nil), // 12: gosdn.networkelement.DeleteNetworkElementResponse - (*conflict.Metadata)(nil), // 13: gosdn.conflict.Metadata - (*southbound.SouthboundInterface)(nil), // 14: gosdn.southbound.SouthboundInterface - (*transport.TransportOption)(nil), // 15: gosdn.transport.TransportOption + (ChangeState)(0), // 1: gosdn.networkelement.ChangeState + (ApiOperation)(0), // 2: gosdn.networkelement.ApiOperation + (Operation)(0), // 3: gosdn.networkelement.Operation + (SubscriptionMode)(0), // 4: gosdn.networkelement.SubscriptionMode + (StreamMode)(0), // 5: gosdn.networkelement.StreamMode + (*ManagedNetworkElement)(nil), // 6: gosdn.networkelement.ManagedNetworkElement + (*FlattenedManagedNetworkElement)(nil), // 7: gosdn.networkelement.FlattenedManagedNetworkElement + (*PrincipalNetworkDomain)(nil), // 8: gosdn.networkelement.PrincipalNetworkDomain + (*GetMneListRequest)(nil), // 9: gosdn.networkelement.GetMneListRequest + (*GetMneListResponse)(nil), // 10: gosdn.networkelement.GetMneListResponse + (*GetFlattenedMneListResponse)(nil), // 11: gosdn.networkelement.GetFlattenedMneListResponse + (*GetMneRequest)(nil), // 12: gosdn.networkelement.GetMneRequest + (*GetMneResponse)(nil), // 13: gosdn.networkelement.GetMneResponse + (*SetMne)(nil), // 14: gosdn.networkelement.SetMne + (*SetMneListRequest)(nil), // 15: gosdn.networkelement.SetMneListRequest + (*SetMneListResponse)(nil), // 16: gosdn.networkelement.SetMneListResponse + (*GetPathRequest)(nil), // 17: gosdn.networkelement.GetPathRequest + (*GetPathResponse)(nil), // 18: gosdn.networkelement.GetPathResponse + (*SetResponse)(nil), // 19: gosdn.networkelement.SetResponse + (*SetPathListRequest)(nil), // 20: gosdn.networkelement.SetPathListRequest + (*SetPathListResponse)(nil), // 21: gosdn.networkelement.SetPathListResponse + (*DeleteMneRequest)(nil), // 22: gosdn.networkelement.DeleteMneRequest + (*DeleteMneResponse)(nil), // 23: gosdn.networkelement.DeleteMneResponse + (*Change)(nil), // 24: gosdn.networkelement.Change + (*ChangeRequest)(nil), // 25: gosdn.networkelement.ChangeRequest + (*SetChange)(nil), // 26: gosdn.networkelement.SetChange + (*GetChangeListRequest)(nil), // 27: gosdn.networkelement.GetChangeListRequest + (*GetChangeListResponse)(nil), // 28: gosdn.networkelement.GetChangeListResponse + (*GetChangeRequest)(nil), // 29: gosdn.networkelement.GetChangeRequest + (*GetChangeResponse)(nil), // 30: gosdn.networkelement.GetChangeResponse + (*SetChangeListRequest)(nil), // 31: gosdn.networkelement.SetChangeListRequest + (*SetChangeListResponse)(nil), // 32: gosdn.networkelement.SetChangeListResponse + (*SubscriptionList)(nil), // 33: gosdn.networkelement.SubscriptionList + (*Subscription)(nil), // 34: gosdn.networkelement.Subscription + (*SubscribePathRequest)(nil), // 35: gosdn.networkelement.SubscribePathRequest + (*SubscribePathResponse)(nil), // 36: gosdn.networkelement.SubscribePathResponse + (*gnmi.Notification)(nil), // 37: gnmi.Notification + (*southbound.SouthboundInterface)(nil), // 38: gosdn.southbound.SouthboundInterface + (*conflict.Metadata)(nil), // 39: gosdn.conflict.Metadata + (*transport.TransportOption)(nil), // 40: gosdn.transport.TransportOption } var file_gosdn_networkelement_networkelement_proto_depIdxs = []int32{ - 13, // 0: gosdn.networkelement.NetworkElement.metadata:type_name -> gosdn.conflict.Metadata - 14, // 1: gosdn.networkelement.AddNetworkElementConfiguration.sbi:type_name -> gosdn.southbound.SouthboundInterface - 15, // 2: gosdn.networkelement.AddNetworkElementConfiguration.transport_option:type_name -> gosdn.transport.TransportOption - 2, // 3: gosdn.networkelement.AddNetworkElementRequest.network_element:type_name -> gosdn.networkelement.AddNetworkElementConfiguration - 0, // 4: gosdn.networkelement.AddNetworkElementResponse.status:type_name -> gosdn.networkelement.Status - 0, // 5: gosdn.networkelement.GetNetworkElementResponse.status:type_name -> gosdn.networkelement.Status - 1, // 6: gosdn.networkelement.GetNetworkElementResponse.network_element:type_name -> gosdn.networkelement.NetworkElement - 0, // 7: gosdn.networkelement.GetAllNetworkElementResponse.status:type_name -> gosdn.networkelement.Status - 1, // 8: gosdn.networkelement.GetAllNetworkElementResponse.network_element:type_name -> gosdn.networkelement.NetworkElement - 1, // 9: gosdn.networkelement.UpdateNetworkElementRequest.network_element:type_name -> gosdn.networkelement.NetworkElement - 0, // 10: gosdn.networkelement.UpdateNetworkElementResponse.status:type_name -> gosdn.networkelement.Status - 0, // 11: gosdn.networkelement.DeleteNetworkElementResponse.status:type_name -> gosdn.networkelement.Status - 3, // 12: gosdn.networkelement.NetworkElementService.Add:input_type -> gosdn.networkelement.AddNetworkElementRequest - 5, // 13: gosdn.networkelement.NetworkElementService.Get:input_type -> gosdn.networkelement.GetNetworkElementRequest - 7, // 14: gosdn.networkelement.NetworkElementService.GetAll:input_type -> gosdn.networkelement.GetAllNetworkElementRequest - 9, // 15: gosdn.networkelement.NetworkElementService.Update:input_type -> gosdn.networkelement.UpdateNetworkElementRequest - 4, // 16: gosdn.networkelement.NetworkElementService.Add:output_type -> gosdn.networkelement.AddNetworkElementResponse - 6, // 17: gosdn.networkelement.NetworkElementService.Get:output_type -> gosdn.networkelement.GetNetworkElementResponse - 8, // 18: gosdn.networkelement.NetworkElementService.GetAll:output_type -> gosdn.networkelement.GetAllNetworkElementResponse - 10, // 19: gosdn.networkelement.NetworkElementService.Update:output_type -> gosdn.networkelement.UpdateNetworkElementResponse - 16, // [16:20] is the sub-list for method output_type - 12, // [12:16] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 37, // 0: gosdn.networkelement.ManagedNetworkElement.mne_notification:type_name -> gnmi.Notification + 38, // 1: gosdn.networkelement.ManagedNetworkElement.sbi:type_name -> gosdn.southbound.SouthboundInterface + 39, // 2: gosdn.networkelement.ManagedNetworkElement.metadata:type_name -> gosdn.conflict.Metadata + 8, // 3: gosdn.networkelement.GetMneListResponse.pnd:type_name -> gosdn.networkelement.PrincipalNetworkDomain + 6, // 4: gosdn.networkelement.GetMneListResponse.mne:type_name -> gosdn.networkelement.ManagedNetworkElement + 8, // 5: gosdn.networkelement.GetFlattenedMneListResponse.pnd:type_name -> gosdn.networkelement.PrincipalNetworkDomain + 7, // 6: gosdn.networkelement.GetFlattenedMneListResponse.mne:type_name -> gosdn.networkelement.FlattenedManagedNetworkElement + 8, // 7: gosdn.networkelement.GetMneResponse.pnd:type_name -> gosdn.networkelement.PrincipalNetworkDomain + 6, // 8: gosdn.networkelement.GetMneResponse.mne:type_name -> gosdn.networkelement.ManagedNetworkElement + 38, // 9: gosdn.networkelement.SetMne.sbi:type_name -> gosdn.southbound.SouthboundInterface + 40, // 10: gosdn.networkelement.SetMne.transport_option:type_name -> gosdn.transport.TransportOption + 14, // 11: gosdn.networkelement.SetMneListRequest.mne:type_name -> gosdn.networkelement.SetMne + 0, // 12: gosdn.networkelement.SetMneListResponse.status:type_name -> gosdn.networkelement.Status + 19, // 13: gosdn.networkelement.SetMneListResponse.responses:type_name -> gosdn.networkelement.SetResponse + 8, // 14: gosdn.networkelement.GetPathResponse.pnd:type_name -> gosdn.networkelement.PrincipalNetworkDomain + 37, // 15: gosdn.networkelement.GetPathResponse.mne_notification:type_name -> gnmi.Notification + 0, // 16: gosdn.networkelement.SetResponse.status:type_name -> gosdn.networkelement.Status + 25, // 17: gosdn.networkelement.SetPathListRequest.change_request:type_name -> gosdn.networkelement.ChangeRequest + 0, // 18: gosdn.networkelement.SetPathListResponse.status:type_name -> gosdn.networkelement.Status + 19, // 19: gosdn.networkelement.SetPathListResponse.responses:type_name -> gosdn.networkelement.SetResponse + 0, // 20: gosdn.networkelement.DeleteMneResponse.status:type_name -> gosdn.networkelement.Status + 1, // 21: gosdn.networkelement.Change.state:type_name -> gosdn.networkelement.ChangeState + 37, // 22: gosdn.networkelement.Change.diff:type_name -> gnmi.Notification + 2, // 23: gosdn.networkelement.ChangeRequest.api_op:type_name -> gosdn.networkelement.ApiOperation + 3, // 24: gosdn.networkelement.SetChange.op:type_name -> gosdn.networkelement.Operation + 8, // 25: gosdn.networkelement.GetChangeListResponse.pnd:type_name -> gosdn.networkelement.PrincipalNetworkDomain + 24, // 26: gosdn.networkelement.GetChangeListResponse.change:type_name -> gosdn.networkelement.Change + 8, // 27: gosdn.networkelement.GetChangeResponse.pnd:type_name -> gosdn.networkelement.PrincipalNetworkDomain + 24, // 28: gosdn.networkelement.GetChangeResponse.change:type_name -> gosdn.networkelement.Change + 26, // 29: gosdn.networkelement.SetChangeListRequest.change:type_name -> gosdn.networkelement.SetChange + 0, // 30: gosdn.networkelement.SetChangeListResponse.status:type_name -> gosdn.networkelement.Status + 19, // 31: gosdn.networkelement.SetChangeListResponse.responses:type_name -> gosdn.networkelement.SetResponse + 34, // 32: gosdn.networkelement.SubscriptionList.subscription:type_name -> gosdn.networkelement.Subscription + 4, // 33: gosdn.networkelement.SubscriptionList.mode:type_name -> gosdn.networkelement.SubscriptionMode + 5, // 34: gosdn.networkelement.Subscription.stream_mode:type_name -> gosdn.networkelement.StreamMode + 33, // 35: gosdn.networkelement.SubscribePathRequest.sublist:type_name -> gosdn.networkelement.SubscriptionList + 0, // 36: gosdn.networkelement.SubscribePathResponse.status:type_name -> gosdn.networkelement.Status + 37, // 37: gosdn.networkelement.SubscribePathResponse.mne_notification:type_name -> gnmi.Notification + 9, // 38: gosdn.networkelement.NetworkElementService.GetMneList:input_type -> gosdn.networkelement.GetMneListRequest + 9, // 39: gosdn.networkelement.NetworkElementService.GetFlattenedMneList:input_type -> gosdn.networkelement.GetMneListRequest + 12, // 40: gosdn.networkelement.NetworkElementService.GetMne:input_type -> gosdn.networkelement.GetMneRequest + 15, // 41: gosdn.networkelement.NetworkElementService.SetMneList:input_type -> gosdn.networkelement.SetMneListRequest + 17, // 42: gosdn.networkelement.NetworkElementService.GetPath:input_type -> gosdn.networkelement.GetPathRequest + 20, // 43: gosdn.networkelement.NetworkElementService.SetPathList:input_type -> gosdn.networkelement.SetPathListRequest + 22, // 44: gosdn.networkelement.NetworkElementService.DeleteMne:input_type -> gosdn.networkelement.DeleteMneRequest + 27, // 45: gosdn.networkelement.NetworkElementService.GetChangeList:input_type -> gosdn.networkelement.GetChangeListRequest + 29, // 46: gosdn.networkelement.NetworkElementService.GetChange:input_type -> gosdn.networkelement.GetChangeRequest + 31, // 47: gosdn.networkelement.NetworkElementService.SetChangeList:input_type -> gosdn.networkelement.SetChangeListRequest + 35, // 48: gosdn.networkelement.NetworkElementService.SubscribePath:input_type -> gosdn.networkelement.SubscribePathRequest + 10, // 49: gosdn.networkelement.NetworkElementService.GetMneList:output_type -> gosdn.networkelement.GetMneListResponse + 11, // 50: gosdn.networkelement.NetworkElementService.GetFlattenedMneList:output_type -> gosdn.networkelement.GetFlattenedMneListResponse + 13, // 51: gosdn.networkelement.NetworkElementService.GetMne:output_type -> gosdn.networkelement.GetMneResponse + 16, // 52: gosdn.networkelement.NetworkElementService.SetMneList:output_type -> gosdn.networkelement.SetMneListResponse + 18, // 53: gosdn.networkelement.NetworkElementService.GetPath:output_type -> gosdn.networkelement.GetPathResponse + 21, // 54: gosdn.networkelement.NetworkElementService.SetPathList:output_type -> gosdn.networkelement.SetPathListResponse + 23, // 55: gosdn.networkelement.NetworkElementService.DeleteMne:output_type -> gosdn.networkelement.DeleteMneResponse + 28, // 56: gosdn.networkelement.NetworkElementService.GetChangeList:output_type -> gosdn.networkelement.GetChangeListResponse + 30, // 57: gosdn.networkelement.NetworkElementService.GetChange:output_type -> gosdn.networkelement.GetChangeResponse + 32, // 58: gosdn.networkelement.NetworkElementService.SetChangeList:output_type -> gosdn.networkelement.SetChangeListResponse + 36, // 59: gosdn.networkelement.NetworkElementService.SubscribePath:output_type -> gosdn.networkelement.SubscribePathResponse + 49, // [49:60] is the sub-list for method output_type + 38, // [38:49] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_gosdn_networkelement_networkelement_proto_init() } @@ -1052,7 +2893,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } if !protoimpl.UnsafeEnabled { file_gosdn_networkelement_networkelement_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkElement); i { + switch v := v.(*ManagedNetworkElement); i { case 0: return &v.state case 1: @@ -1064,7 +2905,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddNetworkElementConfiguration); i { + switch v := v.(*FlattenedManagedNetworkElement); i { case 0: return &v.state case 1: @@ -1076,7 +2917,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddNetworkElementRequest); i { + switch v := v.(*PrincipalNetworkDomain); i { case 0: return &v.state case 1: @@ -1088,7 +2929,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddNetworkElementResponse); i { + switch v := v.(*GetMneListRequest); i { case 0: return &v.state case 1: @@ -1100,7 +2941,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNetworkElementRequest); i { + switch v := v.(*GetMneListResponse); i { case 0: return &v.state case 1: @@ -1112,7 +2953,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNetworkElementResponse); i { + switch v := v.(*GetFlattenedMneListResponse); i { case 0: return &v.state case 1: @@ -1124,7 +2965,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllNetworkElementRequest); i { + switch v := v.(*GetMneRequest); i { case 0: return &v.state case 1: @@ -1136,7 +2977,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllNetworkElementResponse); i { + switch v := v.(*GetMneResponse); i { case 0: return &v.state case 1: @@ -1148,7 +2989,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNetworkElementRequest); i { + switch v := v.(*SetMne); i { case 0: return &v.state case 1: @@ -1160,7 +3001,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNetworkElementResponse); i { + switch v := v.(*SetMneListRequest); i { case 0: return &v.state case 1: @@ -1172,7 +3013,7 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNetworkElementRequest); i { + switch v := v.(*SetMneListResponse); i { case 0: return &v.state case 1: @@ -1184,7 +3025,235 @@ func file_gosdn_networkelement_networkelement_proto_init() { } } file_gosdn_networkelement_networkelement_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNetworkElementResponse); i { + switch v := v.(*GetPathRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPathResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[13].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_gosdn_networkelement_networkelement_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetPathListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetPathListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMneRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMneResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Change); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChangeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[20].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_gosdn_networkelement_networkelement_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChangeListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChangeListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChangeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChangeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetChangeListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetChangeListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Subscription); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribePathRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gosdn_networkelement_networkelement_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribePathResponse); i { case 0: return &v.state case 1: @@ -1201,8 +3270,8 @@ func file_gosdn_networkelement_networkelement_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gosdn_networkelement_networkelement_proto_rawDesc, - NumEnums: 1, - NumMessages: 12, + NumEnums: 6, + NumMessages: 31, NumExtensions: 0, NumServices: 1, }, diff --git a/api/go/gosdn/networkelement/networkelement.pb.gw.go b/api/go/gosdn/networkelement/networkelement.pb.gw.go index 2ad35433b955d2d19cbad6d7c0e48de1f746e27d..d803ea38cd6958197a12ce6ab05d73e89d2636fd 100644 --- a/api/go/gosdn/networkelement/networkelement.pb.gw.go +++ b/api/go/gosdn/networkelement/networkelement.pb.gw.go @@ -31,8 +31,346 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join -func request_NetworkElementService_Add_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AddNetworkElementRequest +var ( + filter_NetworkElementService_GetFlattenedMneList_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_NetworkElementService_GetFlattenedMneList_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMneListRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetFlattenedMneList_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetFlattenedMneList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_NetworkElementService_GetFlattenedMneList_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMneListRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetFlattenedMneList_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetFlattenedMneList(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_NetworkElementService_GetMne_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "mneid": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_NetworkElementService_GetMne_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMneRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["mneid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") + } + + protoReq.Mneid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetMne_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetMne(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_NetworkElementService_GetMne_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMneRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["mneid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") + } + + protoReq.Mneid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetMne_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetMne(ctx, &protoReq) + return msg, metadata, err + +} + +func request_NetworkElementService_SetMneList_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetMneListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + msg, err := client.SetMneList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_NetworkElementService_SetMneList_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetMneListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + msg, err := server.SetMneList(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_NetworkElementService_GetPath_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "mneid": 1, "path": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} +) + +func request_NetworkElementService_GetPath_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPathRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["mneid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") + } + + protoReq.Mneid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) + } + + val, ok = pathParams["path"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "path") + } + + protoReq.Path, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "path", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetPath_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetPath(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_NetworkElementService_GetPath_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPathRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["mneid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") + } + + protoReq.Mneid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) + } + + val, ok = pathParams["path"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "path") + } + + protoReq.Path, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "path", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetPath_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetPath(ctx, &protoReq) + return msg, metadata, err + +} + +func request_NetworkElementService_SetPathList_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetPathListRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -43,13 +381,30 @@ func request_NetworkElementService_Add_0(ctx context.Context, marshaler runtime. return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.Add(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + msg, err := client.SetPathList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_NetworkElementService_Add_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AddNetworkElementRequest +func local_request_NetworkElementService_SetPathList_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetPathListRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -60,85 +415,280 @@ func local_request_NetworkElementService_Add_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.Add(ctx, &protoReq) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + msg, err := server.SetPathList(ctx, &protoReq) return msg, metadata, err } var ( - filter_NetworkElementService_Get_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_NetworkElementService_DeleteMne_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "mneid": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) -func request_NetworkElementService_Get_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetNetworkElementRequest +func request_NetworkElementService_DeleteMne_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteMneRequest var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["mneid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") + } + + protoReq.Mneid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_Get_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_DeleteMne_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.Get(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.DeleteMne(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_NetworkElementService_Get_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetNetworkElementRequest +func local_request_NetworkElementService_DeleteMne_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteMneRequest var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["mneid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") + } + + protoReq.Mneid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_Get_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_DeleteMne_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.Get(ctx, &protoReq) + msg, err := server.DeleteMne(ctx, &protoReq) return msg, metadata, err } var ( - filter_NetworkElementService_GetAll_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_NetworkElementService_GetChangeList_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) -func request_NetworkElementService_GetAll_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAllNetworkElementRequest +func request_NetworkElementService_GetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChangeListRequest var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetAll_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetChangeList_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetAll(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetChangeList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_NetworkElementService_GetAll_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAllNetworkElementRequest +func local_request_NetworkElementService_GetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChangeListRequest var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetAll_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetChangeList_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.GetAll(ctx, &protoReq) + msg, err := server.GetChangeList(ctx, &protoReq) return msg, metadata, err } -func request_NetworkElementService_Update_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateNetworkElementRequest +var ( + filter_NetworkElementService_GetChange_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "cuid": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_NetworkElementService_GetChange_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["cuid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cuid") + } + + protoReq.Cuid, err = runtime.StringSlice(val, ",") + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cuid", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetChange_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetChange(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_NetworkElementService_GetChange_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + val, ok = pathParams["cuid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cuid") + } + + protoReq.Cuid, err = runtime.StringSlice(val, ",") + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cuid", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_NetworkElementService_GetChange_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetChange(ctx, &protoReq) + return msg, metadata, err + +} + +func request_NetworkElementService_SetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetChangeListRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -149,13 +699,30 @@ func request_NetworkElementService_Update_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.Update(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + msg, err := client.SetChangeList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_NetworkElementService_Update_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateNetworkElementRequest +func local_request_NetworkElementService_SetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, server NetworkElementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetChangeListRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -166,7 +733,24 @@ func local_request_NetworkElementService_Update_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.Update(ctx, &protoReq) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["pid"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") + } + + protoReq.Pid, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) + } + + msg, err := server.SetChangeList(ctx, &protoReq) return msg, metadata, err } @@ -177,18 +761,87 @@ func local_request_NetworkElementService_Update_0(ctx context.Context, marshaler // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterNetworkElementServiceHandlerFromEndpoint instead. func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server NetworkElementServiceServer) error { - mux.Handle("POST", pattern_NetworkElementService_Add_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_NetworkElementService_GetFlattenedMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetFlattenedMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_NetworkElementService_GetFlattenedMneList_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_GetFlattenedMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_NetworkElementService_GetMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mne/{mneid}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_NetworkElementService_GetMne_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_GetMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_NetworkElementService_SetMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_NetworkElementService_SetMneList_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_SetMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_NetworkElementService_GetPath_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Add", runtime.WithHTTPPathPattern("/network-element/create")) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/paths/{path}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_NetworkElementService_Add_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_NetworkElementService_GetPath_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -196,22 +849,22 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim return } - forward_NetworkElementService_Add_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_GetPath_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_NetworkElementService_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_NetworkElementService_SetPathList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Get", runtime.WithHTTPPathPattern("/network-element")) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetPathList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/paths")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_NetworkElementService_Get_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_NetworkElementService_SetPathList_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -219,22 +872,22 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim return } - forward_NetworkElementService_Get_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_SetPathList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_NetworkElementService_GetAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_NetworkElementService_DeleteMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetAll", runtime.WithHTTPPathPattern("/network-element/all")) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/DeleteMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_NetworkElementService_GetAll_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_NetworkElementService_DeleteMne_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -242,22 +895,22 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim return } - forward_NetworkElementService_GetAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_DeleteMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_NetworkElementService_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_NetworkElementService_GetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Update", runtime.WithHTTPPathPattern("/network-element/update")) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_NetworkElementService_Update_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_NetworkElementService_GetChangeList_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -265,7 +918,53 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim return } - forward_NetworkElementService_Update_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_GetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_NetworkElementService_GetChange_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChange", runtime.WithHTTPPathPattern("/pnds/{pid}/changes/{cuid}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_NetworkElementService_GetChange_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_GetChange_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_NetworkElementService_SetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_NetworkElementService_SetChangeList_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_SetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -310,83 +1009,183 @@ func RegisterNetworkElementServiceHandler(ctx context.Context, mux *runtime.Serv // "NetworkElementServiceClient" to call the correct interceptors. func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client NetworkElementServiceClient) error { - mux.Handle("POST", pattern_NetworkElementService_Add_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_NetworkElementService_GetFlattenedMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetFlattenedMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_NetworkElementService_GetFlattenedMneList_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_GetFlattenedMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_NetworkElementService_GetMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Add", runtime.WithHTTPPathPattern("/network-element/create")) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mne/{mneid}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_NetworkElementService_Add_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_NetworkElementService_GetMne_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_NetworkElementService_Add_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_GetMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_NetworkElementService_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_NetworkElementService_SetMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Get", runtime.WithHTTPPathPattern("/network-element")) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_NetworkElementService_Get_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_NetworkElementService_SetMneList_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_NetworkElementService_Get_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_SetMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_NetworkElementService_GetAll_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_NetworkElementService_GetPath_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetAll", runtime.WithHTTPPathPattern("/network-element/all")) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/paths/{path}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_NetworkElementService_GetAll_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_NetworkElementService_GetPath_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_NetworkElementService_GetAll_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_GetPath_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_NetworkElementService_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_NetworkElementService_SetPathList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Update", runtime.WithHTTPPathPattern("/network-element/update")) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetPathList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/paths")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_NetworkElementService_Update_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_NetworkElementService_SetPathList_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_NetworkElementService_Update_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_NetworkElementService_SetPathList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_NetworkElementService_DeleteMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/DeleteMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_NetworkElementService_DeleteMne_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_DeleteMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_NetworkElementService_GetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_NetworkElementService_GetChangeList_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_GetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_NetworkElementService_GetChange_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChange", runtime.WithHTTPPathPattern("/pnds/{pid}/changes/{cuid}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_NetworkElementService_GetChange_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_GetChange_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_NetworkElementService_SetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_NetworkElementService_SetChangeList_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_NetworkElementService_SetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -394,21 +1193,41 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim } var ( - pattern_NetworkElementService_Add_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"network-element", "create"}, "")) + pattern_NetworkElementService_GetFlattenedMneList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "mnes"}, "")) + + pattern_NetworkElementService_GetMne_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"pnds", "pid", "mne", "mneid"}, "")) + + pattern_NetworkElementService_SetMneList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "mnes"}, "")) + + pattern_NetworkElementService_GetPath_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"pnds", "pid", "mnes", "mneid", "paths", "path"}, "")) - pattern_NetworkElementService_Get_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"network-element"}, "")) + pattern_NetworkElementService_SetPathList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"pnds", "pid", "mnes", "paths"}, "")) - pattern_NetworkElementService_GetAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"network-element", "all"}, "")) + pattern_NetworkElementService_DeleteMne_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"pnds", "pid", "mnes", "mneid"}, "")) - pattern_NetworkElementService_Update_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"network-element", "update"}, "")) + pattern_NetworkElementService_GetChangeList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "changes"}, "")) + + pattern_NetworkElementService_GetChange_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"pnds", "pid", "changes", "cuid"}, "")) + + pattern_NetworkElementService_SetChangeList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "changes"}, "")) ) var ( - forward_NetworkElementService_Add_0 = runtime.ForwardResponseMessage + forward_NetworkElementService_GetFlattenedMneList_0 = runtime.ForwardResponseMessage + + forward_NetworkElementService_GetMne_0 = runtime.ForwardResponseMessage + + forward_NetworkElementService_SetMneList_0 = runtime.ForwardResponseMessage + + forward_NetworkElementService_GetPath_0 = runtime.ForwardResponseMessage + + forward_NetworkElementService_SetPathList_0 = runtime.ForwardResponseMessage + + forward_NetworkElementService_DeleteMne_0 = runtime.ForwardResponseMessage - forward_NetworkElementService_Get_0 = runtime.ForwardResponseMessage + forward_NetworkElementService_GetChangeList_0 = runtime.ForwardResponseMessage - forward_NetworkElementService_GetAll_0 = runtime.ForwardResponseMessage + forward_NetworkElementService_GetChange_0 = runtime.ForwardResponseMessage - forward_NetworkElementService_Update_0 = runtime.ForwardResponseMessage + forward_NetworkElementService_SetChangeList_0 = runtime.ForwardResponseMessage ) diff --git a/api/go/gosdn/networkelement/networkelement_grpc.pb.go b/api/go/gosdn/networkelement/networkelement_grpc.pb.go index c73b569e984108d4922b5e7bdbad421b90dff3b5..963f5e20002ed3c42f3751f77d530019b16f9019 100644 --- a/api/go/gosdn/networkelement/networkelement_grpc.pb.go +++ b/api/go/gosdn/networkelement/networkelement_grpc.pb.go @@ -18,10 +18,42 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type NetworkElementServiceClient interface { - Add(ctx context.Context, in *AddNetworkElementRequest, opts ...grpc.CallOption) (*AddNetworkElementResponse, error) - Get(ctx context.Context, in *GetNetworkElementRequest, opts ...grpc.CallOption) (*GetNetworkElementResponse, error) - GetAll(ctx context.Context, in *GetAllNetworkElementRequest, opts ...grpc.CallOption) (*GetAllNetworkElementResponse, error) - Update(ctx context.Context, in *UpdateNetworkElementRequest, opts ...grpc.CallOption) (*UpdateNetworkElementResponse, error) + // Allows to request all Managed Network Elements (MNE) which are + // managed by a specific Principal Network Domain. + // Full MNEs are provided, which also includes the MNE config as gNMI + // notification. + GetMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetMneListResponse, error) + //TODO(PND): change GetRequest! + // Allows to request all Managed Network Elements (MNE) which are + // managed by a specific Principal Network Domain. + // Flattened MNEs are provided, which does not include the MNE config as gNMI + // notification. + GetFlattenedMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetFlattenedMneListResponse, error) + // Allows to request a specific Managed Network Element which is managed by a + // specific Principal Network Domain. + GetMne(ctx context.Context, in *GetMneRequest, opts ...grpc.CallOption) (*GetMneResponse, error) + // Allows to add multiple Managed Network Elements to be managed by a + // specific Principal Network Domain. + SetMneList(ctx context.Context, in *SetMneListRequest, opts ...grpc.CallOption) (*SetMneListResponse, error) + // Allows to request a specific Path of a Managed Network Element, + // managed by a specific Principal Network Domain. + GetPath(ctx context.Context, in *GetPathRequest, opts ...grpc.CallOption) (*GetPathResponse, error) + // Allows to set a specific Path of a Managed Network Element, + // managed by a specific Principal Network Domain. + SetPathList(ctx context.Context, in *SetPathListRequest, opts ...grpc.CallOption) (*SetPathListResponse, error) + // Allows to delete a specific Managed Network Element which is managed by a + // specific Principal Network Domain. + DeleteMne(ctx context.Context, in *DeleteMneRequest, opts ...grpc.CallOption) (*DeleteMneResponse, error) + // Allows to request all Changes registered for a specific Principal Network Domain. + GetChangeList(ctx context.Context, in *GetChangeListRequest, opts ...grpc.CallOption) (*GetChangeListResponse, error) + // Allows to request a specific Change registered for a specific Principal Network Domain. + GetChange(ctx context.Context, in *GetChangeRequest, opts ...grpc.CallOption) (*GetChangeResponse, error) + // Allows to operate on multiple Changes registered for a specific Principal Network Domain. + SetChangeList(ctx context.Context, in *SetChangeListRequest, opts ...grpc.CallOption) (*SetChangeListResponse, error) + // Allows to subscribe to multiple paths of a Managed Network Element which is + // managed by a specific Principal Network Domain and streams data depending on the subscribe + // method. + SubscribePath(ctx context.Context, in *SubscribePathRequest, opts ...grpc.CallOption) (NetworkElementService_SubscribePathClient, error) } type networkElementServiceClient struct { @@ -32,50 +64,168 @@ func NewNetworkElementServiceClient(cc grpc.ClientConnInterface) NetworkElementS return &networkElementServiceClient{cc} } -func (c *networkElementServiceClient) Add(ctx context.Context, in *AddNetworkElementRequest, opts ...grpc.CallOption) (*AddNetworkElementResponse, error) { - out := new(AddNetworkElementResponse) - err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/Add", in, out, opts...) +func (c *networkElementServiceClient) GetMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetMneListResponse, error) { + out := new(GetMneListResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetMneList", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *networkElementServiceClient) Get(ctx context.Context, in *GetNetworkElementRequest, opts ...grpc.CallOption) (*GetNetworkElementResponse, error) { - out := new(GetNetworkElementResponse) - err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/Get", in, out, opts...) +func (c *networkElementServiceClient) GetFlattenedMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetFlattenedMneListResponse, error) { + out := new(GetFlattenedMneListResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetFlattenedMneList", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *networkElementServiceClient) GetAll(ctx context.Context, in *GetAllNetworkElementRequest, opts ...grpc.CallOption) (*GetAllNetworkElementResponse, error) { - out := new(GetAllNetworkElementResponse) - err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetAll", in, out, opts...) +func (c *networkElementServiceClient) GetMne(ctx context.Context, in *GetMneRequest, opts ...grpc.CallOption) (*GetMneResponse, error) { + out := new(GetMneResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetMne", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *networkElementServiceClient) Update(ctx context.Context, in *UpdateNetworkElementRequest, opts ...grpc.CallOption) (*UpdateNetworkElementResponse, error) { - out := new(UpdateNetworkElementResponse) - err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/Update", in, out, opts...) +func (c *networkElementServiceClient) SetMneList(ctx context.Context, in *SetMneListRequest, opts ...grpc.CallOption) (*SetMneListResponse, error) { + out := new(SetMneListResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/SetMneList", in, out, opts...) if err != nil { return nil, err } return out, nil } +func (c *networkElementServiceClient) GetPath(ctx context.Context, in *GetPathRequest, opts ...grpc.CallOption) (*GetPathResponse, error) { + out := new(GetPathResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetPath", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkElementServiceClient) SetPathList(ctx context.Context, in *SetPathListRequest, opts ...grpc.CallOption) (*SetPathListResponse, error) { + out := new(SetPathListResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/SetPathList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkElementServiceClient) DeleteMne(ctx context.Context, in *DeleteMneRequest, opts ...grpc.CallOption) (*DeleteMneResponse, error) { + out := new(DeleteMneResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/DeleteMne", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkElementServiceClient) GetChangeList(ctx context.Context, in *GetChangeListRequest, opts ...grpc.CallOption) (*GetChangeListResponse, error) { + out := new(GetChangeListResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetChangeList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkElementServiceClient) GetChange(ctx context.Context, in *GetChangeRequest, opts ...grpc.CallOption) (*GetChangeResponse, error) { + out := new(GetChangeResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetChange", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkElementServiceClient) SetChangeList(ctx context.Context, in *SetChangeListRequest, opts ...grpc.CallOption) (*SetChangeListResponse, error) { + out := new(SetChangeListResponse) + err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/SetChangeList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkElementServiceClient) SubscribePath(ctx context.Context, in *SubscribePathRequest, opts ...grpc.CallOption) (NetworkElementService_SubscribePathClient, error) { + stream, err := c.cc.NewStream(ctx, &NetworkElementService_ServiceDesc.Streams[0], "/gosdn.networkelement.NetworkElementService/SubscribePath", opts...) + if err != nil { + return nil, err + } + x := &networkElementServiceSubscribePathClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type NetworkElementService_SubscribePathClient interface { + Recv() (*SubscribePathResponse, error) + grpc.ClientStream +} + +type networkElementServiceSubscribePathClient struct { + grpc.ClientStream +} + +func (x *networkElementServiceSubscribePathClient) Recv() (*SubscribePathResponse, error) { + m := new(SubscribePathResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // NetworkElementServiceServer is the server API for NetworkElementService service. // All implementations must embed UnimplementedNetworkElementServiceServer // for forward compatibility type NetworkElementServiceServer interface { - Add(context.Context, *AddNetworkElementRequest) (*AddNetworkElementResponse, error) - Get(context.Context, *GetNetworkElementRequest) (*GetNetworkElementResponse, error) - GetAll(context.Context, *GetAllNetworkElementRequest) (*GetAllNetworkElementResponse, error) - Update(context.Context, *UpdateNetworkElementRequest) (*UpdateNetworkElementResponse, error) + // Allows to request all Managed Network Elements (MNE) which are + // managed by a specific Principal Network Domain. + // Full MNEs are provided, which also includes the MNE config as gNMI + // notification. + GetMneList(context.Context, *GetMneListRequest) (*GetMneListResponse, error) + //TODO(PND): change GetRequest! + // Allows to request all Managed Network Elements (MNE) which are + // managed by a specific Principal Network Domain. + // Flattened MNEs are provided, which does not include the MNE config as gNMI + // notification. + GetFlattenedMneList(context.Context, *GetMneListRequest) (*GetFlattenedMneListResponse, error) + // Allows to request a specific Managed Network Element which is managed by a + // specific Principal Network Domain. + GetMne(context.Context, *GetMneRequest) (*GetMneResponse, error) + // Allows to add multiple Managed Network Elements to be managed by a + // specific Principal Network Domain. + SetMneList(context.Context, *SetMneListRequest) (*SetMneListResponse, error) + // Allows to request a specific Path of a Managed Network Element, + // managed by a specific Principal Network Domain. + GetPath(context.Context, *GetPathRequest) (*GetPathResponse, error) + // Allows to set a specific Path of a Managed Network Element, + // managed by a specific Principal Network Domain. + SetPathList(context.Context, *SetPathListRequest) (*SetPathListResponse, error) + // Allows to delete a specific Managed Network Element which is managed by a + // specific Principal Network Domain. + DeleteMne(context.Context, *DeleteMneRequest) (*DeleteMneResponse, error) + // Allows to request all Changes registered for a specific Principal Network Domain. + GetChangeList(context.Context, *GetChangeListRequest) (*GetChangeListResponse, error) + // Allows to request a specific Change registered for a specific Principal Network Domain. + GetChange(context.Context, *GetChangeRequest) (*GetChangeResponse, error) + // Allows to operate on multiple Changes registered for a specific Principal Network Domain. + SetChangeList(context.Context, *SetChangeListRequest) (*SetChangeListResponse, error) + // Allows to subscribe to multiple paths of a Managed Network Element which is + // managed by a specific Principal Network Domain and streams data depending on the subscribe + // method. + SubscribePath(*SubscribePathRequest, NetworkElementService_SubscribePathServer) error mustEmbedUnimplementedNetworkElementServiceServer() } @@ -83,17 +233,38 @@ type NetworkElementServiceServer interface { type UnimplementedNetworkElementServiceServer struct { } -func (UnimplementedNetworkElementServiceServer) Add(context.Context, *AddNetworkElementRequest) (*AddNetworkElementResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Add not implemented") +func (UnimplementedNetworkElementServiceServer) GetMneList(context.Context, *GetMneListRequest) (*GetMneListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMneList not implemented") +} +func (UnimplementedNetworkElementServiceServer) GetFlattenedMneList(context.Context, *GetMneListRequest) (*GetFlattenedMneListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFlattenedMneList not implemented") +} +func (UnimplementedNetworkElementServiceServer) GetMne(context.Context, *GetMneRequest) (*GetMneResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMne not implemented") +} +func (UnimplementedNetworkElementServiceServer) SetMneList(context.Context, *SetMneListRequest) (*SetMneListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetMneList not implemented") } -func (UnimplementedNetworkElementServiceServer) Get(context.Context, *GetNetworkElementRequest) (*GetNetworkElementResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +func (UnimplementedNetworkElementServiceServer) GetPath(context.Context, *GetPathRequest) (*GetPathResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPath not implemented") } -func (UnimplementedNetworkElementServiceServer) GetAll(context.Context, *GetAllNetworkElementRequest) (*GetAllNetworkElementResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAll not implemented") +func (UnimplementedNetworkElementServiceServer) SetPathList(context.Context, *SetPathListRequest) (*SetPathListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetPathList not implemented") } -func (UnimplementedNetworkElementServiceServer) Update(context.Context, *UpdateNetworkElementRequest) (*UpdateNetworkElementResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +func (UnimplementedNetworkElementServiceServer) DeleteMne(context.Context, *DeleteMneRequest) (*DeleteMneResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMne not implemented") +} +func (UnimplementedNetworkElementServiceServer) GetChangeList(context.Context, *GetChangeListRequest) (*GetChangeListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChangeList not implemented") +} +func (UnimplementedNetworkElementServiceServer) GetChange(context.Context, *GetChangeRequest) (*GetChangeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChange not implemented") +} +func (UnimplementedNetworkElementServiceServer) SetChangeList(context.Context, *SetChangeListRequest) (*SetChangeListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetChangeList not implemented") +} +func (UnimplementedNetworkElementServiceServer) SubscribePath(*SubscribePathRequest, NetworkElementService_SubscribePathServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribePath not implemented") } func (UnimplementedNetworkElementServiceServer) mustEmbedUnimplementedNetworkElementServiceServer() {} @@ -108,78 +279,207 @@ func RegisterNetworkElementServiceServer(s grpc.ServiceRegistrar, srv NetworkEle s.RegisterService(&NetworkElementService_ServiceDesc, srv) } -func _NetworkElementService_Add_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddNetworkElementRequest) +func _NetworkElementService_GetMneList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMneListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkElementServiceServer).GetMneList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gosdn.networkelement.NetworkElementService/GetMneList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkElementServiceServer).GetMneList(ctx, req.(*GetMneListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkElementService_GetFlattenedMneList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMneListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkElementServiceServer).GetFlattenedMneList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gosdn.networkelement.NetworkElementService/GetFlattenedMneList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkElementServiceServer).GetFlattenedMneList(ctx, req.(*GetMneListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkElementService_GetMne_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMneRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NetworkElementServiceServer).Add(ctx, in) + return srv.(NetworkElementServiceServer).GetMne(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gosdn.networkelement.NetworkElementService/Add", + FullMethod: "/gosdn.networkelement.NetworkElementService/GetMne", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkElementServiceServer).Add(ctx, req.(*AddNetworkElementRequest)) + return srv.(NetworkElementServiceServer).GetMne(ctx, req.(*GetMneRequest)) } return interceptor(ctx, in, info, handler) } -func _NetworkElementService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetNetworkElementRequest) +func _NetworkElementService_SetMneList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetMneListRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NetworkElementServiceServer).Get(ctx, in) + return srv.(NetworkElementServiceServer).SetMneList(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gosdn.networkelement.NetworkElementService/Get", + FullMethod: "/gosdn.networkelement.NetworkElementService/SetMneList", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkElementServiceServer).Get(ctx, req.(*GetNetworkElementRequest)) + return srv.(NetworkElementServiceServer).SetMneList(ctx, req.(*SetMneListRequest)) } return interceptor(ctx, in, info, handler) } -func _NetworkElementService_GetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAllNetworkElementRequest) +func _NetworkElementService_GetPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPathRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NetworkElementServiceServer).GetAll(ctx, in) + return srv.(NetworkElementServiceServer).GetPath(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gosdn.networkelement.NetworkElementService/GetAll", + FullMethod: "/gosdn.networkelement.NetworkElementService/GetPath", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkElementServiceServer).GetAll(ctx, req.(*GetAllNetworkElementRequest)) + return srv.(NetworkElementServiceServer).GetPath(ctx, req.(*GetPathRequest)) } return interceptor(ctx, in, info, handler) } -func _NetworkElementService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateNetworkElementRequest) +func _NetworkElementService_SetPathList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetPathListRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NetworkElementServiceServer).Update(ctx, in) + return srv.(NetworkElementServiceServer).SetPathList(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gosdn.networkelement.NetworkElementService/Update", + FullMethod: "/gosdn.networkelement.NetworkElementService/SetPathList", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkElementServiceServer).Update(ctx, req.(*UpdateNetworkElementRequest)) + return srv.(NetworkElementServiceServer).SetPathList(ctx, req.(*SetPathListRequest)) } return interceptor(ctx, in, info, handler) } +func _NetworkElementService_DeleteMne_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteMneRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkElementServiceServer).DeleteMne(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gosdn.networkelement.NetworkElementService/DeleteMne", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkElementServiceServer).DeleteMne(ctx, req.(*DeleteMneRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkElementService_GetChangeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChangeListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkElementServiceServer).GetChangeList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gosdn.networkelement.NetworkElementService/GetChangeList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkElementServiceServer).GetChangeList(ctx, req.(*GetChangeListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkElementService_GetChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChangeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkElementServiceServer).GetChange(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gosdn.networkelement.NetworkElementService/GetChange", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkElementServiceServer).GetChange(ctx, req.(*GetChangeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkElementService_SetChangeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetChangeListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkElementServiceServer).SetChangeList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gosdn.networkelement.NetworkElementService/SetChangeList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkElementServiceServer).SetChangeList(ctx, req.(*SetChangeListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkElementService_SubscribePath_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribePathRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NetworkElementServiceServer).SubscribePath(m, &networkElementServiceSubscribePathServer{stream}) +} + +type NetworkElementService_SubscribePathServer interface { + Send(*SubscribePathResponse) error + grpc.ServerStream +} + +type networkElementServiceSubscribePathServer struct { + grpc.ServerStream +} + +func (x *networkElementServiceSubscribePathServer) Send(m *SubscribePathResponse) error { + return x.ServerStream.SendMsg(m) +} + // NetworkElementService_ServiceDesc is the grpc.ServiceDesc for NetworkElementService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -188,22 +488,52 @@ var NetworkElementService_ServiceDesc = grpc.ServiceDesc{ HandlerType: (*NetworkElementServiceServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "Add", - Handler: _NetworkElementService_Add_Handler, + MethodName: "GetMneList", + Handler: _NetworkElementService_GetMneList_Handler, + }, + { + MethodName: "GetFlattenedMneList", + Handler: _NetworkElementService_GetFlattenedMneList_Handler, + }, + { + MethodName: "GetMne", + Handler: _NetworkElementService_GetMne_Handler, + }, + { + MethodName: "SetMneList", + Handler: _NetworkElementService_SetMneList_Handler, + }, + { + MethodName: "GetPath", + Handler: _NetworkElementService_GetPath_Handler, + }, + { + MethodName: "SetPathList", + Handler: _NetworkElementService_SetPathList_Handler, }, { - MethodName: "Get", - Handler: _NetworkElementService_Get_Handler, + MethodName: "DeleteMne", + Handler: _NetworkElementService_DeleteMne_Handler, }, { - MethodName: "GetAll", - Handler: _NetworkElementService_GetAll_Handler, + MethodName: "GetChangeList", + Handler: _NetworkElementService_GetChangeList_Handler, }, { - MethodName: "Update", - Handler: _NetworkElementService_Update_Handler, + MethodName: "GetChange", + Handler: _NetworkElementService_GetChange_Handler, + }, + { + MethodName: "SetChangeList", + Handler: _NetworkElementService_SetChangeList_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SubscribePath", + Handler: _NetworkElementService_SubscribePath_Handler, + ServerStreams: true, }, }, - Streams: []grpc.StreamDesc{}, Metadata: "gosdn/networkelement/networkelement.proto", } diff --git a/api/go/gosdn/pnd/pnd.pb.go b/api/go/gosdn/pnd/pnd.pb.go index 312077b0b9a59afc919ff3353be6573ff089fde3..520b9a365580b77f20fa416879d116181c7003e4 100644 --- a/api/go/gosdn/pnd/pnd.pb.go +++ b/api/go/gosdn/pnd/pnd.pb.go @@ -7,10 +7,11 @@ package pnd import ( + _ "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" southbound "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" - transport "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" + _ "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - gnmi "github.com/openconfig/gnmi/proto/gnmi" + _ "github.com/openconfig/gnmi/proto/gnmi" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -26,113 +27,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type ChangeState int32 - -const ( - ChangeState_CHANGE_STATE_UNSPECIFIED ChangeState = 0 - ChangeState_CHANGE_STATE_PENDING ChangeState = 1 - ChangeState_CHANGE_STATE_COMMITTED ChangeState = 2 - ChangeState_CHANGE_STATE_CONFIRMED ChangeState = 3 - ChangeState_CHANGE_STATE_INCONSISTENT ChangeState = 4 -) - -// Enum value maps for ChangeState. -var ( - ChangeState_name = map[int32]string{ - 0: "CHANGE_STATE_UNSPECIFIED", - 1: "CHANGE_STATE_PENDING", - 2: "CHANGE_STATE_COMMITTED", - 3: "CHANGE_STATE_CONFIRMED", - 4: "CHANGE_STATE_INCONSISTENT", - } - ChangeState_value = map[string]int32{ - "CHANGE_STATE_UNSPECIFIED": 0, - "CHANGE_STATE_PENDING": 1, - "CHANGE_STATE_COMMITTED": 2, - "CHANGE_STATE_CONFIRMED": 3, - "CHANGE_STATE_INCONSISTENT": 4, - } -) - -func (x ChangeState) Enum() *ChangeState { - p := new(ChangeState) - *p = x - return p -} - -func (x ChangeState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ChangeState) Descriptor() protoreflect.EnumDescriptor { - return file_gosdn_pnd_pnd_proto_enumTypes[0].Descriptor() -} - -func (ChangeState) Type() protoreflect.EnumType { - return &file_gosdn_pnd_pnd_proto_enumTypes[0] -} - -func (x ChangeState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ChangeState.Descriptor instead. -func (ChangeState) EnumDescriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{0} -} - -type ApiOperation int32 - -const ( - ApiOperation_API_OPERATION_UNSPECIFIED ApiOperation = 0 - ApiOperation_API_OPERATION_UPDATE ApiOperation = 1 - ApiOperation_API_OPERATION_REPLACE ApiOperation = 2 - ApiOperation_API_OPERATION_DELETE ApiOperation = 3 -) - -// Enum value maps for ApiOperation. -var ( - ApiOperation_name = map[int32]string{ - 0: "API_OPERATION_UNSPECIFIED", - 1: "API_OPERATION_UPDATE", - 2: "API_OPERATION_REPLACE", - 3: "API_OPERATION_DELETE", - } - ApiOperation_value = map[string]int32{ - "API_OPERATION_UNSPECIFIED": 0, - "API_OPERATION_UPDATE": 1, - "API_OPERATION_REPLACE": 2, - "API_OPERATION_DELETE": 3, - } -) - -func (x ApiOperation) Enum() *ApiOperation { - p := new(ApiOperation) - *p = x - return p -} - -func (x ApiOperation) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ApiOperation) Descriptor() protoreflect.EnumDescriptor { - return file_gosdn_pnd_pnd_proto_enumTypes[1].Descriptor() -} - -func (ApiOperation) Type() protoreflect.EnumType { - return &file_gosdn_pnd_pnd_proto_enumTypes[1] -} - -func (x ApiOperation) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ApiOperation.Descriptor instead. -func (ApiOperation) EnumDescriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{1} -} - type SbiType int32 const ( @@ -169,11 +63,11 @@ func (x SbiType) String() string { } func (SbiType) Descriptor() protoreflect.EnumDescriptor { - return file_gosdn_pnd_pnd_proto_enumTypes[2].Descriptor() + return file_gosdn_pnd_pnd_proto_enumTypes[0].Descriptor() } func (SbiType) Type() protoreflect.EnumType { - return &file_gosdn_pnd_pnd_proto_enumTypes[2] + return &file_gosdn_pnd_pnd_proto_enumTypes[0] } func (x SbiType) Number() protoreflect.EnumNumber { @@ -182,59 +76,7 @@ func (x SbiType) Number() protoreflect.EnumNumber { // Deprecated: Use SbiType.Descriptor instead. func (SbiType) EnumDescriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{2} -} - -type Operation int32 - -const ( - Operation_OPERATION_UNSPECIFIED Operation = 0 - Operation_OPERATION_CREATE Operation = 1 - Operation_OPERATION_COMMIT Operation = 2 - Operation_OPERATION_CONFIRM Operation = 3 -) - -// Enum value maps for Operation. -var ( - Operation_name = map[int32]string{ - 0: "OPERATION_UNSPECIFIED", - 1: "OPERATION_CREATE", - 2: "OPERATION_COMMIT", - 3: "OPERATION_CONFIRM", - } - Operation_value = map[string]int32{ - "OPERATION_UNSPECIFIED": 0, - "OPERATION_CREATE": 1, - "OPERATION_COMMIT": 2, - "OPERATION_CONFIRM": 3, - } -) - -func (x Operation) Enum() *Operation { - p := new(Operation) - *p = x - return p -} - -func (x Operation) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Operation) Descriptor() protoreflect.EnumDescriptor { - return file_gosdn_pnd_pnd_proto_enumTypes[3].Descriptor() -} - -func (Operation) Type() protoreflect.EnumType { - return &file_gosdn_pnd_pnd_proto_enumTypes[3] -} - -func (x Operation) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Operation.Descriptor instead. -func (Operation) EnumDescriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{3} + return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{0} } type Status int32 @@ -270,11 +112,11 @@ func (x Status) String() string { } func (Status) Descriptor() protoreflect.EnumDescriptor { - return file_gosdn_pnd_pnd_proto_enumTypes[4].Descriptor() + return file_gosdn_pnd_pnd_proto_enumTypes[1].Descriptor() } func (Status) Type() protoreflect.EnumType { - return &file_gosdn_pnd_pnd_proto_enumTypes[4] + return &file_gosdn_pnd_pnd_proto_enumTypes[1] } func (x Status) Number() protoreflect.EnumNumber { @@ -283,124 +125,21 @@ func (x Status) Number() protoreflect.EnumNumber { // Deprecated: Use Status.Descriptor instead. func (Status) EnumDescriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{4} -} - -type SubscriptionMode int32 - -const ( - SubscriptionMode_SUBSCRIPTION_MODE_UNSPECIFIED SubscriptionMode = 0 - SubscriptionMode_SUBSCRIPTION_MODE_ONCE SubscriptionMode = 1 - SubscriptionMode_SUBSCRIPTION_MODE_STREAM SubscriptionMode = 2 - SubscriptionMode_SUBSCRIPTION_MODE_POLL SubscriptionMode = 3 -) - -// Enum value maps for SubscriptionMode. -var ( - SubscriptionMode_name = map[int32]string{ - 0: "SUBSCRIPTION_MODE_UNSPECIFIED", - 1: "SUBSCRIPTION_MODE_ONCE", - 2: "SUBSCRIPTION_MODE_STREAM", - 3: "SUBSCRIPTION_MODE_POLL", - } - SubscriptionMode_value = map[string]int32{ - "SUBSCRIPTION_MODE_UNSPECIFIED": 0, - "SUBSCRIPTION_MODE_ONCE": 1, - "SUBSCRIPTION_MODE_STREAM": 2, - "SUBSCRIPTION_MODE_POLL": 3, - } -) - -func (x SubscriptionMode) Enum() *SubscriptionMode { - p := new(SubscriptionMode) - *p = x - return p -} - -func (x SubscriptionMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SubscriptionMode) Descriptor() protoreflect.EnumDescriptor { - return file_gosdn_pnd_pnd_proto_enumTypes[5].Descriptor() -} - -func (SubscriptionMode) Type() protoreflect.EnumType { - return &file_gosdn_pnd_pnd_proto_enumTypes[5] -} - -func (x SubscriptionMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SubscriptionMode.Descriptor instead. -func (SubscriptionMode) EnumDescriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{5} -} - -type StreamMode int32 - -const ( - StreamMode_STREAM_MODE_UNSPECIFIED StreamMode = 0 - StreamMode_STREAM_MODE_TARGET_DEFINED StreamMode = 1 // The target selects the relevant mode for each element. - StreamMode_STREAM_MODE_ON_CHANGE StreamMode = 2 // The target sends an update on element value change. - StreamMode_STREAM_MODE_SAMPLE StreamMode = 3 // The target samples values according to the interval. -) - -// Enum value maps for StreamMode. -var ( - StreamMode_name = map[int32]string{ - 0: "STREAM_MODE_UNSPECIFIED", - 1: "STREAM_MODE_TARGET_DEFINED", - 2: "STREAM_MODE_ON_CHANGE", - 3: "STREAM_MODE_SAMPLE", - } - StreamMode_value = map[string]int32{ - "STREAM_MODE_UNSPECIFIED": 0, - "STREAM_MODE_TARGET_DEFINED": 1, - "STREAM_MODE_ON_CHANGE": 2, - "STREAM_MODE_SAMPLE": 3, - } -) - -func (x StreamMode) Enum() *StreamMode { - p := new(StreamMode) - *p = x - return p -} - -func (x StreamMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (StreamMode) Descriptor() protoreflect.EnumDescriptor { - return file_gosdn_pnd_pnd_proto_enumTypes[6].Descriptor() -} - -func (StreamMode) Type() protoreflect.EnumType { - return &file_gosdn_pnd_pnd_proto_enumTypes[6] -} - -func (x StreamMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use StreamMode.Descriptor instead. -func (StreamMode) EnumDescriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{6} + return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{1} } -type GetMneListRequest struct { +type PrincipalNetworkDomain 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. - Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,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"` } -func (x *GetMneListRequest) Reset() { - *x = GetMneListRequest{} +func (x *PrincipalNetworkDomain) Reset() { + *x = PrincipalNetworkDomain{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -408,13 +147,13 @@ func (x *GetMneListRequest) Reset() { } } -func (x *GetMneListRequest) String() string { +func (x *PrincipalNetworkDomain) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMneListRequest) ProtoMessage() {} +func (*PrincipalNetworkDomain) ProtoMessage() {} -func (x *GetMneListRequest) ProtoReflect() protoreflect.Message { +func (x *PrincipalNetworkDomain) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -426,37 +165,43 @@ func (x *GetMneListRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMneListRequest.ProtoReflect.Descriptor instead. -func (*GetMneListRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use PrincipalNetworkDomain.ProtoReflect.Descriptor instead. +func (*PrincipalNetworkDomain) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{0} } -func (x *GetMneListRequest) GetTimestamp() int64 { +func (x *PrincipalNetworkDomain) GetId() string { if x != nil { - return x.Timestamp + return x.Id } - return 0 + return "" } -func (x *GetMneListRequest) GetPid() string { +func (x *PrincipalNetworkDomain) GetName() string { if x != nil { - return x.Pid + return x.Name + } + return "" +} + +func (x *PrincipalNetworkDomain) GetDescription() string { + if x != nil { + return x.Description } return "" } -type GetMneRequest struct { +type GetSbiListRequest 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. - Mneid string `protobuf:"bytes,2,opt,name=mneid,proto3" json:"mneid,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` + Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"` } -func (x *GetMneRequest) Reset() { - *x = GetMneRequest{} +func (x *GetSbiListRequest) Reset() { + *x = GetSbiListRequest{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -464,13 +209,13 @@ func (x *GetMneRequest) Reset() { } } -func (x *GetMneRequest) String() string { +func (x *GetSbiListRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMneRequest) ProtoMessage() {} +func (*GetSbiListRequest) ProtoMessage() {} -func (x *GetMneRequest) ProtoReflect() protoreflect.Message { +func (x *GetSbiListRequest) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -482,43 +227,39 @@ func (x *GetMneRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMneRequest.ProtoReflect.Descriptor instead. -func (*GetMneRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetSbiListRequest.ProtoReflect.Descriptor instead. +func (*GetSbiListRequest) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{1} } -func (x *GetMneRequest) GetTimestamp() int64 { +func (x *GetSbiListRequest) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetMneRequest) GetMneid() string { - if x != nil { - return x.Mneid - } - return "" -} - -func (x *GetMneRequest) GetPid() string { +func (x *GetSbiListRequest) GetPid() string { if x != nil { return x.Pid } return "" } -type GetSbiListRequest struct { +type GetSbiListResponse 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. - Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Sbi []*southbound.SouthboundInterface `protobuf:"bytes,3,rep,name=sbi,proto3" json:"sbi,omitempty"` } -func (x *GetSbiListRequest) Reset() { - *x = GetSbiListRequest{} +func (x *GetSbiListResponse) Reset() { + *x = GetSbiListResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -526,13 +267,13 @@ func (x *GetSbiListRequest) Reset() { } } -func (x *GetSbiListRequest) String() string { +func (x *GetSbiListResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetSbiListRequest) ProtoMessage() {} +func (*GetSbiListResponse) ProtoMessage() {} -func (x *GetSbiListRequest) ProtoReflect() protoreflect.Message { +func (x *GetSbiListResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -544,23 +285,30 @@ func (x *GetSbiListRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetSbiListRequest.ProtoReflect.Descriptor instead. -func (*GetSbiListRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetSbiListResponse.ProtoReflect.Descriptor instead. +func (*GetSbiListResponse) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{2} } -func (x *GetSbiListRequest) GetTimestamp() int64 { +func (x *GetSbiListResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetSbiListRequest) GetPid() string { +func (x *GetSbiListResponse) GetPnd() *PrincipalNetworkDomain { if x != nil { - return x.Pid + return x.Pnd } - return "" + return nil +} + +func (x *GetSbiListResponse) GetSbi() []*southbound.SouthboundInterface { + if x != nil { + return x.Sbi + } + return nil } type GetSbiRequest struct { @@ -626,17 +374,20 @@ func (x *GetSbiRequest) GetPid() string { return "" } -type GetChangeListRequest struct { +type GetSbiResponse 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. - Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` + Sbi *southbound.SouthboundInterface `protobuf:"bytes,3,opt,name=sbi,proto3" json:"sbi,omitempty"` } -func (x *GetChangeListRequest) Reset() { - *x = GetChangeListRequest{} +func (x *GetSbiResponse) Reset() { + *x = GetSbiResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -644,13 +395,13 @@ func (x *GetChangeListRequest) Reset() { } } -func (x *GetChangeListRequest) String() string { +func (x *GetSbiResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetChangeListRequest) ProtoMessage() {} +func (*GetSbiResponse) ProtoMessage() {} -func (x *GetChangeListRequest) ProtoReflect() protoreflect.Message { +func (x *GetSbiResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -662,37 +413,44 @@ func (x *GetChangeListRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetChangeListRequest.ProtoReflect.Descriptor instead. -func (*GetChangeListRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetSbiResponse.ProtoReflect.Descriptor instead. +func (*GetSbiResponse) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{4} } -func (x *GetChangeListRequest) GetTimestamp() int64 { +func (x *GetSbiResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetChangeListRequest) GetPid() string { +func (x *GetSbiResponse) GetPnd() *PrincipalNetworkDomain { if x != nil { - return x.Pid + return x.Pnd } - return "" + return nil +} + +func (x *GetSbiResponse) GetSbi() *southbound.SouthboundInterface { + if x != nil { + return x.Sbi + } + return nil } -type GetChangeRequest struct { +type SetSbiListRequest 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. - Cuid []string `protobuf:"bytes,2,rep,name=cuid,proto3" json:"cuid,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` -} - -func (x *GetChangeRequest) Reset() { - *x = GetChangeRequest{} + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Sbi []*SetSbi `protobuf:"bytes,2,rep,name=sbi,proto3" json:"sbi,omitempty"` + Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` +} + +func (x *SetSbiListRequest) Reset() { + *x = SetSbiListRequest{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -700,13 +458,13 @@ func (x *GetChangeRequest) Reset() { } } -func (x *GetChangeRequest) String() string { +func (x *SetSbiListRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetChangeRequest) ProtoMessage() {} +func (*SetSbiListRequest) ProtoMessage() {} -func (x *GetChangeRequest) ProtoReflect() protoreflect.Message { +func (x *SetSbiListRequest) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -718,45 +476,42 @@ func (x *GetChangeRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetChangeRequest.ProtoReflect.Descriptor instead. -func (*GetChangeRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SetSbiListRequest.ProtoReflect.Descriptor instead. +func (*SetSbiListRequest) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{5} } -func (x *GetChangeRequest) GetTimestamp() int64 { +func (x *SetSbiListRequest) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetChangeRequest) GetCuid() []string { +func (x *SetSbiListRequest) GetSbi() []*SetSbi { if x != nil { - return x.Cuid + return x.Sbi } return nil } -func (x *GetChangeRequest) GetPid() string { +func (x *SetSbiListRequest) GetPid() string { if x != nil { return x.Pid } return "" } -type GetPathRequest 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. - Mneid string `protobuf:"bytes,2,opt,name=mneid,proto3" json:"mneid,omitempty"` - Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` - Pid string `protobuf:"bytes,4,opt,name=pid,proto3" json:"pid,omitempty"` + SbiType SbiType `protobuf:"varint,1,opt,name=sbi_type,json=sbiType,proto3,enum=gosdn.pnd.SbiType" json:"sbi_type,omitempty"` } -func (x *GetPathRequest) Reset() { - *x = GetPathRequest{} +func (x *SetSbi) Reset() { + *x = SetSbi{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -764,13 +519,13 @@ func (x *GetPathRequest) Reset() { } } -func (x *GetPathRequest) String() string { +func (x *SetSbi) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetPathRequest) ProtoMessage() {} +func (*SetSbi) ProtoMessage() {} -func (x *GetPathRequest) ProtoReflect() protoreflect.Message { +func (x *SetSbi) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -782,53 +537,30 @@ func (x *GetPathRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetPathRequest.ProtoReflect.Descriptor instead. -func (*GetPathRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SetSbi.ProtoReflect.Descriptor instead. +func (*SetSbi) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{6} } -func (x *GetPathRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *GetPathRequest) GetMneid() string { - if x != nil { - return x.Mneid - } - return "" -} - -func (x *GetPathRequest) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *GetPathRequest) GetPid() string { +func (x *SetSbi) GetSbiType() SbiType { if x != nil { - return x.Pid + return x.SbiType } - return "" + return SbiType_SBI_TYPE_UNSPECIFIED } -type GetMneResponse struct { +type SetSbiListResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - Mne *ManagedNetworkElement `protobuf:"bytes,3,opt,name=mne,proto3" json:"mne,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` + Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` } -func (x *GetMneResponse) Reset() { - *x = GetMneResponse{} +func (x *SetSbiListResponse) Reset() { + *x = SetSbiListResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -836,13 +568,13 @@ func (x *GetMneResponse) Reset() { } } -func (x *GetMneResponse) String() string { +func (x *SetSbiListResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMneResponse) ProtoMessage() {} +func (*SetSbiListResponse) ProtoMessage() {} -func (x *GetMneResponse) ProtoReflect() protoreflect.Message { +func (x *SetSbiListResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -854,46 +586,44 @@ func (x *GetMneResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMneResponse.ProtoReflect.Descriptor instead. -func (*GetMneResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use SetSbiListResponse.ProtoReflect.Descriptor instead. +func (*SetSbiListResponse) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{7} } -func (x *GetMneResponse) GetTimestamp() int64 { +func (x *SetSbiListResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetMneResponse) GetPnd() *PrincipalNetworkDomain { +func (x *SetSbiListResponse) GetStatus() Status { if x != nil { - return x.Pnd + return x.Status } - return nil + return Status_STATUS_UNSPECIFIED } -func (x *GetMneResponse) GetMne() *ManagedNetworkElement { +func (x *SetSbiListResponse) GetResponses() []*SetResponse { if x != nil { - return x.Mne + return x.Responses } return nil } -type GetMneListResponse struct { +type SetResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - Mne []*ManagedNetworkElement `protobuf:"bytes,3,rep,name=mne,proto3" json:"mne,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Status Status `protobuf:"varint,3,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` } -func (x *GetMneListResponse) Reset() { - *x = GetMneListResponse{} +func (x *SetResponse) Reset() { + *x = SetResponse{} if protoimpl.UnsafeEnabled { mi := &file_gosdn_pnd_pnd_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -901,13 +631,13 @@ func (x *GetMneListResponse) Reset() { } } -func (x *GetMneListResponse) String() string { +func (x *SetResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMneListResponse) ProtoMessage() {} +func (*SetResponse) ProtoMessage() {} -func (x *GetMneListResponse) ProtoReflect() protoreflect.Message { +func (x *SetResponse) ProtoReflect() protoreflect.Message { mi := &file_gosdn_pnd_pnd_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -919,2691 +649,240 @@ func (x *GetMneListResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMneListResponse.ProtoReflect.Descriptor instead. -func (*GetMneListResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use SetResponse.ProtoReflect.Descriptor instead. +func (*SetResponse) Descriptor() ([]byte, []int) { return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{8} } -func (x *GetMneListResponse) GetTimestamp() int64 { +func (x *SetResponse) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } -func (x *GetMneListResponse) GetPnd() *PrincipalNetworkDomain { +func (x *SetResponse) GetId() string { if x != nil { - return x.Pnd + return x.Id } - return nil + return "" } -func (x *GetMneListResponse) GetMne() []*ManagedNetworkElement { +func (x *SetResponse) GetStatus() Status { if x != nil { - return x.Mne - } - return nil -} - -type GetFlattenedMneListResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - Mne []*FlattenedManagedNetworkElement `protobuf:"bytes,3,rep,name=mne,proto3" json:"mne,omitempty"` -} - -func (x *GetFlattenedMneListResponse) Reset() { - *x = GetFlattenedMneListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + return x.Status } + return Status_STATUS_UNSPECIFIED } -func (x *GetFlattenedMneListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetFlattenedMneListResponse) ProtoMessage() {} - -func (x *GetFlattenedMneListResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +var File_gosdn_pnd_pnd_proto protoreflect.FileDescriptor -// Deprecated: Use GetFlattenedMneListResponse.ProtoReflect.Descriptor instead. -func (*GetFlattenedMneListResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{9} +var file_gosdn_pnd_pnd_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x70, 0x6e, 0x64, 0x2f, 0x70, 0x6e, 0x64, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 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, 0x1a, 0x1f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x74, 0x68, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2f, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x5e, 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, 0x22, 0x43, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x62, + 0x69, 0x4c, 0x69, 0x73, 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, 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, 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 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, 0x22, 0x51, 0x0a, 0x0d, 0x47, 0x65, 0x74, + 0x53, 0x62, 0x69, 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, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x9c, 0x01, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 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, 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, 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, + 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, 0x22, 0x68, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 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, 0x73, 0x62, 0x69, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, + 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x52, 0x03, + 0x73, 0x62, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x06, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x12, + 0x2d, 0x0a, 0x08, 0x73, 0x62, 0x69, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x62, + 0x69, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x62, 0x69, 0x54, 0x79, 0x70, 0x65, 0x22, 0x93, + 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 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, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, + 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x73, 0x22, 0x66, 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, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x6d, 0x0a, 0x07, + 0x53, 0x62, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x42, 0x49, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x42, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x50, + 0x45, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x42, + 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, + 0x49, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x42, 0x49, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e, 0x10, 0x03, 0x2a, 0x41, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, + 0x09, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x32, 0xb8, + 0x02, 0x0a, 0x0a, 0x50, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x63, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x6f, + 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64, + 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, + 0x12, 0x10, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x62, + 0x69, 0x73, 0x12, 0x5d, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x12, 0x18, 0x2e, 0x67, + 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, + 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x70, 0x6e, 0x64, 0x73, + 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x62, 0x69, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x64, + 0x7d, 0x12, 0x66, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x53, + 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, + 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x62, 0x69, 0x73, 0x42, 0xae, 0x02, 0x5a, 0x2d, 0x63, 0x6f, + 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, 0x2e, 0x64, 0x65, 0x2f, 0x64, + 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x70, 0x6e, 0x64, 0x92, 0x41, 0xfb, 0x01, 0x12, + 0xf8, 0x01, 0x0a, 0x10, 0x67, 0x6f, 0x53, 0x44, 0x4e, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x4d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x6f, 0x20, 0x63, 0x6f, 0x64, 0x65, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6f, 0x53, 0x44, 0x4e, 0x20, 0x6e, + 0x6f, 0x72, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x22, 0x3e, 0x0a, 0x18, 0x67, 0x6f, 0x53, 0x44, 0x4e, 0x20, 0x4e, 0x6f, 0x72, + 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, + 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, + 0x61, 0x70, 0x69, 0x2a, 0x50, 0x0a, 0x14, 0x42, 0x53, 0x44, 0x20, 0x33, 0x2d, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, + 0x64, 0x61, 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x2d, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x4c, 0x49, + 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x03, 0x30, 0x2e, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } -func (x *GetFlattenedMneListResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} +var ( + file_gosdn_pnd_pnd_proto_rawDescOnce sync.Once + file_gosdn_pnd_pnd_proto_rawDescData = file_gosdn_pnd_pnd_proto_rawDesc +) -func (x *GetFlattenedMneListResponse) GetPnd() *PrincipalNetworkDomain { - if x != nil { - return x.Pnd - } - return nil +func file_gosdn_pnd_pnd_proto_rawDescGZIP() []byte { + file_gosdn_pnd_pnd_proto_rawDescOnce.Do(func() { + file_gosdn_pnd_pnd_proto_rawDescData = protoimpl.X.CompressGZIP(file_gosdn_pnd_pnd_proto_rawDescData) + }) + return file_gosdn_pnd_pnd_proto_rawDescData } -func (x *GetFlattenedMneListResponse) GetMne() []*FlattenedManagedNetworkElement { - if x != nil { - return x.Mne - } - return nil +var file_gosdn_pnd_pnd_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_gosdn_pnd_pnd_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_gosdn_pnd_pnd_proto_goTypes = []interface{}{ + (SbiType)(0), // 0: gosdn.pnd.SbiType + (Status)(0), // 1: gosdn.pnd.Status + (*PrincipalNetworkDomain)(nil), // 2: gosdn.pnd.PrincipalNetworkDomain + (*GetSbiListRequest)(nil), // 3: gosdn.pnd.GetSbiListRequest + (*GetSbiListResponse)(nil), // 4: gosdn.pnd.GetSbiListResponse + (*GetSbiRequest)(nil), // 5: gosdn.pnd.GetSbiRequest + (*GetSbiResponse)(nil), // 6: gosdn.pnd.GetSbiResponse + (*SetSbiListRequest)(nil), // 7: gosdn.pnd.SetSbiListRequest + (*SetSbi)(nil), // 8: gosdn.pnd.SetSbi + (*SetSbiListResponse)(nil), // 9: gosdn.pnd.SetSbiListResponse + (*SetResponse)(nil), // 10: gosdn.pnd.SetResponse + (*southbound.SouthboundInterface)(nil), // 11: gosdn.southbound.SouthboundInterface } - -type GetSbiResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - Sbi *southbound.SouthboundInterface `protobuf:"bytes,3,opt,name=sbi,proto3" json:"sbi,omitempty"` +var file_gosdn_pnd_pnd_proto_depIdxs = []int32{ + 2, // 0: gosdn.pnd.GetSbiListResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain + 11, // 1: gosdn.pnd.GetSbiListResponse.sbi:type_name -> gosdn.southbound.SouthboundInterface + 2, // 2: gosdn.pnd.GetSbiResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain + 11, // 3: gosdn.pnd.GetSbiResponse.sbi:type_name -> gosdn.southbound.SouthboundInterface + 8, // 4: gosdn.pnd.SetSbiListRequest.sbi:type_name -> gosdn.pnd.SetSbi + 0, // 5: gosdn.pnd.SetSbi.sbi_type:type_name -> gosdn.pnd.SbiType + 1, // 6: gosdn.pnd.SetSbiListResponse.status:type_name -> gosdn.pnd.Status + 10, // 7: gosdn.pnd.SetSbiListResponse.responses:type_name -> gosdn.pnd.SetResponse + 1, // 8: gosdn.pnd.SetResponse.status:type_name -> gosdn.pnd.Status + 3, // 9: gosdn.pnd.PndService.GetSbiList:input_type -> gosdn.pnd.GetSbiListRequest + 5, // 10: gosdn.pnd.PndService.GetSbi:input_type -> gosdn.pnd.GetSbiRequest + 7, // 11: gosdn.pnd.PndService.SetSbiList:input_type -> gosdn.pnd.SetSbiListRequest + 4, // 12: gosdn.pnd.PndService.GetSbiList:output_type -> gosdn.pnd.GetSbiListResponse + 6, // 13: gosdn.pnd.PndService.GetSbi:output_type -> gosdn.pnd.GetSbiResponse + 9, // 14: gosdn.pnd.PndService.SetSbiList:output_type -> gosdn.pnd.SetSbiListResponse + 12, // [12:15] is the sub-list for method output_type + 9, // [9:12] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } -func (x *GetSbiResponse) Reset() { - *x = GetSbiResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func init() { file_gosdn_pnd_pnd_proto_init() } +func file_gosdn_pnd_pnd_proto_init() { + if File_gosdn_pnd_pnd_proto != nil { + return } -} - -func (x *GetSbiResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSbiResponse) ProtoMessage() {} - -func (x *GetSbiResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) + if !protoimpl.UnsafeEnabled { + file_gosdn_pnd_pnd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrincipalNetworkDomain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSbiResponse.ProtoReflect.Descriptor instead. -func (*GetSbiResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{10} -} - -func (x *GetSbiResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *GetSbiResponse) GetPnd() *PrincipalNetworkDomain { - if x != nil { - return x.Pnd - } - return nil -} - -func (x *GetSbiResponse) GetSbi() *southbound.SouthboundInterface { - if x != nil { - return x.Sbi - } - return nil -} - -type GetSbiListResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - Sbi []*southbound.SouthboundInterface `protobuf:"bytes,3,rep,name=sbi,proto3" json:"sbi,omitempty"` -} - -func (x *GetSbiListResponse) Reset() { - *x = GetSbiListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetSbiListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSbiListResponse) ProtoMessage() {} - -func (x *GetSbiListResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSbiListResponse.ProtoReflect.Descriptor instead. -func (*GetSbiListResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{11} -} - -func (x *GetSbiListResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *GetSbiListResponse) GetPnd() *PrincipalNetworkDomain { - if x != nil { - return x.Pnd - } - return nil -} - -func (x *GetSbiListResponse) GetSbi() []*southbound.SouthboundInterface { - if x != nil { - return x.Sbi - } - return nil -} - -type GetPathResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - MneNotification []*gnmi.Notification `protobuf:"bytes,3,rep,name=mne_notification,json=mneNotification,proto3" json:"mne_notification,omitempty"` -} - -func (x *GetPathResponse) Reset() { - *x = GetPathResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetPathResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPathResponse) ProtoMessage() {} - -func (x *GetPathResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPathResponse.ProtoReflect.Descriptor instead. -func (*GetPathResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{12} -} - -func (x *GetPathResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *GetPathResponse) GetPnd() *PrincipalNetworkDomain { - if x != nil { - return x.Pnd - } - return nil -} - -func (x *GetPathResponse) GetMneNotification() []*gnmi.Notification { - if x != nil { - return x.MneNotification - } - return nil -} - -type GetChangeResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - Change []*Change `protobuf:"bytes,3,rep,name=change,proto3" json:"change,omitempty"` -} - -func (x *GetChangeResponse) Reset() { - *x = GetChangeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChangeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChangeResponse) ProtoMessage() {} - -func (x *GetChangeResponse) ProtoReflect() protoreflect.Message { - mi := &file_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 mi.MessageOf(x) -} - -// Deprecated: Use GetChangeResponse.ProtoReflect.Descriptor instead. -func (*GetChangeResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{13} -} - -func (x *GetChangeResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *GetChangeResponse) GetPnd() *PrincipalNetworkDomain { - if x != nil { - return x.Pnd - } - return nil -} - -func (x *GetChangeResponse) GetChange() []*Change { - if x != nil { - return x.Change - } - return nil -} - -type GetChangeListResponse 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. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - Pnd *PrincipalNetworkDomain `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"` - Change []*Change `protobuf:"bytes,3,rep,name=change,proto3" json:"change,omitempty"` -} - -func (x *GetChangeListResponse) Reset() { - *x = GetChangeListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChangeListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChangeListResponse) ProtoMessage() {} - -func (x *GetChangeListResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChangeListResponse.ProtoReflect.Descriptor instead. -func (*GetChangeListResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{14} -} - -func (x *GetChangeListResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *GetChangeListResponse) GetPnd() *PrincipalNetworkDomain { - if x != nil { - return x.Pnd - } - return nil -} - -func (x *GetChangeListResponse) 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"` -} - -func (x *PrincipalNetworkDomain) Reset() { - *x = PrincipalNetworkDomain{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrincipalNetworkDomain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrincipalNetworkDomain) ProtoMessage() {} - -func (x *PrincipalNetworkDomain) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrincipalNetworkDomain.ProtoReflect.Descriptor instead. -func (*PrincipalNetworkDomain) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{15} -} - -func (x *PrincipalNetworkDomain) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *PrincipalNetworkDomain) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *PrincipalNetworkDomain) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -type ManagedNetworkElement 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"` - MneNotification []*gnmi.Notification `protobuf:"bytes,3,rep,name=mne_notification,json=mneNotification,proto3" json:"mne_notification,omitempty"` - Sbi *southbound.SouthboundInterface `protobuf:"bytes,4,opt,name=sbi,proto3" json:"sbi,omitempty"` -} - -func (x *ManagedNetworkElement) Reset() { - *x = ManagedNetworkElement{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ManagedNetworkElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ManagedNetworkElement) ProtoMessage() {} - -func (x *ManagedNetworkElement) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ManagedNetworkElement.ProtoReflect.Descriptor instead. -func (*ManagedNetworkElement) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{16} -} - -func (x *ManagedNetworkElement) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *ManagedNetworkElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ManagedNetworkElement) GetMneNotification() []*gnmi.Notification { - if x != nil { - return x.MneNotification - } - return nil -} - -func (x *ManagedNetworkElement) GetSbi() *southbound.SouthboundInterface { - if x != nil { - return x.Sbi - } - return nil -} - -type FlattenedManagedNetworkElement 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"` - Sbi string `protobuf:"bytes,3,opt,name=sbi,proto3" json:"sbi,omitempty"` -} - -func (x *FlattenedManagedNetworkElement) Reset() { - *x = FlattenedManagedNetworkElement{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FlattenedManagedNetworkElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FlattenedManagedNetworkElement) ProtoMessage() {} - -func (x *FlattenedManagedNetworkElement) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FlattenedManagedNetworkElement.ProtoReflect.Descriptor instead. -func (*FlattenedManagedNetworkElement) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{17} -} - -func (x *FlattenedManagedNetworkElement) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *FlattenedManagedNetworkElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *FlattenedManagedNetworkElement) GetSbi() string { - if x != nil { - return x.Sbi - } - return "" -} - -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 ChangeState `protobuf:"varint,3,opt,name=state,proto3,enum=gosdn.pnd.ChangeState" json:"state,omitempty"` - Diff *gnmi.Notification `protobuf:"bytes,4,opt,name=diff,proto3" json:"diff,omitempty"` -} - -func (x *Change) Reset() { - *x = Change{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Change) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Change) ProtoMessage() {} - -func (x *Change) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Change.ProtoReflect.Descriptor instead. -func (*Change) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{18} -} - -func (x *Change) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Change) GetAge() int64 { - if x != nil { - return x.Age - } - return 0 -} - -func (x *Change) GetState() ChangeState { - if x != nil { - return x.State - } - return ChangeState_CHANGE_STATE_UNSPECIFIED -} - -func (x *Change) GetDiff() *gnmi.Notification { - if x != nil { - return x.Diff - } - return nil -} - -type SetMneListRequest 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. - Mne []*SetMne `protobuf:"bytes,2,rep,name=mne,proto3" json:"mne,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` -} - -func (x *SetMneListRequest) Reset() { - *x = SetMneListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetMneListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMneListRequest) ProtoMessage() {} - -func (x *SetMneListRequest) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_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 SetMneListRequest.ProtoReflect.Descriptor instead. -func (*SetMneListRequest) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{19} -} - -func (x *SetMneListRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetMneListRequest) GetMne() []*SetMne { - if x != nil { - return x.Mne - } - return nil -} - -func (x *SetMneListRequest) GetPid() string { - if x != nil { - return x.Pid - } - return "" -} - -type SetSbiListRequest 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. - Sbi []*SetSbi `protobuf:"bytes,2,rep,name=sbi,proto3" json:"sbi,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` -} - -func (x *SetSbiListRequest) Reset() { - *x = SetSbiListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetSbiListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetSbiListRequest) ProtoMessage() {} - -func (x *SetSbiListRequest) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetSbiListRequest.ProtoReflect.Descriptor instead. -func (*SetSbiListRequest) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{20} -} - -func (x *SetSbiListRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetSbiListRequest) GetSbi() []*SetSbi { - if x != nil { - return x.Sbi - } - return nil -} - -func (x *SetSbiListRequest) GetPid() string { - if x != nil { - return x.Pid - } - return "" -} - -type SetChangeListRequest 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. - Change []*SetChange `protobuf:"bytes,2,rep,name=change,proto3" json:"change,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` -} - -func (x *SetChangeListRequest) Reset() { - *x = SetChangeListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetChangeListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetChangeListRequest) ProtoMessage() {} - -func (x *SetChangeListRequest) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetChangeListRequest.ProtoReflect.Descriptor instead. -func (*SetChangeListRequest) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{21} -} - -func (x *SetChangeListRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetChangeListRequest) GetChange() []*SetChange { - if x != nil { - return x.Change - } - return nil -} - -func (x *SetChangeListRequest) GetPid() string { - if x != nil { - return x.Pid - } - return "" -} - -type SetPathListRequest 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. - ChangeRequest []*ChangeRequest `protobuf:"bytes,2,rep,name=change_request,json=changeRequest,proto3" json:"change_request,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` -} - -func (x *SetPathListRequest) Reset() { - *x = SetPathListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetPathListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetPathListRequest) ProtoMessage() {} - -func (x *SetPathListRequest) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_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 SetPathListRequest.ProtoReflect.Descriptor instead. -func (*SetPathListRequest) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{22} -} - -func (x *SetPathListRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetPathListRequest) GetChangeRequest() []*ChangeRequest { - if x != nil { - return x.ChangeRequest - } - return nil -} - -func (x *SetPathListRequest) GetPid() string { - if x != nil { - return x.Pid - } - return "" -} - -//TODO: rename -type ChangeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mneid string `protobuf:"bytes,1,opt,name=mneid,proto3" json:"mneid,omitempty"` - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` - Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` - ApiOp ApiOperation `protobuf:"varint,4,opt,name=api_op,json=apiOp,proto3,enum=gosdn.pnd.ApiOperation" json:"api_op,omitempty"` -} - -func (x *ChangeRequest) Reset() { - *x = ChangeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChangeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChangeRequest) ProtoMessage() {} - -func (x *ChangeRequest) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_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 ChangeRequest.ProtoReflect.Descriptor instead. -func (*ChangeRequest) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{23} -} - -func (x *ChangeRequest) GetMneid() string { - if x != nil { - return x.Mneid - } - return "" -} - -func (x *ChangeRequest) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *ChangeRequest) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (x *ChangeRequest) GetApiOp() ApiOperation { - if x != nil { - return x.ApiOp - } - return ApiOperation_API_OPERATION_UNSPECIFIED -} - -type SetMne struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Sbi *southbound.SouthboundInterface `protobuf:"bytes,2,opt,name=sbi,proto3" json:"sbi,omitempty"` - MneName string `protobuf:"bytes,3,opt,name=mne_name,json=mneName,proto3" json:"mne_name,omitempty"` - TransportOption *transport.TransportOption `protobuf:"bytes,4,opt,name=transport_option,json=transportOption,proto3" json:"transport_option,omitempty"` -} - -func (x *SetMne) Reset() { - *x = SetMne{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetMne) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMne) ProtoMessage() {} - -func (x *SetMne) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetMne.ProtoReflect.Descriptor instead. -func (*SetMne) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{24} -} - -func (x *SetMne) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *SetMne) GetSbi() *southbound.SouthboundInterface { - if x != nil { - return x.Sbi - } - return nil -} - -func (x *SetMne) GetMneName() string { - if x != nil { - return x.MneName - } - return "" -} - -func (x *SetMne) GetTransportOption() *transport.TransportOption { - if x != nil { - return x.TransportOption - } - return nil -} - -type SetSbi struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SbiType SbiType `protobuf:"varint,1,opt,name=sbi_type,json=sbiType,proto3,enum=gosdn.pnd.SbiType" json:"sbi_type,omitempty"` -} - -func (x *SetSbi) Reset() { - *x = SetSbi{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetSbi) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetSbi) ProtoMessage() {} - -func (x *SetSbi) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetSbi.ProtoReflect.Descriptor instead. -func (*SetSbi) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{25} -} - -func (x *SetSbi) GetSbiType() SbiType { - if x != nil { - return x.SbiType - } - return SbiType_SBI_TYPE_UNSPECIFIED -} - -type SetChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Cuid string `protobuf:"bytes,1,opt,name=cuid,proto3" json:"cuid,omitempty"` - Op Operation `protobuf:"varint,2,opt,name=op,proto3,enum=gosdn.pnd.Operation" json:"op,omitempty"` -} - -func (x *SetChange) Reset() { - *x = SetChange{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetChange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetChange) ProtoMessage() {} - -func (x *SetChange) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetChange.ProtoReflect.Descriptor instead. -func (*SetChange) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{26} -} - -func (x *SetChange) GetCuid() string { - if x != nil { - return x.Cuid - } - return "" -} - -func (x *SetChange) GetOp() Operation { - if x != nil { - return x.Op - } - return Operation_OPERATION_UNSPECIFIED -} - -type SetResponse 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. - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - Status Status `protobuf:"varint,3,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` -} - -func (x *SetResponse) Reset() { - *x = SetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetResponse) ProtoMessage() {} - -func (x *SetResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetResponse.ProtoReflect.Descriptor instead. -func (*SetResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{27} -} - -func (x *SetResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetResponse) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *SetResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -type SetMneListResponse 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. - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` - Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` -} - -func (x *SetMneListResponse) Reset() { - *x = SetMneListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetMneListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMneListResponse) ProtoMessage() {} - -func (x *SetMneListResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetMneListResponse.ProtoReflect.Descriptor instead. -func (*SetMneListResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{28} -} - -func (x *SetMneListResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetMneListResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -func (x *SetMneListResponse) GetResponses() []*SetResponse { - if x != nil { - return x.Responses - } - return nil -} - -type SetChangeListResponse 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. - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` - Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` -} - -func (x *SetChangeListResponse) Reset() { - *x = SetChangeListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetChangeListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetChangeListResponse) ProtoMessage() {} - -func (x *SetChangeListResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetChangeListResponse.ProtoReflect.Descriptor instead. -func (*SetChangeListResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{29} -} - -func (x *SetChangeListResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetChangeListResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -func (x *SetChangeListResponse) GetResponses() []*SetResponse { - if x != nil { - return x.Responses - } - return nil -} - -type SetChangeResponse 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. - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` -} - -func (x *SetChangeResponse) Reset() { - *x = SetChangeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetChangeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetChangeResponse) ProtoMessage() {} - -func (x *SetChangeResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetChangeResponse.ProtoReflect.Descriptor instead. -func (*SetChangeResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{30} -} - -func (x *SetChangeResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetChangeResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -type SetSbiListResponse 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. - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` - Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` -} - -func (x *SetSbiListResponse) Reset() { - *x = SetSbiListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetSbiListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetSbiListResponse) ProtoMessage() {} - -func (x *SetSbiListResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_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 SetSbiListResponse.ProtoReflect.Descriptor instead. -func (*SetSbiListResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{31} -} - -func (x *SetSbiListResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetSbiListResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -func (x *SetSbiListResponse) GetResponses() []*SetResponse { - if x != nil { - return x.Responses - } - return nil -} - -type SetPathListResponse 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. - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` - Responses []*SetResponse `protobuf:"bytes,3,rep,name=responses,proto3" json:"responses,omitempty"` -} - -func (x *SetPathListResponse) Reset() { - *x = SetPathListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetPathListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetPathListResponse) ProtoMessage() {} - -func (x *SetPathListResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetPathListResponse.ProtoReflect.Descriptor instead. -func (*SetPathListResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{32} -} - -func (x *SetPathListResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetPathListResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -func (x *SetPathListResponse) GetResponses() []*SetResponse { - if x != nil { - return x.Responses - } - return nil -} - -type DeleteMneRequest 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. - Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"` - Mneid string `protobuf:"bytes,3,opt,name=mneid,proto3" json:"mneid,omitempty"` -} - -func (x *DeleteMneRequest) Reset() { - *x = DeleteMneRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteMneRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMneRequest) ProtoMessage() {} - -func (x *DeleteMneRequest) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteMneRequest.ProtoReflect.Descriptor instead. -func (*DeleteMneRequest) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{33} -} - -func (x *DeleteMneRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *DeleteMneRequest) GetPid() string { - if x != nil { - return x.Pid - } - return "" -} - -func (x *DeleteMneRequest) GetMneid() string { - if x != nil { - return x.Mneid - } - return "" -} - -type DeleteMneResponse 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. - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` -} - -func (x *DeleteMneResponse) Reset() { - *x = DeleteMneResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteMneResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMneResponse) ProtoMessage() {} - -func (x *DeleteMneResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_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 DeleteMneResponse.ProtoReflect.Descriptor instead. -func (*DeleteMneResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{34} -} - -func (x *DeleteMneResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *DeleteMneResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -type SubscribePathRequest 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. - Mneid string `protobuf:"bytes,2,opt,name=mneid,proto3" json:"mneid,omitempty"` - Pid string `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"` - Sublist *SubscriptionList `protobuf:"bytes,4,opt,name=sublist,proto3" json:"sublist,omitempty"` -} - -func (x *SubscribePathRequest) Reset() { - *x = SubscribePathRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribePathRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribePathRequest) ProtoMessage() {} - -func (x *SubscribePathRequest) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_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 SubscribePathRequest.ProtoReflect.Descriptor instead. -func (*SubscribePathRequest) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{35} -} - -func (x *SubscribePathRequest) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SubscribePathRequest) GetMneid() string { - if x != nil { - return x.Mneid - } - return "" -} - -func (x *SubscribePathRequest) GetPid() string { - if x != nil { - return x.Pid - } - return "" -} - -func (x *SubscribePathRequest) GetSublist() *SubscriptionList { - if x != nil { - return x.Sublist - } - return nil -} - -// The mode determines how the target should trigger updates to be sent. -// Reference: gNMI Specification Section 3.5.1.2 -type SubscriptionList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Subscription []*Subscription `protobuf:"bytes,1,rep,name=subscription,proto3" json:"subscription,omitempty"` - Mode SubscriptionMode `protobuf:"varint,2,opt,name=mode,proto3,enum=gosdn.pnd.SubscriptionMode" json:"mode,omitempty"` -} - -func (x *SubscriptionList) Reset() { - *x = SubscriptionList{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscriptionList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscriptionList) ProtoMessage() {} - -func (x *SubscriptionList) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscriptionList.ProtoReflect.Descriptor instead. -func (*SubscriptionList) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{36} -} - -func (x *SubscriptionList) GetSubscription() []*Subscription { - if x != nil { - return x.Subscription - } - return nil -} - -func (x *SubscriptionList) GetMode() SubscriptionMode { - if x != nil { - return x.Mode - } - return SubscriptionMode_SUBSCRIPTION_MODE_UNSPECIFIED -} - -type Subscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - StreamMode StreamMode `protobuf:"varint,2,opt,name=stream_mode,json=streamMode,proto3,enum=gosdn.pnd.StreamMode" json:"stream_mode,omitempty"` - SampleInterval uint64 `protobuf:"varint,3,opt,name=sample_interval,json=sampleInterval,proto3" json:"sample_interval,omitempty"` // time in ns between samples in SAMPLE mode. -} - -func (x *Subscription) Reset() { - *x = Subscription{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Subscription) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Subscription) ProtoMessage() {} - -func (x *Subscription) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Subscription.ProtoReflect.Descriptor instead. -func (*Subscription) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{37} -} - -func (x *Subscription) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *Subscription) GetStreamMode() StreamMode { - if x != nil { - return x.StreamMode - } - return StreamMode_STREAM_MODE_UNSPECIFIED -} - -func (x *Subscription) GetSampleInterval() uint64 { - if x != nil { - return x.SampleInterval - } - return 0 -} - -type SubscribePathResponse 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. - Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.pnd.Status" json:"status,omitempty"` - MneNotification []*gnmi.Notification `protobuf:"bytes,3,rep,name=mne_notification,json=mneNotification,proto3" json:"mne_notification,omitempty"` -} - -func (x *SubscribePathResponse) Reset() { - *x = SubscribePathResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribePathResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribePathResponse) ProtoMessage() {} - -func (x *SubscribePathResponse) ProtoReflect() protoreflect.Message { - mi := &file_gosdn_pnd_pnd_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscribePathResponse.ProtoReflect.Descriptor instead. -func (*SubscribePathResponse) Descriptor() ([]byte, []int) { - return file_gosdn_pnd_pnd_proto_rawDescGZIP(), []int{38} -} - -func (x *SubscribePathResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SubscribePathResponse) GetStatus() Status { - if x != nil { - return x.Status - } - return Status_STATUS_UNSPECIFIED -} - -func (x *SubscribePathResponse) GetMneNotification() []*gnmi.Notification { - if x != nil { - return x.MneNotification - } - return nil -} - -var File_gosdn_pnd_pnd_proto protoreflect.FileDescriptor - -var file_gosdn_pnd_pnd_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x70, 0x6e, 0x64, 0x2f, 0x70, 0x6e, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, - 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 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, 0x1a, 0x1f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x72, 0x74, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x74, 0x68, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2f, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, - 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, - 0x4c, 0x69, 0x73, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x55, 0x0a, 0x0d, 0x47, - 0x65, 0x74, 0x4d, 0x6e, 0x65, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6e, - 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, - 0x69, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x62, - 0x69, 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, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, - 0x69, 0x64, 0x22, 0x56, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x12, 0x0a, 0x04, 0x63, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x63, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x6a, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x50, 0x61, 0x74, 0x68, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6e, - 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x6e, - 0x65, 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, 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, 0x32, 0x0a, 0x03, - 0x6d, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, - 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x6d, 0x6e, 0x65, - 0x22, 0x9b, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 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, 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, 0x32, 0x0a, 0x03, 0x6d, 0x6e, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, - 0x70, 0x6e, 0x64, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x6d, 0x6e, 0x65, 0x22, 0xad, - 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, - 0x6e, 0x65, 0x4c, 0x69, 0x73, 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, 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, 0x3b, 0x0a, 0x03, 0x6d, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, - 0x65, 0x6e, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x6d, 0x6e, 0x65, 0x22, 0x9c, - 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 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, - 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, 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, - 0x6f, 0x75, 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, 0x22, 0xa0, 0x01, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 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, 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, 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, 0x75, - 0x74, 0x68, 0x62, 0x6f, 0x75, 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, - 0x22, 0xa3, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 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, 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, 0x3d, 0x0a, 0x10, 0x6d, 0x6e, 0x65, 0x5f, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, 0x6d, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 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, 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, - 0x29, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 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, 0x95, 0x01, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 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, 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, 0x29, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x03, 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, 0x5e, 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, 0x22, 0xb3, 0x01, 0x0a, 0x15, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x3d, 0x0a, 0x10, 0x6d, 0x6e, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, - 0x6d, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x37, 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, - 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 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, 0x22, 0x56, 0x0a, 0x1e, 0x46, 0x6c, 0x61, 0x74, - 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x10, - 0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x62, 0x69, - 0x22, 0x80, 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, 0x2c, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, - 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x64, - 0x69, 0x66, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, - 0x69, 0x66, 0x66, 0x22, 0x68, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, - 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, 0x6d, 0x6e, 0x65, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, - 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x52, 0x03, 0x6d, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x68, 0x0a, - 0x11, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 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, 0x73, 0x62, 0x69, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, - 0x52, 0x03, 0x73, 0x62, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x74, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 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, 0x2c, 0x0a, - 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x85, 0x01, - 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 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, 0x3f, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x7f, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 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, 0x2e, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x5f, 0x6f, 0x70, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, - 0x6e, 0x64, 0x2e, 0x41, 0x70, 0x69, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x05, 0x61, 0x70, 0x69, 0x4f, 0x70, 0x22, 0xc3, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x74, 0x4d, 0x6e, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x03, 0x73, - 0x62, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2e, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x62, 0x6f, 0x75, 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, 0x19, 0x0a, 0x08, 0x6d, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x4b, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, - 0x6e, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x0a, 0x06, - 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x12, 0x2d, 0x0a, 0x08, 0x73, 0x62, 0x69, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x62, 0x69, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x62, - 0x69, 0x54, 0x79, 0x70, 0x65, 0x22, 0x45, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x66, 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, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, - 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, - 0x69, 0x73, 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, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, - 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, - 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x15, 0x53, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 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, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 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, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, - 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 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, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, - 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, - 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 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, 0x29, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, - 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x58, - 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6e, 0x65, 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, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, - 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x6e, 0x65, 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, 0x29, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, - 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, 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, 0x14, 0x0a, - 0x05, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6e, - 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, - 0x6e, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x80, 0x01, 0x0a, - 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, - 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, - 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, - 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, - 0x83, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x73, 0x64, - 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, 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, 0x29, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x10, 0x6d, 0x6e, 0x65, 0x5f, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, 0x6d, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x9c, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, - 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x43, - 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, - 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, - 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x2a, 0x7c, 0x0a, 0x0c, 0x41, 0x70, 0x69, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, - 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, 0x45, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, - 0x19, 0x0a, 0x15, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x50, - 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, - 0x54, 0x45, 0x10, 0x03, 0x2a, 0x6d, 0x0a, 0x07, 0x53, 0x62, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x14, 0x53, 0x42, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x42, 0x49, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, - 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x42, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x49, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x13, - 0x0a, 0x0f, 0x53, 0x42, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x55, 0x47, 0x49, - 0x4e, 0x10, 0x03, 0x2a, 0x69, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4f, - 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, - 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, - 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x50, 0x45, 0x52, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x03, 0x2a, 0x41, - 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, - 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x02, 0x2a, 0x8b, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, - 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x55, 0x42, - 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, - 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, - 0x4d, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x4c, 0x10, 0x03, 0x2a, - 0x7c, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, - 0x17, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, - 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, - 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, - 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, - 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x03, 0x32, 0xb7, 0x0b, - 0x0a, 0x0a, 0x50, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0a, - 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x73, - 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x6c, - 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, - 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6e, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, - 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, - 0x74, 0x65, 0x6e, 0x65, 0x64, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x70, - 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x12, 0x5e, - 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x12, 0x18, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, - 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, - 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x2f, 0x7b, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x12, 0x66, - 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x67, - 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x73, - 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x6e, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, - 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x70, 0x6e, 0x64, 0x73, - 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x62, 0x69, 0x73, 0x12, 0x5d, 0x0a, 0x06, 0x47, - 0x65, 0x74, 0x53, 0x62, 0x69, 0x12, 0x18, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, - 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x62, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x19, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x62, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x18, 0x12, 0x16, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, - 0x73, 0x62, 0x69, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x64, 0x7d, 0x12, 0x66, 0x0a, 0x0a, 0x53, 0x65, - 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, - 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, - 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x62, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, - 0x22, 0x10, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x62, - 0x69, 0x73, 0x12, 0x6f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, - 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, - 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x69, 0x64, 0x7d, 0x12, - 0x72, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x65, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, - 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, - 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, - 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x73, 0x64, - 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, - 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x7b, 0x70, - 0x61, 0x74, 0x68, 0x7d, 0x12, 0x6f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, - 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, - 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, - 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, - 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x68, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, - 0x6e, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, - 0x64, 0x7d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x12, - 0x56, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xae, 0x02, 0x5a, 0x2d, 0x63, 0x6f, 0x64, 0x65, - 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, 0x6e, - 0x65, 0x74, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, - 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x70, 0x6e, 0x64, 0x92, 0x41, 0xfb, 0x01, 0x12, 0xf8, 0x01, - 0x0a, 0x10, 0x67, 0x6f, 0x53, 0x44, 0x4e, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x12, 0x4d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x42, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x6f, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6f, 0x53, 0x44, 0x4e, 0x20, 0x6e, 0x6f, 0x72, - 0x74, 0x68, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x22, 0x3e, 0x0a, 0x18, 0x67, 0x6f, 0x53, 0x44, 0x4e, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, - 0x68, 0x2d, 0x64, 0x61, 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x70, - 0x69, 0x2a, 0x50, 0x0a, 0x14, 0x42, 0x53, 0x44, 0x20, 0x33, 0x2d, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, - 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x2d, 0x2f, - 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x4c, 0x49, 0x43, 0x45, - 0x4e, 0x53, 0x45, 0x32, 0x03, 0x30, 0x2e, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_gosdn_pnd_pnd_proto_rawDescOnce sync.Once - file_gosdn_pnd_pnd_proto_rawDescData = file_gosdn_pnd_pnd_proto_rawDesc -) - -func file_gosdn_pnd_pnd_proto_rawDescGZIP() []byte { - file_gosdn_pnd_pnd_proto_rawDescOnce.Do(func() { - file_gosdn_pnd_pnd_proto_rawDescData = protoimpl.X.CompressGZIP(file_gosdn_pnd_pnd_proto_rawDescData) - }) - return file_gosdn_pnd_pnd_proto_rawDescData -} - -var file_gosdn_pnd_pnd_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_gosdn_pnd_pnd_proto_msgTypes = make([]protoimpl.MessageInfo, 39) -var file_gosdn_pnd_pnd_proto_goTypes = []interface{}{ - (ChangeState)(0), // 0: gosdn.pnd.ChangeState - (ApiOperation)(0), // 1: gosdn.pnd.ApiOperation - (SbiType)(0), // 2: gosdn.pnd.SbiType - (Operation)(0), // 3: gosdn.pnd.Operation - (Status)(0), // 4: gosdn.pnd.Status - (SubscriptionMode)(0), // 5: gosdn.pnd.SubscriptionMode - (StreamMode)(0), // 6: gosdn.pnd.StreamMode - (*GetMneListRequest)(nil), // 7: gosdn.pnd.GetMneListRequest - (*GetMneRequest)(nil), // 8: gosdn.pnd.GetMneRequest - (*GetSbiListRequest)(nil), // 9: gosdn.pnd.GetSbiListRequest - (*GetSbiRequest)(nil), // 10: gosdn.pnd.GetSbiRequest - (*GetChangeListRequest)(nil), // 11: gosdn.pnd.GetChangeListRequest - (*GetChangeRequest)(nil), // 12: gosdn.pnd.GetChangeRequest - (*GetPathRequest)(nil), // 13: gosdn.pnd.GetPathRequest - (*GetMneResponse)(nil), // 14: gosdn.pnd.GetMneResponse - (*GetMneListResponse)(nil), // 15: gosdn.pnd.GetMneListResponse - (*GetFlattenedMneListResponse)(nil), // 16: gosdn.pnd.GetFlattenedMneListResponse - (*GetSbiResponse)(nil), // 17: gosdn.pnd.GetSbiResponse - (*GetSbiListResponse)(nil), // 18: gosdn.pnd.GetSbiListResponse - (*GetPathResponse)(nil), // 19: gosdn.pnd.GetPathResponse - (*GetChangeResponse)(nil), // 20: gosdn.pnd.GetChangeResponse - (*GetChangeListResponse)(nil), // 21: gosdn.pnd.GetChangeListResponse - (*PrincipalNetworkDomain)(nil), // 22: gosdn.pnd.PrincipalNetworkDomain - (*ManagedNetworkElement)(nil), // 23: gosdn.pnd.ManagedNetworkElement - (*FlattenedManagedNetworkElement)(nil), // 24: gosdn.pnd.FlattenedManagedNetworkElement - (*Change)(nil), // 25: gosdn.pnd.Change - (*SetMneListRequest)(nil), // 26: gosdn.pnd.SetMneListRequest - (*SetSbiListRequest)(nil), // 27: gosdn.pnd.SetSbiListRequest - (*SetChangeListRequest)(nil), // 28: gosdn.pnd.SetChangeListRequest - (*SetPathListRequest)(nil), // 29: gosdn.pnd.SetPathListRequest - (*ChangeRequest)(nil), // 30: gosdn.pnd.ChangeRequest - (*SetMne)(nil), // 31: gosdn.pnd.SetMne - (*SetSbi)(nil), // 32: gosdn.pnd.SetSbi - (*SetChange)(nil), // 33: gosdn.pnd.SetChange - (*SetResponse)(nil), // 34: gosdn.pnd.SetResponse - (*SetMneListResponse)(nil), // 35: gosdn.pnd.SetMneListResponse - (*SetChangeListResponse)(nil), // 36: gosdn.pnd.SetChangeListResponse - (*SetChangeResponse)(nil), // 37: gosdn.pnd.SetChangeResponse - (*SetSbiListResponse)(nil), // 38: gosdn.pnd.SetSbiListResponse - (*SetPathListResponse)(nil), // 39: gosdn.pnd.SetPathListResponse - (*DeleteMneRequest)(nil), // 40: gosdn.pnd.DeleteMneRequest - (*DeleteMneResponse)(nil), // 41: gosdn.pnd.DeleteMneResponse - (*SubscribePathRequest)(nil), // 42: gosdn.pnd.SubscribePathRequest - (*SubscriptionList)(nil), // 43: gosdn.pnd.SubscriptionList - (*Subscription)(nil), // 44: gosdn.pnd.Subscription - (*SubscribePathResponse)(nil), // 45: gosdn.pnd.SubscribePathResponse - (*southbound.SouthboundInterface)(nil), // 46: gosdn.southbound.SouthboundInterface - (*gnmi.Notification)(nil), // 47: gnmi.Notification - (*transport.TransportOption)(nil), // 48: gosdn.transport.TransportOption -} -var file_gosdn_pnd_pnd_proto_depIdxs = []int32{ - 22, // 0: gosdn.pnd.GetMneResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 23, // 1: gosdn.pnd.GetMneResponse.mne:type_name -> gosdn.pnd.ManagedNetworkElement - 22, // 2: gosdn.pnd.GetMneListResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 23, // 3: gosdn.pnd.GetMneListResponse.mne:type_name -> gosdn.pnd.ManagedNetworkElement - 22, // 4: gosdn.pnd.GetFlattenedMneListResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 24, // 5: gosdn.pnd.GetFlattenedMneListResponse.mne:type_name -> gosdn.pnd.FlattenedManagedNetworkElement - 22, // 6: gosdn.pnd.GetSbiResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 46, // 7: gosdn.pnd.GetSbiResponse.sbi:type_name -> gosdn.southbound.SouthboundInterface - 22, // 8: gosdn.pnd.GetSbiListResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 46, // 9: gosdn.pnd.GetSbiListResponse.sbi:type_name -> gosdn.southbound.SouthboundInterface - 22, // 10: gosdn.pnd.GetPathResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 47, // 11: gosdn.pnd.GetPathResponse.mne_notification:type_name -> gnmi.Notification - 22, // 12: gosdn.pnd.GetChangeResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 25, // 13: gosdn.pnd.GetChangeResponse.change:type_name -> gosdn.pnd.Change - 22, // 14: gosdn.pnd.GetChangeListResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain - 25, // 15: gosdn.pnd.GetChangeListResponse.change:type_name -> gosdn.pnd.Change - 47, // 16: gosdn.pnd.ManagedNetworkElement.mne_notification:type_name -> gnmi.Notification - 46, // 17: gosdn.pnd.ManagedNetworkElement.sbi:type_name -> gosdn.southbound.SouthboundInterface - 0, // 18: gosdn.pnd.Change.state:type_name -> gosdn.pnd.ChangeState - 47, // 19: gosdn.pnd.Change.diff:type_name -> gnmi.Notification - 31, // 20: gosdn.pnd.SetMneListRequest.mne:type_name -> gosdn.pnd.SetMne - 32, // 21: gosdn.pnd.SetSbiListRequest.sbi:type_name -> gosdn.pnd.SetSbi - 33, // 22: gosdn.pnd.SetChangeListRequest.change:type_name -> gosdn.pnd.SetChange - 30, // 23: gosdn.pnd.SetPathListRequest.change_request:type_name -> gosdn.pnd.ChangeRequest - 1, // 24: gosdn.pnd.ChangeRequest.api_op:type_name -> gosdn.pnd.ApiOperation - 46, // 25: gosdn.pnd.SetMne.sbi:type_name -> gosdn.southbound.SouthboundInterface - 48, // 26: gosdn.pnd.SetMne.transport_option:type_name -> gosdn.transport.TransportOption - 2, // 27: gosdn.pnd.SetSbi.sbi_type:type_name -> gosdn.pnd.SbiType - 3, // 28: gosdn.pnd.SetChange.op:type_name -> gosdn.pnd.Operation - 4, // 29: gosdn.pnd.SetResponse.status:type_name -> gosdn.pnd.Status - 4, // 30: gosdn.pnd.SetMneListResponse.status:type_name -> gosdn.pnd.Status - 34, // 31: gosdn.pnd.SetMneListResponse.responses:type_name -> gosdn.pnd.SetResponse - 4, // 32: gosdn.pnd.SetChangeListResponse.status:type_name -> gosdn.pnd.Status - 34, // 33: gosdn.pnd.SetChangeListResponse.responses:type_name -> gosdn.pnd.SetResponse - 4, // 34: gosdn.pnd.SetChangeResponse.status:type_name -> gosdn.pnd.Status - 4, // 35: gosdn.pnd.SetSbiListResponse.status:type_name -> gosdn.pnd.Status - 34, // 36: gosdn.pnd.SetSbiListResponse.responses:type_name -> gosdn.pnd.SetResponse - 4, // 37: gosdn.pnd.SetPathListResponse.status:type_name -> gosdn.pnd.Status - 34, // 38: gosdn.pnd.SetPathListResponse.responses:type_name -> gosdn.pnd.SetResponse - 4, // 39: gosdn.pnd.DeleteMneResponse.status:type_name -> gosdn.pnd.Status - 43, // 40: gosdn.pnd.SubscribePathRequest.sublist:type_name -> gosdn.pnd.SubscriptionList - 44, // 41: gosdn.pnd.SubscriptionList.subscription:type_name -> gosdn.pnd.Subscription - 5, // 42: gosdn.pnd.SubscriptionList.mode:type_name -> gosdn.pnd.SubscriptionMode - 6, // 43: gosdn.pnd.Subscription.stream_mode:type_name -> gosdn.pnd.StreamMode - 4, // 44: gosdn.pnd.SubscribePathResponse.status:type_name -> gosdn.pnd.Status - 47, // 45: gosdn.pnd.SubscribePathResponse.mne_notification:type_name -> gnmi.Notification - 7, // 46: gosdn.pnd.PndService.GetMneList:input_type -> gosdn.pnd.GetMneListRequest - 7, // 47: gosdn.pnd.PndService.GetFlattenedMneList:input_type -> gosdn.pnd.GetMneListRequest - 8, // 48: gosdn.pnd.PndService.GetMne:input_type -> gosdn.pnd.GetMneRequest - 26, // 49: gosdn.pnd.PndService.SetMneList:input_type -> gosdn.pnd.SetMneListRequest - 9, // 50: gosdn.pnd.PndService.GetSbiList:input_type -> gosdn.pnd.GetSbiListRequest - 10, // 51: gosdn.pnd.PndService.GetSbi:input_type -> gosdn.pnd.GetSbiRequest - 27, // 52: gosdn.pnd.PndService.SetSbiList:input_type -> gosdn.pnd.SetSbiListRequest - 11, // 53: gosdn.pnd.PndService.GetChangeList:input_type -> gosdn.pnd.GetChangeListRequest - 12, // 54: gosdn.pnd.PndService.GetChange:input_type -> gosdn.pnd.GetChangeRequest - 28, // 55: gosdn.pnd.PndService.SetChangeList:input_type -> gosdn.pnd.SetChangeListRequest - 13, // 56: gosdn.pnd.PndService.GetPath:input_type -> gosdn.pnd.GetPathRequest - 29, // 57: gosdn.pnd.PndService.SetPathList:input_type -> gosdn.pnd.SetPathListRequest - 40, // 58: gosdn.pnd.PndService.DeleteMne:input_type -> gosdn.pnd.DeleteMneRequest - 42, // 59: gosdn.pnd.PndService.SubscribePath:input_type -> gosdn.pnd.SubscribePathRequest - 15, // 60: gosdn.pnd.PndService.GetMneList:output_type -> gosdn.pnd.GetMneListResponse - 16, // 61: gosdn.pnd.PndService.GetFlattenedMneList:output_type -> gosdn.pnd.GetFlattenedMneListResponse - 14, // 62: gosdn.pnd.PndService.GetMne:output_type -> gosdn.pnd.GetMneResponse - 35, // 63: gosdn.pnd.PndService.SetMneList:output_type -> gosdn.pnd.SetMneListResponse - 18, // 64: gosdn.pnd.PndService.GetSbiList:output_type -> gosdn.pnd.GetSbiListResponse - 17, // 65: gosdn.pnd.PndService.GetSbi:output_type -> gosdn.pnd.GetSbiResponse - 38, // 66: gosdn.pnd.PndService.SetSbiList:output_type -> gosdn.pnd.SetSbiListResponse - 21, // 67: gosdn.pnd.PndService.GetChangeList:output_type -> gosdn.pnd.GetChangeListResponse - 20, // 68: gosdn.pnd.PndService.GetChange:output_type -> gosdn.pnd.GetChangeResponse - 36, // 69: gosdn.pnd.PndService.SetChangeList:output_type -> gosdn.pnd.SetChangeListResponse - 19, // 70: gosdn.pnd.PndService.GetPath:output_type -> gosdn.pnd.GetPathResponse - 39, // 71: gosdn.pnd.PndService.SetPathList:output_type -> gosdn.pnd.SetPathListResponse - 41, // 72: gosdn.pnd.PndService.DeleteMne:output_type -> gosdn.pnd.DeleteMneResponse - 45, // 73: gosdn.pnd.PndService.SubscribePath:output_type -> gosdn.pnd.SubscribePathResponse - 60, // [60:74] is the sub-list for method output_type - 46, // [46:60] 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_gosdn_pnd_pnd_proto_init() } -func file_gosdn_pnd_pnd_proto_init() { - if File_gosdn_pnd_pnd_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_gosdn_pnd_pnd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMneListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMneRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSbiListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSbiRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChangeListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChangeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPathRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMneResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMneListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetFlattenedMneListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSbiResponse); i { + file_gosdn_pnd_pnd_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSbiListRequest); i { case 0: return &v.state case 1: @@ -3614,7 +893,7 @@ func file_gosdn_pnd_pnd_proto_init() { return nil } } - file_gosdn_pnd_pnd_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_gosdn_pnd_pnd_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSbiListResponse); i { case 0: return &v.state @@ -3626,80 +905,8 @@ func file_gosdn_pnd_pnd_proto_init() { return nil } } - file_gosdn_pnd_pnd_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPathResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChangeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChangeListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrincipalNetworkDomain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ManagedNetworkElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlattenedManagedNetworkElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Change); i { + file_gosdn_pnd_pnd_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSbiRequest); i { case 0: return &v.state case 1: @@ -3710,8 +917,8 @@ func file_gosdn_pnd_pnd_proto_init() { return nil } } - file_gosdn_pnd_pnd_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMneListRequest); i { + file_gosdn_pnd_pnd_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSbiResponse); i { case 0: return &v.state case 1: @@ -3722,7 +929,7 @@ func file_gosdn_pnd_pnd_proto_init() { return nil } } - file_gosdn_pnd_pnd_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_gosdn_pnd_pnd_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSbiListRequest); i { case 0: return &v.state @@ -3734,55 +941,7 @@ func file_gosdn_pnd_pnd_proto_init() { return nil } } - file_gosdn_pnd_pnd_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetChangeListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetPathListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMne); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_gosdn_pnd_pnd_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSbi); i { case 0: return &v.state @@ -3794,67 +953,7 @@ func file_gosdn_pnd_pnd_proto_init() { return nil } } - file_gosdn_pnd_pnd_proto_msgTypes[26].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_gosdn_pnd_pnd_proto_msgTypes[27].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_gosdn_pnd_pnd_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMneListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetChangeListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetChangeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_gosdn_pnd_pnd_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSbiListResponse); i { case 0: return &v.state @@ -3866,80 +965,8 @@ func file_gosdn_pnd_pnd_proto_init() { return nil } } - file_gosdn_pnd_pnd_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetPathListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMneRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMneResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribePathRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscriptionList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gosdn_pnd_pnd_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribePathResponse); i { + file_gosdn_pnd_pnd_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetResponse); i { case 0: return &v.state case 1: @@ -3956,8 +983,8 @@ func file_gosdn_pnd_pnd_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gosdn_pnd_pnd_proto_rawDesc, - NumEnums: 7, - NumMessages: 39, + NumEnums: 2, + NumMessages: 9, NumExtensions: 0, NumServices: 1, }, diff --git a/api/go/gosdn/pnd/pnd.pb.gw.go b/api/go/gosdn/pnd/pnd.pb.gw.go index e5e2f606336dc1e5a0e6a91096757aaecbb6fbda..d88d6aea1d8e75da6ba61b7f0f67208c62fd9048 100644 --- a/api/go/gosdn/pnd/pnd.pb.gw.go +++ b/api/go/gosdn/pnd/pnd.pb.gw.go @@ -31,234 +31,6 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join -var ( - filter_PndService_GetFlattenedMneList_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) - -func request_PndService_GetFlattenedMneList_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMneListRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetFlattenedMneList_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetFlattenedMneList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_GetFlattenedMneList_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMneListRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetFlattenedMneList_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetFlattenedMneList(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_PndService_GetMne_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "mneid": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_PndService_GetMne_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMneRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["mneid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") - } - - protoReq.Mneid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetMne_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetMne(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_GetMne_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMneRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["mneid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") - } - - protoReq.Mneid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetMne_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetMne(ctx, &protoReq) - return msg, metadata, err - -} - -func request_PndService_SetMneList_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SetMneListRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - msg, err := client.SetMneList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_SetMneList_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SetMneListRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - msg, err := server.SetMneList(ctx, &protoReq) - return msg, metadata, err - -} - var ( filter_PndService_GetSbiList_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -487,773 +259,70 @@ func local_request_PndService_SetSbiList_0(ctx context.Context, marshaler runtim } -var ( - filter_PndService_GetChangeList_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) +// RegisterPndServiceHandlerServer registers the http handlers for service PndService to "mux". +// UnaryRPC :call PndServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPndServiceHandlerFromEndpoint instead. +func RegisterPndServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PndServiceServer) error { -func request_PndService_GetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChangeListRequest - var metadata runtime.ServerMetadata + mux.Handle("GET", pattern_PndService_GetSbiList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetSbiList", runtime.WithHTTPPathPattern("/pnds/{pid}/sbis")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PndService_GetSbiList_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } - var ( - val string - ok bool - err error - _ = err - ) + forward_PndService_GetSbiList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } + }) - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } + mux.Handle("GET", pattern_PndService_GetSbi_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetSbi", runtime.WithHTTPPathPattern("/pnds/{pid}/sbis/{sid}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PndService_GetSbi_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetChangeList_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetChangeList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_GetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChangeListRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetChangeList_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetChangeList(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_PndService_GetChange_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "cuid": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_PndService_GetChange_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChangeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["cuid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cuid") - } - - protoReq.Cuid, err = runtime.StringSlice(val, ",") - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cuid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetChange_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetChange(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_GetChange_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChangeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["cuid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "cuid") - } - - protoReq.Cuid, err = runtime.StringSlice(val, ",") - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "cuid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetChange_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetChange(ctx, &protoReq) - return msg, metadata, err - -} - -func request_PndService_SetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SetChangeListRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - msg, err := client.SetChangeList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_SetChangeList_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SetChangeListRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - msg, err := server.SetChangeList(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_PndService_GetPath_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "mneid": 1, "path": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} -) - -func request_PndService_GetPath_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetPathRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["mneid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") - } - - protoReq.Mneid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) - } - - val, ok = pathParams["path"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "path") - } - - protoReq.Path, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "path", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetPath_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetPath(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_GetPath_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetPathRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["mneid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") - } - - protoReq.Mneid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) - } - - val, ok = pathParams["path"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "path") - } - - protoReq.Path, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "path", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_GetPath_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetPath(ctx, &protoReq) - return msg, metadata, err - -} - -func request_PndService_SetPathList_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SetPathListRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - msg, err := client.SetPathList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_SetPathList_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SetPathListRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - msg, err := server.SetPathList(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_PndService_DeleteMne_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "mneid": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_PndService_DeleteMne_0(ctx context.Context, marshaler runtime.Marshaler, client PndServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteMneRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["mneid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") - } - - protoReq.Mneid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_DeleteMne_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.DeleteMne(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PndService_DeleteMne_0(ctx context.Context, marshaler runtime.Marshaler, server PndServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteMneRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["pid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pid") - } - - protoReq.Pid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pid", err) - } - - val, ok = pathParams["mneid"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "mneid") - } - - protoReq.Mneid, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "mneid", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PndService_DeleteMne_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DeleteMne(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterPndServiceHandlerServer registers the http handlers for service PndService to "mux". -// UnaryRPC :call PndServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPndServiceHandlerFromEndpoint instead. -func RegisterPndServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PndServiceServer) error { - - mux.Handle("GET", pattern_PndService_GetFlattenedMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetFlattenedMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_GetFlattenedMneList_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetFlattenedMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mne/{mneid}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_GetMne_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PndService_SetMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/SetMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_SetMneList_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_SetMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetSbiList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetSbiList", runtime.WithHTTPPathPattern("/pnds/{pid}/sbis")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_GetSbiList_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetSbiList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetSbi_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetSbi", runtime.WithHTTPPathPattern("/pnds/{pid}/sbis/{sid}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_GetSbi_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetSbi_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PndService_SetSbiList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/SetSbiList", runtime.WithHTTPPathPattern("/pnds/{pid}/sbis")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_SetSbiList_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_SetSbiList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_GetChangeList_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetChange_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetChange", runtime.WithHTTPPathPattern("/pnds/{pid}/changes/{cuid}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_GetChange_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetChange_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PndService_SetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/SetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_SetChangeList_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_SetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetPath_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/GetPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/paths/{path}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_GetPath_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetPath_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PndService_SetPathList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/SetPathList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/paths")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PndService_SetPathList_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_SetPathList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_PndService_GetSbi_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_PndService_DeleteMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_PndService_SetSbiList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/DeleteMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}")) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.pnd.PndService/SetSbiList", runtime.WithHTTPPathPattern("/pnds/{pid}/sbis")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_PndService_DeleteMne_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_PndService_SetSbiList_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1261,7 +330,7 @@ func RegisterPndServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, return } - forward_PndService_DeleteMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_PndService_SetSbiList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1306,66 +375,6 @@ func RegisterPndServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn // "PndServiceClient" to call the correct interceptors. func RegisterPndServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PndServiceClient) error { - mux.Handle("GET", pattern_PndService_GetFlattenedMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/GetFlattenedMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_GetFlattenedMneList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetFlattenedMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/GetMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mne/{mneid}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_GetMne_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PndService_SetMneList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/SetMneList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_SetMneList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_SetMneList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_PndService_GetSbiList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1426,177 +435,21 @@ func RegisterPndServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, }) - mux.Handle("GET", pattern_PndService_GetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/GetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_GetChangeList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetChange_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/GetChange", runtime.WithHTTPPathPattern("/pnds/{pid}/changes/{cuid}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_GetChange_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetChange_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PndService_SetChangeList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/SetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_SetChangeList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_SetChangeList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PndService_GetPath_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/GetPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/paths/{path}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_GetPath_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_GetPath_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PndService_SetPathList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/SetPathList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/paths")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_SetPathList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_SetPathList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_PndService_DeleteMne_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.pnd.PndService/DeleteMne", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PndService_DeleteMne_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PndService_DeleteMne_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - return nil } var ( - pattern_PndService_GetFlattenedMneList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "mnes"}, "")) - - pattern_PndService_GetMne_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"pnds", "pid", "mne", "mneid"}, "")) - - pattern_PndService_SetMneList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "mnes"}, "")) - pattern_PndService_GetSbiList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "sbis"}, "")) pattern_PndService_GetSbi_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"pnds", "pid", "sbis", "sid"}, "")) pattern_PndService_SetSbiList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "sbis"}, "")) - - pattern_PndService_GetChangeList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "changes"}, "")) - - pattern_PndService_GetChange_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"pnds", "pid", "changes", "cuid"}, "")) - - pattern_PndService_SetChangeList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "changes"}, "")) - - pattern_PndService_GetPath_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"pnds", "pid", "mnes", "mneid", "paths", "path"}, "")) - - pattern_PndService_SetPathList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"pnds", "pid", "mnes", "paths"}, "")) - - pattern_PndService_DeleteMne_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"pnds", "pid", "mnes", "mneid"}, "")) ) var ( - forward_PndService_GetFlattenedMneList_0 = runtime.ForwardResponseMessage - - forward_PndService_GetMne_0 = runtime.ForwardResponseMessage - - forward_PndService_SetMneList_0 = runtime.ForwardResponseMessage - forward_PndService_GetSbiList_0 = runtime.ForwardResponseMessage forward_PndService_GetSbi_0 = runtime.ForwardResponseMessage forward_PndService_SetSbiList_0 = runtime.ForwardResponseMessage - - forward_PndService_GetChangeList_0 = runtime.ForwardResponseMessage - - forward_PndService_GetChange_0 = runtime.ForwardResponseMessage - - forward_PndService_SetChangeList_0 = runtime.ForwardResponseMessage - - forward_PndService_GetPath_0 = runtime.ForwardResponseMessage - - forward_PndService_SetPathList_0 = runtime.ForwardResponseMessage - - forward_PndService_DeleteMne_0 = runtime.ForwardResponseMessage ) diff --git a/api/go/gosdn/pnd/pnd_grpc.pb.go b/api/go/gosdn/pnd/pnd_grpc.pb.go index 0a76d4fe506274046a276c84e8089fda2df85d47..c4223af3aa7e55ba0f9f54f19b949327fee1a4bb 100644 --- a/api/go/gosdn/pnd/pnd_grpc.pb.go +++ b/api/go/gosdn/pnd/pnd_grpc.pb.go @@ -18,22 +18,6 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type PndServiceClient interface { - // Allows to request all Managed Network Elements (MNE) which are - // managed by a specific Principal Network Domain. - // Full MNEs are provided, which also includes the MNE config as gNMI - // notification. - GetMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetMneListResponse, error) - // Allows to request all Managed Network Elements (MNE) which are - // managed by a specific Principal Network Domain. - // Flattened MNEs are provided, which does not include the MNE config as gNMI - // notification. - GetFlattenedMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetFlattenedMneListResponse, error) - // Allows to request a specific Managed Network Element which is managed by a - // specific Principal Network Domain. - GetMne(ctx context.Context, in *GetMneRequest, opts ...grpc.CallOption) (*GetMneResponse, error) - // Allows to add multiple Managed Network Elements to be managed by a - // specific Principal Network Domain. - SetMneList(ctx context.Context, in *SetMneListRequest, opts ...grpc.CallOption) (*SetMneListResponse, error) // Allows to request all Southbound Interfaces a specific Principal Network // Domain supports. GetSbiList(ctx context.Context, in *GetSbiListRequest, opts ...grpc.CallOption) (*GetSbiListResponse, error) @@ -43,25 +27,6 @@ type PndServiceClient interface { // Allows to add multiple specific Southbound Interfaces a specific Principal Network // Domain supports. SetSbiList(ctx context.Context, in *SetSbiListRequest, opts ...grpc.CallOption) (*SetSbiListResponse, error) - // Allows to request all Changes registered for a specific Principal Network Domain. - GetChangeList(ctx context.Context, in *GetChangeListRequest, opts ...grpc.CallOption) (*GetChangeListResponse, error) - // Allows to request a specific Change registered for a specific Principal Network Domain. - GetChange(ctx context.Context, in *GetChangeRequest, opts ...grpc.CallOption) (*GetChangeResponse, error) - // Allows to operate on multiple Changes registered for a specific Principal Network Domain. - SetChangeList(ctx context.Context, in *SetChangeListRequest, opts ...grpc.CallOption) (*SetChangeListResponse, error) - // Allows to request a specific Path of a Managed Network Element, - // managed by a specific Principal Network Domain. - GetPath(ctx context.Context, in *GetPathRequest, opts ...grpc.CallOption) (*GetPathResponse, error) - // Allows to set a specific Path of a Managed Network Element, - // managed by a specific Principal Network Domain. - SetPathList(ctx context.Context, in *SetPathListRequest, opts ...grpc.CallOption) (*SetPathListResponse, error) - // Allows to delete a specific Managed Network Element which is managed by a - // specific Principal Network Domain. - DeleteMne(ctx context.Context, in *DeleteMneRequest, opts ...grpc.CallOption) (*DeleteMneResponse, error) - // Allows to subscribe to multiple paths of a Managed Network Element which is - // managed by a specific Principal Network Domain and streams data depending on the subscribe - // method. - SubscribePath(ctx context.Context, in *SubscribePathRequest, opts ...grpc.CallOption) (PndService_SubscribePathClient, error) } type pndServiceClient struct { @@ -72,42 +37,6 @@ func NewPndServiceClient(cc grpc.ClientConnInterface) PndServiceClient { return &pndServiceClient{cc} } -func (c *pndServiceClient) GetMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetMneListResponse, error) { - out := new(GetMneListResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/GetMneList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) GetFlattenedMneList(ctx context.Context, in *GetMneListRequest, opts ...grpc.CallOption) (*GetFlattenedMneListResponse, error) { - out := new(GetFlattenedMneListResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/GetFlattenedMneList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) GetMne(ctx context.Context, in *GetMneRequest, opts ...grpc.CallOption) (*GetMneResponse, error) { - out := new(GetMneResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/GetMne", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) SetMneList(ctx context.Context, in *SetMneListRequest, opts ...grpc.CallOption) (*SetMneListResponse, error) { - out := new(SetMneListResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/SetMneList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *pndServiceClient) GetSbiList(ctx context.Context, in *GetSbiListRequest, opts ...grpc.CallOption) (*GetSbiListResponse, error) { out := new(GetSbiListResponse) err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/GetSbiList", in, out, opts...) @@ -135,112 +64,10 @@ func (c *pndServiceClient) SetSbiList(ctx context.Context, in *SetSbiListRequest return out, nil } -func (c *pndServiceClient) GetChangeList(ctx context.Context, in *GetChangeListRequest, opts ...grpc.CallOption) (*GetChangeListResponse, error) { - out := new(GetChangeListResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/GetChangeList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) GetChange(ctx context.Context, in *GetChangeRequest, opts ...grpc.CallOption) (*GetChangeResponse, error) { - out := new(GetChangeResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/GetChange", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) SetChangeList(ctx context.Context, in *SetChangeListRequest, opts ...grpc.CallOption) (*SetChangeListResponse, error) { - out := new(SetChangeListResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/SetChangeList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) GetPath(ctx context.Context, in *GetPathRequest, opts ...grpc.CallOption) (*GetPathResponse, error) { - out := new(GetPathResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/GetPath", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) SetPathList(ctx context.Context, in *SetPathListRequest, opts ...grpc.CallOption) (*SetPathListResponse, error) { - out := new(SetPathListResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/SetPathList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) DeleteMne(ctx context.Context, in *DeleteMneRequest, opts ...grpc.CallOption) (*DeleteMneResponse, error) { - out := new(DeleteMneResponse) - err := c.cc.Invoke(ctx, "/gosdn.pnd.PndService/DeleteMne", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pndServiceClient) SubscribePath(ctx context.Context, in *SubscribePathRequest, opts ...grpc.CallOption) (PndService_SubscribePathClient, error) { - stream, err := c.cc.NewStream(ctx, &PndService_ServiceDesc.Streams[0], "/gosdn.pnd.PndService/SubscribePath", opts...) - if err != nil { - return nil, err - } - x := &pndServiceSubscribePathClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type PndService_SubscribePathClient interface { - Recv() (*SubscribePathResponse, error) - grpc.ClientStream -} - -type pndServiceSubscribePathClient struct { - grpc.ClientStream -} - -func (x *pndServiceSubscribePathClient) Recv() (*SubscribePathResponse, error) { - m := new(SubscribePathResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - // PndServiceServer is the server API for PndService service. // All implementations must embed UnimplementedPndServiceServer // for forward compatibility type PndServiceServer interface { - // Allows to request all Managed Network Elements (MNE) which are - // managed by a specific Principal Network Domain. - // Full MNEs are provided, which also includes the MNE config as gNMI - // notification. - GetMneList(context.Context, *GetMneListRequest) (*GetMneListResponse, error) - // Allows to request all Managed Network Elements (MNE) which are - // managed by a specific Principal Network Domain. - // Flattened MNEs are provided, which does not include the MNE config as gNMI - // notification. - GetFlattenedMneList(context.Context, *GetMneListRequest) (*GetFlattenedMneListResponse, error) - // Allows to request a specific Managed Network Element which is managed by a - // specific Principal Network Domain. - GetMne(context.Context, *GetMneRequest) (*GetMneResponse, error) - // Allows to add multiple Managed Network Elements to be managed by a - // specific Principal Network Domain. - SetMneList(context.Context, *SetMneListRequest) (*SetMneListResponse, error) // Allows to request all Southbound Interfaces a specific Principal Network // Domain supports. GetSbiList(context.Context, *GetSbiListRequest) (*GetSbiListResponse, error) @@ -250,25 +77,6 @@ type PndServiceServer interface { // Allows to add multiple specific Southbound Interfaces a specific Principal Network // Domain supports. SetSbiList(context.Context, *SetSbiListRequest) (*SetSbiListResponse, error) - // Allows to request all Changes registered for a specific Principal Network Domain. - GetChangeList(context.Context, *GetChangeListRequest) (*GetChangeListResponse, error) - // Allows to request a specific Change registered for a specific Principal Network Domain. - GetChange(context.Context, *GetChangeRequest) (*GetChangeResponse, error) - // Allows to operate on multiple Changes registered for a specific Principal Network Domain. - SetChangeList(context.Context, *SetChangeListRequest) (*SetChangeListResponse, error) - // Allows to request a specific Path of a Managed Network Element, - // managed by a specific Principal Network Domain. - GetPath(context.Context, *GetPathRequest) (*GetPathResponse, error) - // Allows to set a specific Path of a Managed Network Element, - // managed by a specific Principal Network Domain. - SetPathList(context.Context, *SetPathListRequest) (*SetPathListResponse, error) - // Allows to delete a specific Managed Network Element which is managed by a - // specific Principal Network Domain. - DeleteMne(context.Context, *DeleteMneRequest) (*DeleteMneResponse, error) - // Allows to subscribe to multiple paths of a Managed Network Element which is - // managed by a specific Principal Network Domain and streams data depending on the subscribe - // method. - SubscribePath(*SubscribePathRequest, PndService_SubscribePathServer) error mustEmbedUnimplementedPndServiceServer() } @@ -276,18 +84,6 @@ type PndServiceServer interface { type UnimplementedPndServiceServer struct { } -func (UnimplementedPndServiceServer) GetMneList(context.Context, *GetMneListRequest) (*GetMneListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMneList not implemented") -} -func (UnimplementedPndServiceServer) GetFlattenedMneList(context.Context, *GetMneListRequest) (*GetFlattenedMneListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetFlattenedMneList not implemented") -} -func (UnimplementedPndServiceServer) GetMne(context.Context, *GetMneRequest) (*GetMneResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMne not implemented") -} -func (UnimplementedPndServiceServer) SetMneList(context.Context, *SetMneListRequest) (*SetMneListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetMneList not implemented") -} func (UnimplementedPndServiceServer) GetSbiList(context.Context, *GetSbiListRequest) (*GetSbiListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetSbiList not implemented") } @@ -297,27 +93,6 @@ func (UnimplementedPndServiceServer) GetSbi(context.Context, *GetSbiRequest) (*G func (UnimplementedPndServiceServer) SetSbiList(context.Context, *SetSbiListRequest) (*SetSbiListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetSbiList not implemented") } -func (UnimplementedPndServiceServer) GetChangeList(context.Context, *GetChangeListRequest) (*GetChangeListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChangeList not implemented") -} -func (UnimplementedPndServiceServer) GetChange(context.Context, *GetChangeRequest) (*GetChangeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChange not implemented") -} -func (UnimplementedPndServiceServer) SetChangeList(context.Context, *SetChangeListRequest) (*SetChangeListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetChangeList not implemented") -} -func (UnimplementedPndServiceServer) GetPath(context.Context, *GetPathRequest) (*GetPathResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPath not implemented") -} -func (UnimplementedPndServiceServer) SetPathList(context.Context, *SetPathListRequest) (*SetPathListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetPathList not implemented") -} -func (UnimplementedPndServiceServer) DeleteMne(context.Context, *DeleteMneRequest) (*DeleteMneResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteMne not implemented") -} -func (UnimplementedPndServiceServer) SubscribePath(*SubscribePathRequest, PndService_SubscribePathServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribePath not implemented") -} func (UnimplementedPndServiceServer) mustEmbedUnimplementedPndServiceServer() {} // UnsafePndServiceServer may be embedded to opt out of forward compatibility for this service. @@ -331,78 +106,6 @@ func RegisterPndServiceServer(s grpc.ServiceRegistrar, srv PndServiceServer) { s.RegisterService(&PndService_ServiceDesc, srv) } -func _PndService_GetMneList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMneListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).GetMneList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/GetMneList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).GetMneList(ctx, req.(*GetMneListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_GetFlattenedMneList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMneListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).GetFlattenedMneList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/GetFlattenedMneList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).GetFlattenedMneList(ctx, req.(*GetMneListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_GetMne_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMneRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).GetMne(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/GetMne", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).GetMne(ctx, req.(*GetMneRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_SetMneList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetMneListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).SetMneList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/SetMneList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).SetMneList(ctx, req.(*SetMneListRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _PndService_GetSbiList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetSbiListRequest) if err := dec(in); err != nil { @@ -457,135 +160,6 @@ func _PndService_SetSbiList_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _PndService_GetChangeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChangeListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).GetChangeList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/GetChangeList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).GetChangeList(ctx, req.(*GetChangeListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_GetChange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChangeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).GetChange(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/GetChange", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).GetChange(ctx, req.(*GetChangeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_SetChangeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetChangeListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).SetChangeList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/SetChangeList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).SetChangeList(ctx, req.(*SetChangeListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_GetPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetPathRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).GetPath(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/GetPath", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).GetPath(ctx, req.(*GetPathRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_SetPathList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetPathListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).SetPathList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/SetPathList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).SetPathList(ctx, req.(*SetPathListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_DeleteMne_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteMneRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PndServiceServer).DeleteMne(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gosdn.pnd.PndService/DeleteMne", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PndServiceServer).DeleteMne(ctx, req.(*DeleteMneRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PndService_SubscribePath_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribePathRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(PndServiceServer).SubscribePath(m, &pndServiceSubscribePathServer{stream}) -} - -type PndService_SubscribePathServer interface { - Send(*SubscribePathResponse) error - grpc.ServerStream -} - -type pndServiceSubscribePathServer struct { - grpc.ServerStream -} - -func (x *pndServiceSubscribePathServer) Send(m *SubscribePathResponse) error { - return x.ServerStream.SendMsg(m) -} - // PndService_ServiceDesc is the grpc.ServiceDesc for PndService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -593,22 +167,6 @@ var PndService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "gosdn.pnd.PndService", HandlerType: (*PndServiceServer)(nil), Methods: []grpc.MethodDesc{ - { - MethodName: "GetMneList", - Handler: _PndService_GetMneList_Handler, - }, - { - MethodName: "GetFlattenedMneList", - Handler: _PndService_GetFlattenedMneList_Handler, - }, - { - MethodName: "GetMne", - Handler: _PndService_GetMne_Handler, - }, - { - MethodName: "SetMneList", - Handler: _PndService_SetMneList_Handler, - }, { MethodName: "GetSbiList", Handler: _PndService_GetSbiList_Handler, @@ -621,37 +179,7 @@ var PndService_ServiceDesc = grpc.ServiceDesc{ MethodName: "SetSbiList", Handler: _PndService_SetSbiList_Handler, }, - { - MethodName: "GetChangeList", - Handler: _PndService_GetChangeList_Handler, - }, - { - MethodName: "GetChange", - Handler: _PndService_GetChange_Handler, - }, - { - MethodName: "SetChangeList", - Handler: _PndService_SetChangeList_Handler, - }, - { - MethodName: "GetPath", - Handler: _PndService_GetPath_Handler, - }, - { - MethodName: "SetPathList", - Handler: _PndService_SetPathList_Handler, - }, - { - MethodName: "DeleteMne", - Handler: _PndService_DeleteMne_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SubscribePath", - Handler: _PndService_SubscribePath_Handler, - ServerStreams: true, - }, }, + Streams: []grpc.StreamDesc{}, Metadata: "gosdn/pnd/pnd.proto", } diff --git a/api/openapiv2/gosdn_northbound.swagger.json b/api/openapiv2/gosdn_northbound.swagger.json index a4d6d049a28aa2012dd08b0dcfc727e0c5aef970..5704748baa9f52dba2a16da12e469f9a83c67e92 100644 --- a/api/openapiv2/gosdn_northbound.swagger.json +++ b/api/openapiv2/gosdn_northbound.swagger.json @@ -33,13 +33,13 @@ "name": "SbiService" }, { - "name": "CoreService" + "name": "NetworkElementService" }, { - "name": "CsbiService" + "name": "CoreService" }, { - "name": "NetworkElementService" + "name": "CsbiService" }, { "name": "AuthService" @@ -168,138 +168,6 @@ ] } }, - "/network-element": { - "get": { - "operationId": "NetworkElementService_Get", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/networkelementGetNetworkElementResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "timestamp", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "networkElementId", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "NetworkElementService" - ] - } - }, - "/network-element/all": { - "get": { - "operationId": "NetworkElementService_GetAll", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/networkelementGetAllNetworkElementResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "timestamp", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - } - ], - "tags": [ - "NetworkElementService" - ] - } - }, - "/network-element/create": { - "post": { - "operationId": "NetworkElementService_Add", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/networkelementAddNetworkElementResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/networkelementAddNetworkElementRequest" - } - } - ], - "tags": [ - "NetworkElementService" - ] - } - }, - "/network-element/update": { - "post": { - "operationId": "NetworkElementService_Update", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/networkelementUpdateNetworkElementResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/networkelementUpdateNetworkElementRequest" - } - } - ], - "tags": [ - "NetworkElementService" - ] - } - }, "/pnd/{pid}": { "get": { "summary": "Allows to request a specific Principal Network Domain.", @@ -442,12 +310,12 @@ "/pnds/{pid}/changes": { "get": { "summary": "Allows to request all Changes registered for a specific Principal Network Domain.", - "operationId": "PndService_GetChangeList", + "operationId": "NetworkElementService_GetChangeList", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndGetChangeListResponse" + "$ref": "#/definitions/networkelementGetChangeListResponse" } }, "default": { @@ -473,17 +341,17 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] }, "post": { "summary": "Allows to operate on multiple Changes registered for a specific Principal Network Domain.", - "operationId": "PndService_SetChangeList", + "operationId": "NetworkElementService_SetChangeList", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndSetChangeListResponse" + "$ref": "#/definitions/networkelementSetChangeListResponse" } }, "default": { @@ -514,7 +382,7 @@ "change": { "type": "array", "items": { - "$ref": "#/definitions/pndSetChange" + "$ref": "#/definitions/networkelementSetChange" } } } @@ -522,19 +390,19 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] } }, "/pnds/{pid}/changes/{cuid}": { "get": { "summary": "Allows to request a specific Change registered for a specific Principal Network Domain.", - "operationId": "PndService_GetChange", + "operationId": "NetworkElementService_GetChange", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndGetChangeResponse" + "$ref": "#/definitions/networkelementGetChangeResponse" } }, "default": { @@ -571,19 +439,19 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] } }, "/pnds/{pid}/mne/{mneid}": { "get": { "summary": "Allows to request a specific Managed Network Element which is managed by a\nspecific Principal Network Domain.", - "operationId": "PndService_GetMne", + "operationId": "NetworkElementService_GetMne", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndGetMneResponse" + "$ref": "#/definitions/networkelementGetMneResponse" } }, "default": { @@ -615,19 +483,19 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] } }, "/pnds/{pid}/mnes": { "get": { - "summary": "Allows to request all Managed Network Elements (MNE) which are\nmanaged by a specific Principal Network Domain.\nFlattened MNEs are provided, which does not include the MNE config as gNMI\nnotification.", - "operationId": "PndService_GetFlattenedMneList", + "summary": "TODO(PND): change GetRequest!\nAllows to request all Managed Network Elements (MNE) which are\nmanaged by a specific Principal Network Domain.\nFlattened MNEs are provided, which does not include the MNE config as gNMI\nnotification.", + "operationId": "NetworkElementService_GetFlattenedMneList", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndGetFlattenedMneListResponse" + "$ref": "#/definitions/networkelementGetFlattenedMneListResponse" } }, "default": { @@ -653,17 +521,17 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] }, "post": { "summary": "Allows to add multiple Managed Network Elements to be managed by a\nspecific Principal Network Domain.", - "operationId": "PndService_SetMneList", + "operationId": "NetworkElementService_SetMneList", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndSetMneListResponse" + "$ref": "#/definitions/networkelementSetMneListResponse" } }, "default": { @@ -694,7 +562,7 @@ "mne": { "type": "array", "items": { - "$ref": "#/definitions/pndSetMne" + "$ref": "#/definitions/networkelementSetMne" } } } @@ -702,19 +570,19 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] } }, "/pnds/{pid}/mnes/paths": { "post": { "summary": "Allows to set a specific Path of a Managed Network Element,\nmanaged by a specific Principal Network Domain.", - "operationId": "PndService_SetPathList", + "operationId": "NetworkElementService_SetPathList", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndSetPathListResponse" + "$ref": "#/definitions/networkelementSetPathListResponse" } }, "default": { @@ -745,7 +613,7 @@ "changeRequest": { "type": "array", "items": { - "$ref": "#/definitions/pndChangeRequest" + "$ref": "#/definitions/networkelementChangeRequest" } } } @@ -753,19 +621,19 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] } }, "/pnds/{pid}/mnes/{mneid}": { "delete": { "summary": "Allows to delete a specific Managed Network Element which is managed by a\nspecific Principal Network Domain.", - "operationId": "PndService_DeleteMne", + "operationId": "NetworkElementService_DeleteMne", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndDeleteMneResponse" + "$ref": "#/definitions/networkelementDeleteMneResponse" } }, "default": { @@ -797,19 +665,19 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] } }, "/pnds/{pid}/mnes/{mneid}/paths/{path}": { "get": { "summary": "Allows to request a specific Path of a Managed Network Element,\nmanaged by a specific Principal Network Domain.", - "operationId": "PndService_GetPath", + "operationId": "NetworkElementService_GetPath", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pndGetPathResponse" + "$ref": "#/definitions/networkelementGetPathResponse" } }, "default": { @@ -847,7 +715,7 @@ } ], "tags": [ - "PndService" + "NetworkElementService" ] } }, @@ -1808,7 +1676,7 @@ "pnd": { "type": "array", "items": { - "$ref": "#/definitions/pndPrincipalNetworkDomain" + "$ref": "#/definitions/gosdnpndPrincipalNetworkDomain" } } } @@ -1821,7 +1689,7 @@ "format": "int64" }, "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain" + "$ref": "#/definitions/gosdnpndPrincipalNetworkDomain" } } }, @@ -2975,16 +2843,7 @@ ], "default": "STATE_UNSPECIFIED" }, - "gosdnnetworkelementStatus": { - "type": "string", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_OK", - "STATUS_ERROR" - ], - "default": "STATUS_UNSPECIFIED" - }, - "gosdnpndOperation": { + "gosdnnetworkelementOperation": { "type": "string", "enum": [ "OPERATION_UNSPECIFIED", @@ -2994,7 +2853,22 @@ ], "default": "OPERATION_UNSPECIFIED" }, - "gosdnpndSetResponse": { + "gosdnnetworkelementPrincipalNetworkDomain": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "title": "//TODO(PND): this is maybe only temporary, need to figure out how to include without cycle or duplication" + }, + "gosdnnetworkelementSetResponse": { "type": "object", "properties": { "timestamp": { @@ -3005,11 +2879,11 @@ "type": "string" }, "status": { - "$ref": "#/definitions/gosdnpndStatus" + "$ref": "#/definitions/gosdnnetworkelementStatus" } } }, - "gosdnpndStatus": { + "gosdnnetworkelementStatus": { "type": "string", "enum": [ "STATUS_UNSPECIFIED", @@ -3018,14 +2892,14 @@ ], "default": "STATUS_UNSPECIFIED" }, - "gosdnpndSubscription": { + "gosdnnetworkelementSubscription": { "type": "object", "properties": { "path": { "type": "string" }, "streamMode": { - "$ref": "#/definitions/pndStreamMode" + "$ref": "#/definitions/networkelementStreamMode" }, "sampleInterval": { "type": "string", @@ -3033,22 +2907,22 @@ } } }, - "gosdnpndSubscriptionList": { + "gosdnnetworkelementSubscriptionList": { "type": "object", "properties": { "subscription": { "type": "array", "items": { - "$ref": "#/definitions/gosdnpndSubscription" + "$ref": "#/definitions/gosdnnetworkelementSubscription" } }, "mode": { - "$ref": "#/definitions/gosdnpndSubscriptionMode" + "$ref": "#/definitions/gosdnnetworkelementSubscriptionMode" } }, "title": "The mode determines how the target should trigger updates to be sent.\nReference: gNMI Specification Section 3.5.1.2" }, - "gosdnpndSubscriptionMode": { + "gosdnnetworkelementSubscriptionMode": { "type": "string", "enum": [ "SUBSCRIPTION_MODE_UNSPECIFIED", @@ -3058,6 +2932,44 @@ ], "default": "SUBSCRIPTION_MODE_UNSPECIFIED" }, + "gosdnpndPrincipalNetworkDomain": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "gosdnpndSetResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/gosdnpndStatus" + } + } + }, + "gosdnpndStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OK", + "STATUS_ERROR" + ], + "default": "STATUS_UNSPECIFIED" + }, "gosdnrbacRole": { "type": "object", "properties": { @@ -3128,131 +3040,7 @@ ], "default": "STATUS_UNSPECIFIED" }, - "networkelementAddNetworkElementConfiguration": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "sbi": { - "$ref": "#/definitions/southboundSouthboundInterface" - }, - "networkElementName": { - "type": "string" - }, - "transportOption": { - "$ref": "#/definitions/transportTransportOption" - } - } - }, - "networkelementAddNetworkElementRequest": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "networkElement": { - "$ref": "#/definitions/networkelementAddNetworkElementConfiguration" - }, - "pid": { - "type": "string" - } - } - }, - "networkelementAddNetworkElementResponse": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "status": { - "$ref": "#/definitions/gosdnnetworkelementStatus" - }, - "networkElementId": { - "type": "string" - } - } - }, - "networkelementGetAllNetworkElementResponse": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "status": { - "$ref": "#/definitions/gosdnnetworkelementStatus" - }, - "networkElement": { - "type": "array", - "items": { - "$ref": "#/definitions/networkelementNetworkElement" - } - } - } - }, - "networkelementGetNetworkElementResponse": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "status": { - "$ref": "#/definitions/gosdnnetworkelementStatus" - }, - "networkElement": { - "$ref": "#/definitions/networkelementNetworkElement" - } - } - }, - "networkelementNetworkElement": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "model": { - "type": "string" - }, - "transportAddress": { - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/conflictMetadata" - } - } - }, - "networkelementUpdateNetworkElementRequest": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "networkElement": { - "$ref": "#/definitions/networkelementNetworkElement" - } - } - }, - "networkelementUpdateNetworkElementResponse": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "status": { - "$ref": "#/definitions/gosdnnetworkelementStatus" - } - } - }, - "pndApiOperation": { + "networkelementApiOperation": { "type": "string", "enum": [ "API_OPERATION_UNSPECIFIED", @@ -3262,7 +3050,7 @@ ], "default": "API_OPERATION_UNSPECIFIED" }, - "pndChange": { + "networkelementChange": { "type": "object", "properties": { "id": { @@ -3273,14 +3061,14 @@ "format": "int64" }, "state": { - "$ref": "#/definitions/pndChangeState" + "$ref": "#/definitions/networkelementChangeState" }, "diff": { "$ref": "#/definitions/gnmiNotification" } } }, - "pndChangeRequest": { + "networkelementChangeRequest": { "type": "object", "properties": { "mneid": { @@ -3293,12 +3081,12 @@ "type": "string" }, "apiOp": { - "$ref": "#/definitions/pndApiOperation" + "$ref": "#/definitions/networkelementApiOperation" } }, "title": "TODO: rename" }, - "pndChangeState": { + "networkelementChangeState": { "type": "string", "enum": [ "CHANGE_STATE_UNSPECIFIED", @@ -3309,7 +3097,7 @@ ], "default": "CHANGE_STATE_UNSPECIFIED" }, - "pndDeleteMneResponse": { + "networkelementDeleteMneResponse": { "type": "object", "properties": { "timestamp": { @@ -3317,11 +3105,11 @@ "format": "int64" }, "status": { - "$ref": "#/definitions/gosdnpndStatus" + "$ref": "#/definitions/gosdnnetworkelementStatus" } } }, - "pndFlattenedManagedNetworkElement": { + "networkelementFlattenedManagedNetworkElement": { "type": "object", "properties": { "id": { @@ -3335,7 +3123,7 @@ } } }, - "pndGetChangeListResponse": { + "networkelementGetChangeListResponse": { "type": "object", "properties": { "timestamp": { @@ -3343,18 +3131,18 @@ "format": "int64" }, "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", + "$ref": "#/definitions/gosdnnetworkelementPrincipalNetworkDomain", "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." }, "change": { "type": "array", "items": { - "$ref": "#/definitions/pndChange" + "$ref": "#/definitions/networkelementChange" } } } }, - "pndGetChangeResponse": { + "networkelementGetChangeResponse": { "type": "object", "properties": { "timestamp": { @@ -3362,18 +3150,18 @@ "format": "int64" }, "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", + "$ref": "#/definitions/gosdnnetworkelementPrincipalNetworkDomain", "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." }, "change": { "type": "array", "items": { - "$ref": "#/definitions/pndChange" + "$ref": "#/definitions/networkelementChange" } } } }, - "pndGetFlattenedMneListResponse": { + "networkelementGetFlattenedMneListResponse": { "type": "object", "properties": { "timestamp": { @@ -3381,18 +3169,19 @@ "format": "int64" }, "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", + "$ref": "#/definitions/gosdnnetworkelementPrincipalNetworkDomain", "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." }, "mne": { "type": "array", "items": { - "$ref": "#/definitions/pndFlattenedManagedNetworkElement" + "$ref": "#/definitions/networkelementFlattenedManagedNetworkElement" } } - } + }, + "title": "TODO(PND): add request here" }, - "pndGetMneListResponse": { + "networkelementGetMneListResponse": { "type": "object", "properties": { "timestamp": { @@ -3400,18 +3189,18 @@ "format": "int64" }, "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", + "$ref": "#/definitions/gosdnnetworkelementPrincipalNetworkDomain", "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." }, "mne": { "type": "array", "items": { - "$ref": "#/definitions/pndManagedNetworkElement" + "$ref": "#/definitions/networkelementManagedNetworkElement" } } } }, - "pndGetMneResponse": { + "networkelementGetMneResponse": { "type": "object", "properties": { "timestamp": { @@ -3419,15 +3208,15 @@ "format": "int64" }, "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", + "$ref": "#/definitions/gosdnnetworkelementPrincipalNetworkDomain", "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." }, "mne": { - "$ref": "#/definitions/pndManagedNetworkElement" + "$ref": "#/definitions/networkelementManagedNetworkElement" } } }, - "pndGetPathResponse": { + "networkelementGetPathResponse": { "type": "object", "properties": { "timestamp": { @@ -3435,7 +3224,7 @@ "format": "int64" }, "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", + "$ref": "#/definitions/gosdnnetworkelementPrincipalNetworkDomain", "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." }, "mneNotification": { @@ -3446,42 +3235,7 @@ } } }, - "pndGetSbiListResponse": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", - "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." - }, - "sbi": { - "type": "array", - "items": { - "$ref": "#/definitions/southboundSouthboundInterface" - } - } - } - }, - "pndGetSbiResponse": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "int64" - }, - "pnd": { - "$ref": "#/definitions/pndPrincipalNetworkDomain", - "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." - }, - "sbi": { - "$ref": "#/definitions/southboundSouthboundInterface" - } - } - }, - "pndManagedNetworkElement": { + "networkelementManagedNetworkElement": { "type": "object", "properties": { "id": { @@ -3498,45 +3252,24 @@ }, "sbi": { "$ref": "#/definitions/southboundSouthboundInterface" - } - } - }, - "pndPrincipalNetworkDomain": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" }, - "description": { - "type": "string" + "metadata": { + "$ref": "#/definitions/conflictMetadata" } } }, - "pndSbiType": { - "type": "string", - "enum": [ - "SBI_TYPE_UNSPECIFIED", - "SBI_TYPE_OPENCONFIG", - "SBI_TYPE_CONTAINERISED", - "SBI_TYPE_PLUGIN" - ], - "default": "SBI_TYPE_UNSPECIFIED" - }, - "pndSetChange": { + "networkelementSetChange": { "type": "object", "properties": { "cuid": { "type": "string" }, "op": { - "$ref": "#/definitions/gosdnpndOperation" + "$ref": "#/definitions/gosdnnetworkelementOperation" } } }, - "pndSetChangeListResponse": { + "networkelementSetChangeListResponse": { "type": "object", "properties": { "timestamp": { @@ -3544,17 +3277,17 @@ "format": "int64" }, "status": { - "$ref": "#/definitions/gosdnpndStatus" + "$ref": "#/definitions/gosdnnetworkelementStatus" }, "responses": { "type": "array", "items": { - "$ref": "#/definitions/gosdnpndSetResponse" + "$ref": "#/definitions/gosdnnetworkelementSetResponse" } } } }, - "pndSetMne": { + "networkelementSetMne": { "type": "object", "properties": { "address": { @@ -3571,7 +3304,7 @@ } } }, - "pndSetMneListResponse": { + "networkelementSetMneListResponse": { "type": "object", "properties": { "timestamp": { @@ -3579,17 +3312,17 @@ "format": "int64" }, "status": { - "$ref": "#/definitions/gosdnpndStatus" + "$ref": "#/definitions/gosdnnetworkelementStatus" }, "responses": { "type": "array", "items": { - "$ref": "#/definitions/gosdnpndSetResponse" + "$ref": "#/definitions/gosdnnetworkelementSetResponse" } } } }, - "pndSetPathListResponse": { + "networkelementSetPathListResponse": { "type": "object", "properties": { "timestamp": { @@ -3597,53 +3330,98 @@ "format": "int64" }, "status": { - "$ref": "#/definitions/gosdnpndStatus" + "$ref": "#/definitions/gosdnnetworkelementStatus" }, "responses": { "type": "array", "items": { - "$ref": "#/definitions/gosdnpndSetResponse" + "$ref": "#/definitions/gosdnnetworkelementSetResponse" } } } }, - "pndSetSbi": { + "networkelementStreamMode": { + "type": "string", + "enum": [ + "STREAM_MODE_UNSPECIFIED", + "STREAM_MODE_TARGET_DEFINED", + "STREAM_MODE_ON_CHANGE", + "STREAM_MODE_SAMPLE" + ], + "default": "STREAM_MODE_UNSPECIFIED" + }, + "networkelementSubscribePathResponse": { "type": "object", "properties": { - "sbiType": { - "$ref": "#/definitions/pndSbiType" + "timestamp": { + "type": "string", + "format": "int64" + }, + "status": { + "$ref": "#/definitions/gosdnnetworkelementStatus" + }, + "mneNotification": { + "type": "array", + "items": { + "$ref": "#/definitions/gnmiNotification" + } } } }, - "pndSetSbiListResponse": { + "pndGetSbiListResponse": { "type": "object", "properties": { "timestamp": { "type": "string", "format": "int64" }, - "status": { - "$ref": "#/definitions/gosdnpndStatus" + "pnd": { + "$ref": "#/definitions/gosdnpndPrincipalNetworkDomain", + "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." }, - "responses": { + "sbi": { "type": "array", "items": { - "$ref": "#/definitions/gosdnpndSetResponse" + "$ref": "#/definitions/southboundSouthboundInterface" } } } }, - "pndStreamMode": { + "pndGetSbiResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64" + }, + "pnd": { + "$ref": "#/definitions/gosdnpndPrincipalNetworkDomain", + "description": "TODO: Check if this is really needed. Perhaps a reference to the PND's ID\nis also sufficient." + }, + "sbi": { + "$ref": "#/definitions/southboundSouthboundInterface" + } + } + }, + "pndSbiType": { "type": "string", "enum": [ - "STREAM_MODE_UNSPECIFIED", - "STREAM_MODE_TARGET_DEFINED", - "STREAM_MODE_ON_CHANGE", - "STREAM_MODE_SAMPLE" + "SBI_TYPE_UNSPECIFIED", + "SBI_TYPE_OPENCONFIG", + "SBI_TYPE_CONTAINERISED", + "SBI_TYPE_PLUGIN" ], - "default": "STREAM_MODE_UNSPECIFIED" + "default": "SBI_TYPE_UNSPECIFIED" + }, + "pndSetSbi": { + "type": "object", + "properties": { + "sbiType": { + "$ref": "#/definitions/pndSbiType" + } + } }, - "pndSubscribePathResponse": { + "pndSetSbiListResponse": { "type": "object", "properties": { "timestamp": { @@ -3653,10 +3431,10 @@ "status": { "$ref": "#/definitions/gosdnpndStatus" }, - "mneNotification": { + "responses": { "type": "array", "items": { - "$ref": "#/definitions/gnmiNotification" + "$ref": "#/definitions/gosdnpndSetResponse" } } } diff --git a/api/proto/buf.lock b/api/proto/buf.lock index e5d1311d723ba10d971038beaedc65d90aa8035c..d8efa9a963ab373273ea644b3e80394aaa893c3b 100644 --- a/api/proto/buf.lock +++ b/api/proto/buf.lock @@ -4,8 +4,8 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: d1263fe26f8e430a967dc22a4d0cad18 + commit: 75b4300737fb4efca0831636be94e517 - remote: buf.build owner: grpc-ecosystem repository: grpc-gateway - commit: b96615cde70c403f8075c48e56178f88 + commit: a1ecdc58eccd49aa8bea2a7a9022dc27 diff --git a/api/proto/gosdn/core/core.proto b/api/proto/gosdn/core/core.proto index d2476f3897755c07298973f159a11ca888ae96e6..2c48b55e7068ffdf6a50b9f08b55d807cdd48b63 100644 --- a/api/proto/gosdn/core/core.proto +++ b/api/proto/gosdn/core/core.proto @@ -7,6 +7,7 @@ import "gosdn/pnd/pnd.proto"; option go_package = "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/core"; +//TODO(PND): make this the pnd service or move to other file, think about better solution? service CoreService { // Allows to request a specific Principal Network Domain. rpc GetPnd(GetPndRequest) returns (GetPndResponse) { diff --git a/api/proto/gosdn/networkelement/networkelement.proto b/api/proto/gosdn/networkelement/networkelement.proto index ad75044ab0a86221a3759bfe5269b7aba6a0d119..fa4e668d35081032d7b537ac4f12a06beb8afd55 100644 --- a/api/proto/gosdn/networkelement/networkelement.proto +++ b/api/proto/gosdn/networkelement/networkelement.proto @@ -8,45 +8,89 @@ import "protoc-gen-openapiv2/options/annotations.proto"; import "github.com/openconfig/gnmi/proto/gnmi/gnmi.proto"; import "gosdn/conflict/conflict.proto"; -import "gosdn/pnd/pnd.proto"; import "gosdn/transport/transport.proto"; import "gosdn/southbound/southbound.proto"; option go_package = "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement"; +//TODO(PND): add option to update our stored MNE (e.g. name, descr)instead of only being able to change YANG service NetworkElementService { - rpc Add(AddNetworkElementRequest) returns (AddNetworkElementResponse) { - option (google.api.http) = { - post: "/network-element/create" - body: "*" - }; - } - - rpc Get(GetNetworkElementRequest) returns (GetNetworkElementResponse) { - option (google.api.http) = { - get: "/network-element" - }; - } - - rpc GetAll(GetAllNetworkElementRequest) returns (GetAllNetworkElementResponse) { - option (google.api.http) = { - get: "/network-element/all" - }; - } - - rpc Update(UpdateNetworkElementRequest) returns (UpdateNetworkElementResponse) { - option (google.api.http) = { - post: "/network-element/update" - body: "*" - }; - } - - // TODO: not implemented yet! - // rpc Delete(DeleteNetworkElementRequest) returns (DeleteNetworkElementRequest) { - // option (google.api.http) = { - // delete: "/network-element" - // }; - // } + // Allows to request all Managed Network Elements (MNE) which are + // managed by a specific Principal Network Domain. + // Full MNEs are provided, which also includes the MNE config as gNMI + // notification. + rpc GetMneList(GetMneListRequest) returns (GetMneListResponse); + + //TODO(PND): change GetRequest! + // Allows to request all Managed Network Elements (MNE) which are + // managed by a specific Principal Network Domain. + // Flattened MNEs are provided, which does not include the MNE config as gNMI + // notification. + rpc GetFlattenedMneList(GetMneListRequest) returns (GetFlattenedMneListResponse) { + option (google.api.http) = { + get: "/pnds/{pid}/mnes" + }; + } + // Allows to request a specific Managed Network Element which is managed by a + // specific Principal Network Domain. + rpc GetMne(GetMneRequest) returns (GetMneResponse) { + option (google.api.http) = { + get: "/pnds/{pid}/mne/{mneid}" + }; + } + // Allows to add multiple Managed Network Elements to be managed by a + // specific Principal Network Domain. + rpc SetMneList(SetMneListRequest) returns (SetMneListResponse) { + option (google.api.http) = { + post: "/pnds/{pid}/mnes" + body: "*" + }; + } + // Allows to request a specific Path of a Managed Network Element, + // managed by a specific Principal Network Domain. + rpc GetPath(GetPathRequest) returns (GetPathResponse) { + option (google.api.http) = { + get: "/pnds/{pid}/mnes/{mneid}/paths/{path}" + }; + } + // Allows to set a specific Path of a Managed Network Element, + // managed by a specific Principal Network Domain. + rpc SetPathList(SetPathListRequest) returns (SetPathListResponse) { + option (google.api.http) = { + post: "/pnds/{pid}/mnes/paths" + body: "*" + }; + } + // Allows to delete a specific Managed Network Element which is managed by a + // specific Principal Network Domain. + rpc DeleteMne(DeleteMneRequest) returns (DeleteMneResponse) { + option (google.api.http) = { + delete: "/pnds/{pid}/mnes/{mneid}" + }; + } + // Allows to request all Changes registered for a specific Principal Network Domain. + rpc GetChangeList(GetChangeListRequest) returns (GetChangeListResponse) { + option (google.api.http) = { + get: "/pnds/{pid}/changes" + }; + } + // Allows to request a specific Change registered for a specific Principal Network Domain. + rpc GetChange(GetChangeRequest) returns (GetChangeResponse) { + option (google.api.http) = { + get: "/pnds/{pid}/changes/{cuid}" + }; + } + // Allows to operate on multiple Changes registered for a specific Principal Network Domain. + rpc SetChangeList(SetChangeListRequest) returns (SetChangeListResponse) { + option (google.api.http) = { + post: "/pnds/{pid}/changes" + body: "*" + }; + } + // Allows to subscribe to multiple paths of a Managed Network Element which is + // managed by a specific Principal Network Domain and streams data depending on the subscribe + // method. + rpc SubscribePath(SubscribePathRequest) returns (stream SubscribePathResponse) {}; } enum Status { @@ -55,70 +99,257 @@ enum Status { STATUS_ERROR = 2; } -message NetworkElement { +// message NetworkElement { +// string id = 1; +// string name = 2; +// string model = 3; +// string transport_address = 4; +// conflict.Metadata metadata = 5; +// } + +message ManagedNetworkElement { string id = 1; string name = 2; - string model = 3; - string transport_address = 4; + repeated gnmi.Notification mne_notification = 3; + .gosdn.southbound.SouthboundInterface sbi = 4; conflict.Metadata metadata = 5; + } + +message FlattenedManagedNetworkElement { + string id = 1; + string name = 2; + string sbi = 3; +} + +// //TODO(PND): this is maybe only temporary, need to figure out how to include without cycle or duplication +message PrincipalNetworkDomain { + string id = 1; + string name = 2; + string description = 3; } -message AddNetworkElementConfiguration { +message GetMneListRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + string pid = 2; +} + +message GetMneListResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + PrincipalNetworkDomain pnd = 2; + repeated ManagedNetworkElement mne = 3; +} + +//TODO(PND): add request here +message GetFlattenedMneListResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + PrincipalNetworkDomain pnd = 2; + repeated FlattenedManagedNetworkElement mne = 3; +} + +message GetMneRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + string mneid = 2; + string pid = 3; +} + +message GetMneResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + PrincipalNetworkDomain pnd = 2; + ManagedNetworkElement mne = 3; +} + +message SetMne { string address = 1; .gosdn.southbound.SouthboundInterface sbi = 2; - string network_element_name = 3; + string mne_name = 3; .gosdn.transport.TransportOption transport_option = 4; } -message AddNetworkElementRequest { - int64 timestamp = 1; - AddNetworkElementConfiguration network_element = 2; +message SetMneListRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + repeated SetMne mne = 2; string pid = 3; } -message AddNetworkElementResponse { - int64 timestamp = 1; +message SetMneListResponse{ + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. Status status = 2; - string network_element_id = 3; + repeated SetResponse responses = 3; +} + +message GetPathRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + string mneid = 2; + string path = 3; + string pid = 4; +} + +message GetPathResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + PrincipalNetworkDomain pnd = 2; + repeated gnmi.Notification mne_notification = 3; +} + +message SetResponse{ + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + string id = 2; + Status status = 3; } -message GetNetworkElementRequest { - int64 timestamp = 1; - string network_element_id = 2; +message SetPathListRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + repeated ChangeRequest change_request = 2; + string pid = 3; } -message GetNetworkElementResponse { - int64 timestamp = 1; +message SetPathListResponse{ + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. Status status = 2; - NetworkElement network_element = 3; + repeated SetResponse responses = 3; } -message GetAllNetworkElementRequest { - int64 timestamp = 1; +message DeleteMneRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + string pid = 2; + string mneid = 3; } -message GetAllNetworkElementResponse { - int64 timestamp = 1; +message DeleteMneResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. Status status = 2; - repeated NetworkElement network_element = 3; } -message UpdateNetworkElementRequest { - int64 timestamp = 1; - NetworkElement network_element = 2; +enum ChangeState { + CHANGE_STATE_UNSPECIFIED = 0; + CHANGE_STATE_PENDING = 1; + CHANGE_STATE_COMMITTED = 2; + CHANGE_STATE_CONFIRMED = 3; + CHANGE_STATE_INCONSISTENT = 4; +} + +message Change { + string id = 1; + int64 age = 2; + ChangeState state = 3; + gnmi.Notification diff = 4; +} + +//TODO: rename +message ChangeRequest { + string mneid = 1; + string path = 2; + string value = 3; + ApiOperation api_op = 4; } -message UpdateNetworkElementResponse { - int64 timestamp = 1; +enum ApiOperation { + API_OPERATION_UNSPECIFIED = 0; + API_OPERATION_UPDATE = 1; + API_OPERATION_REPLACE = 2; + API_OPERATION_DELETE = 3; +} + +enum Operation { + OPERATION_UNSPECIFIED = 0; + OPERATION_CREATE = 1; + OPERATION_COMMIT = 2; + OPERATION_CONFIRM = 3; +} + +message SetChange { + string cuid = 1; + Operation op = 2; +} + +message GetChangeListRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + string pid = 2; +} + +message GetChangeListResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + PrincipalNetworkDomain pnd = 2; + repeated Change change = 3; +} + +message GetChangeRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + repeated string cuid = 2; + string pid = 3; +} + +message GetChangeResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + PrincipalNetworkDomain pnd = 2; + repeated Change change = 3; +} + +message SetChangeListRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + repeated SetChange change = 2; + string pid = 3; +} + +message SetChangeListResponse{ + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. Status status = 2; + repeated SetResponse responses = 3; +} + +// The mode determines how the target should trigger updates to be sent. +// Reference: gNMI Specification Section 3.5.1.2 +message SubscriptionList { + repeated Subscription subscription = 1; + SubscriptionMode mode = 2; +} + +enum SubscriptionMode { + SUBSCRIPTION_MODE_UNSPECIFIED = 0; + SUBSCRIPTION_MODE_ONCE = 1; + SUBSCRIPTION_MODE_STREAM = 2; + SUBSCRIPTION_MODE_POLL = 3; +} + +message Subscription { + string path = 1; + StreamMode stream_mode = 2; + uint64 sample_interval = 3; // time in ns between samples in SAMPLE mode. +} + +enum StreamMode { + STREAM_MODE_UNSPECIFIED = 0; + STREAM_MODE_TARGET_DEFINED = 1; // The target selects the relevant mode for each element. + STREAM_MODE_ON_CHANGE = 2; // The target sends an update on element value change. + STREAM_MODE_SAMPLE = 3; // The target samples values according to the interval. } -message DeleteNetworkElementRequest { - int64 timestamp = 1; - string network_element_id = 2; +message SubscribePathRequest { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + string mneid = 2; + string pid = 3; + SubscriptionList sublist = 4; } -message DeleteNetworkElementResponse { - int64 timestamp = 1; +message SubscribePathResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. Status status = 2; + repeated gnmi.Notification mne_notification = 3; } + + + + + + diff --git a/api/proto/gosdn/pnd/pnd.proto b/api/proto/gosdn/pnd/pnd.proto index 8f8ae50b0d65f9b2f6dacaaf0f30537071c18433..5c843b395f42e5769e583b6a16e33b9a96994ff4 100644 --- a/api/proto/gosdn/pnd/pnd.proto +++ b/api/proto/gosdn/pnd/pnd.proto @@ -7,6 +7,7 @@ import "google/protobuf/descriptor.proto"; import "github.com/openconfig/gnmi/proto/gnmi/gnmi.proto"; import "gosdn/transport/transport.proto"; import "gosdn/southbound/southbound.proto"; +import "gosdn/networkelement/networkelement.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd"; @@ -29,36 +30,6 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { }; service PndService { - // Allows to request all Managed Network Elements (MNE) which are - // managed by a specific Principal Network Domain. - // Full MNEs are provided, which also includes the MNE config as gNMI - // notification. - rpc GetMneList(GetMneListRequest) returns (GetMneListResponse); - - // Allows to request all Managed Network Elements (MNE) which are - // managed by a specific Principal Network Domain. - // Flattened MNEs are provided, which does not include the MNE config as gNMI - // notification. - rpc GetFlattenedMneList(GetMneListRequest) returns (GetFlattenedMneListResponse) { - option (google.api.http) = { - get: "/pnds/{pid}/mnes" - }; - } - // Allows to request a specific Managed Network Element which is managed by a - // specific Principal Network Domain. - rpc GetMne(GetMneRequest) returns (GetMneResponse) { - option (google.api.http) = { - get: "/pnds/{pid}/mne/{mneid}" - }; - } - // Allows to add multiple Managed Network Elements to be managed by a - // specific Principal Network Domain. - rpc SetMneList(SetMneListRequest) returns (SetMneListResponse) { - option (google.api.http) = { - post: "/pnds/{pid}/mnes" - body: "*" - }; - } // Allows to request all Southbound Interfaces a specific Principal Network // Domain supports. rpc GetSbiList(GetSbiListRequest) returns (GetSbiListResponse) { @@ -81,62 +52,12 @@ service PndService { body: "*" }; } - // Allows to request all Changes registered for a specific Principal Network Domain. - rpc GetChangeList(GetChangeListRequest) returns (GetChangeListResponse) { - option (google.api.http) = { - get: "/pnds/{pid}/changes" - }; - } - // Allows to request a specific Change registered for a specific Principal Network Domain. - rpc GetChange(GetChangeRequest) returns (GetChangeResponse) { - option (google.api.http) = { - get: "/pnds/{pid}/changes/{cuid}" - }; - } - // Allows to operate on multiple Changes registered for a specific Principal Network Domain. - rpc SetChangeList(SetChangeListRequest) returns (SetChangeListResponse) { - option (google.api.http) = { - post: "/pnds/{pid}/changes" - body: "*" - }; - } - // Allows to request a specific Path of a Managed Network Element, - // managed by a specific Principal Network Domain. - rpc GetPath(GetPathRequest) returns (GetPathResponse) { - option (google.api.http) = { - get: "/pnds/{pid}/mnes/{mneid}/paths/{path}" - }; - } - // Allows to set a specific Path of a Managed Network Element, - // managed by a specific Principal Network Domain. - rpc SetPathList(SetPathListRequest) returns (SetPathListResponse) { - option (google.api.http) = { - post: "/pnds/{pid}/mnes/paths" - body: "*" - }; - } - // Allows to delete a specific Managed Network Element which is managed by a - // specific Principal Network Domain. - rpc DeleteMne(DeleteMneRequest) returns (DeleteMneResponse) { - option (google.api.http) = { - delete: "/pnds/{pid}/mnes/{mneid}" - }; - } - // Allows to subscribe to multiple paths of a Managed Network Element which is - // managed by a specific Principal Network Domain and streams data depending on the subscribe - // method. - rpc SubscribePath(SubscribePathRequest) returns (stream SubscribePathResponse) {}; -} - -message GetMneListRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string pid = 2; } -message GetMneRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string mneid = 2; - string pid = 3; +message PrincipalNetworkDomain { + string id = 1; + string name = 2; + string description = 3; } message GetSbiListRequest { @@ -144,54 +65,20 @@ message GetSbiListRequest { string pid = 2; } -message GetSbiRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string sid = 2; - string pid = 3; -} - -message GetChangeListRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string pid = 2; +message GetSbiListResponse { + int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. + // TODO: Check if this is really needed. Perhaps a reference to the PND's ID + // is also sufficient. + PrincipalNetworkDomain pnd = 2; + repeated .gosdn.southbound.SouthboundInterface sbi = 3; } -message GetChangeRequest { +message GetSbiRequest { int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - repeated string cuid = 2; + string sid = 2; string pid = 3; } -message GetPathRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string mneid = 2; - string path = 3; - string pid = 4; -} - -message GetMneResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - PrincipalNetworkDomain pnd = 2; - ManagedNetworkElement mne = 3; -} - -message GetMneListResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - PrincipalNetworkDomain pnd = 2; - repeated ManagedNetworkElement mne = 3; -} - -message GetFlattenedMneListResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - PrincipalNetworkDomain pnd = 2; - repeated FlattenedManagedNetworkElement mne = 3; -} - message GetSbiResponse { int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. // TODO: Check if this is really needed. Perhaps a reference to the PND's ID @@ -200,77 +87,6 @@ message GetSbiResponse { .gosdn.southbound.SouthboundInterface sbi = 3; } -message GetSbiListResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - PrincipalNetworkDomain pnd = 2; - repeated .gosdn.southbound.SouthboundInterface sbi = 3; -} - -message GetPathResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - PrincipalNetworkDomain pnd = 2; - repeated gnmi.Notification mne_notification = 3; -} - -message GetChangeResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - PrincipalNetworkDomain pnd = 2; - repeated Change change = 3; -} - -message GetChangeListResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - // TODO: Check if this is really needed. Perhaps a reference to the PND's ID - // is also sufficient. - PrincipalNetworkDomain pnd = 2; - repeated Change change = 3; -} - -message PrincipalNetworkDomain { - string id = 1; - string name = 2; - string description = 3; -} - -message ManagedNetworkElement { - string id = 1; - string name = 2; - repeated gnmi.Notification mne_notification = 3; - .gosdn.southbound.SouthboundInterface sbi = 4; -} - -message FlattenedManagedNetworkElement { - string id = 1; - string name = 2; - string sbi = 3; -} - -enum ChangeState { - CHANGE_STATE_UNSPECIFIED = 0; - CHANGE_STATE_PENDING = 1; - CHANGE_STATE_COMMITTED = 2; - CHANGE_STATE_CONFIRMED = 3; - CHANGE_STATE_INCONSISTENT = 4; -} - -message Change { - string id = 1; - int64 age = 2; - ChangeState state = 3; - gnmi.Notification diff = 4; -} - -message SetMneListRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - repeated SetMne mne = 2; - string pid = 3; -} message SetSbiListRequest { int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. @@ -278,40 +94,6 @@ message SetSbiListRequest { string pid = 3; } -message SetChangeListRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - repeated SetChange change = 2; - string pid = 3; -} - -message SetPathListRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - repeated ChangeRequest change_request = 2; - string pid = 3; -} - -//TODO: rename -message ChangeRequest { - string mneid = 1; - string path = 2; - string value = 3; - ApiOperation api_op = 4; -} - -enum ApiOperation { - API_OPERATION_UNSPECIFIED = 0; - API_OPERATION_UPDATE = 1; - API_OPERATION_REPLACE = 2; - API_OPERATION_DELETE = 3; -} - -message SetMne { - string address = 1; - .gosdn.southbound.SouthboundInterface sbi = 2; - string mne_name = 3; - .gosdn.transport.TransportOption transport_option = 4; -} - message SetSbi { SbiType sbi_type = 1; } @@ -322,108 +104,20 @@ enum SbiType { SBI_TYPE_CONTAINERISED = 2; SBI_TYPE_PLUGIN = 3; } - -enum Operation { - OPERATION_UNSPECIFIED = 0; - OPERATION_CREATE = 1; - OPERATION_COMMIT = 2; - OPERATION_CONFIRM = 3; -} - -message SetChange { - string cuid = 1; - Operation op = 2; -} - -message SetResponse{ - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string id = 2; - Status status = 3; -} - -message SetMneListResponse{ - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - Status status = 2; - repeated SetResponse responses = 3; -} - -message SetChangeListResponse{ - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - Status status = 2; - repeated SetResponse responses = 3; -} - -message SetChangeResponse{ - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - Status status = 2; -} - message SetSbiListResponse{ int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. Status status = 2; repeated SetResponse responses = 3; } -message SetPathListResponse{ - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - Status status = 2; - repeated SetResponse responses = 3; -} - -message DeleteMneRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string pid = 2; - string mneid = 3; -} - -message DeleteMneResponse { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - Status status = 2; -} - enum Status { STATUS_UNSPECIFIED = 0; STATUS_OK = 1; STATUS_ERROR = 2; } -message SubscribePathRequest { - int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - string mneid = 2; - string pid = 3; - SubscriptionList sublist = 4; -} - -// The mode determines how the target should trigger updates to be sent. -// Reference: gNMI Specification Section 3.5.1.2 -message SubscriptionList { - repeated Subscription subscription = 1; - SubscriptionMode mode = 2; -} - -enum SubscriptionMode { - SUBSCRIPTION_MODE_UNSPECIFIED = 0; - SUBSCRIPTION_MODE_ONCE = 1; - SUBSCRIPTION_MODE_STREAM = 2; - SUBSCRIPTION_MODE_POLL = 3; -} - -message Subscription { - string path = 1; - StreamMode stream_mode = 2; - uint64 sample_interval = 3; // time in ns between samples in SAMPLE mode. -} - -enum StreamMode { - STREAM_MODE_UNSPECIFIED = 0; - STREAM_MODE_TARGET_DEFINED = 1; // The target selects the relevant mode for each element. - STREAM_MODE_ON_CHANGE = 2; // The target sends an update on element value change. - STREAM_MODE_SAMPLE = 3; // The target samples values according to the interval. -} - - -message SubscribePathResponse { +message SetResponse{ int64 timestamp = 1; // Timestamp in nanoseconds since Epoch. - Status status = 2; - repeated gnmi.Notification mne_notification = 3; + string id = 2; + Status status = 3; } diff --git a/controller/api/apiIntegration_test.go b/controller/api/apiIntegration_test.go index e9c98b20c036bfd611b4edc1288c03dfad5a4cee..999c3fe3c1d12892bbf2fc500d8b736a90363ad1 100644 --- a/controller/api/apiIntegration_test.go +++ b/controller/api/apiIntegration_test.go @@ -5,7 +5,7 @@ import ( "errors" "testing" - "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" "github.com/google/uuid" guuid "github.com/google/uuid" @@ -100,7 +100,7 @@ func TestApiIntegration(t *testing.T) { cliPnd, testPath, hostname, - pnd.ApiOperation_API_OPERATION_UPDATE, + mnepb.ApiOperation_API_OPERATION_UPDATE, ) if (err != nil) != tt.wantErr { t.Errorf("gosdn cli set error = %v, wantErr %v", err, tt.wantErr) diff --git a/controller/api/api_test.go b/controller/api/api_test.go index 02a55df4be5e10f45213f6773d5de4ce3f90cede..b31494fe58f26f2f68dfae573da4af54b7455b90 100644 --- a/controller/api/api_test.go +++ b/controller/api/api_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "testing" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" "code.fbi.h-da.de/danet/gosdn/controller/nucleus" @@ -138,7 +138,7 @@ func Test_GetDevice(t *testing.T) { } func Test_Update(t *testing.T) { - resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "", "", ppb.ApiOperation_API_OPERATION_UPDATE) + resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "", "", mnepb.ApiOperation_API_OPERATION_UPDATE) if err != nil { t.Error(err) return @@ -147,7 +147,7 @@ func Test_Update(t *testing.T) { } func Test_Replace(t *testing.T) { - resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "", "", ppb.ApiOperation_API_OPERATION_REPLACE) + resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "", "", mnepb.ApiOperation_API_OPERATION_REPLACE) if err != nil { t.Error(err) return @@ -156,7 +156,7 @@ func Test_Replace(t *testing.T) { } func Test_Delete(t *testing.T) { - resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "", "", ppb.ApiOperation_API_OPERATION_DELETE) + resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "", "", mnepb.ApiOperation_API_OPERATION_DELETE) if err != nil { t.Error(err) return diff --git a/controller/api/change.go b/controller/api/change.go index 570b0af3374e5ab402a7f17e8765c98997068a66..dfd3115581eb3ae87633d89cc3d3effcb1ec5bf3 100644 --- a/controller/api/change.go +++ b/controller/api/change.go @@ -5,17 +5,17 @@ import ( "errors" "time" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" nbi "code.fbi.h-da.de/danet/gosdn/controller/northbound/client" ) // GetChanges requests all pending and unconfirmed changes from the controller. -func GetChanges(ctx context.Context, addr, pnd string) (*ppb.GetChangeListResponse, error) { +func GetChanges(ctx context.Context, addr, pnd string) (*mnepb.GetChangeListResponse, error) { client, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - req := &ppb.GetChangeListRequest{ + req := &mnepb.GetChangeListRequest{ Timestamp: time.Now().UnixNano(), Pid: pnd, } @@ -23,7 +23,7 @@ func GetChanges(ctx context.Context, addr, pnd string) (*ppb.GetChangeListRespon } // GetChange requests one or more changes from the controller. -func GetChange(ctx context.Context, addr string, pnd string, args ...string) (*ppb.GetChangeResponse, error) { +func GetChange(ctx context.Context, addr string, pnd string, args ...string) (*mnepb.GetChangeResponse, error) { client, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err @@ -31,7 +31,7 @@ func GetChange(ctx context.Context, addr string, pnd string, args ...string) (*p if len(args) <= 0 { return nil, errors.New("not enough arguments") } - req := &ppb.GetChangeRequest{ + req := &mnepb.GetChangeRequest{ Timestamp: time.Now().UnixNano(), Pid: pnd, Cuid: args, @@ -41,12 +41,12 @@ func GetChange(ctx context.Context, addr string, pnd string, args ...string) (*p // Commit sends a Commit request for one or multiple changes to the // controller. -func Commit(ctx context.Context, addr, pnd string, cuids ...string) (*ppb.SetChangeListResponse, error) { - changes := make([]*ppb.SetChange, len(cuids)) +func Commit(ctx context.Context, addr, pnd string, cuids ...string) (*mnepb.SetChangeListResponse, error) { + changes := make([]*mnepb.SetChange, len(cuids)) for i, arg := range cuids { - changes[i] = &ppb.SetChange{ + changes[i] = &mnepb.SetChange{ Cuid: arg, - Op: ppb.Operation_OPERATION_COMMIT, + Op: mnepb.Operation_OPERATION_COMMIT, } } return CommitConfirm(ctx, addr, pnd, changes) @@ -54,24 +54,24 @@ func Commit(ctx context.Context, addr, pnd string, cuids ...string) (*ppb.SetCha // Confirm sends a Confirm request for one or multiple changes to the // controller. -func Confirm(ctx context.Context, addr, pnd string, cuids ...string) (*ppb.SetChangeListResponse, error) { - changes := make([]*ppb.SetChange, len(cuids)) +func Confirm(ctx context.Context, addr, pnd string, cuids ...string) (*mnepb.SetChangeListResponse, error) { + changes := make([]*mnepb.SetChange, len(cuids)) for i, arg := range cuids { - changes[i] = &ppb.SetChange{ + changes[i] = &mnepb.SetChange{ Cuid: arg, - Op: ppb.Operation_OPERATION_CONFIRM, + Op: mnepb.Operation_OPERATION_CONFIRM, } } return CommitConfirm(ctx, addr, pnd, changes) } // CommitConfirm confirms a commit. -func CommitConfirm(ctx context.Context, addr, pnd string, changes []*ppb.SetChange) (*ppb.SetChangeListResponse, error) { +func CommitConfirm(ctx context.Context, addr, pnd string, changes []*mnepb.SetChange) (*mnepb.SetChangeListResponse, error) { client, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - req := &ppb.SetChangeListRequest{ + req := &mnepb.SetChangeListRequest{ Timestamp: time.Now().UnixNano(), Change: changes, Pid: pnd, @@ -84,8 +84,8 @@ func CommitConfirm(ctx context.Context, addr, pnd string, changes []*ppb.SetChan // specified in // https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md#34-modifying-state) // For delete operations the value field needs to contain an empty string. -func ChangeRequest(ctx context.Context, addr, mneid, pid, path, value string, op ppb.ApiOperation) (*ppb.SetPathListResponse, error) { - req := &ppb.ChangeRequest{ +func ChangeRequest(ctx context.Context, addr, mneid, pid, path, value string, op mnepb.ApiOperation) (*mnepb.SetPathListResponse, error) { + req := &mnepb.ChangeRequest{ Mneid: mneid, Path: path, Value: value, @@ -95,15 +95,15 @@ func ChangeRequest(ctx context.Context, addr, mneid, pid, path, value string, op } // SendChangeRequest sends a change request. -func SendChangeRequest(ctx context.Context, addr, pid string, req *ppb.ChangeRequest) (*ppb.SetPathListResponse, error) { +func SendChangeRequest(ctx context.Context, addr, pid string, req *mnepb.ChangeRequest) (*mnepb.SetPathListResponse, error) { pndClient, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - r := &ppb.SetPathListRequest{ + r := &mnepb.SetPathListRequest{ Timestamp: time.Now().UnixNano(), - ChangeRequest: []*ppb.ChangeRequest{req}, + ChangeRequest: []*mnepb.ChangeRequest{req}, Pid: pid, } return pndClient.SetPathList(ctx, r) diff --git a/controller/api/initialise_test.go b/controller/api/initialise_test.go index 9ec8959c03bd5a6feb7083a7ae6fb8b9c943c586..b0baf7dab8b8e147de75603b8a6b648428a55e67 100644 --- a/controller/api/initialise_test.go +++ b/controller/api/initialise_test.go @@ -10,6 +10,7 @@ import ( "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/conflict" cpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/core" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" apb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/rbac" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" @@ -105,7 +106,7 @@ func bootstrapUnitTest() { mockChange := &mocks.Change{} mockChange.On("Age").Return(time.Hour) - mockChange.On("State").Return(ppb.ChangeState_CHANGE_STATE_INCONSISTENT) + mockChange.On("State").Return(mnepb.ChangeState_CHANGE_STATE_INCONSISTENT) mockChange.On("PreviousState").Return(&openconfig.Device{ System: &openconfig.OpenconfigSystem_System{ Config: &openconfig.OpenconfigSystem_System_Config{ diff --git a/controller/api/managedNetworkElement.go b/controller/api/managedNetworkElement.go index 8ed8f4d62d9d0cf8bc4c8af75bc2eb54d3aaa8f8..5bd1bb8f1e9537296aae77fee9f3385e0f5045f0 100644 --- a/controller/api/managedNetworkElement.go +++ b/controller/api/managedNetworkElement.go @@ -6,7 +6,7 @@ import ( "io" "time" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" nbi "code.fbi.h-da.de/danet/gosdn/controller/northbound/client" @@ -19,15 +19,15 @@ import ( // AddNetworkElement adds a new network element to the controller. The network element name is optional. // If no name is provided a name will be generated upon network element creation. -func AddNetworkElement(ctx context.Context, addr, mneName string, opt *tpb.TransportOption, sid, pid uuid.UUID) (*ppb.SetMneListResponse, error) { +func AddNetworkElement(ctx context.Context, addr, mneName string, opt *tpb.TransportOption, sid, pid uuid.UUID) (*mnepb.SetMneListResponse, error) { pndClient, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - req := &ppb.SetMneListRequest{ + req := &mnepb.SetMneListRequest{ Timestamp: time.Now().UnixNano(), - Mne: []*ppb.SetMne{ + Mne: []*mnepb.SetMne{ { Address: opt.GetAddress(), Sbi: &spb.SouthboundInterface{ @@ -53,7 +53,7 @@ func AddNetworkElement(ctx context.Context, addr, mneName string, opt *tpb.Trans // GetNetworkElement requests one network element belonging to a given // PrincipalNetworkDomain from the controller. If no network element identifier // is provided, an error is thrown. -func GetNetworkElement(ctx context.Context, addr, pid string, mneid string) (*ppb.GetMneResponse, error) { +func GetNetworkElement(ctx context.Context, addr, pid string, mneid string) (*mnepb.GetMneResponse, error) { pndClient, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err @@ -63,7 +63,7 @@ func GetNetworkElement(ctx context.Context, addr, pid string, mneid string) (*pp return nil, err } - req := &ppb.GetMneRequest{ + req := &mnepb.GetMneRequest{ Timestamp: time.Now().UnixNano(), Mneid: mneid, Pid: pid, @@ -122,13 +122,13 @@ func GetSbiSchemaTree(ctx context.Context, addr string, pid, sid uuid.UUID) (map // GetFlattenedNetworkElements requests all network elements belonging to a given // PrincipalNetworkDomain from the controller. -func GetFlattenedNetworkElements(ctx context.Context, addr, pid string) (*ppb.GetFlattenedMneListResponse, error) { +func GetFlattenedNetworkElements(ctx context.Context, addr, pid string) (*mnepb.GetFlattenedMneListResponse, error) { pndClient, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - req := &ppb.GetMneListRequest{ + req := &mnepb.GetMneListRequest{ Timestamp: time.Now().UnixNano(), Pid: pid, } @@ -137,13 +137,13 @@ func GetFlattenedNetworkElements(ctx context.Context, addr, pid string) (*ppb.Ge } // GetPath requests a specific path. -func GetPath(ctx context.Context, addr, pid, mneid, path string) (*ppb.GetPathResponse, error) { +func GetPath(ctx context.Context, addr, pid, mneid, path string) (*mnepb.GetPathResponse, error) { pndClient, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - req := &ppb.GetPathRequest{ + req := &mnepb.GetPathRequest{ Timestamp: time.Now().UnixNano(), Mneid: mneid, Pid: pid, @@ -154,14 +154,14 @@ func GetPath(ctx context.Context, addr, pid, mneid, path string) (*ppb.GetPathRe } // SubscribePath subscribes to paths on a network element. -func SubscribePath(ctx context.Context, addr, pid, mneid string, slist *ppb.SubscriptionList) (ppb.PndService_SubscribePathClient, error) { +func SubscribePath(ctx context.Context, addr, pid, mneid string, slist *mnepb.SubscriptionList) (mnepb.NetworkElementService_SubscribePathClient, error) { log.Println("subscribePath called") pndClient, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - req := &ppb.SubscribePathRequest{ + req := &mnepb.SubscribePathRequest{ Timestamp: time.Now().UnixNano(), Mneid: mneid, Pid: pid, @@ -172,13 +172,13 @@ func SubscribePath(ctx context.Context, addr, pid, mneid string, slist *ppb.Subs } // DeleteNetworkElement deletes a network element. -func DeleteNetworkElement(ctx context.Context, addr, pid, mneid string) (*ppb.DeleteMneResponse, error) { +func DeleteNetworkElement(ctx context.Context, addr, pid, mneid string) (*mnepb.DeleteMneResponse, error) { pndClient, err := nbi.PndClient(addr, dialOptions...) if err != nil { return nil, err } - req := &ppb.DeleteMneRequest{ + req := &mnepb.DeleteMneRequest{ Timestamp: time.Now().UnixNano(), Mneid: mneid, Pid: pid, diff --git a/controller/interfaces/change/change.go b/controller/interfaces/change/change.go index 92d0b0f4e58a2f2b35c9f1266ba3619c83090b68..fd6a4c6def57f5fc235664d2c14461d52ffb2998 100644 --- a/controller/interfaces/change/change.go +++ b/controller/interfaces/change/change.go @@ -3,7 +3,8 @@ package change import ( "time" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" + "github.com/google/uuid" "github.com/openconfig/ygot/ygot" ) @@ -16,7 +17,7 @@ type Change interface { ID() uuid.UUID Commit() error Confirm() error - State() ppb.ChangeState + State() mnepb.ChangeState Age() time.Duration PreviousState() ygot.GoStruct IntendedState() ygot.GoStruct diff --git a/controller/interfaces/networkdomain/pnd.go b/controller/interfaces/networkdomain/pnd.go index 20abc1687b6609a1a7e185b0e79e114a59a2dc73..2431c445f960cfefbdb9ed016c51d7860be15a10 100644 --- a/controller/interfaces/networkdomain/pnd.go +++ b/controller/interfaces/networkdomain/pnd.go @@ -1,7 +1,7 @@ package networkdomain import ( - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" "code.fbi.h-da.de/danet/gosdn/controller/interfaces/change" "code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement" @@ -22,7 +22,7 @@ type NetworkDomain interface { UpdateNetworkElement(uuid.UUID, string) error NetworkElements() []networkelement.NetworkElement FlattenedNetworkElements() []networkelement.LoadedNetworkElement - ChangeMNE(uuid uuid.UUID, operation ppb.ApiOperation, path string, value ...string) (uuid.UUID, error) + ChangeMNE(uuid uuid.UUID, operation mnepb.ApiOperation, path string, value ...string) (uuid.UUID, error) Request(uuid.UUID, string) (proto.Message, error) RequestAll(string) error GetName() string @@ -36,5 +36,5 @@ type NetworkDomain interface { GetChange(uuid.UUID) (change.Change, error) Commit(uuid.UUID) error Confirm(uuid.UUID) error - SubscribePath(uuid.UUID, *ppb.SubscriptionList) error + SubscribePath(uuid.UUID, *mnepb.SubscriptionList) error } diff --git a/controller/mocks/Change.go b/controller/mocks/Change.go index 44907e267daabdf6c39bd7df6306ee63999e7260..5423aef279eb2b831aa4b77355d329e7c5277402 100644 --- a/controller/mocks/Change.go +++ b/controller/mocks/Change.go @@ -5,7 +5,7 @@ package mocks import ( time "time" - pnd "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + networkelement "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" mock "github.com/stretchr/testify/mock" uuid "github.com/google/uuid" @@ -109,14 +109,14 @@ func (_m *Change) PreviousState() ygot.GoStruct { } // State provides a mock function with given fields: -func (_m *Change) State() pnd.ChangeState { +func (_m *Change) State() networkelement.ChangeState { ret := _m.Called() - var r0 pnd.ChangeState - if rf, ok := ret.Get(0).(func() pnd.ChangeState); ok { + var r0 networkelement.ChangeState + if rf, ok := ret.Get(0).(func() networkelement.ChangeState); ok { r0 = rf() } else { - r0 = ret.Get(0).(pnd.ChangeState) + r0 = ret.Get(0).(networkelement.ChangeState) } return r0 diff --git a/controller/mocks/NetworkDomain.go b/controller/mocks/NetworkDomain.go index 7d396f5927c4287e969db4ce2f945ab1791a5e7f..6f742748d9aa98a4cfc2184c3130241bdc5c8daa 100644 --- a/controller/mocks/NetworkDomain.go +++ b/controller/mocks/NetworkDomain.go @@ -4,11 +4,11 @@ package mocks import ( change "code.fbi.h-da.de/danet/gosdn/controller/interfaces/change" - mock "github.com/stretchr/testify/mock" + interfacesnetworkelement "code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement" - networkelement "code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement" + mock "github.com/stretchr/testify/mock" - pnd "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + networkelement "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -62,7 +62,7 @@ func (_m *NetworkDomain) AddSbi(s southbound.SouthboundInterface) error { } // ChangeMNE provides a mock function with given fields: _a0, operation, path, value -func (_m *NetworkDomain) ChangeMNE(_a0 uuid.UUID, operation pnd.ApiOperation, path string, value ...string) (uuid.UUID, error) { +func (_m *NetworkDomain) ChangeMNE(_a0 uuid.UUID, operation networkelement.ApiOperation, path string, value ...string) (uuid.UUID, error) { _va := make([]interface{}, len(value)) for _i := range value { _va[_i] = value[_i] @@ -73,7 +73,7 @@ func (_m *NetworkDomain) ChangeMNE(_a0 uuid.UUID, operation pnd.ApiOperation, pa ret := _m.Called(_ca...) var r0 uuid.UUID - if rf, ok := ret.Get(0).(func(uuid.UUID, pnd.ApiOperation, string, ...string) uuid.UUID); ok { + if rf, ok := ret.Get(0).(func(uuid.UUID, networkelement.ApiOperation, string, ...string) uuid.UUID); ok { r0 = rf(_a0, operation, path, value...) } else { if ret.Get(0) != nil { @@ -82,7 +82,7 @@ func (_m *NetworkDomain) ChangeMNE(_a0 uuid.UUID, operation pnd.ApiOperation, pa } var r1 error - if rf, ok := ret.Get(1).(func(uuid.UUID, pnd.ApiOperation, string, ...string) error); ok { + if rf, ok := ret.Get(1).(func(uuid.UUID, networkelement.ApiOperation, string, ...string) error); ok { r1 = rf(_a0, operation, path, value...) } else { r1 = ret.Error(1) @@ -150,15 +150,15 @@ func (_m *NetworkDomain) Destroy() error { } // FlattenedNetworkElements provides a mock function with given fields: -func (_m *NetworkDomain) FlattenedNetworkElements() []networkelement.LoadedNetworkElement { +func (_m *NetworkDomain) FlattenedNetworkElements() []interfacesnetworkelement.LoadedNetworkElement { ret := _m.Called() - var r0 []networkelement.LoadedNetworkElement - if rf, ok := ret.Get(0).(func() []networkelement.LoadedNetworkElement); ok { + var r0 []interfacesnetworkelement.LoadedNetworkElement + if rf, ok := ret.Get(0).(func() []interfacesnetworkelement.LoadedNetworkElement); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]networkelement.LoadedNetworkElement) + r0 = ret.Get(0).([]interfacesnetworkelement.LoadedNetworkElement) } } @@ -217,15 +217,15 @@ func (_m *NetworkDomain) GetName() string { } // GetNetworkElement provides a mock function with given fields: identifier -func (_m *NetworkDomain) GetNetworkElement(identifier string) (networkelement.NetworkElement, error) { +func (_m *NetworkDomain) GetNetworkElement(identifier string) (interfacesnetworkelement.NetworkElement, error) { ret := _m.Called(identifier) - var r0 networkelement.NetworkElement - if rf, ok := ret.Get(0).(func(string) networkelement.NetworkElement); ok { + var r0 interfacesnetworkelement.NetworkElement + if rf, ok := ret.Get(0).(func(string) interfacesnetworkelement.NetworkElement); ok { r0 = rf(identifier) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(networkelement.NetworkElement) + r0 = ret.Get(0).(interfacesnetworkelement.NetworkElement) } } @@ -323,15 +323,15 @@ func (_m *NetworkDomain) MarshalNetworkElement(_a0 string) (string, error) { } // NetworkElements provides a mock function with given fields: -func (_m *NetworkDomain) NetworkElements() []networkelement.NetworkElement { +func (_m *NetworkDomain) NetworkElements() []interfacesnetworkelement.NetworkElement { ret := _m.Called() - var r0 []networkelement.NetworkElement - if rf, ok := ret.Get(0).(func() []networkelement.NetworkElement); ok { + var r0 []interfacesnetworkelement.NetworkElement + if rf, ok := ret.Get(0).(func() []interfacesnetworkelement.NetworkElement); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]networkelement.NetworkElement) + r0 = ret.Get(0).([]interfacesnetworkelement.NetworkElement) } } @@ -420,11 +420,11 @@ func (_m *NetworkDomain) RequestAll(_a0 string) error { } // SubscribePath provides a mock function with given fields: _a0, _a1 -func (_m *NetworkDomain) SubscribePath(_a0 uuid.UUID, _a1 *pnd.SubscriptionList) error { +func (_m *NetworkDomain) SubscribePath(_a0 uuid.UUID, _a1 *networkelement.SubscriptionList) error { ret := _m.Called(_a0, _a1) var r0 error - if rf, ok := ret.Get(0).(func(uuid.UUID, *pnd.SubscriptionList) error); ok { + if rf, ok := ret.Get(0).(func(uuid.UUID, *networkelement.SubscriptionList) error); ok { r0 = rf(_a0, _a1) } else { r0 = ret.Error(0) @@ -447,20 +447,6 @@ func (_m *NetworkDomain) UpdateNetworkElement(_a0 uuid.UUID, _a1 string) error { return r0 } -// UpdateNetworkElementAfterSubscribeResponse provides a mock function with given fields: _a0 -func (_m *NetworkDomain) UpdateNetworkElementAfterSubscribeResponse(_a0 networkelement.NetworkElement) error { - ret := _m.Called(_a0) - - var r0 error - if rf, ok := ret.Get(0).(func(networkelement.NetworkElement) error); ok { - r0 = rf(_a0) - } else { - r0 = ret.Error(0) - } - - return r0 -} - type mockConstructorTestingTNewNetworkDomain interface { mock.TestingT Cleanup(func()) diff --git a/controller/northbound/server/core_test.go b/controller/northbound/server/core_test.go index 1b84b875fb2703ad07b31cee61046877db947819..432aa0d52da8b67a33b7bf274781cc2fd6234998 100644 --- a/controller/northbound/server/core_test.go +++ b/controller/northbound/server/core_test.go @@ -7,7 +7,7 @@ import ( "time" pb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/core" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" "code.fbi.h-da.de/danet/gosdn/controller/mocks" "code.fbi.h-da.de/danet/gosdn/controller/nucleus" @@ -69,7 +69,7 @@ func getTestCoreServer(t *testing.T) *CoreServer { mockChange := &mocks.Change{} mockChange.On("Age").Return(time.Hour) - mockChange.On("State").Return(ppb.ChangeState_CHANGE_STATE_INCONSISTENT) + mockChange.On("State").Return(mnepb.ChangeState_CHANGE_STATE_INCONSISTENT) mockPnd = &mocks.NetworkDomain{} mockPnd.On("ID").Return(pndUUID) diff --git a/controller/northbound/server/networkElement.go b/controller/northbound/server/networkElement.go index 344aaacd42e82ee62c68f887e25dc64e9db7cff4..8014f79fb10f886429c8539c6e806bfe17f83dd4 100644 --- a/controller/northbound/server/networkElement.go +++ b/controller/northbound/server/networkElement.go @@ -1,15 +1,8 @@ package server import ( - "context" - "time" - mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" "code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkdomain" - "github.com/google/uuid" - log "github.com/sirupsen/logrus" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" ) // NetworkElementServer represents a NetworkElementServer. @@ -25,102 +18,102 @@ func NewNetworkElementServer(networkDomain networkdomain.NetworkDomain) *Network } } -// Add adds a new network element. -func (s *NetworkElementServer) Add(ctx context.Context, request *mnepb.AddNetworkElementRequest) (*mnepb.AddNetworkElementResponse, error) { - sbiID, err := uuid.Parse(request.NetworkElement.Sbi.Id) - if err != nil { - return nil, status.Errorf(codes.Aborted, "%v", err) - } - - id, err := s.networkDomain.AddNetworkElement( - request.NetworkElement.NetworkElementName, - request.NetworkElement.TransportOption, - sbiID, - ) - if err != nil { - return nil, status.Errorf(codes.Aborted, "%v", err) - } - - return &mnepb.AddNetworkElementResponse{ - Timestamp: time.Now().UnixNano(), - Status: mnepb.Status_STATUS_OK, - NetworkElementId: id.String(), - }, nil -} - -// GetAll returns all stored network elements. -func (s *NetworkElementServer) GetAll(ctx context.Context, request *mnepb.GetAllNetworkElementRequest) (*mnepb.GetAllNetworkElementResponse, error) { - networkElements := s.networkDomain.NetworkElements() - - mnes := []*mnepb.NetworkElement{} - for _, mne := range networkElements { - ygotStructAsJSON, err := mne.GetModelAsString() - if err != nil { - log.Error(err) - return nil, status.Errorf(codes.Aborted, "%v", err) - } - - mnes = append(mnes, &mnepb.NetworkElement{ - Id: mne.ID().String(), - Name: mne.Name(), - Model: ygotStructAsJSON, - }) - } - - return &mnepb.GetAllNetworkElementResponse{ - Timestamp: time.Now().UnixNano(), - Status: mnepb.Status_STATUS_OK, - NetworkElement: mnes, - }, nil -} - -// Get returns a network element. -func (s *NetworkElementServer) Get(ctx context.Context, request *mnepb.GetNetworkElementRequest) (*mnepb.GetNetworkElementResponse, error) { - mne, err := s.networkDomain.GetNetworkElement(request.NetworkElementId) - if err != nil { - return nil, status.Errorf(codes.Aborted, "%v", err) - } - - ygotStructAsJSON, err := mne.GetModelAsString() - if err != nil { - log.Error(err) - return nil, status.Errorf(codes.Aborted, "%v", err) - } - - networkElement := &mnepb.NetworkElement{ - Id: mne.ID().String(), - Name: mne.Name(), - Model: ygotStructAsJSON, - TransportAddress: mne.TransportAddress(), - } - - return &mnepb.GetNetworkElementResponse{ - Timestamp: time.Now().UnixNano(), - Status: mnepb.Status_STATUS_OK, - NetworkElement: networkElement, - }, nil -} - -// Update updates a network element. -func (s *NetworkElementServer) Update(ctx context.Context, request *mnepb.UpdateNetworkElementRequest) (*mnepb.UpdateNetworkElementResponse, error) { - mneID, err := uuid.Parse(request.NetworkElement.Id) - if err != nil { - return &mnepb.UpdateNetworkElementResponse{ - Timestamp: time.Now().UnixNano(), - Status: mnepb.Status_STATUS_OK, - }, err - } - - err = s.networkDomain.UpdateNetworkElement(mneID, request.NetworkElement.Model) - if err != nil { - return &mnepb.UpdateNetworkElementResponse{ - Timestamp: time.Now().UnixNano(), - Status: mnepb.Status_STATUS_OK, - }, err - } - - return &mnepb.UpdateNetworkElementResponse{ - Timestamp: time.Now().UnixNano(), - Status: mnepb.Status_STATUS_OK, - }, nil -} +// // Add adds a new network element. +// func (s *NetworkElementServer) Add(ctx context.Context, request *mnepb.AddNetworkElementRequest) (*mnepb.AddNetworkElementResponse, error) { +// sbiID, err := uuid.Parse(request.NetworkElement.Sbi.Id) +// if err != nil { +// return nil, status.Errorf(codes.Aborted, "%v", err) +// } + +// id, err := s.networkDomain.AddNetworkElement( +// request.NetworkElement.NetworkElementName, +// request.NetworkElement.TransportOption, +// sbiID, +// ) +// if err != nil { +// return nil, status.Errorf(codes.Aborted, "%v", err) +// } + +// return &mnepb.AddNetworkElementResponse{ +// Timestamp: time.Now().UnixNano(), +// Status: mnepb.Status_STATUS_OK, +// NetworkElementId: id.String(), +// }, nil +// } + +// // GetAll returns all stored network elements. +// func (s *NetworkElementServer) GetAll(ctx context.Context, request *mnepb.GetAllNetworkElementRequest) (*mnepb.GetAllNetworkElementResponse, error) { +// networkElements := s.networkDomain.NetworkElements() + +// mnes := []*mnepb.NetworkElement{} +// for _, mne := range networkElements { +// ygotStructAsJSON, err := mne.GetModelAsString() +// if err != nil { +// log.Error(err) +// return nil, status.Errorf(codes.Aborted, "%v", err) +// } + +// mnes = append(mnes, &mnepb.NetworkElement{ +// Id: mne.ID().String(), +// Name: mne.Name(), +// Model: ygotStructAsJSON, +// }) +// } + +// return &mnepb.GetAllNetworkElementResponse{ +// Timestamp: time.Now().UnixNano(), +// Status: mnepb.Status_STATUS_OK, +// NetworkElement: mnes, +// }, nil +// } + +// // Get returns a network element. +// func (s *NetworkElementServer) Get(ctx context.Context, request *mnepb.GetNetworkElementRequest) (*mnepb.GetNetworkElementResponse, error) { +// mne, err := s.networkDomain.GetNetworkElement(request.NetworkElementId) +// if err != nil { +// return nil, status.Errorf(codes.Aborted, "%v", err) +// } + +// ygotStructAsJSON, err := mne.GetModelAsString() +// if err != nil { +// log.Error(err) +// return nil, status.Errorf(codes.Aborted, "%v", err) +// } + +// networkElement := &mnepb.NetworkElement{ +// Id: mne.ID().String(), +// Name: mne.Name(), +// Model: ygotStructAsJSON, +// TransportAddress: mne.TransportAddress(), +// } + +// return &mnepb.GetNetworkElementResponse{ +// Timestamp: time.Now().UnixNano(), +// Status: mnepb.Status_STATUS_OK, +// NetworkElement: networkElement, +// }, nil +// } + +// // Update updates a network element. +// func (s *NetworkElementServer) Update(ctx context.Context, request *mnepb.UpdateNetworkElementRequest) (*mnepb.UpdateNetworkElementResponse, error) { +// mneID, err := uuid.Parse(request.NetworkElement.Id) +// if err != nil { +// return &mnepb.UpdateNetworkElementResponse{ +// Timestamp: time.Now().UnixNano(), +// Status: mnepb.Status_STATUS_OK, +// }, err +// } + +// err = s.networkDomain.UpdateNetworkElement(mneID, request.NetworkElement.Model) +// if err != nil { +// return &mnepb.UpdateNetworkElementResponse{ +// Timestamp: time.Now().UnixNano(), +// Status: mnepb.Status_STATUS_OK, +// }, err +// } + +// return &mnepb.UpdateNetworkElementResponse{ +// Timestamp: time.Now().UnixNano(), +// Status: mnepb.Status_STATUS_OK, +// }, nil +// } diff --git a/controller/northbound/server/pnd.go b/controller/northbound/server/pnd.go index 64d3e163492f0926bef4e462898981f9ef9f9fcc..e1ba41b9410b5bc7f65e4ae55effe1c1a7b84226 100644 --- a/controller/northbound/server/pnd.go +++ b/controller/northbound/server/pnd.go @@ -5,6 +5,7 @@ import ( "strings" "time" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" "code.fbi.h-da.de/danet/gosdn/controller/customerrs" @@ -37,7 +38,7 @@ func NewPndServer(pndStore networkdomain.PndStore) *PndServer { } // GetMne gets a specific mne. -func (p PndServer) GetMne(ctx context.Context, request *ppb.GetMneRequest) (*ppb.GetMneResponse, error) { +func (p PndServer) GetMne(ctx context.Context, request *mnepb.GetMneRequest) (*mnepb.GetMneResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "get"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -66,9 +67,9 @@ func (p PndServer) GetMne(ctx context.Context, request *ppb.GetMneRequest) (*ppb return nil, status.Errorf(codes.Aborted, "%v", err) } - return &ppb.GetMneResponse{ + return &mnepb.GetMneResponse{ Timestamp: time.Now().UnixNano(), - Pnd: &ppb.PrincipalNetworkDomain{ + Pnd: &mnepb.PrincipalNetworkDomain{ Id: pnd.ID().String(), Name: pnd.GetName(), Description: pnd.GetDescription(), @@ -78,7 +79,7 @@ func (p PndServer) GetMne(ctx context.Context, request *ppb.GetMneRequest) (*ppb } // GetMneList returns a list of existing mnes. -func (p PndServer) GetMneList(ctx context.Context, request *ppb.GetMneListRequest) (*ppb.GetMneListResponse, error) { +func (p PndServer) GetMneList(ctx context.Context, request *mnepb.GetMneListRequest) (*mnepb.GetMneListResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "get"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -93,7 +94,7 @@ func (p PndServer) GetMneList(ctx context.Context, request *ppb.GetMneListReques return nil, status.Errorf(codes.Aborted, "%v", err) } - mnes := make([]*ppb.ManagedNetworkElement, len(pnd.NetworkElements())) + mnes := make([]*mnepb.ManagedNetworkElement, len(pnd.NetworkElements())) for i, networkElement := range pnd.NetworkElements() { mne, err := fillMneBySpecificPath(networkElement, "/") if err != nil { @@ -103,9 +104,9 @@ func (p PndServer) GetMneList(ctx context.Context, request *ppb.GetMneListReques mnes[i] = mne } - return &ppb.GetMneListResponse{ + return &mnepb.GetMneListResponse{ Timestamp: time.Now().UnixNano(), - Pnd: &ppb.PrincipalNetworkDomain{ + Pnd: &mnepb.PrincipalNetworkDomain{ Id: pnd.ID().String(), Name: pnd.GetName(), Description: pnd.GetDescription(), @@ -115,7 +116,7 @@ func (p PndServer) GetMneList(ctx context.Context, request *ppb.GetMneListReques } // GetFlattenedMneList returns a list of existing mnes. -func (p PndServer) GetFlattenedMneList(ctx context.Context, request *ppb.GetMneListRequest) (*ppb.GetFlattenedMneListResponse, error) { +func (p PndServer) GetFlattenedMneList(ctx context.Context, request *mnepb.GetMneListRequest) (*mnepb.GetFlattenedMneListResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "get"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -131,9 +132,9 @@ func (p PndServer) GetFlattenedMneList(ctx context.Context, request *ppb.GetMneL } mnes := pnd.FlattenedNetworkElements() - flattenedMnes := make([]*ppb.FlattenedManagedNetworkElement, len(mnes)) + flattenedMnes := make([]*mnepb.FlattenedManagedNetworkElement, len(mnes)) for i, mne := range mnes { - mne := &ppb.FlattenedManagedNetworkElement{ + mne := &mnepb.FlattenedManagedNetworkElement{ Id: mne.ID, Name: mne.Name, @@ -142,9 +143,9 @@ func (p PndServer) GetFlattenedMneList(ctx context.Context, request *ppb.GetMneL flattenedMnes[i] = mne } - return &ppb.GetFlattenedMneListResponse{ + return &mnepb.GetFlattenedMneListResponse{ Timestamp: time.Now().UnixNano(), - Pnd: &ppb.PrincipalNetworkDomain{ + Pnd: &mnepb.PrincipalNetworkDomain{ Id: pnd.ID().String(), Name: pnd.GetName(), Description: pnd.GetDescription(), @@ -153,7 +154,7 @@ func (p PndServer) GetFlattenedMneList(ctx context.Context, request *ppb.GetMneL }, nil } -func fillMneBySpecificPath(nme networkelement.NetworkElement, path string) (*ppb.ManagedNetworkElement, error) { +func fillMneBySpecificPath(nme networkelement.NetworkElement, path string) (*mnepb.ManagedNetworkElement, error) { gnmiPath, err := ygot.StringToStructuredPath(path) if err != nil { log.Error(err) @@ -187,7 +188,7 @@ func fillMneBySpecificPath(nme networkelement.NetworkElement, path string) (*ppb sbi.Type = nme.SBI().Type() } - mne := &ppb.ManagedNetworkElement{ + mne := &mnepb.ManagedNetworkElement{ Id: nme.ID().String(), Name: nme.Name(), MneNotification: notifications, @@ -317,7 +318,7 @@ func stringArrayToUUIDs(sid []string) ([]uuid.UUID, error) { } // GetPath gets a path on a mne. -func (p PndServer) GetPath(ctx context.Context, request *ppb.GetPathRequest) (*ppb.GetPathResponse, error) { +func (p PndServer) GetPath(ctx context.Context, request *mnepb.GetPathRequest) (*mnepb.GetPathResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "get"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -347,9 +348,9 @@ func (p PndServer) GetPath(ctx context.Context, request *ppb.GetPathRequest) (*p return nil, status.Errorf(codes.Aborted, "%v", err) } - return &ppb.GetPathResponse{ + return &mnepb.GetPathResponse{ Timestamp: time.Now().UnixNano(), - Pnd: &ppb.PrincipalNetworkDomain{ + Pnd: &mnepb.PrincipalNetworkDomain{ Id: pnd.ID().String(), Name: pnd.GetName(), Description: pnd.GetDescription(), @@ -359,7 +360,7 @@ func (p PndServer) GetPath(ctx context.Context, request *ppb.GetPathRequest) (*p } // GetChange gets a specific change of a mne. -func (p PndServer) GetChange(ctx context.Context, request *ppb.GetChangeRequest) (*ppb.GetChangeResponse, error) { +func (p PndServer) GetChange(ctx context.Context, request *mnepb.GetChangeRequest) (*mnepb.GetChangeResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "get"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -378,9 +379,9 @@ func (p PndServer) GetChange(ctx context.Context, request *ppb.GetChangeRequest) log.Error(err) return nil, status.Errorf(codes.Aborted, "%v", err) } - return &ppb.GetChangeResponse{ + return &mnepb.GetChangeResponse{ Timestamp: time.Now().UnixNano(), - Pnd: &ppb.PrincipalNetworkDomain{ + Pnd: &mnepb.PrincipalNetworkDomain{ Id: pnd.ID().String(), Name: pnd.GetName(), Description: pnd.GetDescription(), @@ -390,7 +391,7 @@ func (p PndServer) GetChange(ctx context.Context, request *ppb.GetChangeRequest) } // GetChangeList gets all existing changes. -func (p PndServer) GetChangeList(ctx context.Context, request *ppb.GetChangeListRequest) (*ppb.GetChangeListResponse, error) { +func (p PndServer) GetChangeList(ctx context.Context, request *mnepb.GetChangeListRequest) (*mnepb.GetChangeListResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "get"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -409,9 +410,9 @@ func (p PndServer) GetChangeList(ctx context.Context, request *ppb.GetChangeList log.Error(err) return nil, status.Errorf(codes.Aborted, "%v", err) } - return &ppb.GetChangeListResponse{ + return &mnepb.GetChangeListResponse{ Timestamp: time.Now().UnixNano(), - Pnd: &ppb.PrincipalNetworkDomain{ + Pnd: &mnepb.PrincipalNetworkDomain{ Id: pnd.ID().String(), Name: pnd.GetName(), Description: pnd.GetDescription(), @@ -420,7 +421,7 @@ func (p PndServer) GetChangeList(ctx context.Context, request *ppb.GetChangeList }, nil } -func fillChanges(pnd networkdomain.NetworkDomain, all bool, cuid ...string) ([]*ppb.Change, error) { +func fillChanges(pnd networkdomain.NetworkDomain, all bool, cuid ...string) ([]*mnepb.Change, error) { var changeList []uuid.UUID switch all { @@ -442,7 +443,7 @@ func fillChanges(pnd networkdomain.NetworkDomain, all bool, cuid ...string) ([]* } } - changes := make([]*ppb.Change, len(changeList)) + changes := make([]*mnepb.Change, len(changeList)) for i, ch := range changeList { c, err := pnd.GetChange(ch) if err != nil { @@ -456,7 +457,7 @@ func fillChanges(pnd networkdomain.NetworkDomain, all bool, cuid ...string) ([]* return nil, status.Errorf(codes.Aborted, "%v", err) } - changes[i] = &ppb.Change{ + changes[i] = &mnepb.Change{ Id: ch.String(), Age: c.Age().Microseconds(), State: c.State(), @@ -467,7 +468,7 @@ func fillChanges(pnd networkdomain.NetworkDomain, all bool, cuid ...string) ([]* } // SetMneList updates the list of mnes. -func (p PndServer) SetMneList(ctx context.Context, request *ppb.SetMneListRequest) (*ppb.SetMneListResponse, error) { +func (p PndServer) SetMneList(ctx context.Context, request *mnepb.SetMneListRequest) (*mnepb.SetMneListResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "set"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -496,20 +497,20 @@ func (p PndServer) SetMneList(ctx context.Context, request *ppb.SetMneListReques networkElementIDs = append(networkElementIDs, mneID) } - r := make([]*ppb.SetResponse, len(networkElementIDs)) + r := make([]*mnepb.SetResponse, len(networkElementIDs)) for i, mneID := range networkElementIDs { - r[i] = &ppb.SetResponse{Id: mneID.String(), Status: ppb.Status_STATUS_OK} + r[i] = &mnepb.SetResponse{Id: mneID.String(), Status: mnepb.Status_STATUS_OK} } - return &ppb.SetMneListResponse{ + return &mnepb.SetMneListResponse{ Timestamp: time.Now().UnixNano(), - Status: ppb.Status_STATUS_OK, + Status: mnepb.Status_STATUS_OK, Responses: r, }, nil } // SetChangeList sets a list of changes. -func (p PndServer) SetChangeList(ctx context.Context, request *ppb.SetChangeListRequest) (*ppb.SetChangeListResponse, error) { +func (p PndServer) SetChangeList(ctx context.Context, request *mnepb.SetChangeListRequest) (*mnepb.SetChangeListResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "set"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -523,7 +524,7 @@ func (p PndServer) SetChangeList(ctx context.Context, request *ppb.SetChangeList return nil, handleRPCError(labels, err) } - responses := make([]*ppb.SetResponse, len(request.Change)) + responses := make([]*mnepb.SetResponse, len(request.Change)) for i, r := range request.Change { cuid, err := uuid.Parse(r.Cuid) @@ -532,12 +533,12 @@ func (p PndServer) SetChangeList(ctx context.Context, request *ppb.SetChangeList return nil, status.Errorf(codes.Aborted, "%v", err) } switch r.Op { - case ppb.Operation_OPERATION_COMMIT: + case mnepb.Operation_OPERATION_COMMIT: if err := pnd.Commit(cuid); err != nil { log.Error(err) return nil, status.Errorf(codes.Aborted, "%v", err) } - case ppb.Operation_OPERATION_CONFIRM: + case mnepb.Operation_OPERATION_CONFIRM: if err := pnd.Confirm(cuid); err != nil { log.Error(err) return nil, status.Errorf(codes.Aborted, "%v", err) @@ -548,20 +549,20 @@ func (p PndServer) SetChangeList(ctx context.Context, request *ppb.SetChangeList } } - responses[i] = &ppb.SetResponse{ + responses[i] = &mnepb.SetResponse{ Id: cuid.String(), - Status: ppb.Status_STATUS_OK, + Status: mnepb.Status_STATUS_OK, } } - return &ppb.SetChangeListResponse{ + return &mnepb.SetChangeListResponse{ Timestamp: time.Now().UnixNano(), - Status: ppb.Status_STATUS_OK, + Status: mnepb.Status_STATUS_OK, Responses: responses, }, nil } // SetPathList sets a list of paths. -func (p PndServer) SetPathList(ctx context.Context, request *ppb.SetPathListRequest) (*ppb.SetPathListResponse, error) { +func (p PndServer) SetPathList(ctx context.Context, request *mnepb.SetPathListRequest) (*mnepb.SetPathListResponse, error) { labels := prometheus.Labels{"service": "pnd", "rpc": "set"} start := metrics.StartHook(labels, grpcRequestsTotal) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) @@ -575,7 +576,7 @@ func (p PndServer) SetPathList(ctx context.Context, request *ppb.SetPathListRequ return nil, handleRPCError(labels, err) } - responses := make([]*ppb.SetResponse, len(request.ChangeRequest)) + responses := make([]*mnepb.SetResponse, len(request.ChangeRequest)) for i, r := range request.ChangeRequest { mneID, err := uuid.Parse(r.Mneid) @@ -589,14 +590,14 @@ func (p PndServer) SetPathList(ctx context.Context, request *ppb.SetPathListRequ return nil, status.Errorf(codes.Aborted, "%v", err) } - responses[i] = &ppb.SetResponse{ - Status: ppb.Status_STATUS_OK, + responses[i] = &mnepb.SetResponse{ + Status: mnepb.Status_STATUS_OK, Id: cid.String(), } } - return &ppb.SetPathListResponse{ + return &mnepb.SetPathListResponse{ Timestamp: time.Now().UnixNano(), - Status: ppb.Status_STATUS_OK, + Status: mnepb.Status_STATUS_OK, Responses: responses, }, nil } @@ -658,7 +659,7 @@ func filterSbiType(sbiType ppb.SbiType) spb.Type { } // DeleteMne deletes a mne. -func (p PndServer) DeleteMne(ctx context.Context, request *ppb.DeleteMneRequest) (*ppb.DeleteMneResponse, error) { +func (p PndServer) DeleteMne(ctx context.Context, request *mnepb.DeleteMneRequest) (*mnepb.DeleteMneResponse, error) { pid, err := uuid.Parse(request.Pid) if err != nil { log.Error(err) @@ -679,14 +680,14 @@ func (p PndServer) DeleteMne(ctx context.Context, request *ppb.DeleteMneRequest) log.Error(err) return nil, status.Errorf(codes.Aborted, "%v", err) } - return &ppb.DeleteMneResponse{ + return &mnepb.DeleteMneResponse{ Timestamp: time.Now().UnixNano(), - Status: ppb.Status_STATUS_OK, + Status: mnepb.Status_STATUS_OK, }, nil } // SubscribePath subscribes to specifc paths of an mne. -func (p PndServer) SubscribePath(request *ppb.SubscribePathRequest, stream ppb.PndService_SubscribePathServer) error { +func (p PndServer) SubscribePath(request *mnepb.SubscribePathRequest, stream mnepb.NetworkElementService_SubscribePathServer) error { pid, err := uuid.Parse(request.Pid) if err != nil { return err diff --git a/controller/northbound/server/pnd_test.go b/controller/northbound/server/pnd_test.go index 8bdc338bd8962ac012ee6cf3c4dd4ef06e763b3b..fbf20c00d7c046bab578469006270c1475e68188 100644 --- a/controller/northbound/server/pnd_test.go +++ b/controller/northbound/server/pnd_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" "code.fbi.h-da.de/danet/gosdn/controller/mocks" "code.fbi.h-da.de/danet/gosdn/controller/nucleus" @@ -68,7 +68,7 @@ func getTestPndServer(t *testing.T) *PndServer { mockChange := &mocks.Change{} mockChange.On("Age").Return(time.Hour) - mockChange.On("State").Return(ppb.ChangeState_CHANGE_STATE_INCONSISTENT) + mockChange.On("State").Return(mnepb.ChangeState_CHANGE_STATE_INCONSISTENT) mockPnd = &mocks.NetworkDomain{} mockPnd.On("ID").Return(pndUUID) @@ -112,7 +112,7 @@ func Test_pnd_GetPath(t *testing.T) { type args struct { ctx context.Context - request *ppb.GetPathRequest + request *mnepb.GetPathRequest } tests := []struct { name string @@ -124,7 +124,7 @@ func Test_pnd_GetPath(t *testing.T) { name: "get path: system/config/hostname", args: args{ ctx: context.Background(), - request: &ppb.GetPathRequest{ + request: &mnepb.GetPathRequest{ Timestamp: time.Now().UnixNano(), Mneid: mneUUID.String(), Path: "system/config/hostname", @@ -162,7 +162,7 @@ func Test_pnd_GetPath(t *testing.T) { name: "get path: system", args: args{ ctx: context.Background(), - request: &ppb.GetPathRequest{ + request: &mnepb.GetPathRequest{ Timestamp: time.Now().UnixNano(), Mneid: mneUUID.String(), Path: "system", diff --git a/controller/nucleus/change.go b/controller/nucleus/change.go index 40d09e694c20a99b39824d6bf4691659c9eef7b1..0d4deb75f081815970185735c2b0645a81f37fb1 100644 --- a/controller/nucleus/change.go +++ b/controller/nucleus/change.go @@ -7,7 +7,7 @@ import ( "sync" "time" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" "github.com/google/uuid" "github.com/openconfig/ygot/ygot" @@ -38,7 +38,7 @@ func NewChange(mne uuid.UUID, currentState ygot.GoStruct, change ygot.GoStruct, c := &Change{ cuid: uuid.New(), duid: mne, - state: ppb.ChangeState_CHANGE_STATE_PENDING, + state: mnepb.ChangeState_CHANGE_STATE_PENDING, timestamp: time.Now(), previousState: currentState, intendedState: change, @@ -60,15 +60,15 @@ func NewChange(mne uuid.UUID, currentState ygot.GoStruct, change ygot.GoStruct, type Change struct { cuid uuid.UUID duid uuid.UUID - state ppb.ChangeState + state mnepb.ChangeState timestamp time.Time previousState ygot.GoStruct intendedState ygot.GoStruct callback func(ygot.GoStruct, ygot.GoStruct) error stateMu sync.RWMutex errChan <-chan error - stateIn chan<- ppb.ChangeState - stateOut <-chan ppb.ChangeState + stateIn chan<- mnepb.ChangeState + stateOut <-chan mnepb.ChangeState stateManagerCancel context.CancelFunc } @@ -82,7 +82,7 @@ func (c *Change) ID() uuid.UUID { // the change is rolled back. func (c *Change) Commit() error { //TODO: check if already committed - c.stateIn <- ppb.ChangeState_CHANGE_STATE_COMMITTED + c.stateIn <- mnepb.ChangeState_CHANGE_STATE_COMMITTED select { case err := <-c.errChan: return err @@ -94,7 +94,7 @@ func (c *Change) Commit() error { // Confirm confirms a committed Change and stops the rollback timer. func (c *Change) Confirm() error { //TODO: check if already confirmed - c.stateIn <- ppb.ChangeState_CHANGE_STATE_CONFIRMED + c.stateIn <- mnepb.ChangeState_CHANGE_STATE_CONFIRMED select { case err := <-c.errChan: return err @@ -109,7 +109,7 @@ func (c *Change) Age() time.Duration { } // State returns the changes's state. -func (c *Change) State() ppb.ChangeState { +func (c *Change) State() mnepb.ChangeState { c.stateMu.RLock() state := c.state c.stateMu.RUnlock() @@ -128,9 +128,9 @@ func (c *Change) IntendedState() ygot.GoStruct { return c.intendedState } -func stateManager(ctx context.Context, ch *Change, timeout time.Duration) (chan<- ppb.ChangeState, <-chan ppb.ChangeState, <-chan error) { - stateIn := make(chan ppb.ChangeState) - stateOut := make(chan ppb.ChangeState) +func stateManager(ctx context.Context, ch *Change, timeout time.Duration) (chan<- mnepb.ChangeState, <-chan mnepb.ChangeState, <-chan error) { + stateIn := make(chan mnepb.ChangeState) + stateOut := make(chan mnepb.ChangeState) // A Goroutine, which is created while a new Change is initialized acts as // the receiver for errorChan errChan := make(chan error) @@ -146,13 +146,13 @@ func stateManager(ctx context.Context, ch *Change, timeout time.Duration) (chan< select { case <-ticker.C: state := ch.State() - if state == ppb.ChangeState_CHANGE_STATE_CONFIRMED { + if state == mnepb.ChangeState_CHANGE_STATE_CONFIRMED { continue } err := ch.callback(ch.intendedState, ch.previousState) if err != nil { ch.stateMu.Lock() - ch.state = ppb.ChangeState_CHANGE_STATE_INCONSISTENT + ch.state = mnepb.ChangeState_CHANGE_STATE_INCONSISTENT ch.stateMu.Unlock() log.Errorf("change %v timed out", ch.cuid) log.Error(err) @@ -162,14 +162,14 @@ func stateManager(ctx context.Context, ch *Change, timeout time.Duration) (chan< ticker.Stop() // TODO: keep the Change as pending, or remove it? ch.stateMu.Lock() - ch.state = ppb.ChangeState_CHANGE_STATE_PENDING + ch.state = mnepb.ChangeState_CHANGE_STATE_PENDING ch.stateMu.Unlock() log.Errorf("change %v timed out", ch.cuid) case s := <-stateIn: switch s { - case ppb.ChangeState_CHANGE_STATE_COMMITTED: + case mnepb.ChangeState_CHANGE_STATE_COMMITTED: state := ch.State() - if state == ppb.ChangeState_CHANGE_STATE_COMMITTED || state == ppb.ChangeState_CHANGE_STATE_CONFIRMED { + if state == mnepb.ChangeState_CHANGE_STATE_COMMITTED || state == mnepb.ChangeState_CHANGE_STATE_CONFIRMED { errChan <- fmt.Errorf("change %v already %s", ch.cuid, state.String()) continue } @@ -178,25 +178,25 @@ func stateManager(ctx context.Context, ch *Change, timeout time.Duration) (chan< err := ch.callback(ch.previousState, ch.intendedState) if err != nil { ch.stateMu.Lock() - ch.state = ppb.ChangeState_CHANGE_STATE_INCONSISTENT + ch.state = mnepb.ChangeState_CHANGE_STATE_INCONSISTENT ch.stateMu.Unlock() errChan <- err continue } ch.stateMu.Lock() - ch.state = ppb.ChangeState_CHANGE_STATE_COMMITTED + ch.state = mnepb.ChangeState_CHANGE_STATE_COMMITTED ch.stateMu.Unlock() stateOut <- state - case ppb.ChangeState_CHANGE_STATE_CONFIRMED: + case mnepb.ChangeState_CHANGE_STATE_CONFIRMED: state := ch.State() - if state != ppb.ChangeState_CHANGE_STATE_COMMITTED { + if state != mnepb.ChangeState_CHANGE_STATE_COMMITTED { errChan <- fmt.Errorf("cannot confirm uncommitted change %v", ch.cuid) continue } // The change has been confirmed and the timer is stopped, // since a rollback is not necessary anymore. ch.stateMu.Lock() - ch.state = ppb.ChangeState_CHANGE_STATE_CONFIRMED + ch.state = mnepb.ChangeState_CHANGE_STATE_CONFIRMED ch.stateMu.Unlock() stateOut <- state ch.stateManagerCancel() diff --git a/controller/nucleus/change_test.go b/controller/nucleus/change_test.go index cdfae361add283fd4257d12583299763d11cd41a..aef9458c6c172eefcabf64081df1adeefb6a6a12 100644 --- a/controller/nucleus/change_test.go +++ b/controller/nucleus/change_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" "code.fbi.h-da.de/danet/gosdn/controller/config" "github.com/google/uuid" "github.com/openconfig/ygot/exampleoc" @@ -120,7 +120,7 @@ func TestChange_CommitRollbackError(t *testing.T) { } func TestChange_CommitError(t *testing.T) { - want := ppb.ChangeState_CHANGE_STATE_INCONSISTENT + want := mnepb.ChangeState_CHANGE_STATE_INCONSISTENT c := &Change{ cuid: cuid, duid: mneid, @@ -150,7 +150,7 @@ func TestChange_CommitError(t *testing.T) { } func TestChange_Commit(t *testing.T) { - want := ppb.ChangeState_CHANGE_STATE_COMMITTED + want := mnepb.ChangeState_CHANGE_STATE_COMMITTED c := &Change{ cuid: cuid, duid: mneid, @@ -263,19 +263,19 @@ func TestChange_ID(t *testing.T) { func TestChange_State(t *testing.T) { tests := []struct { name string - want ppb.ChangeState + want mnepb.ChangeState }{ { name: "pending", - want: ppb.ChangeState_CHANGE_STATE_PENDING, + want: mnepb.ChangeState_CHANGE_STATE_PENDING, }, { name: "committed", - want: ppb.ChangeState_CHANGE_STATE_COMMITTED, + want: mnepb.ChangeState_CHANGE_STATE_COMMITTED, }, { name: "confirmed", - want: ppb.ChangeState_CHANGE_STATE_CONFIRMED, + want: mnepb.ChangeState_CHANGE_STATE_CONFIRMED, }, } for _, tt := range tests { diff --git a/controller/nucleus/gnmi_transport.go b/controller/nucleus/gnmi_transport.go index eb1ea0e2409808f3a169a62b58ddd292d5b1c3ee..0261411122091e44e6237d087eb4d4ac21c5e0de 100644 --- a/controller/nucleus/gnmi_transport.go +++ b/controller/nucleus/gnmi_transport.go @@ -9,7 +9,7 @@ import ( "code.fbi.h-da.de/danet/gosdn/controller/interfaces/southbound" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" "code.fbi.h-da.de/danet/gosdn/controller/customerrs" "code.fbi.h-da.de/danet/gosdn/controller/nucleus/types" @@ -124,7 +124,7 @@ func (g *Gnmi) applyDiff(ctx context.Context, payload change.Payload, path *gpb. } var json []byte - if op := ctx.Value(types.CtxKeyOperation); op == ppb.ApiOperation_API_OPERATION_UPDATE || op == ppb.ApiOperation_API_OPERATION_REPLACE { + if op := ctx.Value(types.CtxKeyOperation); op == mnepb.ApiOperation_API_OPERATION_UPDATE || op == mnepb.ApiOperation_API_OPERATION_REPLACE { rootCopy, err := ygot.DeepCopy(schema.Root) if err != nil { return err @@ -172,14 +172,14 @@ func createSetRequest(ctx context.Context, diff *gpb.Notification, json []byte, req := &gpb.SetRequest{} if diff.Update != nil { switch op { - case ppb.ApiOperation_API_OPERATION_UPDATE: + case mnepb.ApiOperation_API_OPERATION_UPDATE: req.Update = []*gpb.Update{{ Path: path, Val: &gpb.TypedValue{ Value: &gpb.TypedValue_JsonIetfVal{JsonIetfVal: json}, }, }} - case ppb.ApiOperation_API_OPERATION_REPLACE: + case mnepb.ApiOperation_API_OPERATION_REPLACE: req.Replace = []*gpb.Update{{ Path: path, Val: &gpb.TypedValue{ diff --git a/controller/nucleus/gnmi_transport_test.go b/controller/nucleus/gnmi_transport_test.go index 146b1ce8b14ded564916e05f26d8a8822ec53732..279cc78fcad5c5ae380aebf261ddc216634aeebc 100644 --- a/controller/nucleus/gnmi_transport_test.go +++ b/controller/nucleus/gnmi_transport_test.go @@ -11,7 +11,7 @@ import ( "code.fbi.h-da.de/danet/gosdn/controller/interfaces/southbound" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" @@ -302,7 +302,7 @@ func TestGnmi_Set(t *testing.T) { args: args{ payload: change.Payload{}, path: "/", - ctx: context.WithValue(context.Background(), types.CtxKeyOperation, ppb.ApiOperation_API_OPERATION_UPDATE), // nolint + ctx: context.WithValue(context.Background(), types.CtxKeyOperation, mnepb.ApiOperation_API_OPERATION_UPDATE), // nolint }, wantErr: true, }, @@ -336,7 +336,7 @@ func TestGnmi_Set(t *testing.T) { }, }, path: "/system/config/hostname", - ctx: context.WithValue(context.Background(), types.CtxKeyOperation, ppb.ApiOperation_API_OPERATION_UPDATE), // nolint + ctx: context.WithValue(context.Background(), types.CtxKeyOperation, mnepb.ApiOperation_API_OPERATION_UPDATE), // nolint }, wantErr: false, }, @@ -370,7 +370,7 @@ func TestGnmi_Set(t *testing.T) { }, }, path: "/system/config/hostname", - ctx: context.WithValue(context.Background(), types.CtxKeyOperation, ppb.ApiOperation_API_OPERATION_DELETE), // nolint + ctx: context.WithValue(context.Background(), types.CtxKeyOperation, mnepb.ApiOperation_API_OPERATION_DELETE), // nolint }, wantErr: false, }, diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go index 4aaf2cfc3a263f65e84bf113a368d7cb83fe2108..9f7ff1a0c8eebcb2d33a6fd499c35fb0f84130ff 100644 --- a/controller/nucleus/principalNetworkDomain.go +++ b/controller/nucleus/principalNetworkDomain.go @@ -19,7 +19,7 @@ import ( "golang.org/x/sync/errgroup" cpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/csbi" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" eventservice "code.fbi.h-da.de/danet/gosdn/controller/eventService" @@ -516,7 +516,7 @@ func (pnd *pndImplementation) ensureIntendedConfigurationIsAppliedOnNetworkEleme // The Change is Pending and times out after the specified timeout period. // // nolint:gocyclo -func (pnd *pndImplementation) ChangeMNE(duid uuid.UUID, operation ppb.ApiOperation, path string, value ...string) (uuid.UUID, error) { +func (pnd *pndImplementation) ChangeMNE(duid uuid.UUID, operation mnepb.ApiOperation, path string, value ...string) (uuid.UUID, error) { //TODO: check if we can get cyclomatic complexity from 16 to at least 15 mne, err := pnd.networkElementService.Get(store.Query{ ID: duid, @@ -535,14 +535,14 @@ func (pnd *pndImplementation) ChangeMNE(duid uuid.UUID, operation ppb.ApiOperati return uuid.Nil, err } - if operation != ppb.ApiOperation_API_OPERATION_DELETE && len(value) != 1 { + if operation != mnepb.ApiOperation_API_OPERATION_DELETE && len(value) != 1 { return uuid.Nil, &customerrs.InvalidParametersError{ Func: pnd.ChangeMNE, Param: value, } } switch operation { - case ppb.ApiOperation_API_OPERATION_UPDATE, ppb.ApiOperation_API_OPERATION_REPLACE: + case mnepb.ApiOperation_API_OPERATION_UPDATE, mnepb.ApiOperation_API_OPERATION_REPLACE: _, entry, err := ytypes.GetOrCreateNode(mne.SBI().Schema().RootSchema(), validatedCpy, p) if err != nil { return uuid.Nil, err @@ -563,7 +563,7 @@ func (pnd *pndImplementation) ChangeMNE(duid uuid.UUID, operation ppb.ApiOperati return uuid.Nil, err } } - case ppb.ApiOperation_API_OPERATION_DELETE: + case mnepb.ApiOperation_API_OPERATION_DELETE: if err := ytypes.DeleteNode(mne.SBI().Schema().RootSchema(), validatedCpy, p); err != nil { return uuid.Nil, err } @@ -589,7 +589,7 @@ func (pnd *pndImplementation) ChangeMNE(duid uuid.UUID, operation ppb.ApiOperati return ch.cuid, nil } -func (pnd *pndImplementation) SubscribePath(uuid uuid.UUID, subList *ppb.SubscriptionList) error { +func (pnd *pndImplementation) SubscribePath(uuid uuid.UUID, subList *mnepb.SubscriptionList) error { mne, err := pnd.networkElementService.Get(store.Query{ ID: uuid, }) @@ -630,26 +630,26 @@ func splitStringPath(s string) []string { return strings.Split(s, "/") } -func mapStreamModeToAristaFork(mode ppb.StreamMode) (string, error) { +func mapStreamModeToAristaFork(mode mnepb.StreamMode) (string, error) { switch mode { - case ppb.StreamMode_STREAM_MODE_TARGET_DEFINED: + case mnepb.StreamMode_STREAM_MODE_TARGET_DEFINED: return "target_defined", nil - case ppb.StreamMode_STREAM_MODE_ON_CHANGE: + case mnepb.StreamMode_STREAM_MODE_ON_CHANGE: return "on_change", nil - case ppb.StreamMode_STREAM_MODE_SAMPLE: + case mnepb.StreamMode_STREAM_MODE_SAMPLE: return "sample", nil default: return "", fmt.Errorf("StreamMode of type: %T is not supported", mode) } } -func mapModeToAristaFork(mode ppb.SubscriptionMode) (string, error) { +func mapModeToAristaFork(mode mnepb.SubscriptionMode) (string, error) { switch mode { - case ppb.SubscriptionMode_SUBSCRIPTION_MODE_STREAM: + case mnepb.SubscriptionMode_SUBSCRIPTION_MODE_STREAM: return "stream", nil - case ppb.SubscriptionMode_SUBSCRIPTION_MODE_ONCE: + case mnepb.SubscriptionMode_SUBSCRIPTION_MODE_ONCE: return "once", nil - case ppb.SubscriptionMode_SUBSCRIPTION_MODE_POLL: + case mnepb.SubscriptionMode_SUBSCRIPTION_MODE_POLL: return "poll", nil default: return "", fmt.Errorf("SubscriptionMode of type: %T is not supported", mode) diff --git a/controller/nucleus/principalNetworkDomain_test.go b/controller/nucleus/principalNetworkDomain_test.go index 38b704aac23a563aa6b703a2dd40965aa6bbeeff..7722edc5f3d20cdadb17ab26e9321238d7ee8fcf 100644 --- a/controller/nucleus/principalNetworkDomain_test.go +++ b/controller/nucleus/principalNetworkDomain_test.go @@ -9,9 +9,10 @@ import ( "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/csbi" cpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/csbi" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" + "code.fbi.h-da.de/danet/gosdn/controller/conflict" eventservice "code.fbi.h-da.de/danet/gosdn/controller/eventService" eventInterfaces "code.fbi.h-da.de/danet/gosdn/controller/interfaces/event" @@ -686,7 +687,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { }, } type args struct { - operation ppb.ApiOperation + operation mnepb.ApiOperation path string value []string } @@ -698,7 +699,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "update", args: args{ - operation: ppb.ApiOperation_API_OPERATION_UPDATE, + operation: mnepb.ApiOperation_API_OPERATION_UPDATE, path: "/system/config/hostname", value: []string{"ceos3000"}, }, @@ -707,7 +708,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "replace", args: args{ - operation: ppb.ApiOperation_API_OPERATION_REPLACE, + operation: mnepb.ApiOperation_API_OPERATION_REPLACE, path: "/system/config/hostname", value: []string{"ceos3000"}, }, @@ -716,7 +717,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "delete", args: args{ - operation: ppb.ApiOperation_API_OPERATION_DELETE, + operation: mnepb.ApiOperation_API_OPERATION_DELETE, path: "/system/config/hostname", }, wantErr: false, @@ -724,7 +725,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "delete w/args", args: args{ - operation: ppb.ApiOperation_API_OPERATION_DELETE, + operation: mnepb.ApiOperation_API_OPERATION_DELETE, path: "/system/config/hostname", value: []string{"ceos3000"}, }, @@ -742,7 +743,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "invalid arg count", args: args{ - operation: ppb.ApiOperation_API_OPERATION_UPDATE, + operation: mnepb.ApiOperation_API_OPERATION_UPDATE, path: "/system/config/hostname", value: []string{"ceos3000", "ceos3001"}, }, @@ -751,7 +752,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "invalid arg count - update, no args", args: args{ - operation: ppb.ApiOperation_API_OPERATION_UPDATE, + operation: mnepb.ApiOperation_API_OPERATION_UPDATE, path: "/system/config/hostname", }, wantErr: true, @@ -759,7 +760,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "invalid arg count - replace, no args", args: args{ - operation: ppb.ApiOperation_API_OPERATION_UPDATE, + operation: mnepb.ApiOperation_API_OPERATION_UPDATE, path: "/system/config/hostname", }, wantErr: true, @@ -767,7 +768,7 @@ func Test_pndImplementation_ChangeMNE(t *testing.T) { { name: "network element not found", args: args{ - operation: ppb.ApiOperation_API_OPERATION_UPDATE, + operation: mnepb.ApiOperation_API_OPERATION_UPDATE, }, wantErr: true, }, @@ -1000,7 +1001,7 @@ func Test_pndImplementation_Confirm(t *testing.T) { t.Error(err) return } - _, err = pnd.ChangeMNE(mne.ID(), ppb.ApiOperation_API_OPERATION_UPDATE, "system/config/hostname", "ceos3000") + _, err = pnd.ChangeMNE(mne.ID(), mnepb.ApiOperation_API_OPERATION_UPDATE, "system/config/hostname", "ceos3000") if err != nil { t.Error(err) return @@ -1250,7 +1251,7 @@ func Test_pndImplementation_SubscribePath(t *testing.T) { } type args struct { uuid uuid.UUID - subList *ppb.SubscriptionList + subList *mnepb.SubscriptionList } tests := []struct { name string diff --git a/controller/store/changeStores.go b/controller/store/changeStores.go index b312753591aa67d924934c7c8af2a41c8ff52853..06db18452024e3dfd9b59e68732285a6d9897786 100644 --- a/controller/store/changeStores.go +++ b/controller/store/changeStores.go @@ -6,7 +6,7 @@ import ( "github.com/google/uuid" log "github.com/sirupsen/logrus" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" ) // ChangeStore is used to store Changes. @@ -41,20 +41,20 @@ func (s *ChangeStore) GetChange(id uuid.UUID) (change.Change, error) { // Pending returns the UUIDs of all pending changes. func (s *ChangeStore) Pending() []uuid.UUID { - return filterChanges(s, ppb.ChangeState_CHANGE_STATE_PENDING) + return filterChanges(s, mnepb.ChangeState_CHANGE_STATE_PENDING) } // Committed returns the UUIDs of all pending changes. func (s *ChangeStore) Committed() []uuid.UUID { - return filterChanges(s, ppb.ChangeState_CHANGE_STATE_COMMITTED) + return filterChanges(s, mnepb.ChangeState_CHANGE_STATE_COMMITTED) } // Confirmed returns the UUIDs of all pending changes. func (s *ChangeStore) Confirmed() []uuid.UUID { - return filterChanges(s, ppb.ChangeState_CHANGE_STATE_CONFIRMED) + return filterChanges(s, mnepb.ChangeState_CHANGE_STATE_CONFIRMED) } -func filterChanges(store *ChangeStore, state ppb.ChangeState) []uuid.UUID { +func filterChanges(store *ChangeStore, state mnepb.ChangeState) []uuid.UUID { changes := make([]uuid.UUID, 0) for _, ch := range store.Store { switch c := ch.(type) { diff --git a/controller/test/integration/nucleusIntegration_test.go b/controller/test/integration/nucleusIntegration_test.go index 62c56e8afd9d4b1a358767777c2cad8383e038ea..05034a615c1a74dfff5ed6683d81d369beb99cd2 100644 --- a/controller/test/integration/nucleusIntegration_test.go +++ b/controller/test/integration/nucleusIntegration_test.go @@ -10,9 +10,10 @@ import ( "github.com/google/uuid" - ppb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd" + mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement" spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" + "code.fbi.h-da.de/danet/gosdn/controller/interfaces/change" "code.fbi.h-da.de/danet/gosdn/models/generated/openconfig" @@ -199,28 +200,28 @@ func TestGnmi_SetValidIntegration(t *testing.T) { tests := []struct { name string - apiOp ppb.ApiOperation + apiOp mnepb.ApiOperation path string value string want string }{ { name: "update", - apiOp: ppb.ApiOperation_API_OPERATION_UPDATE, + apiOp: mnepb.ApiOperation_API_OPERATION_UPDATE, path: testPath, value: modifiedHostname, want: modifiedHostname, }, { name: "replace", - apiOp: ppb.ApiOperation_API_OPERATION_REPLACE, + apiOp: mnepb.ApiOperation_API_OPERATION_REPLACE, path: "/system/config/domain-name", value: modifiedHostname, want: modifiedHostname, }, { name: "delete", - apiOp: ppb.ApiOperation_API_OPERATION_DELETE, + apiOp: mnepb.ApiOperation_API_OPERATION_DELETE, path: testPath, }, }