Documentation
¶
Index ¶
- Constants
- Variables
- func BuildFinalizersMergePatch(finalizers []string) []byte
- func CapsuleFieldOwners(obj *unstructured.Unstructured, prefix string) map[string]struct{}
- func ControllerFieldOwner() string
- func ControllerFieldOwnerPrefix(fieldowner string) string
- func FilterFinalizers(finalizers []string, ignored map[string]struct{}) (remaining []string, removed bool)
- func FreezeLabelRemove(obj client.Object)
- func FreezeLabelTriggers(obj client.Object) bool
- func GetLooseOwnerReference(obj client.Object) metav1.OwnerReference
- func HasExactlyCapsuleOwners(obj *unstructured.Unstructured, prefix string, allowed []string) bool
- func HasLooseOwnerReference(obj client.Object, owner metav1.OwnerReference) bool
- func IsStatusConditionTrue(conditions ConditionList, conditionType string) bool
- func LabelSelectorKeys(sel *metav1.LabelSelector) map[string]struct{}
- func LabelsChanged(keys []string, oldLabels, newLabels map[string]string) bool
- func LabelsChangedUnstructured(oldObj, newObj unstructured.Unstructured) bool
- func LooseOwnerReferenceEqual(a, b metav1.OwnerReference) bool
- func NameForManagedPoolResourceQuota(name string) string
- func NameForManagedRoleBindings(hash string) string
- func NameForManagedRuleStatus() string
- func OwnerPromotionLabelRemove(obj client.Object)
- func OwnerPromotionLabelTriggers(obj client.Object) bool
- func ReleaseAnnotationRemove(obj client.Object)
- func ReleaseAnnotationTriggers(obj client.Object) bool
- func RemoveLooseOwnerReference(obj client.Object, owner metav1.OwnerReference)
- func RemoveLooseOwnerReferenceForKindExceptGiven(obj client.Object, owner metav1.OwnerReference)
- func ResourceControllerFieldOwnerPrefix() string
- func SetFilteredLabels(obj *unstructured.Unstructured, filter map[string]struct{})
- func SetLooseOwnerReference(obj client.Object, owner metav1.OwnerReference) error
- func TriggerRequestReconcileAnnotation(ctx context.Context, c client.Client, gvk schema.GroupVersionKind, ...) error
- type Condition
- func NewAssignedCondition(obj client.Object) Condition
- func NewBoundCondition(obj client.Object) Condition
- func NewCordonedCondition(obj client.Object) Condition
- func NewExhaustedCondition(obj client.Object) Condition
- func NewReadyCondition(obj client.Object) Condition
- func NewReadyConditionReconcilingReason(obj client.Object) Condition
- func NewTerminatingConditionReason(obj client.Object) Condition
- type ConditionList
- func (in ConditionList) DeepCopy() ConditionList
- func (in ConditionList) DeepCopyInto(out *ConditionList)
- func (c *ConditionList) GetConditionByType(conditionType string) *Condition
- func (c *ConditionList) RemoveConditionByType(condition string)
- func (c *ConditionList) UpdateConditionByType(condition Condition)
- func (c *ConditionList) UpdateConditionByTypeWithStatus(condition Condition) (updated bool)
- type LocalObjectReference
- type LocalRFC1123ObjectReference
- type LocalRFC1123ObjectReferenceWithUID
- type NamespacedObjectReference
- type NamespacedObjectReferenceWithNamespace
- type NamespacedObjectWithUIDReference
- type NamespacedRFC1123ObjectReference
- type NamespacedRFC1123ObjectReferenceWithNamespace
- type NamespacedRFC1123ObjectReferenceWithNamespaceWithUID
- type ObjectReferenceStatus
- type ObjectReferenceStatusCondition
- type ProcessedItems
- type RFC1123Name
- type RFC1123SubdomainName
Constants ¶
const ( ReleaseAnnotation = "projectcapsule.dev/release" ReleaseAnnotationTrigger = "true" ReconcileAnnotation = "reconcile.projectcapsule.dev/requestedAt" AvailableIngressClassesAnnotation = "capsule.clastix.io/ingress-classes" AvailableIngressClassesRegexpAnnotation = "capsule.clastix.io/ingress-classes-regexp" AvailableStorageClassesAnnotation = "capsule.clastix.io/storage-classes" AvailableStorageClassesRegexpAnnotation = "capsule.clastix.io/storage-classes-regexp" AllowedRegistriesAnnotation = "capsule.clastix.io/allowed-registries" AllowedRegistriesRegexpAnnotation = "capsule.clastix.io/allowed-registries-regexp" ForbiddenNamespaceLabelsAnnotation = "capsule.clastix.io/forbidden-namespace-labels" ForbiddenNamespaceLabelsRegexpAnnotation = "capsule.clastix.io/forbidden-namespace-labels-regexp" ForbiddenNamespaceAnnotationsAnnotation = "capsule.clastix.io/forbidden-namespace-annotations" ForbiddenNamespaceAnnotationsRegexpAnnotation = "capsule.clastix.io/forbidden-namespace-annotations-regexp" ProtectedTenantAnnotation = "capsule.clastix.io/protected" ResourceQuotaAnnotationPrefix = "quota.resources.capsule.clastix.io" ResourceUsedAnnotationPrefix = "used.resources.capsule.clastix.io" )
const ( // ReadyCondition indicates the resource is ready and fully reconciled. ReadyCondition string = "Ready" CordonedCondition string = "Cordoned" TerminatingCondition string = "Terminating" NotReadyCondition string = "NotReady" AssignedCondition string = "Assigned" BoundCondition string = "Bound" ExhaustedCondition string = "Exhausted" // FailedReason indicates a condition or event observed a failure (Claim Rejected). SucceededReason string = "Succeeded" FailedReason string = "Failed" ActiveReason string = "Active" CordonedReason string = "Cordoned" TerminatingReason string = "Terminating" ReconcilingReason string = "Reconciling" PoolExhaustedReason string = "PoolExhausted" QueueExhaustedReason string = "QueueExhausted" NamespaceExhaustedReason string = "NamespaceExhausted" NoExhaustionsReason string = "NoExhaustions" InUseReason string = "InUse" UnusedReason string = "Unused" PendingUnmanagedContentReason string = "PendingUnmanagedContent" )
const ( ValueTrue string = "true" ValueFalse string = "false" ValueController string = "controller" ValueControllerResources string = "resources" ValueControllerReplications string = "replications" )
const ( ControllerFinalizer = "controller.projectcapsule.dev/finalize" LegacyResourceFinalizer = "capsule.clastix.io/resources" )
const ( ResourcesLabel = "capsule.clastix.io/resources" TenantNameLabel = "kubernetes.io/metadata.name" TenantLabel = "capsule.clastix.io/tenant" NewTenantLabel = "projectcapsule.dev/tenant" ResourcePoolLabel = "projectcapsule.dev/pool" FreezeLabel = "projectcapsule.dev/freeze" OwnerPromotionLabel = "owner.projectcapsule.dev/promote" ServiceAccountPromotionLabel = "projectcapsule.dev/promote" CordonedLabel = "projectcapsule.dev/cordoned" CapsuleNameLabel = "projectcapsule.dev/name" CreatedByCapsuleLabel = "projectcapsule.dev/created-by" CustomResourcesLabel = "projectcapsule.dev/custom-resources" NewManagedByCapsuleLabel = "projectcapsule.dev/managed-by" ManagedByCapsuleLabel = "capsule.clastix.io/managed-by" LimitRangeLabel = "capsule.clastix.io/limit-range" NetworkPolicyLabel = "capsule.clastix.io/network-policy" ResourceQuotaLabel = "capsule.clastix.io/resource-quota" RolebindingLabel = "capsule.clastix.io/role-binding" )
const ( FieldManagerCapsulePrefix = "projectcapsule.dev" FieldManagerCapsuleController = "projectcapsule.dev/controller" )
Variables ¶
var EmptyFinalizersMergePatch = []byte(`{"metadata":{"finalizers":[]}}`)
var WithCapsuleManagedResourcesLabelSelector = func() string { req, _ := labels.NewRequirement( NewManagedByCapsuleLabel, selection.In, []string{ ValueController, ValueControllerResources, }, ) return labels.NewSelector().Add(*req).String() }()
var WithoutCapsuleManagedResourcesLabelSelector = func() string { req, _ := labels.NewRequirement( NewManagedByCapsuleLabel, selection.NotIn, []string{ ValueController, ValueControllerResources, }, ) return labels.NewSelector().Add(*req).String() }()
Functions ¶
func BuildFinalizersMergePatch ¶ added in v0.13.0
func CapsuleFieldOwners ¶ added in v0.13.0
func CapsuleFieldOwners(obj *unstructured.Unstructured, prefix string) map[string]struct{}
CapsuleFieldOwners returns the set of managers that start with the Capsule prefix.
func ControllerFieldOwner ¶
func ControllerFieldOwner() string
func FilterFinalizers ¶ added in v0.13.0
func FreezeLabelRemove ¶
func FreezeLabelTriggers ¶
func GetLooseOwnerReference ¶ added in v0.13.0
func GetLooseOwnerReference( obj client.Object, ) metav1.OwnerReference
func HasExactlyCapsuleOwners ¶ added in v0.13.0
func HasExactlyCapsuleOwners(obj *unstructured.Unstructured, prefix string, allowed []string) bool
func HasLooseOwnerReference ¶
func HasLooseOwnerReference( obj client.Object, owner metav1.OwnerReference, ) bool
If not returns false.
func IsStatusConditionTrue ¶ added in v0.13.0
func IsStatusConditionTrue(conditions ConditionList, conditionType string) bool
func LabelSelectorKeys ¶ added in v0.13.0
func LabelSelectorKeys(sel *metav1.LabelSelector) map[string]struct{}
Collect all mentioned keys from a LabelSelector.
func LabelsChanged ¶ added in v0.13.0
LabelsChanged indicates if the given label keys have changed.
func LabelsChangedUnstructured ¶ added in v0.13.0
func LabelsChangedUnstructured(oldObj, newObj unstructured.Unstructured) bool
func LooseOwnerReferenceEqual ¶ added in v0.13.0
func LooseOwnerReferenceEqual(a, b metav1.OwnerReference) bool
func NameForManagedPoolResourceQuota ¶ added in v0.13.0
func NameForManagedRoleBindings ¶ added in v0.13.0
func NameForManagedRuleStatus ¶ added in v0.13.0
func NameForManagedRuleStatus() string
func ReleaseAnnotationRemove ¶
func RemoveLooseOwnerReference ¶
func RemoveLooseOwnerReference( obj client.Object, owner metav1.OwnerReference, )
Removes a Loose Ownerreference based on UID.
func RemoveLooseOwnerReferenceForKindExceptGiven ¶ added in v0.13.0
func RemoveLooseOwnerReferenceForKindExceptGiven( obj client.Object, owner metav1.OwnerReference, )
RemoveLooseOwnerReferenceForKindExceptGiven removes all ownerReferences that have the same APIVersion and Kind as the given owner, except the given owner itself (matched by UID). OwnerReferences with different APIVersion/Kind are preserved.
If the given owner is not present on the object, all ownerReferences with that APIVersion/Kind are removed.
func ResourceControllerFieldOwnerPrefix ¶ added in v0.13.0
func ResourceControllerFieldOwnerPrefix() string
func SetFilteredLabels ¶ added in v0.13.0
func SetFilteredLabels(obj *unstructured.Unstructured, filter map[string]struct{})
SetFilteredLabels Removes given labels by key.
func SetLooseOwnerReference ¶
func SetLooseOwnerReference(obj client.Object, owner metav1.OwnerReference) error
Adds an ownerreferences, which does not delete the object when the owner is deleted.
func TriggerRequestReconcileAnnotation ¶ added in v0.13.0
func TriggerRequestReconcileAnnotation( ctx context.Context, c client.Client, gvk schema.GroupVersionKind, key types.NamespacedName, ) error
Types ¶
type Condition ¶
+kubebuilder:object:generate=true
func NewAssignedCondition ¶
func NewBoundCondition ¶
func NewCordonedCondition ¶
func NewExhaustedCondition ¶ added in v0.13.0
func NewReadyCondition ¶
func NewReadyConditionReconcilingReason ¶ added in v0.13.0
func NewTerminatingConditionReason ¶ added in v0.13.0
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Condition) UpdateCondition ¶
Disregards fields like LastTransitionTime and Version, which are not relevant for the API.
type ConditionList ¶
type ConditionList []Condition
func (ConditionList) DeepCopy ¶
func (in ConditionList) DeepCopy() ConditionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionList.
func (ConditionList) DeepCopyInto ¶
func (in ConditionList) DeepCopyInto(out *ConditionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConditionList) GetConditionByType ¶
func (c *ConditionList) GetConditionByType(conditionType string) *Condition
Adds a condition by type.
func (*ConditionList) RemoveConditionByType ¶
func (c *ConditionList) RemoveConditionByType(condition string)
Removes a condition by type.
func (*ConditionList) UpdateConditionByType ¶
func (c *ConditionList) UpdateConditionByType(condition Condition)
Adds a condition by type.
func (*ConditionList) UpdateConditionByTypeWithStatus ¶ added in v0.13.0
func (c *ConditionList) UpdateConditionByTypeWithStatus(condition Condition) (updated bool)
type LocalObjectReference ¶ added in v0.13.0
type LocalObjectReference struct {
// Name of the referent.
// +required
Name string `json:"name"`
}
LocalObjectReference contains enough information to locate the referenced Kubernetes resource object. +kubebuilder:object:generate=true
func (*LocalObjectReference) DeepCopy ¶ added in v0.13.0
func (in *LocalObjectReference) DeepCopy() *LocalObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReference.
func (*LocalObjectReference) DeepCopyInto ¶ added in v0.13.0
func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalRFC1123ObjectReference ¶ added in v0.13.0
type LocalRFC1123ObjectReference struct {
// Name of the referent.
// +required
Name RFC1123Name `json:"name"`
}
LocalObjectReference contains enough information to locate the referenced Kubernetes resource object. +kubebuilder:object:generate=true
func (*LocalRFC1123ObjectReference) DeepCopy ¶ added in v0.13.0
func (in *LocalRFC1123ObjectReference) DeepCopy() *LocalRFC1123ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRFC1123ObjectReference.
func (*LocalRFC1123ObjectReference) DeepCopyInto ¶ added in v0.13.0
func (in *LocalRFC1123ObjectReference) DeepCopyInto(out *LocalRFC1123ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalRFC1123ObjectReferenceWithUID ¶ added in v0.13.0
type LocalRFC1123ObjectReferenceWithUID struct {
// UID of the tracked Tenant to pin point tracking
// +required
k8stypes.UID `json:"uid,omitempty" protobuf:"bytes,5,opt,name=uid"`
// Name of the referent.
// +required
Name RFC1123Name `json:"name,omitempty"`
}
type NamespacedObjectReference ¶ added in v0.13.0
type NamespacedObjectReference struct {
// Name of the referent.
// +required
Name string `json:"name"`
// Namespace of the referent, when not specified it acts as LocalObjectReference.
// +optional
Namespace RFC1123SubdomainName `json:"namespace,omitempty"`
}
NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any namespace. +kubebuilder:object:generate=true
func (*NamespacedObjectReference) DeepCopy ¶ added in v0.13.0
func (in *NamespacedObjectReference) DeepCopy() *NamespacedObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedObjectReference.
func (*NamespacedObjectReference) DeepCopyInto ¶ added in v0.13.0
func (in *NamespacedObjectReference) DeepCopyInto(out *NamespacedObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedObjectReferenceWithNamespace ¶ added in v0.13.0
type NamespacedObjectReferenceWithNamespace struct {
// Name of the referent.
// +required
Name string `json:"name"`
// Namespace of the referent.
// +required
Namespace RFC1123SubdomainName `json:"namespace,omitempty"`
}
NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any namespace. But the namespace is required. +kubebuilder:object:generate=true
func (*NamespacedObjectReferenceWithNamespace) DeepCopy ¶ added in v0.13.0
func (in *NamespacedObjectReferenceWithNamespace) DeepCopy() *NamespacedObjectReferenceWithNamespace
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedObjectReferenceWithNamespace.
func (*NamespacedObjectReferenceWithNamespace) DeepCopyInto ¶ added in v0.13.0
func (in *NamespacedObjectReferenceWithNamespace) DeepCopyInto(out *NamespacedObjectReferenceWithNamespace)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedObjectWithUIDReference ¶ added in v0.13.0
type NamespacedObjectWithUIDReference struct {
// UID of the tracked Tenant to pin point tracking
// +required
k8stypes.UID `json:"uid,omitempty" protobuf:"bytes,5,opt,name=uid"`
// Name of the referent.
// +required
Name string `json:"name"`
// Namespace of the referent, when not specified it acts as LocalObjectReference.
// +optional
Namespace RFC1123SubdomainName `json:"namespace,omitempty"`
}
NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any namespace. +kubebuilder:object:generate=true
func (*NamespacedObjectWithUIDReference) DeepCopy ¶ added in v0.13.0
func (in *NamespacedObjectWithUIDReference) DeepCopy() *NamespacedObjectWithUIDReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedObjectWithUIDReference.
func (*NamespacedObjectWithUIDReference) DeepCopyInto ¶ added in v0.13.0
func (in *NamespacedObjectWithUIDReference) DeepCopyInto(out *NamespacedObjectWithUIDReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedRFC1123ObjectReference ¶ added in v0.13.0
type NamespacedRFC1123ObjectReference struct {
// Name of the referent.
// +required
Name RFC1123Name `json:"name"`
// Namespace of the referent, when not specified it acts as LocalObjectReference.
// +optional
Namespace RFC1123SubdomainName `json:"namespace,omitempty"`
}
NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any namespace. +kubebuilder:object:generate=true
func (*NamespacedRFC1123ObjectReference) DeepCopy ¶ added in v0.13.0
func (in *NamespacedRFC1123ObjectReference) DeepCopy() *NamespacedRFC1123ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedRFC1123ObjectReference.
func (*NamespacedRFC1123ObjectReference) DeepCopyInto ¶ added in v0.13.0
func (in *NamespacedRFC1123ObjectReference) DeepCopyInto(out *NamespacedRFC1123ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedRFC1123ObjectReferenceWithNamespace ¶ added in v0.13.0
type NamespacedRFC1123ObjectReferenceWithNamespace struct {
// Name of the referent.
// +required
Name RFC1123Name `json:"name"`
// Namespace of the referent.
// +required
Namespace RFC1123SubdomainName `json:"namespace,omitempty"`
}
NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any namespace. But the namespace is required. +kubebuilder:object:generate=true
func (*NamespacedRFC1123ObjectReferenceWithNamespace) DeepCopy ¶ added in v0.13.0
func (in *NamespacedRFC1123ObjectReferenceWithNamespace) DeepCopy() *NamespacedRFC1123ObjectReferenceWithNamespace
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedRFC1123ObjectReferenceWithNamespace.
func (*NamespacedRFC1123ObjectReferenceWithNamespace) DeepCopyInto ¶ added in v0.13.0
func (in *NamespacedRFC1123ObjectReferenceWithNamespace) DeepCopyInto(out *NamespacedRFC1123ObjectReferenceWithNamespace)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedRFC1123ObjectReferenceWithNamespaceWithUID ¶ added in v0.13.0
type NamespacedRFC1123ObjectReferenceWithNamespaceWithUID struct {
// UID of the tracked Tenant to pin point tracking
// +required
k8stypes.UID `json:"uid,omitempty" protobuf:"bytes,5,opt,name=uid"`
// Name of the referent.
// +required
Name RFC1123Name `json:"name"`
// Namespace of the referent.
// +required
Namespace RFC1123SubdomainName `json:"namespace,omitempty"`
}
NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any namespace. But the namespace is required. +kubebuilder:object:generate=true
func (*NamespacedRFC1123ObjectReferenceWithNamespaceWithUID) DeepCopy ¶ added in v0.13.0
func (in *NamespacedRFC1123ObjectReferenceWithNamespaceWithUID) DeepCopy() *NamespacedRFC1123ObjectReferenceWithNamespaceWithUID
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedRFC1123ObjectReferenceWithNamespaceWithUID.
func (*NamespacedRFC1123ObjectReferenceWithNamespaceWithUID) DeepCopyInto ¶ added in v0.13.0
func (in *NamespacedRFC1123ObjectReferenceWithNamespaceWithUID) DeepCopyInto(out *NamespacedRFC1123ObjectReferenceWithNamespaceWithUID)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReferenceStatus ¶ added in v0.13.0
type ObjectReferenceStatus struct {
gvk.ResourceID `json:",inline"`
ObjectReferenceStatusCondition `json:"status,omitempty"`
}
Advanced Status Item for pin pointing items in tenants/namespaces. +kubebuilder:object:generate=true
func (*ObjectReferenceStatus) DeepCopy ¶ added in v0.13.0
func (in *ObjectReferenceStatus) DeepCopy() *ObjectReferenceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReferenceStatus.
func (*ObjectReferenceStatus) DeepCopyInto ¶ added in v0.13.0
func (in *ObjectReferenceStatus) DeepCopyInto(out *ObjectReferenceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReferenceStatusCondition ¶ added in v0.13.0
type ObjectReferenceStatusCondition struct {
// status of the condition, one of True, False, Unknown.
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=True;False;Unknown
Status metav1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status"`
// message is a human readable message indicating details about the transition.
// This may be an empty string.
// +kubebuilder:validation:MaxLength=32768
Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
// type of condition in CamelCase or in foo.example.com/CamelCase.
// ---
// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
// useful (see .node.status.conditions), the ability to deconflict is important.
// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$`
// +kubebuilder:validation:MaxLength=316
Type string `json:"type" protobuf:"bytes,1,opt,name=type"`
// An opaque value that represents the internal version of this object that can
// be used by clients to determine when objects have changed. May be used for optimistic
// concurrency, change detection, and the watch operation on a resource or set of resources.
// Clients must treat these values as opaque and passed unmodified back to the server.
// They may only be valid for a particular resource or set of resources.
//
// Populated by the system.
// Read-only.
// Value must be treated as opaque by clients and .
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
// +optional
LastApply metav1.Time `json:"lastApply,omitempty,omitzero" protobuf:"bytes,8,opt,name=lastApply"`
// Indicates wether the resource was created or adopted
Created bool `json:"created,omitempty"`
}
+kubebuilder:object:generate=true
func (*ObjectReferenceStatusCondition) DeepCopy ¶ added in v0.13.0
func (in *ObjectReferenceStatusCondition) DeepCopy() *ObjectReferenceStatusCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReferenceStatusCondition.
func (*ObjectReferenceStatusCondition) DeepCopyInto ¶ added in v0.13.0
func (in *ObjectReferenceStatusCondition) DeepCopyInto(out *ObjectReferenceStatusCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProcessedItems ¶ added in v0.13.0
type ProcessedItems []ObjectReferenceStatus
func (*ProcessedItems) GetItem ¶ added in v0.13.0
func (p *ProcessedItems) GetItem(ref gvk.ResourceID) *ObjectReferenceStatus
Removes a condition by type. Returns actual item pointer, not a copy.
func (*ProcessedItems) RemoveItem ¶ added in v0.13.0
func (p *ProcessedItems) RemoveItem(item ObjectReferenceStatus)
Removes a condition by type.
func (ProcessedItems) SortDeterministic ¶ added in v0.13.0
func (p ProcessedItems) SortDeterministic()
func (*ProcessedItems) UpdateItem ¶ added in v0.13.0
func (p *ProcessedItems) UpdateItem(item ObjectReferenceStatus)
Adds a condition by type.
type RFC1123Name ¶ added in v0.13.0
type RFC1123Name string
NamespaceName must be a lowercase RFC1123 label. +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ +kubebuilder:validation:MaxLength=63
func (RFC1123Name) String ¶ added in v0.13.0
func (n RFC1123Name) String() string
type RFC1123SubdomainName ¶ added in v0.13.0
type RFC1123SubdomainName string
Name must be unique within a namespace. +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ +kubebuilder:validation:MaxLength=253 +kubebuilder:object:generate=true
func (RFC1123SubdomainName) String ¶ added in v0.13.0
func (n RFC1123SubdomainName) String() string