From 373fc9c7b4f0e8e92c09a96b8fd40f5639a81bea Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Mon, 18 Apr 2022 12:11:03 -0700 Subject: [PATCH] Helper for adding individual seed to plugin --- internal/core/core.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/internal/core/core.go b/internal/core/core.go index 1cf697717..5606a0805 100644 --- a/internal/core/core.go +++ b/internal/core/core.go @@ -1,5 +1,33 @@ package core +import ( + "fmt" + + "github.com/hashicorp/vagrant-plugin-sdk/core" +) + type closer interface { Closer(func() error) } + +func seedPlugin( + plugin interface{}, + seed interface{}, +) (err error) { + s, ok := plugin.(core.Seeder) + if !ok { + return fmt.Errorf("component does not implement core.Seeder") + } + seeds, err := s.Seeds() + if err != nil { + return + } + + seeds.AddTyped(seed) + + if err = s.Seed(seeds); err != nil { + return + } + + return +}