Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var BuiltinClients = map[string]Factory{
"atlas": atlasFactory,
"consul": consulFactory,
"http": httpFactory,
"s3": s3Factory,
"_local": fileFactory,
}
BuiltinClients is the list of built-in clients that can be used with NewClient.
Functions ¶
This section is empty.
Types ¶
type AtlasClient ¶
type AtlasClient struct { Server string ServerURL *url.URL User string Name string AccessToken string }
AtlasClient implements the Client interface for an Atlas compatible server.
func (*AtlasClient) Delete ¶
func (c *AtlasClient) Delete() error
func (*AtlasClient) Get ¶
func (c *AtlasClient) Get() (*Payload, error)
func (*AtlasClient) Put ¶
func (c *AtlasClient) Put(state []byte) error
type Client ¶
Client is the interface that must be implemented for a remote state driver. It supports dumb put/get/delete, and the higher level structs handle persisting the state properly here.
type ConsulClient ¶
ConsulClient is a remote client that stores data in Consul.
func (*ConsulClient) Delete ¶
func (c *ConsulClient) Delete() error
func (*ConsulClient) Get ¶
func (c *ConsulClient) Get() (*Payload, error)
func (*ConsulClient) Put ¶
func (c *ConsulClient) Put(data []byte) error
type FileClient ¶
type FileClient struct {
Path string
}
FileClient is a remote client that stores data locally on disk. This is only used for development reasons to test remote state... locally.
func (*FileClient) Delete ¶
func (c *FileClient) Delete() error
func (*FileClient) Get ¶
func (c *FileClient) Get() (*Payload, error)
func (*FileClient) Put ¶
func (c *FileClient) Put(data []byte) error
type HTTPClient ¶
HTTPClient is a remote client that stores data in Consul.
func (*HTTPClient) Delete ¶
func (c *HTTPClient) Delete() error
func (*HTTPClient) Get ¶
func (c *HTTPClient) Get() (*Payload, error)
func (*HTTPClient) Put ¶
func (c *HTTPClient) Put(data []byte) error
type InmemClient ¶
InmemClient is a Client implementation that stores data in memory.
func (*InmemClient) Delete ¶
func (c *InmemClient) Delete() error
func (*InmemClient) Get ¶
func (c *InmemClient) Get() (*Payload, error)
func (*InmemClient) Put ¶
func (c *InmemClient) Put(data []byte) error
type State ¶
type State struct { Client Client // contains filtered or unexported fields }
State implements the State interfaces in the state package to handle reading and writing the remote state. This State on its own does no local caching so every persist will go to the remote storage and local writes will go to memory.