data

package
v0.19.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ValidEvents = map[string]struct{}{
	"s3:ReducedRedundancyLostObject":                   {},
	"s3:ObjectCreated:*":                               {},
	"s3:ObjectCreated:Put":                             {},
	"s3:ObjectCreated:Post":                            {},
	"s3:ObjectCreated:Copy":                            {},
	"s3:ObjectCreated:CompleteMultipartUpload":         {},
	"s3:ObjectRemoved:*":                               {},
	"s3:ObjectRemoved:Delete":                          {},
	"s3:ObjectRemoved:DeleteMarkerCreated":             {},
	"s3:ObjectRestore:*":                               {},
	"s3:ObjectRestore:Post":                            {},
	"s3:ObjectRestore:Completed":                       {},
	"s3:Replication:*":                                 {},
	"s3:Replication:OperationFailedReplication":        {},
	"s3:Replication:OperationNotTracked":               {},
	"s3:Replication:OperationMissedThreshold":          {},
	"s3:Replication:OperationReplicatedAfterThreshold": {},
	"s3:ObjectRestore:Delete":                          {},
	"s3:LifecycleTransition":                           {},
	"s3:IntelligentTiering":                            {},
	"s3:ObjectAcl:Put":                                 {},
	"s3:LifecycleExpiration:*":                         {},
	"s3:LifecycleExpiration:Delete":                    {},
	"s3:LifecycleExpiration:DeleteMarkerCreated":       {},
	"s3:ObjectTagging:*":                               {},
	"s3:ObjectTagging:Put":                             {},
	"s3:ObjectTagging:Delete":                          {},
}

Functions

This section is empty.

Types

type BucketInfo

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

BucketInfo stores basic bucket data.

func (*BucketInfo) CORSObjectName added in v0.18.0

func (b *BucketInfo) CORSObjectName() string

CORSObjectName returns system name for 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 system name for bucket settings file.

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 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 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         *owner.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) 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 present.

func (*ObjectInfo) TagsObject

func (o *ObjectInfo) TagsObject() string

TagsObject returns name of system object for tags.

func (*ObjectInfo) Version

func (o *ObjectInfo) Version() string

Version returns object version from ObjectInfo.

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