Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ReplicationPolicies ¶
type ReplicationPolicyStatus ¶
type ReplicationPolicyStatus struct {
CreatedAt time.Time `redis:"created_at"`
IsPaused bool `redis:"paused"`
InitObjListed int64 `redis:"obj_listed"`
InitObjDone int64 `redis:"obj_done"`
InitBytesListed int64 `redis:"bytes_listed"`
InitBytesDone int64 `redis:"bytes_done"`
Events int64 `redis:"events"`
EventsDone int64 `redis:"events_done"`
AgentURL string `redis:"agent_url,omitempty"`
InitDoneAt *time.Time `redis:"init_done_at,omitempty"`
LastEmittedAt *time.Time `redis:"last_emitted_at,omitempty"`
LastProcessedAt *time.Time `redis:"last_processed_at,omitempty"`
ListingStarted bool `redis:"listing_started"`
SwitchStatus SwitchStatus `redis:"-"`
}
type ReplicationPolicyStatusExtended ¶
type ReplicationPolicyStatusExtended struct {
ReplicationPolicyStatus
User string
Bucket string
From string
To string
}
type ReplicationSwitch ¶
type ReplicationSwitch struct {
IsDone bool `redis:"IsDone"`
OldMain string `redis:"OldMain"`
OldFollowers string `redis:"OldFollowers"`
MultipartTTL time.Duration `redis:"MultipartTTL"`
StartedAt time.Time `redis:"StartedAt"`
DoneAt *time.Time `redis:"DoneAt,omitempty"`
}
func (*ReplicationSwitch) GetOldFollowers ¶
func (r *ReplicationSwitch) GetOldFollowers() map[string]tasks.Priority
func (*ReplicationSwitch) SetOldFollowers ¶ added in v0.5.2
func (r *ReplicationSwitch) SetOldFollowers(f map[string]tasks.Priority)
type Service ¶
type Service interface {
GetRoutingPolicy(ctx context.Context, user, bucket string) (string, error)
GetUserRoutingPolicy(ctx context.Context, user string) (string, error)
AddUserRoutingPolicy(ctx context.Context, user, toStorage string) error
IsReplicationSwitchInProgress(ctx context.Context, user, bucket string) (bool, error)
GetReplicationSwitch(ctx context.Context, user, bucket string) (ReplicationSwitch, error)
DoReplicationSwitch(ctx context.Context, user, bucket, newMain string) error
ReplicationSwitchDone(ctx context.Context, user, bucket string) error
GetBucketReplicationPolicies(ctx context.Context, user, bucket string) (ReplicationPolicies, error)
GetUserReplicationPolicies(ctx context.Context, user string) (ReplicationPolicies, error)
AddUserReplicationPolicy(ctx context.Context, user string, from string, to string, priority tasks.Priority) error
DeleteUserReplication(ctx context.Context, user string, from string, to string) error
AddBucketReplicationPolicy(ctx context.Context, user, bucket, from string, to string, priority tasks.Priority, agentURL *string) error
GetReplicationPolicyInfo(ctx context.Context, user, bucket, from, to string) (ReplicationPolicyStatus, error)
ListReplicationPolicyInfo(ctx context.Context) ([]ReplicationPolicyStatusExtended, error)
IsReplicationPolicyExists(ctx context.Context, user, bucket, from, to string) (bool, error)
IsReplicationPolicyPaused(ctx context.Context, user, bucket, from, to string) (bool, error)
IncReplInitObjListed(ctx context.Context, user, bucket, from, to string, bytes int64, eventTime time.Time) error
IncReplInitObjDone(ctx context.Context, user, bucket, from, to string, bytes int64, eventTime time.Time) error
ObjListStarted(ctx context.Context, user, bucket, from, to string) error
IncReplEvents(ctx context.Context, user, bucket, from, to string, eventTime time.Time) error
IncReplEventsDone(ctx context.Context, user, bucket, from, to string, eventTime time.Time) error
PauseReplication(ctx context.Context, user, bucket, from string, to string) error
ResumeReplication(ctx context.Context, user, bucket, from string, to string) error
DeleteReplication(ctx context.Context, user, bucket, from string, to string) error
DeleteBucketReplicationsByUser(ctx context.Context, user, from string, to string) ([]string, error)
// contains filtered or unexported methods
}
func NewService ¶
func NewService(client redis.UniversalClient) Service
type SwitchStatus ¶ added in v0.5.2
type SwitchStatus int
const ( NotStarted SwitchStatus = iota InProgress Done )
Click to show internal directories.
Click to hide internal directories.