oss/enums.go (216 lines of code) (raw):
package oss
// BucketACLType The access control list (ACL) of the bucket
type BucketACLType string
// Enum values for BucketACLType
const (
// BucketACLPrivate Only the bucket owner can perform read and write operations on objects in the bucket.
// Other users cannot access the objects in the bucket.
BucketACLPrivate BucketACLType = "private"
// BucketACLPublicRead Only the bucket owner can write data to objects in the bucket.
// Other users, including anonymous users, can only read objects in the bucket.
BucketACLPublicRead BucketACLType = "public-read"
// BucketACLPublicReadWrite All users, including anonymous users, can perform read and write operations on the bucket.
BucketACLPublicReadWrite BucketACLType = "public-read-write"
)
// StorageClassType The storage class of the bucket
type StorageClassType string
// Enum values for StorageClassType
const (
// StorageClassStandard Standard provides highly reliable, highly available,
// and high-performance object storage for data that is frequently accessed.
StorageClassStandard StorageClassType = "Standard"
// StorageClassIA IA provides highly durable storage at lower prices compared with Standard.
// IA has a minimum billable size of 64 KB and a minimum billable storage duration of 30 days.
StorageClassIA StorageClassType = "IA"
// StorageClassArchive Archive provides high-durability storage at lower prices compared with Standard and IA.
// Archive has a minimum billable size of 64 KB and a minimum billable storage duration of 60 days.
StorageClassArchive StorageClassType = "Archive"
// StorageClassColdArchive Cold Archive provides highly durable storage at lower prices compared with Archive.
// Cold Archive has a minimum billable size of 64 KB and a minimum billable storage duration of 180 days.
StorageClassColdArchive StorageClassType = "ColdArchive"
// StorageClassDeepColdArchive Deep Cold Archive provides highly durable storage at lower prices compared with Cold Archive.
// Deep Cold Archive has a minimum billable size of 64 KB and a minimum billable storage duration of 180 days.
StorageClassDeepColdArchive StorageClassType = "DeepColdArchive"
)
// DataRedundancyType The redundancy type of the bucket
type DataRedundancyType string
// Enum values for BucketACLType
const (
// DataRedundancyLRS Locally redundant storage (LRS) stores copies of each object across different devices in the same zone.
// This ensures data reliability and availability even if two storage devices are damaged at the same time.
DataRedundancyLRS DataRedundancyType = "LRS"
// DataRedundancyZRS Zone-redundant storage (ZRS) uses the multi-zone mechanism to distribute user data across
// multiple zones in the same region. If one zone becomes unavailable, you can continue to access the data
// that is stored in other zones.
DataRedundancyZRS DataRedundancyType = "ZRS"
)
// ObjectACLType The access control list (ACL) of the object
type ObjectACLType string
// Enum values for ObjectACLType
const (
// ObjectACLPrivate Only the object owner is allowed to perform read and write operations on the object.
// Other users cannot access the object.
ObjectACLPrivate ObjectACLType = "private"
// ObjectACLPublicRead Only the object owner can write data to the object.
// Other users, including anonymous users, can only read the object.
ObjectACLPublicRead ObjectACLType = "public-read"
// ObjectACLPublicReadWrite All users, including anonymous users, can perform read and write operations on the object.
ObjectACLPublicReadWrite ObjectACLType = "public-read-write"
// ObjectACLDefault The ACL of the object is the same as that of the bucket in which the object is stored.
ObjectACLDefault ObjectACLType = "default"
)
// VersioningStatusType bucket versioning status
type VersioningStatusType string
const (
// VersionEnabled Versioning Status definition: Enabled
VersionEnabled VersioningStatusType = "Enabled"
// VersionSuspended Versioning Status definition: Suspended
VersionSuspended VersioningStatusType = "Suspended"
)
// PayerType the type of request payer
type PayerType string
const (
// Requester the requester who send the request
Requester PayerType = "Requester"
// BucketOwner the requester who send the request
BucketOwner PayerType = "BucketOwner"
)
// BucketWormStateType the type of bucket worm state
type BucketWormStateType string
const (
BucketWormStateInProgress BucketWormStateType = "InProgress"
BucketWormStateLocked BucketWormStateType = "Locked"
)
// InventoryFormatType The format of exported inventory lists
type InventoryFormatType string
// InventoryFormatCSV Enum values for InventoryFormatType
const (
InventoryFormatCSV InventoryFormatType = "CSV"
)
// InventoryFrequencyType The frequency at which inventory lists are exported
type InventoryFrequencyType string
// Enum values for InventoryFrequencyType
const (
InventoryFrequencyDaily InventoryFrequencyType = "Daily"
InventoryFrequencyWeekly InventoryFrequencyType = "Weekly"
)
// InventoryOptionalFieldType The configuration fields that are included in inventory lists.
type InventoryOptionalFieldType string
// Enum values for InventoryOptionalFieldType
const (
InventoryOptionalFieldSize InventoryOptionalFieldType = "Size"
InventoryOptionalFieldLastModifiedDate InventoryOptionalFieldType = "LastModifiedDate"
InventoryOptionalFieldETag InventoryOptionalFieldType = "ETag"
InventoryOptionalFieldStorageClass InventoryOptionalFieldType = "StorageClass"
InventoryOptionalFieldIsMultipartUploaded InventoryOptionalFieldType = "IsMultipartUploaded"
InventoryOptionalFieldEncryptionStatus InventoryOptionalFieldType = "EncryptionStatus"
InventoryOptionalFieldTransitionTime InventoryOptionalFieldType = "TransitionTime"
)
// AccessMonitorStatusType The type of access monitor status
type AccessMonitorStatusType string
// Enum values for AccessMonitorStatusType
const (
AccessMonitorStatusEnabled AccessMonitorStatusType = "Enabled"
AccessMonitorStatusDisabled AccessMonitorStatusType = "Disabled"
)
type HistoricalObjectReplicationType string
// Enum values for HistoricalObjectReplicationType
const (
HistoricalObjectReplicationEnabled HistoricalObjectReplicationType = "enabled"
HistoricalObjectReplicationDisabled HistoricalObjectReplicationType = "disabled"
)
type TransferTypeType string
// Enum values for TransferTypeType
const (
TransferTypeInternal TransferTypeType = "internal"
TransferTypeOssAcc TransferTypeType = "oss_acc"
)
type StatusType string
// Enum values for StatusType
const (
StatusEnabled StatusType = "Enabled"
StatusDisabled StatusType = "Disabled"
)
type MetaQueryOrderType string
// Enum values for MetaQueryOrderType
const (
MetaQueryOrderAsc MetaQueryOrderType = "asc"
MetaQueryOrderDesc MetaQueryOrderType = "desc"
)
// OSS headers
const (
HeaderOssPrefix string = "X-Oss-"
HeaderOssMetaPrefix = "X-Oss-Meta-"
HeaderOssACL = "X-Oss-Acl"
HeaderOssObjectACL = "X-Oss-Object-Acl"
HeaderOssObjectType = "X-Oss-Object-Type"
HeaderOssSecurityToken = "X-Oss-Security-Token"
HeaderOssServerSideEncryption = "X-Oss-Server-Side-Encryption"
HeaderOssServerSideEncryptionKeyID = "X-Oss-Server-Side-Encryption-Key-Id"
HeaderOssServerSideDataEncryption = "X-Oss-Server-Side-Data-Encryption"
HeaderOssSSECAlgorithm = "X-Oss-Server-Side-Encryption-Customer-Algorithm"
HeaderOssSSECKey = "X-Oss-Server-Side-Encryption-Customer-Key"
HeaderOssSSECKeyMd5 = "X-Oss-Server-Side-Encryption-Customer-Key-MD5"
HeaderOssCopySource = "X-Oss-Copy-Source"
HeaderOssCopySourceRange = "X-Oss-Copy-Source-Range"
HeaderOssCopySourceIfMatch = "X-Oss-Copy-Source-If-Match"
HeaderOssCopySourceIfNoneMatch = "X-Oss-Copy-Source-If-None-Match"
HeaderOssCopySourceIfModifiedSince = "X-Oss-Copy-Source-If-Modified-Since"
HeaderOssCopySourceIfUnmodifiedSince = "X-Oss-Copy-Source-If-Unmodified-Since"
HeaderOssMetadataDirective = "X-Oss-Metadata-Directive"
HeaderOssNextAppendPosition = "X-Oss-Next-Append-Position"
HeaderOssRequestID = "X-Oss-Request-Id"
HeaderOssCRC64 = "X-Oss-Hash-Crc64ecma"
HeaderOssSymlinkTarget = "X-Oss-Symlink-Target"
HeaderOssStorageClass = "X-Oss-Storage-Class"
HeaderOssCallback = "X-Oss-Callback"
HeaderOssCallbackVar = "X-Oss-Callback-Var"
HeaderOssRequester = "X-Oss-Request-Payer"
HeaderOssTagging = "X-Oss-Tagging"
HeaderOssTaggingDirective = "X-Oss-Tagging-Directive"
HeaderOssTrafficLimit = "X-Oss-Traffic-Limit"
HeaderOssForbidOverWrite = "X-Oss-Forbid-Overwrite"
HeaderOssRangeBehavior = "X-Oss-Range-Behavior"
HeaderOssAllowSameActionOverLap = "X-Oss-Allow-Same-Action-Overlap"
HeaderOssDate = "X-Oss-Date"
HeaderOssContentSha256 = "X-Oss-Content-Sha256"
HeaderOssEC = "X-Oss-Ec"
HeaderOssERR = "X-Oss-Err"
)
// OSS headers for client sider encryption
const (
OssClientSideEncryptionKey string = "X-Oss-Meta-Client-Side-Encryption-Key"
OssClientSideEncryptionStart = "X-Oss-Meta-Client-Side-Encryption-Start"
OssClientSideEncryptionCekAlg = "X-Oss-Meta-Client-Side-Encryption-Cek-Alg"
OssClientSideEncryptionWrapAlg = "X-Oss-Meta-Client-Side-Encryption-Wrap-Alg"
OssClientSideEncryptionMatDesc = "X-Oss-Meta-Client-Side-Encryption-Matdesc"
OssClientSideEncryptionUnencryptedContentLength = "X-Oss-Meta-Client-Side-Encryption-Unencrypted-Content-Length"
OssClientSideEncryptionUnencryptedContentMD5 = "X-Oss-Meta-Client-Side-Encryption-Unencrypted-Content-Md5"
OssClientSideEncryptionDataSize = "X-Oss-Meta-Client-Side-Encryption-Data-Size"
OssClientSideEncryptionPartSize = "X-Oss-Meta-Client-Side-Encryption-Part-Size"
)
// HTTP headers
const (
HTTPHeaderAcceptEncoding string = "Accept-Encoding"
HTTPHeaderAuthorization = "Authorization"
HTTPHeaderCacheControl = "Cache-Control"
HTTPHeaderContentDisposition = "Content-Disposition"
HTTPHeaderContentEncoding = "Content-Encoding"
HTTPHeaderContentLength = "Content-Length"
HTTPHeaderContentMD5 = "Content-MD5"
HTTPHeaderContentType = "Content-Type"
HTTPHeaderContentLanguage = "Content-Language"
HTTPHeaderContentRange = "Content-Range"
HTTPHeaderDate = "Date"
HTTPHeaderETag = "ETag"
HTTPHeaderExpires = "Expires"
HTTPHeaderHost = "Host"
HTTPHeaderLastModified = "Last-Modified"
HTTPHeaderRange = "Range"
HTTPHeaderLocation = "Location"
HTTPHeaderUserAgent = "User-Agent"
HTTPHeaderIfModifiedSince = "If-Modified-Since"
HTTPHeaderIfUnmodifiedSince = "If-Unmodified-Since"
HTTPHeaderIfMatch = "If-Match"
HTTPHeaderIfNoneMatch = "If-None-Match"
)
type UrlStyleType int
const (
UrlStyleVirtualHosted UrlStyleType = iota
UrlStylePath
UrlStyleCName
)
func (f UrlStyleType) String() string {
switch f {
default:
return "virtual-hosted-style"
case UrlStylePath:
return "path-style"
case UrlStyleCName:
return "cname-style"
}
}
type FeatureFlagsType int
const (
// FeatureCorrectClockSkew If the client time is different from server time by more than about 15 minutes,
// the requests your application makes will be signed with the incorrect time, and the server will reject them.
// The feature to help to identify this case, and SDK will correct for clock skew.
FeatureCorrectClockSkew FeatureFlagsType = 1 << iota
FeatureEnableMD5
// FeatureAutoDetectMimeType Content-Type is automatically added based on the object name if not specified.
// This feature takes effect for PutObject, AppendObject and InitiateMultipartUpload
FeatureAutoDetectMimeType
// FeatureEnableCRC64CheckUpload check data integrity of uploads via the crc64.
// This feature takes effect for PutObject, AppendObject, UploadPart, Uploader.UploadFrom and Uploader.UploadFile
FeatureEnableCRC64CheckUpload
// FeatureEnableCRC64CheckDownload check data integrity of downloads via the crc64.
// This feature takes effect for Downloader.DownloadFile
FeatureEnableCRC64CheckDownload
FeatureFlagsDefault = FeatureCorrectClockSkew + FeatureAutoDetectMimeType +
FeatureEnableCRC64CheckUpload + FeatureEnableCRC64CheckDownload
)
type SignatureVersionType int
const (
SignatureVersionV1 SignatureVersionType = iota
SignatureVersionV4
)
func (f SignatureVersionType) String() string {
switch f {
case SignatureVersionV4:
return "OSS Signature Version 4"
default:
return "OSS Signature Version 1"
}
}
type AuthMethodType int
const (
AuthMethodHeader AuthMethodType = iota
AuthMethodQuery
)
func (f AuthMethodType) String() string {
switch f {
case AuthMethodQuery:
return "authentication in query"
default:
return "authentication in header"
}
}
// OperationMetadata Keys
const (
OpMetaKeyResponsHandler string = "opm-response-handler"
OpMetaKeyRequestBodyTracker string = "opm-request-body-tracker"
)