v1beta2

package
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2025 License: Apache-2.0 Imports: 4 Imported by: 7

Documentation

Overview

Package v1beta2 contains API Schema definitions for the v1beta2 IPAM API. +kubebuilder:object:generate=true +groupName=ipam.cluster.x-k8s.io

Index

Constants

View Source
const (
	// IPAddressClaimReadyCondition is true if the IPAddressClaim allocation succeeded.
	IPAddressClaimReadyCondition = clusterv1.ReadyCondition

	// IPAddressClaimReadyAllocationFailedReason is the reason used when allocating an IP address for a claim fails.
	// More details should be provided in the condition's message.
	// When the IP pool is full, [PoolExhaustedReason] should be used for better visibility instead.
	IPAddressClaimReadyAllocationFailedReason = "AllocationFailed"

	// IPAddressClaimReadyPoolNotReadyReason is the reason used when the referenced IP pool is not ready.
	IPAddressClaimReadyPoolNotReadyReason = "PoolNotReady"

	// IPAddressClaimReadyPoolExhaustedReason is the reason used when an IP pool referenced by an [IPAddressClaim] is full and no address
	// can be allocated for the claim.
	IPAddressClaimReadyPoolExhaustedReason = "PoolExhausted"
)

IPAddressClaim's Ready condition and corresponding reasons.

View Source
const (
	// AllocationFailedV1Beta1Reason is the reason used when allocating an IP address for a claim fails. More details should be
	// provided in the condition's message.
	// When the IP pool is full, [PoolExhaustedReason] should be used for better visibility instead.
	AllocationFailedV1Beta1Reason = "AllocationFailed"

	// PoolNotReadyV1Beta1Reason is the reason used when the referenced IP pool is not ready.
	PoolNotReadyV1Beta1Reason = "PoolNotReady"

	// PoolExhaustedV1Beta1Reason is the reason used when an IP pool referenced by an [IPAddressClaim] is full and no address
	// can be allocated for the claim.
	PoolExhaustedV1Beta1Reason = "PoolExhausted"
)

These reasons are intended to be used with failed Ready conditions on an IPAddressClaim.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "ipam.cluster.x-k8s.io", Version: "v1beta2"}

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

Functions

This section is empty.

Types

type IPAddress

type IPAddress struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of IPAddress.
	// +required
	Spec IPAddressSpec `json:"spec,omitempty,omitzero"`
}

IPAddress is the Schema for the ipaddress API.

func (*IPAddress) DeepCopy

func (in *IPAddress) DeepCopy() *IPAddress

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

func (*IPAddress) DeepCopyInto

func (in *IPAddress) DeepCopyInto(out *IPAddress)

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

func (*IPAddress) DeepCopyObject

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

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

func (*IPAddress) Hub

func (*IPAddress) Hub()

type IPAddressClaim

type IPAddressClaim struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of IPAddressClaim.
	// +required
	Spec IPAddressClaimSpec `json:"spec,omitempty,omitzero"`
	// status is the observed state of IPAddressClaim.
	// +optional
	Status IPAddressClaimStatus `json:"status,omitempty,omitzero"`
}

IPAddressClaim is the Schema for the ipaddressclaim API.

func (*IPAddressClaim) DeepCopy

func (in *IPAddressClaim) DeepCopy() *IPAddressClaim

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

func (*IPAddressClaim) DeepCopyInto

func (in *IPAddressClaim) DeepCopyInto(out *IPAddressClaim)

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

func (*IPAddressClaim) DeepCopyObject

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

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

func (*IPAddressClaim) GetConditions

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

GetConditions returns the set of conditions for this object.

func (*IPAddressClaim) GetV1Beta1Conditions

func (m *IPAddressClaim) GetV1Beta1Conditions() clusterv1.Conditions

GetV1Beta1Conditions returns the set of conditions for this object.

func (*IPAddressClaim) Hub

func (*IPAddressClaim) Hub()

func (*IPAddressClaim) SetConditions

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

SetConditions sets conditions for an API object.

func (*IPAddressClaim) SetV1Beta1Conditions

func (m *IPAddressClaim) SetV1Beta1Conditions(conditions clusterv1.Conditions)

SetV1Beta1Conditions sets the conditions on this object.

type IPAddressClaimDeprecatedStatus

type IPAddressClaimDeprecatedStatus struct {
	// v1beta1 groups all the status fields that are deprecated and will be removed when support for v1beta1 will be dropped.
	// +optional
	V1Beta1 *IPAddressClaimV1Beta1DeprecatedStatus `json:"v1beta1,omitempty"`
}

IPAddressClaimDeprecatedStatus groups all the status fields that are deprecated and will be removed in a future version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.

func (*IPAddressClaimDeprecatedStatus) DeepCopy

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

func (*IPAddressClaimDeprecatedStatus) DeepCopyInto

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

type IPAddressClaimList

type IPAddressClaimList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#lists-and-simple-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is the list of IPAddressClaims.
	Items []IPAddressClaim `json:"items"`
}

IPAddressClaimList is a list of IPAddressClaims.

func (*IPAddressClaimList) DeepCopy

func (in *IPAddressClaimList) DeepCopy() *IPAddressClaimList

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

func (*IPAddressClaimList) DeepCopyInto

func (in *IPAddressClaimList) DeepCopyInto(out *IPAddressClaimList)

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

func (*IPAddressClaimList) DeepCopyObject

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

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

type IPAddressClaimReference

type IPAddressClaimReference struct {
	// name of the IPAddressClaim.
	// name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	Name string `json:"name,omitempty"`
}

IPAddressClaimReference is a reference to an IPAddressClaim.

func (*IPAddressClaimReference) DeepCopy

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

func (*IPAddressClaimReference) DeepCopyInto

func (in *IPAddressClaimReference) DeepCopyInto(out *IPAddressClaimReference)

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

type IPAddressClaimSpec

type IPAddressClaimSpec struct {
	// clusterName is the name of the Cluster this object belongs to.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	ClusterName string `json:"clusterName,omitempty"`

	// poolRef is a reference to the pool from which an IP address should be created.
	// +required
	PoolRef IPPoolReference `json:"poolRef,omitempty,omitzero"`
}

IPAddressClaimSpec is the desired state of an IPAddressClaim.

func (*IPAddressClaimSpec) DeepCopy

func (in *IPAddressClaimSpec) DeepCopy() *IPAddressClaimSpec

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

func (*IPAddressClaimSpec) DeepCopyInto

func (in *IPAddressClaimSpec) DeepCopyInto(out *IPAddressClaimSpec)

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

type IPAddressClaimStatus

type IPAddressClaimStatus struct {
	// conditions represents the observations of a IPAddressClaim's current state.
	// Known condition types are Ready.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=32
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// addressRef is a reference to the address that was created for this claim.
	// +optional
	AddressRef IPAddressReference `json:"addressRef,omitempty,omitzero"`

	// deprecated groups all the status fields that are deprecated and will be removed when all the nested field are removed.
	// +optional
	Deprecated *IPAddressClaimDeprecatedStatus `json:"deprecated,omitempty"`
}

IPAddressClaimStatus is the observed status of a IPAddressClaim. +kubebuilder:validation:MinProperties=1

func (*IPAddressClaimStatus) DeepCopy

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

func (*IPAddressClaimStatus) DeepCopyInto

func (in *IPAddressClaimStatus) DeepCopyInto(out *IPAddressClaimStatus)

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

type IPAddressClaimV1Beta1DeprecatedStatus

type IPAddressClaimV1Beta1DeprecatedStatus struct {
	// conditions summarises the current state of the IPAddressClaim
	//
	// Deprecated: This field is deprecated and is going to be removed when support for v1beta1 will be dropped. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details.
	//
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

IPAddressClaimV1Beta1DeprecatedStatus groups all the status fields that are deprecated and will be removed when support for v1beta1 will be dropped. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.

func (*IPAddressClaimV1Beta1DeprecatedStatus) DeepCopy

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

func (*IPAddressClaimV1Beta1DeprecatedStatus) DeepCopyInto

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

type IPAddressList

type IPAddressList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#lists-and-simple-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is the list of IPAddresses.
	Items []IPAddress `json:"items"`
}

IPAddressList is a list of IPAddress.

func (*IPAddressList) DeepCopy

func (in *IPAddressList) DeepCopy() *IPAddressList

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

func (*IPAddressList) DeepCopyInto

func (in *IPAddressList) DeepCopyInto(out *IPAddressList)

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

func (*IPAddressList) DeepCopyObject

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

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

type IPAddressReference

type IPAddressReference struct {
	// name of the IPAddress.
	// name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	Name string `json:"name,omitempty"`
}

IPAddressReference is a reference to an IPAddress.

func (*IPAddressReference) DeepCopy

func (in *IPAddressReference) DeepCopy() *IPAddressReference

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

func (*IPAddressReference) DeepCopyInto

func (in *IPAddressReference) DeepCopyInto(out *IPAddressReference)

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

type IPAddressSpec

type IPAddressSpec struct {
	// claimRef is a reference to the claim this IPAddress was created for.
	// +required
	ClaimRef IPAddressClaimReference `json:"claimRef,omitempty,omitzero"`

	// poolRef is a reference to the pool that this IPAddress was created from.
	// +required
	PoolRef IPPoolReference `json:"poolRef,omitempty,omitzero"`

	// address is the IP address.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=39
	Address string `json:"address,omitempty"`

	// prefix is the prefix of the address.
	// +required
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=128
	Prefix *int32 `json:"prefix,omitempty"`

	// gateway is the network gateway of the network the address is from.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=39
	Gateway string `json:"gateway,omitempty"`
}

IPAddressSpec is the desired state of an IPAddress.

func (*IPAddressSpec) DeepCopy

func (in *IPAddressSpec) DeepCopy() *IPAddressSpec

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

func (*IPAddressSpec) DeepCopyInto

func (in *IPAddressSpec) DeepCopyInto(out *IPAddressSpec)

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

type IPPoolReference

type IPPoolReference struct {
	// name of the IPPool.
	// name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	Name string `json:"name,omitempty"`

	// kind of the IPPool.
	// kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`
	Kind string `json:"kind,omitempty"`

	// apiGroup of the IPPool.
	// apiGroup must be fully qualified domain name.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	APIGroup string `json:"apiGroup,omitempty"`
}

IPPoolReference is a reference to an IPPool.

func (*IPPoolReference) DeepCopy

func (in *IPPoolReference) DeepCopy() *IPPoolReference

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

func (*IPPoolReference) DeepCopyInto

func (in *IPPoolReference) DeepCopyInto(out *IPPoolReference)

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