package cmdVM

import (
    u "nexus-client/utils"
)

type List struct {
    Name string
}

func (cmd *List)GetName() string {
    return cmd.Name
}

func (cmd *List)GetDesc() []string {
    return []string{
        "Lists VMs.",
        "Requires VM_LIST VM access capability or VM_LIST_ANY user capability."}
}

func (cmd *List)PrintUsage() {
    for _, desc := range cmd.GetDesc() {
        u.PrintlnErr(desc)
    }
    u.PrintlnErr("―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――")
    u.PrintlnErr("USAGE: ",cmd.GetName(), " [-l] [ID ...] [regex ...]")
    u.PrintlnErr("―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――")
    u.PrintlnErr("Use \"-l\" to specify detailed VMs output.")
    printRegexUsageDetails()
}

func (cmd *List)Run(args []string) int {
    return printFilteredVMs(cmd, args, "/vms")
}