2022-12-19 18:40:49 +08:00

4361 lines
210 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Qcloud\Cos;
// http://guzzle3.readthedocs.io/webservice-client/guzzle-service-descriptions.html
class Service {
public static function getService() {
return array(
'name' => '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',
),
),
)));
}
}