// vSphereRemoveHost disconnects an ESXi host from the // vCenter server and then removes it. func vSphereRemoveHost(ctx context.Context, obj *object.HostSystem) error { disconnectTask, err := obj.Disconnect(ctx) if err != nil { return err } if err := disconnectTask.Wait(ctx); err != nil { return err } destroyTask, err := obj.Destroy(ctx) if err != nil { return err } return destroyTask.Wait(ctx) }