Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=gardener.clusters.openmcp.cloud
Index ¶
- Constants
- Variables
- type ClusterStatus
- type CommonStatus
- type Condition
- func (in *Condition) DeepCopy() *Condition
- func (in *Condition) DeepCopyInto(out *Condition)
- func (c *Condition) GetLastTransitionTime() time.Time
- func (c *Condition) GetMessage() string
- func (c *Condition) GetReason() string
- func (c *Condition) GetStatus() ConditionStatus
- func (c *Condition) GetType() string
- func (cc Condition) IsFalse() bool
- func (cc Condition) IsTrue() bool
- func (cc Condition) IsUnknown() bool
- func (c *Condition) SetLastTransitionTime(t time.Time)
- func (c *Condition) SetMessage(m string)
- func (c *Condition) SetReason(r string)
- func (c *Condition) SetStatus(s ConditionStatus)
- func (c *Condition) SetType(t string)
- type ConditionList
- type ConditionStatus
- type GardenClusterAccess
- type JSONPatch
- type JSONPatchOperation
- type JSONPatches
- type Landscape
- type LandscapeList
- type LandscapePhase
- type LandscapeSpec
- type LandscapeStatus
- type NamespacedObjectReference
- type ObjectReference
- type ProjectData
- type ProviderConfig
- type ProviderConfigList
- type ProviderConfigPhase
- type ProviderConfigSpec
- type ProviderConfigStatus
Constants ¶
const ( // LandscapeFinalizer is the finalizer that is used by the Landscape controller on Landscape resources. LandscapeFinalizer = GroupName + "/landscape" // ProviderConfigFinalizer is the finalizer that is used by the ProviderConfig controller on ProviderConfig resources. ProviderConfigFinalizer = GroupName + "/providerconfig" // ClusterFinalizer is the finalizer that is used by the Cluster controller on Cluster resources. ClusterFinalizer = GroupName + "/cluster" // AccessRequestFinalizer is the finalizer that is used by the AccessRequest controller on AccessRequest resources. AccessRequestFinalizer = GroupName + "/accessrequest" // ManagedByNameLabel is used to mark resources that are managed by the Gardener ClusterProvider. ManagedByNameLabel = GroupName + "/managed-by-name" // ManagedByNamespaceLabel is used to mark resources that are managed by the Gardener ClusterProvider. ManagedByNamespaceLabel = GroupName + "/managed-by-namespace" // ClusterReferenceLabelName is the label on the shoot that holds the name of the Cluster resource that created it. ClusterReferenceLabelName = "cluster-name." + GroupName // ClusterReferenceLabelNamespace is the label on the shoot that holds the namespace of the Cluster resource that created it. ClusterReferenceLabelNamespace = "cluster-namespace." + GroupName // ClusterReferenceLabelProvider is the label on the shoot that holds the name of the provider that is responsible for the Cluster resource that created it. ClusterReferenceLabelProvider = "provider-name." + GroupName // ClusterReferenceLabelEnvironment is the label on the shoot that holds the name of the environment that the responsible provider is in. ClusterReferenceLabelEnvironment = "environment." + GroupName )
const (
// GroupName is the group name used in this package
GroupName = "gardener.clusters.openmcp.cloud"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: GroupName, 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 ClusterStatus ¶
type ClusterStatus struct {
// Shoot contains the shoot manifest generated by the controller.
// +optional
Shoot *gardenv1beta1.ShootTemplate `json:"shoot,omitempty"`
}
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonStatus ¶
type CommonStatus struct {
// ObservedGeneration is the generation of this resource that was last reconciled by the controller.
ObservedGeneration int64 `json:"observedGeneration"`
// LastReconcileTime is the time when the resource was last reconciled by the controller.
LastReconcileTime metav1.Time `json:"lastReconcileTime"`
// Reason is expected to contain a CamelCased string that provides further information in a machine-readable format.
// +optional
Reason string `json:"reason,omitempty"`
// Message contains further details in a human-readable format.
// +optional
Message string `json:"message,omitempty"`
// Conditions contains the conditions.
// +optional
Conditions ConditionList `json:"conditions,omitempty"`
}
CommonStatus is a status shared by multiple resource. Note that a 'phase' is also part of the status, but it cannot be included in this struct. The reason is that we want to use string-like types for the phase, but the goddamn code generation does not support generics, no matter which annotations are added.
func (*CommonStatus) DeepCopy ¶
func (in *CommonStatus) DeepCopy() *CommonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonStatus.
func (*CommonStatus) DeepCopyInto ¶
func (in *CommonStatus) DeepCopyInto(out *CommonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct {
// Type is the type of the condition.
// Must be unique within the resource.
Type string `json:"type"`
// Status is the status of the condition.
Status ConditionStatus `json:"status"`
// Reason is expected to contain a CamelCased string that provides further information regarding the condition.
// It should have a fixed value set (like an enum) to be machine-readable. The value set depends on the condition type.
// It is optional, but should be filled at least when Status is not "True".
// +optional
Reason string `json:"reason,omitempty"`
// Message contains further details regarding the condition.
// It is meant for human users, Reason should be used for programmatic evaluation instead.
// It is optional, but should be filled at least when Status is not "True".
// +optional
Message string `json:"message,omitempty"`
// LastTransitionTime specifies the time when this condition's status last changed.
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}
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) GetLastTransitionTime ¶
func (*Condition) GetMessage ¶
func (*Condition) GetStatus ¶
func (c *Condition) GetStatus() ConditionStatus
func (Condition) IsFalse ¶
IsFalse returns true if the Condition's status is "False". Note that the status can be "Unknown", so !IsFalse() is not the same as IsTrue().
func (Condition) IsTrue ¶
IsTrue returns true if the Condition's status is "True". Note that the status can be "Unknown", so !IsTrue() is not the same as IsFalse().
func (*Condition) SetLastTransitionTime ¶
func (*Condition) SetMessage ¶
func (*Condition) SetStatus ¶
func (c *Condition) SetStatus(s ConditionStatus)
type ConditionList ¶
type ConditionList []Condition
ConditionList is a list of Conditions.
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.
type ConditionStatus ¶
type ConditionStatus string
const ( // CONDITION_UNKNOWN represents an unknown status for the condition. CONDITION_UNKNOWN ConditionStatus = "Unknown" // CONDITION_TRUE marks the condition as true. CONDITION_TRUE ConditionStatus = "True" // CONDITION_FALSE marks the condition as false. CONDITION_FALSE ConditionStatus = "False" )
func ConditionStatusFromBool ¶
func ConditionStatusFromBool(src bool) ConditionStatus
ConditionStatusFromBool converts a bool into the corresponding ConditionStatus.
func ConditionStatusFromBoolPtr ¶
func ConditionStatusFromBoolPtr(src *bool) ConditionStatus
ConditionStatusFromBoolPtr converts a bool pointer into the corresponding ConditionStatus. If nil, "Unknown" is returned.
type GardenClusterAccess ¶
type GardenClusterAccess struct {
// Inline holds an inline kubeconfig.
// Only one of the fields in this struct may be set.
// +optional
Inline string `json:"inline,omitempty"`
// SecretRef is a reference to a secret containing the kubeconfig.
// Only one of the fields in this struct may be set.
// +optional
SecretRef *NamespacedObjectReference `json:"secretRef,omitempty"`
}
func (*GardenClusterAccess) DeepCopy ¶
func (in *GardenClusterAccess) DeepCopy() *GardenClusterAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenClusterAccess.
func (*GardenClusterAccess) DeepCopyInto ¶
func (in *GardenClusterAccess) DeepCopyInto(out *GardenClusterAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JSONPatch ¶
type JSONPatch struct {
// Operation is the operation to perform.
// +kubebuilder:validation:Enum=add;remove;replace;move;copy;test
// +kubebuilder:validation:Required
Operation JSONPatchOperation `json:"op"`
// Path is the path to the target location in the JSON document.
// +kubebuilder:validation:Required
Path string `json:"path"`
// Value is the value to set at the target location.
// Required for add, replace, and test operations.
// +optional
Value *string `json:"value,omitempty"`
// From is the source location for move and copy operations.
// +optional
From *string `json:"from,omitempty"`
}
JSONPatch represents a JSON patch operation. Technically, a single JSON patch is already a list of patch operations. This type represents a single operation, use JSONPatches for a list of operations instead.
func (*JSONPatch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatch.
func (*JSONPatch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JSONPatchOperation ¶
type JSONPatchOperation string
const ( JSONPatchOperationAdd JSONPatchOperation = "add" JSONPatchOperationRemove JSONPatchOperation = "remove" JSONPatchOperationReplace JSONPatchOperation = "replace" JSONPatchOperationMove JSONPatchOperation = "move" JSONPatchOperationCopy JSONPatchOperation = "copy" JSONPatchOperationTest JSONPatchOperation = "test" )
type JSONPatches ¶
type JSONPatches []JSONPatch
JSONPatches is a list of JSON patch operations. This is technically a 'JSON patch' as defined in RFC 6902.
func (JSONPatches) DeepCopy ¶
func (in JSONPatches) DeepCopy() JSONPatches
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatches.
func (JSONPatches) DeepCopyInto ¶
func (in JSONPatches) DeepCopyInto(out *JSONPatches)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Landscape ¶
type Landscape struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec LandscapeSpec `json:"spec,omitempty"`
Status LandscapeStatus `json:"status,omitempty"`
}
func (*Landscape) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Landscape.
func (*Landscape) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Landscape) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LandscapeList ¶
type LandscapeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Landscape `json:"items"`
}
func (*LandscapeList) DeepCopy ¶
func (in *LandscapeList) DeepCopy() *LandscapeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LandscapeList.
func (*LandscapeList) DeepCopyInto ¶
func (in *LandscapeList) DeepCopyInto(out *LandscapeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LandscapeList) DeepCopyObject ¶
func (in *LandscapeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LandscapePhase ¶
type LandscapePhase string
const ( LANDSCAPE_PHASE_AVAILABLE LandscapePhase = "Available" LANDSCAPE_PHASE_UNAVAILABLE LandscapePhase = "Unavailable" LANDSCAPE_PHASE_PARTIALLY_AVAILABLE LandscapePhase = "Partially Available" )
type LandscapeSpec ¶
type LandscapeSpec struct {
// Access holds the access information for this Gardener Landscape.
Access GardenClusterAccess `json:"access"`
}
func (*LandscapeSpec) DeepCopy ¶
func (in *LandscapeSpec) DeepCopy() *LandscapeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LandscapeSpec.
func (*LandscapeSpec) DeepCopyInto ¶
func (in *LandscapeSpec) DeepCopyInto(out *LandscapeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LandscapeStatus ¶
type LandscapeStatus struct {
CommonStatus `json:",inline"`
// Phase is the current phase of the cluster.
Phase LandscapePhase `json:"phase"`
// APIServer is the API server URL of the Gardener Landscape.
APIServer string `json:"apiServer"`
// Projects lists the available projects.
Projects []ProjectData `json:"projects,omitempty"`
}
func (*LandscapeStatus) DeepCopy ¶
func (in *LandscapeStatus) DeepCopy() *LandscapeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LandscapeStatus.
func (*LandscapeStatus) DeepCopyInto ¶
func (in *LandscapeStatus) DeepCopyInto(out *LandscapeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedObjectReference ¶
type NamespacedObjectReference struct {
ObjectReference `json:",inline"`
// Namespace is the namespace of the referenced resource.
Namespace string `json:"namespace"`
}
func (*NamespacedObjectReference) DeepCopy ¶
func (in *NamespacedObjectReference) DeepCopy() *NamespacedObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedObjectReference.
func (*NamespacedObjectReference) DeepCopyInto ¶
func (in *NamespacedObjectReference) DeepCopyInto(out *NamespacedObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReference ¶
type ObjectReference struct {
// Name is the name of the referenced resource.
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
}
func (*ObjectReference) DeepCopy ¶
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectData ¶
type ProjectData struct {
// Name is the name of the project.
Name string `json:"name"`
// Namespace is the namespace that the project belongs to.
Namespace string `json:"namespace"`
}
func (*ProjectData) DeepCopy ¶
func (in *ProjectData) DeepCopy() *ProjectData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectData.
func (*ProjectData) DeepCopyInto ¶
func (in *ProjectData) DeepCopyInto(out *ProjectData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderConfig ¶
type ProviderConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ProviderConfigSpec `json:"spec,omitempty"`
Status ProviderConfigStatus `json:"status,omitempty"`
}
func (*ProviderConfig) CloudProfile ¶
func (gpcfg *ProviderConfig) CloudProfile() string
CloudProfile returns the name of the Gardener CloudProfile that is referenced in the shoot template. Can only handle cluster-scoped CloudProfiles at the moment.
func (*ProviderConfig) DeepCopy ¶
func (in *ProviderConfig) DeepCopy() *ProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfig.
func (*ProviderConfig) DeepCopyInto ¶
func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProviderConfig) DeepCopyObject ¶
func (in *ProviderConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProviderConfigList ¶
type ProviderConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ProviderConfig `json:"items"`
}
func (*ProviderConfigList) DeepCopy ¶
func (in *ProviderConfigList) DeepCopy() *ProviderConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfigList.
func (*ProviderConfigList) DeepCopyInto ¶
func (in *ProviderConfigList) DeepCopyInto(out *ProviderConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProviderConfigList) DeepCopyObject ¶
func (in *ProviderConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProviderConfigPhase ¶
type ProviderConfigPhase string
const ( PROVIDER_CONFIG_PHASE_AVAILABLE ProviderConfigPhase = "Available" PROVIDER_CONFIG_PHASE_UNAVAILABLE ProviderConfigPhase = "Unavailable" PROVIDER_CONFIG_PHASE_PARTIALLY_AVAILABLE ProviderConfigPhase = "Partially Available" )
type ProviderConfigSpec ¶
type ProviderConfigSpec struct {
// ProviderRef is a reference to the provider this configuration belongs to.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="providerRef is immutable"
ProviderRef ObjectReference `json:"providerRef"`
// LandscapeRef is a reference to the Landscape resource this configuration belongs to.
LandscapeRef ObjectReference `json:"landscapeRef"`
// Project is the Gardener project which should be used to create shoot clusters in it.
// The provided kubeconfig must have privileges for this project.
// +kubebuilder:validation:MinLength=1
Project string `json:"project"`
// ShootTemplate contains the shoot template for this configuration.
ShootTemplate gardenv1beta1.ShootTemplate `json:"shootTemplate"`
}
func (*ProviderConfigSpec) DeepCopy ¶
func (in *ProviderConfigSpec) DeepCopy() *ProviderConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfigSpec.
func (*ProviderConfigSpec) DeepCopyInto ¶
func (in *ProviderConfigSpec) DeepCopyInto(out *ProviderConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderConfigStatus ¶
type ProviderConfigStatus struct {
CommonStatus `json:",inline"`
// Phase is the current phase of the cluster.
Phase ProviderConfigPhase `json:"phase"`
}
func (*ProviderConfigStatus) DeepCopy ¶
func (in *ProviderConfigStatus) DeepCopy() *ProviderConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfigStatus.
func (*ProviderConfigStatus) DeepCopyInto ¶
func (in *ProviderConfigStatus) DeepCopyInto(out *ProviderConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.