v1alpha1

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the redhatcop v1alpha1 API group +kubebuilder:object:generate=true +groupName=redhatcop.redhat.io

Index

Constants

This section is empty.

Variables

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

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type CIDRAssignment

type CIDRAssignment struct {

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$`
	// kubebuilder:validation:Pattern=^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|2[0-9]|1[0-9]|[0-9]))?$
	// CIDR a CIDR. IPs in this CIDR will be added to the nodes selected by the topology label and value. These IPs must be routable when attached to the selected nodes
	CIDR string `json:"CIDR"`

	// +kubebuilder:validation:Required
	// LabelValue the label value, which together with the TopologyLabel select the nodes that will carry the IPs from this CIDR
	LabelValue string `json:"labelValue"`

	// +kubebuilder:validation:Optional
	// +listType=set
	// This does not work
	// kubebuilder:validation:Pattern=`^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$`
	// ReservedIPs a set of IPs in the CIDR that are reserved for other purposes and cannot be assigned.
	ReservedIPs []string `json:"reservedIPs,omitempty"`
}

func (*CIDRAssignment) DeepCopy

func (in *CIDRAssignment) DeepCopy() *CIDRAssignment

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

func (*CIDRAssignment) DeepCopyInto

func (in *CIDRAssignment) DeepCopyInto(out *CIDRAssignment)

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

type EgressIPAM

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

	Spec   EgressIPAMSpec   `json:"spec,omitempty"`
	Status EgressIPAMStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=egressipams,scope=Cluster EgressIPAM is the Schema for the egressipams API

func (*EgressIPAM) DeepCopy

func (in *EgressIPAM) DeepCopy() *EgressIPAM

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

func (*EgressIPAM) DeepCopyInto

func (in *EgressIPAM) DeepCopyInto(out *EgressIPAM)

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

func (*EgressIPAM) DeepCopyObject

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

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

func (*EgressIPAM) GetConditions

func (m *EgressIPAM) GetConditions() []metav1.Condition

func (*EgressIPAM) SetConditions

func (m *EgressIPAM) SetConditions(conditions []metav1.Condition)

type EgressIPAMList

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

EgressIPAMList contains a list of EgressIPAM

func (*EgressIPAMList) DeepCopy

func (in *EgressIPAMList) DeepCopy() *EgressIPAMList

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

func (*EgressIPAMList) DeepCopyInto

func (in *EgressIPAMList) DeepCopyInto(out *EgressIPAMList)

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

func (*EgressIPAMList) DeepCopyObject

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

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

type EgressIPAMSpec

type EgressIPAMSpec struct {

	// +kubebuilder:validation:Optional
	// +listType=map
	// +listMapKey=CIDR
	// CIDRAssignments is a set of CIDRs. Namespaces will receive one available IP from each of this CIDRs.
	CIDRAssignments []CIDRAssignment `json:"cidrAssignments,omitempty"`

	// +kubebuilder:validation:Required
	// TopologyLabel is the label that needs to identified nodes that will carry egressIPs in the CIDRAssignments. Each label value should map to a CIDR in the CIDRAssignments.
	TopologyLabel string `json:"topologyLabel"`

	// +kubebuilder:validation:Optional
	// NodeSelector is a selector that allows to subset which nodes will be managed by this EgressIPAM
	NodeSelector metav1.LabelSelector `json:"nodeSelector,omitempty"`
}

EgressIPAMSpec defines the desired state of EgressIPAM

func (*EgressIPAMSpec) DeepCopy

func (in *EgressIPAMSpec) DeepCopy() *EgressIPAMSpec

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

func (*EgressIPAMSpec) DeepCopyInto

func (in *EgressIPAMSpec) DeepCopyInto(out *EgressIPAMSpec)

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

type EgressIPAMStatus

type EgressIPAMStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

EgressIPAMStatus defines the observed state of EgressIPAM

func (*EgressIPAMStatus) DeepCopy

func (in *EgressIPAMStatus) DeepCopy() *EgressIPAMStatus

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

func (*EgressIPAMStatus) DeepCopyInto

func (in *EgressIPAMStatus) DeepCopyInto(out *EgressIPAMStatus)

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