Newer
Older
mnepb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement"
tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/change"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/southbound"
"google.golang.org/protobuf/proto"
)
// NetworkDomain provides an interface for network domain implementations
// like principal network domain or logical network domain.
type NetworkDomain interface {
Destroy() error
AddSbi(s southbound.SouthboundInterface) error
RemoveSbi(uuid.UUID) error
AddNetworkElement(name string, opts *tpb.TransportOption, sid uuid.UUID) (uuid.UUID, error)
GetNetworkElement(identifier string) (networkelement.NetworkElement, error)
RemoveNetworkElement(uuid.UUID) error
NetworkElements() []networkelement.NetworkElement
FlattenedNetworkElements() []networkelement.LoadedNetworkElement
ChangeMNE(uuid uuid.UUID, operation mnepb.ApiOperation, path string, value ...string) (uuid.UUID, error)
Request(uuid.UUID, string) (proto.Message, error)
RequestAll(string) error
GetName() string
GetDescription() string
MarshalNetworkElement(string) (string, error)
GetSBIs() ([]southbound.SouthboundInterface, error)
GetSBI(uuid.UUID) (southbound.SouthboundInterface, error)
ID() uuid.UUID
PendingChanges() []uuid.UUID
CommittedChanges() []uuid.UUID
Commit(uuid.UUID) error
Confirm(uuid.UUID) error
SubscribePath(uuid.UUID, *mnepb.SubscriptionList) error
// LoadedPnd represents a PND that was loaded.
type LoadedPnd struct {
ID string `json:"id" bson:"id"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
}