'Cos Service', 'apiVersion' => 'V5', 'description' => 'Cos V5 API Service', 'operations' => array( /** 舍弃一个分块上传且删除已上传的分片块的方法. COS 支持舍弃一个分块上传且删除已上传的分片块. 注意,已上传但是未终止的分片块会占用存储空间进 而产生存储费用.因此,建议及时完成分块上传 或者舍弃分块上传. 关于分块上传的具体描述,请查看 https://cloud.tencent.com/document/product/436/14112. 关于舍弃一个分块上传且删除已上传的分片块接口的描述,请查看 https://cloud.tencent.com/document/product/436/7740. cos php SDK 中舍弃一个分块上传且删除已上传的分片块请求的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 AbortMultipfartUpload 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则操作成功。 */ 'AbortMultipartUpload' => array( 'httpMethod' => 'DELETE', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'AbortMultipartUploadOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey')), 'UploadId' => array( 'required' => true, 'type' => 'string', 'location' => 'query', 'sentAs' => 'uploadId')), 'errorResponses' => array( array( 'reason' => 'The specified multipart upload does not exist.', 'class' => 'NoSuchUploadException'))), /** 创建存储桶(Bucket)的方法. 在开始使用 COS 时,需要在指定的账号下先创建一个 Bucket 以便于对象的使用和管理. 并指定 Bucket 所属的地域.创建 Bucket 的用户默认成为 Bucket 的持有者.若创建 Bucket 时没有指定访问权限,则默认 为私有读写(private)权限. 可用地域,可以查看https://cloud.tencent.com/document/product/436/6224. 关于创建 Bucket 描述,请查看 https://cloud.tencent.com/document/product/436/14106. 关于创建存储桶(Bucket)接口的具体 描述,请查看 https://cloud.tencent.com/document/product/436/7738. cos php SDK 中创建 Bucket的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 CreateBucket 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则创建成功。 示例: $result = $cosClient->createBucket(array('Bucket' => 'testbucket-1252448703')); */ 'CreateBucket' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'CreateBucketOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'CreateBucketConfiguration')), 'parameters' => array( 'ACL' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-acl'), 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri')), 'errorResponses' => array( array( 'reason' => 'The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.', 'class' => 'BucketAlreadyExistsException'))), /** 完成整个分块上传的方法. 当使用分块上传(uploadPart(UploadPartRequest))完对象的所有块以后,必须调用该 completeMultiUpload(CompleteMultiUploadRequest) 或者 completeMultiUploadAsync(CompleteMultiUploadRequest, CosXmlResultListener) 来完成整个文件的分块上传.且在该请求的 Body 中需要给出每一个块的 PartNumber 和 ETag,用来校验块的准 确性. 分块上传适合于在弱网络或高带宽环境下上传较大的对象.SDK 支持自行切分对象并分别调用uploadPart(UploadPartRequest)上传各 个分块. 关于分块上传的描述,请查看 https://cloud.tencent.com/document/product/436/14112. 关于完成整个分片上传接口的描述,请查看 https://cloud.tencent.com/document/product/436/7742. 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 CompleteMultipartUpload 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则操作成功。 */ 'CompleteMultipartUpload' => array( 'httpMethod' => 'POST', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'CompleteMultipartUploadOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'CompleteMultipartUpload')), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey')), 'Parts' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true), 'items' => array( 'name' => 'CompletedPart', 'type' => 'object', 'sentAs' => 'Part', 'properties' => array( 'ETag' => array( 'type' => 'string'), 'PartNumber' => array( 'type' => 'numeric')))), 'UploadId' => array( 'required' => true, 'type' => 'string', 'location' => 'query', 'sentAs' => 'uploadId'), 'command.expects' => array( 'static' => true, 'default' => 'application/xml'))), 'CreateMultipartUpload' => array( 'httpMethod' => 'POST', 'uri' => '/{Bucket}{/Key*}?uploads', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'CreateMultipartUploadOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'CreateMultipartUploadRequest')), 'parameters' => array( 'ACL' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-acl', ), 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'CacheControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Cache-Control', ), 'ContentDisposition' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Disposition', ), 'ContentEncoding' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Encoding', ), 'ContentLanguage' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Language', ), 'ContentType' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Type', ), 'Expires' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', ), 'GrantFullControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-full-control', ), 'GrantRead' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read', ), 'GrantReadACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read-acp', ), 'GrantWriteACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-write-acp', ), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), 'Metadata' => array( 'type' => 'object', 'location' => 'header', 'sentAs' => 'x-cos-meta-', 'additionalProperties' => array( 'type' => 'string', ), ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'StorageClass' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-storage-class', ), 'WebsiteRedirectLocation' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-website-redirect-location', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), 'ACP' => array( 'type' => 'object', 'additionalProperties' => true, ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ))), 'CopyObject' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'CopyObjectOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'CopyObjectRequest', ), ), 'parameters' => array( 'ACL' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-acl', ), 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'CacheControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Cache-Control', ), 'ContentDisposition' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Disposition', ), 'ContentEncoding' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Encoding', ), 'ContentLanguage' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Language', ), 'ContentType' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Type', ), 'CopySource' => array( 'required' => true, 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source', ), 'CopySourceIfMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-match', ), 'CopySourceIfModifiedSince' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-modified-since', ), 'CopySourceIfNoneMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-none-match', ), 'CopySourceIfUnmodifiedSince' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-unmodified-since', ), 'Expires' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', ), 'GrantFullControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-full-control', ), 'GrantRead' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read', ), 'GrantReadACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read-acp', ), 'GrantWriteACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-write-acp', ), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), 'Metadata' => array( 'type' => 'object', 'location' => 'header', 'sentAs' => 'x-cos-meta-', 'additionalProperties' => array( 'type' => 'string', ), ), 'MetadataDirective' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-metadata-directive', ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'StorageClass' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-storage-class', ), 'WebsiteRedirectLocation' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-website-redirect-location', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key', ), 'CopySourceSSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-server-side-encryption-customer-algorithm', ), 'CopySourceSSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-server-side-encryption-customer-key', ), 'CopySourceSSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-server-side-encryption-customer-key-MD5', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), 'ACP' => array( 'type' => 'object', 'additionalProperties' => true, ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), 'errorResponses' => array( array( 'reason' => 'The source object of the COPY operation is not in the active tier.', 'class' => 'ObjectNotInActiveTierErrorException', ), ), ), /** 删除存储桶 (Bucket)的方法. COS 目前仅支持删除已经清空的 Bucket,如果 Bucket 中仍有对象,将会删除失败. 因此,在执行删除 Bucket 前,需确保 Bucket 内已经没有对象. 删除 Bucket 时,还需要确保操作的身份已被授权该操作,并确认 传入了正确的存储桶名称和地域参数, 请参阅 putBucket(PutBucketRequest). 关于删除 Bucket 的描述,请查看 https://cloud.tencent.com/document/product/436/14105. 关于删除 Bucket 接口的具体描述,请查看https://cloud.tencent.com/document/product/436/7732. cos php SDK 中删除 Bucket 的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 DeleteBucket 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,删除成功。 示例: $result = $cosClient->deleteBucket(array( 'Bucket' => 'testbucket-1252448703')); print_r($result); */ 'DeleteBucket' => array( 'httpMethod' => 'DELETE', 'uri' => '/{Bucket}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'DeleteBucketOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'))), /** 删除跨域访问配置信息的方法. 若是 Bucket 不需要支持跨域访问配置,可以调用此接口删除已配置的跨域访问信息. 跨域访问配置可以通过 putBucketCORS(PutBucketCORSRequest) 或者 putBucketCORSAsync(PutBucketCORSRequest, CosXmlResultListener) 方法来开启 Bucket 的跨域访问 支持. 关于删除跨域访问配置信息接口的具体描述,请查看https://cloud.tencent.com/document/product/436/8283. cos php SDK 中删除跨域访问配置信息的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 DeleteBucketCORS 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,删除成功。 示例: $result = $cosClient->deleteBucketCors(array( // Bucket is required 'Bucket' => 'testbucket-1252448703', )); */ 'DeleteBucketCors' => array( 'httpMethod' => 'DELETE', 'uri' => '/{Bucket}?cors', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'DeleteBucketCorsOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), ), ), /** 删除 COS 上单个对象的方法. COS 支持直接删除一个或多个对象,当仅需要删除一个对象时,只需要提供对象的名称(即对象键)即可. 关于删除 COS 上单个对象的具体描述,请查看 https://cloud.tencent.com/document/product/436/14119. 关于删除 COS 上单个对象接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/7743. cos php SDK 中删除 COS 上单个对象请求的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 DeleteObject 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则删除成功。 示例: $result = $cosClient->deleteObject(array( 'Bucket' => 'testbucket-1252448703', 'Key' => '111.txt', 'VersionId' => 'string')); */ 'DeleteObject' => array( 'httpMethod' => 'DELETE', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'DeleteObjectOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey')), 'MFA' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-mfa', ), 'VersionId' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'versionId', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ),)), /** 批量删除 COS 对象的方法. COS 支持批量删除指定 Bucket 中 对象,单次请求最大支持批量删除 1000 个 对象. 请求中删除一个不存在的对象,仍然认为是成功的. 对于响应结果,COS提供 Verbose 和 Quiet 两种模式:Verbose 模式将返回每个对象的删除结果;Quiet 模式只返回删除报错的对象信息. 请求必须携带 Content-MD5 用来校验请求Body 的完整性. 关于批量删除 COS 对象接口的描述,请查看https://cloud.tencent.com/document/product/436/8289. cos php SDK 中批量删除 COS 对象的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 DeleteObjects 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则删除成功。 示例: $result = $cosClient->deleteObjects(array( // Bucket is required 'Bucket' => 'testbucket-1252448703', // Objects is required 'Objects' => array( array( // Key is required 'Key' => 'string', 'VersionId' => 'string', ), // ... repeated ), )); */ 'DeleteObjects' => array( 'httpMethod' => 'POST', 'uri' => '/{Bucket}?delete', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'DeleteObjectsOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'Delete', ), 'contentMd5' => true, ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'Objects' => array( 'required' => true, 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'ObjectIdentifier', 'type' => 'object', 'sentAs' => 'Object', 'properties' => array( 'Key' => array( 'required' => true, 'type' => 'string', 'minLength' => 1, ), 'VersionId' => array( 'type' => 'string', ), ), ), ), 'Quiet' => array( 'type' => 'boolean', 'format' => 'boolean-string', 'location' => 'xml', ), 'MFA' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-mfa', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), /** 删除存储桶(Bucket) 的生命周期配置的方法. COS 支持删除已配置的 Bucket 的生命周期列表. COS 支持以生命周期配置的方式来管理 Bucket 中 对象的生命周期,生命周期配置包含一个或多个将 应用于一组对象规则的规则集 (其中每个规则为 COS 定义一个操作),请参阅 putBucketLifecycle(PutBucketLifecycleRequest). 关于删除 Bucket 的生命周期配置接口的具体描述,请查看https://cloud.tencent.com/document/product/436/8284. cos php SDK 中删除 Bucket 的生命周期配置的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 DeleteBucketLifeCycle 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,删除成功。 示例: $result = $cosClient->deleteBucketLifecycle(array( // Bucket is required 'Bucket' =>'testbucket-1252448703', )); */ 'DeleteBucketLifecycle' => array( 'httpMethod' => 'DELETE', 'uri' => '/{Bucket}?lifecycle', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'DeleteBucketLifecycleOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), ), ), /** 删除跨区域复制配置的方法. 当不需要进行跨区域复制时,可以删除 Bucket 的跨区域复制配置. 跨区域复制,可以查阅putBucketReplication(PutBucketReplicationRequest) cos php SDK 中删除跨区域复制配置的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 DeleteBucketReplication 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,获取成功。 */ 'DeleteBucketReplication' => array( 'httpMethod' => 'DELETE', 'uri' => '/{Bucket}?replication', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'DeleteBucketReplicationOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), ), ), 'GetObject' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetObjectOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'IfMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'If-Match'), 'IfModifiedSince' => array( 'type' => array( 'object', 'string', 'integer'), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'If-Modified-Since'), 'IfNoneMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'If-None-Match'), 'IfUnmodifiedSince' => array( 'type' => array( 'object', 'string', 'integer'), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'If-Unmodified-Since'), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey')), 'Range' => array( 'type' => 'string', 'location' => 'header'), 'ResponseCacheControl' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'response-cache-control'), 'ResponseContentDisposition' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'response-content-disposition'), 'ResponseContentEncoding' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'response-content-encoding'), 'ResponseContentLanguage' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'response-content-language'), 'ResponseContentType' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'response-content-type'), 'ResponseExpires' => array( 'type' => array( 'object', 'string', 'integer'), 'format' => 'date-time-http', 'location' => 'query', 'sentAs' => 'response-expires'), 'VersionId' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'versionId', ), 'SaveAs' => array( 'location' => 'response_body')), 'errorResponses' => array( array( 'reason' => 'The specified key does not exist.', 'class' => 'NoSuchKeyException'))), /** 获取 COS 对象的访问权限信息(Access Control List, ACL)的方法. Bucket 的持有者可获取该 Bucket 下的某个对象的 ACL 信息,如被授权者以及被授权的信息. ACL 权限包括读、写、读写权限. 关于获取 COS 对象的 ACL 接口的具体描述,请查看https://cloud.tencent.com/document/product/436/7744. cos php SDK 中获取 COS 对象的 ACL 的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 GetObjectAcl 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则获取成功。 示例: $result = $cosClient->getObjectAcl(array( 'Bucket' => 'testbucket-1252448703', 'Key' => '11')); */ 'GetObjectAcl' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}{/Key*}?acl', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetObjectAclOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), 'VersionId' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'versionId', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), 'errorResponses' => array( array( 'reason' => 'The specified key does not exist.', 'class' => 'NoSuchKeyException', ), ), ), /** 获取存储桶(Bucket) 的访问权限信息(Access Control List, ACL)的方法. ACL 权限包括读、写、读写权限. COS 中 Bucket 是有访问权限控制的.可以通过获取 Bucket 的 ACL 表(putBucketACL(PutBucketACLRequest)),来查看那些用户拥有 Bucket 访 问权限. 关于获取 Bucket 的 ACL 接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/7733. cos php SDK 中获取 Bucket 的 ACL 的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 GetBucketACL 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则获取成功。 示例: $result = $cosClient->GetBucketAcl(array( 'Bucket' => 'testbucket-1252448703',)); */ 'GetBucketAcl' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?acl', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetBucketAclOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'command.expects' => array( 'static' => true, 'default' => 'application/xml'))), /** 查询存储桶(Bucket) 跨域访问配置信息的方法. COS 支持查询当前 Bucket 跨域访问配置信息,以确定是否配置跨域信息.当跨域访问配置不存在时,请求 返回403 Forbidden. 跨域访问配置可以通过 putBucketCORS(PutBucketCORSRequest) 或者 putBucketCORSAsync(PutBucketCORSRequest, CosXmlResultListener) 方法来开启 Bucket 的跨域访问 支持. 关于查询 Bucket 跨域访问配置信息接口的具体描述, 请查看 https://cloud.tencent.com/document/product/436/8274. cos php SDK 中查询 Bucket 跨域访问配置信息的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 GetBucketCORS 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则获取成功。 示例: $result = $cosClient->getBucketCors(array( // Bucket is required 'Bucket' => 'testbucket-1252448703', )); */ 'GetBucketCors' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?cors', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetBucketCorsOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), /** 查询存储桶(Bucket) 的生命周期配置的方法. COS 支持以生命周期配置的方式来管理 Bucket 中对象的生命周期,生命周期配置包含一个或多个将 应用于一组对象规则的规则集 (其中每个规则为 COS 定义一个操作),请参阅 putBucketLifecycle(PutBucketLifecycleRequest). 关于查询 Bucket 的生命周期配置接口的具体描述,请查看https://cloud.tencent.com/document/product/436/8278. cos php SDK 中查询 Bucket 的生命周期配置的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 GetBucketLifecycle 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则获取成功。 示例: $result = $cosClient->getBucketLifecycle(array( 'Bucket' => 'testbucket-1252448703', )); */ 'GetBucketLifecycle' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?lifecycle', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetBucketLifecycleOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), /** 获取存储桶(Bucket)版本控制信息的方法. 通过查询版本控制信息,可以得知该 Bucket 的版本控制功能是处于禁用状态还是启用状态(Enabled 或者 Suspended), 开启版本控制功能,可参考putBucketVersioning(PutBucketVersioningRequest). cos php SDK 中获取 Bucket 版本控制信息的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 GetBucketVersioning 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,获取成功。 示例: $result = $cosClient->getBucketVersioning( array('Bucket' => 'lewzylu02-1252448703')); */ 'GetBucketVersioning' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?versioning', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetBucketVersioningOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), /** 获取跨区域复制配置信息的方法. 跨区域复制是支持不同区域 Bucket 自动复制对象, 请查阅putBucketReplication(PutBucketReplicationRequest). cos php SDK 中获取跨区域复制配置信息的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 GetBucketReplication 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,设置成功。 */ 'GetBucketReplication' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?replication', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetBucketReplicationOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), /** 获取存储桶(Bucket) 所在的地域信息的方法. 在创建 Bucket 时,需要指定所属该 Bucket 所属地域信息. COS 支持的地域信息,可查看https://cloud.tencent.com/document/product/436/6224. 关于获取 Bucket 所在的地域信息接口的具体描述,请查看https://cloud.tencent.com/document/product/436/8275. cos php SDK 中获取 Bucket 所在的地域信息的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 GetBucketLocation 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则获取成功。 示例: $result = $cosClient->getBucketLocation(array( 'Bucket' => 'testbucket-1252448703', )); */ 'GetBucketLocation' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?location', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetBucketLocationOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), ), ), 'GetBucketNotification' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?notification', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'GetBucketNotificationOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), 'UploadPart' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'UploadPartOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'UploadPartRequest')), 'parameters' => array( 'Body' => array( 'type' => array( 'string', 'object'), 'location' => 'body'), 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'ContentLength' => array( 'type' => 'numeric', 'location' => 'header', 'sentAs' => 'Content-Length'), 'ContentMD5' => array( 'type' => array( 'string', 'boolean'), 'location' => 'header', 'sentAs' => 'Content-MD5'), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey')), 'PartNumber' => array( 'required' => true, 'type' => 'numeric', 'location' => 'query', 'sentAs' => 'partNumber'), 'UploadId' => array( 'required' => true, 'type' => 'string', 'location' => 'query', 'sentAs' => 'uploadId'), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ))), 'PutObject' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutObjectOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'PutObjectRequest')), 'parameters' => array( 'ACL' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-acl'), 'Body' => array( 'type' => array( 'string', 'object'), 'location' => 'body'), 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'CacheControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Cache-Control'), 'ContentDisposition' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Disposition'), 'ContentEncoding' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Encoding'), 'ContentLanguage' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Language'), 'ContentLength' => array( 'type' => 'numeric', 'location' => 'header', 'sentAs' => 'Content-Length'), 'ContentMD5' => array( 'type' => array( 'string', 'boolean'), 'location' => 'header', 'sentAs' => 'Content-MD5'), 'ContentType' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Type'), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey')), 'Metadata' => array( 'type' => 'object', 'location' => 'header', 'sentAs' => 'x-cos-meta-', 'additionalProperties' => array( 'type' => 'string') ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'StorageClass' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-storage-class', ), 'WebsiteRedirectLocation' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-website-redirect-location', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), 'ACP' => array( 'type' => 'object', 'additionalProperties' => true, ))), /** 设置 COS 对象的访问权限信息(Access Control List, ACL)的方法. ACL权限包括读、写、读写权限. COS 对象的 ACL 可以通过 header头部:"x-cos-acl","x-cos-grant-read","x-cos-grant-write", "x-cos-grant-full-control" 传入 ACL 信息,或者通过 Body 以 XML 格式传入 ACL 信息.这两种方式只 能选择其中一种,否则引起冲突. 传入新的 ACL 将覆盖原有 ACL信息.ACL策略数上限1000,建议用户不要每个上传文件都设置 ACL. 关于设置 COS 对象的ACL接口的具体描述,请查看https://cloud.tencent.com/document/product/436/7748. cos PHP SDK 中设置 COS 对象的 ACL 的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 PutObjectAcl 对象中的方法发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则设置成功。 示例: $cosClient->PutObjectAcl(array( 'Bucket' => $this->bucket, 'Key' => '11', 'Grants' => array( array( 'Grantee' => array( 'DisplayName' => 'qcs::cam::uin/327874225:uin/327874225', 'ID' => 'qcs::cam::uin/327874225:uin/327874225', 'Type' => 'CanonicalUser', ), 'Permission' => 'FULL_CONTROL', ), // ... repeated ), 'Owner' => array( 'DisplayName' => 'qcs::cam::uin/2779643970:uin/2779643970', 'ID' => 'qcs::cam::uin/2779643970:uin/2779643970', ))); */ 'PutObjectAcl' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}{/Key*}?acl', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutObjectAclOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'AccessControlPolicy', ), ), 'parameters' => array( 'ACL' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-acl', ), 'Grants' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'AccessControlList', 'items' => array( 'name' => 'Grant', 'type' => 'object', 'properties' => array( 'Grantee' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string'), 'ID' => array( 'type' => 'string'), 'Type' => array( 'type' => 'string', 'sentAs' => 'xsi:type', 'data' => array( 'xmlAttribute' => true, 'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance')), 'URI' => array( 'type' => 'string') )), 'Permission' => array( 'type' => 'string', ), ), ), ), 'Owner' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), ), ), 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'GrantFullControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-full-control', ), 'GrantRead' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read', ), 'GrantReadACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read-acp', ), 'GrantWrite' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-write', ), 'GrantWriteACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-write-acp', ), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), 'ACP' => array( 'type' => 'object', 'additionalProperties' => true, ), ), 'errorResponses' => array( array( 'reason' => 'The specified key does not exist.', 'class' => 'NoSuchKeyException', ), ), ), /** 设置存储桶(Bucket) 的访问权限(Access Control List, ACL)的方法. ACL 权限包括读、写、读写权限. 写入 Bucket 的 ACL 可以通过 header头部:"x-cos-acl","x-cos-grant-read","x-cos-grant-write", "x-cos-grant-full-control" 传入 ACL 信息,或者通过 Body 以 XML 格式传入 ACL 信息.这两种方式只 能选择其中一种,否则引起冲突. 传入新的 ACL 将覆盖原有 ACL信息. 私有 Bucket 可以下可以给某个文件夹设置成公有,那么该文件夹下的文件都是公有;但是把文件夹设置成私有后,在该文件夹下的文件设置 的公有属性,不会生效. 关于设置 Bucket 的ACL接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/7737. cos php SDK 中设置 Bucket 的ACL的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 PutObjectAcl 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,设置成功。 示例: $result = $cosClient->PutObjectAcl(array( 'Bucket' => 'testbucket-1252448703', 'Key' => '111', 'Grants' => array( array( 'Grantee' => array( 'DisplayName' => 'qcs::cam::uin/327874225:uin/327874225', 'ID' => 'qcs::cam::uin/327874225:uin/327874225', 'Type' => 'CanonicalUser', ), 'Permission' => 'FULL_CONTROL', ), // ... repeated ), 'Owner' => array( 'DisplayName' => 'qcs::cam::uin/3210232098:uin/3210232098', 'ID' => 'qcs::cam::uin/3210232098:uin/3210232098', ),)); */ 'PutBucketAcl' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}?acl', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutBucketAclOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'AccessControlPolicy', ), ), 'parameters' => array( 'ACL' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-acl', ), 'Grants' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'AccessControlList', 'items' => array( 'name' => 'Grant', 'type' => 'object', 'properties' => array( 'Grantee' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'EmailAddress' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), 'Type' => array( 'required' => true, 'type' => 'string', 'sentAs' => 'xsi:type', 'data' => array( 'xmlAttribute' => true, 'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance', ), ), 'URI' => array( 'type' => 'string', ), ), ), 'Permission' => array( 'type' => 'string', ), ), ), ), 'Owner' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), ), ), 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'GrantFullControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-full-control', ), 'GrantRead' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read', ), 'GrantReadACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-read-acp', ), 'GrantWrite' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-write', ), 'GrantWriteACP' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-grant-write-acp', ), 'ACP' => array( 'type' => 'object', 'additionalProperties' => true, ), ), ), /** 设置存储桶(Bucket) 的跨域配置信息的方法. 跨域访问配置的预请求是指在发送跨域请求之前会发送一个 OPTIONS 请求并带上特定的来源域,HTTP 方 法和 header 信息等给 COS,以决定是否可以发送真正的跨域请求. 当跨域访问配置不存在时,请求返回403 Forbidden. 默认情况下,Bucket的持有者可以直接配置 Bucket的跨域信息 ,Bucket 持有者也可以将配置权限授予其他用户.新的配置是覆盖当前的所有配置信 息,而不是新增一条配置.可以通过传入 XML 格式的配置文件来实现配置,文件大小限制为64 KB. 关于设置 Bucket 的跨域配置信息接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/8279. cos php SDK 中设置 Bucket 的跨域配置信息的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 PutBucketCORS 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,设置成功。 示例: $result = $cosClient->putBucketCors(array( // Bucket is required 'Bucket' => 'testbucket-1252448703', // CORSRules is required 'CORSRules' => array( array( 'ID' => '1234', 'AllowedHeaders' => array('*'), // AllowedMethods is required 'AllowedMethods' => array('PUT'), // AllowedOrigins is required 'AllowedOrigins' => array('http://www.qq.com', ), ), // ... repeated ), )); */ 'PutBucketCors' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}?cors', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutBucketCorsOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'CORSConfiguration', ), 'contentMd5' => true, ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'CORSRules' => array( 'required' => true, 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'CORSRule', 'type' => 'object', 'sentAs' => 'CORSRule', 'properties' => array( 'ID' => array( 'type' => 'string', ), 'AllowedHeaders' => array( 'type' => 'array', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'AllowedHeader', 'type' => 'string', 'sentAs' => 'AllowedHeader', ), ), 'AllowedMethods' => array( 'required' => true, 'type' => 'array', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'AllowedMethod', 'type' => 'string', 'sentAs' => 'AllowedMethod', ), ), 'AllowedOrigins' => array( 'required' => true, 'type' => 'array', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'AllowedOrigin', 'type' => 'string', 'sentAs' => 'AllowedOrigin', ), ), 'ExposeHeaders' => array( 'type' => 'array', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'ExposeHeader', 'type' => 'string', 'sentAs' => 'ExposeHeader', ), ), 'MaxAgeSeconds' => array( 'type' => 'numeric', ), ), ), ), ), ), /** 设置存储桶(Bucket) 生命周期配置的方法. COS 支持以生命周期配置的方式来管理 Bucket 中对象的生命周期. 如果该 Bucket 已配置生命周期,新的配置的同时则会覆盖原有的配置. 生命周期配置包含一个或多个将应用于一组对象规则的规则集 (其中每个规则为 COS 定义一个操作)。这些操作分为以下两种:转换操作,过期操作. 转换操作,定义对象转换为另一个存储类的时间(例如,您可以选择在对象创建 30 天后将其转换为低频存储类别,同 时也支持将数据沉降到归档存储类别. 过期操作,指定 Object 的过期时间,COS 将会自动为用户删除过期的 Object. 关于Bucket 生命周期配置接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/8280 cos php SDK 中Bucket 生命周期配置的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 PutBucketLifecycle 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,设置成功。 示例: $result = $cosClient->putBucketLifecycle(array( // Bucket is required 'Bucket' => 'lewzylu06-1252448703', // Rules is required 'Rules' => array( array( 'Expiration' => array( 'Days' => 1000, ), 'ID' => 'id1', 'Filter' => array( 'Prefix' => 'documents/' ), // Status is required 'Status' => 'Enabled', 'Transitions' => array( array( 'Days' => 200, 'StorageClass' => 'NEARLINE'), ), // ... repeated ), ))); */ 'PutBucketLifecycle' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}?lifecycle', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutBucketLifecycleOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'LifecycleConfiguration', ), 'contentMd5' => true, ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'Rules' => array( 'required' => true, 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'Rule', 'type' => 'object', 'sentAs' => 'Rule', 'properties' => array( 'Expiration' => array( 'type' => 'object', 'properties' => array( 'Date' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time', ), 'Days' => array( 'type' => 'numeric', ), ), ), 'ID' => array( 'type' => 'string', ), 'Filter' => array( 'type' => 'object', 'require' => true, 'properties' => array( 'Prefix' => array( 'type' => 'string', 'require' => true, ), 'Tag' => array( 'type' => 'object', 'require' => true, 'properties' => array( 'Key' => array( 'type' => 'string' ), 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey'), 'Value' => array( 'type' => 'string' ), ) ) ), ), 'Status' => array( 'required' => true, 'type' => 'string', ), 'Transitions' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'Transition', 'type' => 'object', 'sentAs' => 'Transition', 'properties' => array( 'Date' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time', ), 'Days' => array( 'type' => 'numeric', ), 'StorageClass' => array( 'type' => 'string', )))), 'NoncurrentVersionTransition' => array( 'type' => 'object', 'properties' => array( 'NoncurrentDays' => array( 'type' => 'numeric', ), 'StorageClass' => array( 'type' => 'string', ), ), ), 'NoncurrentVersionExpiration' => array( 'type' => 'object', 'properties' => array( 'NoncurrentDays' => array( 'type' => 'numeric', ), ), ), ), ), ), ), ), /** 存储桶(Bucket)版本控制的方法. 版本管理功能一经打开,只能暂停,不能关闭. 通过版本控制,可以在一个 Bucket 中保留一个对象的多个版本. 版本控制可以防止意外覆盖和删除对象,以便检索早期版本的对象. 默认情况下,版本控制功能处于禁用状态,需要主动去启用或者暂停(Enabled 或者 Suspended). cos php SDK 中 Bucket 版本控制启用或者暂停的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 PutBucketVersioning 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,设置成功。 示例: $result = $cosClient->putBucketVersioning( array('Bucket' => 'testbucket-1252448703', 'Status' => 'Enabled')); */ 'PutBucketVersioning' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}?versioning', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutBucketVersioningOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'VersioningConfiguration', ), ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'MFA' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-mfa', ), 'MFADelete' => array( 'type' => 'string', 'location' => 'xml', 'sentAs' => 'MfaDelete', ), 'Status' => array( 'type' => 'string', 'location' => 'xml', ), ), ), /** 配置跨区域复制的方法. 跨区域复制是支持不同区域 Bucket 自动异步复制对象.注意,不能是同区域的 Bucket, 且源 Bucket 和目 标 Bucket 必须已启用版本控制putBucketVersioning(PutBucketVersioningRequest). cos php SDK 中配置跨区域复制的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 PutBucketRelication 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,设置成功。 示例: */ 'PutBucketReplication' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}?replication', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutBucketReplicationOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'ReplicationConfiguration', ), 'contentMd5' => true, ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'Role' => array( 'required' => true, 'type' => 'string', 'location' => 'xml', ), 'Rules' => array( 'required' => true, 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'ReplicationRule', 'type' => 'object', 'sentAs' => 'Rule', 'properties' => array( 'ID' => array( 'type' => 'string', ), 'Prefix' => array( 'required' => true, 'type' => 'string', ), 'Status' => array( 'required' => true, 'type' => 'string', ), 'Destination' => array( 'required' => true, 'type' => 'object', 'properties' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', ), 'StorageClass' => array( 'type' => 'string', ), ), ), ), ), ), ), ), /** 设置存储桶(Bucket) 的回调设置的方法. */ 'PutBucketNotification' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}?notification', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'PutBucketNotificationOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'NotificationConfiguration', ), ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'CloudFunctionConfigurations' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'CloudFunctionConfiguration', 'type' => 'object', 'sentAs' => 'CloudFunctionConfiguration', 'properties' => array( 'Id' => array( 'type' => 'string', ), 'CloudFunction' => array( 'required' => true, 'type' => 'string', 'sentAs' => 'CloudFunction', ), 'Events' => array( 'required' => true, 'type' => 'array', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'Event', 'type' => 'string', 'sentAs' => 'Event', ), ), 'Filter' => array( 'type' => 'object', 'properties' => array( 'Key' => array( 'type' => 'object', 'sentAs' => 'Key', 'properties' => array( 'FilterRules' => array( 'type' => 'array', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'FilterRule', 'type' => 'object', 'sentAs' => 'FilterRule', 'properties' => array( 'Name' => array( 'type' => 'string', ), 'Value' => array( 'type' => 'string', ), ), ), ), ), ), 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), ), ), ), ), ), ), 'RestoreObject' => array( 'httpMethod' => 'POST', 'uri' => '/{Bucket}{/Key*}?restore', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'RestoreObjectOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'RestoreRequest', ), ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), 'VersionId' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'versionId', ), 'Days' => array( 'required' => true, 'type' => 'numeric', 'location' => 'xml', ), 'CASJobParameters' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'Tier' => array( 'type' => 'string', 'required' => true, ), ), ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), ), 'errorResponses' => array( array( 'reason' => 'This operation is not allowed against this storage tier', 'class' => 'ObjectAlreadyInActiveTierErrorException', ), ), ), /** 查询存储桶(Bucket)中正在进行中的分块上传对象的方法. COS 支持查询 Bucket 中有哪些正在进行中的分块上传对象,单次请求操作最多列出 1000 个正在进行中的 分块上传对象. 关于查询 Bucket 中正在进行中的分块上传对象接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/7736. cos php SDK 中查询 Bucket 中正在进行中的分块上传对象的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 ListParts 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,获取成功。 */ 'ListParts' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'ListPartsOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey')), 'MaxParts' => array( 'type' => 'numeric', 'location' => 'query', 'sentAs' => 'max-parts'), 'PartNumberMarker' => array( 'type' => 'numeric', 'location' => 'query', 'sentAs' => 'part-number-marker'), 'UploadId' => array( 'required' => true, 'type' => 'string', 'location' => 'query', 'sentAs' => 'uploadId'), 'command.expects' => array( 'static' => true, 'default' => 'application/xml'))), /** 查询存储桶(Bucket) 下的部分或者全部对象的方法. COS 支持列出指定 Bucket 下的部分或者全部对象. 每次默认返回的最大条目数为 1000 条. 如果无法一次返回所有的对象,则返回结果中的 IsTruncated 为 true,同时会附加一个 NextMarker 字段,提示下 一个条目的起点. 若一次请求,已经返回了全部对象,则不会有 NextMarker 这个字段,同时 IsTruncated 为 false. 若把 prefix 设置为某个文件夹的全路径名,则可以列出以此 prefix 为开头的文件,即该文件 夹下递归的所有文件和子文件夹. 如果再设置 delimiter 定界符为 “/”,则只列出该文件夹下的文件,子文件夹下递归的文件和文件夹名 将不被列出.而子文件夹名将会以 CommonPrefix 的形式给出. 关于查询Bucket 下的部分或者全部对象接口的具体描述,请查看https://cloud.tencent.com/document/product/436/7734. cos php SDK 中查询 Bucket 下的部分或者全部对象的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 ListObjects 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,则list成功。 示例: $result = $cosClient->ListObjects(array( 'Bucket' => 'testbucket-1252448703')); */ 'ListObjects' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'ListObjectsOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri'), 'Delimiter' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'delimiter'), 'EncodingType' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'encoding-type'), 'Marker' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'marker'), 'MaxKeys' => array( 'type' => 'numeric', 'location' => 'query', 'sentAs' => 'max-keys'), 'Prefix' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'prefix'), 'command.expects' => array( 'static' => true, 'default' => 'application/xml')), 'errorResponses' => array( array( 'reason' => 'The specified bucket does not exist.', 'class' => 'NoSuchBucketException'))), /** 获取所属账户的所有存储空间列表的方法. 通过使用帯 Authorization 签名认证的请求,可以获取签名中 APPID 所属账户的所有存储空间列表 (Bucket list). 关于获取所有存储空间列表接口的具体描述,请查看https://cloud.tencent.com/document/product/436/8291. cos php SDK 中获取所属账户的所有存储空间列表的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 ListBuckets 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,获取成功。 示例: $result = $cosClient->listBuckets(); print_r($result); */ 'ListBuckets' => array( 'httpMethod' => 'GET', 'uri' => '/', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'ListBucketsOutput', 'responseType' => 'model', 'parameters' => array( 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), 'ListObjectVersions' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?versions', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'ListObjectVersionsOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'Delimiter' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'delimiter', ), 'EncodingType' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'encoding-type', ), 'KeyMarker' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'key-marker', ), 'MaxKeys' => array( 'type' => 'numeric', 'location' => 'query', 'sentAs' => 'max-keys', ), 'Prefix' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'prefix', ), 'VersionIdMarker' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'version-id-marker', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), 'ListMultipartUploads' => array( 'httpMethod' => 'GET', 'uri' => '/{Bucket}?uploads', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'ListMultipartUploadsOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'Delimiter' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'delimiter', ), 'EncodingType' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'encoding-type', ), 'KeyMarker' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'key-marker', ), 'MaxUploads' => array( 'type' => 'numeric', 'location' => 'query', 'sentAs' => 'max-uploads', ), 'Prefix' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'prefix', ), 'UploadIdMarker' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'upload-id-marker', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ), 'HeadObject' => array( 'httpMethod' => 'HEAD', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'HeadObjectOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'IfMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'If-Match', ), 'IfModifiedSince' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'If-Modified-Since', ), 'IfNoneMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'If-None-Match', ), 'IfUnmodifiedSince' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'If-Unmodified-Since', ), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), 'Range' => array( 'type' => 'string', 'location' => 'header', ), 'VersionId' => array( 'type' => 'string', 'location' => 'query', 'sentAs' => 'versionId', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), ), 'errorResponses' => array( array( 'reason' => 'The specified key does not exist.', 'class' => 'NoSuchKeyException', ), ), ), /** 存储桶(Bucket) 是否存在的方法. 在开始使用 COS 时,需要确认该 Bucket 是否存在,是否有权限访问.若不存在,则可以调用putBucket(PutBucketRequest) 创建. 关于确认该 Bucket 是否存在,是否有权限访问接口的具体描述,请查看https://cloud.tencent.com/document/product/436/7735. cos php SDK 中Bucket 是否存在的方法具体步骤如下: 1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。 2. 调用 HeadBucket 接口发出请求。 3. 接收该接口的返回数据,若没有抛出异常,获取成功。 示例: $result = $cosClient->headObject(array( 'Bucket' => 'testbucket-1252448703', 'Key' => '11', 'VersionId' =>'111', 'ServerSideEncryption' => 'AES256')); */ 'HeadBucket' => array( 'httpMethod' => 'HEAD', 'uri' => '/{Bucket}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'HeadBucketOutput', 'responseType' => 'model', 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), ), 'errorResponses' => array( array( 'reason' => 'The specified bucket does not exist.', 'class' => 'NoSuchBucketException', ), ), ), 'UploadPartCopy' => array( 'httpMethod' => 'PUT', 'uri' => '/{Bucket}{/Key*}', 'class' => 'Qcloud\\Cos\\Command', 'responseClass' => 'UploadPartCopyOutput', 'responseType' => 'model', 'data' => array( 'xmlRoot' => array( 'name' => 'UploadPartCopyRequest', ), ), 'parameters' => array( 'Bucket' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', ), 'CopySource' => array( 'required' => true, 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source', ), 'CopySourceIfMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-match', ), 'CopySourceIfModifiedSince' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-modified-since', ), 'CopySourceIfNoneMatch' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-none-match', ), 'CopySourceIfUnmodifiedSince' => array( 'type' => array( 'object', 'string', 'integer', ), 'format' => 'date-time-http', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-if-unmodified-since', ), 'CopySourceRange' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-range', ), 'Key' => array( 'required' => true, 'type' => 'string', 'location' => 'uri', 'minLength' => 1, 'filters' => array( 'Qcloud\\Cos\\Client::explodeKey') ), 'PartNumber' => array( 'required' => true, 'type' => 'numeric', 'location' => 'query', 'sentAs' => 'partNumber', ), 'UploadId' => array( 'required' => true, 'type' => 'string', 'location' => 'query', 'sentAs' => 'uploadId', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'CopySourceSSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-server-side-encryption-customer-algorithm', ), 'CopySourceSSECustomerKey' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-server-side-encryption-customer-key', ), 'CopySourceSSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-server-side-encryption-customer-key-MD5', ), 'RequestPayer' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-payer', ), 'command.expects' => array( 'static' => true, 'default' => 'application/xml', ), ), ),), 'models' => array( 'AbortMultipartUploadOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id'))), 'CreateBucketOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Location' => array( 'type' => 'string', 'location' => 'header'), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id'))), 'CompleteMultipartUploadOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Location' => array( 'type' => 'string', 'location' => 'xml', ), 'Bucket' => array( 'type' => 'string', 'location' => 'xml', ), 'Key' => array( 'type' => 'string', 'location' => 'xml' ), 'Expiration' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-expiration', ), 'ETag' => array( 'type' => 'string', 'location' => 'xml', ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'VersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-version-id', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'CreateMultipartUploadOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Bucket' => array( 'type' => 'string', 'location' => 'xml', 'sentAs' => 'Bucket'), 'Key' => array( 'type' => 'string', 'location' => 'xml'), 'UploadId' => array( 'type' => 'string', 'location' => 'xml'), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ))), 'CopyObjectOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'ETag' => array( 'type' => 'string', 'location' => 'xml', ), 'LastModified' => array( 'type' => 'string', 'location' => 'xml', ), 'Expiration' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-expiration', ), 'CopySourceVersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-version-id', ), 'VersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-version-id', ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'DeleteBucketOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id'))), 'DeleteBucketCorsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'DeleteObjectOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'DeleteMarker' => array( 'type' => 'boolean', 'location' => 'header', 'sentAs' => 'x-cos-delete-marker', ), 'VersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-version-id', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'DeleteObjectsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Deleted' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'DeletedObject', 'type' => 'object', 'properties' => array( 'Key' => array( 'type' => 'string', ), 'VersionId' => array( 'type' => 'string', ), 'DeleteMarker' => array( 'type' => 'boolean', ), 'DeleteMarkerVersionId' => array( 'type' => 'string', ), ), ), ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'Errors' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'Error', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'Error', 'type' => 'object', 'sentAs' => 'Error', 'properties' => array( 'Key' => array( 'type' => 'string', ), 'VersionId' => array( 'type' => 'string', ), 'Code' => array( 'type' => 'string', ), 'Message' => array( 'type' => 'string', ), ), ), ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'DeleteBucketLifecycleOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'DeleteBucketReplicationOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetObjectOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Body' => array( 'type' => 'string', 'instanceOf' => 'Guzzle\\Http\\EntityBody', 'location' => 'body', ), 'DeleteMarker' => array( 'type' => 'boolean', 'location' => 'header', 'sentAs' => 'x-cos-delete-marker', ), 'AcceptRanges' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'accept-ranges', ), 'Expiration' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-expiration', ), 'Restore' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-restore', ), 'LastModified' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Last-Modified', ), 'ContentLength' => array( 'type' => 'numeric', 'location' => 'header', 'sentAs' => 'Content-Length', ), 'ETag' => array( 'type' => 'string', 'location' => 'header', ), 'MissingMeta' => array( 'type' => 'numeric', 'location' => 'header', 'sentAs' => 'x-cos-missing-meta', ), 'VersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-version-id', ), 'CacheControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Cache-Control', ), 'ContentDisposition' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Disposition', ), 'ContentEncoding' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Encoding', ), 'ContentLanguage' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Language', ), 'ContentRange' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Range', ), 'ContentType' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Type', ), 'Expires' => array( 'type' => 'string', 'location' => 'header', ), 'WebsiteRedirectLocation' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-website-redirect-location', ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'Metadata' => array( 'type' => 'object', 'location' => 'header', 'sentAs' => 'x-cos-meta-', 'additionalProperties' => array( 'type' => 'string', ), ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'StorageClass' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-storage-class', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'ReplicationStatus' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-replication-status', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetObjectAclOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Owner' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), ), ), 'Grants' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'AccessControlList', 'items' => array( 'name' => 'Grant', 'type' => 'object', 'sentAs' => 'Grant', 'properties' => array( 'Grantee' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string'), /* 'EmailAddress' => array( 'type' => 'string'), */ 'ID' => array( 'type' => 'string'), /* 'Type' => array( 'type' => 'string', 'sentAs' => 'xsi:type', 'data' => array( 'xmlAttribute' => true, 'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance')), */ /*'URI' => array( 'type' => 'string') */)), 'Permission' => array( 'type' => 'string', ), ), ), ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetBucketAclOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Owner' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'DisplayName' => array( 'type' => 'string'), 'ID' => array( 'type' => 'string'))), 'Grants' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'AccessControlList', 'items' => array( 'name' => 'Grant', 'type' => 'object', 'sentAs' => 'Grant', 'properties' => array( 'Grantee' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string'), /* 'EmailAddress' => array( 'type' => 'string'), */ 'ID' => array( 'type' => 'string'), /* 'Type' => array( 'type' => 'string', 'sentAs' => 'xsi:type', 'data' => array( 'xmlAttribute' => true, 'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance')), */ /*'URI' => array( 'type' => 'string') */)), 'Permission' => array( 'type' => 'string')))), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id'))), 'GetBucketCorsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'CORSRules' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'CORSRule', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'CORSRule', 'type' => 'object', 'sentAs' => 'CORSRule', 'properties' => array( 'ID' => array( 'type' => 'string'), 'AllowedHeaders' => array( 'type' => 'array', 'sentAs' => 'AllowedHeader', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'AllowedHeader', 'type' => 'string', 'sentAs' => 'AllowedHeader', ), ), 'AllowedMethods' => array( 'type' => 'array', 'sentAs' => 'AllowedMethod', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'AllowedMethod', 'type' => 'string', 'sentAs' => 'AllowedMethod', ), ), 'AllowedOrigins' => array( 'type' => 'array', 'sentAs' => 'AllowedOrigin', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'AllowedOrigin', 'type' => 'string', 'sentAs' => 'AllowedOrigin', ), ), 'ExposeHeaders' => array( 'type' => 'array', 'sentAs' => 'ExposeHeader', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'ExposeHeader', 'type' => 'string', 'sentAs' => 'ExposeHeader', ), ), 'MaxAgeSeconds' => array( 'type' => 'numeric', ), ), ), ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetBucketLifecycleOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Rules' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'Rule', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'Rule', 'type' => 'object', 'sentAs' => 'Rule', 'properties' => array( 'Expiration' => array( 'type' => 'object', 'properties' => array( 'Date' => array( 'type' => 'string', ), 'Days' => array( 'type' => 'numeric', ), ), ), 'ID' => array( 'type' => 'string', ), 'Filter' => array( 'type' => 'object', 'properties' => array( 'Prefix' => array( 'type' => 'string', ), 'Tag' => array( 'type' => 'object', 'properties' => array( 'Key' => array( 'type' => 'string' ), 'Value' => array( 'type' => 'string' ), ) ) ), ), 'Status' => array( 'type' => 'string', ), 'Transition' => array( 'type' => 'object', 'properties' => array( 'Date' => array( 'type' => 'string', ), 'Days' => array( 'type' => 'numeric', ), 'StorageClass' => array( 'type' => 'string', ), ), ), 'NoncurrentVersionTransition' => array( 'type' => 'object', 'properties' => array( 'NoncurrentDays' => array( 'type' => 'numeric', ), 'StorageClass' => array( 'type' => 'string', ), ), ), 'NoncurrentVersionExpiration' => array( 'type' => 'object', 'properties' => array( 'NoncurrentDays' => array( 'type' => 'numeric', ), ), ), ), ), ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetBucketVersioningOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Status' => array( 'type' => 'string', 'location' => 'xml', ), 'MFADelete' => array( 'type' => 'string', 'location' => 'xml', 'sentAs' => 'MfaDelete', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetBucketReplicationOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Role' => array( 'type' => 'string', 'location' => 'xml', ), 'Rules' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'Rule', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'ReplicationRule', 'type' => 'object', 'sentAs' => 'Rule', 'properties' => array( 'ID' => array( 'type' => 'string', ), 'Prefix' => array( 'type' => 'string', ), 'Status' => array( 'type' => 'string', ), 'Destination' => array( 'type' => 'object', 'properties' => array( 'Bucket' => array( 'type' => 'string', ), 'StorageClass' => array( 'type' => 'string', ), ), ), ), ), ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetBucketLocationOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Location' => array( 'type' => 'string', 'location' => 'body', 'filters' => array( 'strval', 'strip_tags', 'trim', ), ), ), ), 'UploadPartOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'ETag' => array( 'type' => 'string', 'location' => 'header', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'UploadPartCopyOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'CopySourceVersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-copy-source-version-id', ), 'ETag' => array( 'type' => 'string', 'location' => 'xml', ), 'LastModified' => array( 'type' => 'string', 'location' => 'xml', ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'PutBucketAclOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id'))), 'PutObjectOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Expiration' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-expiration', ), 'ETag' => array( 'type' => 'string', 'location' => 'header', ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'VersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-version-id', ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'PutObjectAclOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'PutBucketCorsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'PutBucketLifecycleOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'PutBucketVersioningOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'PutBucketReplicationOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'PutBucketNotificationOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'RestoreObjectOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'ListPartsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Bucket' => array( 'type' => 'string', 'location' => 'xml'), 'Key' => array( 'type' => 'string', 'location' => 'xml'), 'UploadId' => array( 'type' => 'string', 'location' => 'xml'), 'PartNumberMarker' => array( 'type' => 'numeric', 'location' => 'xml'), 'NextPartNumberMarker' => array( 'type' => 'numeric', 'location' => 'xml'), 'MaxParts' => array( 'type' => 'numeric', 'location' => 'xml'), 'IsTruncated' => array( 'type' => 'boolean', 'location' => 'xml'), 'Parts' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'Part', 'data' => array( 'xmlFlattened' => true), 'items' => array( 'name' => 'Part', 'type' => 'object', 'sentAs' => 'Part', 'properties' => array( 'PartNumber' => array( 'type' => 'numeric'), 'LastModified' => array( 'type' => 'string'), 'ETag' => array( 'type' => 'string'), 'Size' => array( 'type' => 'numeric')))), 'Initiator' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'ID' => array( 'type' => 'string'), 'DisplayName' => array( 'type' => 'string'))), 'Owner' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'DisplayName' => array( 'type' => 'string'), 'ID' => array( 'type' => 'string'))), 'StorageClass' => array( 'type' => 'string', 'location' => 'xml'), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id'))), 'ListObjectsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'IsTruncated' => array( 'type' => 'boolean', 'location' => 'xml'), 'Marker' => array( 'type' => 'string', 'location' => 'xml'), 'NextMarker' => array( 'type' => 'string', 'location' => 'xml'), 'Contents' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true), 'items' => array( 'name' => 'Object', 'type' => 'object', 'properties' => array( 'Key' => array( 'type' => 'string'), 'LastModified' => array( 'type' => 'string'), 'ETag' => array( 'type' => 'string'), 'Size' => array( 'type' => 'numeric'), 'StorageClass' => array( 'type' => 'string'), 'Owner' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string'), 'ID' => array( 'type' => 'string')))))), 'Name' => array( 'type' => 'string', 'location' => 'xml'), 'Prefix' => array( 'type' => 'string', 'location' => 'xml'), 'Delimiter' => array( 'type' => 'string', 'location' => 'xml'), 'MaxKeys' => array( 'type' => 'numeric', 'location' => 'xml'), 'CommonPrefixes' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true), 'items' => array( 'name' => 'CommonPrefix', 'type' => 'object', 'properties' => array( 'Prefix' => array( 'type' => 'string')))), 'EncodingType' => array( 'type' => 'string', 'location' => 'xml'), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id'))), 'ListBucketsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Buckets' => array( 'type' => 'array', 'location' => 'xml', 'items' => array( 'name' => 'Bucket', 'type' => 'object', 'sentAs' => 'Bucket', 'properties' => array( 'Name' => array( 'type' => 'string', ), 'CreationDate' => array( 'type' => 'string', ), ), ), ), 'Owner' => array( 'type' => 'object', 'location' => 'xml', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), ), ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'ListObjectVersionsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'IsTruncated' => array( 'type' => 'boolean', 'location' => 'xml', ), 'KeyMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'VersionIdMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'NextKeyMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'NextVersionIdMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'Versions' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'Version', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'ObjectVersion', 'type' => 'object', 'sentAs' => 'Version', 'properties' => array( 'ETag' => array( 'type' => 'string', ), 'Size' => array( 'type' => 'numeric', ), 'StorageClass' => array( 'type' => 'string', ), 'Key' => array( 'type' => 'string', ), 'VersionId' => array( 'type' => 'string', ), 'IsLatest' => array( 'type' => 'boolean', ), 'LastModified' => array( 'type' => 'string', ), 'Owner' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), ), ), ), ), ), 'DeleteMarkers' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'DeleteMarker', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'DeleteMarkerEntry', 'type' => 'object', 'sentAs' => 'DeleteMarker', 'properties' => array( 'Owner' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), ), ), 'Key' => array( 'type' => 'string', ), 'VersionId' => array( 'type' => 'string', ), 'IsLatest' => array( 'type' => 'boolean', ), 'LastModified' => array( 'type' => 'string', ), ), ), ), 'Name' => array( 'type' => 'string', 'location' => 'xml', ), 'Prefix' => array( 'type' => 'string', 'location' => 'xml', ), 'Delimiter' => array( 'type' => 'string', 'location' => 'xml', ), 'MaxKeys' => array( 'type' => 'numeric', 'location' => 'xml', ), 'CommonPrefixes' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'CommonPrefix', 'type' => 'object', 'properties' => array( 'Prefix' => array( 'type' => 'string', ), ), ), ), 'EncodingType' => array( 'type' => 'string', 'location' => 'xml', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'ListMultipartUploadsOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'Bucket' => array( 'type' => 'string', 'location' => 'xml', ), 'KeyMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'UploadIdMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'NextKeyMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'Prefix' => array( 'type' => 'string', 'location' => 'xml', ), 'Delimiter' => array( 'type' => 'string', 'location' => 'xml', ), 'NextUploadIdMarker' => array( 'type' => 'string', 'location' => 'xml', ), 'MaxUploads' => array( 'type' => 'numeric', 'location' => 'xml', ), 'IsTruncated' => array( 'type' => 'boolean', 'location' => 'xml', ), 'Uploads' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'Upload', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'MultipartUpload', 'type' => 'object', 'sentAs' => 'Upload', 'properties' => array( 'UploadId' => array( 'type' => 'string', ), 'Key' => array( 'type' => 'string', ), 'Initiated' => array( 'type' => 'string', ), 'StorageClass' => array( 'type' => 'string', ), 'Owner' => array( 'type' => 'object', 'properties' => array( 'DisplayName' => array( 'type' => 'string', ), 'ID' => array( 'type' => 'string', ), ), ), 'Initiator' => array( 'type' => 'object', 'properties' => array( 'ID' => array( 'type' => 'string', ), 'DisplayName' => array( 'type' => 'string', ), ), ), ), ), ), 'CommonPrefixes' => array( 'type' => 'array', 'location' => 'xml', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'CommonPrefix', 'type' => 'object', 'properties' => array( 'Prefix' => array( 'type' => 'string', ), ), ), ), 'EncodingType' => array( 'type' => 'string', 'location' => 'xml', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'HeadObjectOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'DeleteMarker' => array( 'type' => 'boolean', 'location' => 'header', 'sentAs' => 'x-cos-delete-marker', ), 'AcceptRanges' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'accept-ranges', ), 'Expiration' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-expiration', ), 'Restore' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-restore', ), 'LastModified' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Last-Modified', ), 'ContentLength' => array( 'type' => 'numeric', 'location' => 'header', 'sentAs' => 'Content-Length', ), 'ETag' => array( 'type' => 'string', 'location' => 'header', ), 'MissingMeta' => array( 'type' => 'numeric', 'location' => 'header', 'sentAs' => 'x-cos-missing-meta', ), 'VersionId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-version-id', ), 'CacheControl' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Cache-Control', ), 'ContentDisposition' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Disposition', ), 'ContentEncoding' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Encoding', ), 'ContentLanguage' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Language', ), 'ContentType' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'Content-Type', ), 'Expires' => array( 'type' => 'string', 'location' => 'header', ), 'WebsiteRedirectLocation' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-website-redirect-location', ), 'ServerSideEncryption' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption', ), 'Metadata' => array( 'type' => 'object', 'location' => 'header', 'sentAs' => 'x-cos-meta-', 'additionalProperties' => array( 'type' => 'string', ), ), 'SSECustomerAlgorithm' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-algorithm', ), 'SSECustomerKeyMD5' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-customer-key-MD5', ), 'SSEKMSKeyId' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-server-side-encryption-aws-kms-key-id', ), 'StorageClass' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-storage-class', ), 'RequestCharged' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-request-charged', ), 'ReplicationStatus' => array( 'type' => 'string', 'location' => 'header', 'sentAs' => 'x-cos-replication-status', ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ))), 'HeadBucketOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ), 'GetBucketNotificationOutput' => array( 'type' => 'object', 'additionalProperties' => true, 'properties' => array( 'CloudFunctionConfigurations' => array( 'type' => 'array', 'location' => 'xml', 'sentAs' => 'CloudFunctionConfiguration', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'CloudFunctionConfiguration', 'type' => 'object', 'sentAs' => 'CloudFunctionConfiguration', 'properties' => array( 'Id' => array( 'type' => 'string', ), 'CloudFunction' => array( 'type' => 'string', 'sentAs' => 'CloudFunction', ), 'Events' => array( 'type' => 'array', 'sentAs' => 'Event', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'Event', 'type' => 'string', 'sentAs' => 'Event', ), ), 'Filter' => array( 'type' => 'object', 'properties' => array( 'Key' => array( 'type' => 'object', 'sentAs' => 'Key', 'properties' => array( 'FilterRules' => array( 'type' => 'array', 'sentAs' => 'FilterRule', 'data' => array( 'xmlFlattened' => true, ), 'items' => array( 'name' => 'FilterRule', 'type' => 'object', 'sentAs' => 'FilterRule', 'properties' => array( 'Name' => array( 'type' => 'string', ), 'Value' => array( 'type' => 'string', ), ), ), ), ), ), ), ), ), ), ), 'RequestId' => array( 'location' => 'header', 'sentAs' => 'x-cos-request-id', ), ), ))); } }