s3response

package
v1.0.11 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2025 License: Apache-2.0 Imports: 4 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 CopyObjectResult

type CopyObjectResult struct {
	XMLName             xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ CopyObjectResult" json:"-"`
	LastModified        time.Time
	ETag                string
	CopySourceVersionId string `xml:"-"`
}

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

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 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
	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
	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            []types.ObjectVersion `xml:"Version"`
}

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 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 PutObjectOutput added in v1.0.8

type PutObjectOutput struct {
	ETag              string
	VersionID         string
	ChecksumCRC32     *string
	ChecksumCRC32C    *string
	ChecksumSHA1      *string
	ChecksumSHA256    *string
	ChecksumCRC64NVME *string
	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