v3

package
v0.0.0-...-21cfbab Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2023 License: Apache-2.0, Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KindBlockAffinity     = "BlockAffinity"
	KindBlockAffinityList = "BlockAffinityList"
)
View Source
const (
	KindIPAMBlock     = "IPAMBlock"
	KindIPAMBlockList = "IPAMBlockList"
)
View Source
const (
	KindIPAMConfig       = "IPAMConfig"
	KindIPAMConfigList   = "IPAMConfigList"
	GlobalIPAMConfigName = "default"
)
View Source
const (
	KindIPAMHandle     = "IPAMHandle"
	KindIPAMHandleList = "IPAMHandleList"
)
View Source
const (
	KindNode     = "Node"
	KindNodeList = "NodeList"
	CalicoNodeIP = "CalicoNodeIP"
	InternalIP   = "InternalIP"
	ExternalIP   = "ExternalIP"
)
View Source
const (
	KindWorkloadEndpoint     = "WorkloadEndpoint"
	KindWorkloadEndpointList = "WorkloadEndpointList"
)

Variables

View Source
var (
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: "crd.projectcalico.org", Version: "v1"}

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AllocationAttribute

type AllocationAttribute struct {
	AttrPrimary   *string           `json:"handle_id,omitempty"`
	AttrSecondary map[string]string `json:"secondary,omitempty"`
}

func (*AllocationAttribute) DeepCopy

func (in *AllocationAttribute) DeepCopy() *AllocationAttribute

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

func (*AllocationAttribute) DeepCopyInto

func (in *AllocationAttribute) DeepCopyInto(out *AllocationAttribute)

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

type BlockAffinity

type BlockAffinity struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the BlockAffinity.
	Spec BlockAffinitySpec `json:"spec,omitempty"`
}

BlockAffinity maintains a block affinity's state

func NewBlockAffinity

func NewBlockAffinity() *BlockAffinity

NewBlockAffinity creates a new (zeroed) BlockAffinity struct with the TypeMetadata initialised to the current version.

func (*BlockAffinity) DeepCopy

func (in *BlockAffinity) DeepCopy() *BlockAffinity

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

func (*BlockAffinity) DeepCopyInto

func (in *BlockAffinity) DeepCopyInto(out *BlockAffinity)

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

func (*BlockAffinity) DeepCopyObject

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

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

type BlockAffinityList

type BlockAffinityList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []BlockAffinity `json:"items"`
}

BlockAffinityList contains a list of BlockAffinity resources.

func NewBlockAffinityList

func NewBlockAffinityList() *BlockAffinityList

NewBlockAffinityList creates a new (zeroed) BlockAffinityList struct with the TypeMetadata initialised to the current version.

func (*BlockAffinityList) DeepCopy

func (in *BlockAffinityList) DeepCopy() *BlockAffinityList

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

func (*BlockAffinityList) DeepCopyInto

func (in *BlockAffinityList) DeepCopyInto(out *BlockAffinityList)

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

func (*BlockAffinityList) DeepCopyObject

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

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

type BlockAffinitySpec

type BlockAffinitySpec struct {
	State string `json:"state"`
	Node  string `json:"node"`
	CIDR  string `json:"cidr"`

	// Deleted indicates that this block affinity is being deleted.
	// This field is a string for compatibility with older releases that
	// mistakenly treat this field as a string.
	Deleted string `json:"deleted"`
}

BlockAffinitySpec contains the specification for a BlockAffinity resource.

func (*BlockAffinitySpec) DeepCopy

func (in *BlockAffinitySpec) DeepCopy() *BlockAffinitySpec

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

func (*BlockAffinitySpec) DeepCopyInto

func (in *BlockAffinitySpec) DeepCopyInto(out *BlockAffinitySpec)

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

type IPAMBlock

type IPAMBlock struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the IPAMBlock.
	Spec IPAMBlockSpec `json:"spec,omitempty"`
}

IPAMBlock contains information about a block for IP address assignment.

func NewIPAMBlock

func NewIPAMBlock() *IPAMBlock

NewIPAMBlock creates a new (zeroed) IPAMBlock struct with the TypeMetadata initialised to the current version.

func (*IPAMBlock) DeepCopy

func (in *IPAMBlock) DeepCopy() *IPAMBlock

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

func (*IPAMBlock) DeepCopyInto

func (in *IPAMBlock) DeepCopyInto(out *IPAMBlock)

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

func (*IPAMBlock) DeepCopyObject

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

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

type IPAMBlockList

type IPAMBlockList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []IPAMBlock `json:"items"`
}

IPAMBlockList contains a list of IPAMBlock resources.

func NewIPAMBlockList

func NewIPAMBlockList() *IPAMBlockList

NewIPAMBlockList creates a new (zeroed) IPAMBlockList struct with the TypeMetadata initialised to the current version.

func (*IPAMBlockList) DeepCopy

func (in *IPAMBlockList) DeepCopy() *IPAMBlockList

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

func (*IPAMBlockList) DeepCopyInto

func (in *IPAMBlockList) DeepCopyInto(out *IPAMBlockList)

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

func (*IPAMBlockList) DeepCopyObject

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

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

type IPAMBlockSpec

type IPAMBlockSpec struct {
	// The block's CIDR.
	CIDR string `json:"cidr"`

	// Affinity of the block, if this block has one. If set, it will be of the form
	// "host:<hostname>". If not set, this block is not affine to a host.
	Affinity *string `json:"affinity,omitempty"`

	// Array of allocations in-use within this block. nil entries mean the allocation is free.
	// For non-nil entries at index i, the index is the ordinal of the allocation within this block
	// and the value is the index of the associated attributes in the Attributes array.
	Allocations []*int `json:"allocations"`

	// Unallocated is an ordered list of allocations which are free in the block.
	Unallocated []int `json:"unallocated"`

	// Attributes is an array of arbitrary metadata associated with allocations in the block. To find
	// attributes for a given allocation, use the value of the allocation's entry in the Allocations array
	// as the index of the element in this array.
	Attributes []AllocationAttribute `json:"attributes"`

	// We store a sequence number that is updated each time the block is written.
	// Each allocation will also store the sequence number of the block at the time of its creation.
	// When releasing an IP, passing the sequence number associated with the allocation allows us
	// to protect against a race condition and ensure the IP hasn't been released and re-allocated
	// since the release request.
	//
	// +kubebuilder:default=0
	// +optional
	SequenceNumber uint64 `json:"sequenceNumber"`

	// Map of allocated ordinal within the block to sequence number of the block at
	// the time of allocation. Kubernetes does not allow numerical keys for maps, so
	// the key is cast to a string.
	// +optional
	SequenceNumberForAllocation map[string]uint64 `json:"sequenceNumberForAllocation"`

	// Deleted is an internal boolean used to workaround a limitation in the Kubernetes API whereby
	// deletion will not return a conflict error if the block has been updated. It should not be set manually.
	// +optional
	Deleted bool `json:"deleted"`

	// StrictAffinity on the IPAMBlock is deprecated and no longer used by the code. Use IPAMConfig StrictAffinity instead.
	DeprecatedStrictAffinity bool `json:"strictAffinity"`
}

IPAMBlockSpec contains the specification for an IPAMBlock resource.

func (*IPAMBlockSpec) DeepCopy

func (in *IPAMBlockSpec) DeepCopy() *IPAMBlockSpec

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

func (*IPAMBlockSpec) DeepCopyInto

func (in *IPAMBlockSpec) DeepCopyInto(out *IPAMBlockSpec)

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

type IPAMConfig

type IPAMConfig struct {
	metav1.TypeMeta `json:",inline"`

	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the IPAMConfig.
	Spec IPAMConfigSpec `json:"spec,omitempty"`
}

IPAMConfig contains information about a block for IP address assignment.

func NewIPAMConfig

func NewIPAMConfig() *IPAMConfig

NewIPAMConfig creates a new (zeroed) IPAMConfig struct with the TypeMetadata initialised to the current version.

func (*IPAMConfig) DeepCopy

func (in *IPAMConfig) DeepCopy() *IPAMConfig

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

func (*IPAMConfig) DeepCopyInto

func (in *IPAMConfig) DeepCopyInto(out *IPAMConfig)

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

func (*IPAMConfig) DeepCopyObject

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

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

type IPAMConfigList

type IPAMConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []IPAMConfig `json:"items"`
}

IPAMConfigList contains a list of IPAMConfig resources.

func NewIPAMConfigList

func NewIPAMConfigList() *IPAMConfigList

NewIPAMConfigList creates a new (zeroed) IPAMConfigList struct with the TypeMetadata initialised to the current version.

func (*IPAMConfigList) DeepCopy

func (in *IPAMConfigList) DeepCopy() *IPAMConfigList

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

func (*IPAMConfigList) DeepCopyInto

func (in *IPAMConfigList) DeepCopyInto(out *IPAMConfigList)

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

func (*IPAMConfigList) DeepCopyObject

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

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

type IPAMConfigSpec

type IPAMConfigSpec struct {
	StrictAffinity     bool `json:"strictAffinity"`
	AutoAllocateBlocks bool `json:"autoAllocateBlocks"`

	// MaxBlocksPerHost, if non-zero, is the max number of blocks that can be
	// affine to each host.
	// +kubebuilder:validation:Minimum:=0
	// +kubebuilder:validation:Maximum:=2147483647
	// +optional
	MaxBlocksPerHost int `json:"maxBlocksPerHost,omitempty"`
}

IPAMConfigSpec contains the specification for an IPAMConfig resource.

func (*IPAMConfigSpec) DeepCopy

func (in *IPAMConfigSpec) DeepCopy() *IPAMConfigSpec

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

func (*IPAMConfigSpec) DeepCopyInto

func (in *IPAMConfigSpec) DeepCopyInto(out *IPAMConfigSpec)

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

type IPAMHandle

type IPAMHandle struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the IPAMHandle.
	Spec IPAMHandleSpec `json:"spec,omitempty"`
}

IPAMHandle contains information about an IPAMHandle resource.

func NewIPAMHandle

func NewIPAMHandle() *IPAMHandle

NewIPAMHandle creates a new (zeroed) IPAMHandle struct with the TypeMetadata initialised to the current version.

func (*IPAMHandle) DeepCopy

func (in *IPAMHandle) DeepCopy() *IPAMHandle

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

func (*IPAMHandle) DeepCopyInto

func (in *IPAMHandle) DeepCopyInto(out *IPAMHandle)

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

func (*IPAMHandle) DeepCopyObject

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

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

type IPAMHandleList

type IPAMHandleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []IPAMHandle `json:"items"`
}

IPAMHandleList contains a list of IPAMHandle resources.

func NewIPAMHandleList

func NewIPAMHandleList() *IPAMHandleList

NewIPAMHandleList creates a new (zeroed) IPAMHandleList struct with the TypeMetadata initialised to the current version.

func (*IPAMHandleList) DeepCopy

func (in *IPAMHandleList) DeepCopy() *IPAMHandleList

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

func (*IPAMHandleList) DeepCopyInto

func (in *IPAMHandleList) DeepCopyInto(out *IPAMHandleList)

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

func (*IPAMHandleList) DeepCopyObject

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

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

type IPAMHandleSpec

type IPAMHandleSpec struct {
	HandleID string         `json:"handleID"`
	Block    map[string]int `json:"block"`

	// +optional
	Deleted bool `json:"deleted"`
}

IPAMHandleSpec contains the specification for an IPAMHandle resource.

func (*IPAMHandleSpec) DeepCopy

func (in *IPAMHandleSpec) DeepCopy() *IPAMHandleSpec

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

func (*IPAMHandleSpec) DeepCopyInto

func (in *IPAMHandleSpec) DeepCopyInto(out *IPAMHandleSpec)

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

type IPNAT

type IPNAT struct {
	// The internal IP address which must be associated with the owning endpoint via the
	// configured IPNetworks for the endpoint.
	InternalIP string `json:"internalIP" validate:"omitempty,ip"`
	// The external IP address.
	ExternalIP string `json:"externalIP" validate:"omitempty,ip"`
}

IPNat contains a single NAT mapping for a WorkloadEndpoint resource.

func (*IPNAT) DeepCopy

func (in *IPNAT) DeepCopy() *IPNAT

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

func (*IPNAT) DeepCopyInto

func (in *IPNAT) DeepCopyInto(out *IPNAT)

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

type Node

type Node struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the Node.
	Spec NodeSpec `json:"spec,omitempty"`
	// Status of the Node.
	Status NodeStatus `json:"status,omitempty"`
}

Node contains information about a Node resource.

func NewNode

func NewNode() *Node

NewNode creates a new (zeroed) Node struct with the TypeMetadata initialised to the current version.

func (*Node) DeepCopy

func (in *Node) DeepCopy() *Node

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

func (*Node) DeepCopyInto

func (in *Node) DeepCopyInto(out *Node)

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

func (*Node) DeepCopyObject

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

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

type NodeAddress

type NodeAddress struct {
	// Address is a string representation of the actual address.
	Address string `json:"address" validate:"net"`

	// Type is the node IP type
	Type string `json:"type,omitempty" validate:"omitempty,ipType"`
}

NodeAddress represents an address assigned to a node.

func (*NodeAddress) DeepCopy

func (in *NodeAddress) DeepCopy() *NodeAddress

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

func (*NodeAddress) DeepCopyInto

func (in *NodeAddress) DeepCopyInto(out *NodeAddress)

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

type NodeBGPSpec

type NodeBGPSpec struct {
	// The AS Number of the node.  If this is not specified, the global
	// default value will be used.
	ASNumber *numorstring.ASNumber `json:"asNumber,omitempty"`
	// IPv4Address is the IPv4 address and network of this node.  The IPv4 address
	// should always be specified if you are using BGP.
	IPv4Address string `json:"ipv4Address,omitempty" validate:"omitempty,cidrv4"`
	// IPv6Address is the IPv6 address and network of this node.  Not required if you
	// are not using BGP or you do not require IPv6 routing.
	IPv6Address string `json:"ipv6Address,omitempty" validate:"omitempty,cidrv6"`
	// IPv4IPIPTunnelAddr is the IPv4 address of the IP in IP tunnel.
	IPv4IPIPTunnelAddr string `json:"ipv4IPIPTunnelAddr,omitempty" validate:"omitempty,ipv4"`
	// RouteReflectorClusterID enables this node as a route reflector within the given
	// cluster.
	RouteReflectorClusterID string `json:"routeReflectorClusterID,omitempty" validate:"omitempty,ipv4"`
}

NodeBGPSpec contains the specification for the Node BGP configuration.

func (*NodeBGPSpec) DeepCopy

func (in *NodeBGPSpec) DeepCopy() *NodeBGPSpec

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

func (*NodeBGPSpec) DeepCopyInto

func (in *NodeBGPSpec) DeepCopyInto(out *NodeBGPSpec)

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

type NodeList

type NodeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Node `json:"items"`
}

NodeList contains a list of Node resources.

func NewNodeList

func NewNodeList() *NodeList

NewNodeList creates a new (zeroed) NodeList struct with the TypeMetadata initialised to the current version.

func (*NodeList) DeepCopy

func (in *NodeList) DeepCopy() *NodeList

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

func (*NodeList) DeepCopyInto

func (in *NodeList) DeepCopyInto(out *NodeList)

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

func (*NodeList) DeepCopyObject

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

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

type NodeSpec

type NodeSpec struct {
	// BGP configuration for this node.
	BGP *NodeBGPSpec `json:"bgp,omitempty" validate:"omitempty"`

	// IPv4VXLANTunnelAddr is the IPv4 address of the VXLAN tunnel.
	IPv4VXLANTunnelAddr string `json:"ipv4VXLANTunnelAddr,omitempty" validate:"omitempty,ipv4"`

	// VXLANTunnelMACAddr is the MAC address of the VXLAN tunnel.
	VXLANTunnelMACAddr string `json:"vxlanTunnelMACAddr,omitempty" validate:"omitempty,mac"`

	// IPv6VXLANTunnelAddr is the address of the IPv6 VXLAN tunnel.
	IPv6VXLANTunnelAddr string `json:"ipv6VXLANTunnelAddr,omitempty" validate:"omitempty,ipv6"`

	// VXLANTunnelMACAddrV6 is the MAC address of the IPv6 VXLAN tunnel.
	VXLANTunnelMACAddrV6 string `json:"vxlanTunnelMACAddrV6,omitempty" validate:"omitempty,mac"`

	// OrchRefs for this node.
	OrchRefs []OrchRef `json:"orchRefs,omitempty" validate:"omitempty"`

	// Wireguard configuration for this node.
	Wireguard *NodeWireguardSpec `json:"wireguard,omitempty" validate:"omitempty"`

	// Addresses list address that a client can reach the node at.
	Addresses []NodeAddress `json:"addresses,omitempty" validate:"omitempty"`
}

NodeSpec contains the specification for a Node resource.

func (*NodeSpec) DeepCopy

func (in *NodeSpec) DeepCopy() *NodeSpec

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

func (*NodeSpec) DeepCopyInto

func (in *NodeSpec) DeepCopyInto(out *NodeSpec)

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

type NodeStatus

type NodeStatus struct {
	// WireguardPublicKey is the IPv4 Wireguard public-key for this node.
	// wireguardPublicKey validates if the string is a valid base64 encoded key.
	WireguardPublicKey string `json:"wireguardPublicKey,omitempty" validate:"omitempty,wireguardPublicKey"`

	// WireguardPublicKeyV6 is the IPv6 Wireguard public-key for this node.
	// wireguardPublicKey validates if the string is a valid base64 encoded key.
	WireguardPublicKeyV6 string `json:"wireguardPublicKeyV6,omitempty" validate:"omitempty,wireguardPublicKey"`

	// PodCIDR is a reflection of the Kubernetes node's spec.PodCIDRs field.
	PodCIDRs []string `json:"podCIDRs,omitempty" validate:"omitempty"`
}

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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

type NodeWireguardSpec

type NodeWireguardSpec struct {
	// InterfaceIPv4Address is the IP address for the IPv4 Wireguard interface.
	InterfaceIPv4Address string `json:"interfaceIPv4Address,omitempty" validate:"omitempty,ipv4"`

	// InterfaceIPv6Address is the IP address for the IPv6 Wireguard interface.
	InterfaceIPv6Address string `json:"interfaceIPv6Address,omitempty" validate:"omitempty,ipv6"`
}

NodeWireguardSpec contains the specification for the Node wireguard configuration.

func (*NodeWireguardSpec) DeepCopy

func (in *NodeWireguardSpec) DeepCopy() *NodeWireguardSpec

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

func (*NodeWireguardSpec) DeepCopyInto

func (in *NodeWireguardSpec) DeepCopyInto(out *NodeWireguardSpec)

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

type OrchRef

type OrchRef struct {
	// NodeName represents the name for this node according to the orchestrator.
	NodeName string `json:"nodeName,omitempty" validate:"omitempty"`
	// Orchestrator represents the orchestrator using this node.
	Orchestrator string `json:"orchestrator"`
}

OrchRef is used to correlate a Calico node to its corresponding representation in a given orchestrator

func (*OrchRef) DeepCopy

func (in *OrchRef) DeepCopy() *OrchRef

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

func (*OrchRef) DeepCopyInto

func (in *OrchRef) DeepCopyInto(out *OrchRef)

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

type WorkloadEndpoint

type WorkloadEndpoint struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the WorkloadEndpoint.
	Spec WorkloadEndpointSpec `json:"spec,omitempty"`
}

WorkloadEndpoint contains information about a WorkloadEndpoint resource that is a peer of a Calico compute node.

func NewWorkloadEndpoint

func NewWorkloadEndpoint() *WorkloadEndpoint

NewWorkloadEndpoint creates a new (zeroed) WorkloadEndpoint struct with the TypeMetadata initialised to the current version.

func (*WorkloadEndpoint) DeepCopy

func (in *WorkloadEndpoint) DeepCopy() *WorkloadEndpoint

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

func (*WorkloadEndpoint) DeepCopyInto

func (in *WorkloadEndpoint) DeepCopyInto(out *WorkloadEndpoint)

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

func (*WorkloadEndpoint) DeepCopyObject

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

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

type WorkloadEndpointList

type WorkloadEndpointList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []WorkloadEndpoint `json:"items"`
}

WorkloadEndpointList contains a list of WorkloadEndpoint resources.

func NewWorkloadEndpointList

func NewWorkloadEndpointList() *WorkloadEndpointList

NewWorkloadEndpointList creates a new (zeroed) WorkloadEndpointList struct with the TypeMetadata initialised to the current version.

func (*WorkloadEndpointList) DeepCopy

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

func (*WorkloadEndpointList) DeepCopyInto

func (in *WorkloadEndpointList) DeepCopyInto(out *WorkloadEndpointList)

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

func (*WorkloadEndpointList) DeepCopyObject

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

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

type WorkloadEndpointPort

type WorkloadEndpointPort struct {
	Name     string               `json:"name" validate:"omitempty,portName"`
	Protocol numorstring.Protocol `json:"protocol"`
	Port     uint16               `json:"port" validate:"gt=0"`
	HostPort uint16               `json:"hostPort"`
	HostIP   string               `json:"hostIP" validate:"omitempty,net"`
}

WorkloadEndpointPort represents one endpoint's named or mapped port

func (*WorkloadEndpointPort) DeepCopy

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

func (*WorkloadEndpointPort) DeepCopyInto

func (in *WorkloadEndpointPort) DeepCopyInto(out *WorkloadEndpointPort)

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

type WorkloadEndpointSpec

type WorkloadEndpointSpec struct {
	// The name of the orchestrator.
	Orchestrator string `json:"orchestrator,omitempty" validate:"omitempty,name"`
	// The name of the workload.
	Workload string `json:"workload,omitempty" validate:"omitempty,name"`
	// The node name identifying the Calico node instance.
	Node string `json:"node,omitempty" validate:"omitempty,name"`
	// The container ID.
	ContainerID string `json:"containerID,omitempty" validate:"omitempty,containerID"`
	// The Pod name.
	Pod string `json:"pod,omitempty" validate:"omitempty,name"`
	// The Endpoint name.
	Endpoint string `json:"endpoint,omitempty" validate:"omitempty,name"`
	// ServiceAccountName, if specified, is the name of the k8s ServiceAccount  for this pod.
	ServiceAccountName string `json:"serviceAccountName,omitempty" validate:"omitempty,name"`
	// IPNetworks is a list of subnets allocated to this endpoint. IP packets will only be
	// allowed to leave this interface if they come from an address in one of these subnets.
	// Currently only /32 for IPv4 and /128 for IPv6 networks are supported.
	IPNetworks []string `json:"ipNetworks,omitempty" validate:"omitempty,dive,net"`
	// IPNATs is a list of 1:1 NAT mappings to apply to the endpoint. Inbound connections
	// to the external IP will be forwarded to the internal IP. Connections initiated from the
	// internal IP will not have their source address changed, except when an endpoint attempts
	// to connect one of its own external IPs. Each internal IP must be associated with the same
	// endpoint via the configured IPNetworks.
	IPNATs []IPNAT `json:"ipNATs,omitempty" validate:"omitempty,dive"`
	// IPv4Gateway is the gateway IPv4 address for traffic from the workload.
	IPv4Gateway string `json:"ipv4Gateway,omitempty" validate:"omitempty,ipv4"`
	// IPv6Gateway is the gateway IPv6 address for traffic from the workload.
	IPv6Gateway string `json:"ipv6Gateway,omitempty" validate:"omitempty,ipv6"`
	// A list of security Profile resources that apply to this endpoint. Each profile is
	// applied in the order that they appear in this list.  Profile rules are applied
	// after the selector-based security policy.
	Profiles []string `json:"profiles,omitempty" validate:"omitempty,dive,name"`
	// InterfaceName the name of the Linux interface on the host: for example, tap80.
	InterfaceName string `json:"interfaceName,omitempty" validate:"interface"`
	// MAC is the MAC address of the endpoint interface.
	MAC string `json:"mac,omitempty" validate:"omitempty,mac"`
	// Ports contains the endpoint's named ports, which may be referenced in security policy rules.
	Ports []WorkloadEndpointPort `json:"ports,omitempty" validate:"dive,omitempty"`
	// AllowSpoofedSourcePrefixes is a list of CIDRs that the endpoint should be able to send traffic from,
	// bypassing the RPF check.
	AllowSpoofedSourcePrefixes []string `json:"allowSpoofedSourcePrefixes,omitempty" validate:"omitempty,dive,cidr"`
}

WorkloadEndpointMetadata contains the specification for a WorkloadEndpoint resource.

func (*WorkloadEndpointSpec) DeepCopy

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

func (*WorkloadEndpointSpec) DeepCopyInto

func (in *WorkloadEndpointSpec) DeepCopyInto(out *WorkloadEndpointSpec)

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