Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • danet/gosdn
1 result
Select Git revision
Show changes
Commits on Source (5)
Showing
with 4725 additions and 2212 deletions
......@@ -47,3 +47,15 @@ build-venv-manager-image:
- docker tag "$VENV_MANAGER_IMAGE_NAME:$TAG" "$VENV_MANAGER_IMAGE_NAME:$NEWTAG"
- docker push "$VENV_MANAGER_IMAGE_NAME:$NEWTAG"
<<: *build
build-arista-routing-engine-image:
script:
- ARISTA_ROUTING_ENGINE_IMAGE_NAME="${CI_REGISTRY_IMAGE}/arista-routing-engine"
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker buildx build -t "$ARISTA_ROUTING_ENGINE_IMAGE_NAME:$TAG" -f "${CI_PROJECT_DIR}/applications/arista-routing-engine/arista-routing-engine.Dockerfile" --build-arg "GOLANG_VERSION=$GOLANG_VERSION" --build-arg "GITLAB_PROXY=${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/" .
- docker push "$ARISTA_ROUTING_ENGINE_IMAGE_NAME:$TAG"
# replace all slashes in the tag with hyphen, because slashes are not allowed in tags
- NEWTAG=${CI_COMMIT_BRANCH//\//-}
- docker tag "$ARISTA_ROUTING_ENGINE_IMAGE_NAME:$TAG" "$ARISTA_ROUTING_ENGINE_IMAGE_NAME:$NEWTAG"
- docker push "$ARISTA_ROUTING_ENGINE_IMAGE_NAME:$NEWTAG"
<<: *build
......@@ -10,6 +10,7 @@ run:
- controller/test
- controller/mocks
- models/generated/openconfig
- models/generated/arista
- forks/
- clab-gosdn_csbi_arista_base/
- models/generated/arista
......
File moved
......@@ -41,18 +41,22 @@ lint-fix: install-tools
generate-controller-mocks: install-tools
./$(TOOLS_DIR)/mockery --all --output './controller/mocks' --dir './controller/interfaces/'
generate-yang-models: install-tools
generate-yang-models:
cd models/generated/openconfig &&\
../../../$(TOOLS_DIR)/go-ygot-generator-generator config.yaml openconfig.go &&\
go generate &&\
cat additions.patch >> yang.go
cd models/generated/arista &&\
../../../$(TOOLS_DIR)/go-ygot-generator-generator config.yaml arista.go &&\
go generate &&\
cat additions.patch >> arista.go
generate-csbi-yang-models: install-tools
cd csbi/resources &&\
../../$(TOOLS_DIR)/go-ygot-generator-generator config.yaml gostructs.go &&\
go generate
build: pre build-gosdn build-gosdnc build-orchestrator build-venv-manager
build: pre build-gosdn build-gosdnc build-orchestrator build-venv-manager build-arista-routing-engine-app build-hostname-checker-app
build-gosdn: pre
$(GOBUILD) -trimpath -o $(BUILD_ARTIFACTS_PATH)/gosdn ./controller/cmd/gosdn
......@@ -66,6 +70,12 @@ build-orchestrator: pre
build-venv-manager: pre
$(GOBUILD) -o $(BUILD_ARTIFACTS_PATH)/venv-manager ./applications/venv-manager
build-arista-routing-engine-app: pre
$(GOBUILD) -trimpath -o $(BUILD_ARTIFACTS_PATH)/arista-routing-engine ./applications/arista-routing-engine
build-hostname-checker-app: pre
$(GOBUILD) -trimpath -o $(BUILD_ARTIFACTS_PATH)/hostname-checker ./applications/hostname-checker
containerize-all: containerize-gosdn containerize-gosdnc containerize-orchestrator containerize-target
containerize-gosdn:
......@@ -83,6 +93,12 @@ containerize-orchestrator:
containerize-target:
docker buildx build --rm -t gnmi-target --load -f csbi/gnmi-target/gnmitarget.Dockerfile .
containerize-arista-routing-engine-app:
docker buildx build --rm -t arista-routing-engine-app -f applications/arista-routing-engine/arista-routing-engine.Dockerfile .
containerize-hostname-checker-app:
docker buildx build --rm -t hostname-checker-app -f applications/hostname-checker/hostname-checker.Dockerfile .
containerlab-start: containerize-all
sudo containerlab deploy --topo gosdn.clab.yaml
......
......@@ -26,7 +26,7 @@ to get all submodules.
network using one unified controller.
`goSDN` provides:
* Model driven device representation
* Model driven device/network element representation
* Native multi vendor support
* Multi controller environments
......@@ -43,7 +43,7 @@ A simple showcase how the controller can be adressed after
- The `cli` is the CLI to manage the `controller`.
- `csbi` is the implementation of Containerised-Southbound-Interfaces (based on
the idea and the proof of concept of Manuel Kieweg). Allowing to request
capabilities of ONDs and generate a containerised Southbound-Interface based
capabilities of MNEs and generate a containerised Southbound-Interface based
on them.
- `controller` represents the `goSDN-controller`.
......@@ -51,19 +51,19 @@ A simple showcase how the controller can be adressed after
The `goSDN` controllers core - also called `nucleus` - is a lightweight library
that manages principal network domains and provides southbound interface
operations for orchestrated networking devices.
operations for managed network elements.
In addition we provide a simple Northbound-API for the controller ()
## Principal Networking Domain (PND)
The PND is the single source of truth within a network. Its state is held and
maintained by the controller. Any configuration of an OND has to be applied by
maintained by the controller. Any configuration of an MNE has to be applied by
the PND.
## Orchestrated Networking Device (OND)
## Managed Network Element (MNE)
Any device directly configured by `goSDN`
Any network element directly configured by `goSDN`
# Installing
`goSDN` provides a `Makefile` for all common use cases.
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc (unknown)
// source: gosdn/app/app.proto
package app
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
_ "google.golang.org/protobuf/types/descriptorpb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Status int32
const (
Status_STATUS_UNSPECIFIED Status = 0
Status_STATUS_OK Status = 1
Status_STATUS_ERROR Status = 2
)
// Enum value maps for Status.
var (
Status_name = map[int32]string{
0: "STATUS_UNSPECIFIED",
1: "STATUS_OK",
2: "STATUS_ERROR",
}
Status_value = map[string]int32{
"STATUS_UNSPECIFIED": 0,
"STATUS_OK": 1,
"STATUS_ERROR": 2,
}
)
func (x Status) Enum() *Status {
p := new(Status)
*p = x
return p
}
func (x Status) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Status) Descriptor() protoreflect.EnumDescriptor {
return file_gosdn_app_app_proto_enumTypes[0].Descriptor()
}
func (Status) Type() protoreflect.EnumType {
return &file_gosdn_app_app_proto_enumTypes[0]
}
func (x Status) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Status.Descriptor instead.
func (Status) EnumDescriptor() ([]byte, []int) {
return file_gosdn_app_app_proto_rawDescGZIP(), []int{0}
}
type AppRegisterRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Appname string `protobuf:"bytes,2,opt,name=appname,proto3" json:"appname,omitempty"`
Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"`
}
func (x *AppRegisterRequest) Reset() {
*x = AppRegisterRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_app_app_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppRegisterRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppRegisterRequest) ProtoMessage() {}
func (x *AppRegisterRequest) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_app_app_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AppRegisterRequest.ProtoReflect.Descriptor instead.
func (*AppRegisterRequest) Descriptor() ([]byte, []int) {
return file_gosdn_app_app_proto_rawDescGZIP(), []int{0}
}
func (x *AppRegisterRequest) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *AppRegisterRequest) GetAppname() string {
if x != nil {
return x.Appname
}
return ""
}
func (x *AppRegisterRequest) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
type AppRegisterResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.app.Status" json:"status,omitempty"`
Queueconnection string `protobuf:"bytes,3,opt,name=queueconnection,proto3" json:"queueconnection,omitempty"`
}
func (x *AppRegisterResponse) Reset() {
*x = AppRegisterResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_app_app_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppRegisterResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppRegisterResponse) ProtoMessage() {}
func (x *AppRegisterResponse) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_app_app_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AppRegisterResponse.ProtoReflect.Descriptor instead.
func (*AppRegisterResponse) Descriptor() ([]byte, []int) {
return file_gosdn_app_app_proto_rawDescGZIP(), []int{1}
}
func (x *AppRegisterResponse) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *AppRegisterResponse) GetStatus() Status {
if x != nil {
return x.Status
}
return Status_STATUS_UNSPECIFIED
}
func (x *AppRegisterResponse) GetQueueconnection() string {
if x != nil {
return x.Queueconnection
}
return ""
}
type AppDeregisterRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Appname string `protobuf:"bytes,2,opt,name=appname,proto3" json:"appname,omitempty"`
}
func (x *AppDeregisterRequest) Reset() {
*x = AppDeregisterRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_app_app_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppDeregisterRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppDeregisterRequest) ProtoMessage() {}
func (x *AppDeregisterRequest) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_app_app_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AppDeregisterRequest.ProtoReflect.Descriptor instead.
func (*AppDeregisterRequest) Descriptor() ([]byte, []int) {
return file_gosdn_app_app_proto_rawDescGZIP(), []int{2}
}
func (x *AppDeregisterRequest) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *AppDeregisterRequest) GetAppname() string {
if x != nil {
return x.Appname
}
return ""
}
type AppDeregisterResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.app.Status" json:"status,omitempty"`
}
func (x *AppDeregisterResponse) Reset() {
*x = AppDeregisterResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_gosdn_app_app_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppDeregisterResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppDeregisterResponse) ProtoMessage() {}
func (x *AppDeregisterResponse) ProtoReflect() protoreflect.Message {
mi := &file_gosdn_app_app_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AppDeregisterResponse.ProtoReflect.Descriptor instead.
func (*AppDeregisterResponse) Descriptor() ([]byte, []int) {
return file_gosdn_app_app_proto_rawDescGZIP(), []int{3}
}
func (x *AppDeregisterResponse) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *AppDeregisterResponse) GetStatus() Status {
if x != nil {
return x.Status
}
return Status_STATUS_UNSPECIFIED
}
var File_gosdn_app_app_proto protoreflect.FileDescriptor
var file_gosdn_app_app_proto_rawDesc = []byte{
0x0a, 0x13, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, 0x70, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x61, 0x70, 0x70,
0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65,
0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x62, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73,
0x64, 0x6e, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x63, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
0x71, 0x75, 0x65, 0x75, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x4e, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x22,
0x60, 0x0a, 0x15, 0x41, 0x70, 0x70, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x61,
0x70, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x2a, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53,
0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b,
0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52,
0x4f, 0x52, 0x10, 0x02, 0x32, 0xd6, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12,
0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x0a, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x41,
0x70, 0x70, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x61, 0x70, 0x70, 0x2e,
0x41, 0x70, 0x70, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x3a, 0x01, 0x2a,
0x22, 0x0b, 0x2f, 0x64, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x42, 0x2f, 0x5a,
0x2d, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, 0x2e, 0x64,
0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x61, 0x70, 0x70, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_gosdn_app_app_proto_rawDescOnce sync.Once
file_gosdn_app_app_proto_rawDescData = file_gosdn_app_app_proto_rawDesc
)
func file_gosdn_app_app_proto_rawDescGZIP() []byte {
file_gosdn_app_app_proto_rawDescOnce.Do(func() {
file_gosdn_app_app_proto_rawDescData = protoimpl.X.CompressGZIP(file_gosdn_app_app_proto_rawDescData)
})
return file_gosdn_app_app_proto_rawDescData
}
var file_gosdn_app_app_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_gosdn_app_app_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_gosdn_app_app_proto_goTypes = []interface{}{
(Status)(0), // 0: gosdn.app.Status
(*AppRegisterRequest)(nil), // 1: gosdn.app.AppRegisterRequest
(*AppRegisterResponse)(nil), // 2: gosdn.app.AppRegisterResponse
(*AppDeregisterRequest)(nil), // 3: gosdn.app.AppDeregisterRequest
(*AppDeregisterResponse)(nil), // 4: gosdn.app.AppDeregisterResponse
}
var file_gosdn_app_app_proto_depIdxs = []int32{
0, // 0: gosdn.app.AppRegisterResponse.status:type_name -> gosdn.app.Status
0, // 1: gosdn.app.AppDeregisterResponse.status:type_name -> gosdn.app.Status
1, // 2: gosdn.app.AppService.Register:input_type -> gosdn.app.AppRegisterRequest
3, // 3: gosdn.app.AppService.Deregister:input_type -> gosdn.app.AppDeregisterRequest
2, // 4: gosdn.app.AppService.Register:output_type -> gosdn.app.AppRegisterResponse
4, // 5: gosdn.app.AppService.Deregister:output_type -> gosdn.app.AppDeregisterResponse
4, // [4:6] is the sub-list for method output_type
2, // [2:4] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_gosdn_app_app_proto_init() }
func file_gosdn_app_app_proto_init() {
if File_gosdn_app_app_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_gosdn_app_app_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppRegisterRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gosdn_app_app_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppRegisterResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gosdn_app_app_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppDeregisterRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_gosdn_app_app_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppDeregisterResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_gosdn_app_app_proto_rawDesc,
NumEnums: 1,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_gosdn_app_app_proto_goTypes,
DependencyIndexes: file_gosdn_app_app_proto_depIdxs,
EnumInfos: file_gosdn_app_app_proto_enumTypes,
MessageInfos: file_gosdn_app_app_proto_msgTypes,
}.Build()
File_gosdn_app_app_proto = out.File
file_gosdn_app_app_proto_rawDesc = nil
file_gosdn_app_app_proto_goTypes = nil
file_gosdn_app_app_proto_depIdxs = nil
}
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
// source: gosdn/app/app.proto
/*
Package app is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
*/
package app
import (
"context"
"io"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/proto"
)
// Suppress "imported and not used" errors
var _ codes.Code
var _ io.Reader
var _ status.Status
var _ = runtime.String
var _ = utilities.NewDoubleArray
var _ = metadata.Join
func request_AppService_Register_0(ctx context.Context, marshaler runtime.Marshaler, client AppServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq AppRegisterRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.Register(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_AppService_Register_0(ctx context.Context, marshaler runtime.Marshaler, server AppServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq AppRegisterRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.Register(ctx, &protoReq)
return msg, metadata, err
}
func request_AppService_Deregister_0(ctx context.Context, marshaler runtime.Marshaler, client AppServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq AppDeregisterRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.Deregister(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_AppService_Deregister_0(ctx context.Context, marshaler runtime.Marshaler, server AppServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq AppDeregisterRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.Deregister(ctx, &protoReq)
return msg, metadata, err
}
// RegisterAppServiceHandlerServer registers the http handlers for service AppService to "mux".
// UnaryRPC :call AppServiceServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAppServiceHandlerFromEndpoint instead.
func RegisterAppServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AppServiceServer) error {
mux.Handle("POST", pattern_AppService_Register_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.app.AppService/Register", runtime.WithHTTPPathPattern("/register"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_AppService_Register_0(rctx, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_AppService_Register_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("POST", pattern_AppService_Deregister_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.app.AppService/Deregister", runtime.WithHTTPPathPattern("/deregister"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_AppService_Deregister_0(rctx, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_AppService_Deregister_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
// 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.Dial(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)
}
return
}
go func() {
<-ctx.Done()
if cerr := conn.Close(); cerr != nil {
grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
}
}()
}()
return RegisterAppServiceHandler(ctx, mux, conn)
}
// RegisterAppServiceHandler registers the http handlers for service AppService to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterAppServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
return RegisterAppServiceHandlerClient(ctx, mux, NewAppServiceClient(conn))
}
// RegisterAppServiceHandlerClient registers the http handlers for service AppService
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AppServiceClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AppServiceClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "AppServiceClient" to call the correct interceptors.
func RegisterAppServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AppServiceClient) error {
mux.Handle("POST", pattern_AppService_Register_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.app.AppService/Register", runtime.WithHTTPPathPattern("/register"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_AppService_Register_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_AppService_Register_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("POST", pattern_AppService_Deregister_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.app.AppService/Deregister", runtime.WithHTTPPathPattern("/deregister"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_AppService_Deregister_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_AppService_Deregister_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
var (
pattern_AppService_Register_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"register"}, ""))
pattern_AppService_Deregister_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"deregister"}, ""))
)
var (
forward_AppService_Register_0 = runtime.ForwardResponseMessage
forward_AppService_Deregister_0 = runtime.ForwardResponseMessage
)
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package app
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// 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
// AppServiceClient is the client API for AppService 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.
type AppServiceClient interface {
// Allows the registration of an application in order to use it with the controller.
Register(ctx context.Context, in *AppRegisterRequest, opts ...grpc.CallOption) (*AppRegisterResponse, error)
// Allows the deregistration of an application that is currently registered to the controller.
Deregister(ctx context.Context, in *AppDeregisterRequest, opts ...grpc.CallOption) (*AppDeregisterResponse, error)
}
type appServiceClient struct {
cc grpc.ClientConnInterface
}
func NewAppServiceClient(cc grpc.ClientConnInterface) AppServiceClient {
return &appServiceClient{cc}
}
func (c *appServiceClient) Register(ctx context.Context, in *AppRegisterRequest, opts ...grpc.CallOption) (*AppRegisterResponse, error) {
out := new(AppRegisterResponse)
err := c.cc.Invoke(ctx, "/gosdn.app.AppService/Register", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *appServiceClient) Deregister(ctx context.Context, in *AppDeregisterRequest, opts ...grpc.CallOption) (*AppDeregisterResponse, error) {
out := new(AppDeregisterResponse)
err := c.cc.Invoke(ctx, "/gosdn.app.AppService/Deregister", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// AppServiceServer is the server API for AppService service.
// All implementations must embed UnimplementedAppServiceServer
// for forward compatibility
type AppServiceServer interface {
// Allows the registration of an application in order to use it with the controller.
Register(context.Context, *AppRegisterRequest) (*AppRegisterResponse, error)
// Allows the deregistration of an application that is currently registered to the controller.
Deregister(context.Context, *AppDeregisterRequest) (*AppDeregisterResponse, error)
mustEmbedUnimplementedAppServiceServer()
}
// UnimplementedAppServiceServer must be embedded to have forward compatible implementations.
type UnimplementedAppServiceServer struct {
}
func (UnimplementedAppServiceServer) Register(context.Context, *AppRegisterRequest) (*AppRegisterResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Register not implemented")
}
func (UnimplementedAppServiceServer) Deregister(context.Context, *AppDeregisterRequest) (*AppDeregisterResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Deregister not implemented")
}
func (UnimplementedAppServiceServer) mustEmbedUnimplementedAppServiceServer() {}
// UnsafeAppServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AppServiceServer will
// result in compilation errors.
type UnsafeAppServiceServer interface {
mustEmbedUnimplementedAppServiceServer()
}
func RegisterAppServiceServer(s grpc.ServiceRegistrar, srv AppServiceServer) {
s.RegisterService(&AppService_ServiceDesc, srv)
}
func _AppService_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AppRegisterRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AppServiceServer).Register(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/gosdn.app.AppService/Register",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AppServiceServer).Register(ctx, req.(*AppRegisterRequest))
}
return interceptor(ctx, in, info, handler)
}
func _AppService_Deregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AppDeregisterRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AppServiceServer).Deregister(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/gosdn.app.AppService/Deregister",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AppServiceServer).Deregister(ctx, req.(*AppDeregisterRequest))
}
return interceptor(ctx, in, info, handler)
}
// AppService_ServiceDesc is the grpc.ServiceDesc for AppService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AppService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "gosdn.app.AppService",
HandlerType: (*AppServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Register",
Handler: _AppService_Register_Handler,
},
{
MethodName: "Deregister",
Handler: _AppService_Deregister_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "gosdn/app/app.proto",
}
This diff is collapsed.
This diff is collapsed.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package device
package networkelement
import (
context "context"
......@@ -14,196 +14,196 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// DeviceServiceClient is the client API for DeviceService service.
// NetworkElementServiceClient is the client API for NetworkElementService 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.
type DeviceServiceClient interface {
Add(ctx context.Context, in *AddDeviceRequest, opts ...grpc.CallOption) (*AddDeviceResponse, error)
Get(ctx context.Context, in *GetDeviceRequest, opts ...grpc.CallOption) (*GetDeviceResponse, error)
GetAll(ctx context.Context, in *GetAllDeviceRequest, opts ...grpc.CallOption) (*GetAllDeviceResponse, error)
Update(ctx context.Context, in *UpdateDeviceRequest, opts ...grpc.CallOption) (*UpdateDeviceResponse, error)
type NetworkElementServiceClient interface {
Add(ctx context.Context, in *AddNetworkElementRequest, opts ...grpc.CallOption) (*AddNetworkElementResponse, error)
Get(ctx context.Context, in *GetNetworkElementRequest, opts ...grpc.CallOption) (*GetNetworkElementResponse, error)
GetAll(ctx context.Context, in *GetAllNetworkElementRequest, opts ...grpc.CallOption) (*GetAllNetworkElementResponse, error)
Update(ctx context.Context, in *UpdateNetworkElementRequest, opts ...grpc.CallOption) (*UpdateNetworkElementResponse, error)
}
type deviceServiceClient struct {
type networkElementServiceClient struct {
cc grpc.ClientConnInterface
}
func NewDeviceServiceClient(cc grpc.ClientConnInterface) DeviceServiceClient {
return &deviceServiceClient{cc}
func NewNetworkElementServiceClient(cc grpc.ClientConnInterface) NetworkElementServiceClient {
return &networkElementServiceClient{cc}
}
func (c *deviceServiceClient) Add(ctx context.Context, in *AddDeviceRequest, opts ...grpc.CallOption) (*AddDeviceResponse, error) {
out := new(AddDeviceResponse)
err := c.cc.Invoke(ctx, "/gosdn.device.DeviceService/Add", in, out, opts...)
func (c *networkElementServiceClient) Add(ctx context.Context, in *AddNetworkElementRequest, opts ...grpc.CallOption) (*AddNetworkElementResponse, error) {
out := new(AddNetworkElementResponse)
err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/Add", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *deviceServiceClient) Get(ctx context.Context, in *GetDeviceRequest, opts ...grpc.CallOption) (*GetDeviceResponse, error) {
out := new(GetDeviceResponse)
err := c.cc.Invoke(ctx, "/gosdn.device.DeviceService/Get", in, out, opts...)
func (c *networkElementServiceClient) Get(ctx context.Context, in *GetNetworkElementRequest, opts ...grpc.CallOption) (*GetNetworkElementResponse, error) {
out := new(GetNetworkElementResponse)
err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/Get", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *deviceServiceClient) GetAll(ctx context.Context, in *GetAllDeviceRequest, opts ...grpc.CallOption) (*GetAllDeviceResponse, error) {
out := new(GetAllDeviceResponse)
err := c.cc.Invoke(ctx, "/gosdn.device.DeviceService/GetAll", in, out, opts...)
func (c *networkElementServiceClient) GetAll(ctx context.Context, in *GetAllNetworkElementRequest, opts ...grpc.CallOption) (*GetAllNetworkElementResponse, error) {
out := new(GetAllNetworkElementResponse)
err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/GetAll", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *deviceServiceClient) Update(ctx context.Context, in *UpdateDeviceRequest, opts ...grpc.CallOption) (*UpdateDeviceResponse, error) {
out := new(UpdateDeviceResponse)
err := c.cc.Invoke(ctx, "/gosdn.device.DeviceService/Update", in, out, opts...)
func (c *networkElementServiceClient) Update(ctx context.Context, in *UpdateNetworkElementRequest, opts ...grpc.CallOption) (*UpdateNetworkElementResponse, error) {
out := new(UpdateNetworkElementResponse)
err := c.cc.Invoke(ctx, "/gosdn.networkelement.NetworkElementService/Update", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// DeviceServiceServer is the server API for DeviceService service.
// All implementations must embed UnimplementedDeviceServiceServer
// NetworkElementServiceServer is the server API for NetworkElementService service.
// All implementations must embed UnimplementedNetworkElementServiceServer
// for forward compatibility
type DeviceServiceServer interface {
Add(context.Context, *AddDeviceRequest) (*AddDeviceResponse, error)
Get(context.Context, *GetDeviceRequest) (*GetDeviceResponse, error)
GetAll(context.Context, *GetAllDeviceRequest) (*GetAllDeviceResponse, error)
Update(context.Context, *UpdateDeviceRequest) (*UpdateDeviceResponse, error)
mustEmbedUnimplementedDeviceServiceServer()
type NetworkElementServiceServer interface {
Add(context.Context, *AddNetworkElementRequest) (*AddNetworkElementResponse, error)
Get(context.Context, *GetNetworkElementRequest) (*GetNetworkElementResponse, error)
GetAll(context.Context, *GetAllNetworkElementRequest) (*GetAllNetworkElementResponse, error)
Update(context.Context, *UpdateNetworkElementRequest) (*UpdateNetworkElementResponse, error)
mustEmbedUnimplementedNetworkElementServiceServer()
}
// UnimplementedDeviceServiceServer must be embedded to have forward compatible implementations.
type UnimplementedDeviceServiceServer struct {
// UnimplementedNetworkElementServiceServer must be embedded to have forward compatible implementations.
type UnimplementedNetworkElementServiceServer struct {
}
func (UnimplementedDeviceServiceServer) Add(context.Context, *AddDeviceRequest) (*AddDeviceResponse, error) {
func (UnimplementedNetworkElementServiceServer) Add(context.Context, *AddNetworkElementRequest) (*AddNetworkElementResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Add not implemented")
}
func (UnimplementedDeviceServiceServer) Get(context.Context, *GetDeviceRequest) (*GetDeviceResponse, error) {
func (UnimplementedNetworkElementServiceServer) Get(context.Context, *GetNetworkElementRequest) (*GetNetworkElementResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
}
func (UnimplementedDeviceServiceServer) GetAll(context.Context, *GetAllDeviceRequest) (*GetAllDeviceResponse, error) {
func (UnimplementedNetworkElementServiceServer) GetAll(context.Context, *GetAllNetworkElementRequest) (*GetAllNetworkElementResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetAll not implemented")
}
func (UnimplementedDeviceServiceServer) Update(context.Context, *UpdateDeviceRequest) (*UpdateDeviceResponse, error) {
func (UnimplementedNetworkElementServiceServer) Update(context.Context, *UpdateNetworkElementRequest) (*UpdateNetworkElementResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
}
func (UnimplementedDeviceServiceServer) mustEmbedUnimplementedDeviceServiceServer() {}
func (UnimplementedNetworkElementServiceServer) mustEmbedUnimplementedNetworkElementServiceServer() {}
// UnsafeDeviceServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to DeviceServiceServer will
// UnsafeNetworkElementServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to NetworkElementServiceServer will
// result in compilation errors.
type UnsafeDeviceServiceServer interface {
mustEmbedUnimplementedDeviceServiceServer()
type UnsafeNetworkElementServiceServer interface {
mustEmbedUnimplementedNetworkElementServiceServer()
}
func RegisterDeviceServiceServer(s grpc.ServiceRegistrar, srv DeviceServiceServer) {
s.RegisterService(&DeviceService_ServiceDesc, srv)
func RegisterNetworkElementServiceServer(s grpc.ServiceRegistrar, srv NetworkElementServiceServer) {
s.RegisterService(&NetworkElementService_ServiceDesc, srv)
}
func _DeviceService_Add_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddDeviceRequest)
func _NetworkElementService_Add_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddNetworkElementRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DeviceServiceServer).Add(ctx, in)
return srv.(NetworkElementServiceServer).Add(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/gosdn.device.DeviceService/Add",
FullMethod: "/gosdn.networkelement.NetworkElementService/Add",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Add(ctx, req.(*AddDeviceRequest))
return srv.(NetworkElementServiceServer).Add(ctx, req.(*AddNetworkElementRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DeviceService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetDeviceRequest)
func _NetworkElementService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetNetworkElementRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DeviceServiceServer).Get(ctx, in)
return srv.(NetworkElementServiceServer).Get(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/gosdn.device.DeviceService/Get",
FullMethod: "/gosdn.networkelement.NetworkElementService/Get",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Get(ctx, req.(*GetDeviceRequest))
return srv.(NetworkElementServiceServer).Get(ctx, req.(*GetNetworkElementRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DeviceService_GetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetAllDeviceRequest)
func _NetworkElementService_GetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetAllNetworkElementRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DeviceServiceServer).GetAll(ctx, in)
return srv.(NetworkElementServiceServer).GetAll(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/gosdn.device.DeviceService/GetAll",
FullMethod: "/gosdn.networkelement.NetworkElementService/GetAll",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).GetAll(ctx, req.(*GetAllDeviceRequest))
return srv.(NetworkElementServiceServer).GetAll(ctx, req.(*GetAllNetworkElementRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DeviceService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateDeviceRequest)
func _NetworkElementService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateNetworkElementRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DeviceServiceServer).Update(ctx, in)
return srv.(NetworkElementServiceServer).Update(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/gosdn.device.DeviceService/Update",
FullMethod: "/gosdn.networkelement.NetworkElementService/Update",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Update(ctx, req.(*UpdateDeviceRequest))
return srv.(NetworkElementServiceServer).Update(ctx, req.(*UpdateNetworkElementRequest))
}
return interceptor(ctx, in, info, handler)
}
// DeviceService_ServiceDesc is the grpc.ServiceDesc for DeviceService service.
// NetworkElementService_ServiceDesc is the grpc.ServiceDesc for NetworkElementService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var DeviceService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "gosdn.device.DeviceService",
HandlerType: (*DeviceServiceServer)(nil),
var NetworkElementService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "gosdn.networkelement.NetworkElementService",
HandlerType: (*NetworkElementServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Add",
Handler: _DeviceService_Add_Handler,
Handler: _NetworkElementService_Add_Handler,
},
{
MethodName: "Get",
Handler: _DeviceService_Get_Handler,
Handler: _NetworkElementService_Get_Handler,
},
{
MethodName: "GetAll",
Handler: _DeviceService_GetAll_Handler,
Handler: _NetworkElementService_GetAll_Handler,
},
{
MethodName: "Update",
Handler: _DeviceService_Update_Handler,
Handler: _NetworkElementService_Update_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "gosdn/device/device.proto",
Metadata: "gosdn/networkelement/networkelement.proto",
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.