From 31e57414b412ad0c3812a4a69f063b87c8be9ccc Mon Sep 17 00:00:00 2001 From: sophia Date: Mon, 13 Dec 2021 15:17:15 -0600 Subject: [PATCH] Destroy machine + remove data dir when machine id is set to empty value --- internal/core/machine.go | 8 ++++++-- internal/core/target.go | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/core/machine.go b/internal/core/machine.go index b6c4b0fde..b4be8c21f 100644 --- a/internal/core/machine.go +++ b/internal/core/machine.go @@ -34,8 +34,12 @@ func (m *Machine) ID() (id string, err error) { // SetID implements core.Machine func (m *Machine) SetID(value string) (err error) { - m.machine.Id = value - return m.SaveMachine() + if value == "" { + return m.Destroy() + } else { + m.machine.Id = value + return m.SaveMachine() + } } func (m *Machine) Box() (b core.Box, err error) { diff --git a/internal/core/target.go b/internal/core/target.go index 339fc3543..01f125af8 100644 --- a/internal/core/target.go +++ b/internal/core/target.go @@ -3,6 +3,7 @@ package core import ( "context" "fmt" + "os" "strings" "sync" "time" @@ -218,6 +219,7 @@ func (t *Target) Destroy() (err error) { _, err = t.Client().DeleteTarget(t.ctx, &vagrant_server.DeleteTargetRequest{ Target: t.Ref().(*vagrant_plugin_sdk.Ref_Target), }) + os.RemoveAll(t.dir.DataDir().String()) return }