From 7c28aa3ce8e4886bc0df95e9e05f6f604c7e24f1 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Fri, 8 Jul 2022 09:06:38 -0700 Subject: [PATCH] Add Exists() helper to target --- internal/core/target.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/internal/core/target.go b/internal/core/target.go index 1737e1819..d14a9e86b 100644 --- a/internal/core/target.go +++ b/internal/core/target.go @@ -326,6 +326,15 @@ func (t *Target) DataDir() (*datadir.Target, error) { return t.dir, nil } +// Returns if the target exists based on state +func (t *Target) Exists() bool { + s, _ := t.State() + if s == core.NOT_CREATED || s == core.UNKNOWN { + return false + } + return true +} + func (t *Target) State() (state core.State, err error) { switch t.target.State { case vagrant_server.Operation_UNKNOWN: @@ -440,12 +449,11 @@ func (t *Target) Save() (err error) { func (t *Target) Destroy() (err error) { // Run all the cleanup tasks on the target - t.logger.Trace("destroying target") - t.Close() - t.m.Lock() defer t.m.Unlock() + t.logger.Trace("destroying target") + // Delete the target from the database _, err = t.Client().DeleteTarget(t.ctx, &vagrant_server.DeleteTargetRequest{ Target: t.Ref().(*vagrant_plugin_sdk.Ref_Target),