Documentation ¶
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type ConfigurationItem
- type CustomConfiguration
- type CustomConfigurationList
- type CustomConfigurationSpec
- type CustomNetwork
- type CustomNetworkList
- type CustomNetworkSpec
- type ExternalInterface
- type ExternalInterfaceList
- type ExternalInterfaceSpec
- type NodeInterface
- type ServiceFunction
- type ServiceFunctionChain
- type ServiceFunctionChainList
- type ServiceFunctionChainSpec
Constants ¶
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 ¶
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 ¶
func (in *CustomConfigurationList) DeepCopy() *CustomConfigurationList
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 ¶
func (in *CustomConfigurationSpec) DeepCopy() *CustomConfigurationSpec
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 ¶
func (in *ExternalInterfaceList) DeepCopy() *ExternalInterfaceList
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 { Name string `json:"name"` Type string `json:"type"` Network string `json:"network"` Nodes []NodeInterface `json:"nodes"` }
ExternalInterfaceSpec is the spec for external interface configuration resource
func (*ExternalInterfaceSpec) DeepCopy ¶
func (in *ExternalInterfaceSpec) DeepCopy() *ExternalInterfaceSpec
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 ¶
func (in *ServiceFunctionChain) DeepCopy() *ServiceFunctionChain
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 ¶
func (in *ServiceFunctionChainList) DeepCopy() *ServiceFunctionChainList
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 { Network string `json:"network"` Chain []ServiceFunction `json:"chain"` }
ServiceFunctionChainSpec describe service function chain
func (*ServiceFunctionChainSpec) DeepCopy ¶
func (in *ServiceFunctionChainSpec) DeepCopy() *ServiceFunctionChainSpec
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.