Skip to content
Snippets Groups Projects
Commit b16ea39b authored by Fabian Seidl's avatar Fabian Seidl
Browse files

add get all sub method

parent 545862ba
No related branches found
No related tags found
No related merge requests found
......@@ -32,7 +32,7 @@ type Subscription struct {
Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"`
Mneid string `protobuf:"bytes,3,opt,name=mneid,proto3" json:"mneid,omitempty"`
MneName string `protobuf:"bytes,4,opt,name=mne_name,json=mneName,proto3" json:"mne_name,omitempty"`
Paths []string `protobuf:"bytes,5,rep,name=paths,proto3" json:"paths,omitempty"`
Paths []*Path `protobuf:"bytes,5,rep,name=paths,proto3" json:"paths,omitempty"`
SubscribeOptions *SubscribeOptions `protobuf:"bytes,6,opt,name=subscribe_options,json=subscribeOptions,proto3" json:"subscribe_options,omitempty"`
}
......@@ -96,7 +96,7 @@ func (x *Subscription) GetMneName() string {
return ""
}
func (x *Subscription) GetPaths() []string {
func (x *Subscription) GetPaths() []*Path {
if x != nil {
return x.Paths
}
......@@ -110,6 +110,53 @@ func (x *Subscription) GetSubscribeOptions() *SubscribeOptions {
return nil
}
type Path struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Elem []string `protobuf:"bytes,1,rep,name=elem,proto3" json:"elem,omitempty"`
}
func (x *Path) Reset() {
*x = Path{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Path) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Path) ProtoMessage() {}
func (x *Path) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Path.ProtoReflect.Descriptor instead.
func (*Path) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{1}
}
func (x *Path) GetElem() []string {
if x != nil {
return x.Elem
}
return nil
}
type SubscribeOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
......@@ -123,7 +170,7 @@ type SubscribeOptions struct {
func (x *SubscribeOptions) Reset() {
*x = SubscribeOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[1]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -136,7 +183,7 @@ func (x *SubscribeOptions) String() string {
func (*SubscribeOptions) ProtoMessage() {}
func (x *SubscribeOptions) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[1]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -149,7 +196,7 @@ func (x *SubscribeOptions) ProtoReflect() protoreflect.Message {
// Deprecated: Use SubscribeOptions.ProtoReflect.Descriptor instead.
func (*SubscribeOptions) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{1}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{2}
}
func (x *SubscribeOptions) GetGnmiMode() string {
......@@ -184,7 +231,7 @@ type GetAllRequest struct {
func (x *GetAllRequest) Reset() {
*x = GetAllRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[2]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -197,7 +244,7 @@ func (x *GetAllRequest) String() string {
func (*GetAllRequest) ProtoMessage() {}
func (x *GetAllRequest) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[2]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -210,7 +257,7 @@ func (x *GetAllRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetAllRequest.ProtoReflect.Descriptor instead.
func (*GetAllRequest) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{2}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{3}
}
func (x *GetAllRequest) GetTimestamp() int64 {
......@@ -232,7 +279,7 @@ type GetAllResponse struct {
func (x *GetAllResponse) Reset() {
*x = GetAllResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[3]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -245,7 +292,7 @@ func (x *GetAllResponse) String() string {
func (*GetAllResponse) ProtoMessage() {}
func (x *GetAllResponse) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[3]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -258,7 +305,7 @@ func (x *GetAllResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetAllResponse.ProtoReflect.Descriptor instead.
func (*GetAllResponse) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{3}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{4}
}
func (x *GetAllResponse) GetTimestamp() int64 {
......@@ -287,7 +334,7 @@ type GetRequest struct {
func (x *GetRequest) Reset() {
*x = GetRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[4]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -300,7 +347,7 @@ func (x *GetRequest) String() string {
func (*GetRequest) ProtoMessage() {}
func (x *GetRequest) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[4]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -313,7 +360,7 @@ func (x *GetRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetRequest.ProtoReflect.Descriptor instead.
func (*GetRequest) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{4}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{5}
}
func (x *GetRequest) GetTimestamp() int64 {
......@@ -342,7 +389,7 @@ type GetResponse struct {
func (x *GetResponse) Reset() {
*x = GetResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[5]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -355,7 +402,7 @@ func (x *GetResponse) String() string {
func (*GetResponse) ProtoMessage() {}
func (x *GetResponse) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[5]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -368,7 +415,7 @@ func (x *GetResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetResponse.ProtoReflect.Descriptor instead.
func (*GetResponse) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{5}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{6}
}
func (x *GetResponse) GetTimestamp() int64 {
......@@ -397,7 +444,7 @@ type DeleteRequest struct {
func (x *DeleteRequest) Reset() {
*x = DeleteRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[6]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -410,7 +457,7 @@ func (x *DeleteRequest) String() string {
func (*DeleteRequest) ProtoMessage() {}
func (x *DeleteRequest) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[6]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -423,7 +470,7 @@ func (x *DeleteRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead.
func (*DeleteRequest) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{6}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{7}
}
func (x *DeleteRequest) GetTimestamp() int64 {
......@@ -451,7 +498,7 @@ type DeleteResponse struct {
func (x *DeleteResponse) Reset() {
*x = DeleteResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[7]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -464,7 +511,7 @@ func (x *DeleteResponse) String() string {
func (*DeleteResponse) ProtoMessage() {}
func (x *DeleteResponse) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[7]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -477,7 +524,7 @@ func (x *DeleteResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead.
func (*DeleteResponse) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{7}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{8}
}
func (x *DeleteResponse) GetTimestamp() int64 {
......@@ -500,7 +547,7 @@ type AddRequest struct {
func (x *AddRequest) Reset() {
*x = AddRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[8]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -513,7 +560,7 @@ func (x *AddRequest) String() string {
func (*AddRequest) ProtoMessage() {}
func (x *AddRequest) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[8]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -526,7 +573,7 @@ func (x *AddRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddRequest.ProtoReflect.Descriptor instead.
func (*AddRequest) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{8}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{9}
}
func (x *AddRequest) GetTimestamp() int64 {
......@@ -561,7 +608,7 @@ type AddResponse struct {
func (x *AddResponse) Reset() {
*x = AddResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[9]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -574,7 +621,7 @@ func (x *AddResponse) String() string {
func (*AddResponse) ProtoMessage() {}
func (x *AddResponse) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[9]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -587,7 +634,7 @@ func (x *AddResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddResponse.ProtoReflect.Descriptor instead.
func (*AddResponse) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{9}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{10}
}
func (x *AddResponse) GetTimestamp() int64 {
......@@ -608,7 +655,7 @@ type ResetAllSubscriptionsRequest struct {
func (x *ResetAllSubscriptionsRequest) Reset() {
*x = ResetAllSubscriptionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[10]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -621,7 +668,7 @@ func (x *ResetAllSubscriptionsRequest) String() string {
func (*ResetAllSubscriptionsRequest) ProtoMessage() {}
func (x *ResetAllSubscriptionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[10]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -634,7 +681,7 @@ func (x *ResetAllSubscriptionsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResetAllSubscriptionsRequest.ProtoReflect.Descriptor instead.
func (*ResetAllSubscriptionsRequest) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{10}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{11}
}
func (x *ResetAllSubscriptionsRequest) GetTimestamp() int64 {
......@@ -655,7 +702,7 @@ type ResetAllSubscriptionsResponse struct {
func (x *ResetAllSubscriptionsResponse) Reset() {
*x = ResetAllSubscriptionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[11]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
......@@ -668,7 +715,7 @@ func (x *ResetAllSubscriptionsResponse) String() string {
func (*ResetAllSubscriptionsResponse) ProtoMessage() {}
func (x *ResetAllSubscriptionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[11]
mi := &file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
......@@ -681,7 +728,7 @@ func (x *ResetAllSubscriptionsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResetAllSubscriptionsResponse.ProtoReflect.Descriptor instead.
func (*ResetAllSubscriptionsResponse) Descriptor() ([]byte, []int) {
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{11}
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(), []int{12}
}
func (x *ResetAllSubscriptionsResponse) GetTimestamp() int64 {
......@@ -705,21 +752,25 @@ var file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDesc = []b
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, 0x22, 0xda, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x75, 0x62, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x75, 0x62, 0x69, 0x64, 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, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
0x69, 0x62, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
0x12, 0x38, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50,
0x61, 0x74, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x73, 0x75,
0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x73, 0x75,
0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1a, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12,
0x12, 0x0a, 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x65,
0x6c, 0x65, 0x6d, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x6e, 0x6d, 0x69,
0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x6e, 0x6d,
0x69, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x73, 0x74,
......@@ -844,41 +895,43 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescGZIP(
return file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDescData
}
var file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_goTypes = []any{
(*Subscription)(nil), // 0: gosdn.subscriptionmanagement.Subscription
(*SubscribeOptions)(nil), // 1: gosdn.subscriptionmanagement.SubscribeOptions
(*GetAllRequest)(nil), // 2: gosdn.subscriptionmanagement.GetAllRequest
(*GetAllResponse)(nil), // 3: gosdn.subscriptionmanagement.GetAllResponse
(*GetRequest)(nil), // 4: gosdn.subscriptionmanagement.GetRequest
(*GetResponse)(nil), // 5: gosdn.subscriptionmanagement.GetResponse
(*DeleteRequest)(nil), // 6: gosdn.subscriptionmanagement.DeleteRequest
(*DeleteResponse)(nil), // 7: gosdn.subscriptionmanagement.DeleteResponse
(*AddRequest)(nil), // 8: gosdn.subscriptionmanagement.AddRequest
(*AddResponse)(nil), // 9: gosdn.subscriptionmanagement.AddResponse
(*ResetAllSubscriptionsRequest)(nil), // 10: gosdn.subscriptionmanagement.ResetAllSubscriptionsRequest
(*ResetAllSubscriptionsResponse)(nil), // 11: gosdn.subscriptionmanagement.ResetAllSubscriptionsResponse
(*Path)(nil), // 1: gosdn.subscriptionmanagement.Path
(*SubscribeOptions)(nil), // 2: gosdn.subscriptionmanagement.SubscribeOptions
(*GetAllRequest)(nil), // 3: gosdn.subscriptionmanagement.GetAllRequest
(*GetAllResponse)(nil), // 4: gosdn.subscriptionmanagement.GetAllResponse
(*GetRequest)(nil), // 5: gosdn.subscriptionmanagement.GetRequest
(*GetResponse)(nil), // 6: gosdn.subscriptionmanagement.GetResponse
(*DeleteRequest)(nil), // 7: gosdn.subscriptionmanagement.DeleteRequest
(*DeleteResponse)(nil), // 8: gosdn.subscriptionmanagement.DeleteResponse
(*AddRequest)(nil), // 9: gosdn.subscriptionmanagement.AddRequest
(*AddResponse)(nil), // 10: gosdn.subscriptionmanagement.AddResponse
(*ResetAllSubscriptionsRequest)(nil), // 11: gosdn.subscriptionmanagement.ResetAllSubscriptionsRequest
(*ResetAllSubscriptionsResponse)(nil), // 12: gosdn.subscriptionmanagement.ResetAllSubscriptionsResponse
}
var file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_depIdxs = []int32{
1, // 0: gosdn.subscriptionmanagement.Subscription.subscribe_options:type_name -> gosdn.subscriptionmanagement.SubscribeOptions
0, // 1: gosdn.subscriptionmanagement.GetAllResponse.subscriptions:type_name -> gosdn.subscriptionmanagement.Subscription
0, // 2: gosdn.subscriptionmanagement.GetResponse.subscriptions:type_name -> gosdn.subscriptionmanagement.Subscription
0, // 3: gosdn.subscriptionmanagement.AddRequest.subscription:type_name -> gosdn.subscriptionmanagement.Subscription
2, // 4: gosdn.subscriptionmanagement.SubscriptionManagementService.GetAll:input_type -> gosdn.subscriptionmanagement.GetAllRequest
4, // 5: gosdn.subscriptionmanagement.SubscriptionManagementService.Get:input_type -> gosdn.subscriptionmanagement.GetRequest
6, // 6: gosdn.subscriptionmanagement.SubscriptionManagementService.Delete:input_type -> gosdn.subscriptionmanagement.DeleteRequest
8, // 7: gosdn.subscriptionmanagement.SubscriptionManagementService.Add:input_type -> gosdn.subscriptionmanagement.AddRequest
10, // 8: gosdn.subscriptionmanagement.SubscriptionManagementService.ResetAllSubscriptions:input_type -> gosdn.subscriptionmanagement.ResetAllSubscriptionsRequest
3, // 9: gosdn.subscriptionmanagement.SubscriptionManagementService.GetAll:output_type -> gosdn.subscriptionmanagement.GetAllResponse
5, // 10: gosdn.subscriptionmanagement.SubscriptionManagementService.Get:output_type -> gosdn.subscriptionmanagement.GetResponse
7, // 11: gosdn.subscriptionmanagement.SubscriptionManagementService.Delete:output_type -> gosdn.subscriptionmanagement.DeleteResponse
9, // 12: gosdn.subscriptionmanagement.SubscriptionManagementService.Add:output_type -> gosdn.subscriptionmanagement.AddResponse
11, // 13: gosdn.subscriptionmanagement.SubscriptionManagementService.ResetAllSubscriptions:output_type -> gosdn.subscriptionmanagement.ResetAllSubscriptionsResponse
9, // [9:14] is the sub-list for method output_type
4, // [4:9] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
1, // 0: gosdn.subscriptionmanagement.Subscription.paths:type_name -> gosdn.subscriptionmanagement.Path
2, // 1: gosdn.subscriptionmanagement.Subscription.subscribe_options:type_name -> gosdn.subscriptionmanagement.SubscribeOptions
0, // 2: gosdn.subscriptionmanagement.GetAllResponse.subscriptions:type_name -> gosdn.subscriptionmanagement.Subscription
0, // 3: gosdn.subscriptionmanagement.GetResponse.subscriptions:type_name -> gosdn.subscriptionmanagement.Subscription
0, // 4: gosdn.subscriptionmanagement.AddRequest.subscription:type_name -> gosdn.subscriptionmanagement.Subscription
3, // 5: gosdn.subscriptionmanagement.SubscriptionManagementService.GetAll:input_type -> gosdn.subscriptionmanagement.GetAllRequest
5, // 6: gosdn.subscriptionmanagement.SubscriptionManagementService.Get:input_type -> gosdn.subscriptionmanagement.GetRequest
7, // 7: gosdn.subscriptionmanagement.SubscriptionManagementService.Delete:input_type -> gosdn.subscriptionmanagement.DeleteRequest
9, // 8: gosdn.subscriptionmanagement.SubscriptionManagementService.Add:input_type -> gosdn.subscriptionmanagement.AddRequest
11, // 9: gosdn.subscriptionmanagement.SubscriptionManagementService.ResetAllSubscriptions:input_type -> gosdn.subscriptionmanagement.ResetAllSubscriptionsRequest
4, // 10: gosdn.subscriptionmanagement.SubscriptionManagementService.GetAll:output_type -> gosdn.subscriptionmanagement.GetAllResponse
6, // 11: gosdn.subscriptionmanagement.SubscriptionManagementService.Get:output_type -> gosdn.subscriptionmanagement.GetResponse
8, // 12: gosdn.subscriptionmanagement.SubscriptionManagementService.Delete:output_type -> gosdn.subscriptionmanagement.DeleteResponse
10, // 13: gosdn.subscriptionmanagement.SubscriptionManagementService.Add:output_type -> gosdn.subscriptionmanagement.AddResponse
12, // 14: gosdn.subscriptionmanagement.SubscriptionManagementService.ResetAllSubscriptions:output_type -> gosdn.subscriptionmanagement.ResetAllSubscriptionsResponse
10, // [10:15] is the sub-list for method output_type
5, // [5:10] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() }
......@@ -900,7 +953,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*SubscribeOptions); i {
switch v := v.(*Path); i {
case 0:
return &v.state
case 1:
......@@ -912,7 +965,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*GetAllRequest); i {
switch v := v.(*SubscribeOptions); i {
case 0:
return &v.state
case 1:
......@@ -924,7 +977,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[3].Exporter = func(v any, i int) any {
switch v := v.(*GetAllResponse); i {
switch v := v.(*GetAllRequest); i {
case 0:
return &v.state
case 1:
......@@ -936,7 +989,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[4].Exporter = func(v any, i int) any {
switch v := v.(*GetRequest); i {
switch v := v.(*GetAllResponse); i {
case 0:
return &v.state
case 1:
......@@ -948,7 +1001,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[5].Exporter = func(v any, i int) any {
switch v := v.(*GetResponse); i {
switch v := v.(*GetRequest); i {
case 0:
return &v.state
case 1:
......@@ -960,7 +1013,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[6].Exporter = func(v any, i int) any {
switch v := v.(*DeleteRequest); i {
switch v := v.(*GetResponse); i {
case 0:
return &v.state
case 1:
......@@ -972,7 +1025,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[7].Exporter = func(v any, i int) any {
switch v := v.(*DeleteResponse); i {
switch v := v.(*DeleteRequest); i {
case 0:
return &v.state
case 1:
......@@ -984,7 +1037,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[8].Exporter = func(v any, i int) any {
switch v := v.(*AddRequest); i {
switch v := v.(*DeleteResponse); i {
case 0:
return &v.state
case 1:
......@@ -996,7 +1049,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[9].Exporter = func(v any, i int) any {
switch v := v.(*AddResponse); i {
switch v := v.(*AddRequest); i {
case 0:
return &v.state
case 1:
......@@ -1008,7 +1061,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[10].Exporter = func(v any, i int) any {
switch v := v.(*ResetAllSubscriptionsRequest); i {
switch v := v.(*AddResponse); i {
case 0:
return &v.state
case 1:
......@@ -1020,6 +1073,18 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[11].Exporter = func(v any, i int) any {
switch v := v.(*ResetAllSubscriptionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_msgTypes[12].Exporter = func(v any, i int) any {
switch v := v.(*ResetAllSubscriptionsResponse); i {
case 0:
return &v.state
......@@ -1038,7 +1103,7 @@ func file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_gosdn_subscriptionmanagement_subscriptionmanagement_proto_rawDesc,
NumEnums: 0,
NumMessages: 12,
NumMessages: 13,
NumExtensions: 0,
NumServices: 1,
},
......
......@@ -3240,6 +3240,17 @@
}
}
},
"gosdnsubscriptionmanagementPath": {
"type": "object",
"properties": {
"elem": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"gosdnsubscriptionmanagementSubscription": {
"type": "object",
"properties": {
......@@ -3258,7 +3269,8 @@
"paths": {
"type": "array",
"items": {
"type": "string"
"type": "object",
"$ref": "#/definitions/gosdnsubscriptionmanagementPath"
}
},
"subscribeOptions": {
......
......@@ -38,10 +38,14 @@ message Subscription{
string pid = 2;
string mneid = 3;
string mne_name = 4;
repeated string paths = 5;
repeated Path paths = 5;
SubscribeOptions subscribe_options = 6;
}
message Path{
repeated string elem = 1;
}
message SubscribeOptions {
string gnmi_mode = 1;
string gnmi_stream_mode = 2;
......
/*
Copyright © 2021 da/net Research Group <danet@h-da.de>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
package cmd
import (
"code.fbi.h-da.de/danet/gosdn/controller/api"
"github.com/pterm/pterm"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
// subGetAllCmd represents the get all subscriptions command.
var subGetAllCmd = &cobra.Command{
Use: "getAll",
Short: "Fetches all current gNMI subscriptions.",
Long: "Fetches all current gNMI subscriptions.",
Run: func(cmd *cobra.Command, args []string) {
spinner, _ := pterm.DefaultSpinner.Start("Fetching subscriptions")
resp, err := api.GetAll(createContextWithAuthorization(), viper.GetString("controllerAPIEndpoint"))
if err != nil {
pterm.Error.Println(err)
return
}
for _, sub := range resp.Subscriptions {
logrus.Println(sub)
}
spinner.Success()
},
}
func init() {
subCmd.AddCommand(subGetAllCmd)
}
......@@ -21,3 +21,17 @@ func ResetAllSubscriptions(ctx context.Context, addr string) (*subpb.ResetAllSub
return subClient.ResetAllSubscriptions(ctx, req)
}
// GetAll returns information about all running subscriptions.
func GetAll(ctx context.Context, addr string) (*subpb.GetAllResponse, error) {
subClient, err := nbi.SubManagementClient(addr, dialOptions...)
if err != nil {
return nil, err
}
req := &subpb.GetAllRequest{
Timestamp: time.Now().UnixNano(),
}
return subClient.GetAll(ctx, req)
}
......@@ -33,3 +33,38 @@ func (s *SubManagementServer) ResetAllSubscriptions(ctx context.Context, request
Timestamp: time.Now().UnixNano(),
}, nil
}
// GetAll returns information about all running subscriptions.
func (s *SubManagementServer) GetAll(ctx context.Context, request *subpb.GetAllRequest) (*subpb.GetAllResponse, error) {
subInfos := s.networkElementWatchter.GetAllSubscriptionInformations()
subInfosToReturn := make([]*subpb.Subscription, 0)
for _, info := range subInfos {
tmpPaths := make([]*subpb.Path, 0)
for _, path := range info.Opts.Paths {
tmpPaths = append(tmpPaths, &subpb.Path{
Elem: path,
})
}
subInfosToReturn = append(subInfosToReturn, &subpb.Subscription{
Subid: info.SubID,
Pid: info.PndID,
Mneid: info.MneID,
MneName: info.MneName,
Paths: tmpPaths,
SubscribeOptions: &subpb.SubscribeOptions{
GnmiMode: info.Opts.Mode,
GnmiStreamMode: info.Opts.StreamMode,
SampleInterval: info.Opts.SampleInterval,
},
})
}
return &subpb.GetAllResponse{
Timestamp: time.Now().UnixNano(),
Subscriptions: subInfosToReturn,
}, nil
}
......@@ -40,9 +40,13 @@ type NetworkElementWatcher struct {
// networkelementSubscriptionHelper is used to store information to stop a running subscribe go routine.
type networkelementSubscriptionHelper struct {
SubID string
MneID string
MneName string
PndID string
stopSubscribeCtx context.Context
stopFunc context.CancelFunc
opts *gnmi.SubscribeOptions
Opts *gnmi.SubscribeOptions
}
// NewNetworkElementWatcher allows to subscribe to network element paths.
......@@ -92,15 +96,19 @@ func (n *NetworkElementWatcher) SubscribeToNetworkElement(mne networkelement.Net
func (n *NetworkElementWatcher) subscribeToNetworkElement(mne networkelement.NetworkElement, opts *gnmi.SubscribeOptions) {
subID := uuid.New()
opts.Paths = n.mergeGnmiSubscriptions(mne.GetGnmiSubscriptionPaths(), config.GetGnmiSubscriptionPaths())
stopContext, cancel := context.WithCancel(context.Background())
n.addToNetworkElementSubscriptions(subID, &networkelementSubscriptionHelper{
stopSubscribeCtx: stopContext,
stopFunc: cancel,
opts: opts,
SubID: subID.String(),
MneID: mne.ID().String(),
MneName: mne.Name(),
PndID: mne.PndID().String(),
Opts: opts,
})
opts.Paths = n.mergeGnmiSubscriptions(mne.GetGnmiSubscriptionPaths(), config.GetGnmiSubscriptionPaths())
go n.callSubscribe(stopContext, mne, opts)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment