func (cmd *create) Run(f *flag.FlagSet) error { ctx := context.TODO() var parent *object.Folder if f.NArg() != 1 { return flag.ErrHelp } name := f.Arg(0) if cmd.parent == "" { dc, err := cmd.Datacenter() if err != nil { return err } folders, err := dc.Folders(ctx) if err != nil { return err } parent = folders.NetworkFolder } else { finder, err := cmd.Finder() if err != nil { return err } parent, err = finder.Folder(ctx, cmd.parent) if err != nil { return err } } cmd.configSpec.Name = name task, err := parent.CreateDVS(ctx, cmd.DVSCreateSpec) if err != nil { return err } logger := cmd.ProgressLogger(fmt.Sprintf("adding %s to folder %s... ", name, parent.InventoryPath)) defer logger.Wait() _, err = task.WaitForResult(ctx, logger) return err }