123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- package s3
- import "encoding/xml"
- // CreateBucketResponse represents the S3 CreateBucket response
- type CreateBucketResponse struct {
- XMLName xml.Name `xml:"CreateBucketResponse"`
- Location string `xml:"Location"`
- }
- // ListAllMyBucketsResult for listing buckets
- type ListAllMyBucketsResult struct {
- XMLName xml.Name `xml:"ListAllMyBucketsResult"`
- Owner Owner `xml:"Owner"`
- Buckets []Bucket `xml:"Buckets>Bucket"`
- }
- type Owner struct {
- ID string `xml:"ID"`
- DisplayName string `xml:"DisplayName"`
- }
- type Bucket struct {
- Name string `xml:"Name"`
- CreationDate string `xml:"CreationDate"`
- }
- // S3Error represents an S3 error response
- type S3Error struct {
- XMLName xml.Name `xml:"Error"`
- Code string `xml:"Code"`
- Message string `xml:"Message"`
- Resource string `xml:"Resource,omitempty"`
- RequestId string `xml:"RequestId"`
- }
- // DeleteObjectResponse represents the S3 DeleteObject response
- type DeleteObjectResponse struct {
- XMLName xml.Name `xml:"DeleteObjectResponse"`
- DeleteMarker bool `xml:"DeleteMarker,omitempty"`
- VersionId string `xml:"VersionId,omitempty"`
- }
- // DeleteObjectsRequest represents the S3 DeleteObjects request
- type DeleteObjectsRequest struct {
- XMLName xml.Name `xml:"Delete"`
- Objects []ObjectToDelete `xml:"Object"`
- Quiet bool `xml:"Quiet,omitempty"`
- }
- // ObjectToDelete represents an object to delete in a batch delete operation
- type ObjectToDelete struct {
- Key string `xml:"Key"`
- VersionId string `xml:"VersionId,omitempty"`
- }
- // DeleteObjectsResponse represents the S3 DeleteObjects response
- type DeleteObjectsResponse struct {
- XMLName xml.Name `xml:"DeleteResult"`
- Deleted []DeletedObject `xml:"Deleted,omitempty"`
- Errors []DeleteError `xml:"Error,omitempty"`
- }
- // DeletedObject represents a successfully deleted object
- type DeletedObject struct {
- Key string `xml:"Key"`
- VersionId string `xml:"VersionId,omitempty"`
- DeleteMarker bool `xml:"DeleteMarker,omitempty"`
- DeleteMarkerVersionId string `xml:"DeleteMarkerVersionId,omitempty"`
- }
- // DeleteError represents an error during batch delete
- type DeleteError struct {
- Key string `xml:"Key"`
- VersionId string `xml:"VersionId,omitempty"`
- Code string `xml:"Code"`
- Message string `xml:"Message"`
- }
- // Multipart Upload structures
- // InitiateMultipartUploadResult represents the response for CreateMultipartUpload
- type InitiateMultipartUploadResult struct {
- XMLName xml.Name `xml:"InitiateMultipartUploadResult"`
- Bucket string `xml:"Bucket"`
- Key string `xml:"Key"`
- UploadId string `xml:"UploadId"`
- }
- // CompleteMultipartUploadRequest represents the request to complete a multipart upload
- type CompleteMultipartUploadRequest struct {
- XMLName xml.Name `xml:"CompleteMultipartUpload"`
- Parts []CompletePart `xml:"Part"`
- }
- // CompletePart represents a part in the complete request
- type CompletePart struct {
- PartNumber int `xml:"PartNumber"`
- ETag string `xml:"ETag"`
- }
- // CompleteMultipartUploadResult represents the response for CompleteMultipartUpload
- type CompleteMultipartUploadResult struct {
- XMLName xml.Name `xml:"CompleteMultipartUploadResult"`
- Location string `xml:"Location"`
- Bucket string `xml:"Bucket"`
- Key string `xml:"Key"`
- ETag string `xml:"ETag"`
- }
- // AbortMultipartUploadOutput represents the response for AbortMultipartUpload
- type AbortMultipartUploadOutput struct {
- XMLName xml.Name `xml:"AbortMultipartUploadOutput"`
- }
- // ListPartsResult represents the response for ListParts
- type ListPartsResult struct {
- XMLName xml.Name `xml:"ListPartsResult"`
- Bucket string `xml:"Bucket"`
- Key string `xml:"Key"`
- UploadId string `xml:"UploadId"`
- Initiator Initiator `xml:"Initiator"`
- Owner Owner `xml:"Owner"`
- StorageClass string `xml:"StorageClass"`
- PartNumberMarker int `xml:"PartNumberMarker"`
- NextPartNumberMarker int `xml:"NextPartNumberMarker"`
- MaxParts int `xml:"MaxParts"`
- IsTruncated bool `xml:"IsTruncated"`
- Parts []Part `xml:"Part"`
- }
- // Initiator represents the initiator of a multipart upload
- type Initiator struct {
- ID string `xml:"ID"`
- DisplayName string `xml:"DisplayName"`
- }
- // Part represents an uploaded part
- type Part struct {
- PartNumber int `xml:"PartNumber"`
- LastModified string `xml:"LastModified"`
- ETag string `xml:"ETag"`
- Size int64 `xml:"Size"`
- }
- // ListMultipartUploadsResult represents the response for ListMultipartUploads
- type ListMultipartUploadsResult struct {
- XMLName xml.Name `xml:"ListMultipartUploadsResult"`
- Bucket string `xml:"Bucket"`
- KeyMarker string `xml:"KeyMarker,omitempty"`
- UploadIdMarker string `xml:"UploadIdMarker,omitempty"`
- NextKeyMarker string `xml:"NextKeyMarker,omitempty"`
- NextUploadIdMarker string `xml:"NextUploadIdMarker,omitempty"`
- MaxUploads int `xml:"MaxUploads"`
- IsTruncated bool `xml:"IsTruncated"`
- Uploads []MultipartUpload `xml:"Upload,omitempty"`
- Prefix string `xml:"Prefix,omitempty"`
- Delimiter string `xml:"Delimiter,omitempty"`
- }
- // MultipartUpload represents an in-progress multipart upload
- type MultipartUpload struct {
- Key string `xml:"Key"`
- UploadId string `xml:"UploadId"`
- Initiator Initiator `xml:"Initiator"`
- Owner Owner `xml:"Owner"`
- StorageClass string `xml:"StorageClass"`
- Initiated string `xml:"Initiated"`
- }
- // UploadPartOutput represents the response for UploadPart
- type UploadPartOutput struct {
- ETag string `xml:"-"` // Returned in header
- }
|