-
Notifications
You must be signed in to change notification settings - Fork 9.5k
/
doc.go
21 lines (21 loc) · 1.19 KB
/
doc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Package statemgr defines the interfaces and some supporting functionality
// for "state managers", which are components responsible for writing state
// to some persistent storage and then later retrieving it.
//
// State managers will usually (but not necessarily) use the state file formats
// implemented in the sibling directory "statefile" to serialize the persistent
// parts of state for storage.
//
// State managers are responsible for ensuring that stored state can be updated
// safely across multiple, possibly-concurrent Terraform runs (with reasonable
// constraints and limitations). The rest of Terraform considers state to be
// a mutable data structure, with state managers preserving that illusion
// by creating snapshots of the state and updating them over time.
//
// From the perspective of callers of the general state manager API, a state
// manager is able to return the latest snapshot and to replace that snapshot
// with a new one. Some state managers may also preserve historical snapshots
// using facilities offered by their storage backend, but this is always an
// implementation detail: the historical versions are not visible to a user
// of these interfaces.
package statemgr