types

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2017 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrUnknown                uint = iota // 0
	ErrIncompatibleCNIVersion             // 1
	ErrUnsupportedField                   // 2
)

Well known error codes see https://github.com/containernetworking/cni/blob/master/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

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

type Error

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

func (*Error) Error

func (e *Error) Error() string

func (*Error) Print

func (e *Error) Print() error

type IPConfig

type IPConfig struct {
	IP      net.IPNet
	Gateway net.IP
	Routes  []Route
}

IPConfig contains values necessary to configure an interface

func (*IPConfig) MarshalJSON

func (c *IPConfig) MarshalJSON() ([]byte, error)

func (*IPConfig) UnmarshalJSON

func (c *IPConfig) UnmarshalJSON(data []byte) error

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"`
	IPAM struct {
		Type string `json:"type,omitempty"`
	} `json:"ipam,omitempty"`
	DNS DNS `json:"dns"`
}

NetConf describes a network.

type Result

type Result struct {
	IP4 *IPConfig `json:"ip4,omitempty"`
	IP6 *IPConfig `json:"ip6,omitempty"`
	DNS DNS       `json:"dns,omitempty"`
}

Result is what gets returned from the plugin (via stdout) to the caller

func (*Result) Print

func (r *Result) Print() error

func (*Result) String

func (r *Result) String() string

String returns a formatted string in the form of "[IP4: $1,][ IP6: $2,] DNS: $3" where $1 represents the receiver's IPv4, $2 represents the receiver's IPv6 and $3 the receiver's DNS. If $1 or $2 are nil, they won't be present in the returned string.

type Route

type Route struct {
	Dst net.IPNet
	GW  net.IP
}

func (*Route) MarshalJSON

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

func (*Route) UnmarshalJSON

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

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 "[Tt]rue" Returns boolean false if the string is "0" or "[Ff]alse"

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

Jump to

Keyboard shortcuts

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