Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SyncArgs ¶
type SyncArgs struct {
Plan *planning.Plan
State *planning.ExecutionState
}
RPC Client/Server wrappers
type SyncResult ¶
type SyncResult struct {
StatusUpdates map[string]planning.TaskStatus `json:"status_updates"`
LinkUpdates map[string]planning.ExternalRef `json:"link_updates"`
Errors []string `json:"errors"`
}
SyncResult captures the outcome of a sync operation
type Syncer ¶
type Syncer interface {
// Init ensures the plugin can connect (auth check)
Init(config map[string]string) error
// Sync performs the bi-directional synchronization
Sync(plan *planning.Plan, state *planning.ExecutionState) (*SyncResult, error)
}
Syncer is the interface that plugins must implement.
type SyncerPlugin ¶
type SyncerPlugin struct {
Impl Syncer
}
SyncerPlugin is the implementation of plugin.Plugin so we can serve/consume this.
type SyncerRPCClient ¶
func (*SyncerRPCClient) Sync ¶
func (g *SyncerRPCClient) Sync(plan *planning.Plan, state *planning.ExecutionState) (*SyncResult, error)
type SyncerRPCServer ¶
type SyncerRPCServer struct{ Impl Syncer }
func (*SyncerRPCServer) Init ¶
func (s *SyncerRPCServer) Init(config map[string]string, resp *interface{}) error
func (*SyncerRPCServer) Sync ¶
func (s *SyncerRPCServer) Sync(args *SyncArgs, resp *SyncResult) error
Click to show internal directories.
Click to hide internal directories.