Versions in this module Expand all Collapse all v1 v1.0.1 Aug 8, 2022 v1.0.0 Aug 4, 2022 Changes in this version + var EventTargetAcquireErr = event.Name("TargetAcquireErr") + var EventTargetAcquired = event.Name("TargetAcquired") + var EventTargetErr = event.Name("TargetErr") + var EventTargetIn = event.Name("TargetIn") + var EventTargetInErr = event.Name("TargetInErr") + var EventTargetOut = event.Name("TargetOut") + var EventTargetReleased = event.Name("TargetReleased") + func MarshallErrPayload(err string) (json.RawMessage, error) + func SetLocker(newLocker Locker) + type ErrPayload struct + Error string + func UnmarshalErrPayload(payload json.RawMessage) (*ErrPayload, error) + type Locker interface + Close func() error + Lock func(ctx xcontext.Context, jobID types.JobID, duration time.Duration, ...) error + RefreshLocks func(ctx xcontext.Context, jobID types.JobID, duration time.Duration, ...) error + TryLock func(ctx xcontext.Context, jobID types.JobID, duration time.Duration, ...) ([]string, error) + Unlock func(ctx xcontext.Context, jobID types.JobID, targets []*Target) error + func GetLocker() Locker + type LockerFactory func(time.Duration, time.Duration) Locker + type Target struct + FQDN string + ID string + PrimaryIPv4 net.IP + PrimaryIPv6 net.IP + TargetManagerState json.RawMessage + func FilterTargets(targetIDs []string, targets []*Target) ([]*Target, error) + func (t *Target) String() string + type TargetManager interface + Acquire func(ctx xcontext.Context, jobID types.JobID, ...) ([]*Target, error) + Release func(ctx xcontext.Context, jobID types.JobID, targets []*Target, ...) error + ValidateAcquireParameters func([]byte) (interface{}, error) + ValidateReleaseParameters func([]byte) (interface{}, error) + type TargetManagerBundle struct + AcquireParameters interface{} + ReleaseParameters interface{} + TargetManager TargetManager + type TargetManagerFactory func() TargetManager + type TargetManagerLoader func() (string, TargetManagerFactory)