Documentation
¶
Index ¶
- Variables
- func HashShape(shape Shape) (string, error)
- type BindRetainedRequest
- type Binding
- type BindingRevisionConflictError
- type BindingState
- type Catalog
- type CleanupResult
- type CommitEnableRequest
- type CommitUninstallRequest
- type CommitUninstallResult
- type Dataset
- type DeleteExportRequest
- type DeleteRetainedRequest
- type Export
- type ExportRequest
- type FileStore
- func (s *FileStore) BindRetained(ctx context.Context, req BindRetainedRequest) (Dataset, error)
- func (s *FileStore) CleanupExpired(ctx context.Context, now time.Time) (CleanupResult, error)
- func (s *FileStore) Close() error
- func (s *FileStore) CommitEnable(ctx context.Context, req CommitEnableRequest) (Dataset, error)
- func (s *FileStore) CommitUninstall(ctx context.Context, req CommitUninstallRequest) (CommitUninstallResult, error)
- func (s *FileStore) DeleteExport(ctx context.Context, req DeleteExportRequest) error
- func (s *FileStore) DeleteFile(ctx context.Context, req storage.FileDeleteRequest) error
- func (s *FileStore) DeleteKV(ctx context.Context, req storage.KVDeleteRequest) error
- func (s *FileStore) DeleteRetained(ctx context.Context, req DeleteRetainedRequest) error
- func (s *FileStore) ExecSQLite(ctx context.Context, req storage.SQLiteExecRequest) (result storage.SQLiteExecResult, resultErr error)
- func (s *FileStore) Export(ctx context.Context, req ExportRequest) (Export, error)
- func (s *FileStore) GetKV(ctx context.Context, req storage.KVGetRequest) (result storage.KVGetResult, resultErr error)
- func (s *FileStore) GetSettings(ctx context.Context, pluginInstanceID string, kind sessionctx.ScopeKind) (Settings, error)
- func (s *FileStore) Import(ctx context.Context, req ImportRequest) (Dataset, error)
- func (s *FileStore) ListFiles(ctx context.Context, req storage.FileListRequest) (result storage.FileListResult, resultErr error)
- func (s *FileStore) ListKV(ctx context.Context, req storage.KVListRequest) (result storage.KVListResult, resultErr error)
- func (s *FileStore) ListNamespaces(ctx context.Context, pluginInstanceID string) ([]storage.NamespaceRecord, error)
- func (s *FileStore) ListRetained(ctx context.Context, filter RetainedFilter) ([]Binding, error)
- func (s *FileStore) PatchSettings(ctx context.Context, req PatchSettingsRequest) (Settings, error)
- func (s *FileStore) PutKV(ctx context.Context, req storage.KVPutRequest) (result storage.KVPutResult, resultErr error)
- func (s *FileStore) QuerySQLite(ctx context.Context, req storage.SQLiteQueryRequest) (result storage.SQLiteQueryResult, resultErr error)
- func (s *FileStore) ReadFile(ctx context.Context, req storage.FileReadRequest) (result storage.FileReadResult, resultErr error)
- func (s *FileStore) Usage(ctx context.Context, pluginInstanceID string, storeID string) (result storage.Usage, resultErr error)
- func (s *FileStore) WriteFile(ctx context.Context, req storage.FileWriteRequest) (result storage.FileWriteResult, resultErr error)
- type ImportRequest
- type MaintenanceBinding
- type MaintenanceObject
- type Namespace
- type NamespaceKind
- type Object
- type PatchSettingsRequest
- type RetainedFilter
- type Settings
- type Shape
- type Store
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidArgument = errors.New("invalid plugin data argument") ErrBindingNotFound = errors.New("plugin data binding not found") ErrBindingConflict = errors.New("plugin data binding state conflicts with the operation") ErrBindingRevisionConflict = errors.New("plugin data binding revision changed") ErrShapeMismatch = errors.New("plugin data shape does not match") ErrNotActive = errors.New("plugin data binding is not active") ErrNotRetained = errors.New("plugin data binding is not retained") ErrDatasetCorrupt = errors.New("plugin data dataset is corrupt") ErrExportNotFound = errors.New("plugin data export not found") ErrUnknownSetting = errors.New("plugin data setting is not declared non-secret") ErrSettingScopeMismatch = errors.New("plugin data setting scope does not match the request") ErrStorageScopeMismatch = errors.New("plugin data storage scope does not match the request") ErrUnsafeFilesystem = errors.New("plugin data filesystem entry is unsafe") ErrRevisionConflict = errors.New("plugin data revision conflict") )
Functions ¶
Types ¶
type BindRetainedRequest ¶
type Binding ¶
type Binding struct {
PluginInstanceID string `json:"plugin_instance_id"`
GenerationID string `json:"generation_id"`
State BindingState `json:"state"`
Revision uint64 `json:"revision"`
ShapeHash string `json:"shape_hash"`
RetainedAt *time.Time `json:"retained_at,omitempty"`
ExpiresAt *time.Time `json:"expires_at,omitempty"`
}
type BindingRevisionConflictError ¶
func (*BindingRevisionConflictError) Error ¶
func (e *BindingRevisionConflictError) Error() string
func (*BindingRevisionConflictError) Unwrap ¶
func (e *BindingRevisionConflictError) Unwrap() error
type BindingState ¶
type BindingState string
const ( BindingActive BindingState = "active" BindingRetained BindingState = "retained" )
type Catalog ¶
type Catalog interface {
GetBinding(ctx context.Context, pluginInstanceID string) (Binding, bool, error)
ListBindings(ctx context.Context, cursor string, limit int) ([]Binding, string, error)
ListAllBindingsForMaintenance(ctx context.Context, cursor string, limit int) ([]MaintenanceBinding, string, error)
CommitEnable(ctx context.Context, expectedManagementRevision uint64, expected *Binding, next Binding, shape Shape, now time.Time) error
SwapImport(ctx context.Context, expectedManagementRevision uint64, expected *Binding, next Binding, shape Shape, now time.Time) error
BindRetained(ctx context.Context, expected Binding, targetPluginInstanceID string, targetExpectedManagementRevision uint64, targetShape Shape, now time.Time) (Binding, error)
DeleteRetained(ctx context.Context, expected Binding) error
CleanupExpired(ctx context.Context, now time.Time, expected []Binding) ([]Binding, error)
CommitUninstall(ctx context.Context, req CommitUninstallRequest) (CommitUninstallResult, error)
GetObject(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, objectID string) (Object, bool, error)
ListObjects(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, cursor string, limit int) ([]Object, string, error)
ListAllObjectsForMaintenance(ctx context.Context, cursor string, limit int) ([]MaintenanceObject, string, error)
CreateObject(ctx context.Context, scope sessionctx.ScopeKind, object Object) error
DeleteObject(ctx context.Context, scope sessionctx.ScopeKind, pluginInstanceID, objectID string) error
}
type CleanupResult ¶
type CleanupResult struct {
Deleted []Binding
}
type CommitEnableRequest ¶
type CommitUninstallRequest ¶
type CommitUninstallResult ¶
type DeleteExportRequest ¶
type DeleteRetainedRequest ¶
type ExportRequest ¶
type ExportRequest struct {
PluginInstanceID string
}
type FileStore ¶
type FileStore struct {
// contains filtered or unexported fields
}
func (*FileStore) BindRetained ¶
func (*FileStore) CleanupExpired ¶
func (*FileStore) CommitEnable ¶
func (*FileStore) CommitUninstall ¶
func (s *FileStore) CommitUninstall(ctx context.Context, req CommitUninstallRequest) (CommitUninstallResult, error)
func (*FileStore) DeleteExport ¶
func (s *FileStore) DeleteExport(ctx context.Context, req DeleteExportRequest) error
func (*FileStore) DeleteFile ¶
func (*FileStore) DeleteRetained ¶
func (s *FileStore) DeleteRetained(ctx context.Context, req DeleteRetainedRequest) error
func (*FileStore) ExecSQLite ¶
func (s *FileStore) ExecSQLite(ctx context.Context, req storage.SQLiteExecRequest) (result storage.SQLiteExecResult, resultErr error)
func (*FileStore) GetKV ¶
func (s *FileStore) GetKV(ctx context.Context, req storage.KVGetRequest) (result storage.KVGetResult, resultErr error)
func (*FileStore) GetSettings ¶
func (*FileStore) ListFiles ¶
func (s *FileStore) ListFiles(ctx context.Context, req storage.FileListRequest) (result storage.FileListResult, resultErr error)
func (*FileStore) ListKV ¶
func (s *FileStore) ListKV(ctx context.Context, req storage.KVListRequest) (result storage.KVListResult, resultErr error)
func (*FileStore) ListNamespaces ¶
func (*FileStore) ListRetained ¶
func (*FileStore) PatchSettings ¶
func (*FileStore) PutKV ¶
func (s *FileStore) PutKV(ctx context.Context, req storage.KVPutRequest) (result storage.KVPutResult, resultErr error)
func (*FileStore) QuerySQLite ¶
func (s *FileStore) QuerySQLite(ctx context.Context, req storage.SQLiteQueryRequest) (result storage.SQLiteQueryResult, resultErr error)
func (*FileStore) ReadFile ¶
func (s *FileStore) ReadFile(ctx context.Context, req storage.FileReadRequest) (result storage.FileReadResult, resultErr error)
func (*FileStore) WriteFile ¶
func (s *FileStore) WriteFile(ctx context.Context, req storage.FileWriteRequest) (result storage.FileWriteResult, resultErr error)
type ImportRequest ¶
type MaintenanceBinding ¶
type MaintenanceBinding struct {
Scope sessionctx.ResourceScope
Binding Binding
}
type MaintenanceObject ¶
type MaintenanceObject struct {
Scope sessionctx.ResourceScope
Object Object
}
type NamespaceKind ¶
type NamespaceKind string
const ( NamespaceFiles NamespaceKind = "files" NamespaceKV NamespaceKind = "kv" NamespaceSQLite NamespaceKind = "sqlite" )
type PatchSettingsRequest ¶
type PatchSettingsRequest struct {
PluginInstanceID string
Scope sessionctx.ScopeKind
ExpectedValuesRevision uint64
Set map[string]json.RawMessage
Remove []string
}
type RetainedFilter ¶
type RetainedFilter struct {
PluginInstanceID string
}
type Settings ¶
type Settings struct {
Scope sessionctx.ScopeKind `json:"scope"`
Revision uint64 `json:"revision"`
Values map[string]json.RawMessage `json:"values"`
}
type Shape ¶
type Shape struct {
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
Settings settingsdomain.Schema `json:"settings"`
Namespaces []Namespace `json:"namespaces"`
}
type Store ¶
type Store interface {
CommitEnable(ctx context.Context, req CommitEnableRequest) (Dataset, error)
Export(ctx context.Context, req ExportRequest) (Export, error)
DeleteExport(ctx context.Context, req DeleteExportRequest) error
Import(ctx context.Context, req ImportRequest) (Dataset, error)
BindRetained(ctx context.Context, req BindRetainedRequest) (Dataset, error)
DeleteRetained(ctx context.Context, req DeleteRetainedRequest) error
CommitUninstall(ctx context.Context, req CommitUninstallRequest) (CommitUninstallResult, error)
ListRetained(ctx context.Context, filter RetainedFilter) ([]Binding, error)
CleanupExpired(ctx context.Context, now time.Time) (CleanupResult, error)
GetSettings(ctx context.Context, pluginInstanceID string, scope sessionctx.ScopeKind) (Settings, error)
PatchSettings(ctx context.Context, req PatchSettingsRequest) (Settings, error)
}
Click to show internal directories.
Click to hide internal directories.