Documentation ¶
Index ¶
- func Create(ctx context.Context, cfg Config, rt http.RoundTripper) (backend.Backend, error)
- func NewFactory() location.Factory
- func Open(ctx context.Context, cfg Config, rt http.RoundTripper) (backend.Backend, error)
- type Backend
- func (be *Backend) Close() error
- func (be *Backend) Connections() uint
- func (be *Backend) Delete(ctx context.Context) error
- func (be *Backend) HasAtomicReplace() bool
- func (be *Backend) Hasher() hash.Hash
- func (be *Backend) IsNotExist(err error) bool
- func (be *Backend) Join(p ...string) string
- func (be *Backend) List(ctx context.Context, t backend.FileType, fn func(backend.FileInfo) error) error
- func (be *Backend) Load(ctx context.Context, h backend.Handle, length int, offset int64, ...) error
- func (be *Backend) Location() string
- func (be *Backend) Path() string
- func (be *Backend) ReadDir(ctx context.Context, dir string) (list []os.FileInfo, err error)
- func (be *Backend) Remove(ctx context.Context, h backend.Handle) error
- func (be *Backend) Rename(ctx context.Context, h backend.Handle, l layout.Layout) error
- func (be *Backend) Save(ctx context.Context, h backend.Handle, rd backend.RewindReader) error
- func (be *Backend) Stat(ctx context.Context, h backend.Handle) (bi backend.FileInfo, err error)
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Create ¶
Create opens the S3 backend at bucket and region and creates the bucket if it does not exist yet.
func NewFactory ¶
Types ¶
type Backend ¶
Backend stores data on an S3 endpoint.
func (*Backend) Connections ¶
func (*Backend) Delete ¶
Delete removes all restic keys in the bucket. It will not remove the bucket itself.
func (*Backend) HasAtomicReplace ¶
HasAtomicReplace returns whether Save() can atomically replace files
func (*Backend) Hasher ¶
Hasher may return a hash function for calculating a content hash for the backend
func (*Backend) IsNotExist ¶
IsNotExist returns true if the error is caused by a not existing file.
func (*Backend) List ¶
func (be *Backend) List(ctx context.Context, t backend.FileType, fn func(backend.FileInfo) error) error
List runs fn for each file in the backend which has the type t. When an error occurs (or fn returns an error), List stops and returns it.
func (*Backend) Load ¶
func (be *Backend) Load(ctx context.Context, h backend.Handle, length int, offset int64, fn func(rd io.Reader) error) error
Load runs fn with a reader that yields the contents of the file at h at the given offset.
type Config ¶
type Config struct { Endpoint string UseHTTP bool KeyID string Secret options.SecretString Bucket string Prefix string Layout string `option:"layout" help:"use this backend layout (default: auto-detect)"` StorageClass string `` /* 129-byte string literal not displayed */ Connections uint `option:"connections" help:"set a limit for the number of concurrent connections (default: 5)"` MaxRetries uint `option:"retries" help:"set the number of retries attempted"` Region string `option:"region" help:"set region"` BucketLookup string `option:"bucket-lookup" help:"bucket lookup style: 'auto', 'dns', or 'path'"` ListObjectsV1 bool `option:"list-objects-v1" help:"use deprecated V1 api for ListObjects calls"` }
Config contains all configuration necessary to connect to an s3 compatible server.
func NewConfig ¶
func NewConfig() Config
NewConfig returns a new Config with the default values filled in.
func ParseConfig ¶
ParseConfig parses the string s and extracts the s3 config. The two supported configuration formats are s3://host/bucketname/prefix and s3:host/bucketname/prefix. The host can also be a valid s3 region name. If no prefix is given the prefix "restic" will be used.
func (*Config) ApplyEnvironment ¶
ApplyEnvironment saves values from the environment to the config.