opentofu/internal/states/statemgr/statemgr.go
Martin Atkins f40800b3a4 Move states/ to internal/states/
This is part of a general effort to move all of Terraform's non-library
package surface under internal in order to reinforce that these are for
internal use within Terraform only.

If you were previously importing packages under this prefix into an
external codebase, you could pin to an earlier release tag as an interim
solution until you've make a plan to achieve the same functionality some
other way.
2021-05-17 14:09:07 -07:00

27 lines
875 B
Go

package statemgr
// Storage is the union of Transient and Persistent, for state managers that
// have both transient and persistent storage.
//
// Types implementing this interface coordinate between their Transient
// and Persistent implementations so that the persistent operations read
// or write the transient store.
type Storage interface {
Transient
Persistent
}
// Full is the union of all of the more-specific state interfaces.
//
// This interface may grow over time, so state implementations aiming to
// implement it may need to be modified for future changes. To ensure that
// this need can be detected, always include a statement nearby the declaration
// of the implementing type that will fail at compile time if the interface
// isn't satisfied, such as:
//
// var _ statemgr.Full = (*ImplementingType)(nil)
type Full interface {
Storage
Locker
}