Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
sbi.go 807 B
package southbound

import (
	spb "code.fbi.h-da.de/cocsn/api/go/gosdn/southbound"
	"github.com/openconfig/ygot/ygot"

	"github.com/google/uuid"
	gpb "github.com/openconfig/gnmi/proto/gnmi"
	"github.com/openconfig/goyang/pkg/yang"
	"github.com/openconfig/ygot/ytypes"
)

// SouthboundInterface provides an
// interface for SBI implementations
type SouthboundInterface interface { // nolint
	// deprecated
	SbiIdentifier() string

	// SetNode injects SBI specific model
	// representation to the transport.
	// Needed for type assertion.
	SetNode() func(schema *yang.Entry, root interface{}, path *gpb.Path, val interface{}, opts ...ytypes.SetNodeOpt) error
	Schema() *ytypes.Schema
	ID() uuid.UUID
	Type() spb.Type
	Unmarshal() func([]byte, []string, ygot.ValidatedGoStruct, ...ytypes.UnmarshalOpt) error
}