v1alpha1

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the proxmox v1alpha1 API group +kubebuilder:object:generate=true +groupName=proxmox.alperen.cloud

Index

Constants

View Source
const (

	// ReconcileModeAnnotation is the annotation key for the reconcile mode
	// ReconcileMode is the mode of the reconciliation it could be Normal, WatchOnly, EnsureExists, Disable, DryRun (to be implemented)
	ReconcileModeAnnotation   = "proxmox.alperen.cloud/reconcile-mode"
	ReconcileModeNormal       = "Normal"
	ReconcileModeWatchOnly    = "WatchOnly"
	ReconcileModeEnsureExists = "EnsureExists"
	ReconcileModeDisable      = "Disable"
	ReconcileModeDryRun       = "DryRun"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "proxmox.alperen.cloud", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type CertManagerSpec

type CertManagerSpec struct {
	CommonName string    `json:"commonName,omitempty"`
	DNSNames   []string  `json:"dnsNames,omitempty"`
	IssuerRef  IssuerRef `json:"issuerRef,omitempty"`
	SecretName string    `json:"secretName,omitempty"`
	Usages     []string  `json:"usages,omitempty"`
}

func (*CertManagerSpec) DeepCopy

func (in *CertManagerSpec) DeepCopy() *CertManagerSpec

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

func (*CertManagerSpec) DeepCopyInto

func (in *CertManagerSpec) DeepCopyInto(out *CertManagerSpec)

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

type CiCustom added in v0.2.0

type CiCustom struct {
	UserData    string `json:"userData,omitempty"`
	MetaData    string `json:"metaData,omitempty"`
	NetworkData string `json:"networkData,omitempty"`
	VendorData  string `json:"vendorData,omitempty"`
}

func (*CiCustom) DeepCopy added in v0.2.0

func (in *CiCustom) DeepCopy() *CiCustom

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

func (*CiCustom) DeepCopyInto added in v0.2.0

func (in *CiCustom) DeepCopyInto(out *CiCustom)

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

type CloudInitConfig added in v0.1.2

type CloudInitConfig struct {
	// User is the user name for the template
	User string `json:"user,omitempty"`
	// Password is the password for the template.
	// Use this field to specify the password directly.
	// +optional
	Password *string `json:"password,omitempty"`
	// PasswordFrom is a reference to a key in a Secret that contains the password.
	// Use this field to specify the password via a Secret.
	// +optional
	PasswordFrom *corev1.SecretKeySelector `json:"passwordFrom,omitempty"`
	// DNS Domain
	DNSDomain string `json:"dnsDomain,omitempty"`
	// DNS Servers
	DNSServers []string `json:"dnsServers,omitempty"`
	// SSH Keys -- suppose to be on openSSH format
	SSHKeys []string `json:"sshKeys,omitempty"`
	// Upgrade Packages
	// +kubebuilder:default:=true
	UpgradePackages bool `json:"upgradePackages,omitempty"`
	// IPConfig is the IP configuration for the VM
	IPConfig *IPConfig `json:"ipConfig,omitempty"`
	// Custom fields for cloud-init
	Custom *CiCustom `json:"custom,omitempty"`
}

+kubebuilder:validation:XValidation:rule="(has(self.password) && !has(self.passwordFrom)) || (!has(self.password) && has(self.passwordFrom)) || (!has(self.password) && !has(self.passwordFrom))",message="Specify either password or passwordFrom, but not both"

func (*CloudInitConfig) DeepCopy added in v0.1.2

func (in *CloudInitConfig) DeepCopy() *CloudInitConfig

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

func (*CloudInitConfig) DeepCopyInto added in v0.1.2

func (in *CloudInitConfig) DeepCopyInto(out *CloudInitConfig)

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

type Container

type Container struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ContainerSpec   `json:"spec,omitempty"`
	Status ContainerStatus `json:"status,omitempty"`
}

Container is the Schema for the containers API

func (*Container) DeepCopy

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

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

func (*Container) DeepCopyObject

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

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

type ContainerList

type ContainerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Container `json:"items"`
}

ContainerList contains a list of Container

func (*ContainerList) DeepCopy

func (in *ContainerList) DeepCopy() *ContainerList

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

func (*ContainerList) DeepCopyInto

func (in *ContainerList) DeepCopyInto(out *ContainerList)

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

func (*ContainerList) DeepCopyObject

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

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

type ContainerSpec

type ContainerSpec struct {

	// Name is the name of the Container
	Name string `json:"name"`
	// NodeName is the name of the target node of Proxmox
	NodeName string `json:"nodeName"`
	// TemplateSpec of the source Container
	Template ContainerTemplate `json:"template,omitempty"`
	// DeletionProtection is a flag that indicates whether the resource should be protected from deletion.
	// If true, the resource will not be deleted when the Kubernetes resource is deleted.
	// If not set, it defaults to false.
	// +kubebuilder:default:=false
	DeletionProtection bool `json:"deletionProtection,omitempty"`
	// EnableAutoStart is a flag that indicates whether the resource should automatically start when it's powered off.
	// If true, the resource will start automatically when it's powered off.
	// If not set, it defaults to true.
	// +kubebuilder:default:=true
	EnableAutoStart bool `json:"enableAutoStart,omitempty"`
}

ContainerSpec defines the desired state of Container

func (*ContainerSpec) DeepCopy

func (in *ContainerSpec) DeepCopy() *ContainerSpec

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

func (*ContainerSpec) DeepCopyInto

func (in *ContainerSpec) DeepCopyInto(out *ContainerSpec)

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

type ContainerStatus

type ContainerStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` //nolint:lll // This is required by kubebuilder
	Status     QEMUStatus         `json:"status,omitempty"`
}

ContainerStatus defines the observed state of Container

func (*ContainerStatus) DeepCopy

func (in *ContainerStatus) DeepCopy() *ContainerStatus

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

func (*ContainerStatus) DeepCopyInto

func (in *ContainerStatus) DeepCopyInto(out *ContainerStatus)

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

type ContainerTemplate

type ContainerTemplate struct {
	// Name of the template
	Name string `json:"name,omitempty"`
	// Cores is the number of CPU cores
	Cores int `json:"cores,omitempty"`
	// Memory is the amount of memory in MB
	Memory int `json:"memory,omitempty"`
	// Disks is the list of disks
	Disk []ContainerTemplateDisk `json:"disk,omitempty"`
	// Networks is the list of networks
	Network []ContainerTemplateNetwork `json:"network,omitempty"`
}

func (*ContainerTemplate) DeepCopy

func (in *ContainerTemplate) DeepCopy() *ContainerTemplate

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

func (*ContainerTemplate) DeepCopyInto

func (in *ContainerTemplate) DeepCopyInto(out *ContainerTemplate)

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

type ContainerTemplateDisk

type ContainerTemplateDisk struct {
	// Storage is the name of the storage
	Storage string `json:"storage,omitempty"`
	// Size is the size of the disk
	Size int `json:"size,omitempty"`
	// Type is the type of the disk
	Type string `json:"type,omitempty"`
}

func (*ContainerTemplateDisk) DeepCopy

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

func (*ContainerTemplateDisk) DeepCopyInto

func (in *ContainerTemplateDisk) DeepCopyInto(out *ContainerTemplateDisk)

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

type ContainerTemplateNetwork

type ContainerTemplateNetwork struct {
	// Name is the name of the network
	Model string `json:"model,omitempty"`
	// Bridge is the name of the bridge
	Bridge string `json:"bridge,omitempty"`
}

func (*ContainerTemplateNetwork) DeepCopy

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

func (*ContainerTemplateNetwork) DeepCopyInto

func (in *ContainerTemplateNetwork) DeepCopyInto(out *ContainerTemplateNetwork)

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

type CustomCertificate

type CustomCertificate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CustomCertificateSpec   `json:"spec,omitempty"`
	Status CustomCertificateStatus `json:"status,omitempty"`
}

CustomCertificate is the Schema for the customcertificates API

func (*CustomCertificate) DeepCopy

func (in *CustomCertificate) DeepCopy() *CustomCertificate

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

func (*CustomCertificate) DeepCopyInto

func (in *CustomCertificate) DeepCopyInto(out *CustomCertificate)

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

func (*CustomCertificate) DeepCopyObject

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

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

type CustomCertificateList

type CustomCertificateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CustomCertificate `json:"items"`
}

CustomCertificateList contains a list of CustomCertificate

func (*CustomCertificateList) DeepCopy

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

func (*CustomCertificateList) DeepCopyInto

func (in *CustomCertificateList) DeepCopyInto(out *CustomCertificateList)

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

func (*CustomCertificateList) DeepCopyObject

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

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

type CustomCertificateSpec

type CustomCertificateSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	NodeName        string          `json:"nodeName,omitempty"`
	CertManagerSpec CertManagerSpec `json:"certManagerSpec,omitempty"`
	ProxmoxCertSpec ProxmoxCertSpec `json:"proxmoxCertSpec,omitempty"`
}

CustomCertificateSpec defines the desired state of CustomCertificate

func (*CustomCertificateSpec) DeepCopy

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

func (*CustomCertificateSpec) DeepCopyInto

func (in *CustomCertificateSpec) DeepCopyInto(out *CustomCertificateSpec)

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

type CustomCertificateStatus

type CustomCertificateStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` //nolint:lll // This is required by kubebuilder
}

CustomCertificateStatus defines the observed state of CustomCertificate

func (*CustomCertificateStatus) DeepCopy

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

func (*CustomCertificateStatus) DeepCopyInto

func (in *CustomCertificateStatus) DeepCopyInto(out *CustomCertificateStatus)

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

type IPConfig added in v0.1.2

type IPConfig struct {
	// Gateway
	Gateway string `json:"gateway,omitempty"`
	// GatewayIPv6
	GatewayIPv6 string `json:"gatewayIPv6,omitempty"`
	// IP Address
	IP string `json:"ip,omitempty"`
	// IPv6 Address
	IPv6 string `json:"ipv6,omitempty"`
	// Subnet Mask
	CIDR string `json:"cidr,omitempty"`
}

func (*IPConfig) DeepCopy added in v0.1.2

func (in *IPConfig) DeepCopy() *IPConfig

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

func (*IPConfig) DeepCopyInto added in v0.1.2

func (in *IPConfig) DeepCopyInto(out *IPConfig)

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

type IssuerRef

type IssuerRef struct {
	Name  string `json:"name,omitempty"`
	Kind  string `json:"kind,omitempty"`
	Group string `json:"group,omitempty"`
}

func (*IssuerRef) DeepCopy

func (in *IssuerRef) DeepCopy() *IssuerRef

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

func (*IssuerRef) DeepCopyInto

func (in *IssuerRef) DeepCopyInto(out *IssuerRef)

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

type ManagedVirtualMachine

type ManagedVirtualMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ManagedVirtualMachineSpec `json:"spec,omitempty"`
	Status VirtualMachineStatus      `json:"status,omitempty"`
}

ManagedVirtualMachine is the Schema for the managedvirtualmachines API

func (*ManagedVirtualMachine) DeepCopy

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

func (*ManagedVirtualMachine) DeepCopyInto

func (in *ManagedVirtualMachine) DeepCopyInto(out *ManagedVirtualMachine)

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

func (*ManagedVirtualMachine) DeepCopyObject

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

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

type ManagedVirtualMachineList

type ManagedVirtualMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ManagedVirtualMachine `json:"items"`
}

ManagedVirtualMachineList contains a list of ManagedVirtualMachine

func (*ManagedVirtualMachineList) DeepCopy

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

func (*ManagedVirtualMachineList) DeepCopyInto

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

func (*ManagedVirtualMachineList) DeepCopyObject

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

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

type ManagedVirtualMachineSpec

type ManagedVirtualMachineSpec struct {

	// Name is the name of the ManagedVirtualMachine
	Name string `json:"name"`
	// NodeName is the name of the node where the ManagedVirtualMachine has exists
	NodeName string `json:"nodeName"`
	// Cores is the number of cores of the ManagedVirtualMachine
	Cores int `json:"cores"`
	// Memory is the amount of memory in MB of the ManagedVirtualMachine
	Memory int `json:"memory"`
	// Disk is the amount of disk in GB of the ManagedVirtualMachine
	Disk int `json:"disk"`
	// DeletionProtection is a flag that indicates whether the VM should be protected from deletion.
	// If true, the VM will not be deleted when the Kubernetes resource is deleted.
	// If not set, it defaults to false.
	// +kubebuilder:default:=false
	DeletionProtection bool `json:"deletionProtection,omitempty"`
	// EnableAutoStart is a flag that indicates whether the VM should automatically start when it's powered off.
	// If true, the VM will start automatically when it's powered off.
	// If not set, it defaults to true.
	// +kubebuilder:default:=true
	EnableAutoStart bool `json:"enableAutoStart,omitempty"`
}

ManagedVirtualMachineSpec defines the desired state of ManagedVirtualMachine

func (*ManagedVirtualMachineSpec) DeepCopy

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

func (*ManagedVirtualMachineSpec) DeepCopyInto

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

type NamespaceSelector

type NamespaceSelector struct {
	Namespaces []string `json:"namespaces,omitempty"`
}

func (*NamespaceSelector) DeepCopy

func (in *NamespaceSelector) DeepCopy() *NamespaceSelector

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

func (*NamespaceSelector) DeepCopyInto

func (in *NamespaceSelector) DeepCopyInto(out *NamespaceSelector)

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

type NewVMSpec

type NewVMSpec struct {
	// Cores is the number of CPU cores
	Cores int `json:"cores,omitempty"`
	// Socket is the number of CPU sockets
	Socket int `json:"socket,omitempty"`
	// Memory is the amount of memory in MB
	Memory int `json:"memory,omitempty"`
	// Disks is the list of disks
	Disk []VirtualMachineDisk `json:"disk,omitempty"`
	// Networks is the list of networks
	Network *[]VirtualMachineNetwork `json:"network,omitempty"`
	// OS Image
	OSImage NewVMSpecOSImage `json:"osImage,omitempty"`
	// PCI is the list of PCI devices
	PciDevices []PciDevice `json:"pciDevices,omitempty"`
	// Cloud Init Config
	CloudInitConfig *CloudInitConfig `json:"cloudInitConfig,omitempty"`
}

func (*NewVMSpec) DeepCopy

func (in *NewVMSpec) DeepCopy() *NewVMSpec

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

func (*NewVMSpec) DeepCopyInto

func (in *NewVMSpec) DeepCopyInto(out *NewVMSpec)

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

type NewVMSpecOSImage

type NewVMSpecOSImage struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*NewVMSpecOSImage) DeepCopy

func (in *NewVMSpecOSImage) DeepCopy() *NewVMSpecOSImage

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

func (*NewVMSpecOSImage) DeepCopyInto

func (in *NewVMSpecOSImage) DeepCopyInto(out *NewVMSpecOSImage)

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

type PciDevice added in v0.2.0

type PciDevice struct {
	// Type is the type of the PCI device either raw or mapped
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=raw;mapped
	// TODO: Add validation for that one to immutable and make sure that you can't set PCIE to true if the type is mapped
	Type string `json:"type"`
	// DeviceID is the ID hex id of the device
	DeviceID string `json:"deviceID,omitempty"`
	// PrimaryGPU is the flag that indicates whether the device is the primary GPU ==> x-vga=1
	// +kubebuilder:default:=false
	PrimaryGPU bool `json:"primaryGPU,omitempty"`
	// PCIE is the flag that indicates whether the device is a PCIE device ==> pcie=1
	// +kubebuilder:default:=false
	PCIE bool `json:"pcie,omitempty"`
}

func (*PciDevice) DeepCopy added in v0.2.0

func (in *PciDevice) DeepCopy() *PciDevice

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

func (*PciDevice) DeepCopyInto added in v0.2.0

func (in *PciDevice) DeepCopyInto(out *PciDevice)

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

type ProxmoxCertSpec

type ProxmoxCertSpec struct {
	Certificate  string `json:"certificate,omitempty"`
	PrivateKey   string `json:"privateKey,omitempty"`
	NodeName     string `json:"nodeName,omitempty"`
	Force        bool   `json:"force,omitempty"`
	RestartProxy bool   `json:"restartProxy,omitempty"`
}

func (*ProxmoxCertSpec) DeepCopy

func (in *ProxmoxCertSpec) DeepCopy() *ProxmoxCertSpec

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

func (*ProxmoxCertSpec) DeepCopyInto

func (in *ProxmoxCertSpec) DeepCopyInto(out *ProxmoxCertSpec)

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

type QEMUStatus

type QEMUStatus struct {
	// State is the state of the VM
	State string `json:"state"`
	// Node is the name of the node
	Node string `json:"node"`
	// Uptime is the uptime of the VM
	Uptime string `json:"uptime"`
	// ID is the ID of the VM
	ID int `json:"id"`
	// IPAddress is the IP address of the VM
	IPAddress string `json:"IPAddress"`
	// OSInfo is the OS information of the VM
	OSInfo string `json:"OSInfo"`
}

func (*QEMUStatus) DeepCopy

func (in *QEMUStatus) DeepCopy() *QEMUStatus

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

func (*QEMUStatus) DeepCopyInto

func (in *QEMUStatus) DeepCopyInto(out *QEMUStatus)

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

type StorageDownloadURL

type StorageDownloadURL struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   StorageDownloadURLSpec   `json:"spec,omitempty"`
	Status StorageDownloadURLStatus `json:"status,omitempty"`
}

StorageDownloadURL is the Schema for the storagedownloadurls API

func (*StorageDownloadURL) DeepCopy

func (in *StorageDownloadURL) DeepCopy() *StorageDownloadURL

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

func (*StorageDownloadURL) DeepCopyInto

func (in *StorageDownloadURL) DeepCopyInto(out *StorageDownloadURL)

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

func (*StorageDownloadURL) DeepCopyObject

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

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

type StorageDownloadURLList

type StorageDownloadURLList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []StorageDownloadURL `json:"items"`
}

StorageDownloadURLList contains a list of StorageDownloadURL

func (*StorageDownloadURLList) DeepCopy

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

func (*StorageDownloadURLList) DeepCopyInto

func (in *StorageDownloadURLList) DeepCopyInto(out *StorageDownloadURLList)

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

func (*StorageDownloadURLList) DeepCopyObject

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

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

type StorageDownloadURLSpec

type StorageDownloadURLSpec struct {

	// +kubebuilder:validation:Pattern=\b(iso|vztmpl)\b
	Content  string `json:"content"`
	Filename string `json:"filename"`
	Node     string `json:"node"`
	// +kubebuilder:default:=local
	Storage string `json:"storage,omitempty"`
	URL     string `json:"url"`
	// Optional fields
	Checksum          string `json:"checksum,omitempty"`
	ChecksumAlgorithm string `json:"checksumAlgorithm,omitempty"`
	Compression       string `json:"compression,omitempty"`
	VerifyCertificate bool   `json:"verifyCertificate,omitempty"`
}

StorageDownloadURLSpec defines the desired state of StorageDownloadURL

func (*StorageDownloadURLSpec) DeepCopy

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

func (*StorageDownloadURLSpec) DeepCopyInto

func (in *StorageDownloadURLSpec) DeepCopyInto(out *StorageDownloadURLSpec)

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

type StorageDownloadURLStatus

type StorageDownloadURLStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` //nolint:lll // This is required by kubebuilder
	Status     string             `json:"status,omitempty"`
}

StorageDownloadURLStatus defines the observed state of StorageDownloadURL

func (*StorageDownloadURLStatus) DeepCopy

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

func (*StorageDownloadURLStatus) DeepCopyInto

func (in *StorageDownloadURLStatus) DeepCopyInto(out *StorageDownloadURLStatus)

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

type VMTemplateNetwork added in v0.1.2

type VMTemplateNetwork struct {
	// +kubebuilder:default:="virtio"
	Model string `json:"model,omitempty"`
	// +kubebuilder:default:="vmbr0"
	Bridge string `json:"bridge,omitempty"`
}

func (*VMTemplateNetwork) DeepCopy added in v0.1.2

func (in *VMTemplateNetwork) DeepCopy() *VMTemplateNetwork

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

func (*VMTemplateNetwork) DeepCopyInto added in v0.1.2

func (in *VMTemplateNetwork) DeepCopyInto(out *VMTemplateNetwork)

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

type VirtualMachine

type VirtualMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	OwnerReferences   []metav1.OwnerReference `json:"ownerReferences,omitempty"`

	Spec   VirtualMachineSpec   `json:"spec,omitempty"`
	Status VirtualMachineStatus `json:"status,omitempty"`
}

VirtualMachine is the Schema for the virtualmachines API

func (*VirtualMachine) DeepCopy

func (in *VirtualMachine) DeepCopy() *VirtualMachine

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

func (*VirtualMachine) DeepCopyInto

func (in *VirtualMachine) DeepCopyInto(out *VirtualMachine)

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

func (*VirtualMachine) DeepCopyObject

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

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

type VirtualMachineConfig added in v0.1.2

type VirtualMachineConfig struct {
	// Sockets
	// +kubebuilder:default:=1
	Sockets int `json:"sockets,omitempty"`
	// Cores
	// +kubebuilder:default:=2
	Cores int `json:"cores,omitempty"`
	// Memory as MB
	// +kubebuilder:default:=2048
	Memory  int               `json:"memory,omitempty"`
	Network VMTemplateNetwork `json:"network,omitempty"`
}

func (*VirtualMachineConfig) DeepCopy added in v0.1.2

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

func (*VirtualMachineConfig) DeepCopyInto added in v0.1.2

func (in *VirtualMachineConfig) DeepCopyInto(out *VirtualMachineConfig)

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

type VirtualMachineDisk added in v0.2.0

type VirtualMachineDisk struct {
	// Storage is the name of the storage
	Storage string `json:"storage"`
	// Size is the size of the disk in GB
	Size int `json:"size"`
	// Device is the name of the device
	Device string `json:"device"`
}

func (*VirtualMachineDisk) DeepCopy added in v0.2.0

func (in *VirtualMachineDisk) DeepCopy() *VirtualMachineDisk

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

func (*VirtualMachineDisk) DeepCopyInto added in v0.2.0

func (in *VirtualMachineDisk) DeepCopyInto(out *VirtualMachineDisk)

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

type VirtualMachineList

type VirtualMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMachine `json:"items"`
}

VirtualMachineList contains a list of VirtualMachine

func (*VirtualMachineList) DeepCopy

func (in *VirtualMachineList) DeepCopy() *VirtualMachineList

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

func (*VirtualMachineList) DeepCopyInto

func (in *VirtualMachineList) DeepCopyInto(out *VirtualMachineList)

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

func (*VirtualMachineList) DeepCopyObject

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

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

type VirtualMachineNetwork added in v0.2.0

type VirtualMachineNetwork struct {
	// Model is the model of the network card
	Model string `json:"model"`
	// Bridge is the name of the bridge
	Bridge string `json:"bridge"`
}

func (*VirtualMachineNetwork) DeepCopy added in v0.2.0

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

func (*VirtualMachineNetwork) DeepCopyInto added in v0.2.0

func (in *VirtualMachineNetwork) DeepCopyInto(out *VirtualMachineNetwork)

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

type VirtualMachineSet

type VirtualMachineSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualMachineSetSpec   `json:"spec,omitempty"`
	Status VirtualMachineSetStatus `json:"status,omitempty"`
}

VirtualMachineSet is the Schema for the virtualmachinesets API

func (*VirtualMachineSet) DeepCopy

func (in *VirtualMachineSet) DeepCopy() *VirtualMachineSet

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

func (*VirtualMachineSet) DeepCopyInto

func (in *VirtualMachineSet) DeepCopyInto(out *VirtualMachineSet)

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

func (*VirtualMachineSet) DeepCopyObject

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

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

type VirtualMachineSetList

type VirtualMachineSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMachineSet `json:"items"`
}

VirtualMachineSetList contains a list of VirtualMachineSet

func (*VirtualMachineSetList) DeepCopy

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

func (*VirtualMachineSetList) DeepCopyInto

func (in *VirtualMachineSetList) DeepCopyInto(out *VirtualMachineSetList)

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

func (*VirtualMachineSetList) DeepCopyObject

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

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

type VirtualMachineSetSpec

type VirtualMachineSetSpec struct {

	// DeletionProtection is a flag that indicates whether the VM should be protected from deletion.
	// If true, the VM will not be deleted when the Kubernetes resource is deleted.
	// If not set, it defaults to false.
	// +kubebuilder:default:=false
	DeletionProtection bool `json:"deletionProtection,omitempty"`
	// EnableAutoStart is a flag that indicates whether the VM should automatically start when it's powered off.
	// If true, the VM will start automatically when it's powered off.
	// If not set, it defaults to true.
	// +kubebuilder:default:=true
	EnableAutoStart bool `json:"enableAutoStart,omitempty"`
	// Replicas is the number of VMs
	Replicas int `json:"replicas"`
	// NodeName is the name of the target node of Proxmox
	NodeName string `json:"nodeName"`
	// Template is the name of the source VM template
	Template VirtualMachineSpecTemplate `json:"template,omitempty"`
}

VirtualMachineSetSpec defines the desired state of VirtualMachineSet

func (*VirtualMachineSetSpec) DeepCopy

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

func (*VirtualMachineSetSpec) DeepCopyInto

func (in *VirtualMachineSetSpec) DeepCopyInto(out *VirtualMachineSetSpec)

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

type VirtualMachineSetStatus

type VirtualMachineSetStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` //nolint:lll // This is required by kubebuilder
}

VirtualMachineSetStatus defines the observed state of VirtualMachineSet

func (*VirtualMachineSetStatus) DeepCopy

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

func (*VirtualMachineSetStatus) DeepCopyInto

func (in *VirtualMachineSetStatus) DeepCopyInto(out *VirtualMachineSetStatus)

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

type VirtualMachineSnapshot

type VirtualMachineSnapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualMachineSnapshotSpec   `json:"spec,omitempty"`
	Status VirtualMachineSnapshotStatus `json:"status,omitempty"`
}

VirtualMachineSnapshot is the Schema for the virtualmachinesnapshots API

func (*VirtualMachineSnapshot) DeepCopy

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

func (*VirtualMachineSnapshot) DeepCopyInto

func (in *VirtualMachineSnapshot) DeepCopyInto(out *VirtualMachineSnapshot)

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

func (*VirtualMachineSnapshot) DeepCopyObject

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

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

type VirtualMachineSnapshotList

type VirtualMachineSnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMachineSnapshot `json:"items"`
}

VirtualMachineSnapshotList contains a list of VirtualMachineSnapshot

func (*VirtualMachineSnapshotList) DeepCopy

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

func (*VirtualMachineSnapshotList) DeepCopyInto

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

func (*VirtualMachineSnapshotList) DeepCopyObject

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

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

type VirtualMachineSnapshotPolicy

type VirtualMachineSnapshotPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualMachineSnapshotPolicySpec   `json:"spec,omitempty"`
	Status VirtualMachineSnapshotPolicyStatus `json:"status,omitempty"`
}

VirtualMachineSnapshotPolicy is the Schema for the virtualmachinesnapshotpolicies API

func (*VirtualMachineSnapshotPolicy) DeepCopy

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

func (*VirtualMachineSnapshotPolicy) DeepCopyInto

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

func (*VirtualMachineSnapshotPolicy) DeepCopyObject

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

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

type VirtualMachineSnapshotPolicyList

type VirtualMachineSnapshotPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMachineSnapshotPolicy `json:"items"`
}

VirtualMachineSnapshotPolicyList contains a list of VirtualMachineSnapshotPolicy

func (*VirtualMachineSnapshotPolicyList) DeepCopy

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

func (*VirtualMachineSnapshotPolicyList) DeepCopyInto

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

func (*VirtualMachineSnapshotPolicyList) DeepCopyObject

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

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

type VirtualMachineSnapshotPolicySpec

type VirtualMachineSnapshotPolicySpec struct {
	NamespaceSelector NamespaceSelector `json:"namespaceSelector,omitempty"`

	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`

	SnapshotSchedule string `json:"snapshotSchedule,omitempty"`
}

VirtualMachineSnapshotPolicySpec defines the desired state of VirtualMachineSnapshotPolicy

func (*VirtualMachineSnapshotPolicySpec) DeepCopy

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

func (*VirtualMachineSnapshotPolicySpec) DeepCopyInto

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

type VirtualMachineSnapshotPolicyStatus

type VirtualMachineSnapshotPolicyStatus struct {
}

VirtualMachineSnapshotPolicyStatus defines the observed state of VirtualMachineSnapshotPolicy

func (*VirtualMachineSnapshotPolicyStatus) DeepCopy

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

func (*VirtualMachineSnapshotPolicyStatus) DeepCopyInto

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

type VirtualMachineSnapshotSpec

type VirtualMachineSnapshotSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	// Name of the virtual machine to take snapshot of
	VirtualMachineName string `json:"virtualMachineName"`
	// Name of the snapshot
	SnapshotName string `json:"snapshotName,omitempty"`
	// Description of the snapshot
	Timestamp metav1.Time `json:"timestamp,omitempty"`
}

VirtualMachineSnapshotSpec defines the desired state of VirtualMachineSnapshot

func (*VirtualMachineSnapshotSpec) DeepCopy

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

func (*VirtualMachineSnapshotSpec) DeepCopyInto

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

type VirtualMachineSnapshotStatus

type VirtualMachineSnapshotStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	// Possible values: "created", "failed"
	Status string `json:"status,omitempty"`

	// Error message if the snapshot creation process failed
	ErrorMessage string `json:"errorMessage,omitempty"`
}

VirtualMachineSnapshotStatus defines the observed state of VirtualMachineSnapshot

func (*VirtualMachineSnapshotStatus) DeepCopy

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

func (*VirtualMachineSnapshotStatus) DeepCopyInto

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

type VirtualMachineSpec

type VirtualMachineSpec struct {

	// Name is the name of the VM
	Name string `json:"name"`
	// NodeName is the name of the target node of Proxmox
	NodeName string `json:"nodeName"`
	// TemplateSpec of the source VM
	Template *VirtualMachineSpecTemplate `json:"template,omitempty"`
	// This field should be modified further
	VMSpec *NewVMSpec `json:"vmSpec,omitempty"`
	// DeletionProtection is a flag that indicates whether the VM should be protected from deletion.
	// If true, the VM will not be deleted when the Kubernetes resource is deleted.
	// If not set, it defaults to false.
	// +kubebuilder:default:=false
	DeletionProtection bool `json:"deletionProtection,omitempty"`
	// EnableAutoStart is a flag that indicates whether the VM should automatically start when it's powered off.
	// If true, the VM will start automatically when it's powered off.
	// If not set, it defaults to true.
	// +kubebuilder:default:=true
	EnableAutoStart bool `json:"enableAutoStart,omitempty"`
	// AdditionalConfig is the additional configuration of the VM
	// +kubebuilder:validation:Optional
	AdditionalConfig map[string]string `json:"additionalConfig,omitempty"`
}

VirtualMachineSpec defines the desired state of VirtualMachine

func (*VirtualMachineSpec) DeepCopy

func (in *VirtualMachineSpec) DeepCopy() *VirtualMachineSpec

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

func (*VirtualMachineSpec) DeepCopyInto

func (in *VirtualMachineSpec) DeepCopyInto(out *VirtualMachineSpec)

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

type VirtualMachineSpecTemplate

type VirtualMachineSpecTemplate struct {
	// Name of the template
	Name string `json:"name,omitempty"`
	// Cores is the number of CPU cores
	Cores int `json:"cores,omitempty"`
	// Socket is the number of CPU sockets
	Socket int `json:"socket,omitempty"`
	// Memory is the amount of memory in MB
	Memory int `json:"memory,omitempty"`
	// Disks is the list of disks
	Disk []VirtualMachineDisk `json:"disk,omitempty"`
	// Networks is the list of networks
	Network *[]VirtualMachineNetwork `json:"network,omitempty"`
	// PCI is the list of PCI devices
	PciDevices []PciDevice `json:"pciDevices,omitempty"`
}

func (*VirtualMachineSpecTemplate) DeepCopy

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

func (*VirtualMachineSpecTemplate) DeepCopyInto

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

type VirtualMachineStatus

type VirtualMachineStatus struct {
	// Conditions is the metav1.Condition of the Virtual Machine
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` //nolint:lll // This is required by kubebuilder
	// Status is the QEMU status of the Virtual Machine (state, node, uptime, id, IP address, os info)
	Status *QEMUStatus `json:"status,omitempty"`
}

VirtualMachineStatus defines the observed state of VirtualMachine

func (*VirtualMachineStatus) DeepCopy

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

func (*VirtualMachineStatus) DeepCopyInto

func (in *VirtualMachineStatus) DeepCopyInto(out *VirtualMachineStatus)

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

type VirtualMachineTemplate added in v0.1.2

type VirtualMachineTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualMachineTemplateSpec   `json:"spec,omitempty"`
	Status VirtualMachineTemplateStatus `json:"status,omitempty"`
}

VirtualMachineTemplate is the Schema for the virtualmachinetemplates API

func (*VirtualMachineTemplate) DeepCopy added in v0.1.2

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

func (*VirtualMachineTemplate) DeepCopyInto added in v0.1.2

func (in *VirtualMachineTemplate) DeepCopyInto(out *VirtualMachineTemplate)

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

func (*VirtualMachineTemplate) DeepCopyObject added in v0.1.2

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

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

type VirtualMachineTemplateList added in v0.1.2

type VirtualMachineTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMachineTemplate `json:"items"`
}

VirtualMachineTemplateList contains a list of VirtualMachineTemplate

func (*VirtualMachineTemplateList) DeepCopy added in v0.1.2

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

func (*VirtualMachineTemplateList) DeepCopyInto added in v0.1.2

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

func (*VirtualMachineTemplateList) DeepCopyObject added in v0.1.2

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

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

type VirtualMachineTemplateSpec added in v0.1.2

type VirtualMachineTemplateSpec struct {

	// Name is the name of the VM
	Name string `json:"name"`
	// NodeName is the node name
	NodeName string `json:"node"`
	// +kubebuilder:default:=false
	DeletionProtection bool `json:"deletionProtection,omitempty"`

	// VirtualMachineConfig is the configuration of the VM
	VirtualMachineConfig VirtualMachineConfig `json:"virtualMachineConfig,omitempty"`

	// Image config
	ImageConfig StorageDownloadURLSpec `json:"imageConfig"`

	// Cloud Init Config
	CloudInitConfig CloudInitConfig `json:"cloudInitConfig,omitempty"`
}

VirtualMachineTemplateSpec defines the desired state of VirtualMachineTemplate

func (*VirtualMachineTemplateSpec) DeepCopy added in v0.1.2

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

func (*VirtualMachineTemplateSpec) DeepCopyInto added in v0.1.2

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

type VirtualMachineTemplateStatus added in v0.1.2

type VirtualMachineTemplateStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions []metav1.Condition `json:"condition,omitempty"`
	Status     string             `json:"status,omitempty"`
}

VirtualMachineTemplateStatus defines the observed state of VirtualMachineTemplate

func (*VirtualMachineTemplateStatus) DeepCopy added in v0.1.2

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

func (*VirtualMachineTemplateStatus) DeepCopyInto added in v0.1.2

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

Jump to

Keyboard shortcuts

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