Documentation ¶
Index ¶
- Constants
- func CheckRequestOptions(options interface{}) error
- func DeleteWithOptions(method func(req *DeleteRequest) error, req *DeleteRequest) error
- func SetWithOptions(method func(req *SetRequest) error, req *SetRequest) error
- type DeleteRequest
- type DeleteStateOption
- type GetRequest
- type GetResponse
- type GetStateOption
- type KeyInt
- type Metadata
- type OperationType
- type SetRequest
- type SetStateOption
- type Store
- type TransactionalStateOperation
- type TransactionalStateRequest
- type TransactionalStore
Constants ¶
const ( FirstWrite = "first-write" LastWrite = "last-write" Strong = "strong" Eventual = "eventual" )
Variables ¶
This section is empty.
Functions ¶
func CheckRequestOptions ¶ added in v0.3.0
func CheckRequestOptions(options interface{}) error
CheckRequestOptions checks if request options use supported keywords
func DeleteWithOptions ¶ added in v0.3.0
func DeleteWithOptions(method func(req *DeleteRequest) error, req *DeleteRequest) error
DeleteWithOptions handles DeleteRequest with options
func SetWithOptions ¶ added in v0.3.0
func SetWithOptions(method func(req *SetRequest) error, req *SetRequest) error
SetWithOptions handles SetRequest with request options
Types ¶
type DeleteRequest ¶
type DeleteRequest struct { Key string `json:"key"` ETag string `json:"etag,omitempty"` Metadata map[string]string `json:"metadata"` Options DeleteStateOption `json:"options,omitempty"` }
DeleteRequest is the object describing a delete state request
func (DeleteRequest) GetKey ¶ added in v0.2.0
func (r DeleteRequest) GetKey() string
Key gets the Key on a DeleteRequest
func (DeleteRequest) GetMetadata ¶ added in v0.2.0
func (r DeleteRequest) GetMetadata() map[string]string
Metadata gets the Metadata on a DeleteRequest
type DeleteStateOption ¶
type DeleteStateOption struct { Concurrency string `json:"concurrency,omitempty"` // "concurrency" Consistency string `json:"consistency"` // "eventual, strong" }
DeleteStateOption controls how a state store reacts to a delete request
type GetRequest ¶
type GetRequest struct { Key string `json:"key"` Metadata map[string]string `json:"metadata"` Options GetStateOption `json:"options,omitempty"` }
GetRequest is the object describing a state fetch request
type GetResponse ¶
type GetResponse struct { Data []byte `json:"data"` ETag string `json:"etag,omitempty"` Metadata map[string]string `json:"metadata"` }
GetResponse is the request object for getting state
type GetStateOption ¶
type GetStateOption struct {
Consistency string `json:"consistency"` // "eventual, strong"
}
GetStateOption controls how a state store reacts to a get request
type KeyInt ¶ added in v0.2.0
KeyInt is an interface that allows gets of the Key and Metadata inside requests
type OperationType ¶
type OperationType string
OperationType describes a CRUD operation performed against a state store
const Delete OperationType = "delete"
Delete is a delete operation
const Upsert OperationType = "upsert"
Upsert is an update or create operation
type SetRequest ¶
type SetRequest struct { Key string `json:"key"` Value interface{} `json:"value"` ETag string `json:"etag,omitempty"` Metadata map[string]string `json:"metadata,omitempty"` Options SetStateOption `json:"options,omitempty"` }
SetRequest is the object describing an upsert request
func (SetRequest) GetKey ¶ added in v0.2.0
func (r SetRequest) GetKey() string
GetKey gets the Key on a SetRequest
func (SetRequest) GetMetadata ¶ added in v0.2.0
func (r SetRequest) GetMetadata() map[string]string
GetMetadata gets the Key on a SetRequest
type SetStateOption ¶
type SetStateOption struct { Concurrency string `json:"concurrency,omitempty"` // first-write, last-write Consistency string `json:"consistency"` // "eventual, strong" }
SetStateOption controls how a state store reacts to a set request
type Store ¶
type Store interface { Init(metadata Metadata) error Delete(req *DeleteRequest) error BulkDelete(req []DeleteRequest) error Get(req *GetRequest) (*GetResponse, error) Set(req *SetRequest) error BulkSet(req []SetRequest) error }
Store is an interface to perform operations on store
type TransactionalStateOperation ¶ added in v0.3.0
type TransactionalStateOperation struct { Operation OperationType `json:"operation"` Request interface{} `json:"request"` }
TransactionalStateOperation describes operation type, key, and value for transactional operation.
type TransactionalStateRequest ¶ added in v0.3.0
type TransactionalStateRequest struct { Operations []TransactionalStateOperation `json:"operations"` Metadata map[string]string `json:"metadata,omitempty"` }
TransactionalStateRequest describes a transactional operation against a state store that comprises multiple types of operations The Request field is either a DeleteRequest or SetRequest
type TransactionalStore ¶
type TransactionalStore interface { Init(metadata Metadata) error Multi(request *TransactionalStateRequest) error }
TransactionalStore is an interface for initialization and support multiple transactional requests
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
aws
|
|
azure
|
|
gcp
|
|
hashicorp
|
|
Package zookeeper is a generated GoMock package.
|
Package zookeeper is a generated GoMock package. |