Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type Arch
- type BIOS
- type CACert
- type ChPasswd
- type CloudInit
- type Hardware
- type HugePages
- type IPConfig
- type Image
- type InstanceStatus
- type Lock
- type Network
- type NetworkDevice
- type NetworkDeviceBridge
- type NetworkDeviceModel
- type OSType
- type ObjectReference
- type Options
- type ProxmoxCluster
- type ProxmoxClusterList
- type ProxmoxClusterSpec
- type ProxmoxClusterStatus
- type ProxmoxMachine
- type ProxmoxMachineList
- type ProxmoxMachineSpec
- type ProxmoxMachineStatus
- type ProxmoxMachineTemplate
- type ProxmoxMachineTemplateList
- type ProxmoxMachineTemplateResource
- type ProxmoxMachineTemplateSpec
- type ProxmoxMachineTemplateStatus
- type SSH
- type SSHKeys
- type ServerRef
- type Storage
- type Tag
- type Tags
- type User
- type UserData
- type WriteFiles
Constants ¶
const (
// ClusterFinalizer
ClusterFinalizer = "proxmoxcluster.infrastructure.cluster.x-k8s.io"
)
const (
// MachineFinalizer
MachineFinalizer = "proxmoxmachine.infrastructure.cluster.x-k8s.io"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"} // 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 )
var ( InstanceStatusPaused = InstanceStatus(api.ProcessStatusPaused) InstanceStatusRunning = InstanceStatus(api.ProcessStatusRunning) InstanceStatusStopped = InstanceStatus(api.ProcessStatusStopped) )
Functions ¶
This section is empty.
Types ¶
type CACert ¶
type CACert struct { RemoveDefaults bool `yaml:"remove_defaults,omitempty" json:"remove_defaults,omitempty"` Trusted []string `yaml:"trusted,omitempty" json:"trusted,omitempty"` }
func (*CACert) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CACert.
func (*CACert) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChPasswd ¶
type ChPasswd struct {
Expire string `yaml:"expire,omitempty" json:"expire,omitempty"`
}
func (*ChPasswd) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChPasswd.
func (*ChPasswd) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudInit ¶
type CloudInit struct {
UserData *UserData `json:"user,omitempty"`
}
CloudInit is passed to disk directly as raw yaml file not via Proxmox API so you can configure more detailed configs
func (*CloudInit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudInit.
func (*CloudInit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hardware ¶
type Hardware struct { // amount of RAM for the VM in MiB : 16 ~ // +kubebuilder:validation:Minimum:=16 // +kubebuilder:default:=4096 Memory int `json:"memory,omitempty"` // number of CPU cores : 1 ~ // +kubebuilder:validation:Minimum:=1 // +kubebuilder:default:=2 CPU int `json:"cpu,omitempty"` // Emulated CPU Type. Defaults to kvm64 CPUType string `json:"cpuType,omitempty"` // +kubebuilder:validation:Minimum:=1 // The number of CPU sockets. Defaults to 1. Sockets int `json:"sockets,omitempty"` // +kubebuilder:validation:Minimum:=0 // Limit of CPU usage. If the computer has 2 CPUs, it has total of '2' CPU time. // Value '0' indicates no CPU limit. Defaults to 0. CPULimit int `json:"cpuLimit,omitempty"` // Select BIOS implementation. Defaults to seabios. seabios or ovmf. // Defaults to seabios. BIOS BIOS `json:"bios,omitempty"` // hard disk size // +kubebuilder:validation:Pattern:=\+?\d+(\.\d+)?[KMGT]? // +kubebuilder:default:="50G" Disk string `json:"disk,omitempty"` // network devices // to do: multiple devices // +kubebuilder:default:={model:virtio,bridge:vmbr0,firewall:true} NetworkDevice NetworkDevice `json:"networkDevice,omitempty"` }
Hardware
func (*Hardware) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hardware.
func (*Hardware) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPConfig ¶
type IPConfig struct { // IPv4 with CIDR IP string `json:"ip,omitempty"` // gateway IPv4 Gateway string `json:"gateway,omitempty"` // IPv6 with CIDR IP6 string `json:"ip6,omitempty"` // gateway IPv6 Gateway6 string `json:"gateway6,omitempty"` }
IPConfig defines IP addresses and gateways for corresponding interface. it defaults to using dhcp on IPv4 if neither IP nor IP6 is specified.
func (*IPConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfig.
func (*IPConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶
type Image struct { // +kubebuilder:validation:Pattern:=.*\.(iso|img|qcow2|qed|raw|vdi|vpc|vmdk)$ // URL is a location of an image to deploy. // supported formats are iso/qcow2/qed/raw/vdi/vpc/vmdk. URL string `json:"url"` // Checksum // Always better to specify checksum otherwise cappx will download // same image for every time. If checksum is specified, cappx will try // to avoid downloading existing image. Checksum string `json:"checksum,omitempty"` // +kubebuilder:validation:Enum:=sha256;sha256sum;md5;md5sum // ChecksumType ChecksumType *string `json:"checksumType,omitempty"` }
Image is the image to be provisioned
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceStatus ¶
type InstanceStatus string
type Lock ¶
type Lock string
+kubebuilder:validation:Enum:=backup;clone;create;migrate;rollback;snapshot;snapshot-delete;suspending;suspended
type Network ¶
type Network struct { // to do : should accept multiple IPConfig IPConfig IPConfig `json:"ipConfig,omitempty"` // DNS server NameServer string `json:"nameServer,omitempty"` // search domain SearchDomain string `json:"searchDomain,omitempty"` }
Network cloud-init network configuration is configured through Proxmox API it may be migrated to raw yaml way from Proxmox API way in the future
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDevice ¶
type NetworkDevice struct { // +kubebuilder:default:="virtio" Model NetworkDeviceModel `json:"model,omitempty"` // +kubebuilder:default:="vmbr0" Bridge NetworkDeviceBridge `json:"bridge,omitempty"` // +kubebuilder:default:=true Firewall bool `json:"firewall,omitempty"` LinkDown bool `json:"linkDown,omitempty"` MacAddr string `json:"macAddr,omitempty"` MTU int `json:"mtu,omitempty"` Queues int `json:"queues,omitempty"` // since float is highly discouraged, use string instead // +kubebuilder:validation:Pattern:=[0-9]+(\.|)[0-9]* Rate string `json:"rate,omitempty"` Tag int `json:"tag,omitempty"` // trunks: array of vlanid Trunks []int `json:"trunks,omitempty"` }
Network Device
func (*NetworkDevice) DeepCopy ¶
func (in *NetworkDevice) DeepCopy() *NetworkDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDevice.
func (*NetworkDevice) DeepCopyInto ¶
func (in *NetworkDevice) DeepCopyInto(out *NetworkDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkDevice) String ¶
func (n *NetworkDevice) String() string
type NetworkDeviceBridge ¶
type NetworkDeviceBridge string
+kubebuilder:validation:Pattern:="vmbr[0-9]{1,4}"
type NetworkDeviceModel ¶
type NetworkDeviceModel string
+kubebuilder:validation:Enum:=e1000;virtio;rtl8139;vmxnet3
type OSType ¶
type OSType string
+kubebuilder:validation:Enum:=other;wxp;w2k;w2k3;w2k8;wvista;win7;win8;win10;win11;l24;l26;solaris
type ObjectReference ¶
type ObjectReference struct { // Namespace of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ Namespace string `json:"namespace,omitempty"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +kubebuilder:validation:Required Name string `json:"name"` }
ObjectReference is a reference to another Kubernetes object instance.
func (*ObjectReference) DeepCopy ¶
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Options ¶
type Options struct { // Enable/Disable ACPI. Defaults to true. ACPI bool `json:"acpi,omitempty"` // Virtual processor architecture. Defaults to the host. x86_64 or aarch64. Arch Arch `json:"arch,omitempty"` // +kubebuilder:validation:Minimum:=0 // Amount of target RAM for the VM in MiB. Using zero disables the ballon driver. Balloon int `json:"balloon,omitempty"` // Description for the VM. Shown in the web-interface VM's summary. // This is saved as comment inside the configuration file. Description string `json:"description,omitempty"` // enable/disable hugepages memory. 0 or 2 or 1024. 0 indicated 'any' HugePages *HugePages `json:"hugePages,omitempty"` // Use together with hugepages. If enabled, hugepages will not not be deleted // after VM shutdown and can be used for subsequent starts. Defaults to false. KeepHugePages bool `json:"keepHugePages,omitempty"` // Enable/disable KVM hardware virtualization. Defaults to true. KVM bool `json:"kvm,omitempty"` // Set the real time clock (RTC) to local time. // This is enabled by default if the `ostype` indicates a Microsoft Windows OS. LocalTime bool `json:"localTime,omitempty"` // Lock/unlock the VM. Lock Lock `json:"lock,omitempty"` // Enable/disable NUMA. NUMA bool `json:"numa,omitempty"` // Specifies whether a VM will be started during system bootup. OnBoot bool `json:"onBoot,omitempty"` // Specify guest operating system. This is used to enable special // optimization/features for specific operating systems. OSType OSType `json:"osType,omitempty"` // Sets the protection flag of the VM. // This will disable the remove VM and remove disk operations. // Defaults to false. Protection bool `json:"protection,omitempty"` // Allow reboot. If set to 'false' the VM exit on reboot. // Defaults to true. Reboot bool `json:"reboot,omitempty"` // +kubebuilder:validation:Maximum:=5000 // Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. // Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. // Auto-ballooning is done by pvestatd. 0 ~ 5000. Defaults to 1000. Shares int `json:"shares,omitempty"` // Enable/disable the USB tablet device. This device is usually needed to allow // absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. // If you're running lots of console-only guests on one host, // you may consider disabling this to save some context switches. // This is turned off by default if you use spice (`qm set <vmid> --vga qxl`). // Defaults to true. Tablet bool `json:"tablet,omitempty"` // Tags of the VM. This is only meta information. Tags Tags `json:"tags,omitempty"` // Enable/disable time drift fix. Defaults to false. TimeDriftFix bool `json:"timeDriftFix,omitempty"` // Enable/disable Template. Defaults to false. Template bool `json:"template,omitempty"` // +kubebuilder:validation:Minimum:=0 // Number of hotplugged vcpus. Defaults to 0. VCPUs int `json:"vcpus,omitempty"` // +kubebuilder:validation:Pattern:="(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])" // The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. // This allows to notify the guest operating system when the virtual machine is executed with a different configuration // (e.g. snapshot execution or creation from a template). // The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, // re-initializing its random number generator, etc. // Note that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file. // regex: (?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01]). Defaults to 1 (autogenerated) VMGenerationID string `json:"vmGenerationID,omitempty"` }
Options
func (*Options) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Options.
func (*Options) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxCluster ¶
type ProxmoxCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ProxmoxClusterSpec `json:"spec,omitempty"` Status ProxmoxClusterStatus `json:"status,omitempty"` }
ProxmoxCluster is the Schema for the proxmoxclusters API
func (*ProxmoxCluster) DeepCopy ¶
func (in *ProxmoxCluster) DeepCopy() *ProxmoxCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxCluster.
func (*ProxmoxCluster) DeepCopyInto ¶
func (in *ProxmoxCluster) DeepCopyInto(out *ProxmoxCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxCluster) DeepCopyObject ¶
func (in *ProxmoxCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxClusterList ¶
type ProxmoxClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ProxmoxCluster `json:"items"` }
ProxmoxClusterList contains a list of ProxmoxCluster
func (*ProxmoxClusterList) DeepCopy ¶
func (in *ProxmoxClusterList) DeepCopy() *ProxmoxClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxClusterList.
func (*ProxmoxClusterList) DeepCopyInto ¶
func (in *ProxmoxClusterList) DeepCopyInto(out *ProxmoxClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxClusterList) DeepCopyObject ¶
func (in *ProxmoxClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxClusterSpec ¶
type ProxmoxClusterSpec struct { // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` // ServerRef is used for configuring Proxmox client ServerRef ServerRef `json:"serverRef"` // storage is used for storing cloud init snippet Storage Storage `json:"storage,omitempty"` }
ProxmoxClusterSpec defines the desired state of ProxmoxCluster
func (*ProxmoxClusterSpec) DeepCopy ¶
func (in *ProxmoxClusterSpec) DeepCopy() *ProxmoxClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxClusterSpec.
func (*ProxmoxClusterSpec) DeepCopyInto ¶
func (in *ProxmoxClusterSpec) DeepCopyInto(out *ProxmoxClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxClusterStatus ¶
type ProxmoxClusterStatus struct { // Ready Ready bool `json:"ready"` // FailureDomains FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` // Conditions Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
ProxmoxClusterStatus defines the observed state of ProxmoxCluster
func (*ProxmoxClusterStatus) DeepCopy ¶
func (in *ProxmoxClusterStatus) DeepCopy() *ProxmoxClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxClusterStatus.
func (*ProxmoxClusterStatus) DeepCopyInto ¶
func (in *ProxmoxClusterStatus) DeepCopyInto(out *ProxmoxClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachine ¶
type ProxmoxMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ProxmoxMachineSpec `json:"spec,omitempty"` Status ProxmoxMachineStatus `json:"status,omitempty"` }
ProxmoxMachine is the Schema for the proxmoxmachines API
func (*ProxmoxMachine) DeepCopy ¶
func (in *ProxmoxMachine) DeepCopy() *ProxmoxMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachine.
func (*ProxmoxMachine) DeepCopyInto ¶
func (in *ProxmoxMachine) DeepCopyInto(out *ProxmoxMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachine) DeepCopyObject ¶
func (in *ProxmoxMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineList ¶
type ProxmoxMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ProxmoxMachine `json:"items"` }
ProxmoxMachineList contains a list of ProxmoxMachine
func (*ProxmoxMachineList) DeepCopy ¶
func (in *ProxmoxMachineList) DeepCopy() *ProxmoxMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineList.
func (*ProxmoxMachineList) DeepCopyInto ¶
func (in *ProxmoxMachineList) DeepCopyInto(out *ProxmoxMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachineList) DeepCopyObject ¶
func (in *ProxmoxMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineSpec ¶
type ProxmoxMachineSpec struct { // ProviderID ProviderID *string `json:"providerID,omitempty"` // Node is proxmox node hosting vm instance which used for ProxmoxMachine Node string `json:"node,omitempty"` // Storage is name of proxmox storage used by this node. // The storage must support "images(VM Disks)" type of content. // cappx will use random storage if empty Storage string `json:"storage,omitempty"` // +kubebuilder:validation:Minimum:=0 // VMID is proxmox qemu's id VMID *int `json:"vmID,omitempty"` // Image is the image to be provisioned Image Image `json:"image"` // CloudInit defines options related to the bootstrapping systems where // CloudInit is used. CloudInit CloudInit `json:"cloudInit,omitempty"` // Hardware // +kubebuilder:default:={cpu:2,disk:"50G",memory:4096,networkDevice:{model:virtio,bridge:vmbr0,firewall:true}} Hardware Hardware `json:"hardware,omitempty"` // Network Network Network `json:"network,omitempty"` // Options for QEMU instance Options Options `json:"options,omitempty"` // FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. FailureDomain *string `json:"failureDomain,omitempty"` }
ProxmoxMachineSpec defines the desired state of ProxmoxMachine
func (*ProxmoxMachineSpec) DeepCopy ¶
func (in *ProxmoxMachineSpec) DeepCopy() *ProxmoxMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineSpec.
func (*ProxmoxMachineSpec) DeepCopyInto ¶
func (in *ProxmoxMachineSpec) DeepCopyInto(out *ProxmoxMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineStatus ¶
type ProxmoxMachineStatus struct { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // FailureReason FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage FailureMessage *string `json:"failureMessage,omitempty"` // Addresses Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"` // Conditions Conditions clusterv1.Conditions `json:"conditions,omitempty"` // Configuration Config api.VirtualMachineConfig `json:"config,omitempty"` // InstanceStatus is the status of the proxmox instance for this machine. // +optional InstanceStatus *InstanceStatus `json:"instanceStatus,omitempty"` // InstanceStatus }
ProxmoxMachineStatus defines the observed state of ProxmoxMachine
func (*ProxmoxMachineStatus) DeepCopy ¶
func (in *ProxmoxMachineStatus) DeepCopy() *ProxmoxMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineStatus.
func (*ProxmoxMachineStatus) DeepCopyInto ¶
func (in *ProxmoxMachineStatus) DeepCopyInto(out *ProxmoxMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineTemplate ¶
type ProxmoxMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ProxmoxMachineTemplateSpec `json:"spec,omitempty"` Status ProxmoxMachineTemplateStatus `json:"status,omitempty"` }
ProxmoxMachineTemplate is the Schema for the proxmoxmachinetemplates API
func (*ProxmoxMachineTemplate) DeepCopy ¶
func (in *ProxmoxMachineTemplate) DeepCopy() *ProxmoxMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplate.
func (*ProxmoxMachineTemplate) DeepCopyInto ¶
func (in *ProxmoxMachineTemplate) DeepCopyInto(out *ProxmoxMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachineTemplate) DeepCopyObject ¶
func (in *ProxmoxMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineTemplateList ¶
type ProxmoxMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ProxmoxMachineTemplate `json:"items"` }
ProxmoxMachineTemplateList contains a list of ProxmoxMachineTemplate
func (*ProxmoxMachineTemplateList) DeepCopy ¶
func (in *ProxmoxMachineTemplateList) DeepCopy() *ProxmoxMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateList.
func (*ProxmoxMachineTemplateList) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateList) DeepCopyInto(out *ProxmoxMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxmoxMachineTemplateList) DeepCopyObject ¶
func (in *ProxmoxMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxmoxMachineTemplateResource ¶
type ProxmoxMachineTemplateResource struct { // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata.omitempty"` Spec ProxmoxMachineSpec `json:"spec"` }
func (*ProxmoxMachineTemplateResource) DeepCopy ¶
func (in *ProxmoxMachineTemplateResource) DeepCopy() *ProxmoxMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateResource.
func (*ProxmoxMachineTemplateResource) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateResource) DeepCopyInto(out *ProxmoxMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineTemplateSpec ¶
type ProxmoxMachineTemplateSpec struct {
Template ProxmoxMachineTemplateResource `json:"template"`
}
ProxmoxMachineTemplateSpec defines the desired state of ProxmoxMachineTemplate
func (*ProxmoxMachineTemplateSpec) DeepCopy ¶
func (in *ProxmoxMachineTemplateSpec) DeepCopy() *ProxmoxMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateSpec.
func (*ProxmoxMachineTemplateSpec) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateSpec) DeepCopyInto(out *ProxmoxMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxmoxMachineTemplateStatus ¶
type ProxmoxMachineTemplateStatus struct { }
ProxmoxMachineTemplateStatus defines the observed state of ProxmoxMachineTemplate
func (*ProxmoxMachineTemplateStatus) DeepCopy ¶
func (in *ProxmoxMachineTemplateStatus) DeepCopy() *ProxmoxMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxmoxMachineTemplateStatus.
func (*ProxmoxMachineTemplateStatus) DeepCopyInto ¶
func (in *ProxmoxMachineTemplateStatus) DeepCopyInto(out *ProxmoxMachineTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSH ¶
type SSH struct {
EmitKeysToConsole bool `yaml:"emit_keys_to_console,omitempty" json:"emit_keys_to_console,omitempty"`
}
func (*SSH) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSH.
func (*SSH) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHKeys ¶
type SSHKeys struct { RSAPrivate string `yaml:"rsa_private,omitempty" json:"rsa_private,omitempty"` RSAPublic string `yaml:"rsa_public,omitempty" json:"rsa_public,omitempty"` DSAPrivate string `yaml:"dsa_private,omitempty" json:"dsa_private,omitempty"` DSAPublic string `yaml:"dsa_public,omitempty" json:"dsa_public,omitempty"` ECDSAPrivate string `yaml:"ecdsa_private,omitempty" json:"ecdsa_private,omitempty"` EDSCAPublic string `yaml:"ecdsa_public,omitempty" json:"ecdsa_public,omitempty"` }
func (*SSHKeys) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeys.
func (*SSHKeys) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerRef ¶
type ServerRef struct { // endpoint is the address of the Proxmox-VE REST API endpoint. Endpoint string `json:"endpoint"` // SecretRef is a reference for secret which contains proxmox login secrets SecretRef *ObjectReference `json:"secretRef"` }
ServerRef is used for configuring Proxmox client
func (*ServerRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerRef.
func (*ServerRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
Storage for image and snippets
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tags ¶
type Tags []Tag
func (Tags) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tags.
func (Tags) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct { Name string `yaml:"name" json:"name"` // +kubebuilder:validation:Pattern:="^/d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$" ExpireDate string `yaml:"expiredate,omitempty" json:"expiredate,omitempty"` GECOS string `yaml:"gecos,omitempty" json:"gecos,omitempty"` // +kubebuilder:validation:Pattern:=^/.+ HomeDir string `yaml:"homedir,omitempty" json:"homedir,omitempty"` PrimaryGroup string `yaml:"primary_group,omitempty" json:"primary_group,omitempty"` Groups []string `yaml:"groups,omitempty" json:"groups,omitempty"` SELinuxUser string `yaml:"selinux_user,omitempty" json:"selinux_user,omitempty"` LockPasswd *bool `yaml:"lock_passwd,omitempty" json:"lock_passwd,omitempty"` // +kubebuilder:validation:Minimum:=0 Inactive int `yaml:"inactive,omitempty" json:"inactive,omitempty"` Passwd string `yaml:"passwd,omitempty" json:"passwd,omitempty"` NoCreateHome bool `yaml:"no_create_home,omitempty" json:"no_create_home,omitempty"` NoUserGroup bool `yaml:"no_user_group,omitempty" json:"no_user_group,omitempty"` NoLogInit bool `yaml:"no_log_init,omitempty" json:"no_log_init,omitempty"` SSHImportID []string `yaml:"ssh_import_id,omitempty" json:"ssh_import_id,omitempty"` SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys,omitempty" json:"ssh_authorized_keys,omitempty"` SSHRedirectUser bool `yaml:"ssh_redirect_user,omitempty" json:"ssh_redirect_user,omitempty"` Sudo []string `yaml:"sudo,omitempty" json:"sudo,omitempty"` System bool `yaml:"system,omitempty" json:"system,omitempty"` SnapUser string `yaml:"snapuser,omitempty" json:"snapuser,omitempty"` Shell string `yaml:"shell,omitempty" json:"shell,omitempty"` }
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserData ¶
type UserData struct { BootCmd []string `yaml:"bootcmd,omitempty" json:"bootcmd,omitempty"` CACerts CACert `yaml:"ca_certs,omitempty" json:"ca_certs,omitempty"` ChPasswd ChPasswd `yaml:"chpasswd,omitempty" json:"chpasswd,omitempty"` HostName string `yaml:"hostname,omitempty" json:"-"` ManageEtcHosts bool `yaml:"manage_etc_hosts,omitempty" json:"manage_etc_hosts,omitempty"` NoSSHFingerprints bool `yaml:"no_ssh_fingerprints,omitempty" json:"no_ssh_fingerprints,omitempty"` Packages []string `yaml:"packages,omitempty" json:"packages,omitempty"` PackageUpdate bool `yaml:"package_update,omitempty" json:"package_update,omitempty"` PackageUpgrade bool `yaml:"package_upgrade,omitempty" json:"package_upgrade,omitempty"` Password string `yaml:"password,omitempty" json:"password,omitempty"` RunCmd []string `yaml:"runcmd,omitempty" json:"runCmd,omitempty"` SSH SSH `yaml:"ssh,omitempty" json:"ssh,omitempty"` SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys,omitempty" json:"ssh_authorized_keys,omitempty"` SSHKeys SSHKeys `yaml:"ssh_keys,omitempty" json:"ssh_keys,omitempty"` SSHPWAuth bool `yaml:"ssh_pwauth,omitempty" json:"ssh_pwauth,omitempty"` User string `yaml:"user,omitempty" json:"user,omitempty"` Users []User `yaml:"users,omitempty" json:"users,omitempty"` WriteFiles []WriteFiles `yaml:"write_files,omitempty" json:"writeFiles,omitempty"` }
func (*UserData) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserData.
func (*UserData) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WriteFiles ¶
type WriteFiles struct { Encoding string `yaml:"encoding,omitempty" json:"encoding,omitempty"` Path string `yaml:"path,omitempty" json:"path,omitempty"` Owner string `yaml:"owner,omitempty" json:"owner,omitempty"` Permissions string `yaml:"permissions,omitempty" json:"permissions,omitempty"` Defer bool `yaml:"defer,omitempty" json:"defer,omitempty"` Content string `yaml:"content,omitempty" json:"content,omitempty"` }
func (*WriteFiles) DeepCopy ¶
func (in *WriteFiles) DeepCopy() *WriteFiles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WriteFiles.
func (*WriteFiles) DeepCopyInto ¶
func (in *WriteFiles) DeepCopyInto(out *WriteFiles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.