Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrSyncNotComplete = fmt.Errorf("sync exited without finishing")
)
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct { Op ActionOp `json:"operation"` PageToken string `json:"page_token"` ResourceTypeID string `json:"resource_type_id"` ResourceID string `json:"resource_id"` }
Action stores the current operation, page token, and optional fields for which resource is being worked with.
type ActionOp ¶
type ActionOp uint8
ActionOp represents a sync operation.
func (*ActionOp) MarshalJSON ¶
MarshalJSON marshals the ActionOp insto a json string.
func (ActionOp) String ¶
String() returns the string representation for an ActionOp. This is used for marshalling the op.
func (*ActionOp) UnmarshalJSON ¶
UnmarshalJSON unmarshal's the input byte slice and updates this action op.
type State ¶
type State interface { PushAction(ctx context.Context, action Action) FinishAction(ctx context.Context) NextPage(ctx context.Context, pageToken string) error ResourceTypeID(ctx context.Context) string ResourceID(ctx context.Context) string PageToken(ctx context.Context) string Current() *Action Marshal() (string, error) Unmarshal(input string) error }
type SyncOpt ¶
type SyncOpt func(s *syncer)
func WithRunDuration ¶
WithRunDuration sets a `time.Duration` for `NewSyncer` Options. `d` represents a duration. The elapsed time between two instants as an int64 nanosecond count.
func WithTransitionHandler ¶
WithTransitionHandler sets a `transitionHandler` for `NewSyncer` Options.
Click to show internal directories.
Click to hide internal directories.