Documentation ¶
Index ¶
- Constants
- func GetKeyField(keyString string, v reflect.Value) reflect.Value
- func LoadArgs(args string, container interface{}) error
- func ParseCIDR(s string) (*net.IPNet, error)
- func PrintResult(result Result, version string) error
- type CommonArgs
- type DNS
- type Error
- type GCAttachment
- type IPAM
- type IPNet
- type NetConf
- type NetConfList
- type NetConfType
- type Result
- type Route
- type UnmarshalableArgsError
- type UnmarshallableBool
- type UnmarshallableString
Constants ¶
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 ¶
GetKeyField is a helper function to receive Values Values that represent a pointer to a struct
func ParseCIDR ¶
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
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 GCAttachment ¶ added in v1.2.0
GCAttachment is the parameters to a GC call -- namely, the container ID and ifname pair that represents a still-valid attachment.
type IPNet ¶
like net.IPNet but adds JSON marshalling and unmarshalling
func (IPNet) MarshalJSON ¶
func (*IPNet) UnmarshalJSON ¶
type NetConf ¶
type NetConf NetConfType
NetConf is defined as different type as custom MarshalJSON() and issue #1096
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"` DisableGC bool `json:"disableGC,omitempty"` Plugins []*NetConf `json:"plugins,omitempty"` }
NetConfList describes an ordered list of networks.
type NetConfType ¶ added in v1.2.1
type NetConfType 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"` }
NetConfType describes a network.
func (*NetConfType) MarshalJSON ¶ added in v1.2.1
func (n *NetConfType) 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 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 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