Documentation ¶
Index ¶
- type And
- type Config
- type DeleteMarkerReplication
- type DeleteReplication
- type Destination
- type ExistingObjectReplication
- type Filter
- type Metrics
- type OptionType
- type Options
- type ReplicaModifications
- type ResyncTarget
- type ResyncTargetsInfo
- type Rule
- type SourceSelectionCriteria
- type Status
- type Tag
- type TargetMetrics
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type And ¶
type And struct { XMLName xml.Name `xml:"And,omitempty" json:"-"` Prefix string `xml:"Prefix,omitempty" json:"Prefix,omitempty"` Tags []Tag `xml:"Tag,omitempty" json:"Tag,omitempty"` }
And - a tag to combine a prefix and multiple tags for replication configuration rule.
type Config ¶
type Config struct { XMLName xml.Name `xml:"ReplicationConfiguration" json:"-"` Rules []Rule `xml:"Rule" json:"Rules"` Role string `xml:"Role" json:"Role"` }
Config - replication configuration specified in https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html
func (*Config) AddRule ¶
AddRule adds a new rule to existing replication config. If a rule exists with the same ID, then the rule is replaced.
func (*Config) RemoveRule ¶
RemoveRule removes a rule from replication config.
type DeleteMarkerReplication ¶
type DeleteMarkerReplication struct {
Status Status `xml:"Status" json:"Status"` // should be set to "Disabled" by default
}
DeleteMarkerReplication - whether delete markers are replicated - https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html
func (DeleteMarkerReplication) IsEmpty ¶
func (d DeleteMarkerReplication) IsEmpty() bool
IsEmpty returns true if DeleteMarkerReplication is not set
type DeleteReplication ¶
type DeleteReplication struct {
Status Status `xml:"Status" json:"Status"` // should be set to "Disabled" by default
}
DeleteReplication - whether versioned deletes are replicated - this is a MinIO specific extension
func (DeleteReplication) IsEmpty ¶
func (d DeleteReplication) IsEmpty() bool
IsEmpty returns true if DeleteReplication is not set
type Destination ¶
type Destination struct { XMLName xml.Name `xml:"Destination" json:"-"` Bucket string `xml:"Bucket" json:"Bucket"` StorageClass string `xml:"StorageClass,omitempty" json:"StorageClass,omitempty"` }
Destination - destination in ReplicationConfiguration.
type ExistingObjectReplication ¶
type ExistingObjectReplication struct {
Status Status `xml:"Status"` // should be set to "Disabled" by default
}
ExistingObjectReplication - whether existing object replication is enabled
func (ExistingObjectReplication) IsEmpty ¶
func (e ExistingObjectReplication) IsEmpty() bool
IsEmpty returns true if DeleteMarkerReplication is not set
func (ExistingObjectReplication) Validate ¶
func (e ExistingObjectReplication) Validate() error
Validate validates whether the status is disabled.
type Filter ¶
type Filter struct { XMLName xml.Name `xml:"Filter" json:"-"` Prefix string `json:"Prefix,omitempty"` And And `xml:"And,omitempty" json:"And,omitempty"` Tag Tag `xml:"Tag,omitempty" json:"Tag,omitempty"` }
Filter - a filter for a replication configuration Rule.
type Metrics ¶
type Metrics struct { Stats map[string]TargetMetrics // Total Pending size in bytes across targets PendingSize uint64 `json:"pendingReplicationSize"` // Completed size in bytes across targets ReplicatedSize uint64 `json:"completedReplicationSize"` // Total Replica size in bytes across targets ReplicaSize uint64 `json:"replicaSize"` // Failed size in bytes across targets FailedSize uint64 `json:"failedReplicationSize"` // Total number of pending operations including metadata updates across targets PendingCount uint64 `json:"pendingReplicationCount"` // Total number of failed operations including metadata updates across targets FailedCount uint64 `json:"failedReplicationCount"` }
Metrics represents inline replication metrics for a bucket.
type OptionType ¶
type OptionType string
OptionType specifies operation to be performed on config
const ( // AddOption specifies addition of rule to config AddOption OptionType = "Add" // SetOption specifies modification of existing rule to config SetOption OptionType = "Set" // RemoveOption specifies rule options are for removing a rule RemoveOption OptionType = "Remove" // ImportOption is for getting current config ImportOption OptionType = "Import" )
type Options ¶
type Options struct { Op OptionType RoleArn string ID string Prefix string RuleStatus string Priority string TagString string StorageClass string DestBucket string IsTagSet bool IsSCSet bool ReplicateDeletes string // replicate versioned deletes ReplicateDeleteMarkers string // replicate soft deletes ReplicaSync string // replicate replica metadata modifications ExistingObjectReplicate string }
Options represents options to set a replication configuration rule
type ReplicaModifications ¶
type ReplicaModifications struct {
Status Status `xml:"Status" json:"Status"` // should be set to "Enabled" by default
}
ReplicaModifications specifies if replica modification sync is enabled
type ResyncTarget ¶
type ResyncTarget struct { Arn string `json:"arn"` ResetID string `json:"resetid"` StartTime time.Time `json:"startTime,omitempty"` EndTime time.Time `json:"endTime,omitempty"` // Status of resync operation ResyncStatus string `json:"resyncStatus,omitempty"` // Completed size in bytes ReplicatedSize int64 `json:"completedReplicationSize,omitempty"` // Failed size in bytes FailedSize int64 `json:"failedReplicationSize,omitempty"` // Total number of failed operations FailedCount int64 `json:"failedReplicationCount,omitempty"` // Total number of failed operations ReplicatedCount int64 `json:"replicationCount,omitempty"` // Last bucket/object replicated. Bucket string `json:"bucket,omitempty"` Object string `json:"object,omitempty"` }
ResyncTarget provides the replica resources and resetID to initiate resync replication.
type ResyncTargetsInfo ¶
type ResyncTargetsInfo struct {
Targets []ResyncTarget `json:"target,omitempty"`
}
ResyncTargetsInfo provides replication target information to resync replicated data.
type Rule ¶
type Rule struct { XMLName xml.Name `xml:"Rule" json:"-"` ID string `xml:"ID,omitempty"` Status Status `xml:"Status"` Priority int `xml:"Priority"` DeleteMarkerReplication DeleteMarkerReplication `xml:"DeleteMarkerReplication"` DeleteReplication DeleteReplication `xml:"DeleteReplication"` Destination Destination `xml:"Destination"` Filter Filter `xml:"Filter" json:"Filter"` SourceSelectionCriteria SourceSelectionCriteria `xml:"SourceSelectionCriteria" json:"SourceSelectionCriteria"` ExistingObjectReplication ExistingObjectReplication `xml:"ExistingObjectReplication,omitempty" json:"ExistingObjectReplication,omitempty"` }
Rule - a rule for replication configuration.
func (Rule) Prefix ¶
Prefix - a rule can either have prefix under <filter></filter> or under <filter><and></and></filter>. This method returns the prefix from the location where it is available
type SourceSelectionCriteria ¶
type SourceSelectionCriteria struct {
ReplicaModifications ReplicaModifications `xml:"ReplicaModifications" json:"ReplicaModifications"`
}
SourceSelectionCriteria - specifies additional source selection criteria in ReplicationConfiguration.
func (SourceSelectionCriteria) IsValid ¶
func (s SourceSelectionCriteria) IsValid() bool
IsValid - checks whether SourceSelectionCriteria is valid or not.
func (SourceSelectionCriteria) Validate ¶
func (s SourceSelectionCriteria) Validate() error
Validate source selection criteria
type Tag ¶
type Tag struct { XMLName xml.Name `json:"-"` Key string `xml:"Key,omitempty" json:"Key,omitempty"` Value string `xml:"Value,omitempty" json:"Value,omitempty"` }
Tag - a tag for a replication configuration Rule filter.
type TargetMetrics ¶
type TargetMetrics struct { // Pending size in bytes PendingSize uint64 `json:"pendingReplicationSize"` // Completed size in bytes ReplicatedSize uint64 `json:"completedReplicationSize"` // Total Replica size in bytes ReplicaSize uint64 `json:"replicaSize"` // Failed size in bytes FailedSize uint64 `json:"failedReplicationSize"` // Total number of pending operations including metadata updates PendingCount uint64 `json:"pendingReplicationCount"` // Total number of failed operations including metadata updates FailedCount uint64 `json:"failedReplicationCount"` // Bandwidth limit in bytes/sec for this target BandWidthLimitInBytesPerSecond int64 `json:"limitInBits"` // Current bandwidth used in bytes/sec for this target CurrentBandwidthInBytesPerSecond float64 `json:"currentBandwidth"` }
TargetMetrics represents inline replication metrics such as pending, failed and completed bytes in total for a bucket remote target