v1alpha1

package
v1.0.0-rc.3 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ipam v1alpha1 API group

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: "ipam.liqo.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// IPKind is the kind name used to register the IP CRD.
	IPKind = "IP"

	// IPResource is the resource name used to register the IP CRD.
	IPResource = "ips"

	// IPGroupVersionResource is the group version resource used to register IP CRD.
	IPGroupVersionResource = SchemeGroupVersion.WithResource(IPResource)

	// IPGroupResource is the group resource used to register IP CRD.
	IPGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: IPResource}
)
View Source
var (
	// NetworkKind is the kind name used to register the Network CRD.
	NetworkKind = "Network"

	// NetworkResource is the resource name used to register the Network CRD.
	NetworkResource = "networks"

	// NetworkGroupVersionResource is the group version resource used to register the Network CRD.
	NetworkGroupVersionResource = SchemeGroupVersion.WithResource(NetworkResource)

	// NetworkGroupResource is the group resource used to register the Network CRD.
	NetworkGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: NetworkResource}
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type IP

type IP struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   IPSpec   `json:"spec"`
	Status IPStatus `json:"status,omitempty"`
}

IP is the Schema for the IP API.

func (*IP) DeepCopy

func (in *IP) DeepCopy() *IP

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

func (*IP) DeepCopyInto

func (in *IP) DeepCopyInto(out *IP)

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

func (*IP) DeepCopyObject

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

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

type IPList

type IPList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IP `json:"items"`
}

IPList contains a list of IP.

func (*IPList) DeepCopy

func (in *IPList) DeepCopy() *IPList

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

func (*IPList) DeepCopyInto

func (in *IPList) DeepCopyInto(out *IPList)

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

func (*IPList) DeepCopyObject

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

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

type IPSpec

type IPSpec struct {
	// IP is the local IP.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="IP field is immutable"
	IP networkingv1beta1.IP `json:"ip"`
	// NetworkRef is the reference to the Network CR containing the CIDR where the desired IP should be allocated from.
	// It is optional, if left empty the IP will be allocated in a default network CIDR (e.g., external CIDR).
	// +kubebuilder:validation:Optional
	NetworkRef *v1.ObjectReference `json:"networkRef,omitempty"`
	// ServiceTemplate contains the template to create the associated service (and endpointslice) for the IP endopoint.
	// If empty the creation of the service is disabled (default).
	// +kubebuilder:validation:Optional
	ServiceTemplate *ServiceTemplate `json:"serviceTemplate,omitempty"`
	// Masquerade is a flag to enable masquerade for the local IP on nodes.
	// If empty the masquerade is disabled.
	// +kubebuilder:validation:Optional
	Masquerade *bool `json:"masquerade,omitempty"`
}

IPSpec defines a local IP.

func (*IPSpec) DeepCopy

func (in *IPSpec) DeepCopy() *IPSpec

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

func (*IPSpec) DeepCopyInto

func (in *IPSpec) DeepCopyInto(out *IPSpec)

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

type IPStatus

type IPStatus struct {
	// IP is the remapped IP.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="IP field is immutable"
	IP networkingv1beta1.IP `json:"ip,omitempty"`
	// CIDR is the network CIDR where the IP is allocated.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="CIDR field is immutable"
	CIDR networkingv1beta1.CIDR `json:"cidr,omitempty"`
}

IPStatus defines remapped IPs.

func (*IPStatus) DeepCopy

func (in *IPStatus) DeepCopy() *IPStatus

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

func (*IPStatus) DeepCopyInto

func (in *IPStatus) DeepCopyInto(out *IPStatus)

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

type Network

type Network struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NetworkSpec   `json:"spec"`
	Status NetworkStatus `json:"status,omitempty"`
}

Network is the Schema for the Network API.

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

func (*Network) DeepCopyObject

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

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

type NetworkList

type NetworkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Network `json:"items"`
}

NetworkList contains a list of Network.

func (*NetworkList) DeepCopy

func (in *NetworkList) DeepCopy() *NetworkList

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

func (*NetworkList) DeepCopyInto

func (in *NetworkList) DeepCopyInto(out *NetworkList)

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

func (*NetworkList) DeepCopyObject

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

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

type NetworkSpec

type NetworkSpec struct {
	// CIDR is the desired CIDR for the remote cluster.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="CIDR field is immutable"
	CIDR networkingv1beta1.CIDR `json:"cidr"`
	// PreAllocated is the number of IPs to pre-allocate (reserve) in the CIDR, starting from the first IP.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="PreAllocated field is immutable"
	PreAllocated uint32 `json:"preAllocated"`
}

NetworkSpec defines the desired state of Network.

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

type NetworkStatus

type NetworkStatus struct {
	// CIDR is the remapped CIDR for the remote cluster.
	CIDR networkingv1beta1.CIDR `json:"cidr,omitempty"`
}

NetworkStatus defines the observed state of Network.

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

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

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

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

type ServiceTemplate

type ServiceTemplate struct {
	// Metadata of the Service.
	Metadata metav1.ObjectMeta `json:"metadata,omitempty"`
	// Template Spec of the Service.
	Spec v1.ServiceSpec `json:"spec,omitempty"`
}

ServiceTemplate contains the template to create the associated service (and endpointslice) for the IP endopoint.

func (*ServiceTemplate) DeepCopy

func (in *ServiceTemplate) DeepCopy() *ServiceTemplate

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

func (*ServiceTemplate) DeepCopyInto

func (in *ServiceTemplate) DeepCopyInto(out *ServiceTemplate)

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