replication

package
v7.0.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

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:"Tags,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

func (c *Config) AddRule(opts Options) error

AddRule adds a new rule to existing replication config. If a rule exists with the same ID, then the rule is replaced.

func (*Config) Empty

func (c *Config) Empty() bool

Empty returns true if config is not set

func (*Config) RemoveRule

func (c *Config) RemoveRule(opts Options) error

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 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 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.

func (Filter) Validate

func (f Filter) Validate() error

Validate - validates the filter element

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
	ID           string
	Prefix       string
	RuleStatus   string
	Priority     string
	TagString    string
	StorageClass string
	Arn          string
}

Options represents options to set a replication configuration rule

func (Options) Tags

func (opts Options) Tags() []Tag

Tags returns a slice of tags for a rule

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"`
	Destination             Destination             `xml:"Destination"`
	Filter                  Filter                  `xml:"Filter" json:"Filter"`
}

Rule - a rule for replication configuration.

func (Rule) Prefix

func (r Rule) Prefix() string

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

func (Rule) Tags

func (r Rule) Tags() string

Tags - a rule can either have tag under <filter></filter> or under <filter><and></and></filter>. This method returns all the tags from the rule in the format tag1=value1&tag2=value2

func (Rule) Validate

func (r Rule) Validate() error

Validate validates the rule for correctness

type Status

type Status string

Status represents Enabled/Disabled status

const (
	Enabled  Status = "Enabled"
	Disabled Status = "Disabled"
)

Supported status types

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.

func (Tag) IsEmpty

func (tag Tag) IsEmpty() bool

IsEmpty returns whether this tag is empty or not.

func (Tag) String

func (tag Tag) String() string

func (Tag) Validate

func (tag Tag) Validate() error

Validate checks this tag.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL