types

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 8 Imported by: 1,602

Documentation

Index

Constants

View Source
const (
	ErrUnknown                     uint = iota // 0
	ErrIncompatibleCNIVersion                  // 1
	ErrUnsupportedField                        // 2
	ErrUnknownContainer                        // 3
	ErrInvalidEnvironmentVariables             // 4
	ErrIOFailure                               // 5
	ErrDecodingFailure                         // 6
	ErrInvalidNetworkConfig                    // 7
	ErrInvalidNetNS                            // 8
	ErrTryAgainLater               uint = 11
	ErrInternal                    uint = 999
)

Well known error codes see https://github.com/containernetworking/cni/blob/main/SPEC.md#well-known-error-codes

Variables

This section is empty.

Functions

func GetKeyField

func GetKeyField(keyString string, v reflect.Value) reflect.Value

GetKeyField is a helper function to receive Values Values that represent a pointer to a struct

func LoadArgs

func LoadArgs(args string, container interface{}) error

LoadArgs parses args from a string in the form "K=V;K2=V2;..."

func ParseCIDR

func ParseCIDR(s string) (*net.IPNet, error)

ParseCIDR takes a string like "10.2.3.1/24" and return IPNet with "10.2.3.1" and /24 mask

func PrintResult added in v0.5.0

func PrintResult(result Result, version string) error

Types

type CommonArgs

type CommonArgs struct {
	IgnoreUnknown UnmarshallableBool `json:"ignoreunknown,omitempty"`
}

CommonArgs contains the IgnoreUnknown argument and must be embedded by all Arg structs

type DNS

type DNS struct {
	Nameservers []string `json:"nameservers,omitempty"`
	Domain      string   `json:"domain,omitempty"`
	Search      []string `json:"search,omitempty"`
	Options     []string `json:"options,omitempty"`
}

DNS contains values interesting for DNS resolvers

func (*DNS) Copy added in v1.0.0

func (d *DNS) Copy() *DNS

func (*DNS) IsEmpty added in v1.2.0

func (d *DNS) IsEmpty() bool

IsEmpty returns true if DNS structure has no value, otherwise return false

type Error

type Error struct {
	Code    uint   `json:"code"`
	Msg     string `json:"msg"`
	Details string `json:"details,omitempty"`
}

func NewError added in v0.8.0

func NewError(code uint, msg, details string) *Error

func (*Error) Error

func (e *Error) Error() string

func (*Error) Print

func (e *Error) Print() error

type GCAttachment added in v1.2.0

type GCAttachment struct {
	ContainerID string `json:"containerID"`
	IfName      string `json:"ifname"`
}

GCAttachment is the parameters to a GC call -- namely, the container ID and ifname pair that represents a still-valid attachment.

type IPAM added in v0.7.0

type IPAM struct {
	Type string `json:"type,omitempty"`
}

func (*IPAM) IsEmpty added in v1.2.0

func (i *IPAM) IsEmpty() bool

IsEmpty returns true if IPAM structure has no value, otherwise return false

type IPNet

type IPNet net.IPNet

like net.IPNet but adds JSON marshalling and unmarshalling

func (IPNet) MarshalJSON

func (n IPNet) MarshalJSON() ([]byte, error)

func (*IPNet) UnmarshalJSON

func (n *IPNet) UnmarshalJSON(data []byte) error

type NetConf

type NetConf struct {
	CNIVersion string `json:"cniVersion,omitempty"`

	Name         string          `json:"name,omitempty"`
	Type         string          `json:"type,omitempty"`
	Capabilities map[string]bool `json:"capabilities,omitempty"`
	IPAM         IPAM            `json:"ipam,omitempty"`
	DNS          DNS             `json:"dns,omitempty"`

	RawPrevResult map[string]interface{} `json:"prevResult,omitempty"`
	PrevResult    Result                 `json:"-"`

	// ValidAttachments is only supplied when executing a GC operation
	ValidAttachments []GCAttachment `json:"cni.dev/valid-attachments,omitempty"`
}

NetConf describes a network.

func (*NetConf) MarshalJSON added in v1.2.0

func (n *NetConf) MarshalJSON() ([]byte, error)

Note: DNS should be omit if DNS is empty but default Marshal function will output empty structure hence need to write a Marshal function

type NetConfList added in v0.5.0

type NetConfList struct {
	CNIVersion string `json:"cniVersion,omitempty"`

	Name         string     `json:"name,omitempty"`
	DisableCheck bool       `json:"disableCheck,omitempty"`
	Plugins      []*NetConf `json:"plugins,omitempty"`
}

NetConfList describes an ordered list of networks.

type Result

type Result interface {
	// The highest CNI specification result version the result supports
	// without having to convert
	Version() string

	// Returns the result converted into the requested CNI specification
	// result version, or an error if conversion failed
	GetAsVersion(version string) (Result, error)

	// Prints the result in JSON format to stdout
	Print() error

	// Prints the result in JSON format to provided writer
	PrintTo(writer io.Writer) error
}

Result is an interface that provides the result of plugin execution

type Route

type Route struct {
	Dst      net.IPNet
	GW       net.IP
	MTU      int
	AdvMSS   int
	Priority int
	Table    *int
	Scope    *int
}

func (*Route) Copy added in v1.0.0

func (r *Route) Copy() *Route

func (Route) MarshalJSON

func (r Route) MarshalJSON() ([]byte, error)

func (*Route) String added in v0.5.0

func (r *Route) String() string

func (*Route) UnmarshalJSON

func (r *Route) UnmarshalJSON(data []byte) error

type UnmarshalableArgsError added in v0.6.0

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

UnmarshalableArgsError is used to indicate error unmarshalling args from the args-string in the form "K=V;K2=V2;..."

type UnmarshallableBool

type UnmarshallableBool bool

UnmarshallableBool typedef for builtin bool because builtin type's methods can't be declared

func (*UnmarshallableBool) UnmarshalText

func (b *UnmarshallableBool) UnmarshalText(data []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface. Returns boolean true if the string is "1" or "true" or "True" Returns boolean false if the string is "0" or "false" or "False”

type UnmarshallableString added in v0.4.0

type UnmarshallableString string

UnmarshallableString typedef for builtin string

func (*UnmarshallableString) UnmarshalText added in v0.4.0

func (s *UnmarshallableString) UnmarshalText(data []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface. Returns the string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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