obs

package
v0.0.0-...-ed476dc Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: Apache-2.0 Imports: 35 Imported by: 3

README

README

Version

3.23.12

How to change local obs sdk

  • Try to submit pull request to the official repository: OBS-Repository, and waiting for the PR closing.
  • If you have to change local obs sdk, you need to record this change in the table below
commit pull request description date
dab1291b283ee292638537274b9506de6eec5241 GH-11 get proxy URL from env 2021.09.10
893f81801b653bada3a912b293a92bade2adb399 GH-109 support bucket cross-region 2022.01.29

How to update local obs sdk from official repository

  • Cover your local obs sdk package with the official repository and commit changes.

  • Cherry-pick local change commit records, and handling conflicts.

  • Update the Version

Documentation

Index

Constants

View Source
const (
	OBS_SDK_VERSION        = "3.23.12"
	USER_AGENT             = "obs-sdk-go/" + OBS_SDK_VERSION
	HEADER_PREFIX          = "x-amz-"
	HEADER_PREFIX_META     = "x-amz-meta-"
	HEADER_PREFIX_OBS      = "x-obs-"
	HEADER_PREFIX_META_OBS = "x-obs-meta-"
	HEADER_DATE_AMZ        = "x-amz-date"
	HEADER_DATE_OBS        = "x-obs-date"
	HEADER_STS_TOKEN_AMZ   = "x-amz-security-token"
	HEADER_STS_TOKEN_OBS   = "x-obs-security-token"
	HEADER_ACCESSS_KEY_AMZ = "AWSAccessKeyId"
	PREFIX_META            = "meta-"

	HEADER_CONTENT_SHA256_AMZ               = "x-amz-content-sha256"
	HEADER_ACL_AMZ                          = "x-amz-acl"
	HEADER_ACL_OBS                          = "x-obs-acl"
	HEADER_ACL                              = "acl"
	HEADER_LOCATION_AMZ                     = "location"
	HEADER_BUCKET_LOCATION_OBS              = "bucket-location"
	HEADER_COPY_SOURCE                      = "copy-source"
	HEADER_COPY_SOURCE_RANGE                = "copy-source-range"
	HEADER_RANGE                            = "Range"
	HEADER_STORAGE_CLASS                    = "x-default-storage-class"
	HEADER_STORAGE_CLASS_OBS                = "x-obs-storage-class"
	HEADER_FS_FILE_INTERFACE_OBS            = "x-obs-fs-file-interface"
	HEADER_MODE                             = "mode"
	HEADER_VERSION_OBS                      = "version"
	HEADER_REQUEST_PAYER                    = "x-amz-request-payer"
	HEADER_GRANT_READ_OBS                   = "grant-read"
	HEADER_GRANT_WRITE_OBS                  = "grant-write"
	HEADER_GRANT_READ_ACP_OBS               = "grant-read-acp"
	HEADER_GRANT_WRITE_ACP_OBS              = "grant-write-acp"
	HEADER_GRANT_FULL_CONTROL_OBS           = "grant-full-control"
	HEADER_GRANT_READ_DELIVERED_OBS         = "grant-read-delivered"
	HEADER_GRANT_FULL_CONTROL_DELIVERED_OBS = "grant-full-control-delivered"
	HEADER_REQUEST_ID                       = "request-id"
	HEADER_ERROR_CODE                       = "error-code"
	HEADER_ERROR_MESSAGE                    = "error-message"
	HEADER_BUCKET_REGION                    = "bucket-region"
	HEADER_ACCESS_CONRTOL_ALLOW_ORIGIN      = "access-control-allow-origin"
	HEADER_ACCESS_CONRTOL_ALLOW_HEADERS     = "access-control-allow-headers"
	HEADER_ACCESS_CONRTOL_MAX_AGE           = "access-control-max-age"
	HEADER_ACCESS_CONRTOL_ALLOW_METHODS     = "access-control-allow-methods"
	HEADER_ACCESS_CONRTOL_EXPOSE_HEADERS    = "access-control-expose-headers"
	HEADER_EPID_HEADERS                     = "epid"
	HEADER_VERSION_ID                       = "version-id"
	HEADER_COPY_SOURCE_VERSION_ID           = "copy-source-version-id"
	HEADER_DELETE_MARKER                    = "delete-marker"
	HEADER_WEBSITE_REDIRECT_LOCATION        = "website-redirect-location"
	HEADER_METADATA_DIRECTIVE               = "metadata-directive"
	HEADER_EXPIRATION                       = "expiration"
	HEADER_EXPIRES_OBS                      = "x-obs-expires"
	HEADER_RESTORE                          = "restore"
	HEADER_OBJECT_TYPE                      = "object-type"
	HEADER_NEXT_APPEND_POSITION             = "next-append-position"
	HEADER_STORAGE_CLASS2                   = "storage-class"
	HEADER_CONTENT_LENGTH                   = "content-length"
	HEADER_CONTENT_TYPE                     = "content-type"
	HEADER_CONTENT_LANGUAGE                 = "content-language"
	HEADER_EXPIRES                          = "expires"
	HEADER_CACHE_CONTROL                    = "cache-control"
	HEADER_CONTENT_DISPOSITION              = "content-disposition"
	HEADER_CONTENT_ENCODING                 = "content-encoding"
	HEADER_AZ_REDUNDANCY                    = "az-redundancy"
	HEADER_BUCKET_TYPE                      = "bucket-type"
	HEADER_BUCKET_REDUNDANCY                = "bucket-redundancy"
	HEADER_FUSION_ALLOW_UPGRADE             = "fusion-allow-upgrade"
	HEADER_FUSION_ALLOW_ALT                 = "fusion-allow-alternative"

	HEADER_ETAG         = "etag"
	HEADER_LASTMODIFIED = "last-modified"

	HEADER_COPY_SOURCE_IF_MATCH            = "copy-source-if-match"
	HEADER_COPY_SOURCE_IF_NONE_MATCH       = "copy-source-if-none-match"
	HEADER_COPY_SOURCE_IF_MODIFIED_SINCE   = "copy-source-if-modified-since"
	HEADER_COPY_SOURCE_IF_UNMODIFIED_SINCE = "copy-source-if-unmodified-since"

	HEADER_IF_MATCH            = "If-Match"
	HEADER_IF_NONE_MATCH       = "If-None-Match"
	HEADER_IF_MODIFIED_SINCE   = "If-Modified-Since"
	HEADER_IF_UNMODIFIED_SINCE = "If-Unmodified-Since"

	HEADER_SSEC_ENCRYPTION = "server-side-encryption-customer-algorithm"
	HEADER_SSEC_KEY        = "server-side-encryption-customer-key"
	HEADER_SSEC_KEY_MD5    = "server-side-encryption-customer-key-MD5"

	HEADER_SSEKMS_ENCRYPTION      = "server-side-encryption"
	HEADER_SSEKMS_KEY             = "server-side-encryption-aws-kms-key-id"
	HEADER_SSEKMS_ENCRYPT_KEY_OBS = "server-side-encryption-kms-key-id"

	HEADER_SSEC_COPY_SOURCE_ENCRYPTION = "copy-source-server-side-encryption-customer-algorithm"
	HEADER_SSEC_COPY_SOURCE_KEY        = "copy-source-server-side-encryption-customer-key"
	HEADER_SSEC_COPY_SOURCE_KEY_MD5    = "copy-source-server-side-encryption-customer-key-MD5"

	HEADER_SSEKMS_KEY_AMZ = "x-amz-server-side-encryption-aws-kms-key-id"

	HEADER_SSEKMS_KEY_OBS = "x-obs-server-side-encryption-kms-key-id"

	HEADER_SUCCESS_ACTION_REDIRECT = "success_action_redirect"

	HEADER_DATE_CAMEL                          = "Date"
	HEADER_HOST_CAMEL                          = "Host"
	HEADER_HOST                                = "host"
	HEADER_AUTH_CAMEL                          = "Authorization"
	HEADER_MD5_CAMEL                           = "Content-MD5"
	HEADER_LOCATION_CAMEL                      = "Location"
	HEADER_CONTENT_LENGTH_CAMEL                = "Content-Length"
	HEADER_CONTENT_TYPE_CAML                   = "Content-Type"
	HEADER_USER_AGENT_CAMEL                    = "User-Agent"
	HEADER_ORIGIN_CAMEL                        = "Origin"
	HEADER_ACCESS_CONTROL_REQUEST_HEADER_CAMEL = "Access-Control-Request-Headers"
	HEADER_CACHE_CONTROL_CAMEL                 = "Cache-Control"
	HEADER_CONTENT_DISPOSITION_CAMEL           = "Content-Disposition"
	HEADER_CONTENT_ENCODING_CAMEL              = "Content-Encoding"
	HEADER_CONTENT_LANGUAGE_CAMEL              = "Content-Language"
	HEADER_EXPIRES_CAMEL                       = "Expires"
	HEADER_ACCEPT_ENCODING                     = "Accept-Encoding"

	PARAM_VERSION_ID                   = "versionId"
	PARAM_RESPONSE_CONTENT_TYPE        = "response-content-type"
	PARAM_RESPONSE_CONTENT_LANGUAGE    = "response-content-language"
	PARAM_RESPONSE_EXPIRES             = "response-expires"
	PARAM_RESPONSE_CACHE_CONTROL       = "response-cache-control"
	PARAM_RESPONSE_CONTENT_DISPOSITION = "response-content-disposition"
	PARAM_RESPONSE_CONTENT_ENCODING    = "response-content-encoding"
	PARAM_IMAGE_PROCESS                = "x-image-process"

	PARAM_ALGORITHM_AMZ_CAMEL     = "X-Amz-Algorithm"
	PARAM_CREDENTIAL_AMZ_CAMEL    = "X-Amz-Credential"
	PARAM_DATE_AMZ_CAMEL          = "X-Amz-Date"
	PARAM_DATE_OBS_CAMEL          = "X-Obs-Date"
	PARAM_EXPIRES_AMZ_CAMEL       = "X-Amz-Expires"
	PARAM_SIGNEDHEADERS_AMZ_CAMEL = "X-Amz-SignedHeaders"
	PARAM_SIGNATURE_AMZ_CAMEL     = "X-Amz-Signature"

	DEFAULT_SIGNATURE            = SignatureV2
	DEFAULT_REGION               = "region"
	DEFAULT_CONNECT_TIMEOUT      = 60
	DEFAULT_SOCKET_TIMEOUT       = 60
	DEFAULT_HEADER_TIMEOUT       = 60
	DEFAULT_IDLE_CONN_TIMEOUT    = 30
	DEFAULT_MAX_RETRY_COUNT      = 3
	DEFAULT_MAX_REDIRECT_COUNT   = 3
	DEFAULT_MAX_CONN_PER_HOST    = 1000
	UNSIGNED_PAYLOAD             = "UNSIGNED-PAYLOAD"
	LONG_DATE_FORMAT             = "20060102T150405Z"
	SHORT_DATE_FORMAT            = "20060102"
	ISO8601_DATE_FORMAT          = "2006-01-02T15:04:05Z"
	ISO8601_MIDNIGHT_DATE_FORMAT = "2006-01-02T00:00:00Z"
	RFC1123_FORMAT               = "Mon, 02 Jan 2006 15:04:05 GMT"

	V4_SERVICE_NAME   = "s3"
	V4_SERVICE_SUFFIX = "aws4_request"

	V2_HASH_PREFIX  = "AWS"
	OBS_HASH_PREFIX = "OBS"

	V4_HASH_PREFIX = "AWS4-HMAC-SHA256"
	V4_HASH_PRE    = "AWS4"

	DEFAULT_SSE_KMS_ENCRYPTION     = "aws:kms"
	DEFAULT_SSE_KMS_ENCRYPTION_OBS = "kms"

	DEFAULT_SSE_C_ENCRYPTION = "AES256"

	HTTP_GET     = "GET"
	HTTP_POST    = "POST"
	HTTP_PUT     = "PUT"
	HTTP_DELETE  = "DELETE"
	HTTP_HEAD    = "HEAD"
	HTTP_OPTIONS = "OPTIONS"

	REQUEST_PAYER = "request-payer"
	TRAFFIC_LIMIT = "traffic-limit"
	CALLBACK      = "callback"
	MULTI_AZ      = "3az"

	MAX_PART_SIZE     = 5 * 1024 * 1024 * 1024
	MIN_PART_SIZE     = 100 * 1024
	DEFAULT_PART_SIZE = 9 * 1024 * 1024
	MAX_PART_NUM      = 10000

	GET_OBJECT    = "GetObject"
	PUT_OBJECT    = "PutObject"
	PUT_FILE      = "PutFile"
	APPEND_OBJECT = "AppendObject"
)

Variables

View Source
var ErrPoolShutDown = errors.New("RoutinePool is shutdown")

ErrPoolShutDown will be returned if RoutinePool is shutdown

View Source
var ErrSubmitTimeout = errors.New("Submit task timeout")

ErrSubmitTimeout will be returned if submit task timeout when calling SubmitWithTimeout function

View Source
var ErrTaskInvalid = errors.New("Task is nil")

ErrTaskInvalid will be returned if the task is nil

View Source
var ErrTaskReject = errors.New("Submit task is rejected")

ErrTaskReject will be returned if submit task is rejected

Functions

func Base64Decode

func Base64Decode(value string) ([]byte, error)

Base64Decode wrapper of base64.StdEncoding.DecodeString

func Base64Encode

func Base64Encode(value []byte) string

Base64Encode wrapper of base64.StdEncoding.EncodeToString

func Base64Md5

func Base64Md5(value []byte) string

Base64Md5 returns the md5 value of input with Base64Encode

func CloseLog

func CloseLog()

CloseLog disable logging and synchronize cache data to log files

func ConverntObsRestoreToXml

func ConverntObsRestoreToXml(restoreObjectInput RestoreObjectInput) string

ConverntObsRestoreToXml converts RestoreObjectInput value to XML data and returns it

func ConvertAclToXml

func ConvertAclToXml(input AccessControlPolicy, returnMd5 bool, isObs bool) (data string, md5 string)

ConvertAclToXml converts AccessControlPolicy value to XML data and returns it

func ConvertCompleteMultipartUploadInputToXml

func ConvertCompleteMultipartUploadInputToXml(input CompleteMultipartUploadInput, returnMd5 bool) (data string, md5 string)

ConvertCompleteMultipartUploadInputToXml converts CompleteMultipartUploadInput value to XML data and returns it

func ConvertEncryptionConfigurationToXml

func ConvertEncryptionConfigurationToXml(input BucketEncryptionConfiguration, returnMd5 bool, isObs bool) (data string, md5 string)

ConvertEncryptionConfigurationToXml converts BucketEncryptionConfiguration value to XML data and returns it

func ConvertLifecycleConfigurationToXml

func ConvertLifecycleConfigurationToXml(input BucketLifecycleConfiguration, returnMd5 bool, isObs bool) (data string, md5 string)

ConvertLifecycleConfigurationToXml converts BucketLifecycleConfiguration value to XML data and returns it

func ConvertLoggingStatusToXml

func ConvertLoggingStatusToXml(input BucketLoggingStatus, returnMd5 bool, isObs bool) (data string, md5 string)

ConvertLoggingStatusToXml converts BucketLoggingStatus value to XML data and returns it

func ConvertNotificationToXml

func ConvertNotificationToXml(input BucketNotification, returnMd5 bool, isObs bool) (data string, md5 string)

ConvertNotificationToXml converts BucketNotification value to XML data and returns it

func ConvertRequestToIoReader

func ConvertRequestToIoReader(req interface{}) (io.Reader, error)

ConvertRequestToIoReader converts req to XML data

func ConvertRequestToIoReaderV2

func ConvertRequestToIoReaderV2(req interface{}) (io.Reader, string, error)

ConvertRequestToIoReaderV2 converts req to XML data

func ConvertWebsiteConfigurationToXml

func ConvertWebsiteConfigurationToXml(input BucketWebsiteConfiguration, returnMd5 bool) (data string, md5 string)

ConvertWebsiteConfigurationToXml converts BucketWebsiteConfiguration value to XML data and returns it

func DoLog

func DoLog(level Level, format string, v ...interface{})

DoLog writes log messages to the logger

func DummyQueryEscape

func DummyQueryEscape(s string) string

DummyQueryEscape return the input string.

func FormatNow

func FormatNow(format string) string

FormatNow gets a textual representation of the format time value

func FormatUtcNow

func FormatUtcNow(format string) string

FormatUtcNow gets a textual representation of the UTC format time value

func FormatUtcToRfc1123

func FormatUtcToRfc1123(t time.Time) string

FormatUtcToRfc1123 gets a textual representation of the RFC1123 format time value

func GetAuthorization

func GetAuthorization(ak, sk, method, bucketName, objectKey, queryURL string, headers map[string][]string) (ret map[string]string)

GetAuthorization Authorization

func GetContentType

func GetContentType(key string) (string, bool)

func GetCurrentTimestamp

func GetCurrentTimestamp() int64

GetCurrentTimestamp gets unix time in milliseconds

func GetReaderLen

func GetReaderLen(reader io.Reader) (int64, error)

func GetV2Authorization

func GetV2Authorization(ak, sk, method, bucketName, objectKey, queryURL string, headers map[string][]string) (ret map[string]string)

GetV2Authorization v2 Authorization

func HandleHttpResponse

func HandleHttpResponse(action string, headers map[string][]string, output IBaseModel, resp *http.Response, xmlResult bool, isObs bool) (err error)

func Hex

func Hex(value []byte) string

Hex wrapper of hex.EncodeToString

func HexMd5

func HexMd5(value []byte) string

HexMd5 returns the md5 value of input in hexadecimal format

func HexSha256

func HexSha256(value []byte) string

HexSha256 returns the Sha256Hash value of input in hexadecimal format

func HmacSha1

func HmacSha1(key, value []byte) []byte

HmacSha1 gets hmac sha1 value of input

func HmacSha256

func HmacSha256(key, value []byte) []byte

HmacSha256 get hmac sha256 value if input

func InitLog

func InitLog(logFullPath string, maxLogSize int64, backups int, level Level, logToConsole bool, logConfigs ...logConfig) error

InitLog enable logging function with default cacheCnt

func InitLogWithCacheCnt

func InitLogWithCacheCnt(logFullPath string, maxLogSize int64, backups int, level Level, logToConsole bool, cacheCnt int, logConfigs ...logConfig) error

InitLogWithCacheCnt enable logging function

func Int64ToString

func Int64ToString(value int64) string

Int64ToString converts int64 value to string value

func IntToString

func IntToString(value int) string

IntToString converts int value to string value

func IsContain

func IsContain(items []string, item string) bool

func IsHandleCallbackResponse

func IsHandleCallbackResponse(action string, headers map[string][]string, isObs bool) bool

func IsIP

func IsIP(value string) bool

IsIP checks whether the value matches ip address

func Md5

func Md5(value []byte) []byte

Md5 gets the md5 value of input

func ParseAppendObjectOutput

func ParseAppendObjectOutput(output *AppendObjectOutput) (err error)

ParseAppendObjectOutput sets AppendObjectOutput field values with response headers

func ParseCallbackResponseToBaseModel

func ParseCallbackResponseToBaseModel(resp *http.Response, baseModel IBaseModel, isObs bool) error

ParseCallbackResponseToBaseModel gets response from Callback Service

func ParseCompleteMultipartUploadOutput

func ParseCompleteMultipartUploadOutput(output *CompleteMultipartUploadOutput)

ParseCompleteMultipartUploadOutput sets CompleteMultipartUploadOutput field values with response headers

func ParseCopyObjectOutput

func ParseCopyObjectOutput(output *CopyObjectOutput)

ParseCopyObjectOutput sets CopyObjectOutput field values with response headers

func ParseCopyPartOutput

func ParseCopyPartOutput(output *CopyPartOutput)

ParseCopyPartOutput sets CopyPartOutput field values with response headers

func ParseDeleteObjectOutput

func ParseDeleteObjectOutput(output *DeleteObjectOutput)

ParseDeleteObjectOutput sets DeleteObjectOutput field values with response headers

func ParseGetAttributeOutput

func ParseGetAttributeOutput(output *GetAttributeOutput)

func ParseGetBucketFSStatusOutput

func ParseGetBucketFSStatusOutput(output *GetBucketFSStatusOutput)

func ParseGetBucketMetadataOutput

func ParseGetBucketMetadataOutput(output *GetBucketMetadataOutput)

ParseGetBucketMetadataOutput sets GetBucketMetadataOutput field values with response headers

func ParseGetObjectMetadataOutput

func ParseGetObjectMetadataOutput(output *GetObjectMetadataOutput)

ParseGetObjectMetadataOutput sets GetObjectMetadataOutput field values with response headers

func ParseGetObjectOutput

func ParseGetObjectOutput(output *GetObjectOutput)

ParseGetObjectOutput sets GetObjectOutput field values with response headers

func ParseInitiateMultipartUploadOutput

func ParseInitiateMultipartUploadOutput(output *InitiateMultipartUploadOutput)

ParseInitiateMultipartUploadOutput sets InitiateMultipartUploadOutput field values with response headers

func ParseModifyObjectOutput

func ParseModifyObjectOutput(output *ModifyObjectOutput)

ParseModifyObjectOutput sets ModifyObjectOutput field values with response headers

func ParseNewFolderOutput

func ParseNewFolderOutput(output *NewFolderOutput)

func ParsePutObjectOutput

func ParsePutObjectOutput(output *PutObjectOutput)

ParsePutObjectOutput sets PutObjectOutput field values with response headers

func ParseResponseToBaseModel

func ParseResponseToBaseModel(resp *http.Response, baseModel IBaseModel, xmlResult bool, isObs bool) (err error)

ParseResponseToBaseModel gets response from OBS

func ParseResponseToObsError

func ParseResponseToObsError(resp *http.Response, isObs bool) error

ParseResponseToObsError gets obsError from OBS

func ParseSetObjectMetadataOutput

func ParseSetObjectMetadataOutput(output *SetObjectMetadataOutput)

ParseSetObjectMetadataOutput sets SetObjectMetadataOutput field values with response headers

func ParseUploadPartOutput

func ParseUploadPartOutput(output *UploadPartOutput)

ParseUploadPartOutput sets UploadPartOutput field values with response headers

func ParseXml

func ParseXml(value []byte, result interface{}) error

ParseXml wrapper of xml.Unmarshal

func Sha256Hash

func Sha256Hash(value []byte) []byte

Sha256Hash returns sha256 checksum

func StringContains

func StringContains(src string, subStr string, subTranscoding string) string

StringContains replaces subStr in src with subTranscoding and returns the new string

func StringToInt

func StringToInt(value string, def int) int

StringToInt converts string value to int value with default value

func StringToInt64

func StringToInt64(value string, def int64) int64

StringToInt64 converts string value to int64 value with default value

func TeeReader

func TeeReader(reader io.Reader, totalBytes int64, listener ProgressListener, tracker *readerTracker) io.ReadCloser

func TransToXml

func TransToXml(value interface{}) ([]byte, error)

TransToXml wrapper of xml.Marshal

func UrlDecode

func UrlDecode(value string) (string, error)

UrlDecode wrapper of url.QueryUnescape

func UrlDecodeWithoutError

func UrlDecodeWithoutError(value string) string

UrlDecodeWithoutError wrapper of UrlDecode

func UrlEncode

func UrlEncode(value string, chineseOnly bool) string

UrlEncode encodes the input value

func V4Auth

func V4Auth(ak, sk, region, method, canonicalizedURL, queryURL string, headers map[string][]string) map[string]string

V4Auth is a wrapper for v4Auth

func WithCallbackHeader

func WithCallbackHeader(callback string) extensionHeaders

func WithConnectTimeout

func WithConnectTimeout(connectTimeout int) configurer

WithConnectTimeout is a configurer for ObsClient to set timeout period for establishing an http/https connection, in seconds.

func WithCustomDomainName

func WithCustomDomainName(cname bool) configurer

WithCustomDomainName is a configurer for ObsClient.

func WithCustomHeader

func WithCustomHeader(key string, value string) extensionHeaders

func WithDisableKeepAlive

func WithDisableKeepAlive(disableKeepAlive bool) configurer

WithDisableKeepAlive is a configurer for ObsClient to disable the keep-alive for http.

func WithEnableCompression

func WithEnableCompression(enableCompression bool) configurer

WithEnableCompression is a configurer for ObsClient to set the Transport.DisableCompression.

func WithFormatLoggerTime

func WithFormatLoggerTime(formatNow func(string) string) logConfig

func WithHeaderTimeout

func WithHeaderTimeout(headerTimeout int) configurer

WithHeaderTimeout is a configurer for ObsClient to set the timeout period of obtaining the response headers.

func WithHttpClient

func WithHttpClient(httpClient *http.Client) configurer

func WithHttpTransport

func WithHttpTransport(transport *http.Transport) configurer

WithHttpTransport is a configurer for ObsClient to set the customized http Transport.

func WithIdleConnTimeout

func WithIdleConnTimeout(idleConnTimeout int) configurer

WithIdleConnTimeout is a configurer for ObsClient to set the timeout period of an idle HTTP connection in the connection pool, in seconds.

func WithMaxConnections

func WithMaxConnections(maxConnsPerHost int) configurer

WithMaxConnections is a configurer for ObsClient to set the maximum number of idle HTTP connections.

func WithMaxRedirectCount

func WithMaxRedirectCount(maxRedirectCount int) configurer

WithMaxRedirectCount is a configurer for ObsClient to set the maximum number of times that the request is redirected.

func WithMaxRetryCount

func WithMaxRetryCount(maxRetryCount int) configurer

WithMaxRetryCount is a configurer for ObsClient to set the maximum number of retries when an HTTP/HTTPS connection is abnormal.

func WithNoProxyUrl

func WithNoProxyUrl(noProxyURL string) configurer

WithNoProxyUrl is a configurer for ObsClient to set HTTP no_proxy.

func WithPathStyle

func WithPathStyle(pathStyle bool) configurer

WithPathStyle is a configurer for ObsClient.

func WithProgress

func WithProgress(progressListener ProgressListener) extensionProgressListener

func WithProxyFromEnv

func WithProxyFromEnv(proxyFromEnv bool) configurer

WithProxyFromEnv is a configurer for ObsClient to get proxy from evironment.

func WithProxyUrl

func WithProxyUrl(proxyURL string) configurer

WithProxyUrl is a configurer for ObsClient to set HTTP proxy.

func WithRegion

func WithRegion(region string) configurer

WithRegion is a configurer for ObsClient.

func WithReqPaymentHeader

func WithReqPaymentHeader(requester PayerType) extensionHeaders

WithReqPaymentHeader sets header for requester-pays

func WithRequestContext

func WithRequestContext(ctx context.Context) configurer

WithRequestContext is a configurer for ObsClient to set the context for each HTTP request.

func WithSecurityProviders

func WithSecurityProviders(sps ...securityProvider) configurer

func WithSecurityToken

func WithSecurityToken(securityToken string) configurer

WithSecurityToken is a configurer for ObsClient to set the security token in the temporary access keys.

func WithSignature

func WithSignature(signature SignatureType) configurer

WithSignature is a configurer for ObsClient.

func WithSocketTimeout

func WithSocketTimeout(socketTimeout int) configurer

WithSocketTimeout is a configurer for ObsClient to set the timeout duration for transmitting data at the socket layer, in seconds.

func WithSslVerify

func WithSslVerify(sslVerify bool) configurer

WithSslVerify is a wrapper for WithSslVerifyAndPemCerts.

func WithSslVerifyAndPemCerts

func WithSslVerifyAndPemCerts(sslVerify bool, pemCerts []byte) configurer

WithSslVerifyAndPemCerts is a configurer for ObsClient to set conf.sslVerify and conf.pemCerts.

func WithTrafficLimitHeader

func WithTrafficLimitHeader(trafficLimit int64) extensionHeaders

func WithUserAgent

func WithUserAgent(userAgent string) configurer

WithUserAgent is a configurer for ObsClient to set the User-Agent.

func XmlTranscoding

func XmlTranscoding(src string) string

XmlTranscoding replaces special characters with their escaped form

Types

type AbortIncompleteMultipartUpload

type AbortIncompleteMultipartUpload struct {
	XMLName             xml.Name `xml:"AbortIncompleteMultipartUpload"`
	DaysAfterInitiation int      `xml:"DaysAfterInitiation"`
}

AbortIncompleteMultipartUpload defines abortIncomplete expiration property in LifecycleRule

type AbortMultipartUploadInput

type AbortMultipartUploadInput struct {
	Bucket   string
	Key      string
	UploadId string
}

AbortMultipartUploadInput is the input parameter of AbortMultipartUpload function

type AccessControlPolicy

type AccessControlPolicy struct {
	XMLName   xml.Name `xml:"AccessControlPolicy"`
	Owner     Owner    `xml:"Owner"`
	Grants    []Grant  `xml:"AccessControlList>Grant"`
	Delivered string   `xml:"Delivered,omitempty"`
}

AccessControlPolicy defines access control policy properties

type AclType

type AclType string

AclType defines bucket/object acl type

const (
	AclPrivate                 AclType = "private"
	AclPublicRead              AclType = "public-read"
	AclPublicReadWrite         AclType = "public-read-write"
	AclAuthenticatedRead       AclType = "authenticated-read"
	AclBucketOwnerRead         AclType = "bucket-owner-read"
	AclBucketOwnerFullControl  AclType = "bucket-owner-full-control"
	AclLogDeliveryWrite        AclType = "log-delivery-write"
	AclPublicReadDelivery      AclType = "public-read-delivered"
	AclPublicReadWriteDelivery AclType = "public-read-write-delivered"
)

type AppendObjectInput

type AppendObjectInput struct {
	PutObjectBasicInput
	Body     io.Reader
	Position int64
}

type AppendObjectOutput

type AppendObjectOutput struct {
	BaseModel
	VersionId          string
	SseHeader          ISseHeader
	NextAppendPosition int64
	ETag               string
}

type AvailableZoneType

type AvailableZoneType string

AvailableZoneType defines type of az redundancy

const (
	AvailableZoneMultiAz AvailableZoneType = "3az"
)

func ParseStringToAvailableZoneType

func ParseStringToAvailableZoneType(value string) (ret AvailableZoneType)

ParseStringToAvailableZoneType converts string value to AvailableZoneType value and returns it

type BaseModel

type BaseModel struct {
	StatusCode      int                 `xml:"-"`
	RequestId       string              `xml:"RequestId" json:"request_id"`
	ResponseHeaders map[string][]string `xml:"-"`
}

BaseModel defines base model response from OBS

type BasicSecurityProvider

type BasicSecurityProvider struct {
	// contains filtered or unexported fields
}

func NewBasicSecurityProvider

func NewBasicSecurityProvider(ak, sk, securityToken string) *BasicSecurityProvider

type Bucket

type Bucket struct {
	XMLName      xml.Name  `xml:"Bucket"`
	Name         string    `xml:"Name"`
	CreationDate time.Time `xml:"CreationDate"`
	Location     string    `xml:"Location"`
	BucketType   string    `xml:"BucketType,omitempty"`
}

Bucket defines bucket properties

type BucketCors

type BucketCors struct {
	XMLName   xml.Name   `xml:"CORSConfiguration"`
	CorsRules []CorsRule `xml:"CORSRule"`
}

BucketCors defines the bucket CORS configuration

type BucketEncryptionConfiguration

type BucketEncryptionConfiguration struct {
	XMLName        xml.Name `xml:"ServerSideEncryptionConfiguration"`
	SSEAlgorithm   string   `xml:"Rule>ApplyServerSideEncryptionByDefault>SSEAlgorithm"`
	KMSMasterKeyID string   `xml:"Rule>ApplyServerSideEncryptionByDefault>KMSMasterKeyID,omitempty"`
	ProjectID      string   `xml:"Rule>ApplyServerSideEncryptionByDefault>ProjectID,omitempty"`
}

BucketEncryptionConfiguration defines the bucket encryption configuration

type BucketLifecycleConfiguration

type BucketLifecycleConfiguration struct {
	XMLName        xml.Name        `xml:"LifecycleConfiguration"`
	LifecycleRules []LifecycleRule `xml:"Rule"`
}

BucketLifecycleConfiguration defines the bucket lifecycle configuration

type BucketLocation

type BucketLocation struct {
	XMLName  xml.Name `xml:"CreateBucketConfiguration"`
	Location string   `xml:"LocationConstraint,omitempty"`
}

BucketLocation defines bucket location configuration

type BucketLoggingStatus

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

BucketLoggingStatus defines the bucket logging configuration

type BucketNotification

type BucketNotification struct {
	XMLName             xml.Name             `xml:"NotificationConfiguration"`
	TopicConfigurations []TopicConfiguration `xml:"TopicConfiguration"`
}

BucketNotification defines the bucket notification configuration

type BucketPayer

type BucketPayer struct {
	XMLName xml.Name  `xml:"RequestPaymentConfiguration"`
	Payer   PayerType `xml:"Payer"`
}

BucketPayer defines the request payment configuration

type BucketQuota

type BucketQuota struct {
	XMLName xml.Name `xml:"Quota"`
	Quota   int64    `xml:"StorageQuota"`
}

BucketQuota defines bucket quota configuration

type BucketRedundancyType

type BucketRedundancyType string

RedundancyType defines type of redundancyType

const (
	BucketRedundancyClassic BucketRedundancyType = "CLASSIC"
	BucketRedundancyFusion  BucketRedundancyType = "FUSION"
)

type BucketReplicationConfiguration

type BucketReplicationConfiguration struct {
	XMLName          xml.Name          `xml:"ReplicationConfiguration"`
	Agency           string            `xml:"Agency"`
	ReplicationRules []ReplicationRule `xml:"Rule"`
}

BucketReplicationConfiguration defines the bucket cross-region replication configuration

type BucketStoragePolicy

type BucketStoragePolicy struct {
	XMLName      xml.Name         `xml:"StoragePolicy"`
	StorageClass StorageClassType `xml:"DefaultStorageClass"`
}

BucketStoragePolicy defines the bucket storage class

type BucketTagging

type BucketTagging struct {
	XMLName xml.Name `xml:"Tagging"`
	Tags    []Tag    `xml:"TagSet>Tag"`
}

BucketTagging defines the bucket tag configuration

type BucketType

type BucketType string

BucketType defines type of bucket

const (
	OBJECT BucketType = "OBJECT"
	POSIX  BucketType = "POSIX"
)

type BucketVersioningConfiguration

type BucketVersioningConfiguration struct {
	XMLName xml.Name             `xml:"VersioningConfiguration"`
	Status  VersioningStatusType `xml:"Status"`
}

BucketVersioningConfiguration defines the versioning configuration

type BucketWebsiteConfiguration

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

BucketWebsiteConfiguration defines the bucket website configuration

type CallbackBody

type CallbackBody struct {
	// contains filtered or unexported fields
}

define CallbackBody

func (CallbackBody) CloseCallbackBody

func (output CallbackBody) CloseCallbackBody() error

func (CallbackBody) ReadCallbackBody

func (output CallbackBody) ReadCallbackBody(p []byte) (int, error)

type CompleteMultipartUploadInput

type CompleteMultipartUploadInput struct {
	Bucket       string   `xml:"-"`
	Key          string   `xml:"-"`
	UploadId     string   `xml:"-"`
	XMLName      xml.Name `xml:"CompleteMultipartUpload"`
	Parts        []Part   `xml:"Part"`
	EncodingType string   `xml:"-"`
}

CompleteMultipartUploadInput is the input parameter of CompleteMultipartUpload function

type CompleteMultipartUploadOutput

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"`
	EncodingType string     `xml:"EncodingType,omitempty"`
	CallbackBody
}

CompleteMultipartUploadOutput is the result of CompleteMultipartUpload function

type Condition

type Condition struct {
	XMLName                     xml.Name `xml:"Condition"`
	KeyPrefixEquals             string   `xml:"KeyPrefixEquals,omitempty"`
	HttpErrorCodeReturnedEquals string   `xml:"HttpErrorCodeReturnedEquals,omitempty"`
}

Condition defines condition in RoutingRule

type Content

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

Content defines the object content properties

type CopyObjectInput

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
}

CopyObjectInput is the input parameter of CopyObject function

type CopyObjectOutput

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

CopyObjectOutput is the result of CopyObject function

type CopyPartInput

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
}

CopyPartInput is the input parameter of CopyPart function

type CopyPartOutput

type CopyPartOutput struct {
	BaseModel
	XMLName      xml.Name   `xml:"CopyPartResult"`
	PartNumber   int        `xml:"-"`
	ETag         string     `xml:"ETag"`
	LastModified time.Time  `xml:"LastModified"`
	SseHeader    ISseHeader `xml:"-"`
}

CopyPartOutput is the result of CopyPart function

type CorsRule

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

CorsRule defines the CORS rules

type CreateBrowserBasedSignatureInput

type CreateBrowserBasedSignatureInput struct {
	Bucket     string
	Key        string
	Expires    int
	FormParams map[string]string
}

CreateBrowserBasedSignatureInput is the input parameter of CreateBrowserBasedSignature function.

type CreateBrowserBasedSignatureOutput

type CreateBrowserBasedSignatureOutput struct {
	OriginPolicy string
	Policy       string
	Algorithm    string
	Credential   string
	Date         string
	Signature    string
}

CreateBrowserBasedSignatureOutput is the result of CreateBrowserBasedSignature function.

type CreateBucketInput

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:"-"`
	IsFSFileInterface           bool                 `xml:"-"`
	BucketRedundancy            BucketRedundancyType `xml:"-"`
	IsFusionAllowUpgrade        bool                 `xml:"-"`
	IsRedundancyAllowALT        bool                 `xml:"-"`
}

CreateBucketInput is the input parameter of CreateBucket function

type CreateSignedUrlInput

type CreateSignedUrlInput struct {
	Method      HttpMethodType
	Bucket      string
	Key         string
	Policy      string
	SubResource SubResourceType
	Expires     int
	Headers     map[string]string
	QueryParams map[string]string
}

CreateSignedUrlInput is the input parameter of CreateSignedUrl function

type CreateSignedUrlOutput

type CreateSignedUrlOutput struct {
	SignedUrl                  string
	ActualSignedRequestHeaders http.Header
}

CreateSignedUrlOutput is the result of CreateSignedUrl function

type DefaultSerializable

type DefaultSerializable struct {
	// contains filtered or unexported fields
}

DefaultSerializable defines default serializable struct

type DeleteBucketCustomDomainInput

type DeleteBucketCustomDomainInput struct {
	Bucket       string
	CustomDomain string
}

DeleteBucketCustomDomainInput is the input parameter of DeleteBucketCustomDomain function

type DeleteBucketFetchPolicyInput

type DeleteBucketFetchPolicyInput struct {
	Bucket string
}

DeleteBucketFetchPolicyInput is the input parameter of DeleteBucketFetchPolicy function

type DeleteMarker

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

DeleteMarker defines the properties of versioning delete markers

type DeleteObjectInput

type DeleteObjectInput struct {
	Bucket    string
	Key       string
	VersionId string
}

DeleteObjectInput is the input parameter of DeleteObject function

type DeleteObjectOutput

type DeleteObjectOutput struct {
	BaseModel
	VersionId    string
	DeleteMarker bool
}

DeleteObjectOutput is the result of DeleteObject function

type DeleteObjectsInput

type DeleteObjectsInput struct {
	Bucket       string           `xml:"-"`
	XMLName      xml.Name         `xml:"Delete"`
	Quiet        bool             `xml:"Quiet,omitempty"`
	Objects      []ObjectToDelete `xml:"Object"`
	EncodingType string           `xml:"EncodingType"`
}

DeleteObjectsInput is the input parameter of DeleteObjects function

type DeleteObjectsOutput

type DeleteObjectsOutput struct {
	BaseModel
	XMLName      xml.Name  `xml:"DeleteResult"`
	Deleteds     []Deleted `xml:"Deleted"`
	Errors       []Error   `xml:"Error"`
	EncodingType string    `xml:"EncodingType,omitempty"`
}

DeleteObjectsOutput is the result of DeleteObjects function

type Deleted

type Deleted struct {
	XMLName               xml.Name `xml:"Deleted"`
	Key                   string   `xml:"Key"`
	VersionId             string   `xml:"VersionId"`
	DeleteMarker          bool     `xml:"DeleteMarker"`
	DeleteMarkerVersionId string   `xml:"DeleteMarkerVersionId"`
}

Deleted defines the deleted property in DeleteObjectsOutput

type Domain

type Domain struct {
	DomainName string `xml:"DomainName"`
	CreateTime string `xml:"CreateTime"`
}

Content defines the object content properties

type DownloadCheckpoint

type DownloadCheckpoint struct {
	XMLName       xml.Name           `xml:"DownloadFileCheckpoint"`
	Bucket        string             `xml:"Bucket"`
	Key           string             `xml:"Key"`
	VersionId     string             `xml:"VersionId,omitempty"`
	DownloadFile  string             `xml:"FileUrl"`
	ObjectInfo    ObjectInfo         `xml:"ObjectInfo"`
	TempFileInfo  TempFileInfo       `xml:"TempFileInfo"`
	DownloadParts []DownloadPartInfo `xml:"DownloadParts>DownloadPart"`
}

DownloadCheckpoint defines download checkpoint file properties

type DownloadFileInput

type DownloadFileInput struct {
	GetObjectMetadataInput
	IfMatch           string
	IfNoneMatch       string
	IfModifiedSince   time.Time
	IfUnmodifiedSince time.Time
	DownloadFile      string
	PartSize          int64
	TaskNum           int
	EnableCheckpoint  bool
	CheckpointFile    string
}

DownloadFileInput is the input parameter of DownloadFile function

type DownloadPartInfo

type DownloadPartInfo struct {
	XMLName     xml.Name `xml:"DownloadPart"`
	PartNumber  int64    `xml:"PartNumber"`
	RangeEnd    int64    `xml:"RangeEnd"`
	Offset      int64    `xml:"Offset"`
	IsCompleted bool     `xml:"IsCompleted"`
}

DownloadPartInfo defines download part properties

type EcsSecurityProvider

type EcsSecurityProvider struct {
	// contains filtered or unexported fields
}

func NewEcsSecurityProvider

func NewEcsSecurityProvider(retryCount int) *EcsSecurityProvider

type EnabledType

type EnabledType string

EnabledType defines a common status type

const (
	Enabled  EnabledType = "Enabled"
	Disabled EnabledType = "Disabled"
)

type EnvSecurityProvider

type EnvSecurityProvider struct {
	// contains filtered or unexported fields
}

func NewEnvSecurityProvider

func NewEnvSecurityProvider(suffix string) *EnvSecurityProvider

type Error

type Error struct {
	XMLName   xml.Name `xml:"Error"`
	Key       string   `xml:"Key"`
	VersionId string   `xml:"VersionId"`
	Code      string   `xml:"Code"`
	Message   string   `xml:"Message"`
}

Error defines the error property in DeleteObjectsOutput

type ErrorDocument

type ErrorDocument struct {
	Key string `xml:"Key,omitempty"`
}

ErrorDocument defines the error page configuration

type EventType

type EventType string

EventType defines bucket notification type of events

const (
	// ObjectCreatedAll type of events: ObjectCreated:*
	ObjectCreatedAll EventType = "ObjectCreated:*"

	// ObjectCreatedPut type of events: ObjectCreated:Put
	ObjectCreatedPut EventType = "ObjectCreated:Put"

	// ObjectCreatedPost type of events: ObjectCreated:Post
	ObjectCreatedPost EventType = "ObjectCreated:Post"

	// ObjectCreatedCopy type of events: ObjectCreated:Copy
	ObjectCreatedCopy EventType = "ObjectCreated:Copy"

	// ObjectCreatedCompleteMultipartUpload type of events: ObjectCreated:CompleteMultipartUpload
	ObjectCreatedCompleteMultipartUpload EventType = "ObjectCreated:CompleteMultipartUpload"

	// ObjectRemovedAll type of events: ObjectRemoved:*
	ObjectRemovedAll EventType = "ObjectRemoved:*"

	// ObjectRemovedDelete type of events: ObjectRemoved:Delete
	ObjectRemovedDelete EventType = "ObjectRemoved:Delete"

	// ObjectRemovedDeleteMarkerCreated type of events: ObjectRemoved:DeleteMarkerCreated
	ObjectRemovedDeleteMarkerCreated EventType = "ObjectRemoved:DeleteMarkerCreated"
)

func ParseStringToEventType

func ParseStringToEventType(value string) (ret EventType)

ParseStringToEventType converts string value to EventType value and returns it

type Expiration

type Expiration struct {
	XMLName                   xml.Name  `xml:"Expiration"`
	Date                      time.Time `xml:"Date,omitempty"`
	Days                      int       `xml:"Days,omitempty"`
	ExpiredObjectDeleteMarker string    `xml:"ExpiredObjectDeleteMarker,omitempty"`
}

Expiration defines expiration property in LifecycleRule

type FSStatusType

type FSStatusType string

FSStatusType defines type of file system status

const (
	FSStatusEnabled  FSStatusType = "Enabled"
	FSStatusDisabled FSStatusType = "Disabled"
)

func ParseStringToFSStatusType

func ParseStringToFSStatusType(value string) (ret FSStatusType)

type FetchPolicyStatusType

type FetchPolicyStatusType string

FetchPolicyStatusType defines type of fetch policy status

const (
	// FetchStatusOpen type of status: open
	FetchStatusOpen FetchPolicyStatusType = "open"

	// FetchStatusClosed type of status: closed
	FetchStatusClosed FetchPolicyStatusType = "closed"
)

type FetchResponse

type FetchResponse struct {
	Status FetchPolicyStatusType `json:"status"`
	Agency string                `json:"agency"`
}

FetchResponse defines the response fetch policy configuration

type FileStatus

type FileStatus struct {
	XMLName      xml.Name `xml:"FileInfo"`
	LastModified int64    `xml:"LastModified"`
	Size         int64    `xml:"Size"`
}

FileStatus defines the upload file properties

type FilterRule

type FilterRule struct {
	XMLName xml.Name `xml:"FilterRule"`
	Name    string   `xml:"Name,omitempty"`
	Value   string   `xml:"Value,omitempty"`
}

FilterRule defines filter rule in TopicConfiguration

type Future

type Future interface {
	Get() interface{}
}

Future defines interface with function: Get

type FutureResult

type FutureResult struct {
	// contains filtered or unexported fields
}

FutureResult for task result

func (*FutureResult) Get

func (f *FutureResult) Get() interface{}

Get gets the task result

type GetAttributeInput

type GetAttributeInput struct {
	GetObjectMetadataInput
	RequestPayer string
}

type GetAttributeOutput

type GetAttributeOutput struct {
	GetObjectMetadataOutput
	Mode int
}

type GetBucketAclOutput

type GetBucketAclOutput struct {
	BaseModel
	AccessControlPolicy
}

GetBucketAclOutput is the result of GetBucketAcl function

type GetBucketCorsOutput

type GetBucketCorsOutput struct {
	BaseModel
	BucketCors
}

GetBucketCorsOutput is the result of GetBucketCors function

type GetBucketCustomDomainOuput

type GetBucketCustomDomainOuput struct {
	BaseModel
	Domains []Domain `xml:"Domains"`
}

GetBucketCustomDomainOuput is the result of GetBucketCustomdomain function

type GetBucketEncryptionOutput

type GetBucketEncryptionOutput struct {
	BaseModel
	BucketEncryptionConfiguration
}

GetBucketEncryptionOutput is the result of GetBucketEncryption function

type GetBucketFSStatusInput

type GetBucketFSStatusInput struct {
	GetBucketMetadataInput
}

type GetBucketFSStatusOutput

type GetBucketFSStatusOutput struct {
	GetBucketMetadataOutput
	FSStatus FSStatusType
}

type GetBucketFetchJobInput

type GetBucketFetchJobInput struct {
	Bucket string
	JobID  string
}

GetBucketFetchJobInput is the input parameter of GetBucketFetchJob function

type GetBucketFetchJobOutput

type GetBucketFetchJobOutput struct {
	BaseModel
	GetBucketFetchJobResponse
}

GetBucketFetchJobOutput is the result of GetBucketFetchJob function

type GetBucketFetchJobResponse

type GetBucketFetchJobResponse struct {
	Err    string      `json:"err"`
	Code   string      `json:"code"`
	Status string      `json:"status"`
	Job    JobResponse `json:"job"`
}

GetBucketFetchJobResponse defines the response fetch job configuration

type GetBucketFetchPolicyInput

type GetBucketFetchPolicyInput struct {
	Bucket string
}

GetBucketFetchPolicyInput is the input parameter of GetBucketFetchPolicy function

type GetBucketFetchPolicyOutput

type GetBucketFetchPolicyOutput struct {
	BaseModel
	FetchResponse `json:"fetch"`
}

GetBucketFetchPolicyOutput is the result of GetBucketFetchPolicy function

type GetBucketLifecycleConfigurationOutput

type GetBucketLifecycleConfigurationOutput struct {
	BaseModel
	BucketLifecycleConfiguration
}

GetBucketLifecycleConfigurationOutput is the result of GetBucketLifecycleConfiguration function

type GetBucketLocationOutput

type GetBucketLocationOutput struct {
	BaseModel
	Location string `xml:"-"`
}

GetBucketLocationOutput is the result of GetBucketLocation function

type GetBucketLoggingConfigurationOutput

type GetBucketLoggingConfigurationOutput struct {
	BaseModel
	BucketLoggingStatus
}

GetBucketLoggingConfigurationOutput is the result of GetBucketLoggingConfiguration function

type GetBucketMetadataInput

type GetBucketMetadataInput struct {
	Bucket        string
	Origin        string
	RequestHeader string
}

GetBucketMetadataInput is the input parameter of GetBucketMetadata function

type GetBucketMetadataOutput

type GetBucketMetadataOutput struct {
	BaseModel
	StorageClass     StorageClassType
	Location         string
	Version          string
	AllowOrigin      string
	AllowMethod      string
	AllowHeader      string
	MaxAgeSeconds    int
	ExposeHeader     string
	Epid             string
	AZRedundancy     AvailableZoneType
	FSStatus         FSStatusType
	BucketRedundancy BucketRedundancyType
}

GetBucketMetadataOutput is the result of GetBucketMetadata function

type GetBucketMirrorBackToSourceOuput

type GetBucketMirrorBackToSourceOuput struct {
	BaseModel
	Rules string `json:"body"`
}

GetBucketMirrorBackToSourceOuput is the result of GetBucketMirrorBackToSource function

type GetBucketNotificationOutput

type GetBucketNotificationOutput struct {
	BaseModel
	BucketNotification
}

GetBucketNotificationOutput is the result of GetBucketNotification function

type GetBucketPolicyOutput

type GetBucketPolicyOutput struct {
	BaseModel
	Policy string `json:"body"`
}

GetBucketPolicyOutput is the result of GetBucketPolicy function

type GetBucketQuotaOutput

type GetBucketQuotaOutput struct {
	BaseModel
	BucketQuota
}

GetBucketQuotaOutput is the result of GetBucketQuota function

type GetBucketReplicationOutput

type GetBucketReplicationOutput struct {
	BaseModel
	BucketReplicationConfiguration
}

GetBucketReplicationOutput is the result of GetBucketReplication function

type GetBucketRequestPaymentOutput

type GetBucketRequestPaymentOutput struct {
	BaseModel
	BucketPayer
}

GetBucketRequestPaymentOutput is the result of GetBucketRequestPayment function

type GetBucketStorageInfoOutput

type GetBucketStorageInfoOutput struct {
	BaseModel
	XMLName      xml.Name `xml:"GetBucketStorageInfoResult"`
	Size         int64    `xml:"Size"`
	ObjectNumber int      `xml:"ObjectNumber"`
}

GetBucketStorageInfoOutput is the result of GetBucketStorageInfo function

type GetBucketStoragePolicyOutput

type GetBucketStoragePolicyOutput struct {
	BaseModel
	StorageClass string
}

GetBucketStoragePolicyOutput is the result of GetBucketStoragePolicy function

type GetBucketTaggingOutput

type GetBucketTaggingOutput struct {
	BaseModel
	BucketTagging
}

GetBucketTaggingOutput is the result of GetBucketTagging function

type GetBucketVersioningOutput

type GetBucketVersioningOutput struct {
	BaseModel
	BucketVersioningConfiguration
}

GetBucketVersioningOutput is the result of GetBucketVersioning function

type GetBucketWebsiteConfigurationOutput

type GetBucketWebsiteConfigurationOutput struct {
	BaseModel
	BucketWebsiteConfiguration
}

GetBucketWebsiteConfigurationOutput is the result of GetBucketWebsiteConfiguration function

type GetObjectAclInput

type GetObjectAclInput struct {
	Bucket    string
	Key       string
	VersionId string
}

GetObjectAclInput is the input parameter of GetObjectAcl function

type GetObjectAclOutput

type GetObjectAclOutput struct {
	BaseModel
	VersionId string
	AccessControlPolicy
}

GetObjectAclOutput is the result of GetObjectAcl function

type GetObjectInput

type GetObjectInput struct {
	GetObjectMetadataInput
	IfMatch                    string
	IfNoneMatch                string
	AcceptEncoding             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
}

GetObjectInput is the input parameter of GetObject function

type GetObjectMetadataInput

type GetObjectMetadataInput struct {
	Bucket        string
	Key           string
	VersionId     string
	Origin        string
	RequestHeader string
	SseHeader     ISseHeader
}

GetObjectMetadataInput is the input parameter of GetObjectMetadata function

type GetObjectMetadataOutput

type GetObjectMetadataOutput struct {
	BaseModel
	HttpHeader
	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
}

GetObjectMetadataOutput is the result of GetObjectMetadata function

type GetObjectOutput

type GetObjectOutput struct {
	GetObjectMetadataOutput
	DeleteMarker       bool
	CacheControl       string
	ContentDisposition string
	ContentEncoding    string
	ContentLanguage    string
	Expires            string
	Body               io.ReadCloser
}

GetObjectOutput is the result of GetObject function

type Grant

type Grant struct {
	XMLName    xml.Name       `xml:"Grant"`
	Grantee    Grantee        `xml:"Grantee"`
	Permission PermissionType `xml:"Permission"`
	Delivered  bool           `xml:"Delivered"`
}

Grant defines grant properties

type Grantee

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

Grantee defines grantee properties

type GranteeType

type GranteeType string

GranteeType defines grantee type

const (
	// GranteeGroup grantee type: Group
	GranteeGroup GranteeType = "Group"

	// GranteeUser grantee type: CanonicalUser
	GranteeUser GranteeType = "CanonicalUser"
)

type GroupUriType

type GroupUriType string

GroupUriType defines grantee uri type

const (
	// GroupAllUsers grantee uri type: AllUsers
	GroupAllUsers GroupUriType = "AllUsers"

	// GroupAuthenticatedUsers grantee uri type: AuthenticatedUsers
	GroupAuthenticatedUsers GroupUriType = "AuthenticatedUsers"

	// GroupLogDelivery grantee uri type: LogDelivery
	GroupLogDelivery GroupUriType = "LogDelivery"
)

type HeadObjectInput

type HeadObjectInput struct {
	Bucket    string
	Key       string
	VersionId string
}

HeadObjectInput is the input parameter of HeadObject function

type HttpHeader

type HttpHeader struct {
	CacheControl       string
	ContentDisposition string
	ContentEncoding    string
	ContentLanguage    string
	ContentType        string
	HttpExpires        string
}

HttpHeader defines the standard metadata

type HttpMethodType

type HttpMethodType string

HttpMethodType defines http method type

const (
	HttpMethodGet     HttpMethodType = HTTP_GET
	HttpMethodPut     HttpMethodType = HTTP_PUT
	HttpMethodPost    HttpMethodType = HTTP_POST
	HttpMethodDelete  HttpMethodType = HTTP_DELETE
	HttpMethodHead    HttpMethodType = HTTP_HEAD
	HttpMethodOptions HttpMethodType = HTTP_OPTIONS
)

type IBaseModel

type IBaseModel interface {
	// contains filtered or unexported methods
}

IBaseModel defines interface for base response model

type ICallbackReadCloser

type ICallbackReadCloser interface {
	// contains filtered or unexported methods
}

type IReadCloser

type IReadCloser interface {
	// contains filtered or unexported methods
}

IReadCloser defines interface with function: setReadCloser

type IRepeatable

type IRepeatable interface {
	Reset() error
}

type ISerializable

type ISerializable interface {
	// contains filtered or unexported methods
}

ISerializable defines interface with function: trans

type ISseHeader

type ISseHeader interface {
	GetEncryption() string
	GetKey() string
}

ISseHeader defines the sse encryption header

type IndexDocument

type IndexDocument struct {
	Suffix string `xml:"Suffix"`
}

IndexDocument defines the default page configuration

type InitiateMultipartUploadInput

type InitiateMultipartUploadInput struct {
	ObjectOperationInput
	ContentType  string
	EncodingType string
}

InitiateMultipartUploadInput is the input parameter of InitiateMultipartUpload function

type InitiateMultipartUploadOutput

type InitiateMultipartUploadOutput struct {
	BaseModel
	XMLName      xml.Name `xml:"InitiateMultipartUploadResult"`
	Bucket       string   `xml:"Bucket"`
	Key          string   `xml:"Key"`
	UploadId     string   `xml:"UploadId"`
	SseHeader    ISseHeader
	EncodingType string `xml:"EncodingType,omitempty"`
}

InitiateMultipartUploadOutput is the result of InitiateMultipartUpload function

type Initiator

type Initiator struct {
	XMLName     xml.Name `xml:"Initiator"`
	ID          string   `xml:"ID"`
	DisplayName string   `xml:"DisplayName,omitempty"`
}

Initiator defines initiator properties

type JobResponse

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

JobResponse defines the response job configuration

type Level

type Level int

Level defines the level of the log

const (
	LEVEL_OFF   Level = 500
	LEVEL_ERROR Level = 400
	LEVEL_WARN  Level = 300
	LEVEL_INFO  Level = 200
	LEVEL_DEBUG Level = 100
)

type LifecycleFilter

type LifecycleFilter struct {
	XMLName xml.Name `xml:"Filter"`
	Prefix  string   `xml:"And>Prefix,omitempty"`
	Tags    []Tag    `xml:"And>Tag,omitempty"`
}

type LifecycleRule

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"`
	AbortIncompleteMultipartUpload AbortIncompleteMultipartUpload `xml:"AbortIncompleteMultipartUpload,omitempty"`
	Filter                         LifecycleFilter                `xml:"Filter,omitempty"`
}

LifecycleRule defines lifecycle rule

type ListBucketsInput

type ListBucketsInput struct {
	QueryLocation bool
	BucketType    BucketType
	MaxKeys       int
	Marker        string
}

ListBucketsInput is the input parameter of ListBuckets function

type ListBucketsOutput

type ListBucketsOutput struct {
	BaseModel
	XMLName     xml.Name `xml:"ListAllMyBucketsResult"`
	Owner       Owner    `xml:"Owner"`
	Buckets     []Bucket `xml:"Buckets>Bucket"`
	IsTruncated bool     `xml:"IsTruncated"`
	Marker      string   `xml:"Marker"`
	NextMarker  string   `xml:"NextMarker"`
	MaxKeys     int      `xml:"MaxKeys"`
}

ListBucketsOutput is the result of ListBuckets function

type ListMultipartUploadsInput

type ListMultipartUploadsInput struct {
	Bucket         string
	Prefix         string
	MaxUploads     int
	Delimiter      string
	KeyMarker      string
	UploadIdMarker string
	EncodingType   string
}

ListMultipartUploadsInput is the input parameter of ListMultipartUploads function

type ListMultipartUploadsOutput

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"`
	EncodingType       string   `xml:"EncodingType,omitempty"`
}

ListMultipartUploadsOutput is the result of ListMultipartUploads function

type ListObjectsInput

type ListObjectsInput struct {
	ListObjsInput
	Bucket string
	Marker string
}

ListObjectsInput is the input parameter of ListObjects function

type ListObjectsOutput

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:"-"`
	EncodingType   string    `xml:"EncodingType,omitempty"`
}

ListObjectsOutput is the result of ListObjects function

type ListObjsInput

type ListObjsInput struct {
	Prefix        string
	MaxKeys       int
	Delimiter     string
	Origin        string
	RequestHeader string
	EncodingType  string
}

ListObjsInput defines parameters for listing objects

type ListPartsInput

type ListPartsInput struct {
	Bucket           string
	Key              string
	UploadId         string
	MaxParts         int
	PartNumberMarker int
	EncodingType     string
}

ListPartsInput is the input parameter of ListParts function

type ListPartsOutput

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"`
	EncodingType         string           `xml:"EncodingType,omitempty"`
}

ListPartsOutput is the result of ListParts function

type ListVersionsInput

type ListVersionsInput struct {
	ListObjsInput
	Bucket          string
	KeyMarker       string
	VersionIdMarker string
}

ListVersionsInput is the input parameter of ListVersions function

type ListVersionsOutput

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:"-"`
	EncodingType        string         `xml:"EncodingType,omitempty"`
}

ListVersionsOutput is the result of ListVersions function

type MetadataDirectiveType

type MetadataDirectiveType string

MetadataDirectiveType defines metadata operation indicator

const (
	// CopyMetadata metadata operation: COPY
	CopyMetadata MetadataDirectiveType = "COPY"

	// ReplaceNew metadata operation: REPLACE_NEW
	ReplaceNew MetadataDirectiveType = "REPLACE_NEW"

	// ReplaceMetadata metadata operation: REPLACE
	ReplaceMetadata MetadataDirectiveType = "REPLACE"
)

type ModifyObjectInput

type ModifyObjectInput struct {
	Bucket        string
	Key           string
	Position      int64
	Body          io.Reader
	ContentLength int64
}

type ModifyObjectOutput

type ModifyObjectOutput struct {
	BaseModel
	ETag string
}

type NewFolderInput

type NewFolderInput struct {
	ObjectOperationInput
	RequestPayer string
}

type NewFolderOutput

type NewFolderOutput struct {
	PutObjectOutput
}

type NoChanPool

type NoChanPool struct {
	// contains filtered or unexported fields
}

NoChanPool defines the coroutine pool struct

func (*NoChanPool) AddCurrentWorkingCnt

func (pool *NoChanPool) AddCurrentWorkingCnt(value int64) int64

func (*NoChanPool) AddMaxWorkerCnt

func (pool *NoChanPool) AddMaxWorkerCnt(value int64) int64

func (*NoChanPool) AddWorkerCnt

func (pool *NoChanPool) AddWorkerCnt(value int64) int64

func (*NoChanPool) CompareAndSwapCurrentWorkingCnt

func (pool *NoChanPool) CompareAndSwapCurrentWorkingCnt(oldValue, newValue int64) bool

func (*NoChanPool) EnableAutoTune

func (pool *NoChanPool) EnableAutoTune()

func (*NoChanPool) Execute

func (pool *NoChanPool) Execute(t Task)

Execute executes the specified task

func (*NoChanPool) ExecuteFunc

func (pool *NoChanPool) ExecuteFunc(f func() interface{})

ExecuteFunc creates a funcWrapper instance with the specified function and calls the Execute function

func (*NoChanPool) GetCurrentWorkingCnt

func (pool *NoChanPool) GetCurrentWorkingCnt() int64

func (*NoChanPool) GetMaxWorkerCnt

func (pool *NoChanPool) GetMaxWorkerCnt() int64

func (*NoChanPool) GetWorkerCnt

func (pool *NoChanPool) GetWorkerCnt() int64

func (*NoChanPool) ShutDown

func (pool *NoChanPool) ShutDown()

ShutDown closes the NoChanPool instance

func (*NoChanPool) Submit

func (pool *NoChanPool) Submit(t Task) (Future, error)

Submit executes the specified task, and returns the FutureResult and error info

func (*NoChanPool) SubmitFunc

func (pool *NoChanPool) SubmitFunc(f func() interface{}) (Future, error)

SubmitFunc creates a funcWrapper instance with the specified function and calls the Submit function

type NoncurrentVersionExpiration

type NoncurrentVersionExpiration struct {
	XMLName        xml.Name `xml:"NoncurrentVersionExpiration"`
	NoncurrentDays int      `xml:"NoncurrentDays"`
}

NoncurrentVersionExpiration defines noncurrentVersion expiration property in LifecycleRule

type NoncurrentVersionTransition

type NoncurrentVersionTransition struct {
	XMLName        xml.Name         `xml:"NoncurrentVersionTransition"`
	NoncurrentDays int              `xml:"NoncurrentDays"`
	StorageClass   StorageClassType `xml:"StorageClass"`
}

NoncurrentVersionTransition defines noncurrentVersion transition property in LifecycleRule

type ObjectInfo

type ObjectInfo struct {
	XMLName      xml.Name `xml:"ObjectInfo"`
	LastModified int64    `xml:"LastModified"`
	Size         int64    `xml:"Size"`
	ETag         string   `xml:"ETag"`
}

ObjectInfo defines download object info

type ObjectOperationInput

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

ObjectOperationInput defines the object operation properties

type ObjectToDelete

type ObjectToDelete struct {
	XMLName   xml.Name `xml:"Object"`
	Key       string   `xml:"Key"`
	VersionId string   `xml:"VersionId,omitempty"`
}

ObjectToDelete defines the object property in DeleteObjectsInput

type ObsClient

type ObsClient struct {
	// contains filtered or unexported fields
}

ObsClient defines OBS client.

func New

func New(ak, sk, endpoint string, configurers ...configurer) (*ObsClient, error)

New creates a new ObsClient instance.

func (ObsClient) AbortMultipartUpload

func (obsClient ObsClient) AbortMultipartUpload(input *AbortMultipartUploadInput, extensions ...extensionOptions) (output *BaseModel, err error)

AbortMultipartUpload aborts a multipart upload in a specified bucket by using the multipart upload ID.

func (ObsClient) AbortMultipartUploadWithSignedUrl

func (obsClient ObsClient) AbortMultipartUploadWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

AbortMultipartUploadWithSignedUrl aborts a multipart upload in a specified bucket by using the multipart upload ID with the specified signed url and signed request headers

func (ObsClient) AppendObject

func (obsClient ObsClient) AppendObject(input *AppendObjectInput, extensions ...extensionOptions) (output *AppendObjectOutput, err error)

func (ObsClient) AppendObjectWithSignedURL

func (obsClient ObsClient) AppendObjectWithSignedURL(signedURL string, actualSignedRequestHeaders http.Header, data io.Reader) (output *AppendObjectOutput, err error)

AppendObjectWithSignedUrl uploads an object to the specified bucket with the specified signed url and signed request headers and data

func (*ObsClient) Close

func (obsClient *ObsClient) Close()

Close closes ObsClient.

func (ObsClient) CompleteMultipartUpload

func (obsClient ObsClient) CompleteMultipartUpload(input *CompleteMultipartUploadInput, extensions ...extensionOptions) (output *CompleteMultipartUploadOutput, err error)

CompleteMultipartUpload combines the uploaded parts in a specified bucket by using the multipart upload ID.

func (ObsClient) CompleteMultipartUploadWithSignedUrl

func (obsClient ObsClient) CompleteMultipartUploadWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *CompleteMultipartUploadOutput, err error)

CompleteMultipartUploadWithSignedUrl combines the uploaded parts in a specified bucket by using the multipart upload ID with the specified signed url and signed request headers and data

func (ObsClient) CopyObject

func (obsClient ObsClient) CopyObject(input *CopyObjectInput, extensions ...extensionOptions) (output *CopyObjectOutput, err error)

CopyObject creates a copy for an existing object.

You can use this API to create a copy for an object in a specified bucket.

func (ObsClient) CopyObjectWithSignedUrl

func (obsClient ObsClient) CopyObjectWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *CopyObjectOutput, err error)

CopyObjectWithSignedUrl creates a copy for an existing object with the specified signed url and signed request headers

func (ObsClient) CopyPart

func (obsClient ObsClient) CopyPart(input *CopyPartInput, extensions ...extensionOptions) (output *CopyPartOutput, err error)

CopyPart copy a part to a specified bucket by using a specified multipart upload ID.

After a multipart upload is initialized, you can use this API to copy a part to a specified bucket by using the multipart upload ID.

func (ObsClient) CopyPartWithSignedUrl

func (obsClient ObsClient) CopyPartWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *CopyPartOutput, err error)

CopyPartWithSignedUrl copy a part to a specified bucket by using a specified multipart upload ID with the specified signed url and signed request headers

func (ObsClient) CreateBrowserBasedSignature

func (obsClient ObsClient) CreateBrowserBasedSignature(input *CreateBrowserBasedSignatureInput) (output *CreateBrowserBasedSignatureOutput, err error)

CreateBrowserBasedSignature gets the browser based signature with the specified CreateBrowserBasedSignatureInput, and returns the CreateBrowserBasedSignatureOutput and error

func (ObsClient) CreateBucket

func (obsClient ObsClient) CreateBucket(input *CreateBucketInput, extensions ...extensionOptions) (output *BaseModel, err error)

CreateBucket creates a bucket.

You can use this API to create a bucket and name it as you specify. The created bucket name must be unique in OBS.

func (ObsClient) CreateBucketWithSignedUrl

func (obsClient ObsClient) CreateBucketWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

CreateBucketWithSignedUrl creates bucket with the specified signed url and signed request headers and data

func (ObsClient) CreateSignedUrl

func (obsClient ObsClient) CreateSignedUrl(input *CreateSignedUrlInput, extensions ...extensionOptions) (output *CreateSignedUrlOutput, err error)

CreateSignedUrl creates signed url with the specified CreateSignedUrlInput, and returns the CreateSignedUrlOutput and error

func (ObsClient) DeleteBucket

func (obsClient ObsClient) DeleteBucket(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucket deletes a bucket.

You can use this API to delete a bucket. The bucket to be deleted must be empty (containing no objects, noncurrent object versions, or part fragments).

func (ObsClient) DeleteBucketCors

func (obsClient ObsClient) DeleteBucketCors(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketCors deletes CORS rules of a bucket.

You can use this API to delete the CORS rules of a specified bucket.

func (ObsClient) DeleteBucketCorsWithSignedUrl

func (obsClient ObsClient) DeleteBucketCorsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

DeleteBucketCorsWithSignedUrl deletes CORS rules of a bucket with the specified signed url and signed request headers

func (ObsClient) DeleteBucketCustomDomain

func (obsClient ObsClient) DeleteBucketCustomDomain(input *DeleteBucketCustomDomainInput, extensions ...extensionOptions) (output *BaseModel, err error)

func (ObsClient) DeleteBucketEncryption

func (obsClient ObsClient) DeleteBucketEncryption(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketEncryption deletes the encryption configuration of a bucket.

You can use this API to delete the encryption configuration of a bucket.

func (ObsClient) DeleteBucketEncryptionWithSignedURL

func (obsClient ObsClient) DeleteBucketEncryptionWithSignedURL(signedURL string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

DeleteBucketEncryptionWithSignedURL deletes bucket encryption setting of a bucket with the specified signed url and signed request headers

func (ObsClient) DeleteBucketFetchPolicy

func (obsClient ObsClient) DeleteBucketFetchPolicy(input *DeleteBucketFetchPolicyInput, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketFetchPolicy deletes the bucket fetch policy.

You can use this API to delete the fetch policy of a bucket.

func (ObsClient) DeleteBucketLifecycleConfiguration

func (obsClient ObsClient) DeleteBucketLifecycleConfiguration(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketLifecycleConfiguration deletes lifecycle rules of a bucket.

You can use this API to delete all lifecycle rules of a bucket.

func (ObsClient) DeleteBucketLifecycleConfigurationWithSignedUrl

func (obsClient ObsClient) DeleteBucketLifecycleConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

DeleteBucketLifecycleConfigurationWithSignedUrl deletes lifecycle rules of a bucket with the specified signed url and signed request headers

func (ObsClient) DeleteBucketMirrorBackToSource

func (obsClient ObsClient) DeleteBucketMirrorBackToSource(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

func (ObsClient) DeleteBucketPolicy

func (obsClient ObsClient) DeleteBucketPolicy(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketPolicy deletes the bucket policy.

You can use this API to delete the policy of a bucket.

func (ObsClient) DeleteBucketPolicyWithSignedUrl

func (obsClient ObsClient) DeleteBucketPolicyWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

DeleteBucketPolicyWithSignedUrl deletes the bucket policy with the specified signed url and signed request headers

func (ObsClient) DeleteBucketReplication

func (obsClient ObsClient) DeleteBucketReplication(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketReplication deletes the cross-region replication configuration of a bucket.

You can use this API to delete the cross-region replication configuration of a bucket.

func (ObsClient) DeleteBucketTagging

func (obsClient ObsClient) DeleteBucketTagging(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketTagging deletes bucket tags.

You can use this API to delete the tags of a specified bucket.

func (ObsClient) DeleteBucketTaggingWithSignedUrl

func (obsClient ObsClient) DeleteBucketTaggingWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

DeleteBucketTaggingWithSignedUrl deletes bucket tags with the specified signed url and signed request headers

func (ObsClient) DeleteBucketWebsiteConfiguration

func (obsClient ObsClient) DeleteBucketWebsiteConfiguration(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

DeleteBucketWebsiteConfiguration deletes the website hosting settings of a bucket.

You can use this API to delete the website hosting settings of a bucket.

func (ObsClient) DeleteBucketWebsiteConfigurationWithSignedUrl

func (obsClient ObsClient) DeleteBucketWebsiteConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

DeleteBucketWebsiteConfigurationWithSignedUrl deletes the website hosting settings of a bucket with the specified signed url and signed request headers

func (ObsClient) DeleteBucketWithSignedUrl

func (obsClient ObsClient) DeleteBucketWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

DeleteBucketWithSignedUrl deletes bucket with the specified signed url and signed request headers

func (ObsClient) DeleteObject

func (obsClient ObsClient) DeleteObject(input *DeleteObjectInput, extensions ...extensionOptions) (output *DeleteObjectOutput, err error)

DeleteObject deletes an object.

You can use this API to delete an object from a specified bucket.

func (ObsClient) DeleteObjectWithSignedUrl

func (obsClient ObsClient) DeleteObjectWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *DeleteObjectOutput, err error)

DeleteObjectWithSignedUrl deletes an object with the specified signed url and signed request headers

func (ObsClient) DeleteObjects

func (obsClient ObsClient) DeleteObjects(input *DeleteObjectsInput, extensions ...extensionOptions) (output *DeleteObjectsOutput, err error)

DeleteObjects deletes objects in a batch.

You can use this API to batch delete objects from a specified bucket.

func (ObsClient) DeleteObjectsWithSignedUrl

func (obsClient ObsClient) DeleteObjectsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *DeleteObjectsOutput, err error)

DeleteObjectsWithSignedUrl deletes objects in a batch with the specified signed url and signed request headers and data

func (ObsClient) DownloadFile

func (obsClient ObsClient) DownloadFile(input *DownloadFileInput, extensions ...extensionOptions) (output *GetObjectMetadataOutput, err error)

DownloadFile resume downloads.

This API is an encapsulated and enhanced version of partial download, and aims to eliminate large file download failures caused by poor network conditions and program breakdowns.

func (ObsClient) GetAttribute

func (obsClient ObsClient) GetAttribute(input *GetAttributeInput, extensions ...extensionOptions) (output *GetAttributeOutput, err error)

func (ObsClient) GetBucketAcl

func (obsClient ObsClient) GetBucketAcl(bucketName string, extensions ...extensionOptions) (output *GetBucketAclOutput, err error)

GetBucketAcl gets the bucket ACL.

You can use this API to obtain a bucket ACL.

func (ObsClient) GetBucketAclWithSignedUrl

func (obsClient ObsClient) GetBucketAclWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketAclOutput, err error)

GetBucketAclWithSignedUrl gets the bucket ACL with the specified signed url and signed request headers

func (ObsClient) GetBucketCors

func (obsClient ObsClient) GetBucketCors(bucketName string, extensions ...extensionOptions) (output *GetBucketCorsOutput, err error)

GetBucketCors gets CORS rules of a bucket.

You can use this API to obtain the CORS rules of a specified bucket.

func (ObsClient) GetBucketCorsWithSignedUrl

func (obsClient ObsClient) GetBucketCorsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketCorsOutput, err error)

GetBucketCorsWithSignedUrl gets CORS rules of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketCustomDomain

func (obsClient ObsClient) GetBucketCustomDomain(bucketName string, extensions ...extensionOptions) (output *GetBucketCustomDomainOuput, err error)

func (ObsClient) GetBucketEncryption

func (obsClient ObsClient) GetBucketEncryption(bucketName string, extensions ...extensionOptions) (output *GetBucketEncryptionOutput, err error)

GetBucketEncryption gets the encryption configuration of a bucket.

You can use this API to obtain obtain the encryption configuration of a bucket.

func (ObsClient) GetBucketEncryptionWithSignedURL

func (obsClient ObsClient) GetBucketEncryptionWithSignedURL(signedURL string, actualSignedRequestHeaders http.Header) (output *GetBucketEncryptionOutput, err error)

GetBucketEncryptionWithSignedURL gets bucket encryption setting of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketFSStatus

func (obsClient ObsClient) GetBucketFSStatus(input *GetBucketFSStatusInput, extensions ...extensionOptions) (output *GetBucketFSStatusOutput, err error)

func (ObsClient) GetBucketFetchJob

func (obsClient ObsClient) GetBucketFetchJob(input *GetBucketFetchJobInput, extensions ...extensionOptions) (output *GetBucketFetchJobOutput, err error)

GetBucketFetchJob gets the bucket fetch job.

You can use this API to obtain the fetch job of a bucket.

func (ObsClient) GetBucketFetchPolicy

func (obsClient ObsClient) GetBucketFetchPolicy(input *GetBucketFetchPolicyInput, extensions ...extensionOptions) (output *GetBucketFetchPolicyOutput, err error)

GetBucketFetchPolicy gets the bucket fetch policy.

You can use this API to obtain the fetch policy of a bucket.

func (ObsClient) GetBucketLifecycleConfiguration

func (obsClient ObsClient) GetBucketLifecycleConfiguration(bucketName string, extensions ...extensionOptions) (output *GetBucketLifecycleConfigurationOutput, err error)

GetBucketLifecycleConfiguration gets lifecycle rules of a bucket.

You can use this API to obtain the lifecycle rules of a bucket.

func (ObsClient) GetBucketLifecycleConfigurationWithSignedUrl

func (obsClient ObsClient) GetBucketLifecycleConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketLifecycleConfigurationOutput, err error)

GetBucketLifecycleConfigurationWithSignedUrl gets lifecycle rules of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketLocation

func (obsClient ObsClient) GetBucketLocation(bucketName string, extensions ...extensionOptions) (output *GetBucketLocationOutput, err error)

GetBucketLocation gets the location of a bucket.

You can use this API to obtain the bucket location.

func (ObsClient) GetBucketLocationWithSignedUrl

func (obsClient ObsClient) GetBucketLocationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketLocationOutput, err error)

GetBucketLocationWithSignedUrl gets the location of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketLoggingConfiguration

func (obsClient ObsClient) GetBucketLoggingConfiguration(bucketName string, extensions ...extensionOptions) (output *GetBucketLoggingConfigurationOutput, err error)

GetBucketLoggingConfiguration gets the logging settings of a bucket.

You can use this API to obtain the access logging settings of a bucket.

func (ObsClient) GetBucketLoggingConfigurationWithSignedUrl

func (obsClient ObsClient) GetBucketLoggingConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketLoggingConfigurationOutput, err error)

GetBucketLoggingConfigurationWithSignedUrl gets the logging settings of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketMetadata

func (obsClient ObsClient) GetBucketMetadata(input *GetBucketMetadataInput, extensions ...extensionOptions) (output *GetBucketMetadataOutput, err error)

GetBucketMetadata gets the metadata of a bucket.

You can use this API to send a HEAD request to a bucket to obtain the bucket metadata such as the storage class and CORS rules (if set).

func (ObsClient) GetBucketMetadataWithSignedUrl

func (obsClient ObsClient) GetBucketMetadataWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketMetadataOutput, err error)

GetBucketMetadataWithSignedUrl gets the metadata of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketMirrorBackToSource

func (obsClient ObsClient) GetBucketMirrorBackToSource(bucketName string, extensions ...extensionOptions) (output *GetBucketMirrorBackToSourceOuput, err error)

func (ObsClient) GetBucketNotification

func (obsClient ObsClient) GetBucketNotification(bucketName string, extensions ...extensionOptions) (output *GetBucketNotificationOutput, err error)

GetBucketNotification gets event notification settings of a bucket.

You can use this API to obtain the event notification configuration of a bucket.

func (ObsClient) GetBucketNotificationWithSignedUrl

func (obsClient ObsClient) GetBucketNotificationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketNotificationOutput, err error)

GetBucketNotificationWithSignedUrl gets event notification settings of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketPolicy

func (obsClient ObsClient) GetBucketPolicy(bucketName string, extensions ...extensionOptions) (output *GetBucketPolicyOutput, err error)

GetBucketPolicy gets the bucket policy.

You can use this API to obtain the policy of a bucket.

func (ObsClient) GetBucketPolicyWithSignedUrl

func (obsClient ObsClient) GetBucketPolicyWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketPolicyOutput, err error)

GetBucketPolicyWithSignedUrl gets the bucket policy with the specified signed url and signed request headers

func (ObsClient) GetBucketQuota

func (obsClient ObsClient) GetBucketQuota(bucketName string, extensions ...extensionOptions) (output *GetBucketQuotaOutput, err error)

GetBucketQuota gets the bucket quota.

You can use this API to obtain the bucket quota. Value 0 indicates that no upper limit is set for the bucket quota.

func (ObsClient) GetBucketQuotaWithSignedUrl

func (obsClient ObsClient) GetBucketQuotaWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketQuotaOutput, err error)

GetBucketQuotaWithSignedUrl gets the bucket quota with the specified signed url and signed request headers

func (ObsClient) GetBucketReplication

func (obsClient ObsClient) GetBucketReplication(bucketName string, extensions ...extensionOptions) (output *GetBucketReplicationOutput, err error)

GetBucketReplication gets the cross-region replication configuration of a bucket.

You can use this API to obtain the cross-region replication configuration of a bucket.

func (ObsClient) GetBucketRequestPayment

func (obsClient ObsClient) GetBucketRequestPayment(bucketName string, extensions ...extensionOptions) (output *GetBucketRequestPaymentOutput, err error)

GetBucketRequestPayment gets requester-pays setting of a bucket.

func (ObsClient) GetBucketRequestPaymentWithSignedUrl

func (obsClient ObsClient) GetBucketRequestPaymentWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketRequestPaymentOutput, err error)

GetBucketRequestPaymentWithSignedUrl gets requester-pays setting of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketStorageInfo

func (obsClient ObsClient) GetBucketStorageInfo(bucketName string, extensions ...extensionOptions) (output *GetBucketStorageInfoOutput, err error)

GetBucketStorageInfo gets storage information about a bucket.

You can use this API to obtain storage information about a bucket, including the bucket size and number of objects in the bucket.

func (ObsClient) GetBucketStorageInfoWithSignedUrl

func (obsClient ObsClient) GetBucketStorageInfoWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketStorageInfoOutput, err error)

GetBucketStorageInfoWithSignedUrl gets storage information about a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketStoragePolicy

func (obsClient ObsClient) GetBucketStoragePolicy(bucketName string, extensions ...extensionOptions) (output *GetBucketStoragePolicyOutput, err error)

GetBucketStoragePolicy gets bucket storage class.

You can use this API to obtain the storage class of a bucket.

func (ObsClient) GetBucketStoragePolicyWithSignedUrl

func (obsClient ObsClient) GetBucketStoragePolicyWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketStoragePolicyOutput, err error)

GetBucketStoragePolicyWithSignedUrl gets bucket storage class with the specified signed url and signed request headers

func (ObsClient) GetBucketTagging

func (obsClient ObsClient) GetBucketTagging(bucketName string, extensions ...extensionOptions) (output *GetBucketTaggingOutput, err error)

GetBucketTagging gets bucket tags.

You can use this API to obtain the tags of a specified bucket.

func (ObsClient) GetBucketTaggingWithSignedUrl

func (obsClient ObsClient) GetBucketTaggingWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketTaggingOutput, err error)

GetBucketTaggingWithSignedUrl gets bucket tags with the specified signed url and signed request headers

func (ObsClient) GetBucketVersioning

func (obsClient ObsClient) GetBucketVersioning(bucketName string, extensions ...extensionOptions) (output *GetBucketVersioningOutput, err error)

GetBucketVersioning gets the versioning status of a bucket.

You can use this API to obtain the versioning status of a bucket.

func (ObsClient) GetBucketVersioningWithSignedUrl

func (obsClient ObsClient) GetBucketVersioningWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketVersioningOutput, err error)

GetBucketVersioningWithSignedUrl gets the versioning status of a bucket with the specified signed url and signed request headers

func (ObsClient) GetBucketWebsiteConfiguration

func (obsClient ObsClient) GetBucketWebsiteConfiguration(bucketName string, extensions ...extensionOptions) (output *GetBucketWebsiteConfigurationOutput, err error)

GetBucketWebsiteConfiguration gets the website hosting settings of a bucket.

You can use this API to obtain the website hosting settings of a bucket.

func (ObsClient) GetBucketWebsiteConfigurationWithSignedUrl

func (obsClient ObsClient) GetBucketWebsiteConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetBucketWebsiteConfigurationOutput, err error)

GetBucketWebsiteConfigurationWithSignedUrl gets the website hosting settings of a bucket with the specified signed url and signed request headers

func (ObsClient) GetObject

func (obsClient ObsClient) GetObject(input *GetObjectInput, extensions ...extensionOptions) (output *GetObjectOutput, err error)

GetObject downloads object.

You can use this API to download an object in a specified bucket.

func (ObsClient) GetObjectAcl

func (obsClient ObsClient) GetObjectAcl(input *GetObjectAclInput, extensions ...extensionOptions) (output *GetObjectAclOutput, err error)

GetObjectAcl gets the ACL of an object.

You can use this API to obtain the ACL of an object in a specified bucket.

func (ObsClient) GetObjectAclWithSignedUrl

func (obsClient ObsClient) GetObjectAclWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetObjectAclOutput, err error)

GetObjectAclWithSignedUrl gets the ACL of an object with the specified signed url and signed request headers

func (ObsClient) GetObjectMetadata

func (obsClient ObsClient) GetObjectMetadata(input *GetObjectMetadataInput, extensions ...extensionOptions) (output *GetObjectMetadataOutput, err error)

GetObjectMetadata gets object metadata.

You can use this API to send a HEAD request to the object of a specified bucket to obtain its metadata.

func (ObsClient) GetObjectMetadataWithSignedUrl

func (obsClient ObsClient) GetObjectMetadataWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetObjectMetadataOutput, err error)

GetObjectMetadataWithSignedUrl gets object metadata with the specified signed url and signed request headers

func (ObsClient) GetObjectWithSignedUrl

func (obsClient ObsClient) GetObjectWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetObjectOutput, err error)

GetObjectWithSignedUrl downloads object with the specified signed url and signed request headers

func (ObsClient) GetObjectWithoutProgress

func (obsClient ObsClient) GetObjectWithoutProgress(input *GetObjectInput, extensions ...extensionOptions) (output *GetObjectOutput, err error)

func (ObsClient) HeadBucket

func (obsClient ObsClient) HeadBucket(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)

HeadBucket checks whether a bucket exists.

You can use this API to check whether a bucket exists.

func (ObsClient) HeadBucketWithSignedUrl

func (obsClient ObsClient) HeadBucketWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

HeadBucketWithSignedUrl checks whether a bucket exists with the specified signed url and signed request headers

func (ObsClient) HeadObject

func (obsClient ObsClient) HeadObject(input *HeadObjectInput, extensions ...extensionOptions) (output *BaseModel, err error)

HeadObject checks whether an object exists.

You can use this API to check whether an object exists.

func (ObsClient) HeadObjectWithSignedUrl

func (obsClient ObsClient) HeadObjectWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *BaseModel, err error)

HeadObjectWithSignedUrl checks whether an object exists with the specified signed url and signed request headers

func (ObsClient) InitiateMultipartUpload

func (obsClient ObsClient) InitiateMultipartUpload(input *InitiateMultipartUploadInput, extensions ...extensionOptions) (output *InitiateMultipartUploadOutput, err error)

InitiateMultipartUpload initializes a multipart upload.

func (ObsClient) InitiateMultipartUploadWithSignedUrl

func (obsClient ObsClient) InitiateMultipartUploadWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *InitiateMultipartUploadOutput, err error)

InitiateMultipartUploadWithSignedUrl initializes a multipart upload with the specified signed url and signed request headers

func (ObsClient) ListBuckets

func (obsClient ObsClient) ListBuckets(input *ListBucketsInput, extensions ...extensionOptions) (output *ListBucketsOutput, err error)

ListBuckets lists buckets.

You can use this API to obtain the bucket list. In the list, bucket names are displayed in lexicographical order.

func (ObsClient) ListBucketsWithSignedUrl

func (obsClient ObsClient) ListBucketsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *ListBucketsOutput, err error)

ListBucketsWithSignedUrl lists buckets with the specified signed url and signed request headers

func (ObsClient) ListMultipartUploads

func (obsClient ObsClient) ListMultipartUploads(input *ListMultipartUploadsInput, extensions ...extensionOptions) (output *ListMultipartUploadsOutput, err error)

ListMultipartUploads lists the multipart uploads.

You can use this API to list the multipart uploads that are initialized but not combined or aborted in a specified bucket.

func (ObsClient) ListMultipartUploadsWithSignedUrl

func (obsClient ObsClient) ListMultipartUploadsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *ListMultipartUploadsOutput, err error)

ListMultipartUploadsWithSignedUrl lists the multipart uploads that are initialized but not combined or aborted in a specified bucket with the specified signed url and signed request headers

func (ObsClient) ListObjects

func (obsClient ObsClient) ListObjects(input *ListObjectsInput, extensions ...extensionOptions) (output *ListObjectsOutput, err error)

ListObjects lists objects in a bucket.

You can use this API to list objects in a bucket. By default, a maximum of 1000 objects are listed.

func (ObsClient) ListObjectsWithSignedUrl

func (obsClient ObsClient) ListObjectsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *ListObjectsOutput, err error)

ListObjectsWithSignedUrl lists objects in a bucket with the specified signed url and signed request headers

func (ObsClient) ListParts

func (obsClient ObsClient) ListParts(input *ListPartsInput, extensions ...extensionOptions) (output *ListPartsOutput, err error)

ListParts lists the uploaded parts in a bucket by using the multipart upload ID.

func (ObsClient) ListPartsWithSignedUrl

func (obsClient ObsClient) ListPartsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *ListPartsOutput, err error)

ListPartsWithSignedUrl lists the uploaded parts in a bucket by using the multipart upload ID with the specified signed url and signed request headers

func (ObsClient) ListVersions

func (obsClient ObsClient) ListVersions(input *ListVersionsInput, extensions ...extensionOptions) (output *ListVersionsOutput, err error)

ListVersions lists versioning objects in a bucket.

You can use this API to list versioning objects in a bucket. By default, a maximum of 1000 versioning objects are listed.

func (ObsClient) ListVersionsWithSignedUrl

func (obsClient ObsClient) ListVersionsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *ListVersionsOutput, err error)

ListVersionsWithSignedUrl lists versioning objects in a bucket with the specified signed url and signed request headers

func (ObsClient) ModifyObject

func (obsClient ObsClient) ModifyObject(input *ModifyObjectInput, extensions ...extensionOptions) (output *ModifyObjectOutput, err error)

func (ObsClient) ModifyObjectWithSignedURL

func (obsClient ObsClient) ModifyObjectWithSignedURL(signedURL string, actualSignedRequestHeaders http.Header, data io.Reader) (output *ModifyObjectOutput, err error)

ModifyObjectWithSignedUrl uploads an object to the specified bucket with the specified signed url and signed request headers and data

func (ObsClient) NewFolder

func (obsClient ObsClient) NewFolder(input *NewFolderInput, extensions ...extensionOptions) (output *NewFolderOutput, err error)

func (ObsClient) PutFile

func (obsClient ObsClient) PutFile(input *PutFileInput, extensions ...extensionOptions) (output *PutObjectOutput, err error)

PutFile uploads a file to the specified bucket.

func (ObsClient) PutFileWithSignedUrl

func (obsClient ObsClient) PutFileWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, sourceFile string) (output *PutObjectOutput, err error)

PutFileWithSignedUrl uploads a file to the specified bucket with the specified signed url and signed request headers and sourceFile path

func (ObsClient) PutObject

func (obsClient ObsClient) PutObject(input *PutObjectInput, extensions ...extensionOptions) (output *PutObjectOutput, err error)

PutObject uploads an object to the specified bucket.

func (ObsClient) PutObjectWithSignedUrl

func (obsClient ObsClient) PutObjectWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *PutObjectOutput, err error)

PutObjectWithSignedUrl uploads an object to the specified bucket with the specified signed url and signed request headers and data

func (ObsClient) Refresh

func (obsClient ObsClient) Refresh(ak, sk, securityToken string)

Refresh refreshes ak, sk and securityToken for obsClient.

func (ObsClient) RenameFile

func (obsClient ObsClient) RenameFile(input *RenameFileInput, extensions ...extensionOptions) (output *RenameFileOutput, err error)

func (ObsClient) RenameFolder

func (obsClient ObsClient) RenameFolder(input *RenameFolderInput, extensions ...extensionOptions) (output *RenameFolderOutput, err error)

func (ObsClient) RestoreObject

func (obsClient ObsClient) RestoreObject(input *RestoreObjectInput, extensions ...extensionOptions) (output *BaseModel, err error)

RestoreObject restores an object.

func (ObsClient) RestoreObjectWithSignedUrl

func (obsClient ObsClient) RestoreObjectWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

RestoreObjectWithSignedUrl restores an object with the specified signed url and signed request headers and data

func (ObsClient) SetBucketAcl

func (obsClient ObsClient) SetBucketAcl(input *SetBucketAclInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketAcl sets the bucket ACL.

You can use this API to set the ACL for a bucket.

func (ObsClient) SetBucketAclWithSignedUrl

func (obsClient ObsClient) SetBucketAclWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketAclWithSignedUrl sets the bucket ACL with the specified signed url and signed request headers and data

func (ObsClient) SetBucketCors

func (obsClient ObsClient) SetBucketCors(input *SetBucketCorsInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketCors sets CORS rules for a bucket.

You can use this API to set CORS rules for a bucket to allow client browsers to send cross-origin requests.

func (ObsClient) SetBucketCorsWithSignedUrl

func (obsClient ObsClient) SetBucketCorsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketCorsWithSignedUrl sets CORS rules for a bucket with the specified signed url and signed request headers and data

func (ObsClient) SetBucketCustomDomain

func (obsClient ObsClient) SetBucketCustomDomain(input *SetBucketCustomDomainInput, extensions ...extensionOptions) (output *BaseModel, err error)

func (ObsClient) SetBucketEncryption

func (obsClient ObsClient) SetBucketEncryption(input *SetBucketEncryptionInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketEncryption sets the default server-side encryption for a bucket.

You can use this API to create or update the default server-side encryption for a bucket.

func (ObsClient) SetBucketEncryptionWithSignedURL

func (obsClient ObsClient) SetBucketEncryptionWithSignedURL(signedURL string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketEncryptionWithSignedURL sets bucket encryption setting for a bucket with the specified signed url and signed request headers and data

func (ObsClient) SetBucketFetchJob

func (obsClient ObsClient) SetBucketFetchJob(input *SetBucketFetchJobInput, extensions ...extensionOptions) (output *SetBucketFetchJobOutput, err error)

SetBucketFetchJob sets the bucket fetch job.

You can use this API to set a bucket fetch job.

func (ObsClient) SetBucketFetchPolicy

func (obsClient ObsClient) SetBucketFetchPolicy(input *SetBucketFetchPolicyInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketFetchPolicy sets the bucket fetch policy.

You can use this API to set a bucket fetch policy.

func (ObsClient) SetBucketLifecycleConfiguration

func (obsClient ObsClient) SetBucketLifecycleConfiguration(input *SetBucketLifecycleConfigurationInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketLifecycleConfiguration sets lifecycle rules for a bucket.

You can use this API to set lifecycle rules for a bucket, to periodically transit storage classes of objects and delete objects in the bucket.

func (ObsClient) SetBucketLifecycleConfigurationWithSignedUrl

func (obsClient ObsClient) SetBucketLifecycleConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketLifecycleConfigurationWithSignedUrl sets lifecycle rules for a bucket with the specified signed url and signed request headers and data

func (ObsClient) SetBucketLoggingConfiguration

func (obsClient ObsClient) SetBucketLoggingConfiguration(input *SetBucketLoggingConfigurationInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketLoggingConfiguration sets the bucket logging.

You can use this API to configure access logging for a bucket.

func (ObsClient) SetBucketLoggingConfigurationWithSignedUrl

func (obsClient ObsClient) SetBucketLoggingConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketLoggingConfigurationWithSignedUrl sets the bucket logging with the specified signed url and signed request headers and data

func (ObsClient) SetBucketMirrorBackToSource

func (obsClient ObsClient) SetBucketMirrorBackToSource(input *SetBucketMirrorBackToSourceInput, extensions ...extensionOptions) (output *BaseModel, err error)

func (ObsClient) SetBucketNotification

func (obsClient ObsClient) SetBucketNotification(input *SetBucketNotificationInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketNotification sets event notification for a bucket.

You can use this API to configure event notification for a bucket. You will be notified of all specified operations performed on the bucket.

func (ObsClient) SetBucketNotificationWithSignedUrl

func (obsClient ObsClient) SetBucketNotificationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketNotificationWithSignedUrl sets event notification for a bucket with the specified signed url and signed request headers and data

func (ObsClient) SetBucketPolicy

func (obsClient ObsClient) SetBucketPolicy(input *SetBucketPolicyInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketPolicy sets the bucket policy.

You can use this API to set a bucket policy. If the bucket already has a policy, the policy will be overwritten by the one specified in this request.

func (ObsClient) SetBucketPolicyWithSignedUrl

func (obsClient ObsClient) SetBucketPolicyWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketPolicyWithSignedUrl sets the bucket policy with the specified signed url and signed request headers and data

func (ObsClient) SetBucketQuota

func (obsClient ObsClient) SetBucketQuota(input *SetBucketQuotaInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketQuota sets the bucket quota.

You can use this API to set the bucket quota. A bucket quota must be expressed in bytes and the maximum value is 2^63-1.

func (ObsClient) SetBucketQuotaWithSignedUrl

func (obsClient ObsClient) SetBucketQuotaWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketQuotaWithSignedUrl sets the bucket quota with the specified signed url and signed request headers and data

func (ObsClient) SetBucketReplication

func (obsClient ObsClient) SetBucketReplication(input *SetBucketReplicationInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketReplication sets the cross-region replication for a bucket.

You can use this API to create or update the cross-region replication for a bucket.

func (ObsClient) SetBucketRequestPayment

func (obsClient ObsClient) SetBucketRequestPayment(input *SetBucketRequestPaymentInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketRequestPayment sets requester-pays setting for a bucket.

func (ObsClient) SetBucketRequestPaymentWithSignedUrl

func (obsClient ObsClient) SetBucketRequestPaymentWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketRequestPaymentWithSignedUrl sets requester-pays setting for a bucket with the specified signed url and signed request headers and data

func (ObsClient) SetBucketStoragePolicy

func (obsClient ObsClient) SetBucketStoragePolicy(input *SetBucketStoragePolicyInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketStoragePolicy sets bucket storage class.

You can use this API to set storage class for bucket.

func (ObsClient) SetBucketStoragePolicyWithSignedUrl

func (obsClient ObsClient) SetBucketStoragePolicyWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketStoragePolicyWithSignedUrl sets bucket storage class with the specified signed url and signed request headers and data

func (ObsClient) SetBucketTagging

func (obsClient ObsClient) SetBucketTagging(input *SetBucketTaggingInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketTagging sets bucket tags.

You can use this API to set bucket tags.

func (ObsClient) SetBucketTaggingWithSignedUrl

func (obsClient ObsClient) SetBucketTaggingWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketTaggingWithSignedUrl sets bucket tags with the specified signed url and signed request headers and data

func (ObsClient) SetBucketVersioning

func (obsClient ObsClient) SetBucketVersioning(input *SetBucketVersioningInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketVersioning sets the versioning status for a bucket.

You can use this API to set the versioning status for a bucket.

func (ObsClient) SetBucketVersioningWithSignedUrl

func (obsClient ObsClient) SetBucketVersioningWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketVersioningWithSignedUrl sets the versioning status for a bucket with the specified signed url and signed request headers and data

func (ObsClient) SetBucketWebsiteConfiguration

func (obsClient ObsClient) SetBucketWebsiteConfiguration(input *SetBucketWebsiteConfigurationInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetBucketWebsiteConfiguration sets website hosting for a bucket.

You can use this API to set website hosting for a bucket.

func (ObsClient) SetBucketWebsiteConfigurationWithSignedUrl

func (obsClient ObsClient) SetBucketWebsiteConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetBucketWebsiteConfigurationWithSignedUrl sets website hosting for a bucket with the specified signed url and signed request headers and data

func (ObsClient) SetObjectAcl

func (obsClient ObsClient) SetObjectAcl(input *SetObjectAclInput, extensions ...extensionOptions) (output *BaseModel, err error)

SetObjectAcl sets ACL for an object.

You can use this API to set the ACL for an object in a specified bucket.

func (ObsClient) SetObjectAclWithSignedUrl

func (obsClient ObsClient) SetObjectAclWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

SetObjectAclWithSignedUrl sets ACL for an object with the specified signed url and signed request headers and data

func (ObsClient) SetObjectMetadata

func (obsClient ObsClient) SetObjectMetadata(input *SetObjectMetadataInput, extensions ...extensionOptions) (output *SetObjectMetadataOutput, err error)

SetObjectMetadata sets object metadata.

func (ObsClient) UploadFile

func (obsClient ObsClient) UploadFile(input *UploadFileInput, extensions ...extensionOptions) (output *CompleteMultipartUploadOutput, err error)

UploadFile resume uploads.

This API is an encapsulated and enhanced version of multipart upload, and aims to eliminate large file upload failures caused by poor network conditions and program breakdowns.

func (ObsClient) UploadPart

func (obsClient ObsClient) UploadPart(_input *UploadPartInput, extensions ...extensionOptions) (output *UploadPartOutput, err error)

UploadPart uploads a part to a specified bucket by using a specified multipart upload ID.

After a multipart upload is initialized, you can use this API to upload a part to a specified bucket by using the multipart upload ID. Except for the last uploaded part whose size ranges from 0 to 5 GB, sizes of the other parts range from 100 KB to 5 GB. The upload part ID ranges from 1 to 10000.

func (ObsClient) UploadPartWithSignedUrl

func (obsClient ObsClient) UploadPartWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *UploadPartOutput, err error)

UploadPartWithSignedUrl uploads a part to a specified bucket by using a specified multipart upload ID with the specified signed url and signed request headers and data

type ObsError

type ObsError struct {
	BaseModel
	Status   string
	XMLName  xml.Name `xml:"Error"`
	Code     string   `xml:"Code" json:"code"`
	Message  string   `xml:"Message" json:"message"`
	Resource string   `xml:"Resource"`
	HostId   string   `xml:"HostId"`
}

ObsError defines error response from OBS

func (ObsError) Error

func (err ObsError) Error() string

Format print obs error's log

type Owner

type Owner struct {
	XMLName     xml.Name `xml:"Owner"`
	ID          string   `xml:"ID"`
	DisplayName string   `xml:"DisplayName,omitempty"`
}

Owner defines owner properties

type Part

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

Part defines the part properties

type PayerType

type PayerType string

PayerType defines type of payer

const (
	// BucketOwnerPayer type of payer: BucketOwner
	BucketOwnerPayer PayerType = "BucketOwner"

	// RequesterPayer type of payer: Requester
	RequesterPayer PayerType = "Requester"

	// Requester header for requester-Pays
	Requester PayerType = "requester"
)

type PermissionType

type PermissionType string

PermissionType defines permission type

const (
	// PermissionRead permission type: READ
	PermissionRead PermissionType = "READ"

	// PermissionWrite permission type: WRITE
	PermissionWrite PermissionType = "WRITE"

	// PermissionReadAcp permission type: READ_ACP
	PermissionReadAcp PermissionType = "READ_ACP"

	// PermissionWriteAcp permission type: WRITE_ACP
	PermissionWriteAcp PermissionType = "WRITE_ACP"

	// PermissionFullControl permission type: FULL_CONTROL
	PermissionFullControl PermissionType = "FULL_CONTROL"
)

type Pool

type Pool interface {
	ShutDown()
	Submit(t Task) (Future, error)
	SubmitFunc(f func() interface{}) (Future, error)
	Execute(t Task)
	ExecuteFunc(f func() interface{})
	GetMaxWorkerCnt() int64
	AddMaxWorkerCnt(value int64) int64
	GetCurrentWorkingCnt() int64
	AddCurrentWorkingCnt(value int64) int64
	GetWorkerCnt() int64
	AddWorkerCnt(value int64) int64
	EnableAutoTune()
}

Pool defines coroutine pool interface

func NewNochanPool

func NewNochanPool(maxWorkerCnt int) Pool

NewNochanPool creates a new NoChanPool instance

func NewRoutinePool

func NewRoutinePool(maxWorkerCnt, cacheCnt int) Pool

NewRoutinePool creates a RoutinePool instance

type ProgressEvent

type ProgressEvent struct {
	ConsumedBytes int64
	TotalBytes    int64
	EventType     ProgressEventType
}

type ProgressEventType

type ProgressEventType int
const (
	TransferStartedEvent ProgressEventType = 1 + iota
	TransferDataEvent
	TransferCompletedEvent
	TransferFailedEvent
)

type ProgressListener

type ProgressListener interface {
	ProgressChanged(event *ProgressEvent)
}

type ProtocolType

type ProtocolType string

ProtocolType defines protocol type

const (
	// ProtocolHttp prorocol type: http
	ProtocolHttp ProtocolType = "http"

	// ProtocolHttps prorocol type: https
	ProtocolHttps ProtocolType = "https"
)

type PutFileInput

type PutFileInput struct {
	PutObjectBasicInput
	SourceFile string
}

PutFileInput is the input parameter of PutFile function

type PutObjectBasicInput

type PutObjectBasicInput struct {
	ObjectOperationInput
	ContentMD5    string
	ContentLength int64
}

PutObjectBasicInput defines the basic object operation properties

type PutObjectInput

type PutObjectInput struct {
	PutObjectBasicInput
	Body io.Reader
}

PutObjectInput is the input parameter of PutObject function

type PutObjectOutput

type PutObjectOutput struct {
	BaseModel
	VersionId    string
	SseHeader    ISseHeader
	StorageClass StorageClassType
	ETag         string
	ObjectUrl    string
	CallbackBody
}

PutObjectOutput is the result of PutObject function

type Redirect

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

Redirect defines redirect in RoutingRule

type RedirectAllRequestsTo

type RedirectAllRequestsTo struct {
	XMLName  xml.Name     `xml:"RedirectAllRequestsTo"`
	Protocol ProtocolType `xml:"Protocol,omitempty"`
	HostName string       `xml:"HostName"`
}

RedirectAllRequestsTo defines redirect in BucketWebsiteConfiguration

type RenameFileInput

type RenameFileInput struct {
	Bucket       string
	Key          string
	NewObjectKey string
	RequestPayer string
}

type RenameFileOutput

type RenameFileOutput struct {
	BaseModel
}

type RenameFolderInput

type RenameFolderInput struct {
	Bucket       string
	Key          string
	NewObjectKey string
	RequestPayer string
}

type RenameFolderOutput

type RenameFolderOutput struct {
	BaseModel
}

type ReplicationRule

type ReplicationRule struct {
	ID                          string           `xml:"ID,omitempty"`
	Prefix                      string           `xml:"Prefix"`
	Status                      RuleStatusType   `xml:"Status"`
	DestinationBucket           string           `xml:"Destination>Bucket"`
	StorageClass                StorageClassType `xml:"Destination>StorageClass,omitempty"`
	DeleteDate                  EnabledType      `xml:"Destination>DeleteDate,omitempty"`
	HistoricalObjectReplication EnabledType      `xml:"HistoricalObjectReplication,omitempty"`
}

ReplicationRule defines bucket cross-region replication rule

type RestoreObjectInput

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

RestoreObjectInput is the input parameter of RestoreObject function

type RestoreTierType

type RestoreTierType string

RestoreTierType defines restore options

const (
	// RestoreTierExpedited restore options: Expedited
	RestoreTierExpedited RestoreTierType = "Expedited"

	// RestoreTierStandard restore options: Standard
	RestoreTierStandard RestoreTierType = "Standard"

	// RestoreTierBulk restore options: Bulk
	RestoreTierBulk RestoreTierType = "Bulk"
)

type RoutinePool

type RoutinePool struct {
	// contains filtered or unexported fields
}

RoutinePool defines the coroutine pool struct

func (*RoutinePool) AddCurrentWorkingCnt

func (pool *RoutinePool) AddCurrentWorkingCnt(value int64) int64

func (*RoutinePool) AddMaxWorkerCnt

func (pool *RoutinePool) AddMaxWorkerCnt(value int64) int64

AddMaxWorkerCnt sets the maxWorkerCnt field's value and returns it

func (*RoutinePool) AddWorkerCnt

func (pool *RoutinePool) AddWorkerCnt(value int64) int64

func (*RoutinePool) CompareAndSwapCurrentWorkingCnt

func (pool *RoutinePool) CompareAndSwapCurrentWorkingCnt(oldValue, newValue int64) bool

func (*RoutinePool) EnableAutoTune

func (pool *RoutinePool) EnableAutoTune()

EnableAutoTune sets the autoTune enabled

func (*RoutinePool) Execute

func (pool *RoutinePool) Execute(t Task)

Execute pushes the specified task to the dispatchQueue

func (*RoutinePool) ExecuteFunc

func (pool *RoutinePool) ExecuteFunc(f func() interface{})

ExecuteFunc creates a funcWrapper instance with the specified function and calls the Execute function

func (*RoutinePool) GetCurrentWorkingCnt

func (pool *RoutinePool) GetCurrentWorkingCnt() int64

func (*RoutinePool) GetMaxWorkerCnt

func (pool *RoutinePool) GetMaxWorkerCnt() int64

func (*RoutinePool) GetWorkerCnt

func (pool *RoutinePool) GetWorkerCnt() int64

func (*RoutinePool) ShutDown

func (pool *RoutinePool) ShutDown()

ShutDown closes the RoutinePool instance

func (*RoutinePool) Submit

func (pool *RoutinePool) Submit(t Task) (Future, error)

Submit pushes the specified task to the dispatchQueue, and returns the FutureResult and error info

func (*RoutinePool) SubmitFunc

func (pool *RoutinePool) SubmitFunc(f func() interface{}) (Future, error)

SubmitFunc creates a funcWrapper instance with the specified function and calls the Submit function

func (*RoutinePool) SubmitWithTimeout

func (pool *RoutinePool) SubmitWithTimeout(t Task, timeout int64) (Future, error)

SubmitWithTimeout pushes the specified task to the dispatchQueue, and returns the FutureResult and error info. Also takes a timeout value, will return ErrSubmitTimeout if it does't complete within that time.

type RoutingRule

type RoutingRule struct {
	XMLName   xml.Name  `xml:"RoutingRule"`
	Condition Condition `xml:"Condition,omitempty"`
	Redirect  Redirect  `xml:"Redirect"`
}

RoutingRule defines routing rules

type RuleStatusType

type RuleStatusType string

RuleStatusType defines lifeCycle rule status

const (
	// RuleStatusEnabled rule status: Enabled
	RuleStatusEnabled RuleStatusType = "Enabled"

	// RuleStatusDisabled rule status: Disabled
	RuleStatusDisabled RuleStatusType = "Disabled"
)

type SetBucketAclInput

type SetBucketAclInput struct {
	Bucket string  `xml:"-"`
	ACL    AclType `xml:"-"`
	AccessControlPolicy
}

SetBucketAclInput is the input parameter of SetBucketAcl function

type SetBucketCorsInput

type SetBucketCorsInput struct {
	Bucket string `xml:"-"`
	BucketCors
}

SetBucketCorsInput is the input parameter of SetBucketCors function

type SetBucketCustomDomainInput

type SetBucketCustomDomainInput struct {
	Bucket       string
	CustomDomain string
}

SetBucketCustomDomainInput is the input parameter of SetBucketCustomDomain function

type SetBucketEncryptionInput

type SetBucketEncryptionInput struct {
	Bucket string `xml:"-"`
	BucketEncryptionConfiguration
}

SetBucketEncryptionInput is the input parameter of SetBucketEncryption function

type SetBucketFetchJobInput

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

SetBucketFetchJobInput is the input parameter of SetBucketFetchJob function

type SetBucketFetchJobOutput

type SetBucketFetchJobOutput struct {
	BaseModel
	SetBucketFetchJobResponse
}

SetBucketFetchJobOutput is the result of SetBucketFetchJob function

type SetBucketFetchJobResponse

type SetBucketFetchJobResponse struct {
	ID   string `json:"id"`
	Wait int    `json:"Wait"`
}

SetBucketFetchJobResponse defines the response SetBucketFetchJob configuration

type SetBucketFetchPolicyInput

type SetBucketFetchPolicyInput struct {
	Bucket string
	Status FetchPolicyStatusType `json:"status"`
	Agency string                `json:"agency"`
}

SetBucketFetchPolicyInput is the input parameter of SetBucketFetchPolicy function

type SetBucketLifecycleConfigurationInput

type SetBucketLifecycleConfigurationInput struct {
	Bucket string `xml:"-"`
	BucketLifecycleConfiguration
}

SetBucketLifecycleConfigurationInput is the input parameter of SetBucketLifecycleConfiguration function

type SetBucketLoggingConfigurationInput

type SetBucketLoggingConfigurationInput struct {
	Bucket string `xml:"-"`
	BucketLoggingStatus
}

SetBucketLoggingConfigurationInput is the input parameter of SetBucketLoggingConfiguration function

type SetBucketMirrorBackToSourceInput

type SetBucketMirrorBackToSourceInput struct {
	Bucket string
	Rules  string `json:"body"`
}

type SetBucketNotificationInput

type SetBucketNotificationInput struct {
	Bucket string `xml:"-"`
	BucketNotification
}

SetBucketNotificationInput is the input parameter of SetBucketNotification function

type SetBucketPolicyInput

type SetBucketPolicyInput struct {
	Bucket string
	Policy string
}

SetBucketPolicyInput is the input parameter of SetBucketPolicy function

type SetBucketQuotaInput

type SetBucketQuotaInput struct {
	Bucket string `xml:"-"`
	BucketQuota
}

SetBucketQuotaInput is the input parameter of SetBucketQuota function

type SetBucketReplicationInput

type SetBucketReplicationInput struct {
	Bucket string `xml:"-"`
	BucketReplicationConfiguration
}

SetBucketReplicationInput is the input parameter of SetBucketReplication function

type SetBucketRequestPaymentInput

type SetBucketRequestPaymentInput struct {
	Bucket string `xml:"-"`
	BucketPayer
}

SetBucketRequestPaymentInput is the input parameter of SetBucketRequestPayment function

type SetBucketStoragePolicyInput

type SetBucketStoragePolicyInput struct {
	Bucket string `xml:"-"`
	BucketStoragePolicy
}

SetBucketStoragePolicyInput is the input parameter of SetBucketStoragePolicy function

type SetBucketTaggingInput

type SetBucketTaggingInput struct {
	Bucket string `xml:"-"`
	BucketTagging
}

SetBucketTaggingInput is the input parameter of SetBucketTagging function

type SetBucketVersioningInput

type SetBucketVersioningInput struct {
	Bucket string `xml:"-"`
	BucketVersioningConfiguration
}

SetBucketVersioningInput is the input parameter of SetBucketVersioning function

type SetBucketWebsiteConfigurationInput

type SetBucketWebsiteConfigurationInput struct {
	Bucket string `xml:"-"`
	BucketWebsiteConfiguration
}

SetBucketWebsiteConfigurationInput is the input parameter of SetBucketWebsiteConfiguration function

type SetObjectAclInput

type SetObjectAclInput struct {
	Bucket    string  `xml:"-"`
	Key       string  `xml:"-"`
	VersionId string  `xml:"-"`
	ACL       AclType `xml:"-"`
	AccessControlPolicy
}

SetObjectAclInput is the input parameter of SetObjectAcl function

type SetObjectMetadataInput

type SetObjectMetadataInput struct {
	Bucket                  string
	Key                     string
	VersionId               string
	MetadataDirective       MetadataDirectiveType
	Expires                 string
	WebsiteRedirectLocation string
	StorageClass            StorageClassType
	Metadata                map[string]string
	HttpHeader
}

SetObjectMetadataInput is the input parameter of SetObjectMetadata function

type SetObjectMetadataOutput

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
}

SetObjectMetadataOutput is the result of SetObjectMetadata function

type SignatureType

type SignatureType string

SignatureType defines type of signature

const (
	// SignatureV2 signature type v2
	SignatureV2 SignatureType = "v2"
	// SignatureV4 signature type v4
	SignatureV4 SignatureType = "v4"
	// SignatureObs signature type OBS
	SignatureObs SignatureType = "OBS"
)

type SseCHeader

type SseCHeader struct {
	Encryption string
	Key        string
	KeyMD5     string
}

SseCHeader defines the SseC header

func (SseCHeader) GetEncryption

func (header SseCHeader) GetEncryption() string

GetEncryption gets the Encryption field value from SseCHeader

func (SseCHeader) GetKey

func (header SseCHeader) GetKey() string

GetKey gets the Key field value from SseCHeader

func (SseCHeader) GetKeyMD5

func (header SseCHeader) GetKeyMD5() string

GetKeyMD5 gets the KeyMD5 field value from SseCHeader

type SseKmsHeader

type SseKmsHeader struct {
	Encryption string
	Key        string
	// contains filtered or unexported fields
}

SseKmsHeader defines the SseKms header

func (SseKmsHeader) GetEncryption

func (header SseKmsHeader) GetEncryption() string

GetEncryption gets the Encryption field value from SseKmsHeader

func (SseKmsHeader) GetKey

func (header SseKmsHeader) GetKey() string

GetKey gets the Key field value from SseKmsHeader

type StorageClassType

type StorageClassType string

StorageClassType defines bucket storage class

const (
	//StorageClassStandard storage class: STANDARD
	StorageClassStandard StorageClassType = "STANDARD"

	//StorageClassWarm storage class: WARM
	StorageClassWarm StorageClassType = "WARM"

	//StorageClassCold storage class: COLD
	StorageClassCold StorageClassType = "COLD"

	//StorageClassDeepArchive storage class: DEEP_ARCHIVE
	StorageClassDeepArchive StorageClassType = "DEEP_ARCHIVE"
)

func ParseStringToStorageClassType

func ParseStringToStorageClassType(value string) (ret StorageClassType)

ParseStringToStorageClassType converts string value to StorageClassType value and returns it

type SubResourceType

type SubResourceType string

SubResourceType defines the subResource value

const (
	// SubResourceStoragePolicy subResource value: storagePolicy
	SubResourceStoragePolicy SubResourceType = "storagePolicy"

	// SubResourceStorageClass subResource value: storageClass
	SubResourceStorageClass SubResourceType = "storageClass"

	// SubResourceQuota subResource value: quota
	SubResourceQuota SubResourceType = "quota"

	// SubResourceStorageInfo subResource value: storageinfo
	SubResourceStorageInfo SubResourceType = "storageinfo"

	// SubResourceLocation subResource value: location
	SubResourceLocation SubResourceType = "location"

	// SubResourceAcl subResource value: acl
	SubResourceAcl SubResourceType = "acl"

	// SubResourcePolicy subResource value: policy
	SubResourcePolicy SubResourceType = "policy"

	// SubResourceCors subResource value: cors
	SubResourceCors SubResourceType = "cors"

	// SubResourceVersioning subResource value: versioning
	SubResourceVersioning SubResourceType = "versioning"

	// SubResourceWebsite subResource value: website
	SubResourceWebsite SubResourceType = "website"

	// SubResourceLogging subResource value: logging
	SubResourceLogging SubResourceType = "logging"

	// SubResourceLifecycle subResource value: lifecycle
	SubResourceLifecycle SubResourceType = "lifecycle"

	// SubResourceNotification subResource value: notification
	SubResourceNotification SubResourceType = "notification"

	// SubResourceEncryption subResource value: encryption
	SubResourceEncryption SubResourceType = "encryption"

	// SubResourceReplication subResource value: replication
	SubResourceReplication SubResourceType = "replication"

	// SubResourceTagging subResource value: tagging
	SubResourceTagging SubResourceType = "tagging"

	// SubResourceDelete subResource value: delete
	SubResourceDelete SubResourceType = "delete"

	// SubResourceVersions subResource value: versions
	SubResourceVersions SubResourceType = "versions"

	// SubResourceUploads subResource value: uploads
	SubResourceUploads SubResourceType = "uploads"

	// SubResourceRestore subResource value: restore
	SubResourceRestore SubResourceType = "restore"

	// SubResourceMetadata subResource value: metadata
	SubResourceMetadata SubResourceType = "metadata"

	// SubResourceRequestPayment subResource value: requestPayment
	SubResourceRequestPayment SubResourceType = "requestPayment"

	// SubResourceAppend subResource value: append
	SubResourceAppend SubResourceType = "append"

	// SubResourceModify subResource value: modify
	SubResourceModify SubResourceType = "modify"

	// SubResourceRename subResource value: rename
	SubResourceRename SubResourceType = "rename"

	// SubResourceCustomDomain subResource value: customdomain
	SubResourceCustomDomain SubResourceType = "customdomain"

	// SubResourceMirrorBackToSource subResource value: mirrorBackToSource
	SubResourceMirrorBackToSource SubResourceType = "mirrorBackToSource"
)

type Tag

type Tag struct {
	XMLName xml.Name `xml:"Tag"`
	Key     string   `xml:"Key"`
	Value   string   `xml:"Value"`
}

Tag defines tag property in BucketTagging

type Task

type Task interface {
	Run() interface{}
}

Task defines interface with function: Run

type TempFileInfo

type TempFileInfo struct {
	XMLName     xml.Name `xml:"TempFileInfo"`
	TempFileUrl string   `xml:"TempFileUrl"`
	Size        int64    `xml:"Size"`
}

TempFileInfo defines temp download file properties

type TemporarySecurityHolder

type TemporarySecurityHolder struct {
	// contains filtered or unexported fields
}

type TopicConfiguration

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

TopicConfiguration defines the topic configuration

type Transition

type Transition struct {
	XMLName      xml.Name         `xml:"Transition"`
	Date         time.Time        `xml:"Date,omitempty"`
	Days         int              `xml:"Days,omitempty"`
	StorageClass StorageClassType `xml:"StorageClass"`
}

Transition defines transition property in LifecycleRule

type Upload

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

Upload defines multipart upload properties

type UploadCheckpoint

type UploadCheckpoint struct {
	XMLName     xml.Name         `xml:"UploadFileCheckpoint"`
	Bucket      string           `xml:"Bucket"`
	Key         string           `xml:"Key"`
	UploadId    string           `xml:"UploadId,omitempty"`
	UploadFile  string           `xml:"FileUrl"`
	FileInfo    FileStatus       `xml:"FileInfo"`
	UploadParts []UploadPartInfo `xml:"UploadParts>UploadPart"`
}

UploadCheckpoint defines the upload checkpoint file properties

type UploadFileInput

type UploadFileInput struct {
	ObjectOperationInput
	ContentType      string
	UploadFile       string
	PartSize         int64
	TaskNum          int
	EnableCheckpoint bool
	CheckpointFile   string
	EncodingType     string
}

UploadFileInput is the input parameter of UploadFile function

type UploadPartInfo

type UploadPartInfo struct {
	XMLName     xml.Name `xml:"UploadPart"`
	PartNumber  int      `xml:"PartNumber"`
	Etag        string   `xml:"Etag"`
	PartSize    int64    `xml:"PartSize"`
	Offset      int64    `xml:"Offset"`
	IsCompleted bool     `xml:"IsCompleted"`
}

UploadPartInfo defines the upload part properties

type UploadPartInput

type UploadPartInput struct {
	Bucket     string
	Key        string
	PartNumber int
	UploadId   string
	ContentMD5 string
	SseHeader  ISseHeader
	Body       io.Reader
	SourceFile string
	Offset     int64
	PartSize   int64
}

UploadPartInput is the input parameter of UploadPart function

type UploadPartOutput

type UploadPartOutput struct {
	BaseModel
	PartNumber int
	ETag       string
	SseHeader  ISseHeader
}

UploadPartOutput is the result of UploadPart function

type Version

type Version struct {
	DeleteMarker
	XMLName xml.Name `xml:"Version"`
	ETag    string   `xml:"ETag"`
	Size    int64    `xml:"Size"`
}

Version defines the properties of versioning objects

type VersioningStatusType

type VersioningStatusType string

VersioningStatusType defines bucket version status

const (
	// VersioningStatusEnabled version status: Enabled
	VersioningStatusEnabled VersioningStatusType = "Enabled"

	// VersioningStatusSuspended version status: Suspended
	VersioningStatusSuspended VersioningStatusType = "Suspended"
)

Jump to

Keyboard shortcuts

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