Documentation
¶
Index ¶
- Constants
- func SortPartInfo(a, b *PartInfo) int
- type BucketACLState
- type BucketInfo
- type BucketOwner
- type BucketSettings
- type CORSConfiguration
- type CORSRule
- type ComprehensiveObjectInfo
- type DefaultRetention
- type ElementInfo
- type ExtendedObjectInfo
- type Filter
- type FilterRule
- type Key
- type LambdaFunctionConfiguration
- type LegalHold
- type LegalHoldLock
- type LockInfo
- func (l LockInfo) IsCompliance() bool
- func (l LockInfo) IsLegalHoldSet() bool
- func (l LockInfo) IsRetentionSet() bool
- func (l LockInfo) LegalHold() oid.ID
- func (l LockInfo) Retention() oid.ID
- func (l *LockInfo) SetLegalHold(objID oid.ID)
- func (l *LockInfo) SetRetention(objID oid.ID, until string, isCompliance bool)
- func (l LockInfo) UntilDate() string
- type MultipartInfo
- type NodeVersion
- type NotificationConfiguration
- type NotificationInfo
- type ObjectInfo
- type ObjectListResponseContent
- type ObjectLock
- type ObjectLockConfiguration
- type ObjectLockRule
- type PartInfo
- type QueueConfiguration
- type Retention
- type RetentionLock
- type TopicConfiguration
Constants ¶
const ( VersioningUnversioned = "Unversioned" VersioningEnabled = "Enabled" VersioningSuspended = "Suspended" // BucketSettingsV1 describes v1 version identifier for the bucket settings file. BucketSettingsV1 = "1" )
const ( // BucketOwnerEnforced is a enforced state. BucketOwnerEnforced = iota // BucketOwnerPreferred is a preferred state. BucketOwnerPreferred // BucketOwnerPreferredAndRestricted is a preferred state with `bucket-owner-full-control` restriction applied. BucketOwnerPreferredAndRestricted // BucketOwnerObjectWriter is a object writer state. BucketOwnerObjectWriter )
const (
UnversionedObjectVersionID = "null"
)
Variables ¶
This section is empty.
Functions ¶
func SortPartInfo ¶ added in v0.33.0
SortPartInfo sorts PartInfo for Number ASC, ServerCreated ASC.
Types ¶
type BucketACLState ¶ added in v0.33.0
type BucketACLState uint32
BucketACLState is bucket ACL state.
type BucketInfo ¶
type BucketInfo struct {
Name string
CID cid.ID
Owner user.ID
Created time.Time
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 {
Versioning string `json:"versioning"`
LockConfiguration *ObjectLockConfiguration `json:"lock_configuration"`
BucketOwner BucketOwner `json:"bucket_owner"`
}
BucketSettings stores settings such as versioning.
func (BucketSettings) Unversioned ¶ added in v0.22.0
func (b BucketSettings) Unversioned() bool
func (BucketSettings) VersioningEnabled ¶ added in v0.20.0
func (b BucketSettings) VersioningEnabled() bool
func (BucketSettings) VersioningSuspended ¶ added in v0.22.0
func (b BucketSettings) VersioningSuspended() bool
type CORSConfiguration ¶ added in v0.18.0
type CORSConfiguration struct {
XMLName xml.Name `xml:"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 ComprehensiveObjectInfo ¶ added in v0.35.0
ComprehensiveObjectInfo represents metasearch result for object, with tags and lock data.
type DefaultRetention ¶ added in v0.20.0
type ElementInfo ¶ added in v0.35.0
type ElementInfo struct {
ID oid.ID
ElementID int
Attributes map[string]string
Size int64
TotalSize int64
}
ElementInfo represents small element in "big object" chain.
type ExtendedObjectInfo ¶ added in v0.22.0
type ExtendedObjectInfo struct {
ObjectInfo *ObjectInfo
NodeVersion *NodeVersion
IsLatest bool
}
ExtendedObjectInfo contains additional node info to be able to sort versions by timestamp.
func (ExtendedObjectInfo) Version ¶ added in v0.24.0
func (e ExtendedObjectInfo) Version() string
type FilterRule ¶ added in v0.19.0
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 LegalHoldLock ¶ added in v0.22.0
type LegalHoldLock struct {
Enabled bool
}
type LockInfo ¶ added in v0.22.0
type LockInfo struct {
// contains filtered or unexported fields
}
LockInfo is lock information for a particular object.
func (LockInfo) IsCompliance ¶ added in v0.22.0
func (LockInfo) IsLegalHoldSet ¶ added in v0.22.0
func (LockInfo) IsRetentionSet ¶ added in v0.22.0
func (*LockInfo) SetLegalHold ¶ added in v0.22.0
func (*LockInfo) SetRetention ¶ added in v0.22.0
type MultipartInfo ¶ added in v0.22.0
type MultipartInfo struct {
ID oid.ID
Key string
UploadID string
Owner user.ID
Created time.Time
Meta map[string]string
CopiesNumber uint32
}
MultipartInfo is multipart upload information.
type NodeVersion ¶ added in v0.22.0
type NodeVersion struct {
OID oid.ID
Timestamp uint64
ETag string
FilePath string
IsDeleteMarker bool
IsUnversioned bool
}
NodeVersion represent basic object metadata.
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 NotificationInfo ¶ added in v0.22.0
NotificationInfo store info to send s3 notification.
func NotificationInfoFromObject ¶ added in v0.22.0
func NotificationInfoFromObject(objInfo *ObjectInfo) *NotificationInfo
NotificationInfoFromObject creates new NotificationInfo from ObjectInfo.
type ObjectInfo ¶
type ObjectInfo struct {
ID oid.ID
CID cid.ID
IsDir bool
IsDeleteMarker bool
Bucket string
Name string
Size int64
ContentType string
Created time.Time
HashSum string
Owner user.ID
Headers map[string]string
Version string
}
ObjectInfo holds S3 object data.
func (*ObjectInfo) Address ¶
func (o *ObjectInfo) Address() oid.Address
Address returns object address.
func (*ObjectInfo) NiceName ¶
func (o *ObjectInfo) NiceName() string
NiceName returns object name for cache.
func (*ObjectInfo) VersionID ¶ added in v0.24.0
func (o *ObjectInfo) VersionID() string
VersionID returns object version from ObjectInfo.
type ObjectListResponseContent ¶ added in v0.35.0
type ObjectListResponseContent struct {
ID oid.ID
IsDir bool
Size int64
Owner user.ID
HashSum string
Created time.Time
Name string
}
ObjectListResponseContent holds response data for object listing.
type ObjectLock ¶ added in v0.20.0
type ObjectLock struct {
LegalHold *LegalHoldLock
Retention *RetentionLock
}
type ObjectLockConfiguration ¶ added in v0.20.0
type ObjectLockConfiguration struct {
XMLName xml.Name `xml:"ObjectLockConfiguration" json:"-"`
ObjectLockEnabled string `xml:"ObjectLockEnabled" json:"ObjectLockEnabled"`
Rule *ObjectLockRule `xml:"Rule" json:"Rule"`
}
func (*ObjectLockConfiguration) Decode ¶ added in v0.36.0
func (conf *ObjectLockConfiguration) Decode(value string) error
Decode unmarshal ObjectLockConfiguration from string.
func (*ObjectLockConfiguration) Encode ¶ added in v0.36.0
func (conf *ObjectLockConfiguration) Encode() string
Encode marshal ObjectLockConfiguration to string.
type ObjectLockRule ¶ added in v0.20.0
type ObjectLockRule struct {
DefaultRetention *DefaultRetention `xml:"DefaultRetention" json:"DefaultRetention"`
}
type PartInfo ¶ added in v0.22.0
type PartInfo struct {
UploadID string
Number int
OID oid.ID
Size int64
ETag string
// Creation time from the client.
Created time.Time
// MultipartHash contains internal state of the [hash.Hash] to calculate whole object payload hash.
MultipartHash []byte
// HomoHash contains internal state of the [hash.Hash] to calculate whole object homomorphic payload hash.
HomoHash []byte
// Elements contain [oid.ID] and size for each element for the current part.
Elements []ElementInfo
}
PartInfo is upload information about part.
func (*PartInfo) ToHeaderString ¶ added in v0.22.0
ToHeaderString form short part representation to use in S3-Completed-Parts header.
type QueueConfiguration ¶ added in v0.19.0
type RetentionLock ¶ added in v0.22.0
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.