s3response

package
v1.0.10 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 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 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 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

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

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

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
}

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
}

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