Versions in this module Expand all Collapse all v0 v0.3.0 Jul 10, 2026 Changes in this version + func ClusterReadyLocal(ctx context.Context) (bool, error) v0.2.0 Apr 4, 2026 Changes in this version + var ErrNodeNotFound = errors.New("node not found") + func CreateLocalVM(ctx context.Context, vmID int, options map[string]any) error + func DeleteLocalVM(ctx context.Context, vmID int) error + func GetLocalNextID(ctx context.Context) (int, error) + func GetLocalVMConfig(vmID int) (*proxmox.VirtualMachineConfig, error) + func GetLocalVMConfigByFilter(filter ...func(*proxmox.VirtualMachineConfig) (bool, error)) (int, *proxmox.VirtualMachineConfig, error) + func UpdateLocalVM(ctx context.Context, vmID int, options map[string]any) error type APIClient + func (c *APIClient) GetNodeByName(ctx context.Context, nodeName string) (*proxmox.ClusterResource, error) + func (c *APIClient) UpdateVMByID(ctx context.Context, nodeName string, vmID int, options map[string]interface{}) error + type NUMANodeState struct + CPUs string + Memory uint64 + Policy string type VMCloneRequest + CPUAffinity string + NUMANodes map[int]NUMANodeState + type VMNUMA struct + CPUIDs []string + HostNodeNames []string + Memory *int + Policy string + func (r *VMNUMA) ToString() (string, error) + func (r *VMNUMA) UnmarshalString(s string) error v0.1.0 Jan 4, 2026 Changes in this version + var ErrNotFound = errors.New("not found") + var ErrVirtualMachineNotFound = errors.New("VM machine not found") + var ErrVirtualMachineTemplateNotFound = errors.New("VM template not found") + var ErrVirtualMachineUnreachable = errors.New("VM machine unreachable") + func GetVMSKU(vm *proxmox.VirtualMachine) string + func GetVMUUID(vm *proxmox.VirtualMachine) string + func NewIntOrBool(b bool) *proxmox.IntOrBool + type APIClient struct + func NewAPIClient(url string, options ...proxmox.Option) (*APIClient, error) + func (c *APIClient) AttachVMDisk(ctx context.Context, vmID int, device, disk string) error + func (c *APIClient) CloneVM(ctx context.Context, templateID int, options VMCloneRequest) (int, error) + func (c *APIClient) CreateVM(ctx context.Context, node string, vm map[string]interface{}) error + func (c *APIClient) CreateVMDisk(ctx context.Context, vmid int, node string, storage string, disk string, ...) error + func (c *APIClient) CreateVMFirewallRules(ctx context.Context, vmID int, nodeName string, rules []*proxmox.FirewallRule) error + func (c *APIClient) DeleteVMByID(ctx context.Context, nodeName string, vmID int) error + func (c *APIClient) DeleteVMDisk(ctx context.Context, node string, storage string, disk string) error + func (c *APIClient) DetachVMDisk(ctx context.Context, vmID int, device string) error + func (c *APIClient) GetClusterStorage(ctx context.Context, storage string) (*proxmox.ClusterResource, error) + func (c *APIClient) GetClusterStoragesByFilter(ctx context.Context, filter ...func(*proxmox.ClusterResource) (bool, error)) (storages proxmox.ClusterResources, err error) + func (c *APIClient) GetHAGroupList(ctx context.Context) (groups []*HAGroup, err error) + func (c *APIClient) GetNextID(ctx context.Context, vmid int) (int, error) + func (c *APIClient) GetNodeList(ctx context.Context) ([]string, error) + func (c *APIClient) GetNodeListByFilter(ctx context.Context, filter ...func(*proxmox.ClusterResource) (bool, error)) (nodes proxmox.ClusterResources, err error) + func (c *APIClient) GetNodesForStorage(ctx context.Context, storage string) ([]string, error) + func (c *APIClient) GetStorageContent(ctx context.Context, node string, storage string) (content []*proxmox.StorageContent, err error) + func (c *APIClient) GetStorageListByFilter(ctx context.Context, filter ...func(*proxmox.ClusterStorage) (bool, error)) (proxmox.ClusterStorages, error) + func (c *APIClient) GetStorageStatus(ctx context.Context, node string, storage string) (st proxmox.Storage, err error) + func (c *APIClient) GetVMByFilter(ctx context.Context, filter ...func(*proxmox.ClusterResource) (bool, error)) (*proxmox.ClusterResource, error) + func (c *APIClient) GetVMByID(ctx context.Context, vmID uint64) (*proxmox.ClusterResource, error) + func (c *APIClient) GetVMConfig(ctx context.Context, vmID int) (*proxmox.VirtualMachine, error) + func (c *APIClient) GetVMTemplateByID(ctx context.Context, vmID uint64) (*proxmox.ClusterResource, error) + func (c *APIClient) GetVMTemplateConfig(ctx context.Context, vmID int) (*proxmox.VirtualMachine, error) + func (c *APIClient) GetVMTemplatesByFilter(ctx context.Context, filter ...func(*proxmox.ClusterResource) (bool, error)) (proxmox.ClusterResources, error) + func (c *APIClient) GetVMsByFilter(ctx context.Context, filter ...func(*proxmox.ClusterResource) (bool, error)) (proxmox.ClusterResources, error) + func (c *APIClient) MigrateVMByID(ctx context.Context, vmID int, dstNode string, online bool) error + func (c *APIClient) RegenerateVMCloudInit(ctx context.Context, node string, vmID int) error + func (c *APIClient) ResizeVMDisk(ctx context.Context, vmID int, node, disk, size string) error + func (c *APIClient) StartVMByID(ctx context.Context, nodeName string, vmID int) (*proxmox.VirtualMachine, error) + func (c *APIClient) UpdateVMFirewallRules(ctx context.Context, vmID int, nodeName string, rules []*proxmox.FirewallRule) error + type HAGroup struct + Comment string + Group string + NoFailback *proxmox.IntOrBool + Nodes string + Restricted *proxmox.IntOrBool + Type string + type VMCPU struct + Flags *[]string + Type string + func (r *VMCPU) ToString() (string, error) + func (r *VMCPU) UnmarshalString(s string) error + type VMCloneRequest struct + CPU int + Description string + DiskSize string + Full uint8 + InstanceType string + Memory uint32 + Name string + NewID int + Node string + Pool string + Storage string + Tags string + type VMCloudInitIPConfig struct + GatewayIPv4 string + GatewayIPv6 string + IPv4 string + IPv6 string + func (r *VMCloudInitIPConfig) ToString() (string, error) + func (r *VMCloudInitIPConfig) UnmarshalString(s string) error + type VMHostPCI struct + DeviceID string + MDev string + Mapping string + PCIe *proxmox.IntOrBool + RomBar *proxmox.IntOrBool + RomFile string + XVGA *proxmox.IntOrBool + func (r *VMHostPCI) ToString() (string, error) + func (r *VMHostPCI) UnmarshalString(s string) error + type VMNetworkDevice struct + Bridge string + Firewall *proxmox.IntOrBool + LinkDown *proxmox.IntOrBool + MACAddress string + MTU *int + Model string + Queues *int + Tag *int + Trunks []int + Virtio string + func (r *VMNetworkDevice) ToString() (string, error) + func (r *VMNetworkDevice) UnmarshalString(s string) error + type VMQemuGuestAgent struct + Enabled proxmox.IntOrBool + FreezeFsOnBackup *proxmox.IntOrBool + FsTrimClonedDisks *proxmox.IntOrBool + Type string + func (r *VMQemuGuestAgent) ToString() (string, error) + func (r *VMQemuGuestAgent) UnmarshalString(s string) error + type VMSMBIOS struct + Base64 *proxmox.IntOrBool + Family string + Manufacturer string + Product string + SKU string + Serial string + UUID string + Version string + func (r *VMSMBIOS) ToString() (string, error) + func (r *VMSMBIOS) UnmarshalString(s string) error