qingstor

package
v2.0.0-beta.1+incompat... Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2016 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package qingstor provides QingStor Service API (API Version 2016-01-06)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ACLType

type ACLType struct {
	Grantee *GranteeType `json:"grantee" name:"grantee"` // Required
	// Permission for this grantee
	// Permission's available values: READ, WRITE, FULL_CONTROL
	Permission string `json:"permission" name:"permission"` // Required

}

func (*ACLType) Validate

func (v *ACLType) Validate() error

type AbortMultipartUploadInput

type AbortMultipartUploadInput struct {
	// Object multipart upload ID
	UploadID string `json:"upload_id" name:"upload_id" location:"params"` // Required

}

func (*AbortMultipartUploadInput) Validate

func (v *AbortMultipartUploadInput) Validate() error

type AbortMultipartUploadOutput

type AbortMultipartUploadOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type Bucket

type Bucket struct {
	Config     *config.Config
	Properties *Properties
}

func (*Bucket) AbortMultipartUpload

func (s *Bucket) AbortMultipartUpload(objectKey string, input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error)

AbortMultipartUpload: Abort multipart upload. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/abort_multipart_upload.html

func (*Bucket) AbortMultipartUploadRequest

func (s *Bucket) AbortMultipartUploadRequest(objectKey string, input *AbortMultipartUploadInput) (*request.Request, *AbortMultipartUploadOutput, error)

AbortMultipartUploadRequest creates request and output object of AbortMultipartUpload.

func (*Bucket) CompleteMultipartUpload

func (s *Bucket) CompleteMultipartUpload(objectKey string, input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error)

CompleteMultipartUpload: Complete multipart upload. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/complete_multipart_upload.html

func (*Bucket) CompleteMultipartUploadRequest

func (s *Bucket) CompleteMultipartUploadRequest(objectKey string, input *CompleteMultipartUploadInput) (*request.Request, *CompleteMultipartUploadOutput, error)

CompleteMultipartUploadRequest creates request and output object of CompleteMultipartUpload.

func (*Bucket) Delete

func (s *Bucket) Delete() (*DeleteBucketOutput, error)

Delete: Delete a bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/delete.html

func (*Bucket) DeleteCORS

func (s *Bucket) DeleteCORS() (*DeleteBucketCORSOutput, error)

DeleteCORS: Delete CORS information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/cors/delete_cors.html

func (*Bucket) DeleteCORSRequest

func (s *Bucket) DeleteCORSRequest() (*request.Request, *DeleteBucketCORSOutput, error)

DeleteCORSRequest creates request and output object of DeleteBucketCORS.

func (*Bucket) DeleteExternalMirror

func (s *Bucket) DeleteExternalMirror() (*DeleteBucketExternalMirrorOutput, error)

DeleteExternalMirror: Delete external mirror of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/external_mirror/delete_external_mirror.html

func (*Bucket) DeleteExternalMirrorRequest

func (s *Bucket) DeleteExternalMirrorRequest() (*request.Request, *DeleteBucketExternalMirrorOutput, error)

DeleteExternalMirrorRequest creates request and output object of DeleteBucketExternalMirror.

func (*Bucket) DeleteMultipleObjects

func (s *Bucket) DeleteMultipleObjects(input *DeleteMultipleObjectsInput) (*DeleteMultipleObjectsOutput, error)

DeleteMultipleObjects: Delete multiple objects from the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/delete_multiple.html

func (*Bucket) DeleteMultipleObjectsRequest

func (s *Bucket) DeleteMultipleObjectsRequest(input *DeleteMultipleObjectsInput) (*request.Request, *DeleteMultipleObjectsOutput, error)

DeleteMultipleObjectsRequest creates request and output object of DeleteMultipleObjects.

func (*Bucket) DeleteObject

func (s *Bucket) DeleteObject(objectKey string) (*DeleteObjectOutput, error)

DeleteObject: Delete the object. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/delete.html

func (*Bucket) DeleteObjectRequest

func (s *Bucket) DeleteObjectRequest(objectKey string) (*request.Request, *DeleteObjectOutput, error)

DeleteObjectRequest creates request and output object of DeleteObject.

func (*Bucket) DeletePolicy

func (s *Bucket) DeletePolicy() (*DeleteBucketPolicyOutput, error)

DeletePolicy: Delete policy information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/policy/delete_policy.html

func (*Bucket) DeletePolicyRequest

func (s *Bucket) DeletePolicyRequest() (*request.Request, *DeleteBucketPolicyOutput, error)

DeletePolicyRequest creates request and output object of DeleteBucketPolicy.

func (*Bucket) DeleteRequest

func (s *Bucket) DeleteRequest() (*request.Request, *DeleteBucketOutput, error)

DeleteRequest creates request and output object of DeleteBucket.

func (*Bucket) GetACL

func (s *Bucket) GetACL() (*GetBucketACLOutput, error)

GetACL: Get ACL information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/get_acl.html

func (*Bucket) GetACLRequest

func (s *Bucket) GetACLRequest() (*request.Request, *GetBucketACLOutput, error)

GetACLRequest creates request and output object of GetBucketACL.

func (*Bucket) GetCORS

func (s *Bucket) GetCORS() (*GetBucketCORSOutput, error)

GetCORS: Get CORS information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/cors/get_cors.html

func (*Bucket) GetCORSRequest

func (s *Bucket) GetCORSRequest() (*request.Request, *GetBucketCORSOutput, error)

GetCORSRequest creates request and output object of GetBucketCORS.

func (*Bucket) GetExternalMirror

func (s *Bucket) GetExternalMirror() (*GetBucketExternalMirrorOutput, error)

GetExternalMirror: Get external mirror of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/external_mirror/get_external_mirror.html

func (*Bucket) GetExternalMirrorRequest

func (s *Bucket) GetExternalMirrorRequest() (*request.Request, *GetBucketExternalMirrorOutput, error)

GetExternalMirrorRequest creates request and output object of GetBucketExternalMirror.

func (*Bucket) GetObject

func (s *Bucket) GetObject(objectKey string, input *GetObjectInput) (*GetObjectOutput, error)

GetObject: Retrieve the object. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/get.html

func (*Bucket) GetObjectRequest

func (s *Bucket) GetObjectRequest(objectKey string, input *GetObjectInput) (*request.Request, *GetObjectOutput, error)

GetObjectRequest creates request and output object of GetObject.

func (*Bucket) GetPolicy

func (s *Bucket) GetPolicy() (*GetBucketPolicyOutput, error)

GetPolicy: Get policy information of the bucket. Documentation URL: https://https://docs.qingcloud.com/qingstor/api/bucket/policy/get_policy.html

func (*Bucket) GetPolicyRequest

func (s *Bucket) GetPolicyRequest() (*request.Request, *GetBucketPolicyOutput, error)

GetPolicyRequest creates request and output object of GetBucketPolicy.

func (*Bucket) GetStatistics

func (s *Bucket) GetStatistics() (*GetBucketStatisticsOutput, error)

GetStatistics: Get statistics information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/get_stats.html

func (*Bucket) GetStatisticsRequest

func (s *Bucket) GetStatisticsRequest() (*request.Request, *GetBucketStatisticsOutput, error)

GetStatisticsRequest creates request and output object of GetBucketStatistics.

func (*Bucket) Head

func (s *Bucket) Head() (*HeadBucketOutput, error)

Head: Check whether the bucket exists and available. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/head.html

func (*Bucket) HeadObject

func (s *Bucket) HeadObject(objectKey string, input *HeadObjectInput) (*HeadObjectOutput, error)

HeadObject: Check whether the object exists and available. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/head.html

func (*Bucket) HeadObjectRequest

func (s *Bucket) HeadObjectRequest(objectKey string, input *HeadObjectInput) (*request.Request, *HeadObjectOutput, error)

HeadObjectRequest creates request and output object of HeadObject.

func (*Bucket) HeadRequest

func (s *Bucket) HeadRequest() (*request.Request, *HeadBucketOutput, error)

HeadRequest creates request and output object of HeadBucket.

func (*Bucket) InitiateMultipartUpload

func (s *Bucket) InitiateMultipartUpload(objectKey string, input *InitiateMultipartUploadInput) (*InitiateMultipartUploadOutput, error)

InitiateMultipartUpload: Initial multipart upload on the object. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/initiate_multipart_upload.html

func (*Bucket) InitiateMultipartUploadRequest

func (s *Bucket) InitiateMultipartUploadRequest(objectKey string, input *InitiateMultipartUploadInput) (*request.Request, *InitiateMultipartUploadOutput, error)

InitiateMultipartUploadRequest creates request and output object of InitiateMultipartUpload.

func (*Bucket) ListMultipart

func (s *Bucket) ListMultipart(objectKey string, input *ListMultipartInput) (*ListMultipartOutput, error)

ListMultipart: List object parts. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/list_multipart.html

func (*Bucket) ListMultipartRequest

func (s *Bucket) ListMultipartRequest(objectKey string, input *ListMultipartInput) (*request.Request, *ListMultipartOutput, error)

ListMultipartRequest creates request and output object of ListMultipart.

func (*Bucket) ListObjects

func (s *Bucket) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error)

ListObjects: Retrieve the object list in a bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/get.html

func (*Bucket) ListObjectsRequest

func (s *Bucket) ListObjectsRequest(input *ListObjectsInput) (*request.Request, *ListObjectsOutput, error)

ListObjectsRequest creates request and output object of ListObjects.

func (*Bucket) OptionsObject

func (s *Bucket) OptionsObject(objectKey string, input *OptionsObjectInput) (*OptionsObjectOutput, error)

OptionsObject: Check whether the object accepts a origin with method and header. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/options.html

func (*Bucket) OptionsObjectRequest

func (s *Bucket) OptionsObjectRequest(objectKey string, input *OptionsObjectInput) (*request.Request, *OptionsObjectOutput, error)

OptionsObjectRequest creates request and output object of OptionsObject.

func (*Bucket) Put

func (s *Bucket) Put() (*PutBucketOutput, error)

Put: Create a new bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/put.html

func (*Bucket) PutACL

func (s *Bucket) PutACL(input *PutBucketACLInput) (*PutBucketACLOutput, error)

PutACL: Set ACL information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/put_acl.html

func (*Bucket) PutACLRequest

func (s *Bucket) PutACLRequest(input *PutBucketACLInput) (*request.Request, *PutBucketACLOutput, error)

PutACLRequest creates request and output object of PutBucketACL.

func (*Bucket) PutCORS

func (s *Bucket) PutCORS(input *PutBucketCORSInput) (*PutBucketCORSOutput, error)

PutCORS: Set CORS information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/cors/put_cors.html

func (*Bucket) PutCORSRequest

func (s *Bucket) PutCORSRequest(input *PutBucketCORSInput) (*request.Request, *PutBucketCORSOutput, error)

PutCORSRequest creates request and output object of PutBucketCORS.

func (*Bucket) PutExternalMirror

PutExternalMirror: Set external mirror of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/external_mirror/put_external_mirror.html

func (*Bucket) PutExternalMirrorRequest

func (s *Bucket) PutExternalMirrorRequest(input *PutBucketExternalMirrorInput) (*request.Request, *PutBucketExternalMirrorOutput, error)

PutExternalMirrorRequest creates request and output object of PutBucketExternalMirror.

func (*Bucket) PutObject

func (s *Bucket) PutObject(objectKey string, input *PutObjectInput) (*PutObjectOutput, error)

PutObject: Upload the object. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/put.html

func (*Bucket) PutObjectRequest

func (s *Bucket) PutObjectRequest(objectKey string, input *PutObjectInput) (*request.Request, *PutObjectOutput, error)

PutObjectRequest creates request and output object of PutObject.

func (*Bucket) PutPolicy

func (s *Bucket) PutPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error)

PutPolicy: Set policy information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/policy/put_policy.html

func (*Bucket) PutPolicyRequest

func (s *Bucket) PutPolicyRequest(input *PutBucketPolicyInput) (*request.Request, *PutBucketPolicyOutput, error)

PutPolicyRequest creates request and output object of PutBucketPolicy.

func (*Bucket) PutRequest

func (s *Bucket) PutRequest() (*request.Request, *PutBucketOutput, error)

PutRequest creates request and output object of PutBucket.

func (*Bucket) UploadMultipart

func (s *Bucket) UploadMultipart(objectKey string, input *UploadMultipartInput) (*UploadMultipartOutput, error)

UploadMultipart: Upload object multipart. Documentation URL: https://docs.qingcloud.com/qingstor/api/object/multipart/upload_multipart.html

func (*Bucket) UploadMultipartRequest

func (s *Bucket) UploadMultipartRequest(objectKey string, input *UploadMultipartInput) (*request.Request, *UploadMultipartOutput, error)

UploadMultipartRequest creates request and output object of UploadMultipart.

type BucketType

type BucketType struct {
	// Created time of the bucket
	Created time.Time `json:"created,omitempty" name:"created" format:"ISO 8601"`
	// QingCloud Zone ID
	Location string `json:"location,omitempty" name:"location"`
	// Bucket name
	Name string `json:"name,omitempty" name:"name"`
	// URL to access the bucket
	URL string `json:"url,omitempty" name:"url"`
}

func (*BucketType) Validate

func (v *BucketType) Validate() error

type CORSRuleType

type CORSRuleType struct {
	// Allowed headers
	AllowedHeaders []string `json:"allowed_headers,omitempty" name:"allowed_headers"`
	// Allowed methods
	AllowedMethods []string `json:"allowed_methods" name:"allowed_methods"` // Required
	// Allowed origin
	AllowedOrigin string `json:"allowed_origin" name:"allowed_origin"` // Required
	// Expose headers
	ExposeHeaders []string `json:"expose_headers,omitempty" name:"expose_headers"`
	// Max age seconds
	MaxAgeSeconds int `json:"max_age_seconds,omitempty" name:"max_age_seconds"`
}

func (*CORSRuleType) Validate

func (v *CORSRuleType) Validate() error

type CompleteMultipartUploadInput

type CompleteMultipartUploadInput struct {
	// Object multipart upload ID
	UploadID string `json:"upload_id" name:"upload_id" location:"params"` // Required

	// MD5sum of the object part
	ETag string `json:"ETag,omitempty" name:"ETag" location:"headers"`
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
	// Encryption key of the object
	XQSEncryptionCustomerKey string `json:"X-QS-Encryption-Customer-Key,omitempty" name:"X-QS-Encryption-Customer-Key" location:"headers"`
	// MD5sum of encryption key
	XQSEncryptionCustomerKeyMD5 string `json:"X-QS-Encryption-Customer-Key-MD5,omitempty" name:"X-QS-Encryption-Customer-Key-MD5" location:"headers"`

	// Object parts
	ObjectParts []*ObjectPartType `json:"object_parts,omitempty" name:"object_parts" location:"elements"`
}

func (*CompleteMultipartUploadInput) Validate

func (v *CompleteMultipartUploadInput) Validate() error

type CompleteMultipartUploadOutput

type CompleteMultipartUploadOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type ConditionType

type ConditionType struct {
	IsNull        *IsNullType        `json:"is_null,omitempty" name:"is_null"`
	StringLike    *StringLikeType    `json:"string_like,omitempty" name:"string_like"`
	StringNotLike *StringNotLikeType `json:"string_not_like,omitempty" name:"string_not_like"`
}

func (*ConditionType) Validate

func (v *ConditionType) Validate() error

type DeleteBucketCORSOutput

type DeleteBucketCORSOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type DeleteBucketExternalMirrorOutput

type DeleteBucketExternalMirrorOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type DeleteBucketOutput

type DeleteBucketOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type DeleteBucketPolicyOutput

type DeleteBucketPolicyOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type DeleteMultipleObjectsInput

type DeleteMultipleObjectsInput struct {
	// Object MD5sum
	ContentMD5 string `json:"Content-MD5" name:"Content-MD5" location:"headers"` // Required

	// A list of keys to delete
	Objects []*KeyType `json:"objects" name:"objects" location:"elements"` // Required
	// Whether to return the list of deleted objects
	Quiet bool `json:"quiet,omitempty" name:"quiet" location:"elements"`
}

func (*DeleteMultipleObjectsInput) Validate

func (v *DeleteMultipleObjectsInput) Validate() error

type DeleteMultipleObjectsOutput

type DeleteMultipleObjectsOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// List of deleted objects
	Deleted []*KeyType `json:"deleted,omitempty" name:"deleted" location:"elements"`
	// Error messages
	Errors []*KeyDeleteErrorType `json:"errors,omitempty" name:"errors" location:"elements"`
}

type DeleteObjectOutput

type DeleteObjectOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type GetBucketACLOutput

type GetBucketACLOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Bucket ACL rules
	ACL []*ACLType `json:"acl,omitempty" name:"acl" location:"elements"`
	// Bucket owner
	Owner *OwnerType `json:"owner,omitempty" name:"owner" location:"elements"`
}

type GetBucketCORSOutput

type GetBucketCORSOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Bucket CORS rules
	CORSRules []*CORSRuleType `json:"cors_rules,omitempty" name:"cors_rules" location:"elements"`
}

type GetBucketExternalMirrorOutput

type GetBucketExternalMirrorOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Source site url
	SourceSite string `json:"source_site,omitempty" name:"source_site" location:"elements"`
}

type GetBucketPolicyOutput

type GetBucketPolicyOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Bucket policy statement
	Statement []*StatementType `json:"statement,omitempty" name:"statement" location:"elements"`
}

type GetBucketStatisticsOutput

type GetBucketStatisticsOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Objects count in the bucket
	Count int `json:"count,omitempty" name:"count" location:"elements"`
	// Bucket created time
	Created time.Time `json:"created,omitempty" name:"created" format:"ISO 8601" location:"elements"`
	// QingCloud Zone ID
	Location string `json:"location,omitempty" name:"location" location:"elements"`
	// Bucket name
	Name string `json:"name,omitempty" name:"name" location:"elements"`
	// Bucket storage size
	Size int `json:"size,omitempty" name:"size" location:"elements"`
	// Bucket status
	// Status's available values: active, suspended
	Status string `json:"status,omitempty" name:"status" location:"elements"`
	// URL to access the bucket
	URL string `json:"url,omitempty" name:"url" location:"elements"`
}

type GetObjectInput

type GetObjectInput struct {
	// Check whether the ETag matches
	IfMatch string `json:"If-Match,omitempty" name:"If-Match" location:"headers"`
	// Check whether the object has been modified
	IfModifiedSince time.Time `json:"If-Modified-Since,omitempty" name:"If-Modified-Since" format:"RFC 822" location:"headers"`
	// Check whether the ETag does not match
	IfNoneMatch string `json:"If-None-Match,omitempty" name:"If-None-Match" location:"headers"`
	// Check whether the object has not been modified
	IfUnmodifiedSince time.Time `json:"If-Unmodified-Since,omitempty" name:"If-Unmodified-Since" format:"RFC 822" location:"headers"`
	// Specified range of the object
	Range string `json:"Range,omitempty" name:"Range" location:"headers"`
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
	// Encryption key of the object
	XQSEncryptionCustomerKey string `json:"X-QS-Encryption-Customer-Key,omitempty" name:"X-QS-Encryption-Customer-Key" location:"headers"`
	// MD5sum of encryption key
	XQSEncryptionCustomerKeyMD5 string `json:"X-QS-Encryption-Customer-Key-MD5,omitempty" name:"X-QS-Encryption-Customer-Key-MD5" location:"headers"`
}

func (*GetObjectInput) Validate

func (v *GetObjectInput) Validate() error

type GetObjectOutput

type GetObjectOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// The response body
	Body io.ReadCloser `location:"body"`

	// Range of response data content
	ContentRange string `json:"Content-Range,omitempty" name:"Content-Range" location:"headers"`
	// MD5sum of the object
	ETag string `json:"ETag,omitempty" name:"ETag" location:"headers"`
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
}

type GranteeType

type GranteeType struct {
	// Grantee user ID
	ID string `json:"id,omitempty" name:"id"`
	// Grantee group name
	Name string `json:"name,omitempty" name:"name"`
	// Grantee type
	// Type's available values: user, group
	Type string `json:"type" name:"type"` // Required

}

func (*GranteeType) Validate

func (v *GranteeType) Validate() error

type HeadBucketOutput

type HeadBucketOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type HeadObjectInput

type HeadObjectInput struct {
	// Check whether the ETag matches
	IfMatch string `json:"If-Match,omitempty" name:"If-Match" location:"headers"`
	// Check whether the object has been modified
	IfModifiedSince time.Time `json:"If-Modified-Since,omitempty" name:"If-Modified-Since" format:"RFC 822" location:"headers"`
	// Check whether the ETag does not match
	IfNoneMatch string `json:"If-None-Match,omitempty" name:"If-None-Match" location:"headers"`
	// Check whether the object has not been modified
	IfUnmodifiedSince time.Time `json:"If-Unmodified-Since,omitempty" name:"If-Unmodified-Since" format:"RFC 822" location:"headers"`
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
	// Encryption key of the object
	XQSEncryptionCustomerKey string `json:"X-QS-Encryption-Customer-Key,omitempty" name:"X-QS-Encryption-Customer-Key" location:"headers"`
	// MD5sum of encryption key
	XQSEncryptionCustomerKeyMD5 string `json:"X-QS-Encryption-Customer-Key-MD5,omitempty" name:"X-QS-Encryption-Customer-Key-MD5" location:"headers"`
}

func (*HeadObjectInput) Validate

func (v *HeadObjectInput) Validate() error

type HeadObjectOutput

type HeadObjectOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Object content length
	ContentLength int `json:"Content-Length,omitempty" name:"Content-Length" location:"headers"`
	// Object content type
	ContentType string `json:"Content-Type,omitempty" name:"Content-Type" location:"headers"`
	// MD5sum of the object
	ETag         string    `json:"ETag,omitempty" name:"ETag" location:"headers"`
	LastModified time.Time `json:"Last-Modified,omitempty" name:"Last-Modified" format:"RFC 822" location:"headers"`
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
}

type InitiateMultipartUploadInput

type InitiateMultipartUploadInput struct {
	// Object content type
	ContentType string `json:"Content-Type,omitempty" name:"Content-Type" location:"headers"`
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
	// Encryption key of the object
	XQSEncryptionCustomerKey string `json:"X-QS-Encryption-Customer-Key,omitempty" name:"X-QS-Encryption-Customer-Key" location:"headers"`
	// MD5sum of encryption key
	XQSEncryptionCustomerKeyMD5 string `json:"X-QS-Encryption-Customer-Key-MD5,omitempty" name:"X-QS-Encryption-Customer-Key-MD5" location:"headers"`
}

func (*InitiateMultipartUploadInput) Validate

func (v *InitiateMultipartUploadInput) Validate() error

type InitiateMultipartUploadOutput

type InitiateMultipartUploadOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Bucket name
	Bucket string `json:"bucket,omitempty" name:"bucket" location:"elements"`
	// Object key
	Key string `json:"key,omitempty" name:"key" location:"elements"`
	// Object multipart upload ID
	UploadID string `json:"upload_id,omitempty" name:"upload_id" location:"elements"`

	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
}

type IsNullType

type IsNullType struct {
	// Refer url
	Referer bool `json:"Referer,omitempty" name:"Referer"`
}

func (*IsNullType) Validate

func (v *IsNullType) Validate() error

type KeyDeleteErrorType

type KeyDeleteErrorType struct {
	// Error code
	Code string `json:"code,omitempty" name:"code"`
	// Object key
	Key string `json:"key,omitempty" name:"key"`
	// Error message
	Message string `json:"message,omitempty" name:"message"`
}

func (*KeyDeleteErrorType) Validate

func (v *KeyDeleteErrorType) Validate() error

type KeyType

type KeyType struct {
	// Object created time
	Created time.Time `json:"created,omitempty" name:"created" format:"ISO 8601"`
	// MD5sum of the object
	Etag string `json:"etag,omitempty" name:"etag"`
	// Object key
	Key string `json:"key,omitempty" name:"key"`
	// MIME type of the object
	MimeType string `json:"mime_type,omitempty" name:"mime_type"`
	// Last modified time in unix time format
	Modified int `json:"modified,omitempty" name:"modified"`
	// Object content size
	Size int `json:"size,omitempty" name:"size"`
}

func (*KeyType) Validate

func (v *KeyType) Validate() error

type ListBucketsInput

type ListBucketsInput struct {
	// Limits results to buckets that in the location
	Location string `json:"Location,omitempty" name:"Location" location:"headers"`
}

func (*ListBucketsInput) Validate

func (v *ListBucketsInput) Validate() error

type ListBucketsOutput

type ListBucketsOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Buckets information
	Buckets []*BucketType `json:"buckets,omitempty" name:"buckets" location:"elements"`
	// Bucket count
	Count int `json:"count,omitempty" name:"count" location:"elements"`
}

type ListMultipartInput

type ListMultipartInput struct {
	// Limit results count
	Limit int `json:"limit,omitempty" name:"limit" location:"params"`
	// Object multipart upload part number
	PartNumberMarker int `json:"part_number_marker,omitempty" name:"part_number_marker" location:"params"`
	// Object multipart upload ID
	UploadID string `json:"upload_id" name:"upload_id" location:"params"` // Required

}

func (*ListMultipartInput) Validate

func (v *ListMultipartInput) Validate() error

type ListMultipartOutput

type ListMultipartOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Object multipart count
	Count int `json:"count,omitempty" name:"count" location:"elements"`
	// Object parts
	ObjectParts []*ObjectPartType `json:"object_parts,omitempty" name:"object_parts" location:"elements"`
}

type ListObjectsInput

type ListObjectsInput struct {
	// Put all keys that share a common prefix into a list
	Delimiter string `json:"delimiter,omitempty" name:"delimiter" location:"params"`
	// Results count limit
	Limit int `json:"limit,omitempty" name:"limit" location:"params"`
	// Limit results to keys that start at this marker
	Marker string `json:"marker,omitempty" name:"marker" location:"params"`
	// Limits results to keys that begin with the prefix
	Prefix string `json:"prefix,omitempty" name:"prefix" location:"params"`
}

func (*ListObjectsInput) Validate

func (v *ListObjectsInput) Validate() error

type ListObjectsOutput

type ListObjectsOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Other object keys that share common prefixes
	CommonPrefixes []string `json:"common_prefixes,omitempty" name:"common_prefixes" location:"elements"`
	// Delimiter that specified in request parameters
	Delimiter string `json:"delimiter,omitempty" name:"delimiter" location:"elements"`
	// Object keys
	Keys []*KeyType `json:"keys,omitempty" name:"keys" location:"elements"`
	// Limit that specified in request parameters
	Limit int `json:"limit,omitempty" name:"limit" location:"elements"`
	// Marker that specified in request parameters
	Marker string `json:"marker,omitempty" name:"marker" location:"elements"`
	// Bucket name
	Name string `json:"name,omitempty" name:"name" location:"elements"`
	// The last key in keys list
	NextMarker string `json:"next_marker,omitempty" name:"next_marker" location:"elements"`
	// Bucket owner
	Owner *OwnerType `json:"owner,omitempty" name:"owner" location:"elements"`
	// Prefix that specified in request parameters
	Prefix string `json:"prefix,omitempty" name:"prefix" location:"elements"`
}

type ObjectPartType

type ObjectPartType struct {
	// Object part created time
	Created time.Time `json:"created,omitempty" name:"created" format:"ISO 8601"`
	// MD5sum of the object part
	Etag string `json:"etag,omitempty" name:"etag"`
	// Object part number
	PartNumber int `json:"part_number" name:"part_number" default:"0"` // Required
	// Object part size
	Size int `json:"size,omitempty" name:"size"`
}

func (*ObjectPartType) Validate

func (v *ObjectPartType) Validate() error

type OptionsObjectInput

type OptionsObjectInput struct {
	// Request headers
	AccessControlRequestHeaders string `json:"Access-Control-Request-Headers,omitempty" name:"Access-Control-Request-Headers" location:"headers"`
	// Request method
	AccessControlRequestMethod string `json:"Access-Control-Request-Method" name:"Access-Control-Request-Method" location:"headers"` // Required
	// Request origin
	Origin string `json:"Origin" name:"Origin" location:"headers"` // Required

}

func (*OptionsObjectInput) Validate

func (v *OptionsObjectInput) Validate() error

type OptionsObjectOutput

type OptionsObjectOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`

	// Allowed headers
	AccessControlAllowHeaders string `json:"Access-Control-Allow-Headers,omitempty" name:"Access-Control-Allow-Headers" location:"headers"`
	// Allowed methods
	AccessControlAllowMethods string `json:"Access-Control-Allow-Methods,omitempty" name:"Access-Control-Allow-Methods" location:"headers"`
	// Allowed origin
	AccessControlAllowOrigin string `json:"Access-Control-Allow-Origin,omitempty" name:"Access-Control-Allow-Origin" location:"headers"`
	// Expose headers
	AccessControlExposeHeaders string `json:"Access-Control-Expose-Headers,omitempty" name:"Access-Control-Expose-Headers" location:"headers"`
	// Max age
	AccessControlMaxAge string `json:"Access-Control-Max-Age,omitempty" name:"Access-Control-Max-Age" location:"headers"`
}

type OwnerType

type OwnerType struct {
	// User ID
	ID string `json:"id,omitempty" name:"id"`
	// Username
	Name string `json:"name,omitempty" name:"name"`
}

func (*OwnerType) Validate

func (v *OwnerType) Validate() error

type Properties

type Properties struct {
	// Bucket name
	BucketName string `json:"bucket-name" name:"bucket-name"` // Required
	// Object key
	ObjectKey string `json:"object-key" name:"object-key"` // Required
	// QingCloud Zone ID
	Zone string `json:"zone" name:"zone"`
}

type PutBucketACLInput

type PutBucketACLInput struct {
	// Bucket ACL rules
	ACL []*ACLType `json:"acl" name:"acl" location:"elements"` // Required

}

func (*PutBucketACLInput) Validate

func (v *PutBucketACLInput) Validate() error

type PutBucketACLOutput

type PutBucketACLOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type PutBucketCORSInput

type PutBucketCORSInput struct {
	// Bucket CORS rules
	CORSRules []*CORSRuleType `json:"cors_rules" name:"cors_rules" location:"elements"` // Required

}

func (*PutBucketCORSInput) Validate

func (v *PutBucketCORSInput) Validate() error

type PutBucketCORSOutput

type PutBucketCORSOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type PutBucketExternalMirrorInput

type PutBucketExternalMirrorInput struct {
	// Source site url
	SourceSite string `json:"source_site" name:"source_site" location:"elements"` // Required

}

func (*PutBucketExternalMirrorInput) Validate

func (v *PutBucketExternalMirrorInput) Validate() error

type PutBucketExternalMirrorOutput

type PutBucketExternalMirrorOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type PutBucketOutput

type PutBucketOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type PutBucketPolicyInput

type PutBucketPolicyInput struct {
	// Bucket policy statement
	Statement []*StatementType `json:"statement" name:"statement" location:"elements"` // Required

}

func (*PutBucketPolicyInput) Validate

func (v *PutBucketPolicyInput) Validate() error

type PutBucketPolicyOutput

type PutBucketPolicyOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type PutObjectInput

type PutObjectInput struct {
	// Object content size
	ContentLength int `json:"Content-Length" name:"Content-Length" location:"headers"` // Required
	// Object MD5sum
	ContentMD5 string `json:"Content-MD5,omitempty" name:"Content-MD5" location:"headers"`
	// Object content type
	ContentType string `json:"Content-Type,omitempty" name:"Content-Type" location:"headers"`
	// Used to indicate that particular server behaviors are required by the client
	Expect string `json:"Expect,omitempty" name:"Expect" location:"headers"`
	// Copy source, format (/<bucket-name>/<object-key>)
	XQSCopySource string `json:"X-QS-Copy-Source,omitempty" name:"X-QS-Copy-Source" location:"headers"`
	// Encryption algorithm of the object
	XQSCopySourceEncryptionCustomerAlgorithm string `` /* 136-byte string literal not displayed */
	// Encryption key of the object
	XQSCopySourceEncryptionCustomerKey string `json:"X-QS-Copy-Source-Encryption-Customer-Key,omitempty" name:"X-QS-Copy-Source-Encryption-Customer-Key" location:"headers"`
	// MD5sum of encryption key
	XQSCopySourceEncryptionCustomerKeyMD5 string `` /* 132-byte string literal not displayed */
	// Check whether the copy source matches
	XQSCopySourceIfMatch string `json:"X-QS-Copy-Source-If-Match,omitempty" name:"X-QS-Copy-Source-If-Match" location:"headers"`
	// Check whether the copy source has been modified
	XQSCopySourceIfModifiedSince time.Time `` /* 129-byte string literal not displayed */
	// Check whether the copy source does not match
	XQSCopySourceIfNoneMatch string `json:"X-QS-Copy-Source-If-None-Match,omitempty" name:"X-QS-Copy-Source-If-None-Match" location:"headers"`
	// Check whether the copy source has not been modified
	XQSCopySourceIfUnmodifiedSince time.Time `` /* 133-byte string literal not displayed */
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
	// Encryption key of the object
	XQSEncryptionCustomerKey string `json:"X-QS-Encryption-Customer-Key,omitempty" name:"X-QS-Encryption-Customer-Key" location:"headers"`
	// MD5sum of encryption key
	XQSEncryptionCustomerKeyMD5 string `json:"X-QS-Encryption-Customer-Key-MD5,omitempty" name:"X-QS-Encryption-Customer-Key-MD5" location:"headers"`
	// Fetch source, should be a valid url
	XQSFetchSource string `json:"X-QS-Fetch-Source,omitempty" name:"X-QS-Fetch-Source" location:"headers"`
	// Move source, format (/<bucket-name>/<object-key>)
	XQSMoveSource string `json:"X-QS-Move-Source,omitempty" name:"X-QS-Move-Source" location:"headers"`

	// The request body
	Body io.Reader `location:"body"`
}

func (*PutObjectInput) Validate

func (v *PutObjectInput) Validate() error

type PutObjectOutput

type PutObjectOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

type Service

type Service struct {
	Config *config.Config
}

QingStorService: QingStor provides low-cost and reliable online storage service with unlimited storage space, high read and write performance, high reliability and data safety, fine-grained access control, and easy to use API.

func Init

func Init(c *config.Config) (*Service, error)

func (*Service) Bucket

func (s *Service) Bucket(bucketName string, zone string) (*Bucket, error)

func (*Service) ListBuckets

func (s *Service) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error)

ListBuckets: Retrieve the bucket list. Documentation URL: https://docs.qingcloud.com/qingstor/api/service/get.html

func (*Service) ListBucketsRequest

func (s *Service) ListBucketsRequest(input *ListBucketsInput) (*request.Request, *ListBucketsOutput, error)

ListBucketsRequest creates request and output object of ListBuckets.

type StatementType

type StatementType struct {
	// QingStor API methods
	Action    []string       `json:"action" name:"action"` // Required
	Condition *ConditionType `json:"condition,omitempty" name:"condition"`
	// Statement effect
	// Effect's available values: allow, deny
	Effect string `json:"effect" name:"effect"` // Required
	// Bucket policy id, must be unique
	ID string `json:"id" name:"id"` // Required
	// The resources to apply bucket policy
	Resource []string `json:"resource" name:"resource"` // Required
	// The user to apply bucket policy
	User []string `json:"user" name:"user"` // Required

}

func (*StatementType) Validate

func (v *StatementType) Validate() error

type StringLikeType

type StringLikeType struct {
	// Refer url
	Referer []string `json:"Referer,omitempty" name:"Referer"`
}

func (*StringLikeType) Validate

func (v *StringLikeType) Validate() error

type StringNotLikeType

type StringNotLikeType struct {
	// Refer url
	Referer []string `json:"Referer,omitempty" name:"Referer"`
}

func (*StringNotLikeType) Validate

func (v *StringNotLikeType) Validate() error

type UploadMultipartInput

type UploadMultipartInput struct {
	// Object multipart upload part number
	PartNumber int `json:"part_number" name:"part_number" default:"0" location:"params"` // Required
	// Object multipart upload ID
	UploadID string `json:"upload_id" name:"upload_id" location:"params"` // Required

	// Object multipart content length
	ContentLength int `json:"Content-Length,omitempty" name:"Content-Length" location:"headers"`
	// Object multipart content MD5sum
	ContentMD5 string `json:"Content-MD5,omitempty" name:"Content-MD5" location:"headers"`
	// Encryption algorithm of the object
	XQSEncryptionCustomerAlgorithm string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"`
	// Encryption key of the object
	XQSEncryptionCustomerKey string `json:"X-QS-Encryption-Customer-Key,omitempty" name:"X-QS-Encryption-Customer-Key" location:"headers"`
	// MD5sum of encryption key
	XQSEncryptionCustomerKeyMD5 string `json:"X-QS-Encryption-Customer-Key-MD5,omitempty" name:"X-QS-Encryption-Customer-Key-MD5" location:"headers"`

	// The request body
	Body io.Reader `location:"body"`
}

func (*UploadMultipartInput) Validate

func (v *UploadMultipartInput) Validate() error

type UploadMultipartOutput

type UploadMultipartOutput struct {
	StatusCode int `location:"statusCode"`

	RequestID string `location:"requestID"`
}

Jump to

Keyboard shortcuts

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