s3response

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2026 License: Apache-2.0 Imports: 5 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
}

type CommonPrefix

type CommonPrefix struct {
	Prefix string
}

CommonPrefix ListObjectsResponse common prefixes (directory abstraction)

type CompleteMultipartUploadRequestBody added in v1.0.17

type CompleteMultipartUploadRequestBody struct {
	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
	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
	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
	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

	// not included in the body
	CopySourceVersionId 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 DeleteObjects

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

type DeleteResult

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

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

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
}

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
}

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       []types.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
	NextPartNumberMarker int
	MaxParts             int
	IsTruncated          bool
	Parts                []types.ObjectPart `xml:"Part"`
}

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
}

Part describes part metadata.

func (Part) MarshalXML added in v1.0.6

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

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

	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
	Size              *int64
	ChecksumType      types.ChecksumType
}

type PutObjectRetentionInput added in v1.0.8

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

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"`
}

type TaggingInput

type TaggingInput struct {
	TagSet TagSet `xml:"TagSet"`
}

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

Jump to

Keyboard shortcuts

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