v1

package
v3.3.3+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2019 License: Apache-2.0 Imports: 4 Imported by: 14

Documentation

Index

Constants

View Source
const (
	// StatusSuccess is returned in Status.Status when controller successfully creates/deletes/updates CRD.
	StatusSuccess = "Success"
	// StatusFailure is returned in Status.Status when controller fails to create/delete/update CRD.
	StatusFailure = "Failure"
)

Variables

View Source
var (
	// SchemeGroupVersion is the identifier for the API which includes
	// the name of the group and the version of the API
	SchemeGroupVersion = schema.GroupVersion{
		Group:   contivppio.GroupName,
		Version: "v1",
	}
	// SchemeBuilder is the schema builder for the CRD API
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is...
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ConfigurationItem

type ConfigurationItem struct {
	// Microservice label determines where the configuration item should be applied.
	// For Contiv/VPP vswitch use the hostname of the destination node, otherwise use
	// label as defined in the environment variable MICROSERVICE_LABEL of the
	// destination pod.
	// Microservice label defined at the level of an individual item overwrites the "crd-global" microservice
	// defined under spec.
	Microservice string `json:"microservice"`

	// Module is the name of the module to which the item belongs (e.g. "vpp.nat", "vpp.l2", "linux.l3", etc.).
	Module string `json:"module"`

	// Type of the item (e.g. "dnat44", "acl", "bridge-domain").
	Type string `json:"type"`

	// Version of the configuration (e.g. "v1", "v2", ...).
	// This field is optional - for core vpp-agent configuration items (i.e. shipped with the agent) the version
	// is read from the installed module and for external modules "v1" is assumed as the default.
	Version string `json:"version"`

	// Name of the configuration item.
	// This field is optional - for core vpp-agent configuration items (i.e. shipped with the agent) the name is
	// determined dynamically using the installed module and the configuration of the item (passed in <Data>).
	// For external modules, the name can be omitted if <Data> contains a top-level "Name" field and this would be just
	// a duplication of it.
	Name string `json:"name"`

	// Data should be a YAML-formatted configuration of the item.
	Data string `json:"data"`
}

ConfigurationItem is the specification for a single custom configuration item

func (*ConfigurationItem) DeepCopy

func (in *ConfigurationItem) DeepCopy() *ConfigurationItem

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationItem.

func (*ConfigurationItem) DeepCopyInto

func (in *ConfigurationItem) DeepCopyInto(out *ConfigurationItem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomConfiguration

type CustomConfiguration struct {
	// TypeMeta is the metadata for the resource, like kind and apiversion
	meta_v1.TypeMeta `json:",inline"`
	// ObjectMeta contains the metadata for the particular object
	meta_v1.ObjectMeta `json:"metadata,omitempty"`
	// Spec is the specification for the custom configuration.
	Spec CustomConfigurationSpec `json:"spec"`
	// Status informs about the status of the resource.
	Status meta_v1.Status `json:"status,omitempty"`
}

CustomConfiguration defines (arbitrary) configuration to be applied for contiv/vpp or for CNFs running on top of contiv/vpp. +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CustomConfiguration) DeepCopy

func (in *CustomConfiguration) DeepCopy() *CustomConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfiguration.

func (*CustomConfiguration) DeepCopyInto

func (in *CustomConfiguration) DeepCopyInto(out *CustomConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomConfiguration) DeepCopyObject

func (in *CustomConfiguration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomConfigurationList

type CustomConfigurationList struct {
	meta_v1.TypeMeta `json:",inline"`
	meta_v1.ListMeta `json:"metadata"`

	Items []CustomConfiguration `json:"items"`
}

CustomConfigurationList is a list of CustomConfiguration resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CustomConfigurationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfigurationList.

func (*CustomConfigurationList) DeepCopyInto

func (in *CustomConfigurationList) DeepCopyInto(out *CustomConfigurationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomConfigurationList) DeepCopyObject

func (in *CustomConfigurationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomConfigurationSpec

type CustomConfigurationSpec struct {
	// Microservice label determines where the configuration item should be applied.
	// For Contiv/VPP vswitch use the hostname of the destination node, otherwise use
	// label as defined in the environment variable MICROSERVICE_LABEL of the
	// destination pod.
	// This microservice label will be used for all items in the list below which do not have microservice defined.
	Microservice string `json:"microservice"`
	// Items is a list of configuration items.
	ConfigItems []ConfigurationItem `json:"configItems"`
}

CustomConfigurationSpec is the spec for custom configuration resource

func (*CustomConfigurationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfigurationSpec.

func (*CustomConfigurationSpec) DeepCopyInto

func (in *CustomConfigurationSpec) DeepCopyInto(out *CustomConfigurationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomNetwork

type CustomNetwork struct {
	// TypeMeta is the metadata for the resource, like kind and apiversion
	meta_v1.TypeMeta `json:",inline"`
	// ObjectMeta contains the metadata for the particular object
	meta_v1.ObjectMeta `json:"metadata,omitempty"`
	// Spec is the custom resource spec
	Spec CustomNetworkSpec `json:"spec"`
	// Status informs about the status of the resource.
	Status meta_v1.Status `json:"status,omitempty"`
}

CustomNetwork define custom network for contiv/vpp +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CustomNetwork) DeepCopy

func (in *CustomNetwork) DeepCopy() *CustomNetwork

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNetwork.

func (*CustomNetwork) DeepCopyInto

func (in *CustomNetwork) DeepCopyInto(out *CustomNetwork)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomNetwork) DeepCopyObject

func (in *CustomNetwork) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomNetworkList

type CustomNetworkList struct {
	meta_v1.TypeMeta `json:",inline"`
	meta_v1.ListMeta `json:"metadata"`

	Items []CustomNetwork `json:"items"`
}

CustomNetworkList is a list of CustomNetwork resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CustomNetworkList) DeepCopy

func (in *CustomNetworkList) DeepCopy() *CustomNetworkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNetworkList.

func (*CustomNetworkList) DeepCopyInto

func (in *CustomNetworkList) DeepCopyInto(out *CustomNetworkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomNetworkList) DeepCopyObject

func (in *CustomNetworkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomNetworkSpec

type CustomNetworkSpec struct {
	Type                   string `json:"type"`
	SubnetCIDR             string `json:"subnetCIDR"`
	SubnetOneNodePrefixLen uint32 `json:"subnetOneNodePrefixLen"`
}

CustomNetworkSpec is the spec for custom network configuration resource

func (*CustomNetworkSpec) DeepCopy

func (in *CustomNetworkSpec) DeepCopy() *CustomNetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNetworkSpec.

func (*CustomNetworkSpec) DeepCopyInto

func (in *CustomNetworkSpec) DeepCopyInto(out *CustomNetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalInterface

type ExternalInterface struct {
	// TypeMeta is the metadata for the resource, like kind and apiversion
	meta_v1.TypeMeta `json:",inline"`
	// ObjectMeta contains the metadata for the particular object
	meta_v1.ObjectMeta `json:"metadata,omitempty"`
	// Spec is the custom resource spec
	Spec ExternalInterfaceSpec `json:"spec"`
	// Status informs about the status of the resource.
	Status meta_v1.Status `json:"status,omitempty"`
}

ExternalInterface is used to store definition of an external interface defined via CRD. It is a logical entity that may mean different physical interfaces on different nodes. +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ExternalInterface) DeepCopy

func (in *ExternalInterface) DeepCopy() *ExternalInterface

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInterface.

func (*ExternalInterface) DeepCopyInto

func (in *ExternalInterface) DeepCopyInto(out *ExternalInterface)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExternalInterface) DeepCopyObject

func (in *ExternalInterface) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExternalInterfaceList

type ExternalInterfaceList struct {
	meta_v1.TypeMeta `json:",inline"`
	meta_v1.ListMeta `json:"metadata"`

	Items []ExternalInterface `json:"items"`
}

ExternalInterfaceList is a list of ExternalInterface resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ExternalInterfaceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInterfaceList.

func (*ExternalInterfaceList) DeepCopyInto

func (in *ExternalInterfaceList) DeepCopyInto(out *ExternalInterfaceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExternalInterfaceList) DeepCopyObject

func (in *ExternalInterfaceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExternalInterfaceSpec

type ExternalInterfaceSpec struct {
	Type    string          `json:"type"`
	Network string          `json:"network"`
	Nodes   []NodeInterface `json:"nodes"`
}

ExternalInterfaceSpec is the spec for external interface configuration resource

func (*ExternalInterfaceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInterfaceSpec.

func (*ExternalInterfaceSpec) DeepCopyInto

func (in *ExternalInterfaceSpec) DeepCopyInto(out *ExternalInterfaceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeInterface

type NodeInterface struct {
	Node             string `json:"node"`
	VppInterfaceName string `json:"vppInterfaceName"`
	IP               string `json:"ip"`
	VLAN             uint32 `json:"vlan"`
}

NodeInterface describe config for an interface referenced by logical name on a node

func (*NodeInterface) DeepCopy

func (in *NodeInterface) DeepCopy() *NodeInterface

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeInterface.

func (*NodeInterface) DeepCopyInto

func (in *NodeInterface) DeepCopyInto(out *NodeInterface)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceFunction

type ServiceFunction struct {
	Name            string            `json:"name"`
	Type            string            `json:"type"`
	PodSelector     map[string]string `json:"podSelector"`
	Interface       string            `json:"interface"`
	InputInterface  string            `json:"inputInterface"`
	OutputInterface string            `json:"outputInterface"`
}

ServiceFunction describes single segment of the chain

func (*ServiceFunction) DeepCopy

func (in *ServiceFunction) DeepCopy() *ServiceFunction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceFunction.

func (*ServiceFunction) DeepCopyInto

func (in *ServiceFunction) DeepCopyInto(out *ServiceFunction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceFunctionChain

type ServiceFunctionChain struct {
	// TypeMeta is the metadata for the resource, like kind and apiversion
	meta_v1.TypeMeta `json:",inline"`
	// ObjectMeta contains the metadata for the particular object
	meta_v1.ObjectMeta `json:"metadata,omitempty"`
	// Spec is the custom resource spec
	Spec ServiceFunctionChainSpec `json:"spec"`
	// Status informs about the status of the resource.
	Status meta_v1.Status `json:"status,omitempty"`
}

ServiceFunctionChain define service function chain crd for contiv/vpp +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ServiceFunctionChain) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceFunctionChain.

func (*ServiceFunctionChain) DeepCopyInto

func (in *ServiceFunctionChain) DeepCopyInto(out *ServiceFunctionChain)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceFunctionChain) DeepCopyObject

func (in *ServiceFunctionChain) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceFunctionChainList

type ServiceFunctionChainList struct {
	meta_v1.TypeMeta `json:",inline"`
	meta_v1.ListMeta `json:"metadata"`

	Items []ServiceFunctionChain `json:"items"`
}

ServiceFunctionChainList is a list of ServiceFunctionChain resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ServiceFunctionChainList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceFunctionChainList.

func (*ServiceFunctionChainList) DeepCopyInto

func (in *ServiceFunctionChainList) DeepCopyInto(out *ServiceFunctionChainList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceFunctionChainList) DeepCopyObject

func (in *ServiceFunctionChainList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceFunctionChainSpec

type ServiceFunctionChainSpec struct {
	Unidirectional bool              `json:"unidirectional"`
	Network        string            `json:"network"`
	Chain          []ServiceFunction `json:"chain"`
}

ServiceFunctionChainSpec describe service function chain

func (*ServiceFunctionChainSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceFunctionChainSpec.

func (*ServiceFunctionChainSpec) DeepCopyInto

func (in *ServiceFunctionChainSpec) DeepCopyInto(out *ServiceFunctionChainSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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