Documentation
¶
Overview ¶
Package v1alpha1 contains infrastructure resources of nine (IaaS). +kubebuilder:object:generate=true +groupName=infrastructure.nine.ch +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type AuditLogConfiguration
- type AuditLogTarget
- type CloudVirtualMachine
- func (in *CloudVirtualMachine) DeepCopy() *CloudVirtualMachine
- func (in *CloudVirtualMachine) DeepCopyInto(out *CloudVirtualMachine)
- func (in *CloudVirtualMachine) DeepCopyObject() runtime.Object
- func (mg *CloudVirtualMachine) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *CloudVirtualMachine) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *CloudVirtualMachine) GetManagementPolicies() xpv1.ManagementPolicies
- func (mg *CloudVirtualMachine) GetProviderConfigReference() *xpv1.Reference
- func (mg *CloudVirtualMachine) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *CloudVirtualMachine) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *CloudVirtualMachine) SetConditions(c ...xpv1.Condition)
- func (mg *CloudVirtualMachine) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *CloudVirtualMachine) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (mg *CloudVirtualMachine) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *CloudVirtualMachine) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *CloudVirtualMachine) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type CloudVirtualMachineList
- type CloudVirtualMachineOS
- type CloudVirtualMachineObservation
- type CloudVirtualMachineParameters
- type CloudVirtualMachineRescue
- type CloudVirtualMachineSpec
- type CloudVirtualMachineStatus
- type ClusterData
- func (in *ClusterData) DeepCopy() *ClusterData
- func (in *ClusterData) DeepCopyInto(out *ClusterData)
- func (in *ClusterData) DeepCopyObject() runtime.Object
- func (mg *ClusterData) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *ClusterData) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *ClusterData) GetManagementPolicies() xpv1.ManagementPolicies
- func (mg *ClusterData) GetProviderConfigReference() *xpv1.Reference
- func (mg *ClusterData) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *ClusterData) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *ClusterData) SetConditions(c ...xpv1.Condition)
- func (mg *ClusterData) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *ClusterData) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (mg *ClusterData) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *ClusterData) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *ClusterData) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type ClusterDataList
- type ClusterDataObservation
- type ClusterDataParameters
- type ClusterDataSpec
- type ClusterDataStatus
- type ClusterObservation
- type Disk
- type Keda
- func (in *Keda) DeepCopy() *Keda
- func (in *Keda) DeepCopyInto(out *Keda)
- func (in *Keda) DeepCopyObject() runtime.Object
- func (mg *Keda) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *Keda) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *Keda) GetManagementPolicies() xpv1.ManagementPolicies
- func (mg *Keda) GetProviderConfigReference() *xpv1.Reference
- func (mg *Keda) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *Keda) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *Keda) SetConditions(c ...xpv1.Condition)
- func (mg *Keda) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *Keda) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (mg *Keda) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Keda) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *Keda) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type KedaList
- type KedaObservation
- type KedaParameters
- type KedaSpec
- type KedaStatus
- type KubernetesCluster
- func (in *KubernetesCluster) DeepCopy() *KubernetesCluster
- func (in *KubernetesCluster) DeepCopyInto(out *KubernetesCluster)
- func (in *KubernetesCluster) DeepCopyObject() runtime.Object
- func (mg *KubernetesCluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *KubernetesCluster) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *KubernetesCluster) GetManagementPolicies() xpv1.ManagementPolicies
- func (mg *KubernetesCluster) GetProviderConfigReference() *xpv1.Reference
- func (mg *KubernetesCluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *KubernetesCluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *KubernetesCluster) SetConditions(c ...xpv1.Condition)
- func (mg *KubernetesCluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *KubernetesCluster) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (mg *KubernetesCluster) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *KubernetesCluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *KubernetesCluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type KubernetesClusterList
- type KubernetesClusterObservation
- type KubernetesClusterParameters
- type KubernetesClusterScrapeConfiguration
- type KubernetesClusterSpec
- type KubernetesClusterStatus
- type MachineType
- type MachineTypeBounds
- type NKEClusterSettings
- type NodePool
- type NodePoolStatus
- type OperatingSystem
- type StaticEgress
- type VClusterIngress
- type VClusterSettings
- type VClusterSpecificStatus
- type VirtualMachinePowerState
Constants ¶
const ( Group = "infrastructure.nine.ch" Version = "v1alpha1" )
Package type metadata.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
var ( CloudVirtualMachineKind = reflect.TypeOf(CloudVirtualMachine{}).Name() CloudVirtualMachineGroupKind = schema.GroupKind{Group: Group, Kind: CloudVirtualMachineKind}.String() CloudVirtualMachineKindAPIVersion = CloudVirtualMachineKind + "." + SchemeGroupVersion.String() CloudVirtualMachineGroupVersionKind = SchemeGroupVersion.WithKind(CloudVirtualMachineKind) ClusterDataKind = reflect.TypeOf(ClusterData{}).Name() ClusterDataGroupKind = schema.GroupKind{Group: Group, Kind: ClusterDataKind}.String() ClusterDataKindAPIVersion = ClusterDataKind + "." + SchemeGroupVersion.String() ClusterDataGroupVersionKind = SchemeGroupVersion.WithKind(ClusterDataKind) KedaKind = reflect.TypeOf(Keda{}).Name() KedaGroupKind = schema.GroupKind{Group: Group, Kind: KedaKind}.String() KedaKindAPIVersion = KedaKind + "." + SchemeGroupVersion.String() KedaGroupVersionKind = SchemeGroupVersion.WithKind(KedaKind) KubernetesClusterKind = reflect.TypeOf(KubernetesCluster{}).Name() KubernetesClusterGroupKind = schema.GroupKind{Group: Group, Kind: KubernetesClusterKind}.String() KubernetesClusterKindAPIVersion = KubernetesClusterKind + "." + SchemeGroupVersion.String() KubernetesClusterGroupVersionKind = SchemeGroupVersion.WithKind(KubernetesClusterKind) )
var ( // CloudVirtualMachineOperatingSystems lists all cloud VM operating systems. CloudVirtualMachineOperatingSystems = []CloudVirtualMachineOS{CloudVirtualMachineOS(Ubuntu20_04), CloudVirtualMachineOS(Ubuntu22_04), CloudVirtualMachineOS(Ubuntu24_04), CloudVirtualMachineOS(Rocky9), CloudVirtualMachineOS(Debian12)} // MachineTypeNineStandard1 is a VM running on Nine Infrastructure with: // 1 CPU Cores // 4GB RAM MachineTypeNineStandard1 = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineStandard2 is a VM running on Nine Infrastructure with: // 2 CPU Cores // 8GB RAM MachineTypeNineStandard2 = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineStandard4 is a VM running on Nine Infrastructure with: // 4 CPU Cores // 16GB RAM MachineTypeNineStandard4 = MachineType{/* contains filtered or unexported fields */} // MachineTypeHighMem2 is a VM running on Nine Infrastructure with: // 2 CPU Cores // 16GB RAM MachineTypeNineHighMem2 = MachineType{/* contains filtered or unexported fields */} // MachineTypeHighMem4 is a VM running on Nine Infrastructure with: // 4 CPU Cores // 32GB RAM MachineTypeNineHighMem4 = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineHighMem8 is a VM running on Nine Infrastructure with: // 8 CPU Cores // 64GB RAM MachineTypeNineHighMem8 = MachineType{/* contains filtered or unexported fields */} // MachineTypeHighCPU2 is a VM running on Nine Infrastructure with: // 2 CPU Cores // 4GB RAM MachineTypeNineHighCPU2 = MachineType{/* contains filtered or unexported fields */} // MachineTypeHighCPU4 is a VM running on Nine Infrastructure with: // 4 CPU Cores // 8GB RAM MachineTypeNineHighCPU4 = MachineType{/* contains filtered or unexported fields */} // MachineTypeHighCPU8 is a VM running on Nine Infrastructure with: // 8 CPU Cores // 16GB RAM MachineTypeNineHighCPU8 = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineDBXS is a VM running on Nine Infrastructure with: // 2 CPU Cores // 4GB RAM MachineTypeNineDBXS = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineDBS is a VM running on Nine Infrastructure with: // 4 CPU Cores // 8GB RAM MachineTypeNineDBS = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineDBM is a VM running on Nine Infrastructure with: // 4 CPU Cores // 12GB RAM MachineTypeNineDBM = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineDBL is a VM running on Nine Infrastructure with: // 6 CPU Cores // 16GB RAM MachineTypeNineDBL = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineDBXL is a VM running on Nine Infrastructure with: // 8 CPU Cores // 24GB RAM MachineTypeNineDBXL = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineDBXXL is a VM running on Nine Infrastructure with: // 10 CPU Cores // 32GB RAM MachineTypeNineDBXXL = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineSearchXS is a machine with: // 2 CPU Cores // 2GB RAM // 10GB Storage MachineTypeNineSearchXS = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineSearchS is a machine with: // 2 CPU Cores // 4GB RAM // 20GB Storage MachineTypeNineSearchS = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineSearchM is a machine with: // 4 CPU Cores // 8GB RAM // 60GB Storage MachineTypeNineSearchM = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineSearchL is a machine with: // 4 CPU Cores // 16GB RAM // 120GB Storage MachineTypeNineSearchL = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineSearchXL is a machine with: // 8 CPU Cores // 32GB RAM // 200GB Storage MachineTypeNineSearchXL = MachineType{/* contains filtered or unexported fields */} // MachineTypeNineSmall1 is a VM running on Nine Infrastructure with: // 1 CPU Cores // 2GB RAM MachineTypeNineSmall1 = MachineType{/* contains filtered or unexported fields */} // MachineTypes is a list of all machine types. MachineTypes = slices.Concat([]MachineType{MachineTypeNineStandard1, MachineTypeNineStandard2, MachineTypeNineStandard4, MachineTypeNineHighMem2, MachineTypeNineHighMem4, MachineTypeNineHighMem8, MachineTypeNineHighCPU2, MachineTypeNineHighCPU4, MachineTypeNineHighCPU8, MachineTypeNineSmall1}, MachineTypesDB, []MachineType{MachineTypeNineSearchXS, MachineTypeNineSearchS, MachineTypeNineSearchM, MachineTypeNineSearchL, MachineTypeNineSearchXL}) // MachineTypesDB is a list of all database machine types. MachineTypesDB = []MachineType{MachineTypeNineDBXS, MachineTypeNineDBS, MachineTypeNineDBM, MachineTypeNineDBL, MachineTypeNineDBXL, MachineTypeNineDBXXL} // DefaultMachineTypeBounds are the default bounds in which all machine // types must fit. DefaultMachineTypeBounds = MachineTypeBounds{MinCPU: resource.MustParse("1"), MaxCPU: resource.MustParse("24"), MinMemory: resource.MustParse("2Gi"), MaxMemory: resource.MustParse("64Gi"), MinMemCPURatio: 2.0, MaxMemCPURatio: 8.0} )
Functions ¶
This section is empty.
Types ¶
type AuditLogConfiguration ¶
type AuditLogConfiguration struct {
// Targets to send the audit log to. The only supported target is Loki.
// +kubebuilder:validation:MaxItems=1
// +kubebuilder:validation:MinItems=0
Targets []AuditLogTarget `json:"targets,omitempty"`
}
func (*AuditLogConfiguration) DeepCopy ¶
func (in *AuditLogConfiguration) DeepCopy() *AuditLogConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditLogConfiguration.
func (*AuditLogConfiguration) DeepCopyInto ¶
func (in *AuditLogConfiguration) DeepCopyInto(out *AuditLogConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuditLogTarget ¶
type AuditLogTarget struct {
meta.LocalTypedReference `json:",inline"`
}
func (*AuditLogTarget) DeepCopy ¶
func (in *AuditLogTarget) DeepCopy() *AuditLogTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditLogTarget.
func (*AuditLogTarget) DeepCopyInto ¶
func (in *AuditLogTarget) DeepCopyInto(out *AuditLogTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudVirtualMachine ¶
type CloudVirtualMachine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CloudVirtualMachineSpec `json:"spec"`
Status CloudVirtualMachineStatus `json:"status,omitempty"`
}
CloudVirtualMachine is a virtual machine instance providing flexible scaling and a variety of Linux distributions. +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="POWERSTATE",type="string",JSONPath=".status.atProvider.powerState" +kubebuilder:printcolumn:name="IP",type="string",JSONPath=".status.atProvider.ipAddress" +kubebuilder:printcolumn:name="FQDN",type="string",JSONPath=".status.atProvider.fqdn" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=cloudvm +kubebuilder:object:root=true
func (*CloudVirtualMachine) DeepCopy ¶
func (in *CloudVirtualMachine) DeepCopy() *CloudVirtualMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudVirtualMachine.
func (*CloudVirtualMachine) DeepCopyInto ¶
func (in *CloudVirtualMachine) DeepCopyInto(out *CloudVirtualMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CloudVirtualMachine) DeepCopyObject ¶
func (in *CloudVirtualMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CloudVirtualMachine) GetCondition ¶
func (mg *CloudVirtualMachine) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this CloudVirtualMachine.
func (*CloudVirtualMachine) GetDeletionPolicy ¶
func (mg *CloudVirtualMachine) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this CloudVirtualMachine.
func (*CloudVirtualMachine) GetManagementPolicies ¶
func (mg *CloudVirtualMachine) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this CloudVirtualMachine.
func (*CloudVirtualMachine) GetProviderConfigReference ¶
func (mg *CloudVirtualMachine) GetProviderConfigReference() *xpv1.Reference
GetProviderConfigReference of this CloudVirtualMachine.
func (*CloudVirtualMachine) GetPublishConnectionDetailsTo ¶
func (mg *CloudVirtualMachine) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this CloudVirtualMachine.
func (*CloudVirtualMachine) GetWriteConnectionSecretToReference ¶
func (mg *CloudVirtualMachine) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this CloudVirtualMachine.
func (*CloudVirtualMachine) SetConditions ¶
func (mg *CloudVirtualMachine) SetConditions(c ...xpv1.Condition)
SetConditions of this CloudVirtualMachine.
func (*CloudVirtualMachine) SetDeletionPolicy ¶
func (mg *CloudVirtualMachine) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this CloudVirtualMachine.
func (*CloudVirtualMachine) SetManagementPolicies ¶
func (mg *CloudVirtualMachine) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this CloudVirtualMachine.
func (*CloudVirtualMachine) SetProviderConfigReference ¶
func (mg *CloudVirtualMachine) SetProviderConfigReference(r *xpv1.Reference)
SetProviderConfigReference of this CloudVirtualMachine.
func (*CloudVirtualMachine) SetPublishConnectionDetailsTo ¶
func (mg *CloudVirtualMachine) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this CloudVirtualMachine.
func (*CloudVirtualMachine) SetWriteConnectionSecretToReference ¶
func (mg *CloudVirtualMachine) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this CloudVirtualMachine.
type CloudVirtualMachineList ¶
type CloudVirtualMachineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []CloudVirtualMachine `json:"items"`
}
CloudVirtualMachineList contains a list of CloudVirtualMachines +kubebuilder:object:root=true
func (*CloudVirtualMachineList) DeepCopy ¶
func (in *CloudVirtualMachineList) DeepCopy() *CloudVirtualMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudVirtualMachineList.
func (*CloudVirtualMachineList) DeepCopyInto ¶
func (in *CloudVirtualMachineList) DeepCopyInto(out *CloudVirtualMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CloudVirtualMachineList) DeepCopyObject ¶
func (in *CloudVirtualMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CloudVirtualMachineList) GetItems ¶
func (l *CloudVirtualMachineList) GetItems() []resource.Managed
GetItems of this CloudVirtualMachineList.
type CloudVirtualMachineOS ¶
type CloudVirtualMachineOS OperatingSystem
CloudVirtualMachineOS is an operating system for a cloud VM. +kubebuilder:validation:Enum=ubuntu20.04;ubuntu22.04;ubuntu24.04;rocky9;debian12 +nine:public:definition
type CloudVirtualMachineObservation ¶
type CloudVirtualMachineObservation struct {
// IPAddress is the public IPAddress for the VM.
IPAddress string `json:"ipAddress,omitempty"`
// PowerState indicates the observed power state of the VM.
PowerState VirtualMachinePowerState `json:"powerState,omitempty"`
// FQDN is the fully qualified domain name at which the VM is reachable at.
FQDN string `json:"fqdn,omitempty"`
// ReverseDNS is the current set reverse DNS for this cloud virtual machine.
// +optional
ReverseDNS string `json:"reverseDNS,omitempty"`
// UUID of the underlying virtual machine.
UUID string `json:"uuid,omitempty"`
// Status of all our child resources.
meta.ChildResourceStatus `json:",inline"`
}
CloudVirtualMachineObservation are the observable fields of a cloud VM.
func (*CloudVirtualMachineObservation) DeepCopy ¶
func (in *CloudVirtualMachineObservation) DeepCopy() *CloudVirtualMachineObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudVirtualMachineObservation.
func (*CloudVirtualMachineObservation) DeepCopyInto ¶
func (in *CloudVirtualMachineObservation) DeepCopyInto(out *CloudVirtualMachineObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudVirtualMachineParameters ¶
type CloudVirtualMachineParameters struct {
// MachineType defines the sizing of the Cloud VM. Cannot be changed while
// the VM is running unless allowStoppingForUpdate is set.
// +optional
// +kubebuilder:default:=nine-standard-1
MachineType MachineType `json:"machineType,omitempty"`
// Location specifies in which datacenter the VM will be spawned.
// Needs to match the available MachineTypes in that datacenter.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Location is immutable after creation"
Location meta.LocationName `json:"location"`
// Hostname allows to set the hostname explicitly. If unset, the name
// of the resource will be used as the hostname. This does not affect
// the DNS name.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Hostname is immutable after creation"
// +kubebuilder:default:=""
// +optional
Hostname string `json:"hostname,omitempty"`
// OS which should be used to boot the VM.
// +optional
// +kubebuilder:default:=ubuntu24.04
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="OS is immutable after creation"
OS CloudVirtualMachineOS `json:"os,omitempty"`
// BootDisk that will be used to boot the VM from.
// +optional
// +kubebuilder:default:={name:"root",size:"20Gi"}
BootDisk *Disk `json:"bootDisk,omitempty"`
// Disks specifies which additional disks to mount to the machine.
// +listType:="map"
// +listMapKey:="name"
// +optional
Disks []Disk `json:"disks,omitempty"`
// PowerState specifies the power state of the cloud VM. A value of
// "On" turns the VM on, shutdown sends an ACPI signal to the VM to
// perform a clean shutdown and off forces the power off immediately.
// +optional
// +kubebuilder:default:="on"
// +kubebuilder:validation:Enum=on;shutdown;off
PowerState VirtualMachinePowerState `json:"powerState,omitempty"`
// PublicKeys specifies the SSH Public Keys that can be used to connect to
// the VM as root. The keys are expected to be in SSH format as defined in
// RFC4253.
// +optional
// +kubebuilder:default:={}
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Public Key is immutable after creation"
PublicKeys []string `json:"publicKeys,omitempty"`
// CloudConfig allows to pass custom cloud config data (https://cloudinit.readthedocs.io/en/latest/topics/format.html#cloud-config-data)
// to the cloud VM. If a CloudConfig is passed, the PublicKey parameter is ignored.
// +optional
// +kubebuilder:default:=""
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Cloud Config is immutable after creation"
CloudConfig string `json:"cloudConfig,omitempty"`
// Rescue configures booting into a rescue live-OS for fixing a VM that is
// in an unbootable state.
Rescue *CloudVirtualMachineRescue `json:"rescue,omitempty"`
// AllowStoppingForUpdate allows the VM to be automatically stopped when a
// change requires stopping such as changing the machineType.
// +optional
// +kubebuilder:default:=false
AllowStoppingForUpdate bool `json:"allowStoppingForUpdate"`
// ReverseDNS allows to set the reverse DNS entry.
// +optional
ReverseDNS string `json:"reverseDNS,omitempty"`
}
CloudVirtualMachineParameters are the configurable fields of a CloudVirtualMachine.
func (*CloudVirtualMachineParameters) DeepCopy ¶
func (in *CloudVirtualMachineParameters) DeepCopy() *CloudVirtualMachineParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudVirtualMachineParameters.
func (*CloudVirtualMachineParameters) DeepCopyInto ¶
func (in *CloudVirtualMachineParameters) DeepCopyInto(out *CloudVirtualMachineParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudVirtualMachineRescue ¶
type CloudVirtualMachineRescue struct {
// Enable enables booting into rescue. This will trigger an immediate
// reboot of the VM into a rescue live-OS. Set this to false to configure
// boot from the root disk again.
Enabled bool `json:"enabled"`
// PublicKeys specifies additional SSH Public Keys that can be used to
// connect to the rescue OS as root. The keys are expected to be in SSH
// format as defined in RFC4253. If not specified, just the PublicKeys
// from the parameters will be used.
PublicKeys []string `json:"publicKeys,omitempty"`
}
func (*CloudVirtualMachineRescue) DeepCopy ¶
func (in *CloudVirtualMachineRescue) DeepCopy() *CloudVirtualMachineRescue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudVirtualMachineRescue.
func (*CloudVirtualMachineRescue) DeepCopyInto ¶
func (in *CloudVirtualMachineRescue) DeepCopyInto(out *CloudVirtualMachineRescue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudVirtualMachineSpec ¶
type CloudVirtualMachineSpec struct {
runtimev1.ResourceSpec `json:",inline"`
ForProvider CloudVirtualMachineParameters `json:"forProvider"`
}
CloudVirtualMachineSpec defines the desired state of a cloud VM.
func (*CloudVirtualMachineSpec) DeepCopy ¶
func (in *CloudVirtualMachineSpec) DeepCopy() *CloudVirtualMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudVirtualMachineSpec.
func (*CloudVirtualMachineSpec) DeepCopyInto ¶
func (in *CloudVirtualMachineSpec) DeepCopyInto(out *CloudVirtualMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudVirtualMachineStatus ¶
type CloudVirtualMachineStatus struct {
runtimev1.ResourceStatus `json:",inline"`
AtProvider CloudVirtualMachineObservation `json:"atProvider"`
}
CloudVirtualMachineStatus represents the observed state of a cloud VM.
func (*CloudVirtualMachineStatus) DeepCopy ¶
func (in *CloudVirtualMachineStatus) DeepCopy() *CloudVirtualMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudVirtualMachineStatus.
func (*CloudVirtualMachineStatus) DeepCopyInto ¶
func (in *CloudVirtualMachineStatus) DeepCopyInto(out *CloudVirtualMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterData ¶
type ClusterData struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterDataSpec `json:"spec"`
Status ClusterDataStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true ClusterData provides cluster information of the referenced KubernetesCluster resource. +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster
func (*ClusterData) DeepCopy ¶
func (in *ClusterData) DeepCopy() *ClusterData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterData.
func (*ClusterData) DeepCopyInto ¶
func (in *ClusterData) DeepCopyInto(out *ClusterData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterData) DeepCopyObject ¶
func (in *ClusterData) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterData) GetCondition ¶
func (mg *ClusterData) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this ClusterData.
func (*ClusterData) GetDeletionPolicy ¶
func (mg *ClusterData) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this ClusterData.
func (*ClusterData) GetManagementPolicies ¶
func (mg *ClusterData) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this ClusterData.
func (*ClusterData) GetProviderConfigReference ¶
func (mg *ClusterData) GetProviderConfigReference() *xpv1.Reference
GetProviderConfigReference of this ClusterData.
func (*ClusterData) GetPublishConnectionDetailsTo ¶
func (mg *ClusterData) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this ClusterData.
func (*ClusterData) GetWriteConnectionSecretToReference ¶
func (mg *ClusterData) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this ClusterData.
func (*ClusterData) SetConditions ¶
func (mg *ClusterData) SetConditions(c ...xpv1.Condition)
SetConditions of this ClusterData.
func (*ClusterData) SetDeletionPolicy ¶
func (mg *ClusterData) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this ClusterData.
func (*ClusterData) SetManagementPolicies ¶
func (mg *ClusterData) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this ClusterData.
func (*ClusterData) SetProviderConfigReference ¶
func (mg *ClusterData) SetProviderConfigReference(r *xpv1.Reference)
SetProviderConfigReference of this ClusterData.
func (*ClusterData) SetPublishConnectionDetailsTo ¶
func (mg *ClusterData) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this ClusterData.
func (*ClusterData) SetWriteConnectionSecretToReference ¶
func (mg *ClusterData) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this ClusterData.
type ClusterDataList ¶
type ClusterDataList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterData `json:"items"`
}
ClusterDataList contains a list of ClusterData resources. +kubebuilder:object:root=true
func (*ClusterDataList) DeepCopy ¶
func (in *ClusterDataList) DeepCopy() *ClusterDataList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataList.
func (*ClusterDataList) DeepCopyInto ¶
func (in *ClusterDataList) DeepCopyInto(out *ClusterDataList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterDataList) DeepCopyObject ¶
func (in *ClusterDataList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterDataList) GetItems ¶
func (l *ClusterDataList) GetItems() []resource.Managed
GetItems of this ClusterDataList.
type ClusterDataObservation ¶
type ClusterDataObservation struct {
// APIEndpoint is the URL under which the Kubernetes API is reachable at.
// +optional
APIEndpoint string `json:"apiEndpoint,omitempty"`
// APICACert is the base64 encoded ca certificate of the kube-apiserver
// +optional
APICACert string `json:"apiCACert,omitempty"`
}
ClusterDataObservation are the observable fields of a ClusterData resource.
func (*ClusterDataObservation) DeepCopy ¶
func (in *ClusterDataObservation) DeepCopy() *ClusterDataObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataObservation.
func (*ClusterDataObservation) DeepCopyInto ¶
func (in *ClusterDataObservation) DeepCopyInto(out *ClusterDataObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDataParameters ¶
type ClusterDataParameters struct {
// ClusterReference selects the KubernetesCluster of which the cluster
// data should be exposed
ClusterReference meta.Reference `json:"clusterReference"`
}
ClusterDataParameters are the configurable fields of a ClusterData resource.
func (*ClusterDataParameters) DeepCopy ¶
func (in *ClusterDataParameters) DeepCopy() *ClusterDataParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataParameters.
func (*ClusterDataParameters) DeepCopyInto ¶
func (in *ClusterDataParameters) DeepCopyInto(out *ClusterDataParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDataSpec ¶
type ClusterDataSpec struct {
runtimev1.ResourceSpec `json:",inline"`
ForProvider ClusterDataParameters `json:"forProvider"`
}
ClusterDataSpec defines the desired state of ClusterData resource.
func (*ClusterDataSpec) DeepCopy ¶
func (in *ClusterDataSpec) DeepCopy() *ClusterDataSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataSpec.
func (*ClusterDataSpec) DeepCopyInto ¶
func (in *ClusterDataSpec) DeepCopyInto(out *ClusterDataSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDataStatus ¶
type ClusterDataStatus struct {
runtimev1.ResourceStatus `json:",inline"`
AtProvider ClusterDataObservation `json:"atProvider"`
}
ClusterDataStatus represents the observed state of a ClusterData resource.
func (*ClusterDataStatus) DeepCopy ¶
func (in *ClusterDataStatus) DeepCopy() *ClusterDataStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDataStatus.
func (*ClusterDataStatus) DeepCopyInto ¶
func (in *ClusterDataStatus) DeepCopyInto(out *ClusterDataStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterObservation ¶
type ClusterObservation struct {
// APIEndpoint is the URL under which the Kubernetes API is reachable at.
APIEndpoint string `json:"apiEndpoint,omitempty"`
// APICACert is the base64 encoded ca certificate of the kube-apiserver
APICACert string `json:"apiCACert,omitempty"`
// OIDCClientID is the client ID for the OIDC login flow to this cluster.
OIDCClientID string `json:"oidcClientID,omitempty"`
// OIDCIssuerURL is the issuer URL for the OIDC login flow to this cluster.
OIDCIssuerURL string `json:"oidcIssuerURL,omitempty"`
// KubernetesVersion is the version of Kubernetes that this cluster is running.
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
// NodePools lists the name of the node pools plus their associated status.
NodePools map[string]NodePoolStatus `json:"nodePools,omitempty"`
// Status of all our child resources.
meta.ChildResourceStatus `json:",inline"`
}
ClusterObservation are the observable fields of a Cluster.
func (*ClusterObservation) DeepCopy ¶
func (in *ClusterObservation) DeepCopy() *ClusterObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservation.
func (*ClusterObservation) DeepCopyInto ¶
func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Disk ¶
type Disk struct {
// Name specifies the name of the disk. Used to identify a disk, changing
// the name of a disk means the old disk will be deleted and a new one
// will be created.
Name string `json:"name"`
// Size specifies the disk size.
Size resource.Quantity `json:"size"`
}
Disk describes a Disk that can be attached to a VM.
func (*Disk) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.
func (*Disk) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Keda ¶
type Keda struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KedaSpec `json:"spec"`
Status KedaStatus `json:"status,omitempty"`
}
Keda deploys Keda to a KubernetesCluster. +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Namespaced,path=kedas +kubebuilder:object:root=true
func (*Keda) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Keda.
func (*Keda) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Keda) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Keda) GetCondition ¶
func (mg *Keda) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this Keda.
func (*Keda) GetDeletionPolicy ¶
func (mg *Keda) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this Keda.
func (*Keda) GetManagementPolicies ¶
func (mg *Keda) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this Keda.
func (*Keda) GetProviderConfigReference ¶
GetProviderConfigReference of this Keda.
func (*Keda) GetPublishConnectionDetailsTo ¶
func (mg *Keda) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this Keda.
func (*Keda) GetWriteConnectionSecretToReference ¶
func (mg *Keda) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this Keda.
func (*Keda) SetConditions ¶
SetConditions of this Keda.
func (*Keda) SetDeletionPolicy ¶
func (mg *Keda) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this Keda.
func (*Keda) SetManagementPolicies ¶
func (mg *Keda) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this Keda.
func (*Keda) SetProviderConfigReference ¶
SetProviderConfigReference of this Keda.
func (*Keda) SetPublishConnectionDetailsTo ¶
func (mg *Keda) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this Keda.
func (*Keda) SetWriteConnectionSecretToReference ¶
func (mg *Keda) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this Keda.
type KedaList ¶
type KedaList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Keda `json:"items"`
}
KedaList contains a list of Keda instances +kubebuilder:object:root=true
func (*KedaList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KedaList.
func (*KedaList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KedaList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KedaObservation ¶
type KedaObservation struct {
// Status of all our child resources.
meta.ChildResourceStatus `json:",inline"`
meta.ReferenceStatus `json:",inline"`
}
KedaObservation are the observable fields of a Keda instance.
func (*KedaObservation) DeepCopy ¶
func (in *KedaObservation) DeepCopy() *KedaObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KedaObservation.
func (*KedaObservation) DeepCopyInto ¶
func (in *KedaObservation) DeepCopyInto(out *KedaObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KedaParameters ¶
type KedaParameters struct {
// Cluster is the cluster where the keda should be deployed
// to.
Cluster meta.LocalReference `json:"cluster"`
}
KedaParameters are the configurable fields of a Keda instance.
func (*KedaParameters) DeepCopy ¶
func (in *KedaParameters) DeepCopy() *KedaParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KedaParameters.
func (*KedaParameters) DeepCopyInto ¶
func (in *KedaParameters) DeepCopyInto(out *KedaParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KedaSpec ¶
type KedaSpec struct {
runtimev1.ResourceSpec `json:",inline"`
ForProvider KedaParameters `json:"forProvider"`
}
A KedaSpec defines the desired state of a Keda instance.
func (*KedaSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KedaSpec.
func (*KedaSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KedaStatus ¶
type KedaStatus struct {
runtimev1.ResourceStatus `json:",inline"`
AtProvider KedaObservation `json:"atProvider"`
}
A KedaStatus represents the observed state of a Keda instance.
func (*KedaStatus) DeepCopy ¶
func (in *KedaStatus) DeepCopy() *KedaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KedaStatus.
func (*KedaStatus) DeepCopyInto ¶
func (in *KedaStatus) DeepCopyInto(out *KedaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesCluster ¶
type KubernetesCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KubernetesClusterSpec `json:"spec"`
Status KubernetesClusterStatus `json:"status,omitempty"`
}
KubernetesCluster is a fully managed Kubernetes cluster. +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="API_READY",type="string",JSONPath=".status.atProvider.apiReady" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".status.atProvider.kubernetesVersion" +kubebuilder:resource:scope=Namespaced,shortName=kc +kubebuilder:object:root=true
func (*KubernetesCluster) DeepCopy ¶
func (in *KubernetesCluster) DeepCopy() *KubernetesCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesCluster.
func (*KubernetesCluster) DeepCopyInto ¶
func (in *KubernetesCluster) DeepCopyInto(out *KubernetesCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubernetesCluster) DeepCopyObject ¶
func (in *KubernetesCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KubernetesCluster) GetCondition ¶
func (mg *KubernetesCluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this KubernetesCluster.
func (*KubernetesCluster) GetDeletionPolicy ¶
func (mg *KubernetesCluster) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this KubernetesCluster.
func (*KubernetesCluster) GetManagementPolicies ¶
func (mg *KubernetesCluster) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this KubernetesCluster.
func (*KubernetesCluster) GetProviderConfigReference ¶
func (mg *KubernetesCluster) GetProviderConfigReference() *xpv1.Reference
GetProviderConfigReference of this KubernetesCluster.
func (*KubernetesCluster) GetPublishConnectionDetailsTo ¶
func (mg *KubernetesCluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this KubernetesCluster.
func (*KubernetesCluster) GetWriteConnectionSecretToReference ¶
func (mg *KubernetesCluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this KubernetesCluster.
func (*KubernetesCluster) SetConditions ¶
func (mg *KubernetesCluster) SetConditions(c ...xpv1.Condition)
SetConditions of this KubernetesCluster.
func (*KubernetesCluster) SetDeletionPolicy ¶
func (mg *KubernetesCluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this KubernetesCluster.
func (*KubernetesCluster) SetManagementPolicies ¶
func (mg *KubernetesCluster) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this KubernetesCluster.
func (*KubernetesCluster) SetProviderConfigReference ¶
func (mg *KubernetesCluster) SetProviderConfigReference(r *xpv1.Reference)
SetProviderConfigReference of this KubernetesCluster.
func (*KubernetesCluster) SetPublishConnectionDetailsTo ¶
func (mg *KubernetesCluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this KubernetesCluster.
func (*KubernetesCluster) SetWriteConnectionSecretToReference ¶
func (mg *KubernetesCluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this KubernetesCluster.
type KubernetesClusterList ¶
type KubernetesClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KubernetesCluster `json:"items"`
}
KubernetesClusterList contains a list of KubernetesClusters. +kubebuilder:object:root=true
func (*KubernetesClusterList) DeepCopy ¶
func (in *KubernetesClusterList) DeepCopy() *KubernetesClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesClusterList.
func (*KubernetesClusterList) DeepCopyInto ¶
func (in *KubernetesClusterList) DeepCopyInto(out *KubernetesClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubernetesClusterList) DeepCopyObject ¶
func (in *KubernetesClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KubernetesClusterList) GetItems ¶
func (l *KubernetesClusterList) GetItems() []resource.Managed
GetItems of this KubernetesClusterList.
type KubernetesClusterObservation ¶
type KubernetesClusterObservation struct {
ClusterObservation `json:",inline"`
// KubernetesVersion is the version of Kubernetes that this cluster is running.
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
// APIReady indicates if the API is ready for consumption.
// +optional
APIReady bool `json:"apiReady"`
// VCluster exposes vcluster specific status fields.
// +optional
VCluster *VClusterSpecificStatus `json:"vcluster,omitempty"`
// ReferenceStatus contains reference errors
meta.ReferenceStatus `json:",inline"`
}
KubernetesClusterObservation are the observable fields of a KubernetesCluster.
func (*KubernetesClusterObservation) DeepCopy ¶
func (in *KubernetesClusterObservation) DeepCopy() *KubernetesClusterObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesClusterObservation.
func (*KubernetesClusterObservation) DeepCopyInto ¶
func (in *KubernetesClusterObservation) DeepCopyInto(out *KubernetesClusterObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesClusterParameters ¶
type KubernetesClusterParameters struct {
// Location of the KubernetesCluster. Note that Clusters are currently
// only available in the location nine-es34.
Location meta.LocationName `json:"location"`
// NKE represents a KubernetesCluster in Nine's datacentres.
// +optional
NKE *NKEClusterSettings `json:"nke,omitempty"`
// VCluster is a virtual KubernetesCluster running on top of NKE.
// Experimental and should only be used for development and testing.
// +optional
VCluster *VClusterSettings `json:"vcluster,omitempty"`
// +listType:="map"
// +listMapKey:="name"
NodePools []NodePool `json:"nodePools"`
// ScrapeConfigurations allows to overwrite which metrics of this cluster are scraped
// by certain Prometheus instances
// +optional
ScrapeConfigurations *KubernetesClusterScrapeConfiguration `json:"scrapeConfiguration,omitempty"`
}
KubernetesClusterParameters are the configurable fields of a KubernetesCluster.
func (*KubernetesClusterParameters) DeepCopy ¶
func (in *KubernetesClusterParameters) DeepCopy() *KubernetesClusterParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesClusterParameters.
func (*KubernetesClusterParameters) DeepCopyInto ¶
func (in *KubernetesClusterParameters) DeepCopyInto(out *KubernetesClusterParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesClusterScrapeConfiguration ¶
type KubernetesClusterScrapeConfiguration struct {
// +listType:="map"
// +listMapKey:="name"
// +optional
NodeExporter []meta.ScrapeConfig `json:"nodeExporter,omitempty"`
// +listType:="map"
// +listMapKey:="name"
// +optional
KubeStateMetrics []meta.ScrapeConfig `json:"kubeStateMetrics,omitempty"`
// +listType:="map"
// +listMapKey:="name"
// +optional
KubeletCAdvisor []meta.ScrapeConfig `json:"kubeletCAdvisor,omitempty"`
// +listType:="map"
// +listMapKey:="name"
// +optional
Kubelet []meta.ScrapeConfig `json:"kubelet,omitempty"`
// +listType:="map"
// +listMapKey:="name"
// +optional
Velero []meta.ScrapeConfig `json:"velero,omitempty"`
// +listType:="map"
// +listMapKey:="name"
// +optional
CertManager []meta.ScrapeConfig `json:"certManager,omitempty"`
}
func (*KubernetesClusterScrapeConfiguration) DeepCopy ¶
func (in *KubernetesClusterScrapeConfiguration) DeepCopy() *KubernetesClusterScrapeConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesClusterScrapeConfiguration.
func (*KubernetesClusterScrapeConfiguration) DeepCopyInto ¶
func (in *KubernetesClusterScrapeConfiguration) DeepCopyInto(out *KubernetesClusterScrapeConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesClusterSpec ¶
type KubernetesClusterSpec struct {
runtimev1.ResourceSpec `json:",inline"`
ForProvider KubernetesClusterParameters `json:"forProvider"`
}
A KubernetesClusterSpec defines the desired state of a KubernetesCluster.
func (*KubernetesClusterSpec) DeepCopy ¶
func (in *KubernetesClusterSpec) DeepCopy() *KubernetesClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesClusterSpec.
func (*KubernetesClusterSpec) DeepCopyInto ¶
func (in *KubernetesClusterSpec) DeepCopyInto(out *KubernetesClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesClusterStatus ¶
type KubernetesClusterStatus struct {
runtimev1.ResourceStatus `json:",inline"`
AtProvider KubernetesClusterObservation `json:"atProvider,omitempty"`
}
A KubernetesClusterStatus represents the observed state of a KubernetesCluster.
func (*KubernetesClusterStatus) DeepCopy ¶
func (in *KubernetesClusterStatus) DeepCopy() *KubernetesClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesClusterStatus.
func (*KubernetesClusterStatus) DeepCopyInto ¶
func (in *KubernetesClusterStatus) DeepCopyInto(out *KubernetesClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineType ¶
type MachineType struct {
// contains filtered or unexported fields
}
MachineType is a name for a particular machine sizing. +kubebuilder:validation:Type:=string
func NewMachineType ¶
func NewMachineType(name string) MachineType
NewMachineType returns an unparsed machine type that can be used to create/update objects. Parsing and validation is done server-side.
func (*MachineType) DeepCopy ¶
func (in *MachineType) DeepCopy() *MachineType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineType.
func (*MachineType) DeepCopyInto ¶
func (in *MachineType) DeepCopyInto(out *MachineType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineType) Equal ¶
func (mt MachineType) Equal(other MachineType) bool
func (MachineType) MarshalJSON ¶
func (mt MachineType) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (MachineType) String ¶
func (mt MachineType) String() string
func (*MachineType) UnmarshalJSON ¶
func (mt *MachineType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaller interface.
type MachineTypeBounds ¶
type MachineTypeBounds struct {
MinCPU, MaxCPU resource.Quantity
MinMemory, MaxMemory resource.Quantity
MinMemCPURatio, MaxMemCPURatio float64
}
MachineTypeBounds can be used to limit the min/max and ratio of cpu/memory of a custom machine type. +kubebuilder:object:generate=false
type NKEClusterSettings ¶
type NKEClusterSettings struct {
// StaticEgress defines settings for the static egress feature
// +optional
StaticEgress StaticEgress `json:"staticEgress"`
// AuditLog configures audit logging.
// +optional
AuditLog AuditLogConfiguration `json:"auditLog"`
// ContainerRegistries can be used to preconfigure the referenced
// Registries in the NKE cluster. Pulling images from these registries
// will then work without using image pull secrets.
// +optional
// +kubebuilder:validation:cel:rule="self.map(r, r.name + '/' + r.namespace + '/' + r.group + '/' + r.kind).distinct().size() == self.size()"
// +kubebuilder:validation:cel:message="each referenced container registry must be unique."
ContainerRegistries []meta.TypedReference `json:"containerRegistries"`
}
NKEClusterSettings defines additional fields that a nine KubernetesCluster can have.
func (*NKEClusterSettings) DeepCopy ¶
func (in *NKEClusterSettings) DeepCopy() *NKEClusterSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NKEClusterSettings.
func (*NKEClusterSettings) DeepCopyInto ¶
func (in *NKEClusterSettings) DeepCopyInto(out *NKEClusterSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePool ¶
type NodePool struct {
// Name of the node pool. Changing this results in a new rollout of all
// nodes in the pool.
Name string `json:"name"`
// MinNodes describes the lower bound of nodes in this pool. If MinNodes
// == MaxNodes, autoscaling is disabled.
// +kubebuilder:validation:Minimum=0
MinNodes int `json:"minNodes"`
// MinNodes describes the upper bound of nodes in this pool. If MinNodes
// == MaxNodes, autoscaling is disabled.
// +kubebuilder:validation:Minimum=1
MaxNodes int `json:"maxNodes"`
// Labels specifies the node labels. Changing this results in a new
// rollout of all nodes in the pool.
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations specifies the node annotations. Changing this results in a
// new rollout of all nodes in the pool.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Taints specifies the node taints. Changing this results in a new
// rollout of all nodes in the pool.
// +optional
Taints []corev1.Taint `json:"taints,omitempty"`
// MachineType identifies the machine sizing. Changing this results in a
// new rollout of all nodes in the pool.
MachineType MachineType `json:"machineType"`
// DiskSize specifies the size of the disk for the nodes in this pool.
// Changing this results in a new rollout of all nodes in the pool.
// Allowed range is 20Gi - 100Gi.
// +kubebuilder:default:="20Gi"
// +optional
DiskSize *resource.Quantity `json:"diskSize,omitempty"`
}
NodePool configures a pool of nodes which are added to the cluster.
func (*NodePool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePool.
func (*NodePool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolStatus ¶
type NodePoolStatus struct {
// NumNodes describes the current number of nodes in the node pool.
NumNodes int `json:"numNodes"`
// MachineType shows the current machine type of the node pool.
MachineType *MachineType `json:"machineType,omitempty"`
// DiskSize shows the current disk size of the node pool.
DiskSize *resource.Quantity `json:"diskSize,omitempty"`
}
func (*NodePoolStatus) DeepCopy ¶
func (in *NodePoolStatus) DeepCopy() *NodePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolStatus.
func (*NodePoolStatus) DeepCopyInto ¶
func (in *NodePoolStatus) DeepCopyInto(out *NodePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatingSystem ¶
type OperatingSystem string
OperatingSystem is an Operating System for a VM.
const ( Rocky9 OperatingSystem = "rocky9" // Ubuntu LTS // http://releases.ubuntu.com/ Ubuntu24_04 OperatingSystem = "ubuntu24.04" Ubuntu22_04 OperatingSystem = "ubuntu22.04" Ubuntu20_04 OperatingSystem = "ubuntu20.04" Ubuntu18_04 OperatingSystem = "ubuntu18.04" // Debian // https://www.debian.org/releases/ Debian12 OperatingSystem = "debian12" Debian11 OperatingSystem = "debian11" // Alpine // https://alpinelinux.org/releases/ AlpineStable OperatingSystem = "alpine-stable" )
type StaticEgress ¶
type StaticEgress struct {
// Enabled defines if the static egress feature should be enabled or
// disabled
// +optional
// +kubebuilder:default:=false
Enabled bool `json:"enabled"`
}
func (*StaticEgress) DeepCopy ¶
func (in *StaticEgress) DeepCopy() *StaticEgress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticEgress.
func (*StaticEgress) DeepCopyInto ¶
func (in *StaticEgress) DeepCopyInto(out *StaticEgress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VClusterIngress ¶
type VClusterIngress struct {
// Host is the fully qualified hostname that points to the Ingress
// Loadbalancer.
Host string `json:"host"`
// Class is the name of the IngressClass that can be referenced within an
// Ingress resource.
Class string `json:"class"`
}
func (*VClusterIngress) DeepCopy ¶
func (in *VClusterIngress) DeepCopy() *VClusterIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VClusterIngress.
func (*VClusterIngress) DeepCopyInto ¶
func (in *VClusterIngress) DeepCopyInto(out *VClusterIngress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VClusterSettings ¶
type VClusterSettings struct {
// Version specifies the Kubernetes version that will be used for this
// cluster, e.g. "1.26". The patch version cannot be specified and the
// latest supported one will be used.
// +optional
// +kubebuilder:default:="1.32"
// +kubebuilder:validation:Enum:="1.26";"1.27";"1.28";"1.29";"1.30";"1.31";"1.32";"1.33"
// +kubebuilder:validation:XValidation:message="downgrade is not allowed",rule="double(self) >= double(oldSelf)"
// +kubebuilder:validation:XValidation:message="only one minor upgrade is allowed",rule="double(self) - double(oldSelf) < 0.02"
Version string `json:"version,omitempty"`
}
VClusterSettings defines additional fields that a nine KubernetesCluster based on VCluster can have.
func (*VClusterSettings) DeepCopy ¶
func (in *VClusterSettings) DeepCopy() *VClusterSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VClusterSettings.
func (*VClusterSettings) DeepCopyInto ¶
func (in *VClusterSettings) DeepCopyInto(out *VClusterSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VClusterSpecificStatus ¶
type VClusterSpecificStatus struct {
// DefaultIngress that Ingress objects within the vcluster can use.
DefaultIngress VClusterIngress `json:"defaultIngress"`
}
func (*VClusterSpecificStatus) DeepCopy ¶
func (in *VClusterSpecificStatus) DeepCopy() *VClusterSpecificStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VClusterSpecificStatus.
func (*VClusterSpecificStatus) DeepCopyInto ¶
func (in *VClusterSpecificStatus) DeepCopyInto(out *VClusterSpecificStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachinePowerState ¶
type VirtualMachinePowerState string