s3response

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessControlList

type AccessControlList struct {
	Grant []Grant
}

type AccessControlPolicy

type AccessControlPolicy struct {
	XMLName           xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ AccessControlPolicy" json:"-"`
	Owner             CanonicalUser
	AccessControlList AccessControlList
}

type AmzDate added in v1.0.8

type AmzDate struct {
	time.Time
}

func (AmzDate) ISO8601Parse added in v1.0.8

func (AmzDate) ISO8601Parse(date string) (t time.Time, err error)

Parses ISO8601 date string to time.Time by validating different time layouts

func (AmzDate) MarshalXML added in v1.0.8

func (d AmzDate) MarshalXML(e *xml.Encoder, startElement xml.StartElement) error

Encodes expiration date if it is non-zero Encodes empty string if it's zero

func (*AmzDate) UnmarshalXML added in v1.0.8

func (d *AmzDate) UnmarshalXML(e *xml.Decoder, startElement xml.StartElement) error

Parses the date from xml string and validates for predefined date formats

type Bucket

type Bucket struct {
	Name  string `json:"name"`
	Owner string `json:"owner"`
}

type CanonicalUser

type CanonicalUser struct {
	ID          string
	DisplayName string
}

type Checksum added in v1.0.11

type Checksum struct {
	Algorithm types.ChecksumAlgorithm
	Type      types.ChecksumType

	CRC32     *string
	CRC32C    *string
	SHA1      *string
	SHA256    *string
	CRC64NVME *string
	SHA512    *string
	MD5       *string
	XXHASH64  *string
	XXHASH3   *string
	XXHASH128 *string
}

func (*Checksum) SetSum added in v1.9.0

func (c *Checksum) SetSum(algo types.ChecksumAlgorithm, sum *string)

SetSum stores sum in the field matching algo. A nil sum or an unknown algorithm leaves the checksum unchanged.

type CommonPrefix

type CommonPrefix struct {
	Prefix string
}

CommonPrefix ListObjectsResponse common prefixes (directory abstraction)

type CompleteMultipartUploadRequestBody added in v1.0.17

type CompleteMultipartUploadRequestBody struct {
	XMLName xml.Name              `xml:"CompleteMultipartUpload" json:"-"`
	Parts   []types.CompletedPart `xml:"Part"`
}

type CompleteMultipartUploadResult added in v1.0.14

type CompleteMultipartUploadResult struct {
	XMLName           xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ CompleteMultipartUploadResult" json:"-"`
	Location          *string
	Bucket            *string
	Key               *string
	ETag              *string
	ChecksumCRC32     *string
	ChecksumCRC32C    *string
	ChecksumSHA1      *string
	ChecksumSHA256    *string
	ChecksumCRC64NVME *string
	ChecksumSHA512    *string
	ChecksumMD5       *string
	ChecksumXXHASH64  *string
	ChecksumXXHASH3   *string
	ChecksumXXHASH128 *string
	ChecksumType      *types.ChecksumType
}

type CopyObjectInput added in v1.0.12

type CopyObjectInput struct {
	Metadata                       map[string]string
	Bucket                         *string
	CopySource                     *string
	Key                            *string
	CacheControl                   *string
	ContentDisposition             *string
	ContentEncoding                *string
	ContentLanguage                *string
	ContentType                    *string
	CopySourceIfMatch              *string
	CopySourceIfNoneMatch          *string
	CopySourceSSECustomerAlgorithm *string
	CopySourceSSECustomerKey       *string
	CopySourceSSECustomerKeyMD5    *string
	ExpectedBucketOwner            *string
	ExpectedSourceBucketOwner      *string
	Expires                        *string
	GrantFullControl               *string
	GrantRead                      *string
	GrantReadACP                   *string
	GrantWriteACP                  *string
	IfMatch                        *string
	IfNoneMatch                    *string
	SSECustomerAlgorithm           *string
	SSECustomerKey                 *string
	SSECustomerKeyMD5              *string
	SSEKMSEncryptionContext        *string
	SSEKMSKeyId                    *string
	Tagging                        *string
	WebsiteRedirectLocation        *string

	CopySourceIfModifiedSince   *time.Time
	CopySourceIfUnmodifiedSince *time.Time
	ObjectLockRetainUntilDate   *time.Time

	BucketKeyEnabled *bool

	ACL                       types.ObjectCannedACL
	ChecksumAlgorithm         types.ChecksumAlgorithm
	MetadataDirective         types.MetadataDirective
	ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
	ObjectLockMode            types.ObjectLockMode
	RequestPayer              types.RequestPayer
	ServerSideEncryption      types.ServerSideEncryption
	StorageClass              types.StorageClass
	TaggingDirective          types.TaggingDirective
}

type CopyObjectOutput added in v1.0.14

type CopyObjectOutput struct {
	BucketKeyEnabled        *bool
	CopyObjectResult        *CopyObjectResult
	CopySourceVersionId     *string
	Expiration              *string
	SSECustomerAlgorithm    *string
	SSECustomerKeyMD5       *string
	SSEKMSEncryptionContext *string
	SSEKMSKeyId             *string
	ServerSideEncryption    types.ServerSideEncryption
	VersionId               *string
}

type CopyObjectResult

type CopyObjectResult struct {
	XMLName           xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ CopyObjectResult" json:"-"`
	ChecksumCRC32     *string
	ChecksumCRC32C    *string
	ChecksumCRC64NVME *string
	ChecksumSHA1      *string
	ChecksumSHA256    *string
	ChecksumSHA512    *string
	ChecksumMD5       *string
	ChecksumXXHASH64  *string
	ChecksumXXHASH3   *string
	ChecksumXXHASH128 *string
	ChecksumType      types.ChecksumType
	ETag              *string
	LastModified      *time.Time
}

func (CopyObjectResult) MarshalXML added in v1.0.7

func (r CopyObjectResult) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type CopyPartResult added in v1.0.11

type CopyPartResult struct {
	XMLName           xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ CopyPartResult" json:"-"`
	LastModified      time.Time
	ETag              *string
	ChecksumCRC32     *string
	ChecksumCRC32C    *string
	ChecksumSHA1      *string
	ChecksumSHA256    *string
	ChecksumCRC64NVME *string
	ChecksumSHA512    *string
	ChecksumMD5       *string
	ChecksumXXHASH64  *string
	ChecksumXXHASH3   *string
	ChecksumXXHASH128 *string

	// not included in the body
	CopySourceVersionId  string  `xml:"-"`
	SSECustomerAlgorithm *string `xml:"-"`
	SSECustomerKeyMD5    *string `xml:"-"`
}

func (CopyPartResult) MarshalXML added in v1.0.14

func (r CopyPartResult) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type CreateBucketConfiguration added in v1.0.19

type CreateBucketConfiguration struct {
	LocationConstraint *string
	TagSet             []types.Tag `xml:"Tags>Tag"`
}

type CreateMultipartUploadInput added in v1.0.12

type CreateMultipartUploadInput struct {
	Bucket                    *string
	Key                       *string
	ExpectedBucketOwner       *string
	CacheControl              *string
	ContentDisposition        *string
	ContentEncoding           *string
	ContentLanguage           *string
	ContentType               *string
	Expires                   *string
	SSECustomerAlgorithm      *string
	SSECustomerKey            *string
	SSECustomerKeyMD5         *string
	SSEKMSEncryptionContext   *string
	SSEKMSKeyId               *string
	GrantFullControl          *string
	GrantRead                 *string
	GrantReadACP              *string
	GrantWriteACP             *string
	Tagging                   *string
	WebsiteRedirectLocation   *string
	BucketKeyEnabled          *bool
	ObjectLockRetainUntilDate *time.Time
	Metadata                  map[string]string

	ACL                       types.ObjectCannedACL
	ChecksumAlgorithm         types.ChecksumAlgorithm
	ChecksumType              types.ChecksumType
	ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
	ObjectLockMode            types.ObjectLockMode
	RequestPayer              types.RequestPayer
	ServerSideEncryption      types.ServerSideEncryption
	StorageClass              types.StorageClass
}

type DeleteMarkerEntry added in v1.9.0

type DeleteMarkerEntry struct {
	IsLatest     *bool
	Key          *string
	LastModified *time.Time
	Owner        *types.Owner
	VersionId    *string
}

func (DeleteMarkerEntry) MarshalXML added in v1.9.0

func (d DeleteMarkerEntry) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type DeleteObjects

type DeleteObjects struct {
	Objects []types.ObjectIdentifier `xml:"Object"`
	Quiet   bool                     `xml:"Quiet,omitempty"`
}

func (*DeleteObjects) UnmarshalXML added in v1.10.0

func (d *DeleteObjects) UnmarshalXML(dec *xml.Decoder, start xml.StartElement) error

UnmarshalXML decodes LastModifiedTime as an HTTP date, the form the SDKs send. The SDK type alone decodes it as RFC 3339, which S3 rejects.

type DeleteResult

type DeleteResult struct {
	Deleted []types.DeletedObject
	Error   []types.Error
}

type ErrorDocument added in v1.6.0

type ErrorDocument struct {
	Key string `xml:"Key"`
}

ErrorDocument specifies the object served when an error occurs.

type GetBucketVersioningOutput added in v1.0.8

type GetBucketVersioningOutput struct {
	XMLName   xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ VersioningConfiguration" json:"-"`
	MFADelete *types.MFADeleteStatus
	Status    *types.BucketVersioningStatus
}

type GetObjectAttributesResponse added in v1.0.9

type GetObjectAttributesResponse struct {
	ETag         *string
	ObjectSize   *int64
	StorageClass types.StorageClass `xml:",omitempty"`
	ObjectParts  *ObjectParts
	Checksum     *types.Checksum

	// Not included in the response body
	VersionId    *string
	LastModified *time.Time
	DeleteMarker *bool
}

type GetObjectLegalHoldResult added in v1.0.13

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

type GetObjectRetentionResult added in v1.9.0

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

type Grant

type Grant struct {
	Grantee    Grantee
	Permission string
}

type Grantee

type Grantee struct {
	XMLName     xml.Name `xml:"Grantee"`
	Xsi         string   `xml:"xmlns:xsi,attr,omitempty"`
	Type        string   `xml:"xsi:type,attr,omitempty"`
	ID          string
	DisplayName string
}

Set the following to encode correctly:

Grantee: s3response.Grantee{
	Xsi:         "http://www.w3.org/2001/XMLSchema-instance",
	Type:        "CanonicalUser",
},

type IndexDocument added in v1.6.0

type IndexDocument struct {
	Suffix string `xml:"Suffix"`
}

IndexDocument specifies the default object served for directory-like requests.

type InitiateMultipartUploadResult added in v1.0.6

type InitiateMultipartUploadResult struct {
	XMLName  xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ InitiateMultipartUploadResult" json:"-"`
	Bucket   string
	Key      string
	UploadId string

	// not included in the body
	SSECustomerAlgorithm *string `xml:"-"`
	SSECustomerKeyMD5    *string `xml:"-"`
}

type Initiator

type Initiator Owner

Initiator same fields as Owner

type ListAllMyBucketsEntry

type ListAllMyBucketsEntry struct {
	Name         string
	BucketRegion string
	CreationDate time.Time
}

func (ListAllMyBucketsEntry) MarshalXML added in v1.0.7

func (r ListAllMyBucketsEntry) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type ListAllMyBucketsList

type ListAllMyBucketsList struct {
	Bucket []ListAllMyBucketsEntry
}

type ListAllMyBucketsResult

type ListAllMyBucketsResult struct {
	XMLName           xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ListAllMyBucketsResult" json:"-"`
	Owner             CanonicalUser
	Buckets           ListAllMyBucketsList
	ContinuationToken string `xml:"ContinuationToken,omitempty"`
	Prefix            string `xml:"Prefix,omitempty"`
}

type ListBucketsInput added in v1.0.9

type ListBucketsInput struct {
	Owner             string
	IsAdmin           bool
	ContinuationToken string
	Prefix            string
	MaxBuckets        int32
}

type ListBucketsResult added in v1.0.8

type ListBucketsResult struct {
	Buckets []Bucket
}

Admin api response types

type ListMultipartUploadsResult

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

	Bucket             string
	KeyMarker          string
	UploadIDMarker     string `xml:"UploadIdMarker"`
	NextKeyMarker      string
	NextUploadIDMarker string `xml:"NextUploadIdMarker"`
	Delimiter          string
	Prefix             string
	EncodingType       string `xml:"EncodingType,omitempty"`
	MaxUploads         int
	IsTruncated        bool

	// List of pending uploads.
	Uploads []Upload `xml:"Upload"`

	// Delimed common prefixes.
	CommonPrefixes []CommonPrefix
}

ListMultipartUploadsResponse - s3 api list multipart uploads response.

type ListObjectsResult added in v1.0.6

type ListObjectsResult struct {
	XMLName        xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ListBucketResult" json:"-"`
	Name           *string
	Prefix         *string
	Marker         *string
	NextMarker     *string
	MaxKeys        *int32
	Delimiter      *string
	IsTruncated    *bool
	Contents       []Object
	CommonPrefixes []types.CommonPrefix
	EncodingType   types.EncodingType `xml:",omitempty"`
}

type ListObjectsV2Result added in v1.0.6

type ListObjectsV2Result struct {
	XMLName               xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ListBucketResult" json:"-"`
	Name                  *string
	Prefix                *string
	StartAfter            *string
	ContinuationToken     *string `xml:"ContinuationToken,omitempty"`
	NextContinuationToken *string
	KeyCount              *int32
	MaxKeys               *int32
	Delimiter             *string
	IsTruncated           *bool
	Contents              []Object
	CommonPrefixes        []types.CommonPrefix
	EncodingType          types.EncodingType `xml:",omitempty"`
}

type ListPartsResult

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

	Bucket            string
	Key               string
	UploadID          string `xml:"UploadId"`
	ChecksumAlgorithm types.ChecksumAlgorithm
	ChecksumType      types.ChecksumType

	Initiator Initiator
	Owner     Owner

	// The class of storage used to store the object.
	StorageClass types.StorageClass

	PartNumberMarker     int
	NextPartNumberMarker int
	MaxParts             int
	IsTruncated          bool

	// List of parts.
	Parts []Part `xml:"Part"`
}

ListPartsResponse - s3 api list parts response.

type ListVersionsResult added in v1.0.8

type ListVersionsResult struct {
	XMLName             xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ListVersionsResult" json:"-"`
	CommonPrefixes      []types.CommonPrefix
	DeleteMarkers       []DeleteMarkerEntry `xml:"DeleteMarker"`
	Delimiter           *string
	EncodingType        types.EncodingType
	IsTruncated         *bool
	KeyMarker           *string
	MaxKeys             *int32
	Name                *string
	NextKeyMarker       *string
	NextVersionIdMarker *string
	Prefix              *string
	VersionIdMarker     *string
	Versions            []ObjectVersion `xml:"Version"`
}

type LocationConstraint added in v1.0.18

type LocationConstraint struct {
	XMLName xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ LocationConstraint"`
	Value   *string  `xml:",chardata"`
}

LocationConstraint represents the GetBucketLocation response

type Object added in v1.0.6

type Object struct {
	ChecksumAlgorithm []types.ChecksumAlgorithm
	ChecksumType      types.ChecksumType
	ETag              *string
	Key               *string
	LastModified      *time.Time
	Owner             *types.Owner
	RestoreStatus     *types.RestoreStatus
	Size              *int64
	StorageClass      types.ObjectStorageClass
}

func (Object) MarshalXML added in v1.0.6

func (o Object) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type ObjectAttributes added in v1.0.9

type ObjectAttributes string
const (
	ObjectAttributesEtag         ObjectAttributes = "ETag"
	ObjectAttributesChecksum     ObjectAttributes = "Checksum"
	ObjectAttributesObjectParts  ObjectAttributes = "ObjectParts"
	ObjectAttributesStorageClass ObjectAttributes = "StorageClass"
	ObjectAttributesObjectSize   ObjectAttributes = "ObjectSize"
)

func (ObjectAttributes) IsValid added in v1.0.9

func (o ObjectAttributes) IsValid() bool

type ObjectParts

type ObjectParts struct {
	PartNumberMarker     int                `xml:",omitempty"`
	NextPartNumberMarker int                `xml:",omitempty"`
	MaxParts             int                `xml:",omitempty"`
	IsTruncated          bool               `xml:",omitempty"`
	Parts                []types.ObjectPart `xml:"Part"`
	PartsCount           *int32             `xml:",omitempty"`
}

type ObjectVersion added in v1.0.14

type ObjectVersion struct {
	ChecksumAlgorithm []types.ChecksumAlgorithm
	ChecksumType      types.ChecksumType
	ETag              *string
	IsLatest          *bool
	Key               *string
	LastModified      *time.Time
	Owner             *types.Owner
	RestoreStatus     *types.RestoreStatus
	Size              *int64
	StorageClass      types.ObjectVersionStorageClass
	VersionId         *string
}

func (ObjectVersion) MarshalXML added in v1.0.14

func (o ObjectVersion) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type Owner

type Owner struct {
	ID          string
	DisplayName string
}

Owner bucket ownership

type OwnershipControls added in v1.0.3

type OwnershipControls struct {
	Rules []types.OwnershipControlsRule `xml:"Rule"`
}

type Part

type Part struct {
	PartNumber        int
	LastModified      time.Time
	ETag              string
	Size              int64
	ChecksumCRC32     *string
	ChecksumCRC32C    *string
	ChecksumSHA1      *string
	ChecksumSHA256    *string
	ChecksumCRC64NVME *string
	ChecksumSHA512    *string
	ChecksumMD5       *string
	ChecksumXXHASH64  *string
	ChecksumXXHASH3   *string
	ChecksumXXHASH128 *string
}

Part describes part metadata.

func (Part) MarshalXML added in v1.0.6

func (p Part) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type PostResponse added in v1.4.0

type PostResponse struct {
	XMLName  xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ PostResponse"`
	Location string
	Bucket   string
	Key      string
	ETag     string
}

type PutObjectInput added in v1.0.12

type PutObjectInput struct {
	ContentLength             *int64
	ObjectLockRetainUntilDate *time.Time

	Bucket                  *string
	Key                     *string
	ContentType             *string
	ContentEncoding         *string
	ContentDisposition      *string
	ContentLanguage         *string
	CacheControl            *string
	Expires                 *string
	Tagging                 *string
	ChecksumCRC32           *string
	ChecksumCRC32C          *string
	ChecksumSHA1            *string
	ChecksumSHA256          *string
	ChecksumCRC64NVME       *string
	ChecksumSHA512          *string
	ChecksumMD5             *string
	ChecksumXXHASH64        *string
	ChecksumXXHASH3         *string
	ChecksumXXHASH128       *string
	ContentMD5              *string
	ExpectedBucketOwner     *string
	GrantFullControl        *string
	GrantRead               *string
	GrantReadACP            *string
	GrantWriteACP           *string
	IfMatch                 *string
	IfNoneMatch             *string
	SSECustomerAlgorithm    *string
	SSECustomerKey          *string
	SSECustomerKeyMD5       *string
	SSEKMSEncryptionContext *string
	SSEKMSKeyId             *string
	WebsiteRedirectLocation *string

	ObjectLockMode            types.ObjectLockMode
	ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
	ChecksumAlgorithm         types.ChecksumAlgorithm
	StorageClass              types.StorageClass

	Metadata map[string]string
	Body     io.Reader
}

type PutObjectOutput added in v1.0.8

type PutObjectOutput struct {
	ETag              string
	VersionID         string
	ChecksumCRC32     *string
	ChecksumCRC32C    *string
	ChecksumSHA1      *string
	ChecksumSHA256    *string
	ChecksumCRC64NVME *string
	ChecksumSHA512    *string
	ChecksumMD5       *string
	ChecksumXXHASH64  *string
	ChecksumXXHASH3   *string
	ChecksumXXHASH128 *string
	Size              *int64
	ChecksumType      types.ChecksumType

	SSECustomerAlgorithm *string
	SSECustomerKeyMD5    *string
}

type PutObjectRetentionInput added in v1.0.8

type PutObjectRetentionInput struct {
	XMLName         xml.Name `xml:"Retention"`
	Mode            types.ObjectLockRetentionMode
	RetainUntilDate AmzDate
}

type Redirect added in v1.6.0

type Redirect struct {
	HostName             string `xml:"HostName,omitempty"`
	HttpRedirectCode     string `xml:"HttpRedirectCode,omitempty"`
	Protocol             string `xml:"Protocol,omitempty"`
	ReplaceKeyPrefixWith string `xml:"ReplaceKeyPrefixWith,omitempty"`
	ReplaceKeyWith       string `xml:"ReplaceKeyWith,omitempty"`
}

Redirect specifies where to redirect matching requests.

func (*Redirect) Validate added in v1.6.0

func (r *Redirect) Validate() error

type RedirectAllRequestsTo added in v1.6.0

type RedirectAllRequestsTo struct {
	HostName string `xml:"HostName"`
	Protocol string `xml:"Protocol,omitempty"`
}

RedirectAllRequestsTo redirects all requests to another host.

type RoutingRule added in v1.6.0

type RoutingRule struct {
	Condition *RoutingRuleCondition `xml:"Condition,omitempty"`
	Redirect  *Redirect             `xml:"Redirect"`
}

RoutingRule specifies a redirect rule with an optional condition.

func (*RoutingRule) Validate added in v1.6.0

func (r *RoutingRule) Validate() error

Validate checks a single routing rule for validity.

type RoutingRuleCondition added in v1.6.0

type RoutingRuleCondition struct {
	HttpErrorCodeReturnedEquals string `xml:"HttpErrorCodeReturnedEquals,omitempty"`
	KeyPrefixEquals             string `xml:"KeyPrefixEquals,omitempty"`
}

RoutingRuleCondition specifies when a routing rule applies.

func (*RoutingRuleCondition) Matches added in v1.6.0

func (c *RoutingRuleCondition) Matches(key string, statusCode int) bool

Matches reports whether all configured condition fields match.

func (*RoutingRuleCondition) Validate added in v1.6.0

func (c *RoutingRuleCondition) Validate() error

type SelectObjectContentPayload

type SelectObjectContentPayload struct {
	Expression          *string
	ExpressionType      types.ExpressionType
	RequestProgress     *types.RequestProgress
	InputSerialization  *types.InputSerialization
	OutputSerialization *types.OutputSerialization
	ScanRange           *types.ScanRange
}

type SelectObjectContentResult

type SelectObjectContentResult struct {
	Records  *types.RecordsEvent
	Stats    *types.StatsEvent
	Progress *types.ProgressEvent
	Cont     *types.ContinuationEvent
	End      *types.EndEvent
}

type Tag

type Tag struct {
	Key   string `xml:"Key"`
	Value string `xml:"Value"`
}

type TagSet

type TagSet struct {
	Tags []Tag `xml:"Tag"`
}

type Tagging

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

func (*Tagging) UnmarshalXML added in v1.4.0

func (t *Tagging) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

UnmarshalXML accepts Tagging documents both with and without the S3 XML namespace, while xml.Marshal continues to emit the namespace via XMLName.

type Upload

type Upload struct {
	Key               string
	UploadID          string `xml:"UploadId"`
	Initiator         Initiator
	Owner             Owner
	StorageClass      types.StorageClass
	Initiated         time.Time
	ChecksumAlgorithm types.ChecksumAlgorithm
	ChecksumType      types.ChecksumType
}

Upload describes in progress multipart upload

func (Upload) MarshalXML added in v1.0.6

func (u Upload) MarshalXML(e *xml.Encoder, start xml.StartElement) error

type WebsiteConfiguration added in v1.6.0

type WebsiteConfiguration struct {
	XMLName               xml.Name               `xml:"WebsiteConfiguration"`
	IndexDocument         *IndexDocument         `xml:"IndexDocument,omitempty"`
	ErrorDocument         *ErrorDocument         `xml:"ErrorDocument,omitempty"`
	RedirectAllRequestsTo *RedirectAllRequestsTo `xml:"RedirectAllRequestsTo,omitempty"`
	RoutingRules          []RoutingRule          `xml:"RoutingRules>RoutingRule,omitempty"`
}

WebsiteConfiguration represents the S3 bucket website configuration.

func ParseWebsiteConfigOutput added in v1.6.0

func ParseWebsiteConfigOutput(data []byte) (*WebsiteConfiguration, error)

ParseWebsiteConfigOutput parses raw bytes into a WebsiteConfiguration.

func (*WebsiteConfiguration) MatchPostErrorRoutingRule added in v1.6.0

func (c *WebsiteConfiguration) MatchPostErrorRoutingRule(key string, statusCode int) *RoutingRule

MatchPostErrorRoutingRule returns the first rule that matches after a 4xx object-read error. Prefix-only rules are skipped because they have already been evaluated in the pre-fetch phase.

func (*WebsiteConfiguration) MatchPrefetchRoutingRule added in v1.6.0

func (c *WebsiteConfiguration) MatchPrefetchRoutingRule(key string) *RoutingRule

MatchPrefetchRoutingRule returns the first rule that can be evaluated before attempting an object read. Only prefix-only conditions participate in this phase.

func (*WebsiteConfiguration) Validate added in v1.6.0

func (c *WebsiteConfiguration) Validate() error

Validate checks the website configuration for S3-compatible validity.

Jump to

Keyboard shortcuts

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