Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the netbox v1 API group +kubebuilder:object:generate=true +groupName=netbox.dev
Index ¶
- Variables
- type IpAddress
- type IpAddressClaim
- type IpAddressClaimList
- type IpAddressClaimSpec
- type IpAddressClaimStatus
- type IpAddressList
- type IpAddressSpec
- type IpAddressStatus
- type IpRange
- type IpRangeClaim
- type IpRangeClaimList
- type IpRangeClaimSpec
- type IpRangeClaimStatus
- type IpRangeList
- type IpRangeSpec
- type IpRangeStatus
- type Prefix
- type PrefixClaim
- type PrefixClaimList
- type PrefixClaimSpec
- type PrefixClaimStatus
- type PrefixList
- type PrefixSpec
- type PrefixStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "netbox.dev", Version: "v1"} // 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 )
var ConditionIpAssignedFalse = metav1.Condition{
Type: "IPAssigned",
Status: "False",
Reason: "IPAddressCRNotCreated",
Message: "Failed to fetch new IP from NetBox",
}
var ConditionIpAssignedTrue = metav1.Condition{
Type: "IPAssigned",
Status: "True",
Reason: "IPAddressCRCreated",
Message: "New IP fetched from NetBox and IPAddress CR was created",
}
var ConditionIpClaimReadyFalse = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "IPAddressResourceNotReady",
Message: "IPAddress Resource is not ready",
}
var ConditionIpClaimReadyTrue = metav1.Condition{
Type: "Ready",
Status: "True",
Reason: "IPAddressResourceReady",
Message: "IPAddress Resource is ready",
}
var ConditionIpRangeAssignedFalse = metav1.Condition{
Type: "IPRangeAssigned",
Status: "False",
Reason: "IPRangeCRNotCreated",
Message: "Failed to fetch new IP Range from NetBox",
}
var ConditionIpRangeAssignedFalseSizeMissmatch = metav1.Condition{
Type: "IPRangeAssigned",
Status: "False",
Reason: "IPRangeCRNotCreated",
Message: "Assigned/Restored IP range has less available IP addresses than requested",
}
var ConditionIpRangeAssignedTrue = metav1.Condition{
Type: "IPRangeAssigned",
Status: "True",
Reason: "IPRangeCRCreated",
Message: "New IP Range fetched from NetBox and IpRange CR was created",
}
var ConditionIpRangeClaimReadyFalse = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "IPRangeResourceNotReady",
Message: "IP Range Resource is not ready",
}
var ConditionIpRangeClaimReadyFalseStatusGen = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "IPRangeClaimStatusGenerationFailed",
Message: "Failed to generate IP Range Status",
}
var ConditionIpRangeClaimReadyTrue = metav1.Condition{
Type: "Ready",
Status: "True",
Reason: "IPRangeResourceReady",
Message: "IP Range Resource is ready",
}
var ConditionIpRangeReadyFalse = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "FailedToReserveIPRangeInNetbox",
Message: "Failed to reserve IP Range in NetBox",
}
var ConditionIpRangeReadyFalseDeletionFailed = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "FailedToDeleteIPRangeInNetbox",
Message: "Failed to delete IP Range in NetBox",
}
var ConditionIpRangeReadyTrue = metav1.Condition{
Type: "Ready",
Status: "True",
Reason: "IPRangeReservedInNetbox",
Message: "IP Range was reserved/updated in NetBox",
}
var ConditionIpaddressReadyFalse = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "FailedToReserveIpInNetbox",
Message: "Failed to reserve IP in NetBox",
}
var ConditionIpaddressReadyFalseDeletionFailed = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "FailedToDeleteIpInNetbox",
Message: "Failed to delete IP in NetBox",
}
var ConditionIpaddressReadyTrue = metav1.Condition{
Type: "Ready",
Status: "True",
Reason: "IpReservedInNetbox",
Message: "IP was reserved/updated in NetBox",
}
var ConditionParentPrefixSelectedFalse = metav1.Condition{
Type: "ParentPrefixSelected",
Status: "False",
Reason: "ParentPrefixNotSelected",
Message: "The parent prefix was not able to be selected",
}
var ConditionParentPrefixSelectedTrue = metav1.Condition{
Type: "ParentPrefixSelected",
Status: "True",
Reason: "ParentPrefixSelected",
Message: "The parent prefix was selected successfully",
}
var ConditionPrefixAssignedFalse = metav1.Condition{
Type: "PrefixAssigned",
Status: "False",
Reason: "PrefixCRNotCreated",
Message: "Failed to fetch new Prefix from NetBox",
}
var ConditionPrefixAssignedTrue = metav1.Condition{
Type: "PrefixAssigned",
Status: "True",
Reason: "PrefixCRCreated",
Message: "New prefix fetched from NetBox and prefix CR was created",
}
var ConditionPrefixClaimReadyFalse = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "PrefixClaimResourceNotReady",
Message: "PrefixClaim Resource is not ready",
}
var ConditionPrefixClaimReadyTrue = metav1.Condition{
Type: "Ready",
Status: "True",
Reason: "PrefixClaimResourceReady",
Message: "PrefixClaim Resource is ready",
}
var ConditionPrefixReadyFalse = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "FailedToReservePrefixInNetbox",
Message: "Failed to reserve prefix in NetBox",
}
var ConditionPrefixReadyFalseDeletionFailed = metav1.Condition{
Type: "Ready",
Status: "False",
Reason: "FailedToDeletePrefixInNetbox",
Message: "Failed to delete prefix in Netbox",
}
var ConditionPrefixReadyTrue = metav1.Condition{
Type: "Ready",
Status: "True",
Reason: "PrefixReservedInNetbox",
Message: "Prefix was reserved in NetBox",
}
Functions ¶
This section is empty.
Types ¶
type IpAddress ¶
type IpAddress struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IpAddressSpec `json:"spec,omitempty"` Status IpAddressStatus `json:"status,omitempty"` }
IpAddress is the Schema for the ipaddresses API
func (*IpAddress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpAddress.
func (*IpAddress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpAddress) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IpAddressClaim ¶
type IpAddressClaim struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IpAddressClaimSpec `json:"spec,omitempty"` Status IpAddressClaimStatus `json:"status,omitempty"` }
IpAddressClaim is the Schema for the ipaddressclaims 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.
type IpAddressClaimList ¶
type IpAddressClaimList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IpAddressClaim `json:"items"` }
IpAddressClaimList contains a list of IpAddressClaim
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 IpAddressClaimSpec ¶
type IpAddressClaimSpec struct { //+kubebuilder:validation:Required //+kubebuilder:validation:Format=cidr //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'parentPrefix' is immutable" ParentPrefix string `json:"parentPrefix"` //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'tenant' is immutable" Tenant string `json:"tenant,omitempty"` CustomFields map[string]string `json:"customFields,omitempty"` Comments string `json:"comments,omitempty"` Description string `json:"description,omitempty"` PreserveInNetbox bool `json:"preserveInNetbox,omitempty"` }
IpAddressClaimSpec defines the desired state of 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 { IpAddress string `json:"ipAddress,omitempty"` IpAddressDotDecimal string `json:"ipAddressDotDecimal,omitempty"` IpAddressName string `json:"ipAddressName,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
IpAddressClaimStatus defines the observed state of IpAddressClaim
func (*IpAddressClaimStatus) DeepCopy ¶
func (in *IpAddressClaimStatus) DeepCopy() *IpAddressClaimStatus
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 IpAddressList ¶
type IpAddressList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IpAddress `json:"items"` }
IpAddressList contains 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 IpAddressSpec ¶
type IpAddressSpec struct { //+kubebuilder:validation:Format=cidr //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'ipAddress' is immutable" //+kubebuilder:validation:Required IpAddress string `json:"ipAddress"` //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'tenant' is immutable" Tenant string `json:"tenant,omitempty"` CustomFields map[string]string `json:"customFields,omitempty"` Comments string `json:"comments,omitempty"` Description string `json:"description,omitempty"` PreserveInNetbox bool `json:"preserveInNetbox,omitempty"` }
IpAddressSpec defines the desired state of 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 IpAddressStatus ¶
type IpAddressStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file IpAddressId int64 `json:"id,omitempty"` IpAddressUrl string `json:"url,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
IpAddressStatus defines the observed state of IpAddress
func (*IpAddressStatus) DeepCopy ¶
func (in *IpAddressStatus) DeepCopy() *IpAddressStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpAddressStatus.
func (*IpAddressStatus) DeepCopyInto ¶
func (in *IpAddressStatus) DeepCopyInto(out *IpAddressStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IpRange ¶
type IpRange struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IpRangeSpec `json:"spec,omitempty"` Status IpRangeStatus `json:"status,omitempty"` }
IpRange is the Schema for the ipranges API
func (*IpRange) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRange.
func (*IpRange) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpRange) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IpRangeClaim ¶
type IpRangeClaim struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IpRangeClaimSpec `json:"spec,omitempty"` Status IpRangeClaimStatus `json:"status,omitempty"` }
IpRangeClaim is the Schema for the iprangeclaims API
func (*IpRangeClaim) DeepCopy ¶
func (in *IpRangeClaim) DeepCopy() *IpRangeClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRangeClaim.
func (*IpRangeClaim) DeepCopyInto ¶
func (in *IpRangeClaim) DeepCopyInto(out *IpRangeClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpRangeClaim) DeepCopyObject ¶
func (in *IpRangeClaim) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IpRangeClaimList ¶
type IpRangeClaimList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IpRangeClaim `json:"items"` }
IpRangeClaimList contains a list of IpRangeClaim
func (*IpRangeClaimList) DeepCopy ¶
func (in *IpRangeClaimList) DeepCopy() *IpRangeClaimList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRangeClaimList.
func (*IpRangeClaimList) DeepCopyInto ¶
func (in *IpRangeClaimList) DeepCopyInto(out *IpRangeClaimList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpRangeClaimList) DeepCopyObject ¶
func (in *IpRangeClaimList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IpRangeClaimSpec ¶
type IpRangeClaimSpec struct { //+kubebuilder:validation:Required //+kubebuilder:validation:Format=cidr //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'parentPrefix' is immutable" ParentPrefix string `json:"parentPrefix"` // Size is the amount of consecutive IP Addresses you wish to reserve. Currently only sizes up to 50 are supported due to pagination of the NetBox API. In practice, this might be even lower depending on the fragmentation of the parent prefix. //+kubebuilder:validation:Required //+kubebuilder:validation:Minimum=2 //+kubebuilder:validation:Maximum=50 //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'size' is immutable" Size int `json:"size,omitempty"` //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'tenant' is immutable" Tenant string `json:"tenant,omitempty"` CustomFields map[string]string `json:"customFields,omitempty"` Comments string `json:"comments,omitempty"` Description string `json:"description,omitempty"` PreserveInNetbox bool `json:"preserveInNetbox,omitempty"` }
IpRangeClaimSpec defines the desired state of IpRangeClaim
func (*IpRangeClaimSpec) DeepCopy ¶
func (in *IpRangeClaimSpec) DeepCopy() *IpRangeClaimSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRangeClaimSpec.
func (*IpRangeClaimSpec) DeepCopyInto ¶
func (in *IpRangeClaimSpec) DeepCopyInto(out *IpRangeClaimSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IpRangeClaimStatus ¶
type IpRangeClaimStatus struct { IpRange string `json:"ipRange,omitempty"` IpRangeDotDecimal string `json:"ipRangeDotDecimal,omitempty"` IpAddresses []string `json:"ipAddresses,omitempty"` IpAddressesDotDecimal []string `json:"ipAddressesDotDecimal,omitempty"` StartAddress string `json:"startAddress,omitempty"` StartAddressDotDecimal string `json:"startAddressDotDecimal,omitempty"` EndAddress string `json:"endAddress,omitempty"` EndAddressDotDecimal string `json:"endAddressDotDecimal,omitempty"` IpRangeName string `json:"ipAddressName,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
IpRangeClaimStatus defines the observed state of IpRangeClaim
func (*IpRangeClaimStatus) DeepCopy ¶
func (in *IpRangeClaimStatus) DeepCopy() *IpRangeClaimStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRangeClaimStatus.
func (*IpRangeClaimStatus) DeepCopyInto ¶
func (in *IpRangeClaimStatus) DeepCopyInto(out *IpRangeClaimStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IpRangeList ¶
type IpRangeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IpRange `json:"items"` }
IpRangeList contains a list of IpRange
func (*IpRangeList) DeepCopy ¶
func (in *IpRangeList) DeepCopy() *IpRangeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRangeList.
func (*IpRangeList) DeepCopyInto ¶
func (in *IpRangeList) DeepCopyInto(out *IpRangeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpRangeList) DeepCopyObject ¶
func (in *IpRangeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IpRangeSpec ¶
type IpRangeSpec struct { // the startAddress is the first ip address included in the ip range //+kubebuilder:validation:Format=cidr //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'startAddress' is immutable" //+kubebuilder:validation:Required StartAddress string `json:"startAddress"` // the endAddress is the last ip address included in the ip range //+kubebuilder:validation:Format=cidr //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'endAddress' is immutable" //+kubebuilder:validation:Required EndAddress string `json:"endAddress"` //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'tenant' is immutable" Tenant string `json:"tenant,omitempty"` CustomFields map[string]string `json:"customFields,omitempty"` Comments string `json:"comments,omitempty"` Description string `json:"description,omitempty"` PreserveInNetbox bool `json:"preserveInNetbox,omitempty"` }
IpRangeSpec defines the desired state of IpRange
func (*IpRangeSpec) DeepCopy ¶
func (in *IpRangeSpec) DeepCopy() *IpRangeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRangeSpec.
func (*IpRangeSpec) DeepCopyInto ¶
func (in *IpRangeSpec) DeepCopyInto(out *IpRangeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IpRangeStatus ¶
type IpRangeStatus struct { IpRangeId int64 `json:"id,omitempty"` IpRangeUrl string `json:"url,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
IpRangeStatus defines the observed state of IpRange
func (*IpRangeStatus) DeepCopy ¶
func (in *IpRangeStatus) DeepCopy() *IpRangeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpRangeStatus.
func (*IpRangeStatus) DeepCopyInto ¶
func (in *IpRangeStatus) DeepCopyInto(out *IpRangeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Prefix ¶
type Prefix struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PrefixSpec `json:"spec,omitempty"` Status PrefixStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Prefix",type=string,JSONPath=`.spec.prefix` +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="ID",type=string,JSONPath=`.status.id` +kubebuilder:printcolumn:name="URL",type=string,JSONPath=`.status.url` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:resource:shortName=px Prefix is the Schema for the prefixes API
func (*Prefix) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prefix.
func (*Prefix) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Prefix) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PrefixClaim ¶
type PrefixClaim struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PrefixClaimSpec `json:"spec,omitempty"` Status PrefixClaimStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Prefix",type=string,JSONPath=`.status.prefix` +kubebuilder:printcolumn:name="PrefixAssigned",type=string,JSONPath=`.status.conditions[?(@.type=="PrefixAssigned")].status` +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:resource:shortName=pxc PrefixClaim is the Schema for the prefixclaims API
func (*PrefixClaim) DeepCopy ¶
func (in *PrefixClaim) DeepCopy() *PrefixClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixClaim.
func (*PrefixClaim) DeepCopyInto ¶
func (in *PrefixClaim) DeepCopyInto(out *PrefixClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrefixClaim) DeepCopyObject ¶
func (in *PrefixClaim) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PrefixClaimList ¶
type PrefixClaimList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PrefixClaim `json:"items"` }
PrefixClaimList contains a list of PrefixClaim
func (*PrefixClaimList) DeepCopy ¶
func (in *PrefixClaimList) DeepCopy() *PrefixClaimList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixClaimList.
func (*PrefixClaimList) DeepCopyInto ¶
func (in *PrefixClaimList) DeepCopyInto(out *PrefixClaimList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrefixClaimList) DeepCopyObject ¶
func (in *PrefixClaimList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PrefixClaimSpec ¶
type PrefixClaimSpec struct { //+kubebuilder:validation:Format=cidr //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'parentPrefix' is immutable" ParentPrefix string `json:"parentPrefix,omitempty"` // The `parentPrefixSelector` is a key-value map, where all the entries are of data type `<string-string>` // The map contains a set of query conditions for selecting a set of prefixes that can be used as the parent prefix // The query conditions will be chained by the AND operator, and exact match of the keys and values will be performed // The built-in fields `tenant`, `site`, and `family`, along with custom fields, can be used // For more information, please see ParentPrefixSelectorGuide.md //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'parentPrefixSelector' is immutable" //+kubebuilder:validation:XValidation:rule="!has(self.family) || (self.family == 'IPv4' || self.family == 'IPv6')" ParentPrefixSelector map[string]string `json:"parentPrefixSelector,omitempty"` //+kubebuilder:validation:Required //+kubebuilder:validation:Pattern=`^\/[0-9]|[1-9][0-9]|1[01][0-9]|12[0-8]$` //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'prefixLength' is immutable" PrefixLength string `json:"prefixLength"` // Use the `name` value instead of the `slug` value //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'site' is immutable" Site string `json:"site,omitempty"` // Use the `name` value instead of the `slug` value //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'tenant' is immutable" Tenant string `json:"tenant,omitempty"` Description string `json:"description,omitempty"` Comments string `json:"comments,omitempty"` CustomFields map[string]string `json:"customFields,omitempty"` PreserveInNetbox bool `json:"preserveInNetbox,omitempty"` }
PrefixClaimSpec defines the desired state of PrefixClaim TODO: The reason for using a workaround please see https://github.com/netbox-community/netbox-operator/pull/90#issuecomment-2402112475 +kubebuilder:validation:XValidation:rule="!has(oldSelf.site) || has(self.site)", message="Site is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.parentPrefix) && has(self.parentPrefixSelector)) || (has(self.parentPrefix) && !has(self.parentPrefixSelector))"
func (*PrefixClaimSpec) DeepCopy ¶
func (in *PrefixClaimSpec) DeepCopy() *PrefixClaimSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixClaimSpec.
func (*PrefixClaimSpec) DeepCopyInto ¶
func (in *PrefixClaimSpec) DeepCopyInto(out *PrefixClaimSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrefixClaimStatus ¶
type PrefixClaimStatus struct { // Due to the fact that the parent prefix can be specified directly in `ParentPrefix` or selected from `ParentPrefixSelector`, // we use this field to store exactly which parent prefix we are using for all subsequent reconcile loop calls, // as Spec.ParentPrefix is an immutable field, we can't overwrite it SelectedParentPrefix string `json:"parentPrefix,omitempty"` Prefix string `json:"prefix,omitempty"` PrefixName string `json:"prefixName,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
PrefixClaimStatus defines the observed state of PrefixClaim
func (*PrefixClaimStatus) DeepCopy ¶
func (in *PrefixClaimStatus) DeepCopy() *PrefixClaimStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixClaimStatus.
func (*PrefixClaimStatus) DeepCopyInto ¶
func (in *PrefixClaimStatus) DeepCopyInto(out *PrefixClaimStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrefixList ¶
type PrefixList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Prefix `json:"items"` }
PrefixList contains a list of Prefix
func (*PrefixList) DeepCopy ¶
func (in *PrefixList) DeepCopy() *PrefixList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixList.
func (*PrefixList) DeepCopyInto ¶
func (in *PrefixList) DeepCopyInto(out *PrefixList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrefixList) DeepCopyObject ¶
func (in *PrefixList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PrefixSpec ¶
type PrefixSpec struct { //+kubebuilder:validation:Required //+kubebuilder:validation:Format=cidr //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'prefix' is immutable" Prefix string `json:"prefix"` //+kubebuilder:validation:XValidation:rule="self == oldSelf || self != ”",message="Field 'site' is required once set" Site string `json:"site,omitempty"` //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Field 'tenant' is immutable" Tenant string `json:"tenant,omitempty"` CustomFields map[string]string `json:"customFields,omitempty"` Description string `json:"description,omitempty"` Comments string `json:"comments,omitempty"` PreserveInNetbox bool `json:"preserveInNetbox,omitempty"` }
PrefixSpec defines the desired state of Prefix +kubebuilder:validation:XValidation:rule="!has(oldSelf.site) || has(self.site)", message="Site is required once set"
func (*PrefixSpec) DeepCopy ¶
func (in *PrefixSpec) DeepCopy() *PrefixSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixSpec.
func (*PrefixSpec) DeepCopyInto ¶
func (in *PrefixSpec) DeepCopyInto(out *PrefixSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrefixStatus ¶
type PrefixStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file // Prefix status: container, active, reserved , deprecated PrefixId int64 `json:"id,omitempty"` PrefixUrl string `json:"url,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
PrefixStatus defines the observed state of Prefix
func (*PrefixStatus) DeepCopy ¶
func (in *PrefixStatus) DeepCopy() *PrefixStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrefixStatus.
func (*PrefixStatus) DeepCopyInto ¶
func (in *PrefixStatus) DeepCopyInto(out *PrefixStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.