github.com/vmware/govmomi@v0.51.0/cli/vm/check/compat.go (about) 1 // © Broadcom. All Rights Reserved. 2 // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3 // SPDX-License-Identifier: Apache-2.0 4 5 package check 6 7 import ( 8 "context" 9 "flag" 10 11 "github.com/vmware/govmomi/cli" 12 ) 13 14 type compat struct { 15 checkFlag 16 } 17 18 func init() { 19 cli.Register("vm.check.compat", &compat{}, true) 20 } 21 22 func (cmd *compat) Description() string { 23 return `Check if VM can be placed on the given HOST in the given resource POOL. 24 25 Examples: 26 govc vm.check.compat -vm my-vm -host $host -pool $pool` 27 } 28 29 func (cmd *compat) Run(ctx context.Context, f *flag.FlagSet) error { 30 vm, err := cmd.VirtualMachine() 31 if err != nil { 32 return err 33 } 34 35 if vm == nil { 36 return flag.ErrHelp 37 } 38 39 checker, err := cmd.compatChecker() 40 if err != nil { 41 return err 42 } 43 44 res, err := checker.CheckCompatibility(ctx, vm.Reference(), cmd.Host, cmd.Pool, cmd.testTypes...) 45 if err != nil { 46 return err 47 } 48 49 return cmd.result(ctx, res) 50 }