diff --git a/api/go/github.com/openconfig/gnmi/proto/collector/collector.pb.go b/api/go/github.com/openconfig/gnmi/proto/collector/collector.pb.go
index c1df7944dbdec16365284d2cbf46ff953373b63c..a186f9baef80caddc6292e01381531355e89d9e0 100644
--- a/api/go/github.com/openconfig/gnmi/proto/collector/collector.pb.go
+++ b/api/go/github.com/openconfig/gnmi/proto/collector/collector.pb.go
@@ -16,7 +16,7 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: github.com/openconfig/gnmi/proto/collector/collector.proto
 
@@ -154,7 +154,7 @@ func file_github_com_openconfig_gnmi_proto_collector_collector_proto_rawDescGZIP
 }
 
 var file_github_com_openconfig_gnmi_proto_collector_collector_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_github_com_openconfig_gnmi_proto_collector_collector_proto_goTypes = []interface{}{
+var file_github_com_openconfig_gnmi_proto_collector_collector_proto_goTypes = []any{
 	(*ReconnectRequest)(nil), // 0: gnmi.ReconnectRequest
 	(*Nil)(nil),              // 1: gnmi.Nil
 }
@@ -174,7 +174,7 @@ func file_github_com_openconfig_gnmi_proto_collector_collector_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_github_com_openconfig_gnmi_proto_collector_collector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_collector_collector_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*ReconnectRequest); i {
 			case 0:
 				return &v.state
@@ -186,7 +186,7 @@ func file_github_com_openconfig_gnmi_proto_collector_collector_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_collector_collector_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_collector_collector_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*Nil); i {
 			case 0:
 				return &v.state
diff --git a/api/go/github.com/openconfig/gnmi/proto/collector/collector_grpc.pb.go b/api/go/github.com/openconfig/gnmi/proto/collector/collector_grpc.pb.go
index 4d5c6ee9dd685577649c649c62df2dd4ad97bcb9..ec8155fd8e08e2ca4effaeb4218ddc1edece2782 100644
--- a/api/go/github.com/openconfig/gnmi/proto/collector/collector_grpc.pb.go
+++ b/api/go/github.com/openconfig/gnmi/proto/collector/collector_grpc.pb.go
@@ -16,7 +16,7 @@
 
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: github.com/openconfig/gnmi/proto/collector/collector.proto
 
@@ -31,8 +31,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	Collector_Reconnect_FullMethodName = "/gnmi.Collector/Reconnect"
@@ -56,8 +56,9 @@ func NewCollectorClient(cc grpc.ClientConnInterface) CollectorClient {
 }
 
 func (c *collectorClient) Reconnect(ctx context.Context, in *ReconnectRequest, opts ...grpc.CallOption) (*Nil, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(Nil)
-	err := c.cc.Invoke(ctx, Collector_Reconnect_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Collector_Reconnect_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi.pb.go b/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi.pb.go
index 7e36c7339405cf264706c7670c1ec4baf4614695..aa39f2583055eee2bb2c44f8328f7a6f8645f37e 100644
--- a/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi.pb.go
+++ b/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi.pb.go
@@ -16,7 +16,7 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: github.com/openconfig/gnmi/proto/gnmi/gnmi.proto
 
@@ -2737,7 +2737,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_rawDescGZIP() []byte
 
 var file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
 var file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
-var file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_goTypes = []interface{}{
+var file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_goTypes = []any{
 	(Encoding)(0),                    // 0: gnmi.Encoding
 	(SubscriptionMode)(0),            // 1: gnmi.SubscriptionMode
 	(SubscriptionList_Mode)(0),       // 2: gnmi.SubscriptionList.Mode
@@ -2852,7 +2852,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Notification); i {
 			case 0:
 				return &v.state
@@ -2864,7 +2864,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*Update); i {
 			case 0:
 				return &v.state
@@ -2876,7 +2876,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*TypedValue); i {
 			case 0:
 				return &v.state
@@ -2888,7 +2888,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*Path); i {
 			case 0:
 				return &v.state
@@ -2900,7 +2900,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*PathElem); i {
 			case 0:
 				return &v.state
@@ -2912,7 +2912,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*Value); i {
 			case 0:
 				return &v.state
@@ -2924,7 +2924,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*Error); i {
 			case 0:
 				return &v.state
@@ -2936,7 +2936,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*Decimal64); i {
 			case 0:
 				return &v.state
@@ -2948,7 +2948,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*ScalarArray); i {
 			case 0:
 				return &v.state
@@ -2960,7 +2960,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*SubscribeRequest); i {
 			case 0:
 				return &v.state
@@ -2972,7 +2972,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[10].Exporter = func(v any, i int) any {
 			switch v := v.(*Poll); i {
 			case 0:
 				return &v.state
@@ -2984,7 +2984,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[11].Exporter = func(v any, i int) any {
 			switch v := v.(*SubscribeResponse); i {
 			case 0:
 				return &v.state
@@ -2996,7 +2996,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[12].Exporter = func(v any, i int) any {
 			switch v := v.(*SubscriptionList); i {
 			case 0:
 				return &v.state
@@ -3008,7 +3008,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[13].Exporter = func(v any, i int) any {
 			switch v := v.(*Subscription); i {
 			case 0:
 				return &v.state
@@ -3020,7 +3020,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[14].Exporter = func(v any, i int) any {
 			switch v := v.(*QOSMarking); i {
 			case 0:
 				return &v.state
@@ -3032,7 +3032,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[15].Exporter = func(v any, i int) any {
 			switch v := v.(*Alias); i {
 			case 0:
 				return &v.state
@@ -3044,7 +3044,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[16].Exporter = func(v any, i int) any {
 			switch v := v.(*AliasList); i {
 			case 0:
 				return &v.state
@@ -3056,7 +3056,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[17].Exporter = func(v any, i int) any {
 			switch v := v.(*SetRequest); i {
 			case 0:
 				return &v.state
@@ -3068,7 +3068,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[18].Exporter = func(v any, i int) any {
 			switch v := v.(*SetResponse); i {
 			case 0:
 				return &v.state
@@ -3080,7 +3080,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[19].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateResult); i {
 			case 0:
 				return &v.state
@@ -3092,7 +3092,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[20].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRequest); i {
 			case 0:
 				return &v.state
@@ -3104,7 +3104,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[21].Exporter = func(v any, i int) any {
 			switch v := v.(*GetResponse); i {
 			case 0:
 				return &v.state
@@ -3116,7 +3116,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[22].Exporter = func(v any, i int) any {
 			switch v := v.(*CapabilityRequest); i {
 			case 0:
 				return &v.state
@@ -3128,7 +3128,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[23].Exporter = func(v any, i int) any {
 			switch v := v.(*CapabilityResponse); i {
 			case 0:
 				return &v.state
@@ -3140,7 +3140,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[24].Exporter = func(v any, i int) any {
 			switch v := v.(*ModelData); i {
 			case 0:
 				return &v.state
@@ -3153,7 +3153,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 			}
 		}
 	}
-	file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[2].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[2].OneofWrappers = []any{
 		(*TypedValue_StringVal)(nil),
 		(*TypedValue_IntVal)(nil),
 		(*TypedValue_UintVal)(nil),
@@ -3168,12 +3168,12 @@ func file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_init() {
 		(*TypedValue_AsciiVal)(nil),
 		(*TypedValue_ProtoBytes)(nil),
 	}
-	file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[9].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[9].OneofWrappers = []any{
 		(*SubscribeRequest_Subscribe)(nil),
 		(*SubscribeRequest_Poll)(nil),
 		(*SubscribeRequest_Aliases)(nil),
 	}
-	file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[11].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_proto_gnmi_gnmi_proto_msgTypes[11].OneofWrappers = []any{
 		(*SubscribeResponse_Update)(nil),
 		(*SubscribeResponse_SyncResponse)(nil),
 		(*SubscribeResponse_Error)(nil),
diff --git a/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi_grpc.pb.go b/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi_grpc.pb.go
index 7394b73a104f415024325f38d8e5753067eaa236..0e11fcbbd5a021bcdacbc3d2b249c159e59b97df 100644
--- a/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi_grpc.pb.go
+++ b/api/go/github.com/openconfig/gnmi/proto/gnmi/gnmi_grpc.pb.go
@@ -16,7 +16,7 @@
 
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: github.com/openconfig/gnmi/proto/gnmi/gnmi.proto
 
@@ -40,8 +40,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	GNMI_Capabilities_FullMethodName = "/gnmi.gNMI/Capabilities"
@@ -89,8 +89,9 @@ func NewGNMIClient(cc grpc.ClientConnInterface) GNMIClient {
 }
 
 func (c *gNMIClient) Capabilities(ctx context.Context, in *CapabilityRequest, opts ...grpc.CallOption) (*CapabilityResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(CapabilityResponse)
-	err := c.cc.Invoke(ctx, GNMI_Capabilities_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, GNMI_Capabilities_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -98,8 +99,9 @@ func (c *gNMIClient) Capabilities(ctx context.Context, in *CapabilityRequest, op
 }
 
 func (c *gNMIClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetResponse)
-	err := c.cc.Invoke(ctx, GNMI_Get_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, GNMI_Get_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -107,8 +109,9 @@ func (c *gNMIClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallO
 }
 
 func (c *gNMIClient) Set(ctx context.Context, in *SetRequest, opts ...grpc.CallOption) (*SetResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(SetResponse)
-	err := c.cc.Invoke(ctx, GNMI_Set_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, GNMI_Set_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -116,11 +119,12 @@ func (c *gNMIClient) Set(ctx context.Context, in *SetRequest, opts ...grpc.CallO
 }
 
 func (c *gNMIClient) Subscribe(ctx context.Context, opts ...grpc.CallOption) (GNMI_SubscribeClient, error) {
-	stream, err := c.cc.NewStream(ctx, &GNMI_ServiceDesc.Streams[0], GNMI_Subscribe_FullMethodName, opts...)
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	stream, err := c.cc.NewStream(ctx, &GNMI_ServiceDesc.Streams[0], GNMI_Subscribe_FullMethodName, cOpts...)
 	if err != nil {
 		return nil, err
 	}
-	x := &gNMISubscribeClient{stream}
+	x := &gNMISubscribeClient{ClientStream: stream}
 	return x, nil
 }
 
@@ -261,7 +265,7 @@ func _GNMI_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{
 }
 
 func _GNMI_Subscribe_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(GNMIServer).Subscribe(&gNMISubscribeServer{stream})
+	return srv.(GNMIServer).Subscribe(&gNMISubscribeServer{ServerStream: stream})
 }
 
 type GNMI_SubscribeServer interface {
diff --git a/api/go/github.com/openconfig/gnmi/proto/gnmi_ext/gnmi_ext.pb.go b/api/go/github.com/openconfig/gnmi/proto/gnmi_ext/gnmi_ext.pb.go
index e35cb6e95b254407ca0c7c2fb80704a33ebb346b..4a5a86104c5c8c48128f0280250b0fb90a8a8752 100644
--- a/api/go/github.com/openconfig/gnmi/proto/gnmi_ext/gnmi_ext.pb.go
+++ b/api/go/github.com/openconfig/gnmi/proto/gnmi_ext/gnmi_ext.pb.go
@@ -16,7 +16,7 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: github.com/openconfig/gnmi/proto/gnmi_ext/gnmi_ext.proto
 
@@ -618,7 +618,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP()
 
 var file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 var file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
-var file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_goTypes = []interface{}{
+var file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_goTypes = []any{
 	(ExtensionID)(0),            // 0: gnmi_ext.ExtensionID
 	(*Extension)(nil),           // 1: gnmi_ext.Extension
 	(*RegisteredExtension)(nil), // 2: gnmi_ext.RegisteredExtension
@@ -649,7 +649,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Extension); i {
 			case 0:
 				return &v.state
@@ -661,7 +661,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*RegisteredExtension); i {
 			case 0:
 				return &v.state
@@ -673,7 +673,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*MasterArbitration); i {
 			case 0:
 				return &v.state
@@ -685,7 +685,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*Uint128); i {
 			case 0:
 				return &v.state
@@ -697,7 +697,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*Role); i {
 			case 0:
 				return &v.state
@@ -709,7 +709,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*History); i {
 			case 0:
 				return &v.state
@@ -721,7 +721,7 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*TimeRange); i {
 			case 0:
 				return &v.state
@@ -734,12 +734,12 @@ func file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_init() {
 			}
 		}
 	}
-	file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].OneofWrappers = []any{
 		(*Extension_RegisteredExt)(nil),
 		(*Extension_MasterArbitration)(nil),
 		(*Extension_History)(nil),
 	}
-	file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].OneofWrappers = []any{
 		(*History_SnapshotTime)(nil),
 		(*History_Range)(nil),
 	}
diff --git a/api/go/github.com/openconfig/gnmi/proto/target/target.pb.go b/api/go/github.com/openconfig/gnmi/proto/target/target.pb.go
index 17541f00398631eb1a84ba02f9d2588b4f587dcf..1d8bdcf02fd7e62e42cb45c38c02b90f3af416ee 100644
--- a/api/go/github.com/openconfig/gnmi/proto/target/target.pb.go
+++ b/api/go/github.com/openconfig/gnmi/proto/target/target.pb.go
@@ -16,7 +16,7 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: github.com/openconfig/gnmi/proto/target/target.proto
 
@@ -344,7 +344,7 @@ func file_github_com_openconfig_gnmi_proto_target_target_proto_rawDescGZIP() []b
 }
 
 var file_github_com_openconfig_gnmi_proto_target_target_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
-var file_github_com_openconfig_gnmi_proto_target_target_proto_goTypes = []interface{}{
+var file_github_com_openconfig_gnmi_proto_target_target_proto_goTypes = []any{
 	(*Configuration)(nil),         // 0: target.Configuration
 	(*Target)(nil),                // 1: target.Target
 	(*Credentials)(nil),           // 2: target.Credentials
@@ -373,7 +373,7 @@ func file_github_com_openconfig_gnmi_proto_target_target_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_github_com_openconfig_gnmi_proto_target_target_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_target_target_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Configuration); i {
 			case 0:
 				return &v.state
@@ -385,7 +385,7 @@ func file_github_com_openconfig_gnmi_proto_target_target_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_target_target_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_target_target_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*Target); i {
 			case 0:
 				return &v.state
@@ -397,7 +397,7 @@ func file_github_com_openconfig_gnmi_proto_target_target_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_proto_target_target_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_proto_target_target_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*Credentials); i {
 			case 0:
 				return &v.state
diff --git a/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake.pb.go b/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake.pb.go
index 92ca479925ad2adfdc8a344ebd5e4bdb8308ba2e..0c0a049ba1a8eaace32b167dd0486f5f90c92be2 100644
--- a/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake.pb.go
+++ b/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake.pb.go
@@ -4,7 +4,7 @@
 
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: github.com/openconfig/gnmi/testing/fake/proto/fake.proto
 
@@ -2152,7 +2152,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_rawDescGZIP()
 
 var file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
 var file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
-var file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_goTypes = []interface{}{
+var file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_goTypes = []any{
 	(State)(0),                     // 0: gnmi.fake.State
 	(Config_ClientType)(0),         // 1: gnmi.fake.Config.ClientType
 	(*Configuration)(nil),          // 2: gnmi.fake.Configuration
@@ -2226,7 +2226,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Configuration); i {
 			case 0:
 				return &v.state
@@ -2238,7 +2238,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*Credentials); i {
 			case 0:
 				return &v.state
@@ -2250,7 +2250,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*Config); i {
 			case 0:
 				return &v.state
@@ -2262,7 +2262,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*FixedGenerator); i {
 			case 0:
 				return &v.state
@@ -2274,7 +2274,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*RandomGenerator); i {
 			case 0:
 				return &v.state
@@ -2286,7 +2286,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteValue); i {
 			case 0:
 				return &v.state
@@ -2298,7 +2298,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*Value); i {
 			case 0:
 				return &v.state
@@ -2310,7 +2310,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*Timestamp); i {
 			case 0:
 				return &v.state
@@ -2322,7 +2322,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*IntValue); i {
 			case 0:
 				return &v.state
@@ -2334,7 +2334,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*IntRange); i {
 			case 0:
 				return &v.state
@@ -2346,7 +2346,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[10].Exporter = func(v any, i int) any {
 			switch v := v.(*IntList); i {
 			case 0:
 				return &v.state
@@ -2358,7 +2358,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[11].Exporter = func(v any, i int) any {
 			switch v := v.(*DoubleValue); i {
 			case 0:
 				return &v.state
@@ -2370,7 +2370,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[12].Exporter = func(v any, i int) any {
 			switch v := v.(*DoubleRange); i {
 			case 0:
 				return &v.state
@@ -2382,7 +2382,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[13].Exporter = func(v any, i int) any {
 			switch v := v.(*DoubleList); i {
 			case 0:
 				return &v.state
@@ -2394,7 +2394,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[14].Exporter = func(v any, i int) any {
 			switch v := v.(*StringValue); i {
 			case 0:
 				return &v.state
@@ -2406,7 +2406,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[15].Exporter = func(v any, i int) any {
 			switch v := v.(*StringList); i {
 			case 0:
 				return &v.state
@@ -2418,7 +2418,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[16].Exporter = func(v any, i int) any {
 			switch v := v.(*StringListValue); i {
 			case 0:
 				return &v.state
@@ -2430,7 +2430,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[17].Exporter = func(v any, i int) any {
 			switch v := v.(*BoolValue); i {
 			case 0:
 				return &v.state
@@ -2442,7 +2442,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[18].Exporter = func(v any, i int) any {
 			switch v := v.(*BoolList); i {
 			case 0:
 				return &v.state
@@ -2454,7 +2454,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[19].Exporter = func(v any, i int) any {
 			switch v := v.(*UintValue); i {
 			case 0:
 				return &v.state
@@ -2466,7 +2466,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[20].Exporter = func(v any, i int) any {
 			switch v := v.(*UintRange); i {
 			case 0:
 				return &v.state
@@ -2478,7 +2478,7 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 				return nil
 			}
 		}
-		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+		file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[21].Exporter = func(v any, i int) any {
 			switch v := v.(*UintList); i {
 			case 0:
 				return &v.state
@@ -2491,12 +2491,12 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 			}
 		}
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[2].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[2].OneofWrappers = []any{
 		(*Config_Custom)(nil),
 		(*Config_Random)(nil),
 		(*Config_Fixed)(nil),
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[6].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[6].OneofWrappers = []any{
 		(*Value_IntValue)(nil),
 		(*Value_DoubleValue)(nil),
 		(*Value_StringValue)(nil),
@@ -2506,24 +2506,24 @@ func file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_init() {
 		(*Value_UintValue)(nil),
 		(*Value_StringListValue)(nil),
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[8].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[8].OneofWrappers = []any{
 		(*IntValue_Range)(nil),
 		(*IntValue_List)(nil),
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[11].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[11].OneofWrappers = []any{
 		(*DoubleValue_Range)(nil),
 		(*DoubleValue_List)(nil),
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[14].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[14].OneofWrappers = []any{
 		(*StringValue_List)(nil),
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[16].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[16].OneofWrappers = []any{
 		(*StringListValue_List)(nil),
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[17].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[17].OneofWrappers = []any{
 		(*BoolValue_List)(nil),
 	}
-	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[19].OneofWrappers = []interface{}{
+	file_github_com_openconfig_gnmi_testing_fake_proto_fake_proto_msgTypes[19].OneofWrappers = []any{
 		(*UintValue_Range)(nil),
 		(*UintValue_List)(nil),
 	}
diff --git a/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake_grpc.pb.go b/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake_grpc.pb.go
index 5b5003b8668073a536e5b25d572df7042ca0d8a0..47fbce8ae80da31815bd5a28f6f4487e365d124f 100644
--- a/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake_grpc.pb.go
+++ b/api/go/github.com/openconfig/gnmi/testing/fake/proto/fake_grpc.pb.go
@@ -4,7 +4,7 @@
 
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: github.com/openconfig/gnmi/testing/fake/proto/fake.proto
 
@@ -19,8 +19,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	AgentManager_Add_FullMethodName    = "/gnmi.fake.AgentManager/Add"
@@ -49,8 +49,9 @@ func NewAgentManagerClient(cc grpc.ClientConnInterface) AgentManagerClient {
 }
 
 func (c *agentManagerClient) Add(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(Config)
-	err := c.cc.Invoke(ctx, AgentManager_Add_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, AgentManager_Add_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -58,8 +59,9 @@ func (c *agentManagerClient) Add(ctx context.Context, in *Config, opts ...grpc.C
 }
 
 func (c *agentManagerClient) Remove(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(Config)
-	err := c.cc.Invoke(ctx, AgentManager_Remove_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, AgentManager_Remove_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -67,8 +69,9 @@ func (c *agentManagerClient) Remove(ctx context.Context, in *Config, opts ...grp
 }
 
 func (c *agentManagerClient) Status(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(Config)
-	err := c.cc.Invoke(ctx, AgentManager_Status_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, AgentManager_Status_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/app/app.pb.go b/api/go/gosdn/app/app.pb.go
index 6dbd18794194e036c06b21661e1fbc72560d13c3..30ffd0da205125d8ed118b9070d993d2b47985f0 100644
--- a/api/go/gosdn/app/app.pb.go
+++ b/api/go/gosdn/app/app.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/app/app.proto
 
@@ -313,7 +313,7 @@ func file_gosdn_app_app_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_app_app_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
-var file_gosdn_app_app_proto_goTypes = []interface{}{
+var file_gosdn_app_app_proto_goTypes = []any{
 	(*AppRegisterRequest)(nil),    // 0: gosdn.app.AppRegisterRequest
 	(*AppRegisterResponse)(nil),   // 1: gosdn.app.AppRegisterResponse
 	(*AppDeregisterRequest)(nil),  // 2: gosdn.app.AppDeregisterRequest
@@ -337,7 +337,7 @@ func file_gosdn_app_app_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_app_app_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_app_app_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*AppRegisterRequest); i {
 			case 0:
 				return &v.state
@@ -349,7 +349,7 @@ func file_gosdn_app_app_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_app_app_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_app_app_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*AppRegisterResponse); i {
 			case 0:
 				return &v.state
@@ -361,7 +361,7 @@ func file_gosdn_app_app_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_app_app_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_app_app_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*AppDeregisterRequest); i {
 			case 0:
 				return &v.state
@@ -373,7 +373,7 @@ func file_gosdn_app_app_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_app_app_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_app_app_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*AppDeregisterResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/app/app.pb.gw.go b/api/go/gosdn/app/app.pb.gw.go
index c155f8d108bedb3498a493f71f585fb71768e2d4..681c8a1517aadc4f02023925da00337a9278fdb6 100644
--- a/api/go/gosdn/app/app.pb.gw.go
+++ b/api/go/gosdn/app/app.pb.gw.go
@@ -145,21 +145,21 @@ func RegisterAppServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux,
 // RegisterAppServiceHandlerFromEndpoint is same as RegisterAppServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterAppServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/app/app_grpc.pb.go b/api/go/gosdn/app/app_grpc.pb.go
index f0cc50652181f2d92c5f4d7d35f850ba8c4f9784..e3bc66ae428210dc63963e6701e64c7dee352462 100644
--- a/api/go/gosdn/app/app_grpc.pb.go
+++ b/api/go/gosdn/app/app_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/app/app.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	AppService_Register_FullMethodName   = "/gosdn.app.AppService/Register"
@@ -42,8 +42,9 @@ func NewAppServiceClient(cc grpc.ClientConnInterface) AppServiceClient {
 }
 
 func (c *appServiceClient) Register(ctx context.Context, in *AppRegisterRequest, opts ...grpc.CallOption) (*AppRegisterResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(AppRegisterResponse)
-	err := c.cc.Invoke(ctx, AppService_Register_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, AppService_Register_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -51,8 +52,9 @@ func (c *appServiceClient) Register(ctx context.Context, in *AppRegisterRequest,
 }
 
 func (c *appServiceClient) Deregister(ctx context.Context, in *AppDeregisterRequest, opts ...grpc.CallOption) (*AppDeregisterResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(AppDeregisterResponse)
-	err := c.cc.Invoke(ctx, AppService_Deregister_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, AppService_Deregister_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/configurationmanagement/configurationmanagement.pb.go b/api/go/gosdn/configurationmanagement/configurationmanagement.pb.go
index 82da12e237a63f7e9c2e60f016834a773b2e342e..c999d4db4c9b31dc2b533789cb5f9d3066c28efd 100644
--- a/api/go/gosdn/configurationmanagement/configurationmanagement.pb.go
+++ b/api/go/gosdn/configurationmanagement/configurationmanagement.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/configurationmanagement/configurationmanagement.proto
 
@@ -320,7 +320,7 @@ func file_gosdn_configurationmanagement_configurationmanagement_proto_rawDescGZI
 }
 
 var file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
-var file_gosdn_configurationmanagement_configurationmanagement_proto_goTypes = []interface{}{
+var file_gosdn_configurationmanagement_configurationmanagement_proto_goTypes = []any{
 	(*ExportSDNConfigRequest)(nil),  // 0: gosdn.configurationmanagement.ExportSDNConfigRequest
 	(*ExportSDNConfigResponse)(nil), // 1: gosdn.configurationmanagement.ExportSDNConfigResponse
 	(*ImportSDNConfigRequest)(nil),  // 2: gosdn.configurationmanagement.ImportSDNConfigRequest
@@ -344,7 +344,7 @@ func file_gosdn_configurationmanagement_configurationmanagement_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*ExportSDNConfigRequest); i {
 			case 0:
 				return &v.state
@@ -356,7 +356,7 @@ func file_gosdn_configurationmanagement_configurationmanagement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*ExportSDNConfigResponse); i {
 			case 0:
 				return &v.state
@@ -368,7 +368,7 @@ func file_gosdn_configurationmanagement_configurationmanagement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*ImportSDNConfigRequest); i {
 			case 0:
 				return &v.state
@@ -380,7 +380,7 @@ func file_gosdn_configurationmanagement_configurationmanagement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_configurationmanagement_configurationmanagement_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*ImportSDNConfigResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/configurationmanagement/configurationmanagement.pb.gw.go b/api/go/gosdn/configurationmanagement/configurationmanagement.pb.gw.go
index 865179a9334c1a9f72677c2688a2f9afbca6a9e8..2a4a9453e37b4fe310103b5cb8e04e1ebedb344a 100644
--- a/api/go/gosdn/configurationmanagement/configurationmanagement.pb.gw.go
+++ b/api/go/gosdn/configurationmanagement/configurationmanagement.pb.gw.go
@@ -233,21 +233,21 @@ func RegisterConfigurationManagementServiceHandlerServer(ctx context.Context, mu
 // RegisterConfigurationManagementServiceHandlerFromEndpoint is same as RegisterConfigurationManagementServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterConfigurationManagementServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/configurationmanagement/configurationmanagement_grpc.pb.go b/api/go/gosdn/configurationmanagement/configurationmanagement_grpc.pb.go
index 989394027dc703ad7f84d98fe3f571c8883e5af3..9614b110a69ea837d0857dc4384bf879eebc46cb 100644
--- a/api/go/gosdn/configurationmanagement/configurationmanagement_grpc.pb.go
+++ b/api/go/gosdn/configurationmanagement/configurationmanagement_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/configurationmanagement/configurationmanagement.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	ConfigurationManagementService_ExportSDNConfig_FullMethodName = "/gosdn.configurationmanagement.ConfigurationManagementService/ExportSDNConfig"
@@ -26,6 +26,8 @@ const (
 // ConfigurationManagementServiceClient is the client API for ConfigurationManagementService service.
 //
 // 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.
+//
+// The ConfigurationManagementService allows to access configurations
 type ConfigurationManagementServiceClient interface {
 	// Allows for export of the whole SDN configuration
 	ExportSDNConfig(ctx context.Context, in *ExportSDNConfigRequest, opts ...grpc.CallOption) (*ExportSDNConfigResponse, error)
@@ -42,8 +44,9 @@ func NewConfigurationManagementServiceClient(cc grpc.ClientConnInterface) Config
 }
 
 func (c *configurationManagementServiceClient) ExportSDNConfig(ctx context.Context, in *ExportSDNConfigRequest, opts ...grpc.CallOption) (*ExportSDNConfigResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(ExportSDNConfigResponse)
-	err := c.cc.Invoke(ctx, ConfigurationManagementService_ExportSDNConfig_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, ConfigurationManagementService_ExportSDNConfig_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -51,8 +54,9 @@ func (c *configurationManagementServiceClient) ExportSDNConfig(ctx context.Conte
 }
 
 func (c *configurationManagementServiceClient) ImportSDNConfig(ctx context.Context, in *ImportSDNConfigRequest, opts ...grpc.CallOption) (*ImportSDNConfigResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(ImportSDNConfigResponse)
-	err := c.cc.Invoke(ctx, ConfigurationManagementService_ImportSDNConfig_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, ConfigurationManagementService_ImportSDNConfig_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -62,6 +66,8 @@ func (c *configurationManagementServiceClient) ImportSDNConfig(ctx context.Conte
 // ConfigurationManagementServiceServer is the server API for ConfigurationManagementService service.
 // All implementations must embed UnimplementedConfigurationManagementServiceServer
 // for forward compatibility
+//
+// The ConfigurationManagementService allows to access configurations
 type ConfigurationManagementServiceServer interface {
 	// Allows for export of the whole SDN configuration
 	ExportSDNConfig(context.Context, *ExportSDNConfigRequest) (*ExportSDNConfigResponse, error)
diff --git a/api/go/gosdn/conflict/conflict.pb.go b/api/go/gosdn/conflict/conflict.pb.go
index 98580ed5ed23070904e565fc04aa209f6411cd22..b43d09bf57798e0ad985c534863f31a91e2b873e 100644
--- a/api/go/gosdn/conflict/conflict.pb.go
+++ b/api/go/gosdn/conflict/conflict.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/conflict/conflict.proto
 
@@ -99,7 +99,7 @@ func file_gosdn_conflict_conflict_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_conflict_conflict_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_gosdn_conflict_conflict_proto_goTypes = []interface{}{
+var file_gosdn_conflict_conflict_proto_goTypes = []any{
 	(*Metadata)(nil), // 0: gosdn.conflict.Metadata
 }
 var file_gosdn_conflict_conflict_proto_depIdxs = []int32{
@@ -116,7 +116,7 @@ func file_gosdn_conflict_conflict_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_conflict_conflict_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_conflict_conflict_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Metadata); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/csbi/csbi.pb.go b/api/go/gosdn/csbi/csbi.pb.go
index 7dad543a87086ea2a6a08bb07910def66813f42e..6fd657bc9c91e603e020402ac38b86a393a51f20 100644
--- a/api/go/gosdn/csbi/csbi.pb.go
+++ b/api/go/gosdn/csbi/csbi.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/csbi/csbi.proto
 
@@ -824,7 +824,7 @@ func file_gosdn_csbi_csbi_proto_rawDescGZIP() []byte {
 
 var file_gosdn_csbi_csbi_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 var file_gosdn_csbi_csbi_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
-var file_gosdn_csbi_csbi_proto_goTypes = []interface{}{
+var file_gosdn_csbi_csbi_proto_goTypes = []any{
 	(State)(0),                        // 0: gosdn.csbi.State
 	(*Syn)(nil),                       // 1: gosdn.csbi.Syn
 	(*Ack)(nil),                       // 2: gosdn.csbi.Ack
@@ -870,7 +870,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_csbi_csbi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Syn); i {
 			case 0:
 				return &v.state
@@ -882,7 +882,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*Ack); i {
 			case 0:
 				return &v.state
@@ -894,7 +894,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRequest); i {
 			case 0:
 				return &v.state
@@ -906,7 +906,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPayloadRequest); i {
 			case 0:
 				return &v.state
@@ -918,7 +918,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetResponse); i {
 			case 0:
 				return &v.state
@@ -930,7 +930,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*Deployment); i {
 			case 0:
 				return &v.state
@@ -942,7 +942,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*CreateRequest); i {
 			case 0:
 				return &v.state
@@ -954,7 +954,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*CreateResponse); i {
 			case 0:
 				return &v.state
@@ -966,7 +966,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*Payload); i {
 			case 0:
 				return &v.state
@@ -978,7 +978,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteRequest); i {
 			case 0:
 				return &v.state
@@ -990,7 +990,7 @@ func file_gosdn_csbi_csbi_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_csbi_csbi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_csbi_csbi_proto_msgTypes[10].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/csbi/csbi_grpc.pb.go b/api/go/gosdn/csbi/csbi_grpc.pb.go
index 0a5bf42829792f4f8da92056bc1ba6a5f2a0430c..71840fa3e60b8a54ba0a3d2ea25aeb3ae53b9273 100644
--- a/api/go/gosdn/csbi/csbi_grpc.pb.go
+++ b/api/go/gosdn/csbi/csbi_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/csbi/csbi.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	CsbiService_Get_FullMethodName            = "/gosdn.csbi.CsbiService/Get"
@@ -30,6 +30,9 @@ const (
 // CsbiServiceClient is the client API for CsbiService service.
 //
 // 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.
+//
+// only used from within the controller; therefore we do not provide
+// grpc-gateway definitions
 type CsbiServiceClient interface {
 	Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error)
 	GetFile(ctx context.Context, in *GetPayloadRequest, opts ...grpc.CallOption) (CsbiService_GetFileClient, error)
@@ -48,8 +51,9 @@ func NewCsbiServiceClient(cc grpc.ClientConnInterface) CsbiServiceClient {
 }
 
 func (c *csbiServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetResponse)
-	err := c.cc.Invoke(ctx, CsbiService_Get_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, CsbiService_Get_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -57,11 +61,12 @@ func (c *csbiServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grp
 }
 
 func (c *csbiServiceClient) GetFile(ctx context.Context, in *GetPayloadRequest, opts ...grpc.CallOption) (CsbiService_GetFileClient, error) {
-	stream, err := c.cc.NewStream(ctx, &CsbiService_ServiceDesc.Streams[0], CsbiService_GetFile_FullMethodName, opts...)
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	stream, err := c.cc.NewStream(ctx, &CsbiService_ServiceDesc.Streams[0], CsbiService_GetFile_FullMethodName, cOpts...)
 	if err != nil {
 		return nil, err
 	}
-	x := &csbiServiceGetFileClient{stream}
+	x := &csbiServiceGetFileClient{ClientStream: stream}
 	if err := x.ClientStream.SendMsg(in); err != nil {
 		return nil, err
 	}
@@ -89,8 +94,9 @@ func (x *csbiServiceGetFileClient) Recv() (*Payload, error) {
 }
 
 func (c *csbiServiceClient) Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(CreateResponse)
-	err := c.cc.Invoke(ctx, CsbiService_Create_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, CsbiService_Create_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -98,8 +104,9 @@ func (c *csbiServiceClient) Create(ctx context.Context, in *CreateRequest, opts
 }
 
 func (c *csbiServiceClient) CreateGoStruct(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(CreateResponse)
-	err := c.cc.Invoke(ctx, CsbiService_CreateGoStruct_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, CsbiService_CreateGoStruct_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -107,8 +114,9 @@ func (c *csbiServiceClient) CreateGoStruct(ctx context.Context, in *CreateReques
 }
 
 func (c *csbiServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteResponse)
-	err := c.cc.Invoke(ctx, CsbiService_Delete_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, CsbiService_Delete_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -116,8 +124,9 @@ func (c *csbiServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts
 }
 
 func (c *csbiServiceClient) Hello(ctx context.Context, in *Syn, opts ...grpc.CallOption) (*Ack, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(Ack)
-	err := c.cc.Invoke(ctx, CsbiService_Hello_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, CsbiService_Hello_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -127,6 +136,9 @@ func (c *csbiServiceClient) Hello(ctx context.Context, in *Syn, opts ...grpc.Cal
 // CsbiServiceServer is the server API for CsbiService service.
 // All implementations must embed UnimplementedCsbiServiceServer
 // for forward compatibility
+//
+// only used from within the controller; therefore we do not provide
+// grpc-gateway definitions
 type CsbiServiceServer interface {
 	Get(context.Context, *GetRequest) (*GetResponse, error)
 	GetFile(*GetPayloadRequest, CsbiService_GetFileServer) error
@@ -195,7 +207,7 @@ func _CsbiService_GetFile_Handler(srv interface{}, stream grpc.ServerStream) err
 	if err := stream.RecvMsg(m); err != nil {
 		return err
 	}
-	return srv.(CsbiServiceServer).GetFile(m, &csbiServiceGetFileServer{stream})
+	return srv.(CsbiServiceServer).GetFile(m, &csbiServiceGetFileServer{ServerStream: stream})
 }
 
 type CsbiService_GetFileServer interface {
diff --git a/api/go/gosdn/networkelement/networkelement.pb.go b/api/go/gosdn/networkelement/networkelement.pb.go
index f9e28bdefafaf330a6bffc0e64a6c698a19a3360..6ed237be7fd34962767aa28d05d55f47f914c1ed 100644
--- a/api/go/gosdn/networkelement/networkelement.pb.go
+++ b/api/go/gosdn/networkelement/networkelement.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/networkelement/networkelement.proto
 
@@ -3050,7 +3050,7 @@ var file_gosdn_networkelement_networkelement_proto_rawDesc = []byte{
 	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, 0x92, 0x0e, 0x0a,
+	0x4f, 0x44, 0x45, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x03, 0x32, 0xaf, 0x0d, 0x0a,
 	0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53,
 	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74,
 	0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
@@ -3067,108 +3067,102 @@ var file_gosdn_networkelement_networkelement_proto_rawDesc = []byte{
 	0x74, 0x41, 0x6c, 0x6c, 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, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
-	0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x6c, 0x61, 0x74,
-	0x74, 0x65, 0x6e, 0x65, 0x64, 0x12, 0x2c, 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, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x1a, 0x2d, 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, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 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, 0x6b, 0x0a, 0x03,
-	0x47, 0x65, 0x74, 0x12, 0x20, 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, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 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,
-	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, 0x65, 0x0a, 0x0c, 0x47, 0x65, 0x74,
-	0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x12, 0x29, 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, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x46,
-	0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
-	0x12, 0x73, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 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, 0x4c, 0x69, 0x73, 0x74, 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, 0x41, 0x64, 0x64, 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,
+	0x65, 0x12, 0x7d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x6c, 0x61, 0x74, 0x74,
+	0x65, 0x6e, 0x65, 0x64, 0x12, 0x2c, 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, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x2d, 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,
+	0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+	0x65, 0x22, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x07, 0x12, 0x05, 0x2f, 0x6d, 0x6e, 0x65, 0x73,
+	0x12, 0x61, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x20, 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, 0xae, 0x01,
-	0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x50, 0x61, 0x74,
-	0x68, 0x12, 0x2c, 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, 0x49, 0x6e, 0x74, 0x65,
-	0x6e, 0x64, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x2d, 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, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64,
-	0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e,
-	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 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, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x7b,
-	0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x7d, 0x12, 0x85,
-	0x01, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28,
+	0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 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, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3,
+	0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x6e, 0x65,
+	0x69, 0x64, 0x7d, 0x12, 0x65, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65,
+	0x6e, 0x65, 0x64, 0x12, 0x29, 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, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a,
 	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, 0x75, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 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, 0x44, 0x65, 0x6c,
-	0x65, 0x74, 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,
+	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e,
+	0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x07, 0x41, 0x64,
+	0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 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,
+	0x4c, 0x69, 0x73, 0x74, 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, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+	0x73, 0x65, 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x3a, 0x01, 0x2a, 0x22, 0x05, 0x2f,
+	0x6d, 0x6e, 0x65, 0x73, 0x12, 0x7a, 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, 0x22, 0x82, 0xd3,
+	0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 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, 0xa3, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64,
+	0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 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, 0x49,
+	0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x2d, 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, 0x49, 0x6e, 0x74,
+	0x65, 0x6e, 0x64, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+	0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x6d, 0x6e, 0x65, 0x73,
+	0x2f, 0x7b, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65,
+	0x64, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64,
+	0x5f, 0x70, 0x61, 0x74, 0x68, 0x7d, 0x12, 0x7a, 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, 0x16, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x10, 0x3a, 0x01, 0x2a, 0x22, 0x0b, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x74,
+	0x68, 0x73, 0x12, 0x6a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
+	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x2a,
+	0x0d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x6e, 0x65, 0x69, 0x64, 0x7d, 0x12, 0x7f,
 	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, 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, 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,
+	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f,
+	0x12, 0x0d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12,
+	0x7a, 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, 0x1c, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 0x2f, 0x63, 0x68, 0x61,
+	0x6e, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x69, 0x64, 0x7d, 0x12, 0x82, 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, 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, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01,
+	0x2a, 0x22, 0x0d, 0x2f, 0x6d, 0x6e, 0x65, 0x73, 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, 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 (
@@ -3185,7 +3179,7 @@ func file_gosdn_networkelement_networkelement_proto_rawDescGZIP() []byte {
 
 var file_gosdn_networkelement_networkelement_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
 var file_gosdn_networkelement_networkelement_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
-var file_gosdn_networkelement_networkelement_proto_goTypes = []interface{}{
+var file_gosdn_networkelement_networkelement_proto_goTypes = []any{
 	(ChangeState)(0),                       // 0: gosdn.networkelement.ChangeState
 	(ApiOperation)(0),                      // 1: gosdn.networkelement.ApiOperation
 	(Operation)(0),                         // 2: gosdn.networkelement.Operation
@@ -3317,7 +3311,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_networkelement_networkelement_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateNetworkElementRequest); i {
 			case 0:
 				return &v.state
@@ -3329,7 +3323,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateNetworkElementResponse); i {
 			case 0:
 				return &v.state
@@ -3341,7 +3335,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*ManagedNetworkElement); i {
 			case 0:
 				return &v.state
@@ -3353,7 +3347,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*FlattenedManagedNetworkElement); i {
 			case 0:
 				return &v.state
@@ -3365,7 +3359,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetAllRequest); i {
 			case 0:
 				return &v.state
@@ -3377,7 +3371,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*GetAllResponse); i {
 			case 0:
 				return &v.state
@@ -3389,7 +3383,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*GetAllFlattenedRequest); i {
 			case 0:
 				return &v.state
@@ -3401,7 +3395,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*GetAllFlattenedResponse); i {
 			case 0:
 				return &v.state
@@ -3413,7 +3407,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRequest); i {
 			case 0:
 				return &v.state
@@ -3425,7 +3419,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*GetResponse); i {
 			case 0:
 				return &v.state
@@ -3437,7 +3431,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[10].Exporter = func(v any, i int) any {
 			switch v := v.(*GetFlattenedRequest); i {
 			case 0:
 				return &v.state
@@ -3449,7 +3443,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[11].Exporter = func(v any, i int) any {
 			switch v := v.(*GetFlattenedResponse); i {
 			case 0:
 				return &v.state
@@ -3461,7 +3455,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[12].Exporter = func(v any, i int) any {
 			switch v := v.(*SetMne); i {
 			case 0:
 				return &v.state
@@ -3473,7 +3467,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[13].Exporter = func(v any, i int) any {
 			switch v := v.(*AddListRequest); i {
 			case 0:
 				return &v.state
@@ -3485,7 +3479,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[14].Exporter = func(v any, i int) any {
 			switch v := v.(*AddListResponse); i {
 			case 0:
 				return &v.state
@@ -3497,7 +3491,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[15].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPathRequest); i {
 			case 0:
 				return &v.state
@@ -3509,7 +3503,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[16].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPathResponse); i {
 			case 0:
 				return &v.state
@@ -3521,7 +3515,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[17].Exporter = func(v any, i int) any {
 			switch v := v.(*GetIntendedPathRequest); i {
 			case 0:
 				return &v.state
@@ -3533,7 +3527,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[18].Exporter = func(v any, i int) any {
 			switch v := v.(*GetIntendedPathResponse); i {
 			case 0:
 				return &v.state
@@ -3545,7 +3539,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[19].Exporter = func(v any, i int) any {
 			switch v := v.(*SetResponse); i {
 			case 0:
 				return &v.state
@@ -3557,7 +3551,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[20].Exporter = func(v any, i int) any {
 			switch v := v.(*SetPathListRequest); i {
 			case 0:
 				return &v.state
@@ -3569,7 +3563,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[21].Exporter = func(v any, i int) any {
 			switch v := v.(*SetPathListResponse); i {
 			case 0:
 				return &v.state
@@ -3581,7 +3575,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[22].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteRequest); i {
 			case 0:
 				return &v.state
@@ -3593,7 +3587,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[23].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteResponse); i {
 			case 0:
 				return &v.state
@@ -3605,7 +3599,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[24].Exporter = func(v any, i int) any {
 			switch v := v.(*Change); i {
 			case 0:
 				return &v.state
@@ -3617,7 +3611,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[25].Exporter = func(v any, i int) any {
 			switch v := v.(*ChangeRequest); i {
 			case 0:
 				return &v.state
@@ -3629,7 +3623,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[26].Exporter = func(v any, i int) any {
 			switch v := v.(*SetChange); i {
 			case 0:
 				return &v.state
@@ -3641,7 +3635,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[27].Exporter = func(v any, i int) any {
 			switch v := v.(*GetChangeListRequest); i {
 			case 0:
 				return &v.state
@@ -3653,7 +3647,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[28].Exporter = func(v any, i int) any {
 			switch v := v.(*GetChangeListResponse); i {
 			case 0:
 				return &v.state
@@ -3665,7 +3659,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[29].Exporter = func(v any, i int) any {
 			switch v := v.(*GetChangeRequest); i {
 			case 0:
 				return &v.state
@@ -3677,7 +3671,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[30].Exporter = func(v any, i int) any {
 			switch v := v.(*GetChangeResponse); i {
 			case 0:
 				return &v.state
@@ -3689,7 +3683,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[31].Exporter = func(v any, i int) any {
 			switch v := v.(*SetChangeListRequest); i {
 			case 0:
 				return &v.state
@@ -3701,7 +3695,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[32].Exporter = func(v any, i int) any {
 			switch v := v.(*SetChangeListResponse); i {
 			case 0:
 				return &v.state
@@ -3713,7 +3707,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[33].Exporter = func(v any, i int) any {
 			switch v := v.(*SubscriptionList); i {
 			case 0:
 				return &v.state
@@ -3725,7 +3719,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[34].Exporter = func(v any, i int) any {
 			switch v := v.(*Subscription); i {
 			case 0:
 				return &v.state
@@ -3737,7 +3731,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[35].Exporter = func(v any, i int) any {
 			switch v := v.(*SubscribePathRequest); i {
 			case 0:
 				return &v.state
@@ -3749,7 +3743,7 @@ func file_gosdn_networkelement_networkelement_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_networkelement_networkelement_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_networkelement_networkelement_proto_msgTypes[36].Exporter = func(v any, i int) any {
 			switch v := v.(*SubscribePathResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/networkelement/networkelement.pb.gw.go b/api/go/gosdn/networkelement/networkelement.pb.gw.go
index f7fd58adf407d46847ce4b1b9b7478099a139ff8..7319c0304b8b621d68f4f46f6285de4092c9ec6f 100644
--- a/api/go/gosdn/networkelement/networkelement.pb.gw.go
+++ b/api/go/gosdn/networkelement/networkelement.pb.gw.go
@@ -58,30 +58,13 @@ func local_request_NetworkElementService_Update_0(ctx context.Context, marshaler
 }
 
 var (
-	filter_NetworkElementService_GetAllFlattened_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}}
+	filter_NetworkElementService_GetAllFlattened_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
 )
 
 func request_NetworkElementService_GetAllFlattened_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 	var protoReq GetAllFlattenedRequest
 	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)
 	}
@@ -98,23 +81,6 @@ func local_request_NetworkElementService_GetAllFlattened_0(ctx context.Context,
 	var protoReq GetAllFlattenedRequest
 	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)
 	}
@@ -128,7 +94,7 @@ func local_request_NetworkElementService_GetAllFlattened_0(ctx context.Context,
 }
 
 var (
-	filter_NetworkElementService_Get_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}}
+	filter_NetworkElementService_Get_0 = &utilities.DoubleArray{Encoding: map[string]int{"mneid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}}
 )
 
 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) {
@@ -142,16 +108,6 @@ func request_NetworkElementService_Get_0(ctx context.Context, marshaler runtime.
 		_   = 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")
@@ -185,16 +141,6 @@ func local_request_NetworkElementService_Get_0(ctx context.Context, marshaler ru
 		_   = 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")
@@ -225,23 +171,6 @@ func request_NetworkElementService_AddList_0(ctx context.Context, marshaler runt
 		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.AddList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
 	return msg, metadata, err
 
@@ -255,30 +184,13 @@ func local_request_NetworkElementService_AddList_0(ctx context.Context, marshale
 		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.AddList(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}}
+	filter_NetworkElementService_GetPath_0 = &utilities.DoubleArray{Encoding: map[string]int{"mneid": 0, "path": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}}
 )
 
 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) {
@@ -292,16 +204,6 @@ func request_NetworkElementService_GetPath_0(ctx context.Context, marshaler runt
 		_   = 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")
@@ -345,16 +247,6 @@ func local_request_NetworkElementService_GetPath_0(ctx context.Context, marshale
 		_   = 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")
@@ -388,7 +280,7 @@ func local_request_NetworkElementService_GetPath_0(ctx context.Context, marshale
 }
 
 var (
-	filter_NetworkElementService_GetIntendedPath_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0, "mneid": 1, "intended_path": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}}
+	filter_NetworkElementService_GetIntendedPath_0 = &utilities.DoubleArray{Encoding: map[string]int{"mneid": 0, "intended_path": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}}
 )
 
 func request_NetworkElementService_GetIntendedPath_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
@@ -402,16 +294,6 @@ func request_NetworkElementService_GetIntendedPath_0(ctx context.Context, marsha
 		_   = 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")
@@ -455,16 +337,6 @@ func local_request_NetworkElementService_GetIntendedPath_0(ctx context.Context,
 		_   = 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")
@@ -505,23 +377,6 @@ func request_NetworkElementService_SetPathList_0(ctx context.Context, marshaler
 		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
 
@@ -535,30 +390,13 @@ func local_request_NetworkElementService_SetPathList_0(ctx context.Context, mars
 		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_NetworkElementService_Delete_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}}
+	filter_NetworkElementService_Delete_0 = &utilities.DoubleArray{Encoding: map[string]int{"mneid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}}
 )
 
 func request_NetworkElementService_Delete_0(ctx context.Context, marshaler runtime.Marshaler, client NetworkElementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
@@ -572,16 +410,6 @@ func request_NetworkElementService_Delete_0(ctx context.Context, marshaler runti
 		_   = 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")
@@ -615,16 +443,6 @@ func local_request_NetworkElementService_Delete_0(ctx context.Context, marshaler
 		_   = 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")
@@ -648,30 +466,13 @@ func local_request_NetworkElementService_Delete_0(ctx context.Context, marshaler
 }
 
 var (
-	filter_NetworkElementService_GetChangeList_0 = &utilities.DoubleArray{Encoding: map[string]int{"pid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}}
+	filter_NetworkElementService_GetChangeList_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
 )
 
 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)
 	}
@@ -688,23 +489,6 @@ func local_request_NetworkElementService_GetChangeList_0(ctx context.Context, ma
 	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)
 	}
@@ -718,7 +502,7 @@ func local_request_NetworkElementService_GetChangeList_0(ctx context.Context, ma
 }
 
 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}}
+	filter_NetworkElementService_GetChange_0 = &utilities.DoubleArray{Encoding: map[string]int{"cuid": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}}
 )
 
 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) {
@@ -732,16 +516,6 @@ func request_NetworkElementService_GetChange_0(ctx context.Context, marshaler ru
 		_   = 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")
@@ -775,16 +549,6 @@ func local_request_NetworkElementService_GetChange_0(ctx context.Context, marsha
 		_   = 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")
@@ -815,23 +579,6 @@ func request_NetworkElementService_SetChangeList_0(ctx context.Context, marshale
 		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
 
@@ -845,23 +592,6 @@ func local_request_NetworkElementService_SetChangeList_0(ctx context.Context, ma
 		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
 
@@ -906,7 +636,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetAllFlattened", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetAllFlattened", runtime.WithHTTPPathPattern("/mnes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -931,7 +661,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Get", runtime.WithHTTPPathPattern("/pnds/{pid}/mne/{mneid}"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Get", runtime.WithHTTPPathPattern("/mnes/{mneid}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -956,7 +686,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/AddList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/AddList", runtime.WithHTTPPathPattern("/mnes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -981,7 +711,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/paths/{path}"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetPath", runtime.WithHTTPPathPattern("/mnes/{mneid}/paths/{path}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1006,7 +736,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetIntendedPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/intendedpaths/{intended_path}"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetIntendedPath", runtime.WithHTTPPathPattern("/mnes/{mneid}/intendedpaths/{intended_path}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1031,7 +761,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetPathList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/paths"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetPathList", runtime.WithHTTPPathPattern("/mnes/paths"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1056,7 +786,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Delete", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Delete", runtime.WithHTTPPathPattern("/mnes/{mneid}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1081,7 +811,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChangeList", runtime.WithHTTPPathPattern("/mnes/changes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1106,7 +836,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChange", runtime.WithHTTPPathPattern("/pnds/{pid}/changes/{cuid}"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChange", runtime.WithHTTPPathPattern("/mnes/changes/{cuid}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1131,7 +861,7 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes"))
+		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetChangeList", runtime.WithHTTPPathPattern("/mnes/changes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1154,21 +884,21 @@ func RegisterNetworkElementServiceHandlerServer(ctx context.Context, mux *runtim
 // RegisterNetworkElementServiceHandlerFromEndpoint is same as RegisterNetworkElementServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterNetworkElementServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
@@ -1217,7 +947,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetAllFlattened", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetAllFlattened", runtime.WithHTTPPathPattern("/mnes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1239,7 +969,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Get", runtime.WithHTTPPathPattern("/pnds/{pid}/mne/{mneid}"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Get", runtime.WithHTTPPathPattern("/mnes/{mneid}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1261,7 +991,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/AddList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/AddList", runtime.WithHTTPPathPattern("/mnes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1283,7 +1013,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/paths/{path}"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetPath", runtime.WithHTTPPathPattern("/mnes/{mneid}/paths/{path}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1305,7 +1035,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetIntendedPath", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}/intendedpaths/{intended_path}"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetIntendedPath", runtime.WithHTTPPathPattern("/mnes/{mneid}/intendedpaths/{intended_path}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1327,7 +1057,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetPathList", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/paths"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetPathList", runtime.WithHTTPPathPattern("/mnes/paths"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1349,7 +1079,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Delete", runtime.WithHTTPPathPattern("/pnds/{pid}/mnes/{mneid}"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/Delete", runtime.WithHTTPPathPattern("/mnes/{mneid}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1371,7 +1101,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChangeList", runtime.WithHTTPPathPattern("/mnes/changes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1393,7 +1123,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChange", runtime.WithHTTPPathPattern("/pnds/{pid}/changes/{cuid}"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/GetChange", runtime.WithHTTPPathPattern("/mnes/changes/{cuid}"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1415,7 +1145,7 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
 		var err error
 		var annotatedContext context.Context
-		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetChangeList", runtime.WithHTTPPathPattern("/pnds/{pid}/changes"))
+		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/gosdn.networkelement.NetworkElementService/SetChangeList", runtime.WithHTTPPathPattern("/mnes/changes"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
@@ -1437,25 +1167,25 @@ func RegisterNetworkElementServiceHandlerClient(ctx context.Context, mux *runtim
 var (
 	pattern_NetworkElementService_Update_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"network-element", "update"}, ""))
 
-	pattern_NetworkElementService_GetAllFlattened_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "mnes"}, ""))
+	pattern_NetworkElementService_GetAllFlattened_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"mnes"}, ""))
 
-	pattern_NetworkElementService_Get_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_Get_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"mnes", "mneid"}, ""))
 
-	pattern_NetworkElementService_AddList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"pnds", "pid", "mnes"}, ""))
+	pattern_NetworkElementService_AddList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"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_GetPath_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"mnes", "mneid", "paths", "path"}, ""))
 
-	pattern_NetworkElementService_GetIntendedPath_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", "intendedpaths", "intended_path"}, ""))
+	pattern_NetworkElementService_GetIntendedPath_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"mnes", "mneid", "intendedpaths", "intended_path"}, ""))
 
-	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_SetPathList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"mnes", "paths"}, ""))
 
-	pattern_NetworkElementService_Delete_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_Delete_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"mnes", "mneid"}, ""))
 
-	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_GetChangeList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"mnes", "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_GetChange_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"mnes", "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"}, ""))
+	pattern_NetworkElementService_SetChangeList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"mnes", "changes"}, ""))
 )
 
 var (
diff --git a/api/go/gosdn/networkelement/networkelement_grpc.pb.go b/api/go/gosdn/networkelement/networkelement_grpc.pb.go
index ea2269e69b206dd4e141bfe9863c0567b9d55d6e..738c643bb73352e654de3afaad8a1efe8739de6f 100644
--- a/api/go/gosdn/networkelement/networkelement_grpc.pb.go
+++ b/api/go/gosdn/networkelement/networkelement_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/networkelement/networkelement.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	NetworkElementService_Update_FullMethodName          = "/gosdn.networkelement.NetworkElementService/Update"
@@ -101,8 +101,9 @@ func NewNetworkElementServiceClient(cc grpc.ClientConnInterface) NetworkElementS
 }
 
 func (c *networkElementServiceClient) Update(ctx context.Context, in *UpdateNetworkElementRequest, opts ...grpc.CallOption) (*UpdateNetworkElementResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(UpdateNetworkElementResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_Update_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_Update_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -110,8 +111,9 @@ func (c *networkElementServiceClient) Update(ctx context.Context, in *UpdateNetw
 }
 
 func (c *networkElementServiceClient) GetAll(ctx context.Context, in *GetAllRequest, opts ...grpc.CallOption) (*GetAllResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetAllResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_GetAll_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_GetAll_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -119,8 +121,9 @@ func (c *networkElementServiceClient) GetAll(ctx context.Context, in *GetAllRequ
 }
 
 func (c *networkElementServiceClient) GetAllFlattened(ctx context.Context, in *GetAllFlattenedRequest, opts ...grpc.CallOption) (*GetAllFlattenedResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetAllFlattenedResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_GetAllFlattened_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_GetAllFlattened_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -128,8 +131,9 @@ func (c *networkElementServiceClient) GetAllFlattened(ctx context.Context, in *G
 }
 
 func (c *networkElementServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_Get_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_Get_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -137,8 +141,9 @@ func (c *networkElementServiceClient) Get(ctx context.Context, in *GetRequest, o
 }
 
 func (c *networkElementServiceClient) GetFlattened(ctx context.Context, in *GetFlattenedRequest, opts ...grpc.CallOption) (*GetFlattenedResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetFlattenedResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_GetFlattened_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_GetFlattened_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -146,8 +151,9 @@ func (c *networkElementServiceClient) GetFlattened(ctx context.Context, in *GetF
 }
 
 func (c *networkElementServiceClient) AddList(ctx context.Context, in *AddListRequest, opts ...grpc.CallOption) (*AddListResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(AddListResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_AddList_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_AddList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -155,8 +161,9 @@ func (c *networkElementServiceClient) AddList(ctx context.Context, in *AddListRe
 }
 
 func (c *networkElementServiceClient) GetPath(ctx context.Context, in *GetPathRequest, opts ...grpc.CallOption) (*GetPathResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetPathResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_GetPath_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_GetPath_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -164,8 +171,9 @@ func (c *networkElementServiceClient) GetPath(ctx context.Context, in *GetPathRe
 }
 
 func (c *networkElementServiceClient) GetIntendedPath(ctx context.Context, in *GetIntendedPathRequest, opts ...grpc.CallOption) (*GetIntendedPathResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetIntendedPathResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_GetIntendedPath_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_GetIntendedPath_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -173,8 +181,9 @@ func (c *networkElementServiceClient) GetIntendedPath(ctx context.Context, in *G
 }
 
 func (c *networkElementServiceClient) SetPathList(ctx context.Context, in *SetPathListRequest, opts ...grpc.CallOption) (*SetPathListResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(SetPathListResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_SetPathList_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_SetPathList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -182,8 +191,9 @@ func (c *networkElementServiceClient) SetPathList(ctx context.Context, in *SetPa
 }
 
 func (c *networkElementServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_Delete_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_Delete_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -191,8 +201,9 @@ func (c *networkElementServiceClient) Delete(ctx context.Context, in *DeleteRequ
 }
 
 func (c *networkElementServiceClient) GetChangeList(ctx context.Context, in *GetChangeListRequest, opts ...grpc.CallOption) (*GetChangeListResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetChangeListResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_GetChangeList_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_GetChangeList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -200,8 +211,9 @@ func (c *networkElementServiceClient) GetChangeList(ctx context.Context, in *Get
 }
 
 func (c *networkElementServiceClient) GetChange(ctx context.Context, in *GetChangeRequest, opts ...grpc.CallOption) (*GetChangeResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetChangeResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_GetChange_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_GetChange_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -209,8 +221,9 @@ func (c *networkElementServiceClient) GetChange(ctx context.Context, in *GetChan
 }
 
 func (c *networkElementServiceClient) SetChangeList(ctx context.Context, in *SetChangeListRequest, opts ...grpc.CallOption) (*SetChangeListResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(SetChangeListResponse)
-	err := c.cc.Invoke(ctx, NetworkElementService_SetChangeList_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, NetworkElementService_SetChangeList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -218,11 +231,12 @@ func (c *networkElementServiceClient) SetChangeList(ctx context.Context, in *Set
 }
 
 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], NetworkElementService_SubscribePath_FullMethodName, opts...)
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	stream, err := c.cc.NewStream(ctx, &NetworkElementService_ServiceDesc.Streams[0], NetworkElementService_SubscribePath_FullMethodName, cOpts...)
 	if err != nil {
 		return nil, err
 	}
-	x := &networkElementServiceSubscribePathClient{stream}
+	x := &networkElementServiceSubscribePathClient{ClientStream: stream}
 	if err := x.ClientStream.SendMsg(in); err != nil {
 		return nil, err
 	}
@@ -605,7 +619,7 @@ func _NetworkElementService_SubscribePath_Handler(srv interface{}, stream grpc.S
 	if err := stream.RecvMsg(m); err != nil {
 		return err
 	}
-	return srv.(NetworkElementServiceServer).SubscribePath(m, &networkElementServiceSubscribePathServer{stream})
+	return srv.(NetworkElementServiceServer).SubscribePath(m, &networkElementServiceSubscribePathServer{ServerStream: stream})
 }
 
 type NetworkElementService_SubscribePathServer interface {
diff --git a/api/go/gosdn/plugin-internal/plugin-internal.pb.go b/api/go/gosdn/plugin-internal/plugin-internal.pb.go
index 2121ed858699c58f2708ee2f787b4aad0db6e0b5..119fb45b0b5eb6e439bcffbd6a6d8d4c305855ab 100644
--- a/api/go/gosdn/plugin-internal/plugin-internal.pb.go
+++ b/api/go/gosdn/plugin-internal/plugin-internal.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/plugin-internal/plugin-internal.proto
 
@@ -292,7 +292,7 @@ func file_gosdn_plugin_internal_plugin_internal_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_plugin_internal_plugin_internal_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
-var file_gosdn_plugin_internal_plugin_internal_proto_goTypes = []interface{}{
+var file_gosdn_plugin_internal_plugin_internal_proto_goTypes = []any{
 	(*GetAvailablePluginsRequest)(nil),  // 0: gosdn.plugin_internal.GetAvailablePluginsRequest
 	(*GetAvailablePluginsResponse)(nil), // 1: gosdn.plugin_internal.GetAvailablePluginsResponse
 	(*GetPluginSchemaRequest)(nil),      // 2: gosdn.plugin_internal.GetPluginSchemaRequest
@@ -319,7 +319,7 @@ func file_gosdn_plugin_internal_plugin_internal_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*GetAvailablePluginsRequest); i {
 			case 0:
 				return &v.state
@@ -331,7 +331,7 @@ func file_gosdn_plugin_internal_plugin_internal_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*GetAvailablePluginsResponse); i {
 			case 0:
 				return &v.state
@@ -343,7 +343,7 @@ func file_gosdn_plugin_internal_plugin_internal_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPluginSchemaRequest); i {
 			case 0:
 				return &v.state
@@ -355,7 +355,7 @@ func file_gosdn_plugin_internal_plugin_internal_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_internal_plugin_internal_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*PluginSchemaPayload); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/plugin-internal/plugin-internal_grpc.pb.go b/api/go/gosdn/plugin-internal/plugin-internal_grpc.pb.go
index cbc8ba8caea94ac757626f8e57cee9729bc18fcc..6cae73c9ebb3bbb484fb21a098b49a0968dbfe5e 100644
--- a/api/go/gosdn/plugin-internal/plugin-internal_grpc.pb.go
+++ b/api/go/gosdn/plugin-internal/plugin-internal_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/plugin-internal/plugin-internal.proto
 
@@ -16,8 +16,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	PluginInternalService_AvailablePlugins_FullMethodName = "/gosdn.plugin_internal.PluginInternalService/AvailablePlugins"
@@ -41,8 +41,9 @@ func NewPluginInternalServiceClient(cc grpc.ClientConnInterface) PluginInternalS
 }
 
 func (c *pluginInternalServiceClient) AvailablePlugins(ctx context.Context, in *GetAvailablePluginsRequest, opts ...grpc.CallOption) (*plugin_registry.GetResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(plugin_registry.GetResponse)
-	err := c.cc.Invoke(ctx, PluginInternalService_AvailablePlugins_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PluginInternalService_AvailablePlugins_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -50,11 +51,12 @@ func (c *pluginInternalServiceClient) AvailablePlugins(ctx context.Context, in *
 }
 
 func (c *pluginInternalServiceClient) GetPluginSchema(ctx context.Context, in *GetPluginSchemaRequest, opts ...grpc.CallOption) (PluginInternalService_GetPluginSchemaClient, error) {
-	stream, err := c.cc.NewStream(ctx, &PluginInternalService_ServiceDesc.Streams[0], PluginInternalService_GetPluginSchema_FullMethodName, opts...)
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	stream, err := c.cc.NewStream(ctx, &PluginInternalService_ServiceDesc.Streams[0], PluginInternalService_GetPluginSchema_FullMethodName, cOpts...)
 	if err != nil {
 		return nil, err
 	}
-	x := &pluginInternalServiceGetPluginSchemaClient{stream}
+	x := &pluginInternalServiceGetPluginSchemaClient{ClientStream: stream}
 	if err := x.ClientStream.SendMsg(in); err != nil {
 		return nil, err
 	}
@@ -136,7 +138,7 @@ func _PluginInternalService_GetPluginSchema_Handler(srv interface{}, stream grpc
 	if err := stream.RecvMsg(m); err != nil {
 		return err
 	}
-	return srv.(PluginInternalServiceServer).GetPluginSchema(m, &pluginInternalServiceGetPluginSchemaServer{stream})
+	return srv.(PluginInternalServiceServer).GetPluginSchema(m, &pluginInternalServiceGetPluginSchemaServer{ServerStream: stream})
 }
 
 type PluginInternalService_GetPluginSchemaServer interface {
diff --git a/api/go/gosdn/plugin-registry/plugin-registry.pb.go b/api/go/gosdn/plugin-registry/plugin-registry.pb.go
index 74f0bb375e965bd01c798e0c180a9ce58a1579a6..44f88183fb68b16c967a9587cea93dec10cbc3b9 100644
--- a/api/go/gosdn/plugin-registry/plugin-registry.pb.go
+++ b/api/go/gosdn/plugin-registry/plugin-registry.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/plugin-registry/plugin-registry.proto
 
@@ -692,7 +692,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_plugin_registry_plugin_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
-var file_gosdn_plugin_registry_plugin_registry_proto_goTypes = []interface{}{
+var file_gosdn_plugin_registry_plugin_registry_proto_goTypes = []any{
 	(*GetRequest)(nil),         // 0: gosdn.plugin_registry.GetRequest
 	(*GetAllRequest)(nil),      // 1: gosdn.plugin_registry.GetAllRequest
 	(*Query)(nil),              // 2: gosdn.plugin_registry.Query
@@ -729,7 +729,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRequest); i {
 			case 0:
 				return &v.state
@@ -741,7 +741,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*GetAllRequest); i {
 			case 0:
 				return &v.state
@@ -753,7 +753,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*Query); i {
 			case 0:
 				return &v.state
@@ -765,7 +765,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*GetResponse); i {
 			case 0:
 				return &v.state
@@ -777,7 +777,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetDownloadRequest); i {
 			case 0:
 				return &v.state
@@ -789,7 +789,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*GetDownloadPayload); i {
 			case 0:
 				return &v.state
@@ -801,7 +801,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteRequest); i {
 			case 0:
 				return &v.state
@@ -813,7 +813,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteResponse); i {
 			case 0:
 				return &v.state
@@ -825,7 +825,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*Plugin); i {
 			case 0:
 				return &v.state
@@ -837,7 +837,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*Manifest); i {
 			case 0:
 				return &v.state
@@ -850,7 +850,7 @@ func file_gosdn_plugin_registry_plugin_registry_proto_init() {
 			}
 		}
 	}
-	file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[2].OneofWrappers = []interface{}{
+	file_gosdn_plugin_registry_plugin_registry_proto_msgTypes[2].OneofWrappers = []any{
 		(*Query_Id)(nil),
 		(*Query_Name)(nil),
 	}
diff --git a/api/go/gosdn/plugin-registry/plugin-registry_grpc.pb.go b/api/go/gosdn/plugin-registry/plugin-registry_grpc.pb.go
index f983adec04738a97031c4a13ad8d6b6a64e0971d..c59e5ec6dcb5e11db2ff4b0f6d8340598a00e89e 100644
--- a/api/go/gosdn/plugin-registry/plugin-registry_grpc.pb.go
+++ b/api/go/gosdn/plugin-registry/plugin-registry_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/plugin-registry/plugin-registry.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	PluginRegistryService_Get_FullMethodName      = "/gosdn.plugin_registry.PluginRegistryService/Get"
@@ -44,8 +44,9 @@ func NewPluginRegistryServiceClient(cc grpc.ClientConnInterface) PluginRegistryS
 }
 
 func (c *pluginRegistryServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetResponse)
-	err := c.cc.Invoke(ctx, PluginRegistryService_Get_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PluginRegistryService_Get_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -53,8 +54,9 @@ func (c *pluginRegistryServiceClient) Get(ctx context.Context, in *GetRequest, o
 }
 
 func (c *pluginRegistryServiceClient) GetAll(ctx context.Context, in *GetAllRequest, opts ...grpc.CallOption) (*GetResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetResponse)
-	err := c.cc.Invoke(ctx, PluginRegistryService_GetAll_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PluginRegistryService_GetAll_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -62,11 +64,12 @@ func (c *pluginRegistryServiceClient) GetAll(ctx context.Context, in *GetAllRequ
 }
 
 func (c *pluginRegistryServiceClient) Download(ctx context.Context, in *GetDownloadRequest, opts ...grpc.CallOption) (PluginRegistryService_DownloadClient, error) {
-	stream, err := c.cc.NewStream(ctx, &PluginRegistryService_ServiceDesc.Streams[0], PluginRegistryService_Download_FullMethodName, opts...)
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	stream, err := c.cc.NewStream(ctx, &PluginRegistryService_ServiceDesc.Streams[0], PluginRegistryService_Download_FullMethodName, cOpts...)
 	if err != nil {
 		return nil, err
 	}
-	x := &pluginRegistryServiceDownloadClient{stream}
+	x := &pluginRegistryServiceDownloadClient{ClientStream: stream}
 	if err := x.ClientStream.SendMsg(in); err != nil {
 		return nil, err
 	}
@@ -94,8 +97,9 @@ func (x *pluginRegistryServiceDownloadClient) Recv() (*GetDownloadPayload, error
 }
 
 func (c *pluginRegistryServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteResponse)
-	err := c.cc.Invoke(ctx, PluginRegistryService_Delete_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PluginRegistryService_Delete_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -183,7 +187,7 @@ func _PluginRegistryService_Download_Handler(srv interface{}, stream grpc.Server
 	if err := stream.RecvMsg(m); err != nil {
 		return err
 	}
-	return srv.(PluginRegistryServiceServer).Download(m, &pluginRegistryServiceDownloadServer{stream})
+	return srv.(PluginRegistryServiceServer).Download(m, &pluginRegistryServiceDownloadServer{ServerStream: stream})
 }
 
 type PluginRegistryService_DownloadServer interface {
diff --git a/api/go/gosdn/plugin/plugin.pb.go b/api/go/gosdn/plugin/plugin.pb.go
index ba4ee0b2bc9fbc75a70262079532ee54d0e07639..3f64025313b082cc2f96ed3d08ea1ed567e0ff9a 100644
--- a/api/go/gosdn/plugin/plugin.pb.go
+++ b/api/go/gosdn/plugin/plugin.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/plugin/plugin.proto
 
@@ -1072,7 +1072,7 @@ func file_gosdn_plugin_plugin_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_plugin_plugin_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
-var file_gosdn_plugin_plugin_proto_goTypes = []interface{}{
+var file_gosdn_plugin_plugin_proto_goTypes = []any{
 	(*UnmarshalRequest)(nil),         // 0: gosdn.plugin.UnmarshalRequest
 	(*UnmarshalResponse)(nil),        // 1: gosdn.plugin.UnmarshalResponse
 	(*SetNodeRequest)(nil),           // 2: gosdn.plugin.SetNodeRequest
@@ -1139,7 +1139,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_plugin_plugin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*UnmarshalRequest); i {
 			case 0:
 				return &v.state
@@ -1151,7 +1151,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*UnmarshalResponse); i {
 			case 0:
 				return &v.state
@@ -1163,7 +1163,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*SetNodeRequest); i {
 			case 0:
 				return &v.state
@@ -1175,7 +1175,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*SetNodeResponse); i {
 			case 0:
 				return &v.state
@@ -1187,7 +1187,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetNodeRequest); i {
 			case 0:
 				return &v.state
@@ -1199,7 +1199,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*GetNodeResponse); i {
 			case 0:
 				return &v.state
@@ -1211,7 +1211,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteNodeRequest); i {
 			case 0:
 				return &v.state
@@ -1223,7 +1223,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteNodeResponse); i {
 			case 0:
 				return &v.state
@@ -1235,7 +1235,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*ModelRequest); i {
 			case 0:
 				return &v.state
@@ -1247,7 +1247,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*ModelResponse); i {
 			case 0:
 				return &v.state
@@ -1259,7 +1259,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[10].Exporter = func(v any, i int) any {
 			switch v := v.(*DiffRequest); i {
 			case 0:
 				return &v.state
@@ -1271,7 +1271,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[11].Exporter = func(v any, i int) any {
 			switch v := v.(*DiffResponse); i {
 			case 0:
 				return &v.state
@@ -1283,7 +1283,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[12].Exporter = func(v any, i int) any {
 			switch v := v.(*ValidateChangeRequest); i {
 			case 0:
 				return &v.state
@@ -1295,7 +1295,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[13].Exporter = func(v any, i int) any {
 			switch v := v.(*ValidateChangeResponse); i {
 			case 0:
 				return &v.state
@@ -1307,7 +1307,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[14].Exporter = func(v any, i int) any {
 			switch v := v.(*PruneConfigFalseRequest); i {
 			case 0:
 				return &v.state
@@ -1319,7 +1319,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[15].Exporter = func(v any, i int) any {
 			switch v := v.(*PruneConfigFalseResponse); i {
 			case 0:
 				return &v.state
@@ -1331,7 +1331,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[16].Exporter = func(v any, i int) any {
 			switch v := v.(*SchemaTreeGzipRequest); i {
 			case 0:
 				return &v.state
@@ -1343,7 +1343,7 @@ func file_gosdn_plugin_plugin_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_plugin_plugin_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_plugin_plugin_proto_msgTypes[17].Exporter = func(v any, i int) any {
 			switch v := v.(*Payload); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/plugin/plugin_grpc.pb.go b/api/go/gosdn/plugin/plugin_grpc.pb.go
index a7b2d55c68dfe61a357b70e4aa7f31ddfbb0dc58..b78a5d726be88969e1e61ddfe4353f55d561b305 100644
--- a/api/go/gosdn/plugin/plugin_grpc.pb.go
+++ b/api/go/gosdn/plugin/plugin_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/plugin/plugin.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	Plugin_Unmarshal_FullMethodName        = "/gosdn.plugin.Plugin/Unmarshal"
@@ -54,8 +54,9 @@ func NewPluginClient(cc grpc.ClientConnInterface) PluginClient {
 }
 
 func (c *pluginClient) Unmarshal(ctx context.Context, in *UnmarshalRequest, opts ...grpc.CallOption) (*UnmarshalResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(UnmarshalResponse)
-	err := c.cc.Invoke(ctx, Plugin_Unmarshal_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_Unmarshal_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -63,8 +64,9 @@ func (c *pluginClient) Unmarshal(ctx context.Context, in *UnmarshalRequest, opts
 }
 
 func (c *pluginClient) SetNode(ctx context.Context, in *SetNodeRequest, opts ...grpc.CallOption) (*SetNodeResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(SetNodeResponse)
-	err := c.cc.Invoke(ctx, Plugin_SetNode_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_SetNode_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -72,8 +74,9 @@ func (c *pluginClient) SetNode(ctx context.Context, in *SetNodeRequest, opts ...
 }
 
 func (c *pluginClient) GetNode(ctx context.Context, in *GetNodeRequest, opts ...grpc.CallOption) (*GetNodeResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetNodeResponse)
-	err := c.cc.Invoke(ctx, Plugin_GetNode_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_GetNode_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -81,8 +84,9 @@ func (c *pluginClient) GetNode(ctx context.Context, in *GetNodeRequest, opts ...
 }
 
 func (c *pluginClient) DeleteNode(ctx context.Context, in *DeleteNodeRequest, opts ...grpc.CallOption) (*DeleteNodeResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteNodeResponse)
-	err := c.cc.Invoke(ctx, Plugin_DeleteNode_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_DeleteNode_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -90,8 +94,9 @@ func (c *pluginClient) DeleteNode(ctx context.Context, in *DeleteNodeRequest, op
 }
 
 func (c *pluginClient) Model(ctx context.Context, in *ModelRequest, opts ...grpc.CallOption) (*ModelResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(ModelResponse)
-	err := c.cc.Invoke(ctx, Plugin_Model_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_Model_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -99,8 +104,9 @@ func (c *pluginClient) Model(ctx context.Context, in *ModelRequest, opts ...grpc
 }
 
 func (c *pluginClient) Diff(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DiffResponse)
-	err := c.cc.Invoke(ctx, Plugin_Diff_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_Diff_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -108,11 +114,12 @@ func (c *pluginClient) Diff(ctx context.Context, in *DiffRequest, opts ...grpc.C
 }
 
 func (c *pluginClient) SchemaTreeGzip(ctx context.Context, in *SchemaTreeGzipRequest, opts ...grpc.CallOption) (Plugin_SchemaTreeGzipClient, error) {
-	stream, err := c.cc.NewStream(ctx, &Plugin_ServiceDesc.Streams[0], Plugin_SchemaTreeGzip_FullMethodName, opts...)
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	stream, err := c.cc.NewStream(ctx, &Plugin_ServiceDesc.Streams[0], Plugin_SchemaTreeGzip_FullMethodName, cOpts...)
 	if err != nil {
 		return nil, err
 	}
-	x := &pluginSchemaTreeGzipClient{stream}
+	x := &pluginSchemaTreeGzipClient{ClientStream: stream}
 	if err := x.ClientStream.SendMsg(in); err != nil {
 		return nil, err
 	}
@@ -140,8 +147,9 @@ func (x *pluginSchemaTreeGzipClient) Recv() (*Payload, error) {
 }
 
 func (c *pluginClient) ValidateChange(ctx context.Context, in *ValidateChangeRequest, opts ...grpc.CallOption) (*ValidateChangeResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(ValidateChangeResponse)
-	err := c.cc.Invoke(ctx, Plugin_ValidateChange_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_ValidateChange_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -149,8 +157,9 @@ func (c *pluginClient) ValidateChange(ctx context.Context, in *ValidateChangeReq
 }
 
 func (c *pluginClient) PruneConfigFalse(ctx context.Context, in *PruneConfigFalseRequest, opts ...grpc.CallOption) (*PruneConfigFalseResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(PruneConfigFalseResponse)
-	err := c.cc.Invoke(ctx, Plugin_PruneConfigFalse_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, Plugin_PruneConfigFalse_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -330,7 +339,7 @@ func _Plugin_SchemaTreeGzip_Handler(srv interface{}, stream grpc.ServerStream) e
 	if err := stream.RecvMsg(m); err != nil {
 		return err
 	}
-	return srv.(PluginServer).SchemaTreeGzip(m, &pluginSchemaTreeGzipServer{stream})
+	return srv.(PluginServer).SchemaTreeGzip(m, &pluginSchemaTreeGzipServer{ServerStream: stream})
 }
 
 type Plugin_SchemaTreeGzipServer interface {
diff --git a/api/go/gosdn/pnd/pnd.pb.go b/api/go/gosdn/pnd/pnd.pb.go
index 4a623c69e2d220789f006b52ac58929df5a5217c..8c73f13949f681698d923d80dd00c4f52b9351d0 100644
--- a/api/go/gosdn/pnd/pnd.pb.go
+++ b/api/go/gosdn/pnd/pnd.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/pnd/pnd.proto
 
@@ -688,7 +688,7 @@ func file_gosdn_pnd_pnd_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_pnd_pnd_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
-var file_gosdn_pnd_pnd_proto_goTypes = []interface{}{
+var file_gosdn_pnd_pnd_proto_goTypes = []any{
 	(*PrincipalNetworkDomain)(nil), // 0: gosdn.pnd.PrincipalNetworkDomain
 	(*GetPndRequest)(nil),          // 1: gosdn.pnd.GetPndRequest
 	(*GetPndResponse)(nil),         // 2: gosdn.pnd.GetPndResponse
@@ -725,7 +725,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_pnd_pnd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*PrincipalNetworkDomain); i {
 			case 0:
 				return &v.state
@@ -737,7 +737,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPndRequest); i {
 			case 0:
 				return &v.state
@@ -749,7 +749,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPndResponse); i {
 			case 0:
 				return &v.state
@@ -761,7 +761,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPndListRequest); i {
 			case 0:
 				return &v.state
@@ -773,7 +773,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetPndListResponse); i {
 			case 0:
 				return &v.state
@@ -785,7 +785,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*CreatePndListRequest); i {
 			case 0:
 				return &v.state
@@ -797,7 +797,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*PndCreateProperties); i {
 			case 0:
 				return &v.state
@@ -809,7 +809,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*CreatePndListResponse); i {
 			case 0:
 				return &v.state
@@ -821,7 +821,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*DeletePndRequest); i {
 			case 0:
 				return &v.state
@@ -833,7 +833,7 @@ func file_gosdn_pnd_pnd_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_pnd_pnd_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_pnd_pnd_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*DeletePndResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/pnd/pnd.pb.gw.go b/api/go/gosdn/pnd/pnd.pb.gw.go
index ffd300943b670b56f5f0b04d600d3cced6cc43d3..07a459d979ed475b8dfda90aca0fed1eafd62336 100644
--- a/api/go/gosdn/pnd/pnd.pb.gw.go
+++ b/api/go/gosdn/pnd/pnd.pb.gw.go
@@ -345,21 +345,21 @@ func RegisterPndServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux,
 // RegisterPndServiceHandlerFromEndpoint is same as RegisterPndServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterPndServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/pnd/pnd_grpc.pb.go b/api/go/gosdn/pnd/pnd_grpc.pb.go
index 9463cb1a746b078106de440edcbb41934a74c75c..9b1730125c6d596b0f92ef2c6a2f9499933fede3 100644
--- a/api/go/gosdn/pnd/pnd_grpc.pb.go
+++ b/api/go/gosdn/pnd/pnd_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/pnd/pnd.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	PndService_GetPnd_FullMethodName        = "/gosdn.pnd.PndService/GetPnd"
@@ -48,8 +48,9 @@ func NewPndServiceClient(cc grpc.ClientConnInterface) PndServiceClient {
 }
 
 func (c *pndServiceClient) GetPnd(ctx context.Context, in *GetPndRequest, opts ...grpc.CallOption) (*GetPndResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetPndResponse)
-	err := c.cc.Invoke(ctx, PndService_GetPnd_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PndService_GetPnd_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -57,8 +58,9 @@ func (c *pndServiceClient) GetPnd(ctx context.Context, in *GetPndRequest, opts .
 }
 
 func (c *pndServiceClient) GetPndList(ctx context.Context, in *GetPndListRequest, opts ...grpc.CallOption) (*GetPndListResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetPndListResponse)
-	err := c.cc.Invoke(ctx, PndService_GetPndList_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PndService_GetPndList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -66,8 +68,9 @@ func (c *pndServiceClient) GetPndList(ctx context.Context, in *GetPndListRequest
 }
 
 func (c *pndServiceClient) CreatePndList(ctx context.Context, in *CreatePndListRequest, opts ...grpc.CallOption) (*CreatePndListResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(CreatePndListResponse)
-	err := c.cc.Invoke(ctx, PndService_CreatePndList_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PndService_CreatePndList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -75,8 +78,9 @@ func (c *pndServiceClient) CreatePndList(ctx context.Context, in *CreatePndListR
 }
 
 func (c *pndServiceClient) DeletePnd(ctx context.Context, in *DeletePndRequest, opts ...grpc.CallOption) (*DeletePndResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeletePndResponse)
-	err := c.cc.Invoke(ctx, PndService_DeletePnd_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, PndService_DeletePnd_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/rbac/rbac.pb.go b/api/go/gosdn/rbac/rbac.pb.go
index e91dcd95d082550dea80f60a6be43380e97d070d..ec77ac558416f8214f4614d40d03539e77e48758 100644
--- a/api/go/gosdn/rbac/rbac.pb.go
+++ b/api/go/gosdn/rbac/rbac.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/rbac/rbac.proto
 
@@ -310,7 +310,7 @@ func file_gosdn_rbac_rbac_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_rbac_rbac_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
-var file_gosdn_rbac_rbac_proto_goTypes = []interface{}{
+var file_gosdn_rbac_rbac_proto_goTypes = []any{
 	(*LoginRequest)(nil),   // 0: gosdn.rbac.LoginRequest
 	(*LoginResponse)(nil),  // 1: gosdn.rbac.LoginResponse
 	(*LogoutRequest)(nil),  // 2: gosdn.rbac.LogoutRequest
@@ -334,7 +334,7 @@ func file_gosdn_rbac_rbac_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_rbac_rbac_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_rbac_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*LoginRequest); i {
 			case 0:
 				return &v.state
@@ -346,7 +346,7 @@ func file_gosdn_rbac_rbac_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_rbac_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_rbac_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*LoginResponse); i {
 			case 0:
 				return &v.state
@@ -358,7 +358,7 @@ func file_gosdn_rbac_rbac_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_rbac_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_rbac_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*LogoutRequest); i {
 			case 0:
 				return &v.state
@@ -370,7 +370,7 @@ func file_gosdn_rbac_rbac_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_rbac_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_rbac_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*LogoutResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/rbac/rbac.pb.gw.go b/api/go/gosdn/rbac/rbac.pb.gw.go
index 4ccb7da95002ae1f12c1dd2f68bd4f085cdf47cb..459dde99a657d828045237d9736ef4ed28303195 100644
--- a/api/go/gosdn/rbac/rbac.pb.gw.go
+++ b/api/go/gosdn/rbac/rbac.pb.gw.go
@@ -189,21 +189,21 @@ func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
 // RegisterAuthServiceHandlerFromEndpoint is same as RegisterAuthServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterAuthServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/rbac/rbac_grpc.pb.go b/api/go/gosdn/rbac/rbac_grpc.pb.go
index 33268ca2c7548aeeb1f757e18c528061140a7672..81a27d4fc8a7e8265518b387a3e05580b1d3a252 100644
--- a/api/go/gosdn/rbac/rbac_grpc.pb.go
+++ b/api/go/gosdn/rbac/rbac_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/rbac/rbac.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	AuthService_Login_FullMethodName  = "/gosdn.rbac.AuthService/Login"
@@ -42,8 +42,9 @@ func NewAuthServiceClient(cc grpc.ClientConnInterface) AuthServiceClient {
 }
 
 func (c *authServiceClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(LoginResponse)
-	err := c.cc.Invoke(ctx, AuthService_Login_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, AuthService_Login_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -51,8 +52,9 @@ func (c *authServiceClient) Login(ctx context.Context, in *LoginRequest, opts ..
 }
 
 func (c *authServiceClient) Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*LogoutResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(LogoutResponse)
-	err := c.cc.Invoke(ctx, AuthService_Logout_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, AuthService_Logout_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/rbac/role.pb.go b/api/go/gosdn/rbac/role.pb.go
index e2f89ca19016068f8f62abf3a89644907c7201ce..8d138011ae0eeb221fa2a831bb48ae95a0f9d2ab 100644
--- a/api/go/gosdn/rbac/role.pb.go
+++ b/api/go/gosdn/rbac/role.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/rbac/role.proto
 
@@ -883,7 +883,7 @@ func file_gosdn_rbac_role_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_rbac_role_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
-var file_gosdn_rbac_role_proto_goTypes = []interface{}{
+var file_gosdn_rbac_role_proto_goTypes = []any{
 	(*Role)(nil),                             // 0: gosdn.rbac.Role
 	(*CreateRolesRequest)(nil),               // 1: gosdn.rbac.CreateRolesRequest
 	(*CreateRolesResponse)(nil),              // 2: gosdn.rbac.CreateRolesResponse
@@ -929,7 +929,7 @@ func file_gosdn_rbac_role_proto_init() {
 	}
 	file_gosdn_rbac_rbac_proto_init()
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_rbac_role_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Role); i {
 			case 0:
 				return &v.state
@@ -941,7 +941,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*CreateRolesRequest); i {
 			case 0:
 				return &v.state
@@ -953,7 +953,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*CreateRolesResponse); i {
 			case 0:
 				return &v.state
@@ -965,7 +965,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRoleRequest); i {
 			case 0:
 				return &v.state
@@ -977,7 +977,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRoleResponse); i {
 			case 0:
 				return &v.state
@@ -989,7 +989,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRolesRequest); i {
 			case 0:
 				return &v.state
@@ -1001,7 +1001,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRolesResponse); i {
 			case 0:
 				return &v.state
@@ -1013,7 +1013,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateRolesRequest); i {
 			case 0:
 				return &v.state
@@ -1025,7 +1025,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateRolesResponse); i {
 			case 0:
 				return &v.state
@@ -1037,7 +1037,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*DeletePermissionsForRoleRequest); i {
 			case 0:
 				return &v.state
@@ -1049,7 +1049,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[10].Exporter = func(v any, i int) any {
 			switch v := v.(*DeletePermissionsForRoleResponse); i {
 			case 0:
 				return &v.state
@@ -1061,7 +1061,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[11].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteRolesRequest); i {
 			case 0:
 				return &v.state
@@ -1073,7 +1073,7 @@ func file_gosdn_rbac_role_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_role_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_role_proto_msgTypes[12].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteRolesResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/rbac/role.pb.gw.go b/api/go/gosdn/rbac/role.pb.gw.go
index 827c069042dbab7d36f10a78978c9bb707e69154..3c1cd4a63950b55bdd000faf78c86270b1b8ab4e 100644
--- a/api/go/gosdn/rbac/role.pb.gw.go
+++ b/api/go/gosdn/rbac/role.pb.gw.go
@@ -389,21 +389,21 @@ func RegisterRoleServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
 // RegisterRoleServiceHandlerFromEndpoint is same as RegisterRoleServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterRoleServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/rbac/role_grpc.pb.go b/api/go/gosdn/rbac/role_grpc.pb.go
index 497f863e6e8ce5291c3a196471e17116fa4413bd..f1719c7ab30cce80e414d97ee290d463c3f68652 100644
--- a/api/go/gosdn/rbac/role_grpc.pb.go
+++ b/api/go/gosdn/rbac/role_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/rbac/role.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	RoleService_CreateRoles_FullMethodName              = "/gosdn.rbac.RoleService/CreateRoles"
@@ -60,8 +60,9 @@ func NewRoleServiceClient(cc grpc.ClientConnInterface) RoleServiceClient {
 }
 
 func (c *roleServiceClient) CreateRoles(ctx context.Context, in *CreateRolesRequest, opts ...grpc.CallOption) (*CreateRolesResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(CreateRolesResponse)
-	err := c.cc.Invoke(ctx, RoleService_CreateRoles_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoleService_CreateRoles_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -69,8 +70,9 @@ func (c *roleServiceClient) CreateRoles(ctx context.Context, in *CreateRolesRequ
 }
 
 func (c *roleServiceClient) GetRole(ctx context.Context, in *GetRoleRequest, opts ...grpc.CallOption) (*GetRoleResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetRoleResponse)
-	err := c.cc.Invoke(ctx, RoleService_GetRole_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoleService_GetRole_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -78,8 +80,9 @@ func (c *roleServiceClient) GetRole(ctx context.Context, in *GetRoleRequest, opt
 }
 
 func (c *roleServiceClient) GetRoles(ctx context.Context, in *GetRolesRequest, opts ...grpc.CallOption) (*GetRolesResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetRolesResponse)
-	err := c.cc.Invoke(ctx, RoleService_GetRoles_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoleService_GetRoles_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -87,8 +90,9 @@ func (c *roleServiceClient) GetRoles(ctx context.Context, in *GetRolesRequest, o
 }
 
 func (c *roleServiceClient) UpdateRoles(ctx context.Context, in *UpdateRolesRequest, opts ...grpc.CallOption) (*UpdateRolesResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(UpdateRolesResponse)
-	err := c.cc.Invoke(ctx, RoleService_UpdateRoles_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoleService_UpdateRoles_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -96,8 +100,9 @@ func (c *roleServiceClient) UpdateRoles(ctx context.Context, in *UpdateRolesRequ
 }
 
 func (c *roleServiceClient) DeletePermissionsForRole(ctx context.Context, in *DeletePermissionsForRoleRequest, opts ...grpc.CallOption) (*DeletePermissionsForRoleResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeletePermissionsForRoleResponse)
-	err := c.cc.Invoke(ctx, RoleService_DeletePermissionsForRole_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoleService_DeletePermissionsForRole_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -105,8 +110,9 @@ func (c *roleServiceClient) DeletePermissionsForRole(ctx context.Context, in *De
 }
 
 func (c *roleServiceClient) DeleteRoles(ctx context.Context, in *DeleteRolesRequest, opts ...grpc.CallOption) (*DeleteRolesResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteRolesResponse)
-	err := c.cc.Invoke(ctx, RoleService_DeleteRoles_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoleService_DeleteRoles_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/rbac/user.pb.go b/api/go/gosdn/rbac/user.pb.go
index 9a72c8216fc58b009336106ab4470492a0133f48..745d534cfb48e3a1e12c31ebd79ebacc2814d027 100644
--- a/api/go/gosdn/rbac/user.pb.go
+++ b/api/go/gosdn/rbac/user.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/rbac/user.proto
 
@@ -880,7 +880,7 @@ func file_gosdn_rbac_user_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_rbac_user_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
-var file_gosdn_rbac_user_proto_goTypes = []interface{}{
+var file_gosdn_rbac_user_proto_goTypes = []any{
 	(*User)(nil),                // 0: gosdn.rbac.User
 	(*UpdateUser)(nil),          // 1: gosdn.rbac.UpdateUser
 	(*CreateUsersRequest)(nil),  // 2: gosdn.rbac.CreateUsersRequest
@@ -930,7 +930,7 @@ func file_gosdn_rbac_user_proto_init() {
 	}
 	file_gosdn_rbac_rbac_proto_init()
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_rbac_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*User); i {
 			case 0:
 				return &v.state
@@ -942,7 +942,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateUser); i {
 			case 0:
 				return &v.state
@@ -954,7 +954,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*CreateUsersRequest); i {
 			case 0:
 				return &v.state
@@ -966,7 +966,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*CreateUsersResponse); i {
 			case 0:
 				return &v.state
@@ -978,7 +978,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetUserRequest); i {
 			case 0:
 				return &v.state
@@ -990,7 +990,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*GetUserResponse); i {
 			case 0:
 				return &v.state
@@ -1002,7 +1002,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*GetUsersRequest); i {
 			case 0:
 				return &v.state
@@ -1014,7 +1014,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*GetUsersResponse); i {
 			case 0:
 				return &v.state
@@ -1026,7 +1026,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateUsersRequest); i {
 			case 0:
 				return &v.state
@@ -1038,7 +1038,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[9].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateUsersResponse); i {
 			case 0:
 				return &v.state
@@ -1050,7 +1050,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[10].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteUsersRequest); i {
 			case 0:
 				return &v.state
@@ -1062,7 +1062,7 @@ func file_gosdn_rbac_user_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_rbac_user_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_rbac_user_proto_msgTypes[11].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteUsersResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/rbac/user.pb.gw.go b/api/go/gosdn/rbac/user.pb.gw.go
index 4d484df0ca64efdbea38529cb12933417fbed13d..abb6b782712ec3ba1103c970da97fd2119843503 100644
--- a/api/go/gosdn/rbac/user.pb.gw.go
+++ b/api/go/gosdn/rbac/user.pb.gw.go
@@ -328,21 +328,21 @@ func RegisterUserServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
 // RegisterUserServiceHandlerFromEndpoint is same as RegisterUserServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterUserServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/rbac/user_grpc.pb.go b/api/go/gosdn/rbac/user_grpc.pb.go
index 75a76bd416a4e6ffb6d29a41ef8bd983e8e629d4..cae774d0daf0339a1b01827efce537c1dc3c4ae6 100644
--- a/api/go/gosdn/rbac/user_grpc.pb.go
+++ b/api/go/gosdn/rbac/user_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/rbac/user.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	UserService_CreateUsers_FullMethodName = "/gosdn.rbac.UserService/CreateUsers"
@@ -57,8 +57,9 @@ func NewUserServiceClient(cc grpc.ClientConnInterface) UserServiceClient {
 }
 
 func (c *userServiceClient) CreateUsers(ctx context.Context, in *CreateUsersRequest, opts ...grpc.CallOption) (*CreateUsersResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(CreateUsersResponse)
-	err := c.cc.Invoke(ctx, UserService_CreateUsers_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, UserService_CreateUsers_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -66,8 +67,9 @@ func (c *userServiceClient) CreateUsers(ctx context.Context, in *CreateUsersRequ
 }
 
 func (c *userServiceClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*GetUserResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetUserResponse)
-	err := c.cc.Invoke(ctx, UserService_GetUser_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, UserService_GetUser_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -75,8 +77,9 @@ func (c *userServiceClient) GetUser(ctx context.Context, in *GetUserRequest, opt
 }
 
 func (c *userServiceClient) GetUsers(ctx context.Context, in *GetUsersRequest, opts ...grpc.CallOption) (*GetUsersResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetUsersResponse)
-	err := c.cc.Invoke(ctx, UserService_GetUsers_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, UserService_GetUsers_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -84,8 +87,9 @@ func (c *userServiceClient) GetUsers(ctx context.Context, in *GetUsersRequest, o
 }
 
 func (c *userServiceClient) UpdateUsers(ctx context.Context, in *UpdateUsersRequest, opts ...grpc.CallOption) (*UpdateUsersResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(UpdateUsersResponse)
-	err := c.cc.Invoke(ctx, UserService_UpdateUsers_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, UserService_UpdateUsers_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -93,8 +97,9 @@ func (c *userServiceClient) UpdateUsers(ctx context.Context, in *UpdateUsersRequ
 }
 
 func (c *userServiceClient) DeleteUsers(ctx context.Context, in *DeleteUsersRequest, opts ...grpc.CallOption) (*DeleteUsersResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteUsersResponse)
-	err := c.cc.Invoke(ctx, UserService_DeleteUsers_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, UserService_DeleteUsers_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/southbound/southbound.pb.go b/api/go/gosdn/southbound/southbound.pb.go
index 2f301e45705af97a0dab5bf3803b2b61e8978954..3310bcc2e613c99553dbb3d6e99ee03ce46bd8c1 100644
--- a/api/go/gosdn/southbound/southbound.pb.go
+++ b/api/go/gosdn/southbound/southbound.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/southbound/southbound.proto
 
@@ -293,7 +293,7 @@ func file_gosdn_southbound_southbound_proto_rawDescGZIP() []byte {
 
 var file_gosdn_southbound_southbound_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 var file_gosdn_southbound_southbound_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
-var file_gosdn_southbound_southbound_proto_goTypes = []interface{}{
+var file_gosdn_southbound_southbound_proto_goTypes = []any{
 	(Type)(0),                   // 0: gosdn.southbound.Type
 	(*GetSchemaRequest)(nil),    // 1: gosdn.southbound.GetSchemaRequest
 	(*Payload)(nil),             // 2: gosdn.southbound.Payload
@@ -316,7 +316,7 @@ func file_gosdn_southbound_southbound_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_southbound_southbound_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_southbound_southbound_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*GetSchemaRequest); i {
 			case 0:
 				return &v.state
@@ -328,7 +328,7 @@ func file_gosdn_southbound_southbound_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_southbound_southbound_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_southbound_southbound_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*Payload); i {
 			case 0:
 				return &v.state
@@ -340,7 +340,7 @@ func file_gosdn_southbound_southbound_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_southbound_southbound_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_southbound_southbound_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*SouthboundInterface); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/southbound/southbound_grpc.pb.go b/api/go/gosdn/southbound/southbound_grpc.pb.go
index 6aa332d310ced653c9d235981107381ed97e7e9c..30628cc6fddc9638215993033d2572b55cf06223 100644
--- a/api/go/gosdn/southbound/southbound_grpc.pb.go
+++ b/api/go/gosdn/southbound/southbound_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/southbound/southbound.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	SbiService_GetSchema_FullMethodName = "/gosdn.southbound.SbiService/GetSchema"
@@ -38,11 +38,12 @@ func NewSbiServiceClient(cc grpc.ClientConnInterface) SbiServiceClient {
 }
 
 func (c *sbiServiceClient) GetSchema(ctx context.Context, in *GetSchemaRequest, opts ...grpc.CallOption) (SbiService_GetSchemaClient, error) {
-	stream, err := c.cc.NewStream(ctx, &SbiService_ServiceDesc.Streams[0], SbiService_GetSchema_FullMethodName, opts...)
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	stream, err := c.cc.NewStream(ctx, &SbiService_ServiceDesc.Streams[0], SbiService_GetSchema_FullMethodName, cOpts...)
 	if err != nil {
 		return nil, err
 	}
-	x := &sbiServiceGetSchemaClient{stream}
+	x := &sbiServiceGetSchemaClient{ClientStream: stream}
 	if err := x.ClientStream.SendMsg(in); err != nil {
 		return nil, err
 	}
@@ -102,7 +103,7 @@ func _SbiService_GetSchema_Handler(srv interface{}, stream grpc.ServerStream) er
 	if err := stream.RecvMsg(m); err != nil {
 		return err
 	}
-	return srv.(SbiServiceServer).GetSchema(m, &sbiServiceGetSchemaServer{stream})
+	return srv.(SbiServiceServer).GetSchema(m, &sbiServiceGetSchemaServer{ServerStream: stream})
 }
 
 type SbiService_GetSchemaServer interface {
diff --git a/api/go/gosdn/topology/link.pb.go b/api/go/gosdn/topology/link.pb.go
index b6773cc53dd241bd729b968cb690bbe7332e0801..7eb0188080f55fa2001d305af59bc5c7c6d22939 100644
--- a/api/go/gosdn/topology/link.pb.go
+++ b/api/go/gosdn/topology/link.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/topology/link.proto
 
@@ -181,7 +181,7 @@ func file_gosdn_topology_link_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_topology_link_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_gosdn_topology_link_proto_goTypes = []interface{}{
+var file_gosdn_topology_link_proto_goTypes = []any{
 	(*Link)(nil),              // 0: gosdn.topology.Link
 	(*Node)(nil),              // 1: gosdn.topology.Node
 	(*Port)(nil),              // 2: gosdn.topology.Port
@@ -208,7 +208,7 @@ func file_gosdn_topology_link_proto_init() {
 	file_gosdn_topology_node_proto_init()
 	file_gosdn_topology_port_proto_init()
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_topology_link_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_link_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Link); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/topology/node.pb.go b/api/go/gosdn/topology/node.pb.go
index 68734d2287304398a0eebba0e0fbc7036a5f9d8e..cb9e151d99cdd73ab71f1e3d110faff842c5a66e 100644
--- a/api/go/gosdn/topology/node.pb.go
+++ b/api/go/gosdn/topology/node.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/topology/node.proto
 
@@ -130,7 +130,7 @@ func file_gosdn_topology_node_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_topology_node_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_gosdn_topology_node_proto_goTypes = []interface{}{
+var file_gosdn_topology_node_proto_goTypes = []any{
 	(*Node)(nil),              // 0: gosdn.topology.Node
 	(*conflict.Metadata)(nil), // 1: gosdn.conflict.Metadata
 }
@@ -149,7 +149,7 @@ func file_gosdn_topology_node_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_topology_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_node_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Node); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/topology/port.pb.go b/api/go/gosdn/topology/port.pb.go
index a3bff28fa5e1578472a0abc719b0ef073afe1291..33c0a0df6038459539e6ccd991f67d131b5a1ab1 100644
--- a/api/go/gosdn/topology/port.pb.go
+++ b/api/go/gosdn/topology/port.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/topology/port.proto
 
@@ -204,7 +204,7 @@ func file_gosdn_topology_port_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_topology_port_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_gosdn_topology_port_proto_goTypes = []interface{}{
+var file_gosdn_topology_port_proto_goTypes = []any{
 	(*Configuration)(nil),     // 0: gosdn.topology.Configuration
 	(*Port)(nil),              // 1: gosdn.topology.Port
 	(*conflict.Metadata)(nil), // 2: gosdn.conflict.Metadata
@@ -225,7 +225,7 @@ func file_gosdn_topology_port_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_topology_port_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_port_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Configuration); i {
 			case 0:
 				return &v.state
@@ -237,7 +237,7 @@ func file_gosdn_topology_port_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_port_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_port_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*Port); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/topology/route.pb.go b/api/go/gosdn/topology/route.pb.go
index 565f6d962145c40d4d588c491ea578a75f969084..98810c542785fc51a42b1734d8e4fc991ccb07b3 100644
--- a/api/go/gosdn/topology/route.pb.go
+++ b/api/go/gosdn/topology/route.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/topology/route.proto
 
@@ -232,7 +232,7 @@ func file_gosdn_topology_route_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_topology_route_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_gosdn_topology_route_proto_goTypes = []interface{}{
+var file_gosdn_topology_route_proto_goTypes = []any{
 	(*Route)(nil),             // 0: gosdn.topology.Route
 	(*RoutingTable)(nil),      // 1: gosdn.topology.RoutingTable
 	(*conflict.Metadata)(nil), // 2: gosdn.conflict.Metadata
@@ -253,7 +253,7 @@ func file_gosdn_topology_route_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_topology_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_route_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Route); i {
 			case 0:
 				return &v.state
@@ -265,7 +265,7 @@ func file_gosdn_topology_route_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_route_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*RoutingTable); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/topology/routingTable.pb.go b/api/go/gosdn/topology/routingTable.pb.go
index 841185ecb6b0bc965cb353b98474185b38b1652e..676faf2c611859027097bea1783b7490288a258d 100644
--- a/api/go/gosdn/topology/routingTable.pb.go
+++ b/api/go/gosdn/topology/routingTable.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/topology/routingTable.proto
 
@@ -424,7 +424,7 @@ func file_gosdn_topology_routingTable_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_topology_routingTable_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
-var file_gosdn_topology_routingTable_proto_goTypes = []interface{}{
+var file_gosdn_topology_routingTable_proto_goTypes = []any{
 	(*AddRoutingTableRequest)(nil),  // 0: gosdn.topology.AddRoutingTableRequest
 	(*AddRoutingTableResponse)(nil), // 1: gosdn.topology.AddRoutingTableResponse
 	(*GetRoutesRequest)(nil),        // 2: gosdn.topology.GetRoutesRequest
@@ -457,7 +457,7 @@ func file_gosdn_topology_routingTable_proto_init() {
 	file_gosdn_topology_route_proto_init()
 	file_gosdn_topology_topology_proto_init()
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_topology_routingTable_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_routingTable_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*AddRoutingTableRequest); i {
 			case 0:
 				return &v.state
@@ -469,7 +469,7 @@ func file_gosdn_topology_routingTable_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_routingTable_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_routingTable_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*AddRoutingTableResponse); i {
 			case 0:
 				return &v.state
@@ -481,7 +481,7 @@ func file_gosdn_topology_routingTable_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_routingTable_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_routingTable_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRoutesRequest); i {
 			case 0:
 				return &v.state
@@ -493,7 +493,7 @@ func file_gosdn_topology_routingTable_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_routingTable_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_routingTable_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*GetRoutesResponse); i {
 			case 0:
 				return &v.state
@@ -505,7 +505,7 @@ func file_gosdn_topology_routingTable_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_routingTable_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_routingTable_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteRoutesRequest); i {
 			case 0:
 				return &v.state
@@ -517,7 +517,7 @@ func file_gosdn_topology_routingTable_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_routingTable_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_routingTable_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteRoutesResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/topology/routingTable.pb.gw.go b/api/go/gosdn/topology/routingTable.pb.gw.go
index c996d57a5c7844b2430abc64cbc32a7ced1ca115..d4b31f111ba656529dac9535641dd75cd0cf4540 100644
--- a/api/go/gosdn/topology/routingTable.pb.gw.go
+++ b/api/go/gosdn/topology/routingTable.pb.gw.go
@@ -216,21 +216,21 @@ func RegisterRoutingTableServiceHandlerServer(ctx context.Context, mux *runtime.
 // RegisterRoutingTableServiceHandlerFromEndpoint is same as RegisterRoutingTableServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterRoutingTableServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/topology/routingTable_grpc.pb.go b/api/go/gosdn/topology/routingTable_grpc.pb.go
index 9b9dc05846fb127171bdadf77d9eb7c9558257f0..0fe3c824880edc52fdd615808ee785a8d4fe275e 100644
--- a/api/go/gosdn/topology/routingTable_grpc.pb.go
+++ b/api/go/gosdn/topology/routingTable_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/topology/routingTable.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	RoutingTableService_AddRoutingTable_FullMethodName = "/gosdn.topology.RoutingTableService/AddRoutingTable"
@@ -42,8 +42,9 @@ func NewRoutingTableServiceClient(cc grpc.ClientConnInterface) RoutingTableServi
 }
 
 func (c *routingTableServiceClient) AddRoutingTable(ctx context.Context, in *AddRoutingTableRequest, opts ...grpc.CallOption) (*AddRoutingTableResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(AddRoutingTableResponse)
-	err := c.cc.Invoke(ctx, RoutingTableService_AddRoutingTable_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoutingTableService_AddRoutingTable_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -51,8 +52,9 @@ func (c *routingTableServiceClient) AddRoutingTable(ctx context.Context, in *Add
 }
 
 func (c *routingTableServiceClient) GetRoutes(ctx context.Context, in *GetRoutesRequest, opts ...grpc.CallOption) (*GetRoutesResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetRoutesResponse)
-	err := c.cc.Invoke(ctx, RoutingTableService_GetRoutes_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoutingTableService_GetRoutes_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -60,8 +62,9 @@ func (c *routingTableServiceClient) GetRoutes(ctx context.Context, in *GetRoutes
 }
 
 func (c *routingTableServiceClient) DeleteRoute(ctx context.Context, in *DeleteRoutesRequest, opts ...grpc.CallOption) (*DeleteRoutesResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteRoutesResponse)
-	err := c.cc.Invoke(ctx, RoutingTableService_DeleteRoute_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, RoutingTableService_DeleteRoute_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/topology/topology.pb.go b/api/go/gosdn/topology/topology.pb.go
index 5450328c2265d3cdc63d79282018cc9e4ef5276e..3f0587482998fd3684e7055d5f48341503d6f269 100644
--- a/api/go/gosdn/topology/topology.pb.go
+++ b/api/go/gosdn/topology/topology.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/topology/topology.proto
 
@@ -585,7 +585,7 @@ func file_gosdn_topology_topology_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_topology_topology_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
-var file_gosdn_topology_topology_proto_goTypes = []interface{}{
+var file_gosdn_topology_topology_proto_goTypes = []any{
 	(*Topology)(nil),            // 0: gosdn.topology.Topology
 	(*AddLinkRequest)(nil),      // 1: gosdn.topology.AddLinkRequest
 	(*AddLinkResponse)(nil),     // 2: gosdn.topology.AddLinkResponse
@@ -625,7 +625,7 @@ func file_gosdn_topology_topology_proto_init() {
 	file_gosdn_topology_link_proto_init()
 	file_gosdn_topology_route_proto_init()
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_topology_topology_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*Topology); i {
 			case 0:
 				return &v.state
@@ -637,7 +637,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*AddLinkRequest); i {
 			case 0:
 				return &v.state
@@ -649,7 +649,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*AddLinkResponse); i {
 			case 0:
 				return &v.state
@@ -661,7 +661,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[3].Exporter = func(v any, i int) any {
 			switch v := v.(*GetTopologyRequest); i {
 			case 0:
 				return &v.state
@@ -673,7 +673,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[4].Exporter = func(v any, i int) any {
 			switch v := v.(*GetTopologyResponse); i {
 			case 0:
 				return &v.state
@@ -685,7 +685,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[5].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateLinkRequest); i {
 			case 0:
 				return &v.state
@@ -697,7 +697,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[6].Exporter = func(v any, i int) any {
 			switch v := v.(*UpdateLinkResponse); i {
 			case 0:
 				return &v.state
@@ -709,7 +709,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[7].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteLinkRequest); i {
 			case 0:
 				return &v.state
@@ -721,7 +721,7 @@ func file_gosdn_topology_topology_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_topology_topology_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_topology_topology_proto_msgTypes[8].Exporter = func(v any, i int) any {
 			switch v := v.(*DeleteLinkResponse); i {
 			case 0:
 				return &v.state
diff --git a/api/go/gosdn/topology/topology.pb.gw.go b/api/go/gosdn/topology/topology.pb.gw.go
index d15549de5f2218987449e26672d48e3c5c8d0b9a..ae502d1de94c9c94ee224ee938c113e11222c718 100644
--- a/api/go/gosdn/topology/topology.pb.gw.go
+++ b/api/go/gosdn/topology/topology.pb.gw.go
@@ -267,21 +267,21 @@ func RegisterTopologyServiceHandlerServer(ctx context.Context, mux *runtime.Serv
 // RegisterTopologyServiceHandlerFromEndpoint is same as RegisterTopologyServiceHandler but
 // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 func RegisterTopologyServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.DialContext(ctx, endpoint, opts...)
+	conn, err := grpc.NewClient(endpoint, opts...)
 	if err != nil {
 		return err
 	}
 	defer func() {
 		if err != nil {
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 			return
 		}
 		go func() {
 			<-ctx.Done()
 			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
+				grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
 			}
 		}()
 	}()
diff --git a/api/go/gosdn/topology/topology_grpc.pb.go b/api/go/gosdn/topology/topology_grpc.pb.go
index 7277f5bbff05f567dc6e470c552175582b19ca34..a54ba62a24e91c82549c23453a567410e75ada9f 100644
--- a/api/go/gosdn/topology/topology_grpc.pb.go
+++ b/api/go/gosdn/topology/topology_grpc.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
+// - protoc-gen-go-grpc v1.4.0
 // - protoc             (unknown)
 // source: gosdn/topology/topology.proto
 
@@ -15,8 +15,8 @@ import (
 
 // This is a compile-time assertion to ensure that this generated file
 // is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
+// Requires gRPC-Go v1.62.0 or later.
+const _ = grpc.SupportPackageIsVersion8
 
 const (
 	TopologyService_AddLink_FullMethodName     = "/gosdn.topology.TopologyService/AddLink"
@@ -44,8 +44,9 @@ func NewTopologyServiceClient(cc grpc.ClientConnInterface) TopologyServiceClient
 }
 
 func (c *topologyServiceClient) AddLink(ctx context.Context, in *AddLinkRequest, opts ...grpc.CallOption) (*AddLinkResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(AddLinkResponse)
-	err := c.cc.Invoke(ctx, TopologyService_AddLink_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, TopologyService_AddLink_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -53,8 +54,9 @@ func (c *topologyServiceClient) AddLink(ctx context.Context, in *AddLinkRequest,
 }
 
 func (c *topologyServiceClient) GetTopology(ctx context.Context, in *GetTopologyRequest, opts ...grpc.CallOption) (*GetTopologyResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(GetTopologyResponse)
-	err := c.cc.Invoke(ctx, TopologyService_GetTopology_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, TopologyService_GetTopology_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -62,8 +64,9 @@ func (c *topologyServiceClient) GetTopology(ctx context.Context, in *GetTopology
 }
 
 func (c *topologyServiceClient) UpdateLink(ctx context.Context, in *UpdateLinkRequest, opts ...grpc.CallOption) (*UpdateLinkResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(UpdateLinkResponse)
-	err := c.cc.Invoke(ctx, TopologyService_UpdateLink_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, TopologyService_UpdateLink_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
@@ -71,8 +74,9 @@ func (c *topologyServiceClient) UpdateLink(ctx context.Context, in *UpdateLinkRe
 }
 
 func (c *topologyServiceClient) DeleteLink(ctx context.Context, in *DeleteLinkRequest, opts ...grpc.CallOption) (*DeleteLinkResponse, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(DeleteLinkResponse)
-	err := c.cc.Invoke(ctx, TopologyService_DeleteLink_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, TopologyService_DeleteLink_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
diff --git a/api/go/gosdn/transport/transport.pb.go b/api/go/gosdn/transport/transport.pb.go
index 2d8de2ee9d9e20e56daa4e74825a9a6a703ccff8..745f907d36446af2110b00b2031a1a13f75af802 100644
--- a/api/go/gosdn/transport/transport.pb.go
+++ b/api/go/gosdn/transport/transport.pb.go
@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.32.0
+// 	protoc-gen-go v1.34.2
 // 	protoc        (unknown)
 // source: gosdn/transport/transport.proto
 
@@ -330,7 +330,7 @@ func file_gosdn_transport_transport_proto_rawDescGZIP() []byte {
 }
 
 var file_gosdn_transport_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
-var file_gosdn_transport_transport_proto_goTypes = []interface{}{
+var file_gosdn_transport_transport_proto_goTypes = []any{
 	(*TransportOption)(nil),         // 0: gosdn.transport.TransportOption
 	(*GnmiTransportOption)(nil),     // 1: gosdn.transport.GnmiTransportOption
 	(*RestconfTransportOption)(nil), // 2: gosdn.transport.RestconfTransportOption
@@ -357,7 +357,7 @@ func file_gosdn_transport_transport_proto_init() {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_gosdn_transport_transport_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_transport_transport_proto_msgTypes[0].Exporter = func(v any, i int) any {
 			switch v := v.(*TransportOption); i {
 			case 0:
 				return &v.state
@@ -369,7 +369,7 @@ func file_gosdn_transport_transport_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_transport_transport_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_transport_transport_proto_msgTypes[1].Exporter = func(v any, i int) any {
 			switch v := v.(*GnmiTransportOption); i {
 			case 0:
 				return &v.state
@@ -381,7 +381,7 @@ func file_gosdn_transport_transport_proto_init() {
 				return nil
 			}
 		}
-		file_gosdn_transport_transport_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_gosdn_transport_transport_proto_msgTypes[2].Exporter = func(v any, i int) any {
 			switch v := v.(*RestconfTransportOption); i {
 			case 0:
 				return &v.state
@@ -394,7 +394,7 @@ func file_gosdn_transport_transport_proto_init() {
 			}
 		}
 	}
-	file_gosdn_transport_transport_proto_msgTypes[0].OneofWrappers = []interface{}{
+	file_gosdn_transport_transport_proto_msgTypes[0].OneofWrappers = []any{
 		(*TransportOption_GnmiTransportOption)(nil),
 		(*TransportOption_RestconfTransportOption)(nil),
 	}
diff --git a/api/openapiv2/gosdn_northbound.swagger.json b/api/openapiv2/gosdn_northbound.swagger.json
index 46865ea64383a4bf5e7b4797ca1795b46f795e7c..c380e2fd1f7bacae2c43b0243a6beb079e3ec6be 100644
--- a/api/openapiv2/gosdn_northbound.swagger.json
+++ b/api/openapiv2/gosdn_northbound.swagger.json
@@ -261,15 +261,15 @@
         ]
       }
     },
-    "/network-element/update": {
-      "post": {
-        "summary": "TODO: fix request naming to fit other requests!\nAllows to update/change the meta data of stored Managed Network Element.",
-        "operationId": "NetworkElementService_Update",
+    "/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": "NetworkElementService_GetAllFlattened",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementUpdateNetworkElementResponse"
+              "$ref": "#/definitions/networkelementGetAllFlattenedResponse"
             }
           },
           "default": {
@@ -281,28 +281,32 @@
         },
         "parameters": [
           {
-            "name": "body",
-            "in": "body",
-            "required": true,
-            "schema": {
-              "$ref": "#/definitions/networkelementUpdateNetworkElementRequest"
-            }
+            "name": "timestamp",
+            "description": "Timestamp in nanoseconds since Epoch.",
+            "in": "query",
+            "required": false,
+            "type": "string",
+            "format": "int64"
+          },
+          {
+            "name": "pid",
+            "in": "query",
+            "required": false,
+            "type": "string"
           }
         ],
         "tags": [
           "NetworkElementService"
         ]
-      }
-    },
-    "/pnd/{pid}": {
-      "get": {
-        "summary": "Allows to request a specific Principal Network Domain.",
-        "operationId": "PndService_GetPnd",
+      },
+      "post": {
+        "summary": "Allows to add multiple Managed Network Elements to be managed by a\nspecific Principal Network Domain.",
+        "operationId": "NetworkElementService_AddList",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/pndGetPndResponse"
+              "$ref": "#/definitions/networkelementAddListResponse"
             }
           },
           "default": {
@@ -314,34 +318,28 @@
         },
         "parameters": [
           {
-            "name": "pid",
-            "in": "path",
+            "name": "body",
+            "in": "body",
             "required": true,
-            "type": "string"
-          },
-          {
-            "name": "timestamp",
-            "description": "Timestamp in nanoseconds since Epoch.",
-            "in": "query",
-            "required": false,
-            "type": "string",
-            "format": "int64"
+            "schema": {
+              "$ref": "#/definitions/networkelementAddListRequest"
+            }
           }
         ],
         "tags": [
-          "PndService"
+          "NetworkElementService"
         ]
       }
     },
-    "/pnds": {
+    "/mnes/changes": {
       "get": {
-        "summary": "Allows to request all Principal Network Domains.",
-        "operationId": "PndService_GetPndList",
+        "summary": "Allows to request all Changes registered for a specific Principal Network Domain.",
+        "operationId": "NetworkElementService_GetChangeList",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/pndGetPndListResponse"
+              "$ref": "#/definitions/networkelementGetChangeListResponse"
             }
           },
           "default": {
@@ -359,20 +357,26 @@
             "required": false,
             "type": "string",
             "format": "int64"
+          },
+          {
+            "name": "pid",
+            "in": "query",
+            "required": false,
+            "type": "string"
           }
         ],
         "tags": [
-          "PndService"
+          "NetworkElementService"
         ]
       },
       "post": {
-        "summary": "Allows create a Principal Network Domain.",
-        "operationId": "PndService_CreatePndList",
+        "summary": "Allows to operate on multiple Changes registered for a specific Principal Network Domain.",
+        "operationId": "NetworkElementService_SetChangeList",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/pndCreatePndListResponse"
+              "$ref": "#/definitions/networkelementSetChangeListResponse"
             }
           },
           "default": {
@@ -388,24 +392,24 @@
             "in": "body",
             "required": true,
             "schema": {
-              "$ref": "#/definitions/pndCreatePndListRequest"
+              "$ref": "#/definitions/networkelementSetChangeListRequest"
             }
           }
         ],
         "tags": [
-          "PndService"
+          "NetworkElementService"
         ]
       }
     },
-    "/pnds/{pid}": {
-      "delete": {
-        "summary": "Allows to delete a specific Principal Network Domain.",
-        "operationId": "PndService_DeletePnd",
+    "/mnes/changes/{cuid}": {
+      "get": {
+        "summary": "Allows to request a specific Change registered for a specific Principal Network Domain.",
+        "operationId": "NetworkElementService_GetChange",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/pndDeletePndResponse"
+              "$ref": "#/definitions/networkelementGetChangeResponse"
             }
           },
           "default": {
@@ -417,10 +421,15 @@
         },
         "parameters": [
           {
-            "name": "pid",
+            "name": "cuid",
             "in": "path",
             "required": true,
-            "type": "string"
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "collectionFormat": "csv",
+            "minItems": 1
           },
           {
             "name": "timestamp",
@@ -429,22 +438,28 @@
             "required": false,
             "type": "string",
             "format": "int64"
+          },
+          {
+            "name": "pid",
+            "in": "query",
+            "required": false,
+            "type": "string"
           }
         ],
         "tags": [
-          "PndService"
+          "NetworkElementService"
         ]
       }
     },
-    "/pnds/{pid}/changes": {
-      "get": {
-        "summary": "Allows to request all Changes registered for a specific Principal Network Domain.",
-        "operationId": "NetworkElementService_GetChangeList",
+    "/mnes/paths": {
+      "post": {
+        "summary": "Allows to set a specific Path of a Managed Network Element,\nmanaged by a specific Principal Network Domain.",
+        "operationId": "NetworkElementService_SetPathList",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementGetChangeListResponse"
+              "$ref": "#/definitions/networkelementSetPathListResponse"
             }
           },
           "default": {
@@ -456,32 +471,28 @@
         },
         "parameters": [
           {
-            "name": "pid",
-            "in": "path",
+            "name": "body",
+            "in": "body",
             "required": true,
-            "type": "string"
-          },
-          {
-            "name": "timestamp",
-            "description": "Timestamp in nanoseconds since Epoch.",
-            "in": "query",
-            "required": false,
-            "type": "string",
-            "format": "int64"
+            "schema": {
+              "$ref": "#/definitions/networkelementSetPathListRequest"
+            }
           }
         ],
         "tags": [
           "NetworkElementService"
         ]
-      },
-      "post": {
-        "summary": "Allows to operate on multiple Changes registered for a specific Principal Network Domain.",
-        "operationId": "NetworkElementService_SetChangeList",
+      }
+    },
+    "/mnes/{mneid}": {
+      "get": {
+        "summary": "Allows to request a specific Managed Network Element which is managed by a\nspecific Principal Network Domain.",
+        "operationId": "NetworkElementService_Get",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementSetChangeListResponse"
+              "$ref": "#/definitions/gosdnnetworkelementGetResponse"
             }
           },
           "default": {
@@ -493,34 +504,38 @@
         },
         "parameters": [
           {
-            "name": "pid",
+            "name": "mneid",
             "in": "path",
             "required": true,
             "type": "string"
           },
           {
-            "name": "body",
-            "in": "body",
-            "required": true,
-            "schema": {
-              "$ref": "#/definitions/NetworkElementServiceSetChangeListBody"
-            }
+            "name": "timestamp",
+            "description": "Timestamp in nanoseconds since Epoch.",
+            "in": "query",
+            "required": false,
+            "type": "string",
+            "format": "int64"
+          },
+          {
+            "name": "pid",
+            "in": "query",
+            "required": false,
+            "type": "string"
           }
         ],
         "tags": [
           "NetworkElementService"
         ]
-      }
-    },
-    "/pnds/{pid}/changes/{cuid}": {
-      "get": {
-        "summary": "Allows to request a specific Change registered for a specific Principal Network Domain.",
-        "operationId": "NetworkElementService_GetChange",
+      },
+      "delete": {
+        "summary": "Allows to delete a specific Managed Network Element which is managed by a\nspecific Principal Network Domain.",
+        "operationId": "NetworkElementService_Delete",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementGetChangeResponse"
+              "$ref": "#/definitions/gosdnnetworkelementDeleteResponse"
             }
           },
           "default": {
@@ -532,22 +547,11 @@
         },
         "parameters": [
           {
-            "name": "pid",
+            "name": "mneid",
             "in": "path",
             "required": true,
             "type": "string"
           },
-          {
-            "name": "cuid",
-            "in": "path",
-            "required": true,
-            "type": "array",
-            "items": {
-              "type": "string"
-            },
-            "collectionFormat": "csv",
-            "minItems": 1
-          },
           {
             "name": "timestamp",
             "description": "Timestamp in nanoseconds since Epoch.",
@@ -555,6 +559,12 @@
             "required": false,
             "type": "string",
             "format": "int64"
+          },
+          {
+            "name": "pid",
+            "in": "query",
+            "required": false,
+            "type": "string"
           }
         ],
         "tags": [
@@ -562,15 +572,15 @@
         ]
       }
     },
-    "/pnds/{pid}/mne/{mneid}": {
+    "/mnes/{mneid}/intendedpaths/{intendedPath}": {
       "get": {
-        "summary": "Allows to request a specific Managed Network Element which is managed by a\nspecific Principal Network Domain.",
-        "operationId": "NetworkElementService_Get",
+        "summary": "Allows to request a specific intended Path of a Managed Network Element\nmanaged by a specific Principal Network Domain.\nNote: This returns the state how it is stored the storage.\nFor the actual state of the network element call \"GetPath\" instead.",
+        "operationId": "NetworkElementService_GetIntendedPath",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/gosdnnetworkelementGetResponse"
+              "$ref": "#/definitions/networkelementGetIntendedPathResponse"
             }
           },
           "default": {
@@ -582,24 +592,29 @@
         },
         "parameters": [
           {
-            "name": "pid",
+            "name": "mneid",
             "in": "path",
             "required": true,
             "type": "string"
           },
           {
-            "name": "mneid",
+            "name": "intendedPath",
             "in": "path",
             "required": true,
             "type": "string"
           },
           {
             "name": "timestamp",
-            "description": "Timestamp in nanoseconds since Epoch.",
             "in": "query",
             "required": false,
             "type": "string",
             "format": "int64"
+          },
+          {
+            "name": "pid",
+            "in": "query",
+            "required": false,
+            "type": "string"
           }
         ],
         "tags": [
@@ -607,15 +622,15 @@
         ]
       }
     },
-    "/pnds/{pid}/mnes": {
+    "/mnes/{mneid}/paths/{path}": {
       "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": "NetworkElementService_GetAllFlattened",
+        "summary": "Allows to request a specific Path of a Managed Network Element\nmanaged by a specific Principal Network Domain.\nNote: This returns the actual state of the network element.\nFor the inteded state call \"GetIntendedPath\" instead.",
+        "operationId": "NetworkElementService_GetPath",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementGetAllFlattenedResponse"
+              "$ref": "#/definitions/networkelementGetPathResponse"
             }
           },
           "default": {
@@ -627,7 +642,13 @@
         },
         "parameters": [
           {
-            "name": "pid",
+            "name": "mneid",
+            "in": "path",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "path",
             "in": "path",
             "required": true,
             "type": "string"
@@ -639,20 +660,28 @@
             "required": false,
             "type": "string",
             "format": "int64"
+          },
+          {
+            "name": "pid",
+            "in": "query",
+            "required": false,
+            "type": "string"
           }
         ],
         "tags": [
           "NetworkElementService"
         ]
-      },
+      }
+    },
+    "/network-element/update": {
       "post": {
-        "summary": "Allows to add multiple Managed Network Elements to be managed by a\nspecific Principal Network Domain.",
-        "operationId": "NetworkElementService_AddList",
+        "summary": "TODO: fix request naming to fit other requests!\nAllows to update/change the meta data of stored Managed Network Element.",
+        "operationId": "NetworkElementService_Update",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementAddListResponse"
+              "$ref": "#/definitions/networkelementUpdateNetworkElementResponse"
             }
           },
           "default": {
@@ -663,18 +692,12 @@
           }
         },
         "parameters": [
-          {
-            "name": "pid",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
           {
             "name": "body",
             "in": "body",
             "required": true,
             "schema": {
-              "$ref": "#/definitions/NetworkElementServiceAddListBody"
+              "$ref": "#/definitions/networkelementUpdateNetworkElementRequest"
             }
           }
         ],
@@ -683,15 +706,15 @@
         ]
       }
     },
-    "/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": "NetworkElementService_SetPathList",
+    "/pnd/{pid}": {
+      "get": {
+        "summary": "Allows to request a specific Principal Network Domain.",
+        "operationId": "PndService_GetPnd",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementSetPathListResponse"
+              "$ref": "#/definitions/pndGetPndResponse"
             }
           },
           "default": {
@@ -709,28 +732,28 @@
             "type": "string"
           },
           {
-            "name": "body",
-            "in": "body",
-            "required": true,
-            "schema": {
-              "$ref": "#/definitions/NetworkElementServiceSetPathListBody"
-            }
+            "name": "timestamp",
+            "description": "Timestamp in nanoseconds since Epoch.",
+            "in": "query",
+            "required": false,
+            "type": "string",
+            "format": "int64"
           }
         ],
         "tags": [
-          "NetworkElementService"
+          "PndService"
         ]
       }
     },
-    "/pnds/{pid}/mnes/{mneid}": {
-      "delete": {
-        "summary": "Allows to delete a specific Managed Network Element which is managed by a\nspecific Principal Network Domain.",
-        "operationId": "NetworkElementService_Delete",
+    "/pnds": {
+      "get": {
+        "summary": "Allows to request all Principal Network Domains.",
+        "operationId": "PndService_GetPndList",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/gosdnnetworkelementDeleteResponse"
+              "$ref": "#/definitions/pndGetPndListResponse"
             }
           },
           "default": {
@@ -741,18 +764,6 @@
           }
         },
         "parameters": [
-          {
-            "name": "pid",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
-          {
-            "name": "mneid",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
           {
             "name": "timestamp",
             "description": "Timestamp in nanoseconds since Epoch.",
@@ -763,19 +774,17 @@
           }
         ],
         "tags": [
-          "NetworkElementService"
+          "PndService"
         ]
-      }
-    },
-    "/pnds/{pid}/mnes/{mneid}/intendedpaths/{intendedPath}": {
-      "get": {
-        "summary": "Allows to request a specific intended Path of a Managed Network Element\nmanaged by a specific Principal Network Domain.\nNote: This returns the state how it is stored the storage.\nFor the actual state of the network element call \"GetPath\" instead.",
-        "operationId": "NetworkElementService_GetIntendedPath",
+      },
+      "post": {
+        "summary": "Allows create a Principal Network Domain.",
+        "operationId": "PndService_CreatePndList",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementGetIntendedPathResponse"
+              "$ref": "#/definitions/pndCreatePndListResponse"
             }
           },
           "default": {
@@ -787,45 +796,28 @@
         },
         "parameters": [
           {
-            "name": "pid",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
-          {
-            "name": "mneid",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
-          {
-            "name": "intendedPath",
-            "in": "path",
+            "name": "body",
+            "in": "body",
             "required": true,
-            "type": "string"
-          },
-          {
-            "name": "timestamp",
-            "in": "query",
-            "required": false,
-            "type": "string",
-            "format": "int64"
+            "schema": {
+              "$ref": "#/definitions/pndCreatePndListRequest"
+            }
           }
         ],
         "tags": [
-          "NetworkElementService"
+          "PndService"
         ]
       }
     },
-    "/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.\nNote: This returns the actual state of the network element.\nFor the inteded state call \"GetIntendedPath\" instead.",
-        "operationId": "NetworkElementService_GetPath",
+    "/pnds/{pid}": {
+      "delete": {
+        "summary": "Allows to delete a specific Principal Network Domain.",
+        "operationId": "PndService_DeletePnd",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/networkelementGetPathResponse"
+              "$ref": "#/definitions/pndDeletePndResponse"
             }
           },
           "default": {
@@ -842,18 +834,6 @@
             "required": true,
             "type": "string"
           },
-          {
-            "name": "mneid",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
-          {
-            "name": "path",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          },
           {
             "name": "timestamp",
             "description": "Timestamp in nanoseconds since Epoch.",
@@ -864,7 +844,7 @@
           }
         ],
         "tags": [
-          "NetworkElementService"
+          "PndService"
         ]
       }
     },
@@ -1573,57 +1553,6 @@
       "default": "ALL",
       "description": "Type of elements within the data tree.\n\n - ALL: All data elements.\n - CONFIG: Config (rw) only elements.\n - STATE: State (ro) only elements.\n - OPERATIONAL: Data elements marked in the schema as operational. This refers to data\nelements whose value relates to the state of processes or interactions\nrunning on the device."
     },
-    "NetworkElementServiceAddListBody": {
-      "type": "object",
-      "properties": {
-        "timestamp": {
-          "type": "string",
-          "format": "int64",
-          "description": "Timestamp in nanoseconds since Epoch."
-        },
-        "mne": {
-          "type": "array",
-          "items": {
-            "type": "object",
-            "$ref": "#/definitions/networkelementSetMne"
-          }
-        }
-      }
-    },
-    "NetworkElementServiceSetChangeListBody": {
-      "type": "object",
-      "properties": {
-        "timestamp": {
-          "type": "string",
-          "format": "int64",
-          "description": "Timestamp in nanoseconds since Epoch."
-        },
-        "change": {
-          "type": "array",
-          "items": {
-            "type": "object",
-            "$ref": "#/definitions/networkelementSetChange"
-          }
-        }
-      }
-    },
-    "NetworkElementServiceSetPathListBody": {
-      "type": "object",
-      "properties": {
-        "timestamp": {
-          "type": "string",
-          "format": "int64",
-          "description": "Timestamp in nanoseconds since Epoch."
-        },
-        "changeRequest": {
-          "type": "array",
-          "items": {
-            "type": "object",
-            "$ref": "#/definitions/networkelementChangeRequest"
-          }
-        }
-      }
-    },
     "SubscriptionListMode": {
       "type": "string",
       "enum": [
@@ -3090,6 +3019,26 @@
         }
       }
     },
+    "networkelementAddListRequest": {
+      "type": "object",
+      "properties": {
+        "timestamp": {
+          "type": "string",
+          "format": "int64",
+          "description": "Timestamp in nanoseconds since Epoch."
+        },
+        "mne": {
+          "type": "array",
+          "items": {
+            "type": "object",
+            "$ref": "#/definitions/networkelementSetMne"
+          }
+        },
+        "pid": {
+          "type": "string"
+        }
+      }
+    },
     "networkelementAddListResponse": {
       "type": "object",
       "properties": {
@@ -3374,6 +3323,26 @@
         }
       }
     },
+    "networkelementSetChangeListRequest": {
+      "type": "object",
+      "properties": {
+        "timestamp": {
+          "type": "string",
+          "format": "int64",
+          "description": "Timestamp in nanoseconds since Epoch."
+        },
+        "change": {
+          "type": "array",
+          "items": {
+            "type": "object",
+            "$ref": "#/definitions/networkelementSetChange"
+          }
+        },
+        "pid": {
+          "type": "string"
+        }
+      }
+    },
     "networkelementSetChangeListResponse": {
       "type": "object",
       "properties": {
@@ -3420,6 +3389,26 @@
         }
       }
     },
+    "networkelementSetPathListRequest": {
+      "type": "object",
+      "properties": {
+        "timestamp": {
+          "type": "string",
+          "format": "int64",
+          "description": "Timestamp in nanoseconds since Epoch."
+        },
+        "changeRequest": {
+          "type": "array",
+          "items": {
+            "type": "object",
+            "$ref": "#/definitions/networkelementChangeRequest"
+          }
+        },
+        "pid": {
+          "type": "string"
+        }
+      }
+    },
     "networkelementSetPathListResponse": {
       "type": "object",
       "properties": {
diff --git a/api/proto/gosdn/networkelement/networkelement.proto b/api/proto/gosdn/networkelement/networkelement.proto
index 4afbb9e314b9f77d51163fbb3eb84246f3ff2b71..9c83e2fef5062e5ca0ee239b073332d057e753ef 100644
--- a/api/proto/gosdn/networkelement/networkelement.proto
+++ b/api/proto/gosdn/networkelement/networkelement.proto
@@ -35,13 +35,13 @@ service NetworkElementService {
   // Flattened MNEs are provided, which does not include the MNE config as gNMI
   // notification.
   rpc GetAllFlattened(GetAllFlattenedRequest) returns (GetAllFlattenedResponse) {
-    option (google.api.http) = {get: "/pnds/{pid}/mnes"};
+    option (google.api.http) = {get: "/mnes"};
   }
 
   // Allows to request a specific Managed Network Element which is managed by a
   // specific Principal Network Domain.
   rpc Get(GetRequest) returns (GetResponse) {
-    option (google.api.http) = {get: "/pnds/{pid}/mne/{mneid}"};
+    option (google.api.http) = {get: "/mnes/{mneid}"};
   }
 
   // TODO: add http option
@@ -54,7 +54,7 @@ service NetworkElementService {
   // specific Principal Network Domain.
   rpc AddList(AddListRequest) returns (AddListResponse) {
     option (google.api.http) = {
-      post: "/pnds/{pid}/mnes"
+      post: "/mnes"
       body: "*"
     };
   }
@@ -64,7 +64,7 @@ service NetworkElementService {
   // Note: This returns the actual state of the network element.
   // For the inteded state call "GetIntendedPath" instead.
   rpc GetPath(GetPathRequest) returns (GetPathResponse) {
-    option (google.api.http) = {get: "/pnds/{pid}/mnes/{mneid}/paths/{path}"};
+    option (google.api.http) = {get: "/mnes/{mneid}/paths/{path}"};
   }
 
   // Allows to request a specific intended Path of a Managed Network Element
@@ -72,14 +72,14 @@ service NetworkElementService {
   // Note: This returns the state how it is stored the storage.
   // For the actual state of the network element call "GetPath" instead.
   rpc GetIntendedPath(GetIntendedPathRequest) returns (GetIntendedPathResponse) {
-    option (google.api.http) = {get: "/pnds/{pid}/mnes/{mneid}/intendedpaths/{intended_path}"};
+    option (google.api.http) = {get: "/mnes/{mneid}/intendedpaths/{intended_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"
+      post: "/mnes/paths"
       body: "*"
     };
   }
@@ -87,23 +87,23 @@ service NetworkElementService {
   // Allows to delete a specific Managed Network Element which is managed by a
   // specific Principal Network Domain.
   rpc Delete(DeleteRequest) returns (DeleteResponse) {
-    option (google.api.http) = {delete: "/pnds/{pid}/mnes/{mneid}"};
+    option (google.api.http) = {delete: "/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"};
+    option (google.api.http) = {get: "/mnes/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}"};
+    option (google.api.http) = {get: "/mnes/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"
+      post: "/mnes/changes"
       body: "*"
     };
   }
diff --git a/controller/http.go b/controller/http.go
index c6d80518bcbf1b1492fc4c14468f5534083b7dad..394b7a0b06099a59cc2947a83e0e29fa0be7c1f6 100644
--- a/controller/http.go
+++ b/controller/http.go
@@ -37,8 +37,6 @@ func stopHttpServer() error {
 
 func setupHttpServer() error {
 	ctx := context.Background()
-	ctx, cancel := context.WithCancel(ctx)
-	defer cancel()
 
 	// Register gRPC server endpoint
 	// Note: Make sure the gRPC server is running properly and accessible