data

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2022 License: AGPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BucketInfo

type BucketInfo struct {
	Name               string
	CID                *cid.ID
	Owner              *user.ID
	Created            time.Time
	BasicACL           uint32
	LocationConstraint string
	ObjectLockEnabled  bool
}

BucketInfo stores basic bucket data.

func (*BucketInfo) CORSObjectName added in v0.18.0

func (b *BucketInfo) CORSObjectName() string

CORSObjectName returns a system name for a bucket CORS configuration file.

func (*BucketInfo) NotificationConfigurationObjectName added in v0.19.0

func (b *BucketInfo) NotificationConfigurationObjectName() string

func (*BucketInfo) SettingsObjectName

func (b *BucketInfo) SettingsObjectName() string

SettingsObjectName is a system name for a bucket settings file.

type BucketSettings added in v0.20.0

type BucketSettings struct {
	VersioningEnabled bool                     `json:"versioning_enabled"`
	LockConfiguration *ObjectLockConfiguration `json:"lock_configuration"`
}

BucketSettings stores settings such as versioning.

type CORSConfiguration added in v0.18.0

type CORSConfiguration struct {
	XMLName   xml.Name   `xml:"http://s3.amazonaws.com/doc/2006-03-01/ CORSConfiguration" json:"-"`
	CORSRules []CORSRule `xml:"CORSRule" json:"CORSRules"`
}

CORSConfiguration stores CORS configuration of a request.

type CORSRule added in v0.18.0

type CORSRule struct {
	ID             string   `xml:"ID,omitempty" json:"ID,omitempty"`
	AllowedHeaders []string `xml:"AllowedHeader" json:"AllowedHeaders"`
	AllowedMethods []string `xml:"AllowedMethod" json:"AllowedMethods"`
	AllowedOrigins []string `xml:"AllowedOrigin" json:"AllowedOrigins"`
	ExposeHeaders  []string `xml:"ExposeHeader" json:"ExposeHeaders"`
	MaxAgeSeconds  int      `xml:"MaxAgeSeconds,omitempty" json:"MaxAgeSeconds,omitempty"`
}

CORSRule stores rules for CORS in a bucket.

type DefaultRetention added in v0.20.0

type DefaultRetention struct {
	Days  int64  `xml:"Days" json:"Days"`
	Mode  string `xml:"Mode" json:"Mode"`
	Years int64  `xml:"Years" json:"Years"`
}

type Filter added in v0.19.0

type Filter struct {
	Key Key `xml:"S3Key" json:"S3Key"`
}

type FilterRule added in v0.19.0

type FilterRule struct {
	Name  string `xml:"Name" json:"Name"`
	Value string `xml:"Value" json:"Value"`
}

type Key added in v0.19.0

type Key struct {
	FilterRules []FilterRule `xml:"FilterRule" json:"FilterRules"`
}

type LambdaFunctionConfiguration added in v0.19.0

type LambdaFunctionConfiguration struct{}

type LegalHold added in v0.20.0

type LegalHold struct {
	XMLName xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ LegalHold" json:"-"`
	Status  string   `xml:"Status" json:"Status"`
}

type NotificationConfiguration added in v0.19.0

type NotificationConfiguration struct {
	QueueConfigurations []QueueConfiguration `xml:"QueueConfiguration" json:"QueueConfigurations"`
	// Not supported topics
	TopicConfigurations          []TopicConfiguration          `xml:"TopicConfiguration" json:"TopicConfigurations"`
	LambdaFunctionConfigurations []LambdaFunctionConfiguration `xml:"CloudFunctionConfiguration" json:"CloudFunctionConfigurations"`
}

func (NotificationConfiguration) IsEmpty added in v0.19.0

func (n NotificationConfiguration) IsEmpty() bool

type ObjectInfo

type ObjectInfo struct {
	ID    *oid.ID
	CID   *cid.ID
	IsDir bool

	Bucket        string
	Name          string
	Size          int64
	ContentType   string
	Created       time.Time
	CreationEpoch uint64
	HashSum       string
	Owner         *user.ID
	Headers       map[string]string
}

ObjectInfo holds S3 object data.

func (*ObjectInfo) Address

func (o *ObjectInfo) Address() *address.Address

Address returns object address.

func (*ObjectInfo) LegalHoldObject added in v0.20.0

func (o *ObjectInfo) LegalHoldObject() string

LegalHoldObject returns the name of a system object for a lock object.

func (*ObjectInfo) NiceName

func (o *ObjectInfo) NiceName() string

NiceName returns object name for cache.

func (*ObjectInfo) NullableVersion added in v0.19.0

func (o *ObjectInfo) NullableVersion() string

NullableVersion returns object version from ObjectInfo. Return "null" if "S3-Versions-unversioned" header is present.

func (*ObjectInfo) RetentionObject added in v0.20.0

func (o *ObjectInfo) RetentionObject() string

RetentionObject returns the name of a system object for a retention lock object.

func (*ObjectInfo) TagsObject

func (o *ObjectInfo) TagsObject() string

TagsObject returns the name of a system object for tags.

func (*ObjectInfo) Version

func (o *ObjectInfo) Version() string

Version returns object version from ObjectInfo.

type ObjectLock added in v0.20.0

type ObjectLock struct {
	Until        time.Time
	LegalHold    bool
	IsCompliance bool
	Objects      []oid.ID
}

type ObjectLockConfiguration added in v0.20.0

type ObjectLockConfiguration struct {
	XMLName           xml.Name        `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ObjectLockConfiguration" json:"-"`
	ObjectLockEnabled string          `xml:"ObjectLockEnabled" json:"ObjectLockEnabled"`
	Rule              *ObjectLockRule `xml:"Rule" json:"Rule"`
}

type ObjectLockRule added in v0.20.0

type ObjectLockRule struct {
	DefaultRetention *DefaultRetention `xml:"DefaultRetention" json:"DefaultRetention"`
}

type QueueConfiguration added in v0.19.0

type QueueConfiguration struct {
	ID       string   `xml:"Id" json:"Id"`
	QueueArn string   `xml:"Queue" json:"Queue"`
	Events   []string `xml:"Event" json:"Events"`
	Filter   Filter   `xml:"Filter" json:"Filter"`
}

type Retention added in v0.20.0

type Retention struct {
	XMLName         xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ Retention" json:"-"`
	Mode            string   `xml:"Mode" json:"Mode"`
	RetainUntilDate string   `xml:"RetainUntilDate" json:"RetainUntilDate"`
}

type TopicConfiguration added in v0.19.0

type TopicConfiguration struct{}

TopicConfiguration and LambdaFunctionConfiguration -- we don't support these configurations, but we need them to detect in notification configurations in requests.

Jump to

Keyboard shortcuts

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