|
- // Copyright 2019 Huawei Technologies Co.,Ltd.
- // Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- // this file except in compliance with the License. You may obtain a copy of the
- // License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software distributed
- // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- // CONDITIONS OF ANY KIND, either express or implied. See the License for the
- // specific language governing permissions and limitations under the License.
-
- //nolint:golint, unused
- package obs
-
- import (
- "encoding/xml"
- "io"
- "net/http"
- "time"
- )
-
- // BaseModel defines base model response from OBS
- type BaseModel struct {
- StatusCode int `xml:"-"`
- RequestId string `xml:"RequestId" json:"request_id"`
- ResponseHeaders map[string][]string `xml:"-"`
- }
-
- // Bucket defines bucket properties
- type Bucket struct {
- XMLName xml.Name `xml:"Bucket"`
- Name string `xml:"Name"`
- CreationDate time.Time `xml:"CreationDate"`
- Location string `xml:"Location"`
- }
-
- // Owner defines owner properties
- type Owner struct {
- XMLName xml.Name `xml:"Owner"`
- ID string `xml:"ID"`
- DisplayName string `xml:"DisplayName,omitempty"`
- }
-
- // Initiator defines initiator properties
- type Initiator struct {
- XMLName xml.Name `xml:"Initiator"`
- ID string `xml:"ID"`
- DisplayName string `xml:"DisplayName,omitempty"`
- }
-
- // ListBucketsInput is the input parameter of ListBuckets function
- type ListBucketsInput struct {
- QueryLocation bool
- }
-
- // ListBucketsOutput is the result of ListBuckets function
- type ListBucketsOutput struct {
- BaseModel
- XMLName xml.Name `xml:"ListAllMyBucketsResult"`
- Owner Owner `xml:"Owner"`
- Buckets []Bucket `xml:"Buckets>Bucket"`
- }
-
- type bucketLocationObs struct {
- XMLName xml.Name `xml:"Location"`
- Location string `xml:",chardata"`
- }
-
- // BucketLocation defines bucket location configuration
- type BucketLocation struct {
- XMLName xml.Name `xml:"CreateBucketConfiguration"`
- Location string `xml:"LocationConstraint,omitempty"`
- }
-
- // CreateBucketInput is the input parameter of CreateBucket function
- type CreateBucketInput struct {
- BucketLocation
- Bucket string `xml:"-"`
- ACL AclType `xml:"-"`
- StorageClass StorageClassType `xml:"-"`
- GrantReadId string `xml:"-"`
- GrantWriteId string `xml:"-"`
- GrantReadAcpId string `xml:"-"`
- GrantWriteAcpId string `xml:"-"`
- GrantFullControlId string `xml:"-"`
- GrantReadDeliveredId string `xml:"-"`
- GrantFullControlDeliveredId string `xml:"-"`
- Epid string `xml:"-"`
- AvailableZone string `xml:"-"`
- }
-
- // BucketStoragePolicy defines the bucket storage class
- type BucketStoragePolicy struct {
- XMLName xml.Name `xml:"StoragePolicy"`
- StorageClass StorageClassType `xml:"DefaultStorageClass"`
- }
-
- // SetBucketStoragePolicyInput is the input parameter of SetBucketStoragePolicy function
- type SetBucketStoragePolicyInput struct {
- Bucket string `xml:"-"`
- BucketStoragePolicy
- }
-
- type getBucketStoragePolicyOutputS3 struct {
- BaseModel
- BucketStoragePolicy
- }
-
- // GetBucketStoragePolicyOutput is the result of GetBucketStoragePolicy function
- type GetBucketStoragePolicyOutput struct {
- BaseModel
- StorageClass string
- }
-
- type bucketStoragePolicyObs struct {
- XMLName xml.Name `xml:"StorageClass"`
- StorageClass string `xml:",chardata"`
- }
- type getBucketStoragePolicyOutputObs struct {
- BaseModel
- bucketStoragePolicyObs
- }
-
- // ListObjsInput defines parameters for listing objects
- type ListObjsInput struct {
- Prefix string
- MaxKeys int
- Delimiter string
- Origin string
- RequestHeader string
- }
-
- // ListObjectsInput is the input parameter of ListObjects function
- type ListObjectsInput struct {
- ListObjsInput
- Bucket string
- Marker string
- }
-
- // Content defines the object content properties
- type Content struct {
- XMLName xml.Name `xml:"Contents"`
- Owner Owner `xml:"Owner"`
- ETag string `xml:"ETag"`
- Key string `xml:"Key"`
- LastModified time.Time `xml:"LastModified"`
- Size int64 `xml:"Size"`
- StorageClass StorageClassType `xml:"StorageClass"`
- }
-
- // ListObjectsOutput is the result of ListObjects function
- type ListObjectsOutput struct {
- BaseModel
- XMLName xml.Name `xml:"ListBucketResult"`
- Delimiter string `xml:"Delimiter"`
- IsTruncated bool `xml:"IsTruncated"`
- Marker string `xml:"Marker"`
- NextMarker string `xml:"NextMarker"`
- MaxKeys int `xml:"MaxKeys"`
- Name string `xml:"Name"`
- Prefix string `xml:"Prefix"`
- Contents []Content `xml:"Contents"`
- CommonPrefixes []string `xml:"CommonPrefixes>Prefix"`
- Location string `xml:"-"`
- }
-
- // ListVersionsInput is the input parameter of ListVersions function
- type ListVersionsInput struct {
- ListObjsInput
- Bucket string
- KeyMarker string
- VersionIdMarker string
- }
-
- // Version defines the properties of versioning objects
- type Version struct {
- DeleteMarker
- XMLName xml.Name `xml:"Version"`
- ETag string `xml:"ETag"`
- Size int64 `xml:"Size"`
- }
-
- // DeleteMarker defines the properties of versioning delete markers
- type DeleteMarker struct {
- XMLName xml.Name `xml:"DeleteMarker"`
- Key string `xml:"Key"`
- VersionId string `xml:"VersionId"`
- IsLatest bool `xml:"IsLatest"`
- LastModified time.Time `xml:"LastModified"`
- Owner Owner `xml:"Owner"`
- StorageClass StorageClassType `xml:"StorageClass"`
- }
-
- // ListVersionsOutput is the result of ListVersions function
- type ListVersionsOutput struct {
- BaseModel
- XMLName xml.Name `xml:"ListVersionsResult"`
- Delimiter string `xml:"Delimiter"`
- IsTruncated bool `xml:"IsTruncated"`
- KeyMarker string `xml:"KeyMarker"`
- NextKeyMarker string `xml:"NextKeyMarker"`
- VersionIdMarker string `xml:"VersionIdMarker"`
- NextVersionIdMarker string `xml:"NextVersionIdMarker"`
- MaxKeys int `xml:"MaxKeys"`
- Name string `xml:"Name"`
- Prefix string `xml:"Prefix"`
- Versions []Version `xml:"Version"`
- DeleteMarkers []DeleteMarker `xml:"DeleteMarker"`
- CommonPrefixes []string `xml:"CommonPrefixes>Prefix"`
- Location string `xml:"-"`
- }
-
- // ListMultipartUploadsInput is the input parameter of ListMultipartUploads function
- type ListMultipartUploadsInput struct {
- Bucket string
- Prefix string
- MaxUploads int
- Delimiter string
- KeyMarker string
- UploadIdMarker string
- }
-
- // Upload defines multipart upload properties
- type Upload struct {
- XMLName xml.Name `xml:"Upload"`
- Key string `xml:"Key"`
- UploadId string `xml:"UploadId"`
- Initiated time.Time `xml:"Initiated"`
- StorageClass StorageClassType `xml:"StorageClass"`
- Owner Owner `xml:"Owner"`
- Initiator Initiator `xml:"Initiator"`
- }
-
- // ListMultipartUploadsOutput is the result of ListMultipartUploads function
- type ListMultipartUploadsOutput struct {
- BaseModel
- XMLName xml.Name `xml:"ListMultipartUploadsResult"`
- Bucket string `xml:"Bucket"`
- KeyMarker string `xml:"KeyMarker"`
- NextKeyMarker string `xml:"NextKeyMarker"`
- UploadIdMarker string `xml:"UploadIdMarker"`
- NextUploadIdMarker string `xml:"NextUploadIdMarker"`
- Delimiter string `xml:"Delimiter"`
- IsTruncated bool `xml:"IsTruncated"`
- MaxUploads int `xml:"MaxUploads"`
- Prefix string `xml:"Prefix"`
- Uploads []Upload `xml:"Upload"`
- CommonPrefixes []string `xml:"CommonPrefixes>Prefix"`
- }
-
- // BucketQuota defines bucket quota configuration
- type BucketQuota struct {
- XMLName xml.Name `xml:"Quota"`
- Quota int64 `xml:"StorageQuota"`
- }
-
- // SetBucketQuotaInput is the input parameter of SetBucketQuota function
- type SetBucketQuotaInput struct {
- Bucket string `xml:"-"`
- BucketQuota
- }
-
- // GetBucketQuotaOutput is the result of GetBucketQuota function
- type GetBucketQuotaOutput struct {
- BaseModel
- BucketQuota
- }
-
- // GetBucketStorageInfoOutput is the result of GetBucketStorageInfo function
- type GetBucketStorageInfoOutput struct {
- BaseModel
- XMLName xml.Name `xml:"GetBucketStorageInfoResult"`
- Size int64 `xml:"Size"`
- ObjectNumber int `xml:"ObjectNumber"`
- }
-
- type getBucketLocationOutputS3 struct {
- BaseModel
- BucketLocation
- }
- type getBucketLocationOutputObs struct {
- BaseModel
- bucketLocationObs
- }
-
- // GetBucketLocationOutput is the result of GetBucketLocation function
- type GetBucketLocationOutput struct {
- BaseModel
- Location string `xml:"-"`
- }
-
- // Grantee defines grantee properties
- type Grantee struct {
- XMLName xml.Name `xml:"Grantee"`
- Type GranteeType `xml:"type,attr"`
- ID string `xml:"ID,omitempty"`
- DisplayName string `xml:"DisplayName,omitempty"`
- URI GroupUriType `xml:"URI,omitempty"`
- }
-
- type granteeObs struct {
- XMLName xml.Name `xml:"Grantee"`
- Type GranteeType `xml:"type,attr"`
- ID string `xml:"ID,omitempty"`
- DisplayName string `xml:"DisplayName,omitempty"`
- Canned string `xml:"Canned,omitempty"`
- }
-
- // Grant defines grant properties
- type Grant struct {
- XMLName xml.Name `xml:"Grant"`
- Grantee Grantee `xml:"Grantee"`
- Permission PermissionType `xml:"Permission"`
- Delivered bool `xml:"Delivered"`
- }
- type grantObs struct {
- XMLName xml.Name `xml:"Grant"`
- Grantee granteeObs `xml:"Grantee"`
- Permission PermissionType `xml:"Permission"`
- Delivered bool `xml:"Delivered"`
- }
-
- // AccessControlPolicy defines access control policy properties
- type AccessControlPolicy struct {
- XMLName xml.Name `xml:"AccessControlPolicy"`
- Owner Owner `xml:"Owner"`
- Grants []Grant `xml:"AccessControlList>Grant"`
- Delivered string `xml:"Delivered,omitempty"`
- }
-
- type accessControlPolicyObs struct {
- XMLName xml.Name `xml:"AccessControlPolicy"`
- Owner Owner `xml:"Owner"`
- Grants []grantObs `xml:"AccessControlList>Grant"`
- }
-
- // GetBucketAclOutput is the result of GetBucketAcl function
- type GetBucketAclOutput struct {
- BaseModel
- AccessControlPolicy
- }
-
- type getBucketACLOutputObs struct {
- BaseModel
- accessControlPolicyObs
- }
-
- // SetBucketAclInput is the input parameter of SetBucketAcl function
- type SetBucketAclInput struct {
- Bucket string `xml:"-"`
- ACL AclType `xml:"-"`
- AccessControlPolicy
- }
-
- // SetBucketPolicyInput is the input parameter of SetBucketPolicy function
- type SetBucketPolicyInput struct {
- Bucket string
- Policy string
- }
-
- // GetBucketPolicyOutput is the result of GetBucketPolicy function
- type GetBucketPolicyOutput struct {
- BaseModel
- Policy string `json:"body"`
- }
-
- // CorsRule defines the CORS rules
- type CorsRule struct {
- XMLName xml.Name `xml:"CORSRule"`
- ID string `xml:"ID,omitempty"`
- AllowedOrigin []string `xml:"AllowedOrigin"`
- AllowedMethod []string `xml:"AllowedMethod"`
- AllowedHeader []string `xml:"AllowedHeader,omitempty"`
- MaxAgeSeconds int `xml:"MaxAgeSeconds"`
- ExposeHeader []string `xml:"ExposeHeader,omitempty"`
- }
-
- // BucketCors defines the bucket CORS configuration
- type BucketCors struct {
- XMLName xml.Name `xml:"CORSConfiguration"`
- CorsRules []CorsRule `xml:"CORSRule"`
- }
-
- // SetBucketCorsInput is the input parameter of SetBucketCors function
- type SetBucketCorsInput struct {
- Bucket string `xml:"-"`
- BucketCors
- }
-
- // GetBucketCorsOutput is the result of GetBucketCors function
- type GetBucketCorsOutput struct {
- BaseModel
- BucketCors
- }
-
- // BucketVersioningConfiguration defines the versioning configuration
- type BucketVersioningConfiguration struct {
- XMLName xml.Name `xml:"VersioningConfiguration"`
- Status VersioningStatusType `xml:"Status"`
- }
-
- // SetBucketVersioningInput is the input parameter of SetBucketVersioning function
- type SetBucketVersioningInput struct {
- Bucket string `xml:"-"`
- BucketVersioningConfiguration
- }
-
- // GetBucketVersioningOutput is the result of GetBucketVersioning function
- type GetBucketVersioningOutput struct {
- BaseModel
- BucketVersioningConfiguration
- }
-
- // IndexDocument defines the default page configuration
- type IndexDocument struct {
- Suffix string `xml:"Suffix"`
- }
-
- // ErrorDocument defines the error page configuration
- type ErrorDocument struct {
- Key string `xml:"Key,omitempty"`
- }
-
- // Condition defines condition in RoutingRule
- type Condition struct {
- XMLName xml.Name `xml:"Condition"`
- KeyPrefixEquals string `xml:"KeyPrefixEquals,omitempty"`
- HttpErrorCodeReturnedEquals string `xml:"HttpErrorCodeReturnedEquals,omitempty"`
- }
-
- // Redirect defines redirect in RoutingRule
- type Redirect struct {
- XMLName xml.Name `xml:"Redirect"`
- Protocol ProtocolType `xml:"Protocol,omitempty"`
- HostName string `xml:"HostName,omitempty"`
- ReplaceKeyPrefixWith string `xml:"ReplaceKeyPrefixWith,omitempty"`
- ReplaceKeyWith string `xml:"ReplaceKeyWith,omitempty"`
- HttpRedirectCode string `xml:"HttpRedirectCode,omitempty"`
- }
-
- // RoutingRule defines routing rules
- type RoutingRule struct {
- XMLName xml.Name `xml:"RoutingRule"`
- Condition Condition `xml:"Condition,omitempty"`
- Redirect Redirect `xml:"Redirect"`
- }
-
- // RedirectAllRequestsTo defines redirect in BucketWebsiteConfiguration
- type RedirectAllRequestsTo struct {
- XMLName xml.Name `xml:"RedirectAllRequestsTo"`
- Protocol ProtocolType `xml:"Protocol,omitempty"`
- HostName string `xml:"HostName"`
- }
-
- // BucketWebsiteConfiguration defines the bucket website configuration
- type BucketWebsiteConfiguration struct {
- XMLName xml.Name `xml:"WebsiteConfiguration"`
- RedirectAllRequestsTo RedirectAllRequestsTo `xml:"RedirectAllRequestsTo,omitempty"`
- IndexDocument IndexDocument `xml:"IndexDocument,omitempty"`
- ErrorDocument ErrorDocument `xml:"ErrorDocument,omitempty"`
- RoutingRules []RoutingRule `xml:"RoutingRules>RoutingRule,omitempty"`
- }
-
- // SetBucketWebsiteConfigurationInput is the input parameter of SetBucketWebsiteConfiguration function
- type SetBucketWebsiteConfigurationInput struct {
- Bucket string `xml:"-"`
- BucketWebsiteConfiguration
- }
-
- // GetBucketWebsiteConfigurationOutput is the result of GetBucketWebsiteConfiguration function
- type GetBucketWebsiteConfigurationOutput struct {
- BaseModel
- BucketWebsiteConfiguration
- }
-
- // GetBucketMetadataInput is the input parameter of GetBucketMetadata function
- type GetBucketMetadataInput struct {
- Bucket string
- Origin string
- RequestHeader string
- }
-
- // SetObjectMetadataInput is the input parameter of SetObjectMetadata function
- type SetObjectMetadataInput struct {
- Bucket string
- Key string
- VersionId string
- MetadataDirective MetadataDirectiveType
- CacheControl string
- ContentDisposition string
- ContentEncoding string
- ContentLanguage string
- ContentType string
- Expires string
- WebsiteRedirectLocation string
- StorageClass StorageClassType
- Metadata map[string]string
- }
-
- //SetObjectMetadataOutput is the result of SetObjectMetadata function
- type SetObjectMetadataOutput struct {
- BaseModel
- MetadataDirective MetadataDirectiveType
- CacheControl string
- ContentDisposition string
- ContentEncoding string
- ContentLanguage string
- ContentType string
- Expires string
- WebsiteRedirectLocation string
- StorageClass StorageClassType
- Metadata map[string]string
- }
-
- // GetBucketMetadataOutput is the result of GetBucketMetadata function
- type GetBucketMetadataOutput struct {
- BaseModel
- StorageClass StorageClassType
- Location string
- Version string
- AllowOrigin string
- AllowMethod string
- AllowHeader string
- MaxAgeSeconds int
- ExposeHeader string
- Epid string
- }
-
- // BucketLoggingStatus defines the bucket logging configuration
- type BucketLoggingStatus struct {
- XMLName xml.Name `xml:"BucketLoggingStatus"`
- Agency string `xml:"Agency,omitempty"`
- TargetBucket string `xml:"LoggingEnabled>TargetBucket,omitempty"`
- TargetPrefix string `xml:"LoggingEnabled>TargetPrefix,omitempty"`
- TargetGrants []Grant `xml:"LoggingEnabled>TargetGrants>Grant,omitempty"`
- }
-
- // SetBucketLoggingConfigurationInput is the input parameter of SetBucketLoggingConfiguration function
- type SetBucketLoggingConfigurationInput struct {
- Bucket string `xml:"-"`
- BucketLoggingStatus
- }
-
- // GetBucketLoggingConfigurationOutput is the result of GetBucketLoggingConfiguration function
- type GetBucketLoggingConfigurationOutput struct {
- BaseModel
- BucketLoggingStatus
- }
-
- // Transition defines transition property in LifecycleRule
- type Transition struct {
- XMLName xml.Name `xml:"Transition"`
- Date time.Time `xml:"Date,omitempty"`
- Days int `xml:"Days,omitempty"`
- StorageClass StorageClassType `xml:"StorageClass"`
- }
-
- // Expiration defines expiration property in LifecycleRule
- type Expiration struct {
- XMLName xml.Name `xml:"Expiration"`
- Date time.Time `xml:"Date,omitempty"`
- Days int `xml:"Days,omitempty"`
- }
-
- // NoncurrentVersionTransition defines noncurrentVersion transition property in LifecycleRule
- type NoncurrentVersionTransition struct {
- XMLName xml.Name `xml:"NoncurrentVersionTransition"`
- NoncurrentDays int `xml:"NoncurrentDays"`
- StorageClass StorageClassType `xml:"StorageClass"`
- }
-
- // NoncurrentVersionExpiration defines noncurrentVersion expiration property in LifecycleRule
- type NoncurrentVersionExpiration struct {
- XMLName xml.Name `xml:"NoncurrentVersionExpiration"`
- NoncurrentDays int `xml:"NoncurrentDays"`
- }
-
- // LifecycleRule defines lifecycle rule
- type LifecycleRule struct {
- ID string `xml:"ID,omitempty"`
- Prefix string `xml:"Prefix"`
- Status RuleStatusType `xml:"Status"`
- Transitions []Transition `xml:"Transition,omitempty"`
- Expiration Expiration `xml:"Expiration,omitempty"`
- NoncurrentVersionTransitions []NoncurrentVersionTransition `xml:"NoncurrentVersionTransition,omitempty"`
- NoncurrentVersionExpiration NoncurrentVersionExpiration `xml:"NoncurrentVersionExpiration,omitempty"`
- }
-
- // BucketLifecyleConfiguration defines the bucket lifecycle configuration
- type BucketLifecyleConfiguration struct {
- XMLName xml.Name `xml:"LifecycleConfiguration"`
- LifecycleRules []LifecycleRule `xml:"Rule"`
- }
-
- // SetBucketLifecycleConfigurationInput is the input parameter of SetBucketLifecycleConfiguration function
- type SetBucketLifecycleConfigurationInput struct {
- Bucket string `xml:"-"`
- BucketLifecyleConfiguration
- }
-
- // GetBucketLifecycleConfigurationOutput is the result of GetBucketLifecycleConfiguration function
- type GetBucketLifecycleConfigurationOutput struct {
- BaseModel
- BucketLifecyleConfiguration
- }
-
- // Tag defines tag property in BucketTagging
- type Tag struct {
- XMLName xml.Name `xml:"Tag"`
- Key string `xml:"Key"`
- Value string `xml:"Value"`
- }
-
- // BucketTagging defines the bucket tag configuration
- type BucketTagging struct {
- XMLName xml.Name `xml:"Tagging"`
- Tags []Tag `xml:"TagSet>Tag"`
- }
-
- // SetBucketTaggingInput is the input parameter of SetBucketTagging function
- type SetBucketTaggingInput struct {
- Bucket string `xml:"-"`
- BucketTagging
- }
-
- // GetBucketTaggingOutput is the result of GetBucketTagging function
- type GetBucketTaggingOutput struct {
- BaseModel
- BucketTagging
- }
-
- // FilterRule defines filter rule in TopicConfiguration
- type FilterRule struct {
- XMLName xml.Name `xml:"FilterRule"`
- Name string `xml:"Name,omitempty"`
- Value string `xml:"Value,omitempty"`
- }
-
- // TopicConfiguration defines the topic configuration
- type TopicConfiguration struct {
- XMLName xml.Name `xml:"TopicConfiguration"`
- ID string `xml:"Id,omitempty"`
- Topic string `xml:"Topic"`
- Events []EventType `xml:"Event"`
- FilterRules []FilterRule `xml:"Filter>Object>FilterRule"`
- }
-
- // BucketNotification defines the bucket notification configuration
- type BucketNotification struct {
- XMLName xml.Name `xml:"NotificationConfiguration"`
- TopicConfigurations []TopicConfiguration `xml:"TopicConfiguration"`
- }
-
- // SetBucketNotificationInput is the input parameter of SetBucketNotification function
- type SetBucketNotificationInput struct {
- Bucket string `xml:"-"`
- BucketNotification
- }
-
- type topicConfigurationS3 struct {
- XMLName xml.Name `xml:"TopicConfiguration"`
- ID string `xml:"Id,omitempty"`
- Topic string `xml:"Topic"`
- Events []string `xml:"Event"`
- FilterRules []FilterRule `xml:"Filter>S3Key>FilterRule"`
- }
-
- type bucketNotificationS3 struct {
- XMLName xml.Name `xml:"NotificationConfiguration"`
- TopicConfigurations []topicConfigurationS3 `xml:"TopicConfiguration"`
- }
-
- type getBucketNotificationOutputS3 struct {
- BaseModel
- bucketNotificationS3
- }
-
- // GetBucketNotificationOutput is the result of GetBucketNotification function
- type GetBucketNotificationOutput struct {
- BaseModel
- BucketNotification
- }
-
- // DeleteObjectInput is the input parameter of DeleteObject function
- type DeleteObjectInput struct {
- Bucket string
- Key string
- VersionId string
- }
-
- // DeleteObjectOutput is the result of DeleteObject function
- type DeleteObjectOutput struct {
- BaseModel
- VersionId string
- DeleteMarker bool
- }
-
- // ObjectToDelete defines the object property in DeleteObjectsInput
- type ObjectToDelete struct {
- XMLName xml.Name `xml:"Object"`
- Key string `xml:"Key"`
- VersionId string `xml:"VersionId,omitempty"`
- }
-
- // DeleteObjectsInput is the input parameter of DeleteObjects function
- type DeleteObjectsInput struct {
- Bucket string `xml:"-"`
- XMLName xml.Name `xml:"Delete"`
- Quiet bool `xml:"Quiet,omitempty"`
- Objects []ObjectToDelete `xml:"Object"`
- }
-
- // Deleted defines the deleted property in DeleteObjectsOutput
- type Deleted struct {
- XMLName xml.Name `xml:"Deleted"`
- Key string `xml:"Key"`
- VersionId string `xml:"VersionId"`
- DeleteMarker bool `xml:"DeleteMarker"`
- DeleteMarkerVersionId string `xml:"DeleteMarkerVersionId"`
- }
-
- // Error defines the error property in DeleteObjectsOutput
- type Error struct {
- XMLName xml.Name `xml:"Error"`
- Key string `xml:"Key"`
- VersionId string `xml:"VersionId"`
- Code string `xml:"Code"`
- Message string `xml:"Message"`
- }
-
- // DeleteObjectsOutput is the result of DeleteObjects function
- type DeleteObjectsOutput struct {
- BaseModel
- XMLName xml.Name `xml:"DeleteResult"`
- Deleteds []Deleted `xml:"Deleted"`
- Errors []Error `xml:"Error"`
- }
-
- // SetObjectAclInput is the input parameter of SetObjectAcl function
- type SetObjectAclInput struct {
- Bucket string `xml:"-"`
- Key string `xml:"-"`
- VersionId string `xml:"-"`
- ACL AclType `xml:"-"`
- AccessControlPolicy
- }
-
- // GetObjectAclInput is the input parameter of GetObjectAcl function
- type GetObjectAclInput struct {
- Bucket string
- Key string
- VersionId string
- }
-
- // GetObjectAclOutput is the result of GetObjectAcl function
- type GetObjectAclOutput struct {
- BaseModel
- VersionId string
- AccessControlPolicy
- }
-
- // RestoreObjectInput is the input parameter of RestoreObject function
- type RestoreObjectInput struct {
- Bucket string `xml:"-"`
- Key string `xml:"-"`
- VersionId string `xml:"-"`
- XMLName xml.Name `xml:"RestoreRequest"`
- Days int `xml:"Days"`
- Tier RestoreTierType `xml:"GlacierJobParameters>Tier,omitempty"`
- }
-
- // ISseHeader defines the sse encryption header
- type ISseHeader interface {
- GetEncryption() string
- GetKey() string
- }
-
- // SseKmsHeader defines the SseKms header
- type SseKmsHeader struct {
- Encryption string
- Key string
- isObs bool
- }
-
- // SseCHeader defines the SseC header
- type SseCHeader struct {
- Encryption string
- Key string
- KeyMD5 string
- }
-
- // GetObjectMetadataInput is the input parameter of GetObjectMetadata function
- type GetObjectMetadataInput struct {
- Bucket string
- Key string
- VersionId string
- Origin string
- RequestHeader string
- SseHeader ISseHeader
- }
-
- // GetObjectMetadataOutput is the result of GetObjectMetadata function
- type GetObjectMetadataOutput struct {
- BaseModel
- VersionId string
- WebsiteRedirectLocation string
- Expiration string
- Restore string
- ObjectType string
- NextAppendPosition string
- StorageClass StorageClassType
- ContentLength int64
- ContentType string
- ETag string
- AllowOrigin string
- AllowHeader string
- AllowMethod string
- ExposeHeader string
- MaxAgeSeconds int
- LastModified time.Time
- SseHeader ISseHeader
- Metadata map[string]string
- }
-
- // GetObjectInput is the input parameter of GetObject function
- type GetObjectInput struct {
- GetObjectMetadataInput
- IfMatch string
- IfNoneMatch string
- IfUnmodifiedSince time.Time
- IfModifiedSince time.Time
- RangeStart int64
- RangeEnd int64
- ImageProcess string
- ResponseCacheControl string
- ResponseContentDisposition string
- ResponseContentEncoding string
- ResponseContentLanguage string
- ResponseContentType string
- ResponseExpires string
- }
-
- // GetObjectOutput is the result of GetObject function
- type GetObjectOutput struct {
- GetObjectMetadataOutput
- DeleteMarker bool
- CacheControl string
- ContentDisposition string
- ContentEncoding string
- ContentLanguage string
- Expires string
- Body io.ReadCloser
- }
-
- // ObjectOperationInput defines the object operation properties
- type ObjectOperationInput struct {
- Bucket string
- Key string
- ACL AclType
- GrantReadId string
- GrantReadAcpId string
- GrantWriteAcpId string
- GrantFullControlId string
- StorageClass StorageClassType
- WebsiteRedirectLocation string
- Expires int64
- SseHeader ISseHeader
- Metadata map[string]string
- }
-
- // PutObjectBasicInput defines the basic object operation properties
- type PutObjectBasicInput struct {
- ObjectOperationInput
- ContentType string
- ContentMD5 string
- ContentLength int64
- }
-
- // PutObjectInput is the input parameter of PutObject function
- type PutObjectInput struct {
- PutObjectBasicInput
- Body io.Reader
- }
-
- // PutFileInput is the input parameter of PutFile function
- type PutFileInput struct {
- PutObjectBasicInput
- SourceFile string
- }
-
- // PutObjectOutput is the result of PutObject function
- type PutObjectOutput struct {
- BaseModel
- VersionId string
- SseHeader ISseHeader
- StorageClass StorageClassType
- ETag string
- }
-
- // CopyObjectInput is the input parameter of CopyObject function
- type CopyObjectInput struct {
- ObjectOperationInput
- CopySourceBucket string
- CopySourceKey string
- CopySourceVersionId string
- CopySourceIfMatch string
- CopySourceIfNoneMatch string
- CopySourceIfUnmodifiedSince time.Time
- CopySourceIfModifiedSince time.Time
- SourceSseHeader ISseHeader
- CacheControl string
- ContentDisposition string
- ContentEncoding string
- ContentLanguage string
- ContentType string
- Expires string
- MetadataDirective MetadataDirectiveType
- SuccessActionRedirect string
- }
-
- // CopyObjectOutput is the result of CopyObject function
- type CopyObjectOutput struct {
- BaseModel
- CopySourceVersionId string `xml:"-"`
- VersionId string `xml:"-"`
- SseHeader ISseHeader `xml:"-"`
- XMLName xml.Name `xml:"CopyObjectResult"`
- LastModified time.Time `xml:"LastModified"`
- ETag string `xml:"ETag"`
- }
-
- // AbortMultipartUploadInput is the input parameter of AbortMultipartUpload function
- type AbortMultipartUploadInput struct {
- Bucket string
- Key string
- UploadId string
- }
-
- // InitiateMultipartUploadInput is the input parameter of InitiateMultipartUpload function
- type InitiateMultipartUploadInput struct {
- ObjectOperationInput
- ContentType string
- }
-
- // InitiateMultipartUploadOutput is the result of InitiateMultipartUpload function
- type InitiateMultipartUploadOutput struct {
- BaseModel
- XMLName xml.Name `xml:"InitiateMultipartUploadResult"`
- Bucket string `xml:"Bucket"`
- Key string `xml:"Key"`
- UploadId string `xml:"UploadId"`
- SseHeader ISseHeader
- }
-
- // UploadPartInput is the input parameter of UploadPart function
- type UploadPartInput struct {
- Bucket string
- Key string
- PartNumber int
- UploadId string
- ContentMD5 string
- SseHeader ISseHeader
- Body io.Reader
- SourceFile string
- Offset int64
- PartSize int64
- }
-
- // UploadPartOutput is the result of UploadPart function
- type UploadPartOutput struct {
- BaseModel
- PartNumber int
- ETag string
- SseHeader ISseHeader
- }
-
- // Part defines the part properties
- type Part struct {
- XMLName xml.Name `xml:"Part"`
- PartNumber int `xml:"PartNumber"`
- ETag string `xml:"ETag"`
- LastModified time.Time `xml:"LastModified,omitempty"`
- Size int64 `xml:"Size,omitempty"`
- }
-
- // CompleteMultipartUploadInput is the input parameter of CompleteMultipartUpload function
- type CompleteMultipartUploadInput struct {
- Bucket string `xml:"-"`
- Key string `xml:"-"`
- UploadId string `xml:"-"`
- XMLName xml.Name `xml:"CompleteMultipartUpload"`
- Parts []Part `xml:"Part"`
- }
-
- // CompleteMultipartUploadOutput is the result of CompleteMultipartUpload function
- type CompleteMultipartUploadOutput struct {
- BaseModel
- VersionId string `xml:"-"`
- SseHeader ISseHeader `xml:"-"`
- XMLName xml.Name `xml:"CompleteMultipartUploadResult"`
- Location string `xml:"Location"`
- Bucket string `xml:"Bucket"`
- Key string `xml:"Key"`
- ETag string `xml:"ETag"`
- }
-
- // ListPartsInput is the input parameter of ListParts function
- type ListPartsInput struct {
- Bucket string
- Key string
- UploadId string
- MaxParts int
- PartNumberMarker int
- }
-
- // ListPartsOutput is the result of ListParts function
- type ListPartsOutput struct {
- BaseModel
- XMLName xml.Name `xml:"ListPartsResult"`
- Bucket string `xml:"Bucket"`
- Key string `xml:"Key"`
- UploadId string `xml:"UploadId"`
- PartNumberMarker int `xml:"PartNumberMarker"`
- NextPartNumberMarker int `xml:"NextPartNumberMarker"`
- MaxParts int `xml:"MaxParts"`
- IsTruncated bool `xml:"IsTruncated"`
- StorageClass StorageClassType `xml:"StorageClass"`
- Initiator Initiator `xml:"Initiator"`
- Owner Owner `xml:"Owner"`
- Parts []Part `xml:"Part"`
- }
-
- // CopyPartInput is the input parameter of CopyPart function
- type CopyPartInput struct {
- Bucket string
- Key string
- UploadId string
- PartNumber int
- CopySourceBucket string
- CopySourceKey string
- CopySourceVersionId string
- CopySourceRangeStart int64
- CopySourceRangeEnd int64
- SseHeader ISseHeader
- SourceSseHeader ISseHeader
- }
-
- // CopyPartOutput is the result of CopyPart function
- type CopyPartOutput struct {
- BaseModel
- XMLName xml.Name `xml:"CopyPartResult"`
- PartNumber int `xml:"-"`
- ETag string `xml:"ETag"`
- LastModified time.Time `xml:"LastModified"`
- SseHeader ISseHeader `xml:"-"`
- }
-
- // CreateSignedUrlInput is the input parameter of CreateSignedUrl function
- type CreateSignedUrlInput struct {
- Method HttpMethodType
- Bucket string
- Key string
- SubResource SubResourceType
- Expires int
- Headers map[string]string
- QueryParams map[string]string
- }
-
- // CreateSignedUrlOutput is the result of CreateSignedUrl function
- type CreateSignedUrlOutput struct {
- SignedUrl string
- ActualSignedRequestHeaders http.Header
- }
-
- // CreateBrowserBasedSignatureInput is the input parameter of CreateBrowserBasedSignature function.
- type CreateBrowserBasedSignatureInput struct {
- Bucket string
- Key string
- Expires int
- FormParams map[string]string
- }
-
- // CreateBrowserBasedSignatureOutput is the result of CreateBrowserBasedSignature function.
- type CreateBrowserBasedSignatureOutput struct {
- OriginPolicy string
- Policy string
- Algorithm string
- Credential string
- Date string
- Signature string
- }
-
- // HeadObjectInput is the input parameter of HeadObject function
- type HeadObjectInput struct {
- Bucket string
- Key string
- VersionId string
- }
-
- // BucketPayer defines the request payment configuration
- type BucketPayer struct {
- XMLName xml.Name `xml:"RequestPaymentConfiguration"`
- Payer PayerType `xml:"Payer"`
- }
-
- // SetBucketRequestPaymentInput is the input parameter of SetBucketRequestPayment function
- type SetBucketRequestPaymentInput struct {
- Bucket string `xml:"-"`
- BucketPayer
- }
-
- // GetBucketRequestPaymentOutput is the result of GetBucketRequestPayment function
- type GetBucketRequestPaymentOutput struct {
- BaseModel
- BucketPayer
- }
-
- // UploadFileInput is the input parameter of UploadFile function
- type UploadFileInput struct {
- ObjectOperationInput
- ContentType string
- UploadFile string
- PartSize int64
- TaskNum int
- EnableCheckpoint bool
- CheckpointFile string
- }
-
- // DownloadFileInput is the input parameter of DownloadFile function
- type DownloadFileInput struct {
- GetObjectMetadataInput
- IfMatch string
- IfNoneMatch string
- IfModifiedSince time.Time
- IfUnmodifiedSince time.Time
- DownloadFile string
- PartSize int64
- TaskNum int
- EnableCheckpoint bool
- CheckpointFile string
- }
-
- // SetBucketFetchPolicyInput is the input parameter of SetBucketFetchPolicy function
- type SetBucketFetchPolicyInput struct {
- Bucket string
- Status FetchPolicyStatusType `json:"status"`
- Agency string `json:"agency"`
- }
-
- // GetBucketFetchPolicyInput is the input parameter of GetBucketFetchPolicy function
- type GetBucketFetchPolicyInput struct {
- Bucket string
- }
-
- // GetBucketFetchPolicyOutput is the result of GetBucketFetchPolicy function
- type GetBucketFetchPolicyOutput struct {
- BaseModel
- FetchResponse `json:"fetch"`
- }
-
- // FetchResponse defines the response fetch policy configuration
- type FetchResponse struct {
- Status FetchPolicyStatusType `json:"status"`
- Agency string `json:"agency"`
- }
-
- // DeleteBucketFetchPolicyInput is the input parameter of DeleteBucketFetchPolicy function
- type DeleteBucketFetchPolicyInput struct {
- Bucket string
- }
-
- // SetBucketFetchJobInput is the input parameter of SetBucketFetchJob function
- type SetBucketFetchJobInput struct {
- Bucket string `json:"bucket"`
- URL string `json:"url"`
- Host string `json:"host,omitempty"`
- Key string `json:"key,omitempty"`
- Md5 string `json:"md5,omitempty"`
- CallBackURL string `json:"callbackurl,omitempty"`
- CallBackBody string `json:"callbackbody,omitempty"`
- CallBackBodyType string `json:"callbackbodytype,omitempty"`
- CallBackHost string `json:"callbackhost,omitempty"`
- FileType string `json:"file_type,omitempty"`
- IgnoreSameKey bool `json:"ignore_same_key,omitempty"`
- ObjectHeaders map[string]string `json:"objectheaders,omitempty"`
- Etag string `json:"etag,omitempty"`
- TrustName string `json:"trustname,omitempty"`
- }
-
- // SetBucketFetchJobOutput is the result of SetBucketFetchJob function
- type SetBucketFetchJobOutput struct {
- BaseModel
- SetBucketFetchJobResponse
- }
-
- // SetBucketFetchJobResponse defines the response SetBucketFetchJob configuration
- type SetBucketFetchJobResponse struct {
- ID string `json:"id"`
- Wait int `json:"Wait"`
- }
-
- // GetBucketFetchJobInput is the input parameter of GetBucketFetchJob function
- type GetBucketFetchJobInput struct {
- Bucket string
- JobID string
- }
-
- // GetBucketFetchJobOutput is the result of GetBucketFetchJob function
- type GetBucketFetchJobOutput struct {
- BaseModel
- GetBucketFetchJobResponse
- }
-
- // GetBucketFetchJobResponse defines the response fetch job configuration
- type GetBucketFetchJobResponse struct {
- Err string `json:"err"`
- Code string `json:"code"`
- Status string `json:"status"`
- Job JobResponse `json:"job"`
- }
-
- // JobResponse defines the response job configuration
- type JobResponse struct {
- Bucket string `json:"bucket"`
- URL string `json:"url"`
- Host string `json:"host"`
- Key string `json:"key"`
- Md5 string `json:"md5"`
- CallBackURL string `json:"callbackurl"`
- CallBackBody string `json:"callbackbody"`
- CallBackBodyType string `json:"callbackbodytype"`
- CallBackHost string `json:"callbackhost"`
- FileType string `json:"file_type"`
- IgnoreSameKey bool `json:"ignore_same_key"`
- }
|