v1alpha1

package
v0.0.0-...-c116a60 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// OpenstackFloatingIPPoolReadyCondition reports on the current status of the floating ip pool. Ready indicates that the pool is ready to be used.
	OpenstackFloatingIPPoolReadyCondition = "OpenstackFloatingIPPoolReadyCondition"

	// MaxIPsReachedReason is set when the maximum number of floating IPs has been reached.
	MaxIPsReachedReason = "MaxIPsReached"

	// UnableToFindFloatingIPNetworkReason is used when the floating ip network is not found.
	UnableToFindNetwork = "UnableToFindNetwork"
)
View Source
const (
	// OpenStackFloatingIPPoolFinalizer allows ReconcileOpenStackFloatingIPPool to clean up resources associated with OpenStackFloatingIPPool before
	// removing it from the apiserver.
	OpenStackFloatingIPPoolFinalizer = "openstackfloatingippool.infrastructure.cluster.x-k8s.io"

	OpenStackFloatingIPPoolNameIndex = "spec.poolRef.name"

	// OpenStackFloatingIPPoolIP.
	DeleteFloatingIPFinalizer = "openstackfloatingippool.infrastructure.cluster.x-k8s.io/delete-floating-ip"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.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 OpenStackFloatingIPPool

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

	Spec   OpenStackFloatingIPPoolSpec   `json:"spec,omitempty"`
	Status OpenStackFloatingIPPoolStatus `json:"status,omitempty"`
}

OpenStackFloatingIPPool is the Schema for the openstackfloatingippools API.

func (*OpenStackFloatingIPPool) DeepCopy

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

func (*OpenStackFloatingIPPool) DeepCopyInto

func (in *OpenStackFloatingIPPool) DeepCopyInto(out *OpenStackFloatingIPPool)

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

func (*OpenStackFloatingIPPool) DeepCopyObject

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

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

func (*OpenStackFloatingIPPool) GetConditions

func (r *OpenStackFloatingIPPool) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the OpenStackFloatingIPPool resource.

func (*OpenStackFloatingIPPool) GetFloatingIPTag

func (r *OpenStackFloatingIPPool) GetFloatingIPTag() string

func (*OpenStackFloatingIPPool) SetConditions

func (r *OpenStackFloatingIPPool) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the OpenStackFloatingIPPool to the predescribed clusterv1.Conditions.

type OpenStackFloatingIPPoolList

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

OpenStackFloatingIPPoolList contains a list of OpenStackFloatingIPPool.

func (*OpenStackFloatingIPPoolList) DeepCopy

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

func (*OpenStackFloatingIPPoolList) DeepCopyInto

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

func (*OpenStackFloatingIPPoolList) DeepCopyObject

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

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

type OpenStackFloatingIPPoolSpec

type OpenStackFloatingIPPoolSpec struct {
	// PreAllocatedFloatingIPs is a list of floating IPs precreated in OpenStack that should be used by this pool.
	// These are used before allocating new ones and are not deleted from OpenStack when the pool is deleted.
	PreAllocatedFloatingIPs []string `json:"preAllocatedFloatingIPs,omitempty"`

	// MaxIPs is the maximum number of floating ips that can be allocated from this pool, if nil there is no limit.
	// If set, the pool will stop allocating floating ips when it reaches this number of ClaimedIPs.
	// +optional
	MaxIPs *int `json:"maxIPs,omitempty"`

	// IdentityRef is a reference to a identity to be used when reconciling this pool.
	// +kubebuilder:validation:Required
	IdentityRef infrav1.OpenStackIdentityReference `json:"identityRef"`

	// FloatingIPNetwork is the external network to use for floating ips, if there's only one external network it will be used by default
	// +optional
	FloatingIPNetwork *infrav1.NetworkParam `json:"floatingIPNetwork"`

	// The stratergy to use for reclaiming floating ips when they are released from a machine
	// +kubebuilder:validation:Enum=Retain;Delete
	ReclaimPolicy ReclaimPolicy `json:"reclaimPolicy"`
}

OpenStackFloatingIPPoolSpec defines the desired state of OpenStackFloatingIPPool.

func (*OpenStackFloatingIPPoolSpec) DeepCopy

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

func (*OpenStackFloatingIPPoolSpec) DeepCopyInto

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

type OpenStackFloatingIPPoolStatus

type OpenStackFloatingIPPoolStatus struct {
	// +kubebuilder:default={}
	// +optional
	ClaimedIPs []string `json:"claimedIPs"`

	// +kubebuilder:default={}
	// +optional
	AvailableIPs []string `json:"availableIPs"`

	// FailedIPs contains a list of floating ips that failed to be allocated
	// +optional
	FailedIPs []string `json:"failedIPs,omitempty"`

	// floatingIPNetwork contains information about the network used for floating ips
	// +optional
	FloatingIPNetwork *infrav1.NetworkStatus `json:"floatingIPNetwork,omitempty"`

	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

OpenStackFloatingIPPoolStatus defines the observed state of OpenStackFloatingIPPool.

func (*OpenStackFloatingIPPoolStatus) DeepCopy

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

func (*OpenStackFloatingIPPoolStatus) DeepCopyInto

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

type ReclaimPolicy

type ReclaimPolicy string

ReclaimPolicy is a string type alias to represent reclaim policies for floating ips.

const (
	// ReclaimDelete is the reclaim policy for floating ips.
	ReclaimDelete ReclaimPolicy = "Delete"
	// ReclaimRetain is the reclaim policy for floating ips.
	ReclaimRetain ReclaimPolicy = "Retain"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL