utils

package
v0.0.45 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2024 License: Apache-2.0 Imports: 18 Imported by: 3

Documentation

Index

Constants

View Source
const (
	NcBase1_0 = "urn:ietf:params:xml:ns:netconf:base:1.0"
)

Variables

This section is empty.

Functions

func AddXMLOperation added in v0.0.44

func AddXMLOperation(elem *etree.Element, operation XMLOperation, operationWithNamespace bool, useOperationRemove bool)

AddXMLOperation adds the operation Attribute to the given etree.Element if the operation is XMLOperationDelete or XMLOperationRemove, the useOperationRemove parameter defines which operation of these is finally used. if XMLOperationReplace is providede, the replace operation is addded.

func CompletePath

func CompletePath(prefix, path *sdcpb.Path) ([]string, error)

func CompletePathFromString

func CompletePathFromString(s string) ([]string, error)

func Convert added in v0.0.42

func Convert(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertBinary added in v0.0.42

func ConvertBinary(value string, slt *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertBoolean added in v0.0.42

func ConvertBoolean(value string, _ *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertDecimal64 added in v0.0.42

func ConvertDecimal64(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertEnumeration added in v0.0.42

func ConvertEnumeration(value string, slt *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertIdentityRef added in v0.0.42

func ConvertIdentityRef(value string, slt *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertInstanceIdentifier added in v0.0.42

func ConvertInstanceIdentifier(value string, slt *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertInt16 added in v0.0.42

func ConvertInt16(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertInt32 added in v0.0.42

func ConvertInt32(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertInt64 added in v0.0.42

func ConvertInt64(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertInt8 added in v0.0.42

func ConvertInt8(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertJsonValueToTv added in v0.0.44

func ConvertJsonValueToTv(d any, slt *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertLeafRef added in v0.0.42

func ConvertLeafRef(value string, slt *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertSdcpbNumberToInt64 added in v0.0.42

func ConvertSdcpbNumberToInt64(mm *sdcpb.Number) (int64, error)

func ConvertSdcpbNumberToUint64 added in v0.0.42

func ConvertSdcpbNumberToUint64(mm *sdcpb.Number) (uint64, error)

func ConvertString added in v0.0.42

func ConvertString(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertToTypedValue added in v0.0.44

func ConvertToTypedValue(schemaObject *sdcpb.SchemaElem, v string, ts uint64) (*sdcpb.TypedValue, error)

func ConvertTypedValueToYANGType added in v0.0.44

func ConvertTypedValueToYANGType(schemaElem *sdcpb.SchemaElem, tv *sdcpb.TypedValue) (*sdcpb.TypedValue, error)

func ConvertUint16 added in v0.0.42

func ConvertUint16(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertUint32 added in v0.0.42

func ConvertUint32(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertUint64 added in v0.0.42

func ConvertUint64(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertUint8 added in v0.0.42

func ConvertUint8(value string, lst *sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func ConvertUnion added in v0.0.42

func ConvertUnion(value string, slts []*sdcpb.SchemaLeafType) (*sdcpb.TypedValue, error)

func CopyMap

func CopyMap(m map[string]string) map[string]string

func CopyPath

func CopyPath(p *sdcpb.Path) *sdcpb.Path

func EqualTypedValues

func EqualTypedValues(v1, v2 *sdcpb.TypedValue) bool

func FromGNMIPath

func FromGNMIPath(pre, p *gnmi.Path) *sdcpb.Path

func FromGNMITypedValue

func FromGNMITypedValue(v *gnmi.TypedValue) *sdcpb.TypedValue

func GetJsonValue added in v0.0.44

func GetJsonValue(tv *sdcpb.TypedValue, ietf bool) (any, error)

func GetNamespaceFromGetSchema added in v0.0.44

func GetNamespaceFromGetSchema(s *sdcpb.SchemaElem) string

func GetSchemaElemModuleName added in v0.0.44

func GetSchemaElemModuleName(s *sdcpb.SchemaElem) (moduleName string)

func GetSchemaValue

func GetSchemaValue(updValue *sdcpb.TypedValue) (interface{}, error)

func GetValue

func GetValue(updValue *gnmi.TypedValue) (interface{}, error)

func NotificationsEqual

func NotificationsEqual(n1, n2 *sdcpb.Notification) bool

func ParseDecimal64

func ParseDecimal64(v string) (*sdcpb.Decimal64, error)

func ParsePath

func ParsePath(p string) (*sdcpb.Path, error)

ParsePath creates a sdcpb.Path out of a p string, check if the first element is prefixed by an origin, removes it from the xpath and adds it to the returned sdcpb.Path

func PathsEqual

func PathsEqual(p1, p2 *sdcpb.Path) bool

func StripPathElemPrefix

func StripPathElemPrefix(p string) (string, error)

func StripPathElemPrefixPath added in v0.0.44

func StripPathElemPrefixPath(p *sdcpb.Path)

func ToGNMIPath

func ToGNMIPath(p *sdcpb.Path) *gnmi.Path

func ToGNMITypedValue

func ToGNMITypedValue(v *sdcpb.TypedValue) *gnmi.TypedValue

func ToSchemaNotification

func ToSchemaNotification(n *gnmi.Notification) *sdcpb.Notification

func ToStrings

func ToStrings(p *sdcpb.Path, prefix, nokeys bool) []string

ToStrings converts gnmi.Path to index strings. When index strings are generated, gnmi.Path will be irreversibly lost. Index strings will be built by using name field in gnmi.PathElem. If gnmi.PathElem has key field, values will be included in alphabetical order of the keys. E.g. <target>/<origin>/a/b[b:d, a:c]/e will be returned as <target>/<origin>/a/b/c/d/e If prefix parameter is set to true, <target> and <origin> fields of the gnmi.Path will be prepended in the index strings unless they are empty string. gnmi.Path.Element field is deprecated, but being gracefully handled by this function in the absence of gnmi.Path.Elem.

func ToXPath

func ToXPath(p *sdcpb.Path, noKeys bool) string

func TypedValueToString

func TypedValueToString(tv *sdcpb.TypedValue) string

func TypedValueToXML added in v0.0.44

func TypedValueToXML(parent *etree.Element, tv *sdcpb.TypedValue, name string, namespace string, onlyNewOrUpdated bool, operationWithNamespace bool, useOperationRemove bool)

func TypedValueToYANGType added in v0.0.44

func TypedValueToYANGType(tv *sdcpb.TypedValue, schemaObject *sdcpb.SchemaElem) (*sdcpb.TypedValue, error)

func XmlRecursiveSortElementsByTagName added in v0.0.44

func XmlRecursiveSortElementsByTagName(element *etree.Element)

XmlRecursiveSortElementsByTagName - is a function used in testing to recursively sort XML elements by their tag name

Types

type Converter added in v0.0.44

type Converter struct {
	// contains filtered or unexported fields
}

func NewConverter added in v0.0.44

func NewConverter(scb SchemaClientBound) *Converter

func (*Converter) ConvertNotificationTypedValues added in v0.0.44

func (c *Converter) ConvertNotificationTypedValues(ctx context.Context, n *sdcpb.Notification) (*sdcpb.Notification, error)

func (*Converter) ConvertTypedValueToProto added in v0.0.44

func (c *Converter) ConvertTypedValueToProto(ctx context.Context, p *sdcpb.Path, tv *sdcpb.TypedValue) (*sdcpb.TypedValue, error)

func (*Converter) ExpandContainerValue added in v0.0.44

func (c *Converter) ExpandContainerValue(ctx context.Context, p *sdcpb.Path, jv any, cs *sdcpb.SchemaElem_Container, includeKeysAsLeaf bool) ([]*sdcpb.Update, error)

func (*Converter) ExpandUpdate added in v0.0.44

func (c *Converter) ExpandUpdate(ctx context.Context, upd *sdcpb.Update, includeKeysAsLeaf bool) ([]*sdcpb.Update, error)

expandUpdate Expands the value, in case of json to single typed value updates

func (*Converter) ExpandUpdateKeysAsLeaf added in v0.0.44

func (c *Converter) ExpandUpdateKeysAsLeaf(ctx context.Context, upd *sdcpb.Update) ([]*sdcpb.Update, error)

func (*Converter) ExpandUpdates added in v0.0.44

func (c *Converter) ExpandUpdates(ctx context.Context, updates []*sdcpb.Update, includeKeysAsLeaf bool) ([]*sdcpb.Update, error)

type SRng added in v0.0.42

type SRng struct {
	// contains filtered or unexported fields
}

urng represents a single unsigned range

func (*SRng) String added in v0.0.42

func (r *SRng) String() string

type SRnges added in v0.0.42

type SRnges struct {
	// contains filtered or unexported fields
}

urnges represents a collection of rng (range)

func NewSrnges added in v0.0.42

func NewSrnges() *SRnges

type SchemaClientBound added in v0.0.44

type SchemaClientBound interface {
	// GetSchema retrieves the schema for the given path
	GetSchema(ctx context.Context, path *sdcpb.Path) (*sdcpb.GetSchemaResponse, error)
	// GetSchemaElements retrieves the Schema Elements for all levels of the given path
	GetSchemaElements(ctx context.Context, p *sdcpb.Path, done chan struct{}) (chan *sdcpb.GetSchemaResponse, error)
	ToPath(ctx context.Context, path []string) (*sdcpb.Path, error)
}

SchemaClientBound provides access to a certain vendor + model + version based schema

type URng added in v0.0.42

type URng struct {
	// contains filtered or unexported fields
}

URng represents a single unsigned range

func (*URng) String added in v0.0.42

func (r *URng) String() string

type URnges added in v0.0.42

type URnges struct {
	// contains filtered or unexported fields
}

URnges represents a collection of rng (range)

func NewUrnges added in v0.0.42

func NewUrnges() *URnges

type XMLOperation added in v0.0.44

type XMLOperation string
const (
	XMLOperationDelete  XMLOperation = "delete"
	XMLOperationRemove  XMLOperation = "remove"
	XMLOperationReplace XMLOperation = "replace"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL