Implement statebag
This commit is contained in:
parent
f5fe88de15
commit
631a630e68
33
internal/core/state_bag.go
Normal file
33
internal/core/state_bag.go
Normal file
@ -0,0 +1,33 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/vagrant-plugin-sdk/core"
|
||||
)
|
||||
|
||||
// The StateBag keeps the state of Vagrant during execution
|
||||
type StateBag struct {
|
||||
state map[string]interface{}
|
||||
}
|
||||
|
||||
// Get implements core.StateBag
|
||||
func (s *StateBag) Get(key string) interface{} {
|
||||
return s.state[key]
|
||||
}
|
||||
|
||||
// GetOk implements core.StateBag
|
||||
func (s *StateBag) GetOk(key string) (val interface{}, ok bool) {
|
||||
val, ok = s.state[key]
|
||||
return
|
||||
}
|
||||
|
||||
// Put implements core.StateBag
|
||||
func (s *StateBag) Put(key string, val interface{}) {
|
||||
s.state[key] = val
|
||||
}
|
||||
|
||||
// Remove implements core.StateBag
|
||||
func (s *StateBag) Remove(key string) {
|
||||
delete(s.state, key)
|
||||
}
|
||||
|
||||
var _ core.StateBag = (*StateBag)(nil)
|
||||
Loading…
x
Reference in New Issue
Block a user