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 ¶
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.