Documentation
¶
Index ¶
- Constants
- Variables
- type CancelRequest
- type FinishRequest
- type ListRequest
- type MemoryStore
- func (s *MemoryStore) Finish(_ context.Context, req FinishRequest) (Record, error)
- func (s *MemoryStore) Get(_ context.Context, operationID string) (Record, error)
- func (s *MemoryStore) List(_ context.Context, req ListRequest) ([]Record, error)
- func (s *MemoryStore) MarkPluginDisabled(_ context.Context, req PluginTransitionRequest) ([]Record, error)
- func (s *MemoryStore) MarkPluginUninstalled(_ context.Context, req PluginTransitionRequest) ([]Record, error)
- func (s *MemoryStore) Register(_ context.Context, req RegisterRequest) (Record, error)
- func (s *MemoryStore) RequestCancel(_ context.Context, req CancelRequest) (Record, error)
- type PluginTransitionRequest
- type Record
- type RegisterRequest
- type SQLiteStore
- func (s *SQLiteStore) Close() error
- func (s *SQLiteStore) Finish(ctx context.Context, req FinishRequest) (Record, error)
- func (s *SQLiteStore) Get(ctx context.Context, operationID string) (Record, error)
- func (s *SQLiteStore) List(ctx context.Context, req ListRequest) ([]Record, error)
- func (s *SQLiteStore) MarkPluginDisabled(ctx context.Context, req PluginTransitionRequest) ([]Record, error)
- func (s *SQLiteStore) MarkPluginUninstalled(ctx context.Context, req PluginTransitionRequest) ([]Record, error)
- func (s *SQLiteStore) Register(ctx context.Context, req RegisterRequest) (Record, error)
- func (s *SQLiteStore) RequestCancel(ctx context.Context, req CancelRequest) (Record, error)
- type Status
- type Store
Constants ¶
View Source
const ( DisableBehaviorCancel = "cancel" DisableBehaviorOrphan = "orphan" DisableBehaviorWait = "wait" UninstallBehaviorCancelThenBlockDelete = "cancel_then_block_delete" UninstallBehaviorForceCleanupAllowed = "force_cleanup_allowed" )
Variables ¶
View Source
var ( ErrNotFound = errors.New("operation not found") ErrInvalidOperation = errors.New("operation is invalid") ErrAlreadyExists = errors.New("operation already exists") ErrDeleteBlocked = errors.New("operation blocks data deletion") ErrNotCancelable = errors.New("operation is not cancelable") )
Functions ¶
This section is empty.
Types ¶
type CancelRequest ¶
type FinishRequest ¶
type ListRequest ¶
type ListRequest struct {
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
}
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
func NewMemoryStore ¶
func NewMemoryStore() *MemoryStore
func (*MemoryStore) Finish ¶
func (s *MemoryStore) Finish(_ context.Context, req FinishRequest) (Record, error)
func (*MemoryStore) List ¶
func (s *MemoryStore) List(_ context.Context, req ListRequest) ([]Record, error)
func (*MemoryStore) MarkPluginDisabled ¶
func (s *MemoryStore) MarkPluginDisabled(_ context.Context, req PluginTransitionRequest) ([]Record, error)
func (*MemoryStore) MarkPluginUninstalled ¶
func (s *MemoryStore) MarkPluginUninstalled(_ context.Context, req PluginTransitionRequest) ([]Record, error)
func (*MemoryStore) Register ¶
func (s *MemoryStore) Register(_ context.Context, req RegisterRequest) (Record, error)
func (*MemoryStore) RequestCancel ¶
func (s *MemoryStore) RequestCancel(_ context.Context, req CancelRequest) (Record, error)
type PluginTransitionRequest ¶
type Record ¶
type Record struct {
OperationID string `json:"operation_id"`
capability.ExecutionBinding
Status Status `json:"status"`
Cancelable bool `json:"cancelable"`
CancelAckTimeoutMS int `json:"cancel_ack_timeout_ms,omitempty"`
DisableBehavior string `json:"disable_behavior,omitempty"`
UninstallBehavior string `json:"uninstall_behavior,omitempty"`
Reason string `json:"reason,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CancelRequestedAt *time.Time `json:"cancel_requested_at,omitempty"`
OrphanedAt *time.Time `json:"orphaned_at,omitempty"`
}
type RegisterRequest ¶
type RegisterRequest struct {
OperationID string `json:"operation_id"`
ExecutionBinding capability.ExecutionBinding `json:"execution_binding"`
Cancelable *bool `json:"cancelable,omitempty"`
CancelAckTimeoutMS int `json:"cancel_ack_timeout_ms,omitempty"`
DisableBehavior string `json:"disable_behavior,omitempty"`
UninstallBehavior string `json:"uninstall_behavior,omitempty"`
Now time.Time `json:"now,omitempty"`
}
type SQLiteStore ¶
type SQLiteStore struct {
// contains filtered or unexported fields
}
func NewSQLiteStore ¶
func NewSQLiteStore(ctx context.Context, path string) (*SQLiteStore, error)
func (*SQLiteStore) Close ¶
func (s *SQLiteStore) Close() error
func (*SQLiteStore) Finish ¶
func (s *SQLiteStore) Finish(ctx context.Context, req FinishRequest) (Record, error)
func (*SQLiteStore) List ¶
func (s *SQLiteStore) List(ctx context.Context, req ListRequest) ([]Record, error)
func (*SQLiteStore) MarkPluginDisabled ¶
func (s *SQLiteStore) MarkPluginDisabled(ctx context.Context, req PluginTransitionRequest) ([]Record, error)
func (*SQLiteStore) MarkPluginUninstalled ¶
func (s *SQLiteStore) MarkPluginUninstalled(ctx context.Context, req PluginTransitionRequest) ([]Record, error)
func (*SQLiteStore) Register ¶
func (s *SQLiteStore) Register(ctx context.Context, req RegisterRequest) (Record, error)
func (*SQLiteStore) RequestCancel ¶
func (s *SQLiteStore) RequestCancel(ctx context.Context, req CancelRequest) (Record, error)
type Status ¶
type Status string
const ( StatusRunning Status = "running" StatusCancelRequested Status = "cancel_requested" StatusCanceled Status = "canceled" StatusCompleted Status = "completed" StatusFailed Status = "failed" StatusOrphanedAfterDisable Status = "orphaned_after_disable" StatusOrphanedAfterUninstall Status = "orphaned_after_uninstall" )
type Store ¶
type Store interface {
Register(ctx context.Context, req RegisterRequest) (Record, error)
List(ctx context.Context, req ListRequest) ([]Record, error)
Get(ctx context.Context, operationID string) (Record, error)
RequestCancel(ctx context.Context, req CancelRequest) (Record, error)
Finish(ctx context.Context, req FinishRequest) (Record, error)
MarkPluginDisabled(ctx context.Context, req PluginTransitionRequest) ([]Record, error)
MarkPluginUninstalled(ctx context.Context, req PluginTransitionRequest) ([]Record, error)
}
Click to show internal directories.
Click to hide internal directories.