v1alpha1

package
v0.0.0-...-3bc1e01 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2025 License: Apache-2.0 Imports: 11 Imported by: 7

Documentation

Overview

Package v1alpha1 contains infrastructure resources of nine (IaaS). +kubebuilder:object:generate=true +groupName=infrastructure.nine.ch +versionName=v1alpha1

Index

Constants

View Source
const (
	Group   = "infrastructure.nine.ch"
	Version = "v1alpha1"
)

Package type metadata.

Variables

View Source
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}
)
View Source
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)
)
View Source
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 */}
	// 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 */}
	// 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 = append([]MachineType{MachineTypeNineStandard1, MachineTypeNineStandard2, MachineTypeNineStandard4, MachineTypeNineHighMem2, MachineTypeNineHighMem4, MachineTypeNineHighCPU2, MachineTypeNineHighCPU4, MachineTypeNineHighCPU8, MachineTypeNineSmall1}, MachineTypesDB...)
	// 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("12"), MinMemory: resource.MustParse("2Gi"), MaxMemory: resource.MustParse("32Gi"), 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

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

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"`
	// 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

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

func (*CloudVirtualMachineObservation) DeepCopyInto

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 for a particular cloud vm.
	// +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"`
}

CloudVirtualMachineParameters are the configurable fields of a CloudVirtualMachine.

func (*CloudVirtualMachineParameters) DeepCopy

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

func (*CloudVirtualMachineParameters) DeepCopyInto

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

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

func (*CloudVirtualMachineRescue) DeepCopyInto

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

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

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

func (*CloudVirtualMachineStatus) DeepCopyInto

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

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

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

func (in *Disk) DeepCopy() *Disk

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

func (*Disk) DeepCopyInto

func (in *Disk) DeepCopyInto(out *Disk)

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

func (in *Keda) DeepCopy() *Keda

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

func (*Keda) DeepCopyInto

func (in *Keda) DeepCopyInto(out *Keda)

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

func (*Keda) DeepCopyObject

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

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

func (mg *Keda) GetProviderConfigReference() *xpv1.Reference

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

func (mg *Keda) SetConditions(c ...xpv1.Condition)

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

func (mg *Keda) SetProviderConfigReference(r *xpv1.Reference)

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

func (in *KedaList) DeepCopy() *KedaList

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

func (*KedaList) DeepCopyInto

func (in *KedaList) DeepCopyInto(out *KedaList)

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

func (*KedaList) DeepCopyObject

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

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

func (*KedaList) GetItems

func (l *KedaList) GetItems() []resource.Managed

GetItems of this KedaList.

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

func (in *KedaSpec) DeepCopy() *KedaSpec

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

func (*KedaSpec) DeepCopyInto

func (in *KedaSpec) DeepCopyInto(out *KedaSpec)

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: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

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"`
}

KubernetesClusterObservation are the observable fields of a KubernetesCluster.

func (*KubernetesClusterObservation) DeepCopy

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

func (*KubernetesClusterObservation) DeepCopyInto

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"`
	// AdditionalBackupSchedules allows custom backup schedules to be setup.
	// The daily full cluster backup won't be affected by this.
	// +kubebuilder:validation:MaxItems:=3
	// +optional
	AdditionalBackupSchedules []backup.VeleroSchedule `json:"additionalBackupSchedules,omitempty"`
	// 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

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

func (*KubernetesClusterParameters) DeepCopyInto

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

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

func (*KubernetesClusterScrapeConfiguration) DeepCopyInto

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

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

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. +nine:public:definition +kubebuilder:validation:Type:=string

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.

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"`
}

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

func (in *NodePool) DeepCopy() *NodePool

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

func (*NodePool) DeepCopyInto

func (in *NodePool) DeepCopyInto(out *NodePool)

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.30"
	// +kubebuilder:validation:Enum:="1.26";"1.27";"1.28";"1.29";"1.30";"1.31"
	// +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

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL