MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / newGuestsCreateVMCmd

Function newGuestsCreateVMCmd

internal/cli/guests.go:792–833  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

790}
791
792func newGuestsCreateVMCmd() *cobra.Command {
793 cmd := &cobra.Command{
794 Use: "vm",
795 Short: "Create a new QEMU VM",
796 Long: "Create a new QEMU VM on a Proxmox node.",
797 Example: ` # Minimal VM with a new disk
798 pvetui guests create vm --node pve --name myvm --disk-storage local-zfs --disk-size 32
799
800 # Import an existing volume
801 pvetui guests create vm --node pve --name myvm --disk-storage local-zfs --import-from local:import/disk.img
802
803 # With ISO, custom resources, start after create
804 pvetui guests create vm --node pve --name myvm --disk-storage local-zfs --disk-size 32 \
805 --iso local:iso/debian-12.iso --memory 4096 --cores 4 --start
806
807 # Return UPID immediately without waiting
808 pvetui guests create vm --node pve --name myvm --disk-storage local-zfs --disk-size 32 --no-wait`,
809 RunE: runGuestsCreateVM,
810 }
811
812 cmd.Flags().String("node", "", "Target node name (required)")
813 cmd.Flags().String("name", "", "VM name (required)")
814 cmd.Flags().Int("vmid", 0, "VM ID (auto-assigned if omitted)")
815 cmd.Flags().Int("memory", 2048, "Memory in MB")
816 cmd.Flags().Int("cores", 2, "Number of CPU cores")
817 cmd.Flags().Int("sockets", 1, "Number of CPU sockets")
818 cmd.Flags().String("disk-storage", "", "Storage name for the primary disk (required)")
819 cmd.Flags().Int("disk-size", 0, "Primary disk size in GB (required unless --import-from)")
820 cmd.Flags().String("import-from", "", "Volume to import as primary disk (replaces --disk-size)")
821 cmd.Flags().String("iso", "", "ISO volume for CD-ROM (e.g. local:iso/debian-12.iso)")
822 cmd.Flags().String("bridge", "vmbr0", "Network bridge")
823 cmd.Flags().Bool("start", false, "Start VM after creation")
824 addNoWaitFlag(cmd)
825
826 _ = cmd.MarkFlagRequired("node")
827 _ = cmd.MarkFlagRequired("name")
828 _ = cmd.MarkFlagRequired("disk-storage")
829
830 cmd.ValidArgsFunction = cobra.NoFileCompletions
831
832 return cmd
833}
834
835func runGuestsCreateVM(cmd *cobra.Command, _ []string) error {
836 session, err := initCLISession(cmd)

Callers 1

newGuestsCreateCmdFunction · 0.85

Calls 2

addNoWaitFlagFunction · 0.85
StringMethod · 0.45

Tested by

no test coverage detected