diff --git a/internal/core/target_index.go b/internal/core/target_index.go index b8a656b14..9eb23499f 100644 --- a/internal/core/target_index.go +++ b/internal/core/target_index.go @@ -35,6 +35,7 @@ func (t *TargetIndex) Delete(uuid string) (err error) { return target.(*Target).Destroy() } +// Get target from entry by uuid or name func (t *TargetIndex) Get(uuid string) (entry core.Target, err error) { // Start with finding the target result, err := t.client.FindTarget(t.ctx, &vagrant_server.FindTargetRequest{ @@ -43,7 +44,15 @@ func (t *TargetIndex) Get(uuid string) (entry core.Target, err error) { }, }) if err != nil { - return + // Search name if not found by uuid + result, err = t.client.FindTarget(t.ctx, &vagrant_server.FindTargetRequest{ + Target: &vagrant_server.Target{ + Name: uuid, + }, + }) + if err != nil { + return + } } return t.loadTarget(&vagrant_plugin_sdk.Ref_Target{ ResourceId: result.Target.ResourceId,