github.com/rstandt/terraform@v0.12.32-0.20230710220336-b1063613405c/states/statemgr/statemgr.go (about) 1 package statemgr 2 3 // Storage is the union of Transient and Persistent, for state managers that 4 // have both transient and persistent storage. 5 // 6 // Types implementing this interface coordinate between their Transient 7 // and Persistent implementations so that the persistent operations read 8 // or write the transient store. 9 type Storage interface { 10 Transient 11 Persistent 12 } 13 14 // Full is the union of all of the more-specific state interfaces. 15 // 16 // This interface may grow over time, so state implementations aiming to 17 // implement it may need to be modified for future changes. To ensure that 18 // this need can be detected, always include a statement nearby the declaration 19 // of the implementing type that will fail at compile time if the interface 20 // isn't satisfied, such as: 21 // 22 // var _ statemgr.Full = (*ImplementingType)(nil) 23 type Full interface { 24 Storage 25 Locker 26 }