Forráskód Böngészése

增加转码功能

15954078560 3 éve
szülő
commit
fa8dbaa131
100 módosított fájl, 15789 hozzáadás és 7 törlés
  1. 130 1
      application/api/controller/Eyemargin.php
  2. 6 6
      application/config.php
  3. 322 0
      vendor/aliyun/aliyun-php-sdk-core/AcsRequest.php
  4. 68 0
      vendor/aliyun/aliyun-php-sdk-core/AcsResponse.php
  5. 29 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/AbstractCredential.php
  6. 58 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/BearTokenSigner.php
  7. 78 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/BearerTokenCredential.php
  8. 153 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/Credential.php
  9. 78 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/EcsRamRoleCredential.php
  10. 108 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/EcsRamRoleService.php
  11. 41 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/ISigner.php
  12. 128 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/RamRoleArnCredential.php
  13. 150 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/RamRoleArnService.php
  14. 58 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/ShaHmac1Signer.php
  15. 58 0
      vendor/aliyun/aliyun-php-sdk-core/Auth/ShaHmac256Signer.php
  16. 80 0
      vendor/aliyun/aliyun-php-sdk-core/Autoloader/Autoloader.php
  17. 85 0
      vendor/aliyun/aliyun-php-sdk-core/ChangeLog.txt
  18. 36 0
      vendor/aliyun/aliyun-php-sdk-core/Config.php
  19. 282 0
      vendor/aliyun/aliyun-php-sdk-core/DefaultAcsClient.php
  20. 102 0
      vendor/aliyun/aliyun-php-sdk-core/Exception/ClientException.php
  21. 70 0
      vendor/aliyun/aliyun-php-sdk-core/Exception/ServerException.php
  22. 114 0
      vendor/aliyun/aliyun-php-sdk-core/Http/HttpHelper.php
  23. 76 0
      vendor/aliyun/aliyun-php-sdk-core/Http/HttpResponse.php
  24. 34 0
      vendor/aliyun/aliyun-php-sdk-core/IAcsClient.php
  25. 310 0
      vendor/aliyun/aliyun-php-sdk-core/Profile/DefaultProfile.php
  26. 39 0
      vendor/aliyun/aliyun-php-sdk-core/Profile/IClientProfile.php
  27. 102 0
      vendor/aliyun/aliyun-php-sdk-core/Regions/Endpoint.php
  28. 65 0
      vendor/aliyun/aliyun-php-sdk-core/Regions/EndpointConfig.php
  29. 86 0
      vendor/aliyun/aliyun-php-sdk-core/Regions/EndpointProvider.php
  30. 198 0
      vendor/aliyun/aliyun-php-sdk-core/Regions/LocationService.php
  31. 80 0
      vendor/aliyun/aliyun-php-sdk-core/Regions/ProductDomain.php
  32. 4806 0
      vendor/aliyun/aliyun-php-sdk-core/Regions/endpoints.xml
  33. 319 0
      vendor/aliyun/aliyun-php-sdk-core/RoaAcsRequest.php
  34. 159 0
      vendor/aliyun/aliyun-php-sdk-core/RpcAcsRequest.php
  35. 36 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Auth/CredentialTest.php
  36. 30 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Auth/ShaHmac1SignerTest.php
  37. 30 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Auth/ShaHmac256SignerTest.php
  38. 49 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/BaseTest.php
  39. 31 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/BatchCompute/ListImagesRequest.php
  40. 43 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/DefaultAcsClientTest.php
  41. 117 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ecs/Rquest/DescribeRegionsRequest.php
  42. 107 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ft/InteTest.php
  43. 85 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ft/TestRoaApiRequest.php
  44. 61 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ft/TestRpcApiRequest.php
  45. 30 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Http/HttpHelperTest.php
  46. 66 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Profile/DefaultProfileTest.php
  47. 52 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Regions/EndPointByLocationTest.php
  48. 28 0
      vendor/aliyun/aliyun-php-sdk-core/UnitTest/Regions/EndpointProviderTest.php
  49. 39 0
      vendor/aliyun/aliyun-php-sdk-mts/ChangeLog.txt
  50. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ActivateMediaWorkflowRequest.php
  51. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddAsrPipelineRequest.php
  52. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddCategoryRequest.php
  53. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddCensorPipelineRequest.php
  54. 141 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddCoverPipelineRequest.php
  55. 239 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMCTemplateRequest.php
  56. 225 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMediaRequest.php
  57. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMediaTagRequest.php
  58. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMediaWorkflowRequest.php
  59. 155 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddPipelineRequest.php
  60. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddPornPipelineRequest.php
  61. 169 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddTemplateRequest.php
  62. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddTerrorismPipelineRequest.php
  63. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddWaterMarkTemplateRequest.php
  64. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/BindInputBucketRequest.php
  65. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/BindOutputBucketRequest.php
  66. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CancelJobRequest.php
  67. 85 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CategoryTreeRequest.php
  68. 225 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CheckResourceRequest.php
  69. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CreateMcuTemplateRequest.php
  70. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CreateSessionRequest.php
  71. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeactivateMediaWorkflowRequest.php
  72. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DecryptKeyRequest.php
  73. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteCategoryRequest.php
  74. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMCTemplateRequest.php
  75. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMcuJobRequest.php
  76. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMcuTemplateRequest.php
  77. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMediaRequest.php
  78. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMediaTagRequest.php
  79. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMediaWorkflowRequest.php
  80. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeletePipelineRequest.php
  81. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteTemplateRequest.php
  82. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteWaterMarkTemplateRequest.php
  83. 155 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/GetLicenseRequest.php
  84. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/GetPackageRequest.php
  85. 85 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListAllCategoryRequest.php
  86. 113 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListAllMediaBucketRequest.php
  87. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListAsrPipelineRequest.php
  88. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListCensorPipelineRequest.php
  89. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListCoverPipelineRequest.php
  90. 169 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListJobRequest.php
  91. 141 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListMediaRequest.php
  92. 155 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListMediaWorkflowExecutionsRequest.php
  93. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListPornPipelineRequest.php
  94. 127 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListTerrorismPipelineRequest.php
  95. 183 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/LogicalDeleteResourceRequest.php
  96. 183 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/PhysicalDeleteResourceRequest.php
  97. 197 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/PlayInfoRequest.php
  98. 85 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/PlayerAuthRequest.php
  99. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/QueryAnalysisJobListRequest.php
  100. 99 0
      vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/QueryAnnotationJobListRequest.php

+ 130 - 1
application/api/controller/Eyemargin.php

@@ -6,13 +6,15 @@ use Limen\Redisun\Examples\HashModel;
 use Limen\Redisun\Examples\StringModel;
 use think\Db;
 use think\Cache;
+include_once '../vendor/aliyun/aliyun-php-sdk-core/Config.php';
+use Mts\Request\V20140618 as Mts;
 
 /**
  * 眼缘接口
  */
 class Eyemargin extends Common
 {
-    protected $noNeedLogin = [];
+    protected $noNeedLogin = ['mpsvideo'];
     protected $noNeedRight = '*';
 
     public function _initialize()
@@ -68,6 +70,14 @@ class Eyemargin extends Common
 //            $data['cover'] = $full_cover;
 
             $data['video'] = $video;
+            //视频转码加logo
+            $oss_input_object = substr($data['video'], strpos($data['video'], 'uploads'));
+            $oss_output_object = str_replace('uploads', 'output', $oss_input_object);
+            $result = $this->mpsvideo($oss_input_object, $oss_output_object);
+            if (!$result) {
+                $this->error('网络错误,请稍后重试');
+            }
+            $data['jobid'] = $result;
         }
 
         $eyemarginModel = new \app\common\model\Eyemargin();
@@ -254,4 +264,123 @@ class Eyemargin extends Common
         }
     }
 
+    /**
+     * 阿里云媒体处理视频
+     * @param string $oss_input_object  输入文件(相对路径)
+     * @param string $oss_output_object  输出文件(相对路径)
+     * @throws \ClientException
+     * @throws \ServerException
+     */
+    public function mpsvideo($oss_input_object = '', $oss_output_object = '')
+    {
+        $access_key_id = config('oss.secretId'); //AccessKey ID
+        $access_key_secret = config('oss.secretKey'); //AccessKey Secret
+        $mps_region_id = 'cn-hangzhou';
+        $pipeline_id = '0c4f9b648be54da09e29d8819f60a0df'; //管道id
+        $watermark_template_id = '0c09ed4ef64e424b89a3449bcc0de522'; //水印模板id
+        $template_id = '4c43c0ff9436425dbb6eaf2ce74e0ff0';//'S00000001-200030'; //转码模板id
+        $oss_location = 'oss-cn-hangzhou';
+        $oss_bucket = config('oss.bucket'); //bucket
+//        $oss_input_object = 'uploads/xuanzhuan.mp4'; //输入文件
+//        $oss_output_object = 'output/xuanzhuan.mp4'; //输出文件
+        $image_watermark_object = 'logo.png'; //水印logo地址
+//        $video_watermark_object = 'logo.mov';
+# DefaultAcsClient
+        $clientProfile = \DefaultProfile::getProfile(
+            $mps_region_id,                   # Region ID
+            $access_key_id,                   # AccessKey ID
+            $access_key_secret                # AccessKey Secret
+        );
+        $client = new \DefaultAcsClient($clientProfile);
+# request
+        $request = new Mts\SubmitJobsRequest();
+        $request->setAcceptFormat('JSON');
+# Input
+        $input = array('Location' => $oss_location,
+            'Bucket' => $oss_bucket,
+            'Object' => urlencode($oss_input_object));
+        $request->setInput(json_encode($input));
+# Output
+        $output = array('OutputObject' => urlencode($oss_output_object));
+# Ouput->TemplateId
+        $output['TemplateId'] = $template_id;
+## Image Watermark
+        $image_watermark_input = array(
+            'Location' => $oss_location,
+            'Bucket' => $oss_bucket,
+            'Object' => urlencode($image_watermark_object)
+        );
+        $image_watermark = array(
+            'WaterMarkTemplateId' => $watermark_template_id,
+            'Type' => 'Image',
+            'InputFile' => $image_watermark_input,
+//            'ReferPos' => 'TopRight',
+//            'Width' => 0.05,
+            'Dx' => 18,
+            'Dy'=> 18
+        );
+## Text Watermark
+        /* $text_config = array(
+             'Content' => '5rWL6K+V5paH5a2X5rC05Y2w',
+             'FontName' => 'SimSun',
+             'FontSize' => 16,
+             'FontColor' => 'Red',
+             'FontAlpha' => 0.5,
+             'Top' => 10,
+             'Left' => 10
+         );
+         $text_watermark = array(
+             'WaterMarkTemplateId' => $watermark_template_id,
+             'Type' => 'Text',
+             'TextWaterMark' => $text_config
+         );*/
+## Video Watermark
+        /*$video_watermark_input = array (
+            'Location' => $oss_location,
+            'Bucket' => $oss_bucket,
+            'Object' => urlencode($video_watermark_object)
+        );
+        $video_watermark = array(
+            'WaterMarkTemplateId' => $watermark_template_id,
+            'Type' => 'Image',
+            'InputFile'=> $video_watermark_input,
+            'ReferPos' => 'BottomLeft',
+            'Height' => 240,
+            'Dx' => 0,
+            'Dy' => 0
+        );*/
+# Output->Watermarks
+//        $watermarks = array($image_watermark, $text_watermark, $video_watermark);
+        $watermarks = array($image_watermark);
+        $output['WaterMarks'] = $watermarks;
+# Outputs
+        $outputs = array($output);
+        $request->setOUtputs(json_encode($outputs));
+        $request->setOutputBucket($oss_bucket);
+        $request->setOutputLocation($oss_location);
+# PipelineId
+        $request->setPipelineId($pipeline_id);
+# call api
+        try {
+            $response = $client->getAcsResponse($request);
+//            print 'RequestId is:' . $response->{'RequestId'} . "\n";;
+            if ($response->{'JobResultList'}->{'JobResult'}[0]->{'Success'}) {
+                return $response->{'JobResultList'}->{'JobResult'}[0]->{'Job'}->{'JobId'};
+//                print 'JobId is:' .
+//                    $response->{'JobResultList'}->{'JobResult'}[0]->{'Job'}->{'JobId'} . "\n";
+            } else {
+                return false;
+//                print 'SubmitJobs Failed code:' .
+//                    $response->{'JobResultList'}->{'JobResult'}[0]->{'Code'} .
+//                    ' message:' .
+//                    $response->{'JobResultList'}->{'JobResult'}[0]->{'Message'} . "\n";
+            }
+        } catch(ServerException $e) {
+            return false;
+//            print 'Error: ' . $e->getErrorCode() . ' Message: ' . $e->getMessage() . "\n";
+        } catch(ClientException $e) {
+            return false;
+//            print 'Error: ' . $e->getErrorCode() . ' Message: ' . $e->getMessage() . "\n";
+        }
+    }
 }

+ 6 - 6
application/config.php

@@ -306,17 +306,17 @@ return [
     // 阿里云oss
     'oss'                  => [
         // 链接
-        "url"         => 'https://loveislove.oss-cn-chengdu.aliyuncs.com',
+        "url"         => 'https://eyefate.oss-cn-hangzhou.aliyuncs.com',
         // 固定密钥
-        'secretId'     => 'LTAI5tJhtZsPFELiNFskbDWx',
+        'secretId'     => 'LTAI5tRun9ZQVSgeg9mbjzjh',
         // 固定密钥
-        'secretKey'      => 'wBxojKDMnpgaH6BmknUM3SBoR7cMGZ',
+        'secretKey'      => 'nIkOAGe5Xttrjn7B5s0flk4z8zCdw8',
         // 存储桶
-        'bucket'      => 'loveislove',
+        'bucket'      => 'eyefate',
         // bucket 所在园区
-        'region'      => 'oss-cn-chengdu',
+        'region'      => 'oss-cn-hangzhou',
         // EndPoint
-        'endPoint'           => 'oss-cn-chengdu.aliyuncs.com',
+        'endPoint'           => 'oss-cn-hangzhou.aliyuncs.com',
         // 密钥有效期
         'durationSeconds'      => 1800,
         // 允许的路径前缀,可以根据自己网站的用户登录态判断允许上传的具体路径,例子: a.jpg 或者 a/* 或者 * (使用通配符*存在重大安全风险, 请谨慎评估使用)

+ 322 - 0
vendor/aliyun/aliyun-php-sdk-core/AcsRequest.php

@@ -0,0 +1,322 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class AcsRequest
+ */
+abstract class AcsRequest
+{
+    /**
+     * @var string
+     */
+    protected $version;
+    /**
+     * @var string
+     */
+    protected $product;
+    /**
+     * @var string
+     */
+    protected $actionName;
+    /**
+     * @var string
+     */
+    protected $regionId;
+    /**
+     * @var string
+     */
+    protected $acceptFormat;
+    /**
+     * @var string
+     */
+    protected $method;
+    /**
+     * @var string
+     */
+    protected $requestScheme = 'http';
+    /**
+     * @var string
+     */
+    protected $content;
+    /**
+     * @var array
+     */
+    protected $queryParameters = array();
+    /**
+     * @var array
+     */
+    protected $headers = array();
+    /**
+     * @var null|string
+     */
+    protected $locationServiceCode;
+    /**
+     * @var null|string
+     */
+    protected $locationEndpointType;
+    /**
+     * @var array The original parameters of the request object.
+     */
+    protected $requestParameters = array();
+    /**
+     * @var string
+     */
+    protected $stringToBeSigned = '';
+
+    /**
+     * AcsRequest constructor.
+     *
+     * @param string      $product
+     * @param string      $version
+     * @param string      $actionName
+     * @param string|null $locationServiceCode
+     * @param string      $locationEndpointType
+     */
+    public function __construct($product,
+                                $version,
+                                $actionName,
+                                $locationServiceCode = null,
+                                $locationEndpointType = 'openAPI')
+    {
+        $this->headers['x-sdk-client'] = 'php/2.0.0';
+        $this->product                 = $product;
+        $this->version                 = $version;
+        $this->actionName              = $actionName;
+        $this->locationServiceCode     = $locationServiceCode;
+        $this->locationEndpointType    = $locationEndpointType;
+    }
+
+    /**
+     * @param $iSigner
+     * @param $credential
+     * @param $domain
+     *
+     * @return mixed
+     */
+    abstract public function composeUrl($iSigner, $credential, $domain);
+
+    /**
+     * @return string
+     */
+    public function getVersion()
+    {
+        return $this->version;
+    }
+
+    /**
+     * @param $version
+     */
+    public function setVersion($version)
+    {
+        $this->version = $version;
+    }
+
+    /**
+     * @return string
+     */
+    public function getProduct()
+    {
+        return $this->product;
+    }
+
+    /**
+     * @param string $product
+     */
+    public function setProduct($product)
+    {
+        $this->product = $product;
+    }
+
+    /**
+     * @return string
+     */
+    public function getActionName()
+    {
+        return $this->actionName;
+    }
+
+    /**
+     * @param string $actionName
+     */
+    public function setActionName($actionName)
+    {
+        $this->actionName = $actionName;
+    }
+
+    /**
+     * @return string
+     */
+    public function getAcceptFormat()
+    {
+        return $this->acceptFormat;
+    }
+
+    /**
+     * @param string $acceptFormat
+     */
+    public function setAcceptFormat($acceptFormat)
+    {
+        $this->acceptFormat = $acceptFormat;
+    }
+
+    /**
+     * @return array
+     */
+    public function getQueryParameters()
+    {
+        return $this->queryParameters;
+    }
+
+    /**
+     * @return array
+     */
+    public function getHeaders()
+    {
+        return $this->headers;
+    }
+
+    /**
+     * @return string
+     */
+    public function getMethod()
+    {
+        return $this->method;
+    }
+
+    /**
+     * @param string $method
+     */
+    public function setMethod($method)
+    {
+        $this->method = $method;
+    }
+
+    /**
+     * @return string
+     */
+    public function getProtocol()
+    {
+        return $this->requestScheme;
+    }
+
+    /**
+     * @param string $protocol
+     */
+    public function setProtocol($protocol)
+    {
+        $this->requestScheme = $protocol;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRegionId()
+    {
+        return $this->regionId;
+    }
+
+    /**
+     * @param string $region
+     */
+    public function setRegionId($region)
+    {
+        $this->regionId = $region;
+    }
+
+    /**
+     * @return string
+     */
+    public function getContent()
+    {
+        return $this->content;
+    }
+
+    /**
+     * @param string $content
+     */
+    public function setContent($content)
+    {
+        $this->content = $content;
+    }
+
+    /**
+     * @param string $headerKey
+     * @param mixed  $headerValue
+     */
+    public function addHeader($headerKey, $headerValue)
+    {
+        $this->headers[$headerKey] = $headerValue;
+    }
+
+    /**
+     * @return null|string
+     */
+    public function getLocationServiceCode()
+    {
+        return $this->locationServiceCode;
+    }
+
+    /**
+     * @return null|string
+     */
+    public function getLocationEndpointType()
+    {
+        return $this->locationEndpointType;
+    }
+
+    /**
+     * Magic method for get parameters.
+     *
+     * @param string $name
+     * @param mixed  $arguments
+     *
+     * @return $this
+     */
+    public function __call($name, $arguments)
+    {
+        if (\strpos($name, 'get', 0) !== false) {
+            $parameterName = $this->propertyNameByMethodName($name);
+            return isset($this->requestParameters[$parameterName])
+                ? $this->requestParameters[$parameterName]
+                : null;
+        }
+        return $this;
+    }
+
+    /**
+     * @param string $methodName
+     *
+     * @return string
+     */
+    protected function propertyNameByMethodName($methodName)
+    {
+        return \mb_strcut($methodName, 3);
+    }
+
+    /**
+     * @return string
+     */
+    public function stringToBeSigned()
+    {
+        return $this->stringToBeSigned;
+    }
+}

+ 68 - 0
vendor/aliyun/aliyun-php-sdk-core/AcsResponse.php

@@ -0,0 +1,68 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class AcsResponse
+ */
+class AcsResponse
+{
+    /**
+     * @var string
+     */
+    private $code;
+    /**
+     * @var string
+     */
+    private $message;
+
+    /**
+     * @return string
+     */
+    public function getCode()
+    {
+        return $this->code;
+    }
+
+    /**
+     * @param string $code
+     */
+    public function setCode($code)
+    {
+        $this->code = $code;
+    }
+
+    /**
+     * @return string
+     */
+    public function getMessage()
+    {
+        return $this->message;
+    }
+
+    /**
+     * @param string $message
+     */
+    public function setMessage($message)
+    {
+        $this->message = $message;
+    }
+}

+ 29 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/AbstractCredential.php

@@ -0,0 +1,29 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+abstract class AbstractCredential
+{
+    abstract public function getAccessKeyId();
+
+    abstract public function getAccessSecret();
+
+    abstract public function getSecurityToken();
+}

+ 58 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/BearTokenSigner.php

@@ -0,0 +1,58 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class BearTokenSigner implements ISigner
+{
+    /**
+     * @param $source
+     * @param $accessSecret
+     *
+     * @return null
+     */
+    public function signString($source, $accessSecret)
+    {
+        return null;
+    }
+
+    /**
+     * @return null
+     */
+    public function getSignatureMethod()
+    {
+        return null;
+    }
+
+    /**
+     * @return string
+     */
+    public function getSignatureVersion()
+    {
+        return '1.0';
+    }
+
+    /**
+     * @return string
+     */
+    public function getSignatureType()
+    {
+        return 'BEARERTOKEN';
+    }
+}

+ 78 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/BearerTokenCredential.php

@@ -0,0 +1,78 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class BearerTokenCredential extends AbstractCredential
+{
+    /**
+     * @var string
+     */
+    private $bearerToken;
+
+    /**
+     * BearerTokenCredential constructor.
+     *
+     * @param $bearerToken
+     */
+    public function __construct($bearerToken)
+    {
+        $this->bearerToken = $bearerToken;
+    }
+
+    /**
+     * @return null
+     */
+    public function getAccessKeyId()
+    {
+        return null;
+    }
+
+    /**
+     * @return null
+     */
+    public function getAccessSecret()
+    {
+        return null;
+    }
+
+    /**
+     * @return string
+     */
+    public function getBearerToken()
+    {
+        return $this->bearerToken;
+    }
+
+    /**
+     * @param $bearerToken
+     */
+    public function setBearerToken($bearerToken)
+    {
+        $this->bearerToken = $bearerToken;
+    }
+
+    /**
+     * @return null
+     */
+    public function getSecurityToken()
+    {
+        return null;
+    }
+}

+ 153 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/Credential.php

@@ -0,0 +1,153 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class Credential extends AbstractCredential
+{
+    /**
+     * @var string
+     */
+    private $dateTimeFormat = 'Y-m-d\TH:i:s\Z';
+    /**
+     * @var false|string
+     */
+    private $refreshDate;
+    /**
+     * @var string
+     */
+    private $expiredDate;
+    /**
+     * @var string
+     */
+    private $accessKeyId;
+    /**
+     * @var string
+     */
+    private $accessSecret;
+    /**
+     * @var string
+     */
+    private $securityToken;
+
+    /**
+     * Credential constructor.
+     *
+     * @param $accessKeyId
+     * @param $accessSecret
+     * @param $securityToken
+     */
+    public function __construct($accessKeyId, $accessSecret, $securityToken)
+    {
+        $this->accessKeyId   = $accessKeyId;
+        $this->accessSecret  = $accessSecret;
+        $this->securityToken = $securityToken;
+        $this->refreshDate   = date($this->dateTimeFormat);
+    }
+
+    /**
+     * @return bool
+     */
+    public function isExpired()
+    {
+        if ($this->expiredDate == null) {
+            return false;
+        }
+        if (strtotime($this->expiredDate) > strtotime(date($this->dateTimeFormat))) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * @return false|string
+     */
+    public function getRefreshDate()
+    {
+        return $this->refreshDate;
+    }
+
+    /**
+     * @return string
+     */
+    public function getExpiredDate()
+    {
+        return $this->expiredDate;
+    }
+
+    /**
+     * @param $expiredHours
+     *
+     * @return false|string
+     */
+    public function setExpiredDate($expiredHours)
+    {
+        if ($expiredHours > 0) {
+            return $this->expiredDate = date($this->dateTimeFormat, strtotime('+' . $expiredHours . ' hour'));
+        }
+    }
+
+    /**
+     * @return string
+     */
+    public function getAccessKeyId()
+    {
+        return $this->accessKeyId;
+    }
+
+    /**
+     * @param $accessKeyId
+     */
+    public function setAccessKeyId($accessKeyId)
+    {
+        $this->accessKeyId = $accessKeyId;
+    }
+
+    /**
+     * @return string
+     */
+    public function getAccessSecret()
+    {
+        return $this->accessSecret;
+    }
+
+    /**
+     * @param $accessSecret
+     */
+    public function setAccessSecret($accessSecret)
+    {
+        $this->accessSecret = $accessSecret;
+    }
+
+    /**
+     * @return string
+     */
+    public function getSecurityToken()
+    {
+        return $this->securityToken;
+    }
+
+    /**
+     * @param $securityToken
+     */
+    public function setSecurityToken($securityToken)
+    {
+        $this->securityToken = $securityToken;
+    }
+}

+ 78 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/EcsRamRoleCredential.php

@@ -0,0 +1,78 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class EcsRamRoleCredential extends AbstractCredential
+{
+    /**
+     * @var string
+     */
+    private $roleName;
+
+    /**
+     * EcsRamRoleCredential constructor.
+     *
+     * @param $roleName
+     */
+    public function __construct($roleName)
+    {
+        $this->roleName = $roleName;
+    }
+
+    /**
+     * @return null
+     */
+    public function getAccessKeyId()
+    {
+        return null;
+    }
+
+    /**
+     * @return null
+     */
+    public function getAccessSecret()
+    {
+        return null;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRoleName()
+    {
+        return $this->roleName;
+    }
+
+    /**
+     * @param $roleName
+     */
+    public function setRoleName($roleName)
+    {
+        $this->roleName = $roleName;
+    }
+
+    /**
+     * @return null
+     */
+    public function getSecurityToken()
+    {
+        return null;
+    }
+}

+ 108 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/EcsRamRoleService.php

@@ -0,0 +1,108 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ */
+define('ECS_ROLE_EXPIRE_TIME', 3600);
+
+class EcsRamRoleService
+{
+
+    /**
+     * @var IClientProfile
+     */
+    private $clientProfile;
+    /**
+     * @var string|null
+     */
+    private $lastClearTime = null;
+    /**
+     * @var string|null
+     */
+    private $sessionCredential = null;
+
+    /**
+     * EcsRamRoleService constructor.
+     *
+     * @param $clientProfile
+     */
+    public function __construct($clientProfile)
+    {
+        $this->clientProfile = $clientProfile;
+    }
+
+    /**
+     * @return Credential|string|null
+     * @throws ClientException
+     */
+    public function getSessionCredential()
+    {
+        if ($this->lastClearTime != null && $this->sessionCredential != null) {
+            $now         = time();
+            $elapsedTime = $now - $this->lastClearTime;
+            if ($elapsedTime <= ECS_ROLE_EXPIRE_TIME * 0.8) {
+                return $this->sessionCredential;
+            }
+        }
+
+        $credential = $this->assumeRole();
+
+        if ($credential == null) {
+            return null;
+        }
+
+        $this->sessionCredential = $credential;
+        $this->lastClearTime     = time();
+
+        return $credential;
+    }
+
+    /**
+     * @return Credential|null
+     * @throws ClientException
+     */
+    private function assumeRole()
+    {
+        $ecsRamRoleCredential = $this->clientProfile->getCredential();
+
+        $requestUrl =
+            'http://100.100.100.200/latest/meta-data/ram/security-credentials/' . $ecsRamRoleCredential->getRoleName();
+
+        $httpResponse = HttpHelper::curl($requestUrl, 'GET', null, null);
+        if (!$httpResponse->isSuccess()) {
+            return null;
+        }
+
+        $respObj = json_decode($httpResponse->getBody());
+
+        $code = $respObj->Code;
+        if ($code != 'Success') {
+            return null;
+        }
+
+        $sessionAccessKeyId     = $respObj->AccessKeyId;
+        $sessionAccessKeySecret = $respObj->AccessKeySecret;
+        $securityToken          = $respObj->SecurityToken;
+
+        return new Credential($sessionAccessKeyId, $sessionAccessKeySecret, $securityToken);
+    }
+
+}

+ 41 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/ISigner.php

@@ -0,0 +1,41 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Interface ISigner
+ */
+interface ISigner
+{
+    public function getSignatureMethod();
+
+    public function getSignatureVersion();
+
+    /**
+     * @param $source
+     * @param $accessSecret
+     *
+     * @return mixed
+     */
+    public function signString($source, $accessSecret);
+
+    public function getSignatureType();
+}

+ 128 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/RamRoleArnCredential.php

@@ -0,0 +1,128 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class RamRoleArnCredential extends AbstractCredential
+{
+    /**
+     * @var string
+     */
+    private $accessKeyId;
+    /**
+     * @var string
+     */
+    private $accessSecret;
+    /**
+     * @var string
+     */
+    private $roleArn;
+    /**
+     * @var string
+     */
+    private $roleSessionName;
+
+    /**
+     * RamRoleArnCredential constructor.
+     *
+     * @param $accessKeyId
+     * @param $accessSecret
+     * @param $roleArn
+     * @param $roleSessionName
+     */
+    public function __construct($accessKeyId, $accessSecret, $roleArn, $roleSessionName)
+    {
+        $this->accessKeyId     = $accessKeyId;
+        $this->accessSecret    = $accessSecret;
+        $this->roleArn         = $roleArn;
+        $this->roleSessionName = $roleSessionName;
+    }
+
+    /**
+     * @return string
+     */
+    public function getAccessKeyId()
+    {
+        return $this->accessKeyId;
+    }
+
+    /**
+     * @param $accessKeyId
+     */
+    public function setAccessKeyId($accessKeyId)
+    {
+        $this->accessKeyId = $accessKeyId;
+    }
+
+    /**
+     * @return string
+     */
+    public function getAccessSecret()
+    {
+        return $this->accessSecret;
+    }
+
+    /**
+     * @param $accessSecret
+     */
+    public function setAccessSecret($accessSecret)
+    {
+        $this->accessSecret = $accessSecret;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRoleArn()
+    {
+        return $this->roleArn;
+    }
+
+    /**
+     * @param $roleArn
+     */
+    public function setRoleArn($roleArn)
+    {
+        $this->roleArn = $roleArn;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRoleSessionName()
+    {
+        return $this->roleSessionName;
+    }
+
+    /**
+     * @param $roleSessionName
+     */
+    public function setRoleSessionName($roleSessionName)
+    {
+        $this->roleSessionName = $roleSessionName;
+    }
+
+    /**
+     * @return null
+     */
+    public function getSecurityToken()
+    {
+        return null;
+    }
+}

+ 150 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/RamRoleArnService.php

@@ -0,0 +1,150 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ */
+define('STS_PRODUCT_NAME', 'Sts');
+/**
+ *
+ */
+define('STS_DOMAIN', 'sts.aliyuncs.com');
+/**
+ *
+ */
+define('STS_VERSION', '2015-04-01');
+/**
+ *
+ */
+define('STS_ACTION', 'AssumeRole');
+/**
+ *
+ */
+define('STS_REGION', 'cn-hangzhou');
+/**
+ *
+ */
+define('ROLE_ARN_EXPIRE_TIME', 3600);
+
+class AssumeRoleRequest extends RpcAcsRequest
+{
+    /**
+     * AssumeRoleRequest constructor.
+     *
+     * @param $roleArn
+     * @param $roleSessionName
+     */
+    public function __construct($roleArn, $roleSessionName)
+    {
+        parent::__construct(STS_PRODUCT_NAME, STS_VERSION, STS_ACTION);
+
+        $this->queryParameters['RoleArn']         = $roleArn;
+        $this->queryParameters['RoleSessionName'] = $roleSessionName;
+        $this->queryParameters['DurationSeconds'] = ROLE_ARN_EXPIRE_TIME;
+        $this->setRegionId(ROLE_ARN_EXPIRE_TIME);
+        $this->setProtocol('https');
+
+        $this->setAcceptFormat('JSON');
+    }
+}
+
+class RamRoleArnService
+{
+    /**
+     * @var IClientProfile
+     */
+    private $clientProfile;
+    /**
+     * @var null|string
+     */
+    private $lastClearTime = null;
+    /**
+     * @var null|string
+     */
+    private $sessionCredential = null;
+    /**
+     * @var string
+     */
+    public static $serviceDomain = STS_DOMAIN;
+
+    /**
+     * RamRoleArnService constructor.
+     *
+     * @param $clientProfile
+     */
+    public function __construct($clientProfile)
+    {
+        $this->clientProfile = $clientProfile;
+    }
+
+    /**
+     * @return Credential|string|null
+     * @throws ClientException
+     */
+    public function getSessionCredential()
+    {
+        if ($this->lastClearTime != null && $this->sessionCredential != null) {
+            $now         = time();
+            $elapsedTime = $now - $this->lastClearTime;
+            if ($elapsedTime <= ROLE_ARN_EXPIRE_TIME * 0.8) {
+                return $this->sessionCredential;
+            }
+        }
+
+        $credential = $this->assumeRole();
+
+        if ($credential == null) {
+            return null;
+        }
+
+        $this->sessionCredential = $credential;
+        $this->lastClearTime     = time();
+
+        return $credential;
+    }
+
+    /**
+     * @return Credential|null
+     * @throws ClientException
+     */
+    private function assumeRole()
+    {
+        $signer               = $this->clientProfile->getSigner();
+        $ramRoleArnCredential = $this->clientProfile->getCredential();
+
+        $request =
+            new AssumeRoleRequest($ramRoleArnCredential->getRoleArn(), $ramRoleArnCredential->getRoleSessionName());
+
+        $requestUrl = $request->composeUrl($signer, $ramRoleArnCredential, self::$serviceDomain);
+
+        $httpResponse = HttpHelper::curl($requestUrl, $request->getMethod(), null, $request->getHeaders());
+
+        if (!$httpResponse->isSuccess()) {
+            return null;
+        }
+
+        $respObj = json_decode($httpResponse->getBody());
+
+        $sessionAccessKeyId     = $respObj->Credentials->AccessKeyId;
+        $sessionAccessKeySecret = $respObj->Credentials->AccessKeySecret;
+        $securityToken          = $respObj->Credentials->SecurityToken;
+        return new Credential($sessionAccessKeyId, $sessionAccessKeySecret, $securityToken);
+    }
+}

+ 58 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/ShaHmac1Signer.php

@@ -0,0 +1,58 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class ShaHmac1Signer implements ISigner
+{
+    /**
+     * @param $source
+     * @param $accessSecret
+     *
+     * @return string
+     */
+    public function signString($source, $accessSecret)
+    {
+        return base64_encode(hash_hmac('sha1', $source, $accessSecret, true));
+    }
+
+    /**
+     * @return string
+     */
+    public function getSignatureMethod()
+    {
+        return 'HMAC-SHA1';
+    }
+
+    /**
+     * @return string
+     */
+    public function getSignatureVersion()
+    {
+        return '1.0';
+    }
+
+    /**
+     * @return null
+     */
+    public function getSignatureType()
+    {
+        return null;
+    }
+}

+ 58 - 0
vendor/aliyun/aliyun-php-sdk-core/Auth/ShaHmac256Signer.php

@@ -0,0 +1,58 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class ShaHmac256Signer implements ISigner
+{
+    /**
+     * @param $source
+     * @param $accessSecret
+     *
+     * @return string
+     */
+    public function signString($source, $accessSecret)
+    {
+        return base64_encode(hash_hmac('sha256', $source, $accessSecret, true));
+    }
+
+    /**
+     * @return string
+     */
+    public function getSignatureMethod()
+    {
+        return 'HMAC-SHA256';
+    }
+
+    /**
+     * @return string
+     */
+    public function getSignatureVersion()
+    {
+        return '1.0';
+    }
+
+    /**
+     * @return null
+     */
+    public function getSignatureType()
+    {
+        return null;
+    }
+}

+ 80 - 0
vendor/aliyun/aliyun-php-sdk-core/Autoloader/Autoloader.php

@@ -0,0 +1,80 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+spl_autoload_register('Autoloader::autoload');
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class Autoloader
+ */
+class Autoloader
+{
+    /**
+     * @var array
+     */
+    private static $autoloadPathArray = array(
+        'aliyun-php-sdk-core',
+        'aliyun-php-sdk-core/Auth',
+        'aliyun-php-sdk-core/Http',
+        'aliyun-php-sdk-core/Profile',
+        'aliyun-php-sdk-core/Regions',
+        'aliyun-php-sdk-core/Exception',
+    );
+
+    /**
+     * Automatically find the class and load it.
+     *
+     * @param string $className
+     */
+    public static function autoload($className)
+    {
+        $directories = dirname(dirname(__DIR__));
+        foreach (self::$autoloadPathArray as $path) {
+            $file = $directories . DIRECTORY_SEPARATOR . $path . DIRECTORY_SEPARATOR . $className . '.php';
+            $file = str_replace('\\', DIRECTORY_SEPARATOR, $file);
+            if (is_file($file)) {
+                include_once $file;
+                break;
+            }
+        }
+    }
+
+    /**
+     * Load all product folders.
+     *
+     * @return void
+     */
+    public static function loadDirectories()
+    {
+        $directories = dirname(dirname(__DIR__));
+        foreach (glob($directories . DIRECTORY_SEPARATOR . '*') as $directory) {
+            if (is_dir($directory) && basename($directory) !== 'aliyun-php-sdk-core') {
+                self::$autoloadPathArray[] = basename($directory);
+            }
+        }
+    }
+
+    /**
+     * @param string $path
+     */
+    public static function addAutoloadPath($path)
+    {
+        self::$autoloadPathArray[] = $path;
+    }
+}

+ 85 - 0
vendor/aliyun/aliyun-php-sdk-core/ChangeLog.txt

@@ -0,0 +1,85 @@
+2019-03-04 Version: 1.3.9
+1, Support CCC.
+
+2019-02-25 Version: 1.3.8
+1, Fixed SignatureDoesNotMatch.
+
+2019-01-11 Version: 1.3.7
+1, Support sign for Windows.
+
+2019-01-04 Version: 1.3.6
+1, add endpoints for Iot.
+
+2019-01-03 Version: 1.3.5
+1, Regenerate cdn.
+
+2019-01-01 Version: 1.3.4
+1, use DIRECTORY_SEPARATOR.
+
+2018-12-31 Version: 1.3.3
+1, Optimized autoload.
+
+2018-12-29 Version: 1.3.2
+1, Support autoload directories.
+
+2018-12-29 Version: 1.3.1
+1, Fixed invalid released.
+
+2018-12-29 Version: 1.3.0
+1, fixed method for ROA request.
+
+2018-12-29 Version: 1.2.9
+1, Support magic method call for get request parameters.
+
+2018-12-28 Version: 1.2.8
+1, Format core code.
+
+2018-12-27 Version: 1.2.7
+1, Fixed protocolType conflict.
+
+2018-12-27 Version: 1.2.6
+1, Support BssOpenApi product.
+
+2018-12-27 Version: 1.2.5
+1, Support Afs product.
+
+2018-12-27 Version: 1.2.4
+1, Fixed isset domain in LocationService
+
+2018-12-27 Version: 1.2.3
+1, Add the aliyun dns class load path.
+2, Fixed PHP Notice in LocationService.php.
+
+2018-12-24 Version: 1.2.2
+1, Fixed ROA sign
+2, ROA support JSON Format
+3, Response Field identification
+
+
+2018-12-11 Version: 1.2.1
+1, Add endpoint data for DYSMS
+
+2018-11-06 Version: 1.2.1
+1, fix Notice for LocationService::checkCacheIsExpire
+
+2018-11-06 Version: 1.2.1
+1, fix Notice for LocationService::checkCacheIsExpire
+
+2018-11-06 Version: 1.2.1
+1, fix Notice for LocationService::checkCacheIsExpire
+
+2018-03-13 Version: 1.1.4
+1, Three scene completion StsToken
+
+2017-12-22 Version: 1.2.0
+1, STS token that supports ordinary scenes.
+
+2017-09-30 Version: 1.1.3
+1, fix bug:修改客户端默认时区
+
+2017-09-06 Version: 1.1.4
+1, 修改IoT套件美西和新加坡节点的endpoint
+
+2017-07-25 Version: 1.1.3
+1, 修改IoT套件在华东2个Region上的endpoint。
+

+ 36 - 0
vendor/aliyun/aliyun-php-sdk-core/Config.php

@@ -0,0 +1,36 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once 'Autoloader/Autoloader.php';
+include_once 'Regions/EndpointConfig.php';
+include_once 'Regions/LocationService.php';
+Autoloader::loadDirectories();
+//config http proxy
+/**
+ *
+ */
+define('ENABLE_HTTP_PROXY', false);
+/**
+ *
+ */
+define('HTTP_PROXY_IP', '127.0.0.1');
+/**
+ *
+ */
+define('HTTP_PROXY_PORT', '8888');

+ 282 - 0
vendor/aliyun/aliyun-php-sdk-core/DefaultAcsClient.php

@@ -0,0 +1,282 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class DefaultAcsClient
+ */
+class DefaultAcsClient implements IAcsClient
+{
+    /**
+     * @var IClientProfile
+     */
+    public $iClientProfile;
+    /**
+     * @var bool
+     */
+    public $__urlTestFlag__;
+    /**
+     * @var LocationService
+     */
+    private $locationService;
+    /**
+     * @var RamRoleArnService
+     */
+    private $ramRoleArnService;
+    /**
+     * @var EcsRamRoleService
+     */
+    private $ecsRamRoleService;
+
+    /**
+     * DefaultAcsClient constructor.
+     *
+     * @param $iClientProfile
+     */
+    public function __construct($iClientProfile)
+    {
+        $this->iClientProfile  = $iClientProfile;
+        $this->__urlTestFlag__ = false;
+        $this->locationService = new LocationService($this->iClientProfile);
+        if ($this->iClientProfile->isRamRoleArn()) {
+            $this->ramRoleArnService = new RamRoleArnService($this->iClientProfile);
+        }
+        if ($this->iClientProfile->isEcsRamRole()) {
+            $this->ecsRamRoleService = new EcsRamRoleService($this->iClientProfile);
+        }
+    }
+
+    /**
+     * @param      $request
+     * @param null $iSigner
+     * @param null $credential
+     * @param bool $autoRetry
+     * @param int  $maxRetryNumber
+     *
+     * @return mixed|SimpleXMLElement
+     * @throws ClientException
+     * @throws ServerException
+     */
+    public function getAcsResponse($request,
+                                   $iSigner = null,
+                                   $credential = null,
+                                   $autoRetry = true,
+                                   $maxRetryNumber = 3)
+    {
+        $httpResponse = $this->doActionImpl($request, $iSigner, $credential, $autoRetry, $maxRetryNumber);
+        $respObject   = $this->parseAcsResponse($httpResponse->getBody(), $request->getAcceptFormat());
+        if (false === $httpResponse->isSuccess()) {
+            $this->buildApiException($respObject, $httpResponse->getStatus(), $request);
+        }
+        return $respObject;
+    }
+
+    /**
+     * @param AcsRequest $request
+     * @param null       $iSigner
+     * @param null       $credential
+     * @param bool       $autoRetry
+     * @param int        $maxRetryNumber
+     *
+     * @return HttpResponse
+     * @throws ClientException
+     */
+    private function doActionImpl($request, $iSigner = null, $credential = null, $autoRetry = true, $maxRetryNumber = 3)
+    {
+        if (null == $this->iClientProfile
+            && (null == $iSigner || null == $credential
+                || null == $request->getRegionId()
+                || null == $request->getAcceptFormat())) {
+            throw new ClientException('No active profile found.', 'SDK.InvalidProfile');
+        }
+        if (null == $iSigner) {
+            $iSigner = $this->iClientProfile->getSigner();
+        }
+        if (null == $credential) {
+            $credential = $this->iClientProfile->getCredential();
+        }
+        if ($this->iClientProfile->isRamRoleArn()) {
+            $credential = $this->ramRoleArnService->getSessionCredential();
+        }
+        if ($this->iClientProfile->isEcsRamRole()) {
+            $credential = $this->ecsRamRoleService->getSessionCredential();
+        }
+        if (null == $credential) {
+            throw new ClientException('Incorrect user credentials.', 'SDK.InvalidCredential');
+        }
+
+        $request = $this->prepareRequest($request);
+
+        // Get the domain from the Location Service by speicified `ServiceCode` and `RegionId`.
+        $domain = null;
+        if (null != $request->getLocationServiceCode()) {
+            $domain =
+                $this->locationService->findProductDomain($request->getRegionId(),
+                                                          $request->getLocationServiceCode(),
+                                                          $request->getLocationEndpointType(),
+                                                          $request->getProduct());
+        }
+        if ($domain == null) {
+            $domain = EndpointProvider::findProductDomain($request->getRegionId(), $request->getProduct());
+        }
+
+        if (null == $domain) {
+            throw new ClientException('Can not find endpoint to access.', 'SDK.InvalidRegionId');
+        }
+        $requestUrl = $request->composeUrl($iSigner, $credential, $domain);
+
+        if ($this->__urlTestFlag__) {
+            throw new ClientException($requestUrl, 'URLTestFlagIsSet');
+        }
+
+        if (count($request->getDomainParameter()) > 0) {
+            $httpResponse =
+                HttpHelper::curl($requestUrl,
+                                 $request->getMethod(),
+                                 $request->getDomainParameter(),
+                                 $request->getHeaders());
+        } else {
+            $httpResponse =
+                HttpHelper::curl($requestUrl, $request->getMethod(), $request->getContent(), $request->getHeaders());
+        }
+
+        $retryTimes = 1;
+        while (500 <= $httpResponse->getStatus() && $autoRetry && $retryTimes < $maxRetryNumber) {
+            $requestUrl = $request->composeUrl($iSigner, $credential, $domain);
+
+            if (count($request->getDomainParameter()) > 0) {
+                $httpResponse =
+                    HttpHelper::curl($requestUrl,
+                                     $request->getMethod(),
+                                     $request->getDomainParameter(),
+                                     $request->getHeaders());
+            } else {
+                $httpResponse =
+                    HttpHelper::curl($requestUrl,
+                                     $request->getMethod(),
+                                     $request->getContent(),
+                                     $request->getHeaders());
+            }
+            $retryTimes++;
+        }
+        return $httpResponse;
+    }
+
+    /**
+     * @param AcsRequest $request
+     * @param null       $iSigner
+     * @param null       $credential
+     * @param bool       $autoRetry
+     * @param int        $maxRetryNumber
+     *
+     * @return HttpResponse|mixed
+     * @throws ClientException
+     */
+    public function doAction($request, $iSigner = null, $credential = null, $autoRetry = true, $maxRetryNumber = 3)
+    {
+        trigger_error('doAction() is deprecated. Please use getAcsResponse() instead.', E_USER_NOTICE);
+        return $this->doActionImpl($request, $iSigner, $credential, $autoRetry, $maxRetryNumber);
+    }
+
+    /**
+     * @param $request
+     *
+     * @return mixed
+     */
+    private function prepareRequest($request)
+    {
+        if (null == $request->getRegionId()) {
+            $request->setRegionId($this->iClientProfile->getRegionId());
+        }
+        if (null == $request->getAcceptFormat()) {
+            $request->setAcceptFormat($this->iClientProfile->getFormat());
+        }
+        if (null == $request->getMethod()) {
+            $request->setMethod('GET');
+        }
+        return $request;
+    }
+
+    /**
+     * @param object     $respObject
+     * @param int        $httpStatus
+     *
+     * @param AcsRequest $request
+     *
+     * @throws ServerException
+     */
+    private function buildApiException($respObject, $httpStatus, AcsRequest $request)
+    {
+        $errorCode    = 'UnknownServerError';
+        $errorMessage = 'The server returned an error without a detailed message. ';
+        $requestId    = 'None';
+
+        // Compatible with different results
+        if (isset($respObject->Message, $respObject->Code, $respObject->RequestId)) {
+            $errorCode    = $respObject->Code;
+            $errorMessage = $respObject->Message;
+            $requestId    = $respObject->RequestId;
+        }
+
+        if (isset($respObject->message, $respObject->code, $respObject->requestId)) {
+            $errorCode    = $respObject->code;
+            $errorMessage = $respObject->message;
+            $requestId    = $respObject->requestId;
+        }
+
+        if (isset($respObject->errorMsg, $respObject->errorCode)) {
+            $errorCode    = $respObject->errorCode;
+            $errorMessage = $respObject->errorMsg;
+        }
+
+        if ($httpStatus === 400 && $errorCode === 'SignatureDoesNotMatch'
+            && strpos($errorMessage,
+                      $request->stringToBeSigned()) !== false) {
+            $errorCode    = 'InvalidAccessKeySecret';
+            $errorMessage = 'Specified Access Key Secret is not valid.';
+        }
+
+        throw new ServerException(
+            $errorMessage,
+            $errorCode,
+            $httpStatus,
+            $requestId
+        );
+    }
+
+    /**
+     * @param $body
+     * @param $format
+     *
+     * @return mixed|SimpleXMLElement
+     */
+    private function parseAcsResponse($body, $format)
+    {
+        if ('JSON' === $format) {
+            $respObject = json_decode($body);
+        } elseif ('XML' === $format) {
+            $respObject = @simplexml_load_string($body);
+        } elseif ('RAW' === $format) {
+            $respObject = $body;
+        }
+        return $respObject;
+    }
+}

+ 102 - 0
vendor/aliyun/aliyun-php-sdk-core/Exception/ClientException.php

@@ -0,0 +1,102 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class ClientException
+ */
+class ClientException extends Exception
+{
+    /**
+     * @var string
+     */
+    private $errorCode;
+    /**
+     * @var string
+     */
+    private $errorMessage;
+    /**
+     * @var string
+     */
+    private $errorType;
+
+    /**
+     * ClientException constructor.
+     *
+     * @param $errorMessage
+     * @param $errorCode
+     */
+    public function __construct($errorMessage, $errorCode)
+    {
+        parent::__construct($errorMessage);
+        $this->errorMessage = $errorMessage;
+        $this->errorCode    = $errorCode;
+        $this->setErrorType('Client');
+    }
+
+    /**
+     * @return string
+     */
+    public function getErrorCode()
+    {
+        return $this->errorCode;
+    }
+
+    /**
+     * @param $errorCode
+     */
+    public function setErrorCode($errorCode)
+    {
+        $this->errorCode = $errorCode;
+    }
+
+    /**
+     * @return string
+     */
+    public function getErrorMessage()
+    {
+        return $this->errorMessage;
+    }
+
+    /**
+     * @param $errorMessage
+     */
+    public function setErrorMessage($errorMessage)
+    {
+        $this->errorMessage = $errorMessage;
+    }
+
+    /**
+     * @return string
+     */
+    public function getErrorType()
+    {
+        return $this->errorType;
+    }
+
+    /**
+     * @param $errorType
+     */
+    public function setErrorType($errorType)
+    {
+        $this->errorType = $errorType;
+    }
+}

+ 70 - 0
vendor/aliyun/aliyun-php-sdk-core/Exception/ServerException.php

@@ -0,0 +1,70 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class ServerException
+ */
+class ServerException extends ClientException
+{
+    /**
+     * @var string
+     */
+    private $httpStatus;
+    /**
+     * @var string
+     */
+    private $requestId;
+
+    /**
+     * ServerException constructor.
+     *
+     * @param $errorMessage
+     * @param $errorCode
+     * @param $httpStatus
+     * @param $requestId
+     */
+    public function __construct($errorMessage, $errorCode, $httpStatus, $requestId)
+    {
+        $messageStr = $errorCode . ' ' . $errorMessage . ' HTTP Status: ' . $httpStatus . ' RequestID: ' . $requestId;
+        parent::__construct($messageStr, $errorCode);
+        $this->setErrorMessage($errorMessage);
+        $this->setErrorType('Server');
+        $this->httpStatus = $httpStatus;
+        $this->requestId  = $requestId;
+    }
+
+    /**
+     * @return string
+     */
+    public function getHttpStatus()
+    {
+        return $this->httpStatus;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRequestId()
+    {
+        return $this->requestId;
+    }
+}

+ 114 - 0
vendor/aliyun/aliyun-php-sdk-core/Http/HttpHelper.php

@@ -0,0 +1,114 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class HttpHelper
+ */
+class HttpHelper
+{
+    /**
+     * @var int
+     */
+    public static $connectTimeout = 30;//30 second
+    /**
+     * @var int
+     */
+    public static $readTimeout = 80;//80 second
+
+    /**
+     * @param string $url
+     * @param string $httpMethod
+     * @param null   $postFields
+     * @param null   $headers
+     *
+     * @return HttpResponse
+     * @throws ClientException
+     */
+    public static function curl($url, $httpMethod = 'GET', $postFields = null, $headers = null)
+    {
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $httpMethod);
+        if (ENABLE_HTTP_PROXY) {
+            curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
+            curl_setopt($ch, CURLOPT_PROXY, HTTP_PROXY_IP);
+            curl_setopt($ch, CURLOPT_PROXYPORT, HTTP_PROXY_PORT);
+            curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
+        }
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_FAILONERROR, false);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+        curl_setopt($ch, CURLOPT_POSTFIELDS, is_array($postFields) ? self::getPostHttpBody($postFields) : $postFields);
+
+        if (self::$readTimeout) {
+            curl_setopt($ch, CURLOPT_TIMEOUT, self::$readTimeout);
+        }
+        if (self::$connectTimeout) {
+            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, self::$connectTimeout);
+        }
+        //https request
+        if (strlen($url) > 5 && stripos($url, 'https') === 0) {
+            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+        }
+        if (is_array($headers) && 0 < count($headers)) {
+            $httpHeaders = self::getHttpHearders($headers);
+            curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);
+        }
+        $httpResponse = new HttpResponse();
+        $httpResponse->setBody(curl_exec($ch));
+        $httpResponse->setStatus(curl_getinfo($ch, CURLINFO_HTTP_CODE));
+        if (curl_errno($ch)) {
+            throw new ClientException('Server unreachable: Errno: ' . curl_errno($ch) . ' ' . curl_error($ch),
+                                      'SDK.ServerUnreachable');
+        }
+        curl_close($ch);
+        return $httpResponse;
+    }
+
+    /**
+     * @param $postFildes
+     *
+     * @return bool|string
+     */
+    public static function getPostHttpBody($postFildes)
+    {
+        $content = '';
+        foreach ($postFildes as $apiParamKey => $apiParamValue) {
+            $content .= "$apiParamKey=" . urlencode($apiParamValue) . '&';
+        }
+        return substr($content, 0, -1);
+    }
+
+    /**
+     * @param $headers
+     *
+     * @return array
+     */
+    public static function getHttpHearders($headers)
+    {
+        $httpHeader = array();
+        foreach ($headers as $key => $value) {
+            $httpHeader[] = $key . ':' . $value;
+        }
+        return $httpHeader;
+    }
+}

+ 76 - 0
vendor/aliyun/aliyun-php-sdk-core/Http/HttpResponse.php

@@ -0,0 +1,76 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class HttpResponse
+ */
+class HttpResponse
+{
+    /**
+     * @var string
+     */
+    private $body;
+    /**
+     * @var string
+     */
+    private $status;
+
+    /**
+     * @return string
+     */
+    public function getBody()
+    {
+        return $this->body;
+    }
+
+    /**
+     * @param $body
+     */
+    public function setBody($body)
+    {
+        $this->body = $body;
+    }
+
+    /**
+     * @return string
+     */
+    public function getStatus()
+    {
+        return $this->status;
+    }
+
+    /**
+     * @param $status
+     */
+    public function setStatus($status)
+    {
+        $this->status = $status;
+    }
+
+    /**
+     * @return bool
+     */
+    public function isSuccess()
+    {
+        return 200 <= $this->status && 300 > $this->status;
+    }
+}

+ 34 - 0
vendor/aliyun/aliyun-php-sdk-core/IAcsClient.php

@@ -0,0 +1,34 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Interface IAcsClient
+ */
+interface IAcsClient
+{
+    /**
+     * @param AcsRequest $request
+     *
+     * @return mixed
+     */
+    public function doAction($request);
+}

+ 310 - 0
vendor/aliyun/aliyun-php-sdk-core/Profile/DefaultProfile.php

@@ -0,0 +1,310 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ */
+define('AUTH_TYPE_RAM_AK', 'RAM_AK');
+/**
+ *
+ */
+define('AUTH_TYPE_RAM_ROLE_ARN', 'RAM_ROLE_ARN');
+/**
+ *
+ */
+define('AUTH_TYPE_ECS_RAM_ROLE', 'ECS_RAM_ROLE');
+/**
+ *
+ */
+define('AUTH_TYPE_BEARER_TOKEN', 'BEARER_TOKEN');
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class DefaultProfile
+ */
+class DefaultProfile implements IClientProfile
+{
+    /**
+     * @var IClientProfile
+     */
+    private static $profile;
+    /**
+     * @var array
+     */
+    private static $endpoints;
+    /**
+     * @var AbstractCredential
+     */
+    private static $credential;
+    /**
+     * @var string
+     */
+    private static $regionId;
+    /**
+     * @var string
+     */
+    private static $acceptFormat;
+    /**
+     * @var string
+     */
+    private static $authType;
+
+    /**
+     * @var ISigner
+     */
+    private static $isigner;
+    /**
+     * @var AbstractCredential
+     */
+    private static $iCredential;
+
+    /**
+     * DefaultProfile constructor.
+     *
+     * @param        $regionId
+     * @param        $credential
+     * @param string $authType
+     * @param null   $isigner
+     */
+    private function __construct($regionId, $credential, $authType = AUTH_TYPE_RAM_AK, $isigner = null)
+    {
+        self::$regionId   = $regionId;
+        self::$credential = $credential;
+        self::$authType   = $authType;
+        self::$isigner    = $isigner;
+    }
+
+    /**
+     * @param      $regionId
+     * @param      $accessKeyId
+     * @param      $accessSecret
+     * @param null $securityToken
+     *
+     * @return DefaultProfile|IClientProfile
+     */
+    public static function getProfile($regionId, $accessKeyId, $accessSecret, $securityToken = null)
+    {
+        $credential    = new Credential($accessKeyId, $accessSecret, $securityToken);
+        self::$profile = new DefaultProfile($regionId, $credential);
+        return self::$profile;
+    }
+
+    /**
+     * @param $regionId
+     * @param $accessKeyId
+     * @param $accessSecret
+     * @param $roleArn
+     * @param $roleSessionName
+     *
+     * @return DefaultProfile|IClientProfile
+     */
+    public static function getRamRoleArnProfile($regionId, $accessKeyId, $accessSecret, $roleArn, $roleSessionName)
+    {
+        $credential    = new RamRoleArnCredential($accessKeyId, $accessSecret, $roleArn, $roleSessionName);
+        self::$profile = new DefaultProfile($regionId, $credential, AUTH_TYPE_RAM_ROLE_ARN);
+        return self::$profile;
+    }
+
+    /**
+     * @param $regionId
+     * @param $roleName
+     *
+     * @return DefaultProfile|IClientProfile
+     */
+    public static function getEcsRamRoleProfile($regionId, $roleName)
+    {
+        $credential    = new EcsRamRoleCredential($roleName);
+        self::$profile = new DefaultProfile($regionId, $credential, AUTH_TYPE_ECS_RAM_ROLE);
+        return self::$profile;
+    }
+
+    /**
+     * @param $regionId
+     * @param $bearerToken
+     *
+     * @return DefaultProfile|IClientProfile
+     */
+    public static function getBearerTokenProfile($regionId, $bearerToken)
+    {
+        $credential    = new BearerTokenCredential($bearerToken);
+        self::$profile = new DefaultProfile($regionId, $credential, AUTH_TYPE_BEARER_TOKEN, new BearTokenSigner());
+        return self::$profile;
+    }
+
+    /**
+     * @return ISigner|ShaHmac1Signer|null
+     */
+    public function getSigner()
+    {
+        if (null == self::$isigner) {
+            self::$isigner = new ShaHmac1Signer();
+        }
+        return self::$isigner;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRegionId()
+    {
+        return self::$regionId;
+    }
+
+    /**
+     * @return string
+     */
+    public function getFormat()
+    {
+        return self::$acceptFormat;
+    }
+
+    /**
+     * @return AbstractCredential
+     */
+    public function getCredential()
+    {
+        if (null == self::$credential && null != self::$iCredential) {
+            self::$credential = self::$iCredential;
+        }
+        return self::$credential;
+    }
+
+    /**
+     * @return bool
+     */
+    public function isRamRoleArn()
+    {
+        return self::$authType == AUTH_TYPE_RAM_ROLE_ARN;
+    }
+
+    /**
+     * @return bool
+     */
+    public function isEcsRamRole()
+    {
+        return self::$authType == AUTH_TYPE_ECS_RAM_ROLE;
+    }
+
+    /**
+     * @return array
+     */
+    public static function getEndpoints()
+    {
+        if (null == self::$endpoints) {
+            self::$endpoints = EndpointProvider::getEndpoints();
+        }
+        return self::$endpoints;
+    }
+
+    /**
+     * @param $endpointName
+     * @param $regionId
+     * @param $product
+     * @param $domain
+     */
+    public static function addEndpoint($endpointName, $regionId, $product, $domain)
+    {
+        if (null == self::$endpoints) {
+            self::$endpoints = self::getEndpoints();
+        }
+        $endpoint = self::findEndpointByName($endpointName);
+        if (null == $endpoint) {
+            self::addEndpoint_($endpointName, $regionId, $product, $domain);
+        } else {
+            self::updateEndpoint($regionId, $product, $domain, $endpoint);
+        }
+
+        LocationService::addEndPoint($regionId, $product, $domain);
+    }
+
+    /**
+     * @param $endpointName
+     *
+     * @return mixed
+     */
+    public static function findEndpointByName($endpointName)
+    {
+        if (self::$endpoints === null) {
+            return null;
+        }
+
+        foreach (self::$endpoints as $key => $endpoint) {
+            if ($endpoint->getName() == $endpointName) {
+                return $endpoint;
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * @param $endpointName
+     * @param $regionId
+     * @param $product
+     * @param $domain
+     */
+    private static function addEndpoint_($endpointName, $regionId, $product, $domain)
+    {
+        $regionIds         = [$regionId];
+        $productsDomains   = [new ProductDomain($product, $domain)];
+        $endpoint          = new Endpoint($endpointName, $regionIds, $productsDomains);
+        self::$endpoints[] = $endpoint;
+    }
+
+    /**
+     * @param string   $regionId
+     * @param string   $product
+     * @param string   $domain
+     * @param Endpoint $endpoint
+     */
+    private static function updateEndpoint($regionId, $product, $domain, $endpoint)
+    {
+        $regionIds = $endpoint->getRegionIds();
+        if (!in_array($regionId, $regionIds)) {
+            $regionIds[] = $regionId;
+            $endpoint->setRegionIds($regionIds);
+        }
+
+        $productDomains = $endpoint->getProductDomains();
+        if (null == self::findProductDomainAndUpdate($productDomains, $product, $domain)) {
+            $productDomains[] = new ProductDomain($product, $domain);
+        }
+
+        $endpoint->setProductDomains($productDomains);
+    }
+
+    /**
+     * @param $productDomains
+     * @param $product
+     * @param $domain
+     *
+     * @return string|null
+     */
+    private static function findProductDomainAndUpdate($productDomains, $product, $domain)
+    {
+        foreach ($productDomains as $key => $productDomain) {
+            if ($productDomain->getProductName() == $product) {
+                $productDomain->setDomainName($domain);
+                return $productDomain;
+            }
+        }
+        return null;
+    }
+}

+ 39 - 0
vendor/aliyun/aliyun-php-sdk-core/Profile/IClientProfile.php

@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Interface IClientProfile
+ */
+interface IClientProfile
+{
+    public function getSigner();
+
+    public function getRegionId();
+
+    public function getFormat();
+
+    public function getCredential();
+
+    public function isRamRoleArn();
+
+    public function isEcsRamRole();
+}

+ 102 - 0
vendor/aliyun/aliyun-php-sdk-core/Regions/Endpoint.php

@@ -0,0 +1,102 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class Endpoint
+ */
+class Endpoint
+{
+    /**
+     * @var string
+     */
+    private $name;
+    /**
+     * @var string
+     */
+    private $regionIds;
+    /**
+     * @var string
+     */
+    private $productDomains;
+
+    /**
+     * Endpoint constructor.
+     *
+     * @param $name
+     * @param $regionIds
+     * @param $productDomains
+     */
+    public function __construct($name, $regionIds, $productDomains)
+    {
+        $this->name           = $name;
+        $this->regionIds      = $regionIds;
+        $this->productDomains = $productDomains;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param $name
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRegionIds()
+    {
+        return $this->regionIds;
+    }
+
+    /**
+     * @param $regionIds
+     */
+    public function setRegionIds($regionIds)
+    {
+        $this->regionIds = $regionIds;
+    }
+
+    /**
+     * @return string
+     */
+    public function getProductDomains()
+    {
+        return $this->productDomains;
+    }
+
+    /**
+     * @param $productDomains
+     */
+    public function setProductDomains($productDomains)
+    {
+        $this->productDomains = $productDomains;
+    }
+}

+ 65 - 0
vendor/aliyun/aliyun-php-sdk-core/Regions/EndpointConfig.php

@@ -0,0 +1,65 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+$endpoint_filename = __DIR__ . DIRECTORY_SEPARATOR . 'endpoints.xml';
+$xml               = simplexml_load_string(file_get_contents($endpoint_filename));
+$json              = json_encode($xml);
+$json_array        = json_decode($json, true);
+
+$endpoints = array();
+
+foreach ($json_array['Endpoint'] as $json_endpoint) {
+    # pre-process RegionId & Product
+    if (!array_key_exists('RegionId', $json_endpoint['RegionIds'])) {
+        $region_ids = array();
+    } else {
+        $json_region_ids = $json_endpoint['RegionIds']['RegionId'];
+        if (!is_array($json_region_ids)) {
+            $region_ids = array($json_region_ids);
+        } else {
+            $region_ids = $json_region_ids;
+        }
+    }
+
+    if (!array_key_exists('Product', $json_endpoint['Products'])) {
+        $products = array();
+    } else {
+        $json_products = $json_endpoint['Products']['Product'];
+
+        if (array() === $json_products || !is_array($json_products)) {
+            $products = array();
+        } elseif (array_keys($json_products) !== range(0, count($json_products) - 1)) {
+            # array is not sequential
+            $products = array($json_products);
+        } else {
+            $products = $json_products;
+        }
+    }
+
+    $product_domains = array();
+    foreach ($products as $product) {
+        $product_domain    = new ProductDomain($product['ProductName'], $product['DomainName']);
+        $product_domains[] = $product_domain;
+    }
+
+    $endpoint    = new Endpoint($region_ids[0], $region_ids, $product_domains);
+    $endpoints[] = $endpoint;
+}
+
+EndpointProvider::setEndpoints($endpoints);

+ 86 - 0
vendor/aliyun/aliyun-php-sdk-core/Regions/EndpointProvider.php

@@ -0,0 +1,86 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class EndpointProvider
+ */
+class EndpointProvider
+{
+    /**
+     * @var array
+     */
+    private static $endpoints;
+
+    /**
+     * @param $regionId
+     * @param $product
+     *
+     * @return null
+     */
+    public static function findProductDomain($regionId, $product)
+    {
+        if (null == $regionId || null == $product || null == self::$endpoints) {
+            return null;
+        }
+        foreach (self::$endpoints as $key => $endpoint) {
+            if (in_array($regionId, $endpoint->getRegionIds())) {
+                return self::findProductDomainByProduct($endpoint->getProductDomains(), $product);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * @param $productDomains
+     * @param $product
+     *
+     * @return null
+     */
+    private static function findProductDomainByProduct($productDomains, $product)
+    {
+        if (null == $productDomains) {
+            return null;
+        }
+        foreach ($productDomains as $key => $productDomain) {
+            if ($product == $productDomain->getProductName()) {
+                return $productDomain->getDomainName();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * @return array
+     */
+    public static function getEndpoints()
+    {
+        return self::$endpoints;
+    }
+
+    /**
+     * @param $endpoints
+     */
+    public static function setEndpoints($endpoints)
+    {
+        self::$endpoints = $endpoints;
+    }
+}

+ 198 - 0
vendor/aliyun/aliyun-php-sdk-core/Regions/LocationService.php

@@ -0,0 +1,198 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ */
+define('LOCATION_SERVICE_PRODUCT_NAME', 'Location');
+/**
+ *
+ */
+define('LOCATION_SERVICE_DOMAIN', 'location.aliyuncs.com');
+/**
+ *
+ */
+define('LOCATION_SERVICE_VERSION', '2015-06-12');
+/**
+ *
+ */
+define('LOCATION_SERVICE_DESCRIBE_ENDPOINT_ACTION', 'DescribeEndpoints');
+/**
+ *
+ */
+define('LOCATION_SERVICE_REGION', 'cn-hangzhou');
+/**
+ *
+ */
+define('CACHE_EXPIRE_TIME', 3600);
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class DescribeEndpointRequest
+ */
+class DescribeEndpointRequest extends RpcAcsRequest
+{
+    /**
+     * DescribeEndpointRequest constructor.
+     *
+     * @param $id
+     * @param $serviceCode
+     * @param $endPointType
+     */
+    public function __construct($id, $serviceCode, $endPointType)
+    {
+        parent::__construct(LOCATION_SERVICE_PRODUCT_NAME,
+                            LOCATION_SERVICE_VERSION,
+                            LOCATION_SERVICE_DESCRIBE_ENDPOINT_ACTION);
+
+        $this->queryParameters['Id']          = $id;
+        $this->queryParameters['ServiceCode'] = $serviceCode;
+        $this->queryParameters['Type']        = $endPointType;
+        $this->setRegionId(LOCATION_SERVICE_REGION);
+
+        $this->setAcceptFormat('JSON');
+    }
+}
+
+class LocationService
+{
+    /**
+     * @var IClientProfile
+     */
+    private $clientProfile;
+    /**
+     * @var array
+     */
+    public static $cache = array();
+    /**
+     * @var array
+     */
+    public static $lastClearTimePerProduct = array();
+    /**
+     * @var string
+     */
+    public static $serviceDomain = LOCATION_SERVICE_DOMAIN;
+
+    /**
+     * LocationService constructor.
+     *
+     * @param $clientProfile
+     */
+    public function __construct($clientProfile)
+    {
+        $this->clientProfile = $clientProfile;
+    }
+
+    /**
+     * @param $regionId
+     * @param $serviceCode
+     * @param $endPointType
+     * @param $product
+     *
+     * @return mixed|null
+     * @throws ClientException
+     */
+    public function findProductDomain($regionId, $serviceCode, $endPointType, $product)
+    {
+        $key    = $regionId . '#' . $product;
+        $domain = isset(self::$cache[$key]) ? self::$cache[$key] : null;
+        if ($domain === null || $this->checkCacheIsExpire($key) == true) {
+            $domain            = $this->findProductDomainFromLocationService($regionId, $serviceCode, $endPointType);
+            self::$cache[$key] = $domain;
+        }
+
+        return $domain;
+    }
+
+    /**
+     * @param $regionId
+     * @param $product
+     * @param $domain
+     */
+    public static function addEndPoint($regionId, $product, $domain)
+    {
+        $key                                 = $regionId . '#' . $product;
+        self::$cache[$key]                   = $domain;
+        $lastClearTime                       = mktime(0, 0, 0, 1, 1, 2999);
+        self::$lastClearTimePerProduct[$key] = $lastClearTime;
+    }
+
+    /**
+     * @param $domain
+     */
+    public static function modifyServiceDomain($domain)
+    {
+        self::$serviceDomain = $domain;
+    }
+
+    /**
+     * @param $key
+     *
+     * @return bool
+     */
+    private function checkCacheIsExpire($key)
+    {
+        $lastClearTime = isset(self::$lastClearTimePerProduct[$key])
+            ? self::$lastClearTimePerProduct[$key]
+            : null;
+        if ($lastClearTime === null) {
+            $lastClearTime                       = time();
+            self::$lastClearTimePerProduct[$key] = $lastClearTime;
+        }
+
+        $now         = time();
+        $elapsedTime = $now - $lastClearTime;
+
+        if ($elapsedTime > CACHE_EXPIRE_TIME) {
+            $lastClearTime                       = time();
+            self::$lastClearTimePerProduct[$key] = $lastClearTime;
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * @param $regionId
+     * @param $serviceCode
+     * @param $endPointType
+     *
+     * @return string|null
+     * @throws ClientException
+     */
+    private function findProductDomainFromLocationService($regionId, $serviceCode, $endPointType)
+    {
+        $request = new DescribeEndpointRequest($regionId, $serviceCode, $endPointType);
+
+        $signer     = $this->clientProfile->getSigner();
+        $credential = $this->clientProfile->getCredential();
+
+        $requestUrl = $request->composeUrl($signer, $credential, self::$serviceDomain);
+
+        $httpResponse = HttpHelper::curl($requestUrl, $request->getMethod(), null, $request->getHeaders());
+
+        if (!$httpResponse->isSuccess()) {
+            return null;
+        }
+
+        $respObj = json_decode($httpResponse->getBody());
+        return $respObj->Endpoints->Endpoint[0]->Endpoint;
+    }
+}

+ 80 - 0
vendor/aliyun/aliyun-php-sdk-core/Regions/ProductDomain.php

@@ -0,0 +1,80 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class ProductDomain
+ */
+class ProductDomain
+{
+    /**
+     * @var string
+     */
+    private $productName;
+    /**
+     * @var string
+     */
+    private $domainName;
+
+    /**
+     * ProductDomain constructor.
+     *
+     * @param string $product
+     * @param string $domain
+     */
+    public function __construct($product, $domain)
+    {
+        $this->productName = $product;
+        $this->domainName  = $domain;
+    }
+
+    /**
+     * @return string
+     */
+    public function getProductName()
+    {
+        return $this->productName;
+    }
+
+    /**
+     * @param $productName
+     */
+    public function setProductName($productName)
+    {
+        $this->productName = $productName;
+    }
+
+    /**
+     * @return string
+     */
+    public function getDomainName()
+    {
+        return $this->domainName;
+    }
+
+    /**
+     * @param $domainName
+     */
+    public function setDomainName($domainName)
+    {
+        $this->domainName = $domainName;
+    }
+}

+ 4806 - 0
vendor/aliyun/aliyun-php-sdk-core/Regions/endpoints.xml

@@ -0,0 +1,4806 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Endpoints>
+    <Endpoint name="jp-fudao-1">
+        <RegionIds>
+            <RegionId>jp-fudao-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="me-east-1">
+        <RegionIds>
+            <RegionId>me-east-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.me-east-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs.me-east-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.me-east-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.me-east-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.me-east-1.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="us-east-1">
+        <RegionIds>
+            <RegionId>us-east-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.us-east-1.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="ap-northeast-1">
+        <RegionIds>
+            <RegionId>ap-northeast-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kvstore</ProductName>
+                <DomainName>r-kvstore.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.ap-northeast-1.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-hangzhou-bj-b01">
+        <RegionIds>
+            <RegionId>cn-hangzhou-bj-b01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-hongkong">
+        <RegionIds>
+            <RegionId>cn-hongkong</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.cn-hongkong.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CloudAPI</ProductName>
+                <DomainName>apigateway.cn-hongkong.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-hongkong.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hongkong.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-beijing-nu16-b01">
+        <RegionIds>
+            <RegionId>cn-beijing-nu16-b01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-beijing-am13-c01">
+        <RegionIds>
+            <RegionId>cn-beijing-am13-c01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="in-west-antgroup-1">
+        <RegionIds>
+            <RegionId>in-west-antgroup-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-guizhou-gov">
+        <RegionIds>
+            <RegionId>cn-guizhou-gov</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="in-west-antgroup-2">
+        <RegionIds>
+            <RegionId>in-west-antgroup-2</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-qingdao-cm9">
+        <RegionIds>
+            <RegionId>cn-qingdao-cm9</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="tw-snowcloud-kaohsiung">
+        <RegionIds>
+            <RegionId>tw-snowcloud-kaohsiung</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shanghai-finance-1">
+        <RegionIds>
+            <RegionId>cn-shanghai-finance-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.cn-shanghai-finance-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-guizhou">
+        <RegionIds>
+            <RegionId>cn-guizhou</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-qingdao-finance">
+        <RegionIds>
+            <RegionId>cn-qingdao-finance</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-qdjbp-a.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-beijing-gov-1">
+        <RegionIds>
+            <RegionId>cn-beijing-gov-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-haidian-a.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shanghai">
+        <RegionIds>
+            <RegionId>cn-shanghai</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CCC</ProductName>
+                <DomainName>ccc.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>saf</ProductName>
+                <DomainName>saf.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ARMS</ProductName>
+                <DomainName>arms.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Apigateway</ProductName>
+                <DomainName>apigateway.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CloudAPI</ProductName>
+                <DomainName>apigateway.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>vod</ProductName>
+                <DomainName>vod.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shenzhen-inner">
+        <RegionIds>
+            <RegionId>cn-shenzhen-inner</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-fujian">
+        <RegionIds>
+            <RegionId>cn-fujian</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="in-mumbai-alipay">
+        <RegionIds>
+            <RegionId>in-mumbai-alipay</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="us-west-1">
+        <RegionIds>
+            <RegionId>us-west-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.us-west-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.us-west-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-us-west-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shanghai-inner">
+        <RegionIds>
+            <RegionId>cn-shanghai-inner</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-shanghai.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-anhui-gov-1">
+        <RegionIds>
+            <RegionId>cn-anhui-gov-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-hangzhou-finance">
+        <RegionIds>
+            <RegionId>cn-hangzhou-finance</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hzjbp-b-console.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-hangzhou">
+        <RegionIds>
+            <RegionId>cn-hangzhou</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>afs</ProductName>
+                <DomainName>afs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ARMS</ProductName>
+                <DomainName>arms.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Hpc</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Apigateway</ProductName>
+                <DomainName>apigateway.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CloudAPI</ProductName>
+                <DomainName>apigateway.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oas</ProductName>
+                <DomainName>cn-hangzhou.oas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dyvmsapi</ProductName>
+                <DomainName>dyvmsapi.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dysmsapi</ProductName>
+                <DomainName>dysmsapi.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dycdpapi</ProductName>
+                <DomainName>dycdpapi.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dyiotapi</ProductName>
+                <DomainName>dyiotapi.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dyplsapi</ProductName>
+                <DomainName>dyplsapi.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dypnsapi</ProductName>
+                <DomainName>dypnsapi.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Snsuapi</ProductName>
+                <DomainName>snsuapi.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-beijing-inner">
+        <RegionIds>
+            <RegionId>cn-beijing-inner</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-haidian-cm12-c01">
+        <RegionIds>
+            <RegionId>cn-haidian-cm12-c01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-anhui-gov">
+        <RegionIds>
+            <RegionId>cn-anhui-gov</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shenzhen">
+        <RegionIds>
+            <RegionId>cn-shenzhen</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>ARMS</ProductName>
+                <DomainName>arms.cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchcompute.cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Apigateway</ProductName>
+                <DomainName>apigateway.cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CloudAPI</ProductName>
+                <DomainName>apigateway.cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oas</ProductName>
+                <DomainName>cn-shenzhen.oas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-shenzhen.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="ap-southeast-2">
+        <RegionIds>
+            <RegionId>ap-southeast-2</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.ap-southeast-2.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.ap-southeast-2.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.ap-southeast-2.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs.ap-southeast-2.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.ap-southeast-2.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-qingdao">
+        <RegionIds>
+            <RegionId>cn-qingdao</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchcompute.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Apigateway</ProductName>
+                <DomainName>apigateway.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CloudAPI</ProductName>
+                <DomainName>apigateway.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-qingdao.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shenzhen-su18-b02">
+        <RegionIds>
+            <RegionId>cn-shenzhen-su18-b02</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shenzhen-su18-b03">
+        <RegionIds>
+            <RegionId>cn-shenzhen-su18-b03</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shenzhen-su18-b01">
+        <RegionIds>
+            <RegionId>cn-shenzhen-su18-b01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="ap-southeast-antgroup-1">
+        <RegionIds>
+            <RegionId>ap-southeast-antgroup-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="oss-cn-bjzwy">
+        <RegionIds>
+            <RegionId>oss-cn-bjzwy</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-bjzwy.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-henan-am12001">
+        <RegionIds>
+            <RegionId>cn-henan-am12001</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-beijing">
+        <RegionIds>
+            <RegionId>cn-beijing</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>ARMS</ProductName>
+                <DomainName>arms.cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oas</ProductName>
+                <DomainName>cn-beijing.oas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Hpc</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Apigateway</ProductName>
+                <DomainName>apigateway.cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CloudAPI</ProductName>
+                <DomainName>apigateway.cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>vod</ProductName>
+                <DomainName>vod.cn-beijing.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-hangzhou-d">
+        <RegionIds>
+            <RegionId>cn-hangzhou-d</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-gansu-am6">
+        <RegionIds>
+            <RegionId>cn-gansu-am6</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-ningxiazhongwei">
+        <RegionIds>
+            <RegionId>cn-ningxiazhongwei</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shanghai-et2-b01">
+        <RegionIds>
+            <RegionId>cn-shanghai-et2-b01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace-ops</ProductName>
+                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Acs</ProductName>
+                <DomainName>acs.aliyun-inc.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc-inner</ProductName>
+                <DomainName>vpc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-ningxia-am7-c01">
+        <RegionIds>
+            <RegionId>cn-ningxia-am7-c01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shenzhen-finance-1">
+        <RegionIds>
+            <RegionId>cn-shenzhen-finance-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.cn-shenzhen-finance-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="ap-southeast-1">
+        <RegionIds>
+            <RegionId>ap-southeast-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>CS</ProductName>
+                <DomainName>cs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Risk</ProductName>
+                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>COS</ProductName>
+                <DomainName>cos.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ess</ProductName>
+                <DomainName>ess.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Billing</ProductName>
+                <DomainName>billing.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dqs</ProductName>
+                <DomainName>dqs.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dds</ProductName>
+                <DomainName>mongodb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alidns</ProductName>
+                <DomainName>alidns.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sms</ProductName>
+                <DomainName>sms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drds</ProductName>
+                <DomainName>drds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dts</ProductName>
+                <DomainName>dts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.ap-southeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location</ProductName>
+                <DomainName>location.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msg</ProductName>
+                <DomainName>msg-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ChargingService</ProductName>
+                <DomainName>chargingservice.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>R-kvstore</ProductName>
+                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Alert</ProductName>
+                <DomainName>alert.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Msc</ProductName>
+                <DomainName>msc-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HighDDos</ProductName>
+                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundun</ProductName>
+                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms-inner</ProductName>
+                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ocs</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dm</ProductName>
+                <DomainName>dm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Green</ProductName>
+                <DomainName>green.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Commondriver</ProductName>
+                <DomainName>common.driver.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>oceanbase</ProductName>
+                <DomainName>oceanbase.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Workorder</ProductName>
+                <DomainName>workorder.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Yundunhsm</ProductName>
+                <DomainName>yundunhsm.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.ap-southeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>HPC</ProductName>
+                <DomainName>hpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>jaq</ProductName>
+                <DomainName>jaq.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oms</ProductName>
+                <DomainName>oms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>live</ProductName>
+                <DomainName>live.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>M-kvstore</ProductName>
+                <DomainName>m-kvstore.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>BatchCompute</ProductName>
+                <DomainName>batchCompute.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>AMS</ProductName>
+                <DomainName>ams.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>ROS</ProductName>
+                <DomainName>ros.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>PTS</ProductName>
+                <DomainName>pts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Qualitycheck</ProductName>
+                <DomainName>qualitycheck.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Bss</ProductName>
+                <DomainName>bss.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ubsms</ProductName>
+                <DomainName>ubsms.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Apigateway</ProductName>
+                <DomainName>apigateway.ap-southeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CloudAPI</ProductName>
+                <DomainName>apigateway.ap-southeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sts</ProductName>
+                <DomainName>sts.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CmsSiteMonitor</ProductName>
+                <DomainName>sitemonitor.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ace</ProductName>
+                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Mts</ProductName>
+                <DomainName>mts.ap-southeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>CF</ProductName>
+                <DomainName>cf.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Crm</ProductName>
+                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Location-inner</ProductName>
+                <DomainName>location-inner.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Aas</ProductName>
+                <DomainName>aas.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Emr</ProductName>
+                <DomainName>emr.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Httpdns</ProductName>
+                <DomainName>httpdns-api.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Drc</ProductName>
+                <DomainName>drc.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Push</ProductName>
+                <DomainName>cloudpush.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>YundunDdos</ProductName>
+                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Domain</ProductName>
+                <DomainName>domain.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ots</ProductName>
+                <DomainName>ots-pop.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cdn</ProductName>
+                <DomainName>cdn.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ram</ProductName>
+                <DomainName>ram.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Sales</ProductName>
+                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>OssAdmin</ProductName>
+                <DomainName>oss-admin.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ons</ProductName>
+                <DomainName>ons.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Oss</ProductName>
+                <DomainName>oss-ap-southeast-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Dysmsapi</ProductName>
+                <DomainName>dysmsapi.ap-southeast-1.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-shenzhen-st4-d01">
+        <RegionIds>
+            <RegionId>cn-shenzhen-st4-d01</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="eu-central-1">
+        <RegionIds>
+            <RegionId>eu-central-1</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.eu-central-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs.eu-central-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.eu-central-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Kms</ProductName>
+                <DomainName>kms.eu-central-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.eu-central-1.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Iot</ProductName>
+                <DomainName>iot.eu-central-1.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+    <Endpoint name="cn-zhangjiakou">
+        <RegionIds>
+            <RegionId>cn-zhangjiakou</RegionId>
+        </RegionIds>
+        <Products>
+            <Product>
+                <ProductName>Rds</ProductName>
+                <DomainName>rds.cn-zhangjiakou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Ecs</ProductName>
+                <DomainName>ecs.cn-zhangjiakou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Vpc</ProductName>
+                <DomainName>vpc.cn-zhangjiakou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Cms</ProductName>
+                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
+            </Product>
+            <Product>
+                <ProductName>Slb</ProductName>
+                <DomainName>slb.cn-zhangjiakou.aliyuncs.com</DomainName>
+            </Product>
+        </Products>
+    </Endpoint>
+</Endpoints>

+ 319 - 0
vendor/aliyun/aliyun-php-sdk-core/RoaAcsRequest.php

@@ -0,0 +1,319 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class RoaAcsRequest
+ */
+abstract class RoaAcsRequest extends AcsRequest
+{
+    /**
+     * @var string
+     */
+    protected $uriPattern;
+    /**
+     * @var array
+     */
+    protected $pathParameters = array();
+    /**
+     * @var array
+     */
+    private $domainParameters = array();
+    /**
+     * @var string
+     */
+    private $dateTimeFormat = "D, d M Y H:i:s \G\M\T";
+    /**
+     * @var string
+     */
+    private static $headerSeparator = "\n";
+    /**
+     * @var string
+     */
+    private static $querySeparator = '&';
+    /**
+     * @var string
+     */
+    protected $method = 'RAW';
+    /**
+     * @var string
+     */
+    protected $acceptFormat = 'JSON';
+
+    /**
+     * @param $iSigner
+     * @param $credential
+     * @param $domain
+     *
+     * @return mixed|string
+     */
+    public function composeUrl($iSigner, $credential, $domain)
+    {
+        $this->headers['x-acs-version'] = &$this->version;
+
+        $this->prepareHeader($iSigner, $credential);
+
+        $signString = $this->getMethod() . self::$headerSeparator;
+        if (isset($this->headers['Accept'])) {
+            $signString .= $this->headers['Accept'];
+        }
+        $signString .= self::$headerSeparator;
+
+        if (isset($this->headers['Content-MD5'])) {
+            $signString .= $this->headers['Content-MD5'];
+        }
+        $signString .= self::$headerSeparator;
+
+        if (isset($this->headers['Content-Type'])) {
+            $signString .= $this->headers['Content-Type'];
+        }
+        $signString .= self::$headerSeparator;
+
+        if (isset($this->headers['Date'])) {
+            $signString .= $this->headers['Date'];
+        }
+        $signString .= self::$headerSeparator;
+
+        $uri         = $this->replaceOccupiedParameters();
+        $signString  .= $this->buildCanonicalHeaders();
+        $queryString = $this->buildQueryString($uri);
+        if (substr($queryString, -1) === '?') {
+            $queryString = substr($queryString, 0, -1);
+        }
+        $signString                     .= $queryString;
+        $this->stringToBeSigned         = $signString;
+        $this->headers['Authorization'] = 'acs ' . $credential->getAccessKeyId() . ':'
+                                          . $iSigner->signString($signString, $credential->getAccessSecret());
+        $requestUrl                     = $this->getProtocol() . '://' . $domain . $queryString;
+        return $requestUrl;
+    }
+
+    /**
+     * @return string
+     */
+    private function concatQueryString()
+    {
+        $sortMap = $this->queryParameters;
+        if (null == $sortMap || count($sortMap) == 0) {
+            return '';
+        }
+        $queryString = '';
+        ksort($sortMap);
+        foreach ($sortMap as $sortMapKey => $sortMapValue) {
+            $queryString .= $sortMapKey;
+            if (isset($sortMapValue)) {
+                $queryString = $queryString . '=' . urlencode($sortMapValue);
+            }
+            $queryString .= self::$querySeparator;
+        }
+
+        if (count($sortMap) > 0) {
+            $queryString = substr($queryString, 0, -1);
+        }
+        return '?' . $queryString;
+    }
+
+    /**
+     * @param $iSigner
+     * @param $credential
+     */
+    private function prepareHeader($iSigner, $credential)
+    {
+        $this->headers['Date'] = gmdate($this->dateTimeFormat);
+        if (null == $this->acceptFormat) {
+            $this->acceptFormat = 'RAW';
+        }
+        $this->headers['Accept']                  = $this->formatToAccept($this->getAcceptFormat());
+        $this->headers['x-acs-signature-method']  = $iSigner->getSignatureMethod();
+        $this->headers['x-acs-signature-version'] = $iSigner->getSignatureVersion();
+        if ($iSigner->getSignatureType() != null) {
+            $this->headers['x-acs-signature-type'] = $iSigner->getSignatureType();
+        }
+        $this->headers['x-acs-region-id'] = $this->regionId;
+        $content                          = $this->getDomainParameter();
+        if ($content != null) {
+            $this->headers['Content-MD5'] = base64_encode(md5(json_encode($content), true));
+        }
+        if ($this->acceptFormat === 'JSON') {
+            $this->headers['Content-Type'] = 'application/json;charset=utf-8';
+        } else {
+            $this->headers['Content-Type'] = 'application/octet-stream;charset=utf-8';
+        }
+        if ($credential->getSecurityToken() != null) {
+            $this->headers['x-acs-security-token'] = $credential->getSecurityToken();
+        }
+        if ($credential instanceof BearerTokenCredential) {
+            $this->headers['x-acs-bearer-token'] = $credential->getBearerToken();
+        }
+    }
+
+    /**
+     * @return mixed|string
+     */
+    private function replaceOccupiedParameters()
+    {
+        $result = $this->uriPattern;
+        foreach ($this->pathParameters as $pathParameterKey => $apiParameterValue) {
+            $target = '[' . $pathParameterKey . ']';
+            $result = str_replace($target, $apiParameterValue, $result);
+        }
+        return $result;
+    }
+
+    /**
+     * @return string
+     */
+    private function buildCanonicalHeaders()
+    {
+        $sortMap = array();
+        foreach ($this->headers as $headerKey => $headerValue) {
+            $key = strtolower($headerKey);
+            if (strpos($key, 'x-acs-') === 0) {
+                $sortMap[$key] = $headerValue;
+            }
+        }
+        ksort($sortMap);
+        $headerString = '';
+        foreach ($sortMap as $sortMapKey => $sortMapValue) {
+            $headerString = $headerString . $sortMapKey . ':' . $sortMapValue . self::$headerSeparator;
+        }
+        return $headerString;
+    }
+
+    /**
+     * @param $uri
+     *
+     * @return array
+     */
+    private function splitSubResource($uri)
+    {
+        $queIndex = strpos($uri, '?');
+        $uriParts = array();
+        if (null != $queIndex) {
+            $uriParts[] = substr($uri, 0, $queIndex);
+            $uriParts[] = substr($uri, $queIndex + 1);
+        } else {
+            $uriParts[] = $uri;
+        }
+        return $uriParts;
+    }
+
+    /**
+     * @param $uri
+     *
+     * @return bool|mixed|string
+     */
+    private function buildQueryString($uri)
+    {
+        $uriParts = $this->splitSubResource($uri);
+        $sortMap  = $this->queryParameters;
+        if (isset($uriParts[1])) {
+            $sortMap[$uriParts[1]] = null;
+        }
+        $queryString = $uriParts[0];
+        if (count($uriParts)) {
+            $queryString .= '?';
+        }
+        ksort($sortMap);
+        foreach ($sortMap as $sortMapKey => $sortMapValue) {
+            $queryString .= $sortMapKey;
+            if (isset($sortMapValue)) {
+                $queryString = $queryString . '=' . $sortMapValue;
+            }
+            $queryString .= self::$querySeparator;
+        }
+        if (0 < count($sortMap)) {
+            $queryString = substr($queryString, 0, -1);
+        }
+        return $queryString;
+    }
+
+    /**
+     * @param $acceptFormat
+     *
+     * @return string
+     */
+    private function formatToAccept($acceptFormat)
+    {
+        if ($acceptFormat === 'JSON') {
+            return 'application/json';
+        }
+
+        if ($acceptFormat === 'XML') {
+            return 'application/xml';
+        }
+
+        return 'application/octet-stream';
+    }
+
+    /**
+     * @return array
+     */
+    public function getPathParameters()
+    {
+        return $this->pathParameters;
+    }
+
+    /**
+     * @param $name
+     * @param $value
+     */
+    public function putPathParameter($name, $value)
+    {
+        $this->pathParameters[$name] = $value;
+    }
+
+    /**
+     * @return array
+     */
+    public function getDomainParameter()
+    {
+        return $this->domainParameters;
+    }
+
+    /**
+     * @param $name
+     * @param $value
+     */
+    public function putDomainParameters($name, $value)
+    {
+        $this->domainParameters[$name] = $value;
+    }
+
+    /**
+     * @return string
+     */
+    public function getUriPattern()
+    {
+        return $this->uriPattern;
+    }
+
+    /**
+     * @param $uriPattern
+     *
+     * @return mixed
+     */
+    public function setUriPattern($uriPattern)
+    {
+        return $this->uriPattern = $uriPattern;
+    }
+
+}

+ 159 - 0
vendor/aliyun/aliyun-php-sdk-core/RpcAcsRequest.php

@@ -0,0 +1,159 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @deprecated See: https://github.com/aliyun/openapi-sdk-php
+ * Class RpcAcsRequest
+ */
+abstract class RpcAcsRequest extends AcsRequest
+{
+    /**
+     * @var string
+     */
+    private $dateTimeFormat = 'Y-m-d\TH:i:s\Z';
+    /**
+     * @var array
+     */
+    private $domainParameters = array();
+    /**
+     * @var string
+     */
+    protected $method = 'GET';
+    /**
+     * @var string
+     */
+    protected $acceptFormat = 'JSON';
+
+    /**
+     * @param string|bool $value
+     *
+     * @return string
+     */
+    private function prepareValue($value)
+    {
+        if (is_bool($value)) {
+            if ($value) {
+                return 'true';
+            }
+
+            return 'false';
+        }
+
+        return $value;
+    }
+
+    /**
+     * @param $iSigner
+     * @param $credential
+     * @param $domain
+     *
+     * @return bool|mixed|string
+     */
+    public function composeUrl($iSigner, $credential, $domain)
+    {
+        $apiParams = parent::getQueryParameters();
+        foreach ($apiParams as $key => $value) {
+            $apiParams[$key] = $this->prepareValue($value);
+        }
+        $apiParams['RegionId']         = $this->getRegionId();
+        $apiParams['AccessKeyId']      = $credential->getAccessKeyId();
+        $apiParams['Format']           = $this->getAcceptFormat();
+        $apiParams['SignatureMethod']  = $iSigner->getSignatureMethod();
+        $apiParams['SignatureVersion'] = $iSigner->getSignatureVersion();
+        if ($iSigner->getSignatureType() != null) {
+            $apiParams['SignatureType'] = $iSigner->getSignatureType();
+        }
+        $apiParams['SignatureNonce'] = md5(uniqid(mt_rand(), true));
+        $apiParams['Timestamp']      = gmdate($this->dateTimeFormat);
+        $apiParams['Action']         = $this->getActionName();
+        $apiParams['Version']        = $this->getVersion();
+        if ($credential->getSecurityToken() != null) {
+            $apiParams['SecurityToken'] = $credential->getSecurityToken();
+        }
+        if ($credential instanceof BearerTokenCredential) {
+            $apiParams['BearerToken'] = $credential->getBearerToken();
+        }
+        $apiParams['Signature'] = $this->computeSignature($apiParams, $credential->getAccessSecret(), $iSigner);
+        if (parent::getMethod() === 'POST') {
+            $requestUrl = $this->getProtocol() . '://' . $domain . '/';
+            foreach ($apiParams as $apiParamKey => $apiParamValue) {
+                $this->putDomainParameters($apiParamKey, $apiParamValue);
+            }
+            return $requestUrl;
+        }
+
+        $requestUrl = $this->getProtocol() . '://' . $domain . '/?';
+
+        foreach ($apiParams as $apiParamKey => $apiParamValue) {
+            $requestUrl .= "$apiParamKey=" . urlencode($apiParamValue) . '&';
+        }
+        return substr($requestUrl, 0, -1);
+    }
+
+    /**
+     * @param $parameters
+     * @param $accessKeySecret
+     * @param $iSigner
+     *
+     * @return mixed
+     */
+    private function computeSignature($parameters, $accessKeySecret, $iSigner)
+    {
+        ksort($parameters);
+        $canonicalizedQueryString = '';
+        foreach ($parameters as $key => $value) {
+            $canonicalizedQueryString .= '&' . $this->percentEncode($key) . '=' . $this->percentEncode($value);
+        }
+        $this->stringToBeSigned =
+            parent::getMethod() . '&%2F&' . $this->percentEncode(substr($canonicalizedQueryString, 1));
+        return $iSigner->signString($this->stringToBeSigned, $accessKeySecret . '&');
+    }
+
+    /**
+     * @param $str
+     *
+     * @return string|string[]|null
+     */
+    protected function percentEncode($str)
+    {
+        $res = urlencode($str);
+        $res = str_replace(array('+', '*'), array('%20', '%2A'), $res);
+        $res = preg_replace('/%7E/', '~', $res);
+        return $res;
+    }
+
+    /**
+     * @return array
+     */
+    public function getDomainParameter()
+    {
+        return $this->domainParameters;
+    }
+
+    /**
+     * @param $name
+     * @param $value
+     */
+    public function putDomainParameters($name, $value)
+    {
+        $this->domainParameters[$name] = $value;
+    }
+}

+ 36 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Auth/CredentialTest.php

@@ -0,0 +1,36 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once '../../Config.php';
+
+class CredentialTest extends PHPUnit_Framework_TestCase
+{
+    public function testCredential()
+    {
+        $credential = new Credential("accessKeyId", "accessSecret");
+        $this->assertEquals("accessKeyId", $credential->getAccessKeyId());
+        $this->assertEquals("accessSecret", $credential->getAccessSecret());
+        $this->assertNotNull($credential->getRefreshDate());
+
+        $dateNow = date("Y-m-d\TH:i:s\Z");
+        $credential->setExpiredDate(1);
+        $this->assertNotNull($credential->getExpiredDate());
+        $this->assertTrue($credential->getExpiredDate() > $dateNow);
+    }
+}

+ 30 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Auth/ShaHmac1SignerTest.php

@@ -0,0 +1,30 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once '../../Config.php';
+
+class ShaHmac1SignerTest extends PHPUnit_Framework_TestCase
+{
+    public function testShaHmac1Signer()
+    {
+        $signer = new ShaHmac1Signer();
+        $this->assertEquals("33nmIV5/p6kG/64eLXNljJ5vw84=",
+                            $signer->signString("this is a ShaHmac1 test.", "accessSecret"));
+    }
+}

+ 30 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Auth/ShaHmac256SignerTest.php

@@ -0,0 +1,30 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once '../../Config.php';
+
+class ShaHmac256SignerTest extends PHPUnit_Framework_TestCase
+{
+    public function testShaHmac256Signer()
+    {
+        $signer = new ShaHmac256Signer();
+        $this->assertEquals("TpF1lE/avV9EHGWGg9Vo/QTd2bLRwFCk9jjo56uRbCo=",
+                            $signer->signString("this is a ShaHmac256 test.", "accessSecret"));
+    }
+}

+ 49 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/BaseTest.php

@@ -0,0 +1,49 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class BaseTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     * @var null
+     */
+    public $client = null;
+
+    public function setUp()
+    {
+        $path = substr(__DIR__, 0, strripos(__DIR__, DIRECTORY_SEPARATOR)) . DIRECTORY_SEPARATOR;
+        include_once $path . 'Config.php';
+        include_once 'Ecs/Rquest/DescribeRegionsRequest.php';
+        include_once 'BatchCompute/ListImagesRequest.php';
+
+        $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "AccessKey", "AccessSecret");
+        $this->client   = new DefaultAcsClient($iClientProfile);
+    }
+
+    /**
+     * @param $propertyKey
+     */
+    public function getProperty($propertyKey)
+    {
+        $accessKey      = "";
+        $accessSecret   = "";
+        $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "AccessKey", "AccessSecret");
+    }
+}

+ 31 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/BatchCompute/ListImagesRequest.php

@@ -0,0 +1,31 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+namespace UnitTest\BatchCompute\Request;
+
+class ListImagesRequest extends \RoaAcsRequest
+{
+    public function __construct()
+    {
+        parent::__construct("BatchCompute", "2013-01-11", "ListImages");
+        $this->setUriPattern("/images");
+        $this->setMethod("GET");
+    }
+}

+ 43 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/DefaultAcsClientTest.php

@@ -0,0 +1,43 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once 'BaseTest.php';
+
+use UnitTest\BatchCompute\Request as BC;
+use UnitTest\Ecs\Request as Ecs;
+
+class DefaultAcsClientTest extends BaseTest
+{
+    public function testDoActionRPC()
+    {
+        $request  = new Ecs\DescribeRegionsRequest();
+        $response = $this->client->doAction($request);
+
+        $this->assertNotNull($response->RequestId);
+        $this->assertNotNull($response->Regions->Region[0]->LocalName);
+        $this->assertNotNull($response->Regions->Region[0]->RegionId);
+    }
+
+    public function testDoActionROA()
+    {
+        $request  = new BC\ListImagesRequest();
+        $response = $this->client->doAction($request);
+        $this->assertNotNull($response);
+    }
+}

+ 117 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ecs/Rquest/DescribeRegionsRequest.php

@@ -0,0 +1,117 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+namespace UnitTest\Ecs\Request;
+
+class DescribeRegionsRequest extends \RpcAcsRequest
+{
+    public function __construct()
+    {
+        parent::__construct("Ecs", "2014-05-26", "DescribeRegions");
+    }
+
+    /**
+     * @var
+     */
+    private $ownerId;
+
+    /**
+     * @var
+     */
+    private $resourceOwnerAccount;
+
+    /**
+     * @var
+     */
+    private $resourceOwnerId;
+
+    /**
+     * @var
+     */
+    private $ownerAccount;
+
+    /**
+     * @return mixed
+     */
+    public function getOwnerId()
+    {
+        return $this->ownerId;
+    }
+
+    /**
+     * @param $ownerId
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->ownerId                    = $ownerId;
+        $this->queryParameters["OwnerId"] = $ownerId;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getResourceOwnerAccount()
+    {
+        return $this->resourceOwnerAccount;
+    }
+
+    /**
+     * @param $resourceOwnerAccount
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->resourceOwnerAccount                    = $resourceOwnerAccount;
+        $this->queryParameters["ResourceOwnerAccount"] = $resourceOwnerAccount;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getResourceOwnerId()
+    {
+        return $this->resourceOwnerId;
+    }
+
+    /**
+     * @param $resourceOwnerId
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->resourceOwnerId                    = $resourceOwnerId;
+        $this->queryParameters["ResourceOwnerId"] = $resourceOwnerId;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getOwnerAccount()
+    {
+        return $this->ownerAccount;
+    }
+
+    /**
+     * @param $ownerAccount
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->ownerAccount                    = $ownerAccount;
+        $this->queryParameters["OwnerAccount"] = $ownerAccount;
+    }
+}

+ 107 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ft/InteTest.php

@@ -0,0 +1,107 @@
+<?php
+require_once '../../Config.php';
+
+use UnitTest\Ft\TestRoaApiRequest;
+use UnitTest\Ft\TestRpcApiRequest;
+
+$clientProfile = DefaultProfile::getProfile(
+    "cn-hangzhou",
+    "<your Ak>",
+    "<your Secret>",
+    "<your StsToken>"
+);
+
+DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", "Ft", "ft.aliyuncs.com");
+
+print_r("1.开始测试普通AK访问: ");
+echo "\n";
+$client = new DefaultAcsClient($clientProfile);
+# 创建 API 请求并设置参数
+$request = new TestRpcApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $client->getAcsResponse($request);
+print_r($response);
+
+# 创建 API 请求并设置参数
+$request = new TestRoaApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $client->getAcsResponse($request);
+print_r($response);
+
+//RoleArn
+echo "\n";
+print_r("2.开始测试RoleArn: ");
+echo "\n";
+$ramRoleArnProfile = DefaultProfile::getRamRoleArnProfile(
+    "cn-hangzhou",
+    "<your Ak>",
+    "<your Secret>",
+    "<your RoleArn>",
+    "<your RoleSessionName>"
+);
+
+$roleArnClient = new DefaultAcsClient($ramRoleArnProfile);
+
+# 创建 API 请求并设置参数
+$request = new TestRpcApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $roleArnClient->getAcsResponse($request);
+print_r($response);
+
+# 创建 API 请求并设置参数
+$request = new TestRoaApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $roleArnClient->getAcsResponse($request);
+print_r($response);
+
+echo "\n";
+print_r("3.开始测试EcsArn: ");
+echo "\n";
+$ecsRamRoleProfile = DefaultProfile::getEcsRamRoleProfile(
+    "cn-hangzhou",
+    "<your EcsRoleName>"
+);
+
+$ecsRamRoleClient = new DefaultAcsClient($ecsRamRoleProfile);
+
+# 创建 API 请求并设置参数
+$request = new TestRpcApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $ecsRamRoleClient->getAcsResponse($request);
+print_r($response);
+
+# 创建 API 请求并设置参数
+$request = new TestRoaApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $ecsRamRoleClient->getAcsResponse($request);
+print_r($response);
+
+echo "\n";
+print_r("4.开始测试BearerToken: ");
+echo "\n";
+$bearerTokenProfile = DefaultProfile::getBearerTokenProfile(
+    "cn-hangzhou",
+    "<Your Bearer Token>"
+);
+
+$bearerTokenClient = new DefaultAcsClient($bearerTokenProfile);
+
+# 创建 API 请求并设置参数
+$request = new TestRpcApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $bearerTokenClient->getAcsResponse($request);
+print_r($response);
+
+# 创建 API 请求并设置参数
+$request = new TestRoaApiRequest();
+$request->setQueryParam("test");
+# 发起请求并处理返回
+$response = $bearerTokenClient->getAcsResponse($request);
+print_r($response);

+ 85 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ft/TestRoaApiRequest.php

@@ -0,0 +1,85 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: zhangw
+ * Date: 2017/12/19
+ * Time: 下午6:39
+ */
+
+namespace UnitTest\Ft;
+
+class TestRoaApiRequest extends \RoaAcsRequest
+{
+    public function __construct()
+    {
+        parent::__construct("Ft", "2016-01-02", "TestRoaApi");
+        $this->setUriPattern("/web/cloudapi");
+        $this->setMethod("GET");
+    }
+
+    /**
+     * @var
+     */
+    private $queryParam;
+
+    /**
+     * @var
+     */
+    private $bodyParam;
+
+    /**
+     * @var
+     */
+    private $headerParam;
+
+    /**
+     * @return mixed
+     */
+    public function getQueryParam()
+    {
+        return $this->queryParam;
+    }
+
+    /**
+     * @param $queryParam
+     */
+    public function setQueryParam($queryParam)
+    {
+        $this->queryParam                    = $queryParam;
+        $this->queryParameters["QueryParam"] = $queryParam;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getBodyParam()
+    {
+        return $this->bodyParam;
+    }
+
+    /**
+     * @param $bodyParam
+     */
+    public function setBodyParam($bodyParam)
+    {
+        $this->bodyParam                    = $bodyParam;
+        $this->queryParameters["BodyParam"] = $bodyParam;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getHeaderParam()
+    {
+        return $this->headerParam;
+    }
+
+    /**
+     * @param $headerParam
+     */
+    public function setHeaderParam($headerParam)
+    {
+        $this->headerParam                = $headerParam;
+        $this->headerParam["HeaderParam"] = $headerParam;
+    }
+}

+ 61 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Ft/TestRpcApiRequest.php

@@ -0,0 +1,61 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: zhangw
+ * Date: 2017/12/19
+ * Time: 下午6:39
+ */
+
+namespace UnitTest\Ft;
+
+class TestRpcApiRequest extends \RpcAcsRequest
+{
+    public function __construct()
+    {
+        parent::__construct("Ft", "2016-01-01", "TestRpcApi");
+    }
+
+    /**
+     * @var
+     */
+    private $queryParam;
+
+    /**
+     * @var
+     */
+    private $bodyParam;
+
+    /**
+     * @return mixed
+     */
+    public function getQueryParam()
+    {
+        return $this->queryParam;
+    }
+
+    /**
+     * @param $queryParam
+     */
+    public function setQueryParam($queryParam)
+    {
+        $this->queryParam                    = $queryParam;
+        $this->queryParameters["QueryParam"] = $queryParam;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getBodyParam()
+    {
+        return $this->bodyParam;
+    }
+
+    /**
+     * @param $bodyParam
+     */
+    public function setBodyParam($bodyParam)
+    {
+        $this->bodyParam                    = $bodyParam;
+        $this->queryParameters["BodyParam"] = $bodyParam;
+    }
+}

+ 30 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Http/HttpHelperTest.php

@@ -0,0 +1,30 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once '../BaseTest.php';
+
+class HttpHelperTest extends BaseTest
+{
+    public function testCurl()
+    {
+        $httpResponse = HttpHelper::curl("ecs.aliyuncs.com");
+        $this->assertEquals(400, $httpResponse->getStatus());
+        $this->assertNotNull($httpResponse->getBody());
+    }
+}

+ 66 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Profile/DefaultProfileTest.php

@@ -0,0 +1,66 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once '../../Config.php';
+
+class DefaultProfileTest extends PHPUnit_Framework_TestCase
+{
+    public function testGetProfile()
+    {
+        $profile = DefaultProfile::getProfile("cn-hangzhou", "accessId", "accessSecret");
+        $this->assertEquals("cn-hangzhou", $profile->getRegionId());
+        $this->assertEquals("accessId", $profile->getCredential()->getAccessKeyId());
+        $this->assertEquals("accessSecret", $profile->getCredential()->getAccessSecret());
+    }
+
+    public function testAddEndpoint()
+    {
+        $profile = DefaultProfile::getProfile("cn-hangzhou", "accessId", "accessSecret");
+        $profile::addEndpoint("cn-hangzhou", "cn-hangzhou", "TestProduct", "testproduct.aliyuncs.com");
+        $endpoints = $profile::getEndpoints();
+        foreach ($endpoints as $key => $endpoint) {
+            if ("cn-hangzhou" == $endpoint->getName()) {
+                $regionIds = $endpoint->getRegionIds();
+                $this->assertContains("cn-hangzhou", $regionIds);
+
+                $productDomains = $endpoint->getProductDomains();
+                $this->assertNotNull($productDomains);
+                $productDomain = $this->getProductDomain($productDomains);
+                $this->assertNotNull($productDomain);
+                $this->assertEquals("TestProduct", $productDomain->getProductName());
+                $this->assertEquals("testproduct.aliyuncs.com", $productDomain->getDomainName());
+            }
+        }
+    }
+
+    /**
+     * @param $productDomains
+     *
+     * @return ProductDomain|null
+     */
+    private function getProductDomain($productDomains)
+    {
+        foreach ($productDomains as $productDomain) {
+            if ($productDomain->getProductName() === 'TestProduct') {
+                return $productDomain;
+            }
+        }
+        return null;
+    }
+}

+ 52 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Regions/EndPointByLocationTest.php

@@ -0,0 +1,52 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: zhangw
+ * Date: 2017/7/17
+ * Time: 下午4:57
+ */
+
+include_once '../../Config.php';
+
+use PHPUnit\Framework\TestCase;
+
+class EndPointByLocationTest extends TestCase
+{
+    /**
+     * @var
+     */
+    private $locationService;
+
+    /**
+     * @var
+     */
+    private $clientProfile;
+
+    private function initClient()
+    {
+        # 创建 DefaultAcsClient 实例并初始化
+        $this->clientProfile = DefaultProfile::getProfile(
+            "cn-shanghai",                   # 您的 Region ID
+            "<your AK>",               # 您的 Access Key ID
+            "<your Secret>"            # 您的 Access Key Secret
+        );
+
+        $this->locationService = new LocationService($this->clientProfile);
+    }
+
+    public function testFindProductDomain()
+    {
+        $this->initClient();
+        $domain = $this->locationService->findProductDomain("cn-shanghai", "apigateway", "openAPI", "CloudAPI");
+        $this->assertEquals("apigateway.cn-shanghai.aliyuncs.com", $domain);
+    }
+
+    public function testFindProductDomainWithAddEndPoint()
+    {
+        DefaultProfile::addEndpoint("cn-shanghai", "cn-shanghai", "CloudAPI", "apigateway.cn-shanghai123.aliyuncs.com");
+        $this->initClient();
+        $domain = $this->locationService->findProductDomain("cn-shanghai", "apigateway", "openAPI", "CloudAPI");
+        $this->assertEquals("apigateway.cn-shanghai123.aliyuncs.com", $domain);
+    }
+
+}

+ 28 - 0
vendor/aliyun/aliyun-php-sdk-core/UnitTest/Regions/EndpointProviderTest.php

@@ -0,0 +1,28 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+include_once '../../Config.php';
+
+class EndpointProviderTest extends PHPUnit_Framework_TestCase
+{
+    public function testFindProductDomain()
+    {
+        $this->assertEquals("ecs.aliyuncs.com", EndpointProvider::findProductDomain("cn-hangzhou", "Ecs"));
+    }
+}

+ 39 - 0
vendor/aliyun/aliyun-php-sdk-mts/ChangeLog.txt

@@ -0,0 +1,39 @@
+2019-03-15 Version: 2.7.1
+1, Update Dependency
+
+2019-03-15 Version: 2.7.1
+1, Update Dependency
+
+2019-02-22 Version: 2.7.0
+1, Add SubmitMcuJob interface
+2, Add QueryMcuJob interface
+3, Add DeleteMcuJob interface
+4, Add CreateMcuTemplate interface
+5, Add QueryMcuTemplate interface
+6, Add DeleteMcuTemplate interface
+7, Add UpdateMcuTemplate interface
+
+2018-08-05 Version: 2.6.0
+1, Add Interface SubmitSubtitleJob
+2, Support convert ttml、stl subtitle to vtt
+
+2018-01-16 Version: 2.5.2
+1,  Add TriggerMode param in AddMediaWorkflow.
+2, Add TriggerMode param in QueryMediaWorkflowList/SearchMediaWorkflow/UpdateMediaWorkflow.
+3, Add interface UpdateMediaWorkflowTriggerMode.
+
+2017-12-26 Version: 2.5.1
+1, Add video AI service interface.
+
+2017-11-16 Version: 2.5.0
+1, BindInputBucket/BindOutputBucket/UnBindInputBucket,添加RoleArn参数,支持bucket托管及解除托管。
+2, 工作流定义中支持对转码输入、输出、拼接输入、截图输入及输出设置RoleArn,支持托管bucket
+
+2017-11-16 Version: 2.4.0
+1, 这是一个发布日志样例。
+2, 请严格按照这种格式编辑。
+3, 格式:序号 + 逗号 + 空格 + 说明
+
+2017-09-28 Version: 1.0.0
+1, 增加了PlayInfo接口,通过MediaId获取播放链接等信息。
+

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ActivateMediaWorkflowRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ActivateMediaWorkflow
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getMediaWorkflowId()
+ * @method string getOwnerId()
+ */
+class ActivateMediaWorkflowRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ActivateMediaWorkflow',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaWorkflowId
+     *
+     * @return $this
+     */
+    public function setMediaWorkflowId($mediaWorkflowId)
+    {
+        $this->requestParameters['MediaWorkflowId'] = $mediaWorkflowId;
+        $this->queryParameters['MediaWorkflowId'] = $mediaWorkflowId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddAsrPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddAsrPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getNotifyConfig()
+ * @method string getOwnerId()
+ * @method string getPriority()
+ */
+class AddAsrPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddAsrPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $notifyConfig
+     *
+     * @return $this
+     */
+    public function setNotifyConfig($notifyConfig)
+    {
+        $this->requestParameters['NotifyConfig'] = $notifyConfig;
+        $this->queryParameters['NotifyConfig'] = $notifyConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $priority
+     *
+     * @return $this
+     */
+    public function setPriority($priority)
+    {
+        $this->requestParameters['Priority'] = $priority;
+        $this->queryParameters['Priority'] = $priority;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddCategoryRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddCategory
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getParentId()
+ * @method string getCateName()
+ */
+class AddCategoryRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddCategory',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $parentId
+     *
+     * @return $this
+     */
+    public function setParentId($parentId)
+    {
+        $this->requestParameters['ParentId'] = $parentId;
+        $this->queryParameters['ParentId'] = $parentId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $cateName
+     *
+     * @return $this
+     */
+    public function setCateName($cateName)
+    {
+        $this->requestParameters['CateName'] = $cateName;
+        $this->queryParameters['CateName'] = $cateName;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddCensorPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddCensorPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getNotifyConfig()
+ * @method string getOwnerId()
+ * @method string getPriority()
+ */
+class AddCensorPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddCensorPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $notifyConfig
+     *
+     * @return $this
+     */
+    public function setNotifyConfig($notifyConfig)
+    {
+        $this->requestParameters['NotifyConfig'] = $notifyConfig;
+        $this->queryParameters['NotifyConfig'] = $notifyConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $priority
+     *
+     * @return $this
+     */
+    public function setPriority($priority)
+    {
+        $this->requestParameters['Priority'] = $priority;
+        $this->queryParameters['Priority'] = $priority;
+
+        return $this;
+    }
+}

+ 141 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddCoverPipelineRequest.php

@@ -0,0 +1,141 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddCoverPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getRole()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getNotifyConfig()
+ * @method string getOwnerId()
+ * @method string getPriority()
+ */
+class AddCoverPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddCoverPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $role
+     *
+     * @return $this
+     */
+    public function setRole($role)
+    {
+        $this->requestParameters['Role'] = $role;
+        $this->queryParameters['Role'] = $role;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $notifyConfig
+     *
+     * @return $this
+     */
+    public function setNotifyConfig($notifyConfig)
+    {
+        $this->requestParameters['NotifyConfig'] = $notifyConfig;
+        $this->queryParameters['NotifyConfig'] = $notifyConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $priority
+     *
+     * @return $this
+     */
+    public function setPriority($priority)
+    {
+        $this->requestParameters['Priority'] = $priority;
+        $this->queryParameters['Priority'] = $priority;
+
+        return $this;
+    }
+}

+ 239 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMCTemplateRequest.php

@@ -0,0 +1,239 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddMCTemplate
+ *
+ * @method string getPolitics()
+ * @method string getResourceOwnerId()
+ * @method string getContraband()
+ * @method string getAd()
+ * @method string getAbuse()
+ * @method string getResourceOwnerAccount()
+ * @method string getQrcode()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getPorn()
+ * @method string getTerrorism()
+ * @method string getName()
+ * @method string getLogo()
+ * @method string getspam()
+ * @method string getLive()
+ */
+class AddMCTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddMCTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $politics
+     *
+     * @return $this
+     */
+    public function setPolitics($politics)
+    {
+        $this->requestParameters['Politics'] = $politics;
+        $this->queryParameters['Politics'] = $politics;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $contraband
+     *
+     * @return $this
+     */
+    public function setContraband($contraband)
+    {
+        $this->requestParameters['Contraband'] = $contraband;
+        $this->queryParameters['Contraband'] = $contraband;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ad
+     *
+     * @return $this
+     */
+    public function setAd($ad)
+    {
+        $this->requestParameters['Ad'] = $ad;
+        $this->queryParameters['Ad'] = $ad;
+
+        return $this;
+    }
+
+    /**
+     * @param string $abuse
+     *
+     * @return $this
+     */
+    public function setAbuse($abuse)
+    {
+        $this->requestParameters['Abuse'] = $abuse;
+        $this->queryParameters['Abuse'] = $abuse;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $qrcode
+     *
+     * @return $this
+     */
+    public function setQrcode($qrcode)
+    {
+        $this->requestParameters['Qrcode'] = $qrcode;
+        $this->queryParameters['Qrcode'] = $qrcode;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $porn
+     *
+     * @return $this
+     */
+    public function setPorn($porn)
+    {
+        $this->requestParameters['Porn'] = $porn;
+        $this->queryParameters['Porn'] = $porn;
+
+        return $this;
+    }
+
+    /**
+     * @param string $terrorism
+     *
+     * @return $this
+     */
+    public function setTerrorism($terrorism)
+    {
+        $this->requestParameters['Terrorism'] = $terrorism;
+        $this->queryParameters['Terrorism'] = $terrorism;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $logo
+     *
+     * @return $this
+     */
+    public function setLogo($logo)
+    {
+        $this->requestParameters['Logo'] = $logo;
+        $this->queryParameters['Logo'] = $logo;
+
+        return $this;
+    }
+
+    /**
+     * @param string $spam
+     *
+     * @return $this
+     */
+    public function setspam($spam)
+    {
+        $this->requestParameters['spam'] = $spam;
+        $this->queryParameters['spam'] = $spam;
+
+        return $this;
+    }
+
+    /**
+     * @param string $live
+     *
+     * @return $this
+     */
+    public function setLive($live)
+    {
+        $this->requestParameters['Live'] = $live;
+        $this->queryParameters['Live'] = $live;
+
+        return $this;
+    }
+}

+ 225 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMediaRequest.php

@@ -0,0 +1,225 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddMedia
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getDescription()
+ * @method string getOverrideParams()
+ * @method string getOwnerId()
+ * @method string getTitle()
+ * @method string getInputUnbind()
+ * @method string getTags()
+ * @method string getCoverURL()
+ * @method string getCateId()
+ * @method string getFileURL()
+ * @method string getMediaWorkflowId()
+ * @method string getMediaWorkflowUserData()
+ */
+class AddMediaRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddMedia',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $description
+     *
+     * @return $this
+     */
+    public function setDescription($description)
+    {
+        $this->requestParameters['Description'] = $description;
+        $this->queryParameters['Description'] = $description;
+
+        return $this;
+    }
+
+    /**
+     * @param string $overrideParams
+     *
+     * @return $this
+     */
+    public function setOverrideParams($overrideParams)
+    {
+        $this->requestParameters['OverrideParams'] = $overrideParams;
+        $this->queryParameters['OverrideParams'] = $overrideParams;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $title
+     *
+     * @return $this
+     */
+    public function setTitle($title)
+    {
+        $this->requestParameters['Title'] = $title;
+        $this->queryParameters['Title'] = $title;
+
+        return $this;
+    }
+
+    /**
+     * @param string $inputUnbind
+     *
+     * @return $this
+     */
+    public function setInputUnbind($inputUnbind)
+    {
+        $this->requestParameters['InputUnbind'] = $inputUnbind;
+        $this->queryParameters['InputUnbind'] = $inputUnbind;
+
+        return $this;
+    }
+
+    /**
+     * @param string $tags
+     *
+     * @return $this
+     */
+    public function setTags($tags)
+    {
+        $this->requestParameters['Tags'] = $tags;
+        $this->queryParameters['Tags'] = $tags;
+
+        return $this;
+    }
+
+    /**
+     * @param string $coverURL
+     *
+     * @return $this
+     */
+    public function setCoverURL($coverURL)
+    {
+        $this->requestParameters['CoverURL'] = $coverURL;
+        $this->queryParameters['CoverURL'] = $coverURL;
+
+        return $this;
+    }
+
+    /**
+     * @param string $cateId
+     *
+     * @return $this
+     */
+    public function setCateId($cateId)
+    {
+        $this->requestParameters['CateId'] = $cateId;
+        $this->queryParameters['CateId'] = $cateId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $fileURL
+     *
+     * @return $this
+     */
+    public function setFileURL($fileURL)
+    {
+        $this->requestParameters['FileURL'] = $fileURL;
+        $this->queryParameters['FileURL'] = $fileURL;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaWorkflowId
+     *
+     * @return $this
+     */
+    public function setMediaWorkflowId($mediaWorkflowId)
+    {
+        $this->requestParameters['MediaWorkflowId'] = $mediaWorkflowId;
+        $this->queryParameters['MediaWorkflowId'] = $mediaWorkflowId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaWorkflowUserData
+     *
+     * @return $this
+     */
+    public function setMediaWorkflowUserData($mediaWorkflowUserData)
+    {
+        $this->requestParameters['MediaWorkflowUserData'] = $mediaWorkflowUserData;
+        $this->queryParameters['MediaWorkflowUserData'] = $mediaWorkflowUserData;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMediaTagRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddMediaTag
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getTag()
+ * @method string getOwnerId()
+ * @method string getMediaId()
+ */
+class AddMediaTagRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddMediaTag',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $tag
+     *
+     * @return $this
+     */
+    public function setTag($tag)
+    {
+        $this->requestParameters['Tag'] = $tag;
+        $this->queryParameters['Tag'] = $tag;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaId
+     *
+     * @return $this
+     */
+    public function setMediaId($mediaId)
+    {
+        $this->requestParameters['MediaId'] = $mediaId;
+        $this->queryParameters['MediaId'] = $mediaId;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddMediaWorkflowRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddMediaWorkflow
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getTopology()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getOwnerId()
+ * @method string getTriggerMode()
+ */
+class AddMediaWorkflowRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddMediaWorkflow',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $topology
+     *
+     * @return $this
+     */
+    public function setTopology($topology)
+    {
+        $this->requestParameters['Topology'] = $topology;
+        $this->queryParameters['Topology'] = $topology;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $triggerMode
+     *
+     * @return $this
+     */
+    public function setTriggerMode($triggerMode)
+    {
+        $this->requestParameters['TriggerMode'] = $triggerMode;
+        $this->queryParameters['TriggerMode'] = $triggerMode;
+
+        return $this;
+    }
+}

+ 155 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddPipelineRequest.php

@@ -0,0 +1,155 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getRole()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getNotifyConfig()
+ * @method string getOwnerId()
+ * @method string getSpeedLevel()
+ * @method string getSpeed()
+ */
+class AddPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $role
+     *
+     * @return $this
+     */
+    public function setRole($role)
+    {
+        $this->requestParameters['Role'] = $role;
+        $this->queryParameters['Role'] = $role;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $notifyConfig
+     *
+     * @return $this
+     */
+    public function setNotifyConfig($notifyConfig)
+    {
+        $this->requestParameters['NotifyConfig'] = $notifyConfig;
+        $this->queryParameters['NotifyConfig'] = $notifyConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $speedLevel
+     *
+     * @return $this
+     */
+    public function setSpeedLevel($speedLevel)
+    {
+        $this->requestParameters['SpeedLevel'] = $speedLevel;
+        $this->queryParameters['SpeedLevel'] = $speedLevel;
+
+        return $this;
+    }
+
+    /**
+     * @param string $speed
+     *
+     * @return $this
+     */
+    public function setSpeed($speed)
+    {
+        $this->requestParameters['Speed'] = $speed;
+        $this->queryParameters['Speed'] = $speed;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddPornPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddPornPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getNotifyConfig()
+ * @method string getOwnerId()
+ * @method string getPriority()
+ */
+class AddPornPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddPornPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $notifyConfig
+     *
+     * @return $this
+     */
+    public function setNotifyConfig($notifyConfig)
+    {
+        $this->requestParameters['NotifyConfig'] = $notifyConfig;
+        $this->queryParameters['NotifyConfig'] = $notifyConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $priority
+     *
+     * @return $this
+     */
+    public function setPriority($priority)
+    {
+        $this->requestParameters['Priority'] = $priority;
+        $this->queryParameters['Priority'] = $priority;
+
+        return $this;
+    }
+}

+ 169 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddTemplateRequest.php

@@ -0,0 +1,169 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddTemplate
+ *
+ * @method string getContainer()
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getTransConfig()
+ * @method string getMuxConfig()
+ * @method string getVideo()
+ * @method string getAudio()
+ * @method string getOwnerId()
+ */
+class AddTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $container
+     *
+     * @return $this
+     */
+    public function setContainer($container)
+    {
+        $this->requestParameters['Container'] = $container;
+        $this->queryParameters['Container'] = $container;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $transConfig
+     *
+     * @return $this
+     */
+    public function setTransConfig($transConfig)
+    {
+        $this->requestParameters['TransConfig'] = $transConfig;
+        $this->queryParameters['TransConfig'] = $transConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $muxConfig
+     *
+     * @return $this
+     */
+    public function setMuxConfig($muxConfig)
+    {
+        $this->requestParameters['MuxConfig'] = $muxConfig;
+        $this->queryParameters['MuxConfig'] = $muxConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $video
+     *
+     * @return $this
+     */
+    public function setVideo($video)
+    {
+        $this->requestParameters['Video'] = $video;
+        $this->queryParameters['Video'] = $video;
+
+        return $this;
+    }
+
+    /**
+     * @param string $audio
+     *
+     * @return $this
+     */
+    public function setAudio($audio)
+    {
+        $this->requestParameters['Audio'] = $audio;
+        $this->queryParameters['Audio'] = $audio;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddTerrorismPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddTerrorismPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getNotifyConfig()
+ * @method string getOwnerId()
+ * @method string getPriority()
+ */
+class AddTerrorismPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddTerrorismPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $notifyConfig
+     *
+     * @return $this
+     */
+    public function setNotifyConfig($notifyConfig)
+    {
+        $this->requestParameters['NotifyConfig'] = $notifyConfig;
+        $this->queryParameters['NotifyConfig'] = $notifyConfig;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $priority
+     *
+     * @return $this
+     */
+    public function setPriority($priority)
+    {
+        $this->requestParameters['Priority'] = $priority;
+        $this->queryParameters['Priority'] = $priority;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/AddWaterMarkTemplateRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of AddWaterMarkTemplate
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getName()
+ * @method string getOwnerId()
+ * @method string getConfig()
+ */
+class AddWaterMarkTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'AddWaterMarkTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setName($name)
+    {
+        $this->requestParameters['Name'] = $name;
+        $this->queryParameters['Name'] = $name;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $config
+     *
+     * @return $this
+     */
+    public function setConfig($config)
+    {
+        $this->requestParameters['Config'] = $config;
+        $this->queryParameters['Config'] = $config;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/BindInputBucketRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of BindInputBucket
+ *
+ * @method string getBucket()
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getRoleArn()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class BindInputBucketRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'BindInputBucket',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $bucket
+     *
+     * @return $this
+     */
+    public function setBucket($bucket)
+    {
+        $this->requestParameters['Bucket'] = $bucket;
+        $this->queryParameters['Bucket'] = $bucket;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $roleArn
+     *
+     * @return $this
+     */
+    public function setRoleArn($roleArn)
+    {
+        $this->requestParameters['RoleArn'] = $roleArn;
+        $this->queryParameters['RoleArn'] = $roleArn;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/BindOutputBucketRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of BindOutputBucket
+ *
+ * @method string getBucket()
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getRoleArn()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class BindOutputBucketRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'BindOutputBucket',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $bucket
+     *
+     * @return $this
+     */
+    public function setBucket($bucket)
+    {
+        $this->requestParameters['Bucket'] = $bucket;
+        $this->queryParameters['Bucket'] = $bucket;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $roleArn
+     *
+     * @return $this
+     */
+    public function setRoleArn($roleArn)
+    {
+        $this->requestParameters['RoleArn'] = $roleArn;
+        $this->queryParameters['RoleArn'] = $roleArn;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CancelJobRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of CancelJob
+ *
+ * @method string getJobId()
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class CancelJobRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'CancelJob',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $jobId
+     *
+     * @return $this
+     */
+    public function setJobId($jobId)
+    {
+        $this->requestParameters['JobId'] = $jobId;
+        $this->queryParameters['JobId'] = $jobId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 85 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CategoryTreeRequest.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of CategoryTree
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class CategoryTreeRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'CategoryTree',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 225 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CheckResourceRequest.php

@@ -0,0 +1,225 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of CheckResource
+ *
+ * @method string getCountry()
+ * @method string getHid()
+ * @method string getLevel()
+ * @method string getInvoker()
+ * @method string getMessage()
+ * @method string getUrl()
+ * @method string getSuccess()
+ * @method string getInterrupt()
+ * @method string getGmtWakeup()
+ * @method string getPk()
+ * @method string getBid()
+ * @method string getPrompt()
+ * @method string getTaskExtraData()
+ * @method string getTaskIdentifier()
+ */
+class CheckResourceRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'CheckResource',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $country
+     *
+     * @return $this
+     */
+    public function setCountry($country)
+    {
+        $this->requestParameters['Country'] = $country;
+        $this->queryParameters['Country'] = $country;
+
+        return $this;
+    }
+
+    /**
+     * @param string $hid
+     *
+     * @return $this
+     */
+    public function setHid($hid)
+    {
+        $this->requestParameters['Hid'] = $hid;
+        $this->queryParameters['Hid'] = $hid;
+
+        return $this;
+    }
+
+    /**
+     * @param string $level
+     *
+     * @return $this
+     */
+    public function setLevel($level)
+    {
+        $this->requestParameters['Level'] = $level;
+        $this->queryParameters['Level'] = $level;
+
+        return $this;
+    }
+
+    /**
+     * @param string $invoker
+     *
+     * @return $this
+     */
+    public function setInvoker($invoker)
+    {
+        $this->requestParameters['Invoker'] = $invoker;
+        $this->queryParameters['Invoker'] = $invoker;
+
+        return $this;
+    }
+
+    /**
+     * @param string $message
+     *
+     * @return $this
+     */
+    public function setMessage($message)
+    {
+        $this->requestParameters['Message'] = $message;
+        $this->queryParameters['Message'] = $message;
+
+        return $this;
+    }
+
+    /**
+     * @param string $url
+     *
+     * @return $this
+     */
+    public function setUrl($url)
+    {
+        $this->requestParameters['Url'] = $url;
+        $this->queryParameters['Url'] = $url;
+
+        return $this;
+    }
+
+    /**
+     * @param string $success
+     *
+     * @return $this
+     */
+    public function setSuccess($success)
+    {
+        $this->requestParameters['Success'] = $success;
+        $this->queryParameters['Success'] = $success;
+
+        return $this;
+    }
+
+    /**
+     * @param string $interrupt
+     *
+     * @return $this
+     */
+    public function setInterrupt($interrupt)
+    {
+        $this->requestParameters['Interrupt'] = $interrupt;
+        $this->queryParameters['Interrupt'] = $interrupt;
+
+        return $this;
+    }
+
+    /**
+     * @param string $gmtWakeup
+     *
+     * @return $this
+     */
+    public function setGmtWakeup($gmtWakeup)
+    {
+        $this->requestParameters['GmtWakeup'] = $gmtWakeup;
+        $this->queryParameters['GmtWakeup'] = $gmtWakeup;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pk
+     *
+     * @return $this
+     */
+    public function setPk($pk)
+    {
+        $this->requestParameters['Pk'] = $pk;
+        $this->queryParameters['Pk'] = $pk;
+
+        return $this;
+    }
+
+    /**
+     * @param string $bid
+     *
+     * @return $this
+     */
+    public function setBid($bid)
+    {
+        $this->requestParameters['Bid'] = $bid;
+        $this->queryParameters['Bid'] = $bid;
+
+        return $this;
+    }
+
+    /**
+     * @param string $prompt
+     *
+     * @return $this
+     */
+    public function setPrompt($prompt)
+    {
+        $this->requestParameters['Prompt'] = $prompt;
+        $this->queryParameters['Prompt'] = $prompt;
+
+        return $this;
+    }
+
+    /**
+     * @param string $taskExtraData
+     *
+     * @return $this
+     */
+    public function setTaskExtraData($taskExtraData)
+    {
+        $this->requestParameters['TaskExtraData'] = $taskExtraData;
+        $this->queryParameters['TaskExtraData'] = $taskExtraData;
+
+        return $this;
+    }
+
+    /**
+     * @param string $taskIdentifier
+     *
+     * @return $this
+     */
+    public function setTaskIdentifier($taskIdentifier)
+    {
+        $this->requestParameters['TaskIdentifier'] = $taskIdentifier;
+        $this->queryParameters['TaskIdentifier'] = $taskIdentifier;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CreateMcuTemplateRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of CreateMcuTemplate
+ *
+ * @method string getTemplate()
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class CreateMcuTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'CreateMcuTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $template
+     *
+     * @return $this
+     */
+    public function setTemplate($template)
+    {
+        $this->requestParameters['Template'] = $template;
+        $this->queryParameters['Template'] = $template;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/CreateSessionRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of CreateSession
+ *
+ * @method string getResourceOwnerId()
+ * @method string getSessionTime()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getEndUserId()
+ * @method string getOwnerId()
+ * @method string getMediaId()
+ */
+class CreateSessionRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'CreateSession',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $sessionTime
+     *
+     * @return $this
+     */
+    public function setSessionTime($sessionTime)
+    {
+        $this->requestParameters['SessionTime'] = $sessionTime;
+        $this->queryParameters['SessionTime'] = $sessionTime;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $endUserId
+     *
+     * @return $this
+     */
+    public function setEndUserId($endUserId)
+    {
+        $this->requestParameters['EndUserId'] = $endUserId;
+        $this->queryParameters['EndUserId'] = $endUserId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaId
+     *
+     * @return $this
+     */
+    public function setMediaId($mediaId)
+    {
+        $this->requestParameters['MediaId'] = $mediaId;
+        $this->queryParameters['MediaId'] = $mediaId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeactivateMediaWorkflowRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeactivateMediaWorkflow
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getMediaWorkflowId()
+ * @method string getOwnerId()
+ */
+class DeactivateMediaWorkflowRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeactivateMediaWorkflow',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaWorkflowId
+     *
+     * @return $this
+     */
+    public function setMediaWorkflowId($mediaWorkflowId)
+    {
+        $this->requestParameters['MediaWorkflowId'] = $mediaWorkflowId;
+        $this->queryParameters['MediaWorkflowId'] = $mediaWorkflowId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DecryptKeyRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DecryptKey
+ *
+ * @method string getRand()
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getCiphertextBlob()
+ */
+class DecryptKeyRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DecryptKey',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $rand
+     *
+     * @return $this
+     */
+    public function setRand($rand)
+    {
+        $this->requestParameters['Rand'] = $rand;
+        $this->queryParameters['Rand'] = $rand;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ciphertextBlob
+     *
+     * @return $this
+     */
+    public function setCiphertextBlob($ciphertextBlob)
+    {
+        $this->requestParameters['CiphertextBlob'] = $ciphertextBlob;
+        $this->queryParameters['CiphertextBlob'] = $ciphertextBlob;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteCategoryRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteCategory
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getCateId()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class DeleteCategoryRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteCategory',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $cateId
+     *
+     * @return $this
+     */
+    public function setCateId($cateId)
+    {
+        $this->requestParameters['CateId'] = $cateId;
+        $this->queryParameters['CateId'] = $cateId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMCTemplateRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteMCTemplate
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getTemplateId()
+ */
+class DeleteMCTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteMCTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $templateId
+     *
+     * @return $this
+     */
+    public function setTemplateId($templateId)
+    {
+        $this->requestParameters['TemplateId'] = $templateId;
+        $this->queryParameters['TemplateId'] = $templateId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMcuJobRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteMcuJob
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getJobIds()
+ * @method string getOwnerId()
+ */
+class DeleteMcuJobRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteMcuJob',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $jobIds
+     *
+     * @return $this
+     */
+    public function setJobIds($jobIds)
+    {
+        $this->requestParameters['JobIds'] = $jobIds;
+        $this->queryParameters['JobIds'] = $jobIds;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMcuTemplateRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteMcuTemplate
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getTemplateId()
+ */
+class DeleteMcuTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteMcuTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $templateId
+     *
+     * @return $this
+     */
+    public function setTemplateId($templateId)
+    {
+        $this->requestParameters['TemplateId'] = $templateId;
+        $this->queryParameters['TemplateId'] = $templateId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMediaRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteMedia
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getMediaIds()
+ * @method string getOwnerId()
+ */
+class DeleteMediaRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteMedia',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaIds
+     *
+     * @return $this
+     */
+    public function setMediaIds($mediaIds)
+    {
+        $this->requestParameters['MediaIds'] = $mediaIds;
+        $this->queryParameters['MediaIds'] = $mediaIds;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMediaTagRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteMediaTag
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getTag()
+ * @method string getOwnerId()
+ * @method string getMediaId()
+ */
+class DeleteMediaTagRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteMediaTag',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $tag
+     *
+     * @return $this
+     */
+    public function setTag($tag)
+    {
+        $this->requestParameters['Tag'] = $tag;
+        $this->queryParameters['Tag'] = $tag;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaId
+     *
+     * @return $this
+     */
+    public function setMediaId($mediaId)
+    {
+        $this->requestParameters['MediaId'] = $mediaId;
+        $this->queryParameters['MediaId'] = $mediaId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteMediaWorkflowRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteMediaWorkflow
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getMediaWorkflowId()
+ * @method string getOwnerId()
+ */
+class DeleteMediaWorkflowRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteMediaWorkflow',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaWorkflowId
+     *
+     * @return $this
+     */
+    public function setMediaWorkflowId($mediaWorkflowId)
+    {
+        $this->requestParameters['MediaWorkflowId'] = $mediaWorkflowId;
+        $this->queryParameters['MediaWorkflowId'] = $mediaWorkflowId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeletePipelineRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeletePipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getPipelineId()
+ */
+class DeletePipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeletePipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pipelineId
+     *
+     * @return $this
+     */
+    public function setPipelineId($pipelineId)
+    {
+        $this->requestParameters['PipelineId'] = $pipelineId;
+        $this->queryParameters['PipelineId'] = $pipelineId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteTemplateRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteTemplate
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getTemplateId()
+ */
+class DeleteTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $templateId
+     *
+     * @return $this
+     */
+    public function setTemplateId($templateId)
+    {
+        $this->requestParameters['TemplateId'] = $templateId;
+        $this->queryParameters['TemplateId'] = $templateId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/DeleteWaterMarkTemplateRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of DeleteWaterMarkTemplate
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getWaterMarkTemplateId()
+ */
+class DeleteWaterMarkTemplateRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'DeleteWaterMarkTemplate',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $waterMarkTemplateId
+     *
+     * @return $this
+     */
+    public function setWaterMarkTemplateId($waterMarkTemplateId)
+    {
+        $this->requestParameters['WaterMarkTemplateId'] = $waterMarkTemplateId;
+        $this->queryParameters['WaterMarkTemplateId'] = $waterMarkTemplateId;
+
+        return $this;
+    }
+}

+ 155 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/GetLicenseRequest.php

@@ -0,0 +1,155 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of GetLicense
+ *
+ * @method string getResourceOwnerId()
+ * @method string getData()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getHeader()
+ * @method string getOwnerId()
+ * @method string getMediaId()
+ * @method string getType()
+ * @method string getLicenseUrl()
+ */
+class GetLicenseRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'GetLicense',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $data
+     *
+     * @return $this
+     */
+    public function setData($data)
+    {
+        $this->requestParameters['Data'] = $data;
+        $this->queryParameters['Data'] = $data;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $header
+     *
+     * @return $this
+     */
+    public function setHeader($header)
+    {
+        $this->requestParameters['Header'] = $header;
+        $this->queryParameters['Header'] = $header;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaId
+     *
+     * @return $this
+     */
+    public function setMediaId($mediaId)
+    {
+        $this->requestParameters['MediaId'] = $mediaId;
+        $this->queryParameters['MediaId'] = $mediaId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $type
+     *
+     * @return $this
+     */
+    public function setType($type)
+    {
+        $this->requestParameters['Type'] = $type;
+        $this->queryParameters['Type'] = $type;
+
+        return $this;
+    }
+
+    /**
+     * @param string $licenseUrl
+     *
+     * @return $this
+     */
+    public function setLicenseUrl($licenseUrl)
+    {
+        $this->requestParameters['LicenseUrl'] = $licenseUrl;
+        $this->queryParameters['LicenseUrl'] = $licenseUrl;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/GetPackageRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of GetPackage
+ *
+ * @method string getResourceOwnerId()
+ * @method string getData()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class GetPackageRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'GetPackage',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $data
+     *
+     * @return $this
+     */
+    public function setData($data)
+    {
+        $this->requestParameters['Data'] = $data;
+        $this->queryParameters['Data'] = $data;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 85 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListAllCategoryRequest.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListAllCategory
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class ListAllCategoryRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListAllCategory',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 113 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListAllMediaBucketRequest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListAllMediaBucket
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getNextPageToken()
+ * @method string getOwnerAccount()
+ * @method string getMaximumPageSize()
+ * @method string getOwnerId()
+ */
+class ListAllMediaBucketRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListAllMediaBucket',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $nextPageToken
+     *
+     * @return $this
+     */
+    public function setNextPageToken($nextPageToken)
+    {
+        $this->requestParameters['NextPageToken'] = $nextPageToken;
+        $this->queryParameters['NextPageToken'] = $nextPageToken;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $maximumPageSize
+     *
+     * @return $this
+     */
+    public function setMaximumPageSize($maximumPageSize)
+    {
+        $this->requestParameters['MaximumPageSize'] = $maximumPageSize;
+        $this->queryParameters['MaximumPageSize'] = $maximumPageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListAsrPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListAsrPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getPageSize()
+ * @method string getState()
+ * @method string getOwnerId()
+ * @method string getPageNumber()
+ */
+class ListAsrPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListAsrPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageSize
+     *
+     * @return $this
+     */
+    public function setPageSize($pageSize)
+    {
+        $this->requestParameters['PageSize'] = $pageSize;
+        $this->queryParameters['PageSize'] = $pageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $state
+     *
+     * @return $this
+     */
+    public function setState($state)
+    {
+        $this->requestParameters['State'] = $state;
+        $this->queryParameters['State'] = $state;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageNumber
+     *
+     * @return $this
+     */
+    public function setPageNumber($pageNumber)
+    {
+        $this->requestParameters['PageNumber'] = $pageNumber;
+        $this->queryParameters['PageNumber'] = $pageNumber;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListCensorPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListCensorPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getPageSize()
+ * @method string getState()
+ * @method string getOwnerId()
+ * @method string getPageNumber()
+ */
+class ListCensorPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListCensorPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageSize
+     *
+     * @return $this
+     */
+    public function setPageSize($pageSize)
+    {
+        $this->requestParameters['PageSize'] = $pageSize;
+        $this->queryParameters['PageSize'] = $pageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $state
+     *
+     * @return $this
+     */
+    public function setState($state)
+    {
+        $this->requestParameters['State'] = $state;
+        $this->queryParameters['State'] = $state;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageNumber
+     *
+     * @return $this
+     */
+    public function setPageNumber($pageNumber)
+    {
+        $this->requestParameters['PageNumber'] = $pageNumber;
+        $this->queryParameters['PageNumber'] = $pageNumber;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListCoverPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListCoverPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getPageSize()
+ * @method string getState()
+ * @method string getOwnerId()
+ * @method string getPageNumber()
+ */
+class ListCoverPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListCoverPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageSize
+     *
+     * @return $this
+     */
+    public function setPageSize($pageSize)
+    {
+        $this->requestParameters['PageSize'] = $pageSize;
+        $this->queryParameters['PageSize'] = $pageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $state
+     *
+     * @return $this
+     */
+    public function setState($state)
+    {
+        $this->requestParameters['State'] = $state;
+        $this->queryParameters['State'] = $state;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageNumber
+     *
+     * @return $this
+     */
+    public function setPageNumber($pageNumber)
+    {
+        $this->requestParameters['PageNumber'] = $pageNumber;
+        $this->queryParameters['PageNumber'] = $pageNumber;
+
+        return $this;
+    }
+}

+ 169 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListJobRequest.php

@@ -0,0 +1,169 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListJob
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getNextPageToken()
+ * @method string getStartOfJobCreatedTimeRange()
+ * @method string getOwnerAccount()
+ * @method string getMaximumPageSize()
+ * @method string getState()
+ * @method string getOwnerId()
+ * @method string getEndOfJobCreatedTimeRange()
+ * @method string getPipelineId()
+ */
+class ListJobRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListJob',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $nextPageToken
+     *
+     * @return $this
+     */
+    public function setNextPageToken($nextPageToken)
+    {
+        $this->requestParameters['NextPageToken'] = $nextPageToken;
+        $this->queryParameters['NextPageToken'] = $nextPageToken;
+
+        return $this;
+    }
+
+    /**
+     * @param string $startOfJobCreatedTimeRange
+     *
+     * @return $this
+     */
+    public function setStartOfJobCreatedTimeRange($startOfJobCreatedTimeRange)
+    {
+        $this->requestParameters['StartOfJobCreatedTimeRange'] = $startOfJobCreatedTimeRange;
+        $this->queryParameters['StartOfJobCreatedTimeRange'] = $startOfJobCreatedTimeRange;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $maximumPageSize
+     *
+     * @return $this
+     */
+    public function setMaximumPageSize($maximumPageSize)
+    {
+        $this->requestParameters['MaximumPageSize'] = $maximumPageSize;
+        $this->queryParameters['MaximumPageSize'] = $maximumPageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $state
+     *
+     * @return $this
+     */
+    public function setState($state)
+    {
+        $this->requestParameters['State'] = $state;
+        $this->queryParameters['State'] = $state;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $endOfJobCreatedTimeRange
+     *
+     * @return $this
+     */
+    public function setEndOfJobCreatedTimeRange($endOfJobCreatedTimeRange)
+    {
+        $this->requestParameters['EndOfJobCreatedTimeRange'] = $endOfJobCreatedTimeRange;
+        $this->queryParameters['EndOfJobCreatedTimeRange'] = $endOfJobCreatedTimeRange;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pipelineId
+     *
+     * @return $this
+     */
+    public function setPipelineId($pipelineId)
+    {
+        $this->requestParameters['PipelineId'] = $pipelineId;
+        $this->queryParameters['PipelineId'] = $pipelineId;
+
+        return $this;
+    }
+}

+ 141 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListMediaRequest.php

@@ -0,0 +1,141 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListMedia
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getNextPageToken()
+ * @method string getOwnerAccount()
+ * @method string getMaximumPageSize()
+ * @method string getFrom()
+ * @method string getTo()
+ * @method string getOwnerId()
+ */
+class ListMediaRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListMedia',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $nextPageToken
+     *
+     * @return $this
+     */
+    public function setNextPageToken($nextPageToken)
+    {
+        $this->requestParameters['NextPageToken'] = $nextPageToken;
+        $this->queryParameters['NextPageToken'] = $nextPageToken;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $maximumPageSize
+     *
+     * @return $this
+     */
+    public function setMaximumPageSize($maximumPageSize)
+    {
+        $this->requestParameters['MaximumPageSize'] = $maximumPageSize;
+        $this->queryParameters['MaximumPageSize'] = $maximumPageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $from
+     *
+     * @return $this
+     */
+    public function setFrom($from)
+    {
+        $this->requestParameters['From'] = $from;
+        $this->queryParameters['From'] = $from;
+
+        return $this;
+    }
+
+    /**
+     * @param string $to
+     *
+     * @return $this
+     */
+    public function setTo($to)
+    {
+        $this->requestParameters['To'] = $to;
+        $this->queryParameters['To'] = $to;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 155 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListMediaWorkflowExecutionsRequest.php

@@ -0,0 +1,155 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListMediaWorkflowExecutions
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getInputFileURL()
+ * @method string getNextPageToken()
+ * @method string getOwnerAccount()
+ * @method string getMaximumPageSize()
+ * @method string getMediaWorkflowId()
+ * @method string getOwnerId()
+ * @method string getMediaWorkflowName()
+ */
+class ListMediaWorkflowExecutionsRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListMediaWorkflowExecutions',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $inputFileURL
+     *
+     * @return $this
+     */
+    public function setInputFileURL($inputFileURL)
+    {
+        $this->requestParameters['InputFileURL'] = $inputFileURL;
+        $this->queryParameters['InputFileURL'] = $inputFileURL;
+
+        return $this;
+    }
+
+    /**
+     * @param string $nextPageToken
+     *
+     * @return $this
+     */
+    public function setNextPageToken($nextPageToken)
+    {
+        $this->requestParameters['NextPageToken'] = $nextPageToken;
+        $this->queryParameters['NextPageToken'] = $nextPageToken;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $maximumPageSize
+     *
+     * @return $this
+     */
+    public function setMaximumPageSize($maximumPageSize)
+    {
+        $this->requestParameters['MaximumPageSize'] = $maximumPageSize;
+        $this->queryParameters['MaximumPageSize'] = $maximumPageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaWorkflowId
+     *
+     * @return $this
+     */
+    public function setMediaWorkflowId($mediaWorkflowId)
+    {
+        $this->requestParameters['MediaWorkflowId'] = $mediaWorkflowId;
+        $this->queryParameters['MediaWorkflowId'] = $mediaWorkflowId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaWorkflowName
+     *
+     * @return $this
+     */
+    public function setMediaWorkflowName($mediaWorkflowName)
+    {
+        $this->requestParameters['MediaWorkflowName'] = $mediaWorkflowName;
+        $this->queryParameters['MediaWorkflowName'] = $mediaWorkflowName;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListPornPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListPornPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getPageSize()
+ * @method string getState()
+ * @method string getOwnerId()
+ * @method string getPageNumber()
+ */
+class ListPornPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListPornPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageSize
+     *
+     * @return $this
+     */
+    public function setPageSize($pageSize)
+    {
+        $this->requestParameters['PageSize'] = $pageSize;
+        $this->queryParameters['PageSize'] = $pageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $state
+     *
+     * @return $this
+     */
+    public function setState($state)
+    {
+        $this->requestParameters['State'] = $state;
+        $this->queryParameters['State'] = $state;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageNumber
+     *
+     * @return $this
+     */
+    public function setPageNumber($pageNumber)
+    {
+        $this->requestParameters['PageNumber'] = $pageNumber;
+        $this->queryParameters['PageNumber'] = $pageNumber;
+
+        return $this;
+    }
+}

+ 127 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/ListTerrorismPipelineRequest.php

@@ -0,0 +1,127 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of ListTerrorismPipeline
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getPageSize()
+ * @method string getState()
+ * @method string getOwnerId()
+ * @method string getPageNumber()
+ */
+class ListTerrorismPipelineRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'ListTerrorismPipeline',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageSize
+     *
+     * @return $this
+     */
+    public function setPageSize($pageSize)
+    {
+        $this->requestParameters['PageSize'] = $pageSize;
+        $this->queryParameters['PageSize'] = $pageSize;
+
+        return $this;
+    }
+
+    /**
+     * @param string $state
+     *
+     * @return $this
+     */
+    public function setState($state)
+    {
+        $this->requestParameters['State'] = $state;
+        $this->queryParameters['State'] = $state;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pageNumber
+     *
+     * @return $this
+     */
+    public function setPageNumber($pageNumber)
+    {
+        $this->requestParameters['PageNumber'] = $pageNumber;
+        $this->queryParameters['PageNumber'] = $pageNumber;
+
+        return $this;
+    }
+}

+ 183 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/LogicalDeleteResourceRequest.php

@@ -0,0 +1,183 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of LogicalDeleteResource
+ *
+ * @method string getCountry()
+ * @method string getHid()
+ * @method string getSuccess()
+ * @method string getInterrupt()
+ * @method string getGmtWakeup()
+ * @method string getPk()
+ * @method string getInvoker()
+ * @method string getBid()
+ * @method string getMessage()
+ * @method string getTaskExtraData()
+ * @method string getTaskIdentifier()
+ */
+class LogicalDeleteResourceRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'LogicalDeleteResource',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $country
+     *
+     * @return $this
+     */
+    public function setCountry($country)
+    {
+        $this->requestParameters['Country'] = $country;
+        $this->queryParameters['Country'] = $country;
+
+        return $this;
+    }
+
+    /**
+     * @param string $hid
+     *
+     * @return $this
+     */
+    public function setHid($hid)
+    {
+        $this->requestParameters['Hid'] = $hid;
+        $this->queryParameters['Hid'] = $hid;
+
+        return $this;
+    }
+
+    /**
+     * @param string $success
+     *
+     * @return $this
+     */
+    public function setSuccess($success)
+    {
+        $this->requestParameters['Success'] = $success;
+        $this->queryParameters['Success'] = $success;
+
+        return $this;
+    }
+
+    /**
+     * @param string $interrupt
+     *
+     * @return $this
+     */
+    public function setInterrupt($interrupt)
+    {
+        $this->requestParameters['Interrupt'] = $interrupt;
+        $this->queryParameters['Interrupt'] = $interrupt;
+
+        return $this;
+    }
+
+    /**
+     * @param string $gmtWakeup
+     *
+     * @return $this
+     */
+    public function setGmtWakeup($gmtWakeup)
+    {
+        $this->requestParameters['GmtWakeup'] = $gmtWakeup;
+        $this->queryParameters['GmtWakeup'] = $gmtWakeup;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pk
+     *
+     * @return $this
+     */
+    public function setPk($pk)
+    {
+        $this->requestParameters['Pk'] = $pk;
+        $this->queryParameters['Pk'] = $pk;
+
+        return $this;
+    }
+
+    /**
+     * @param string $invoker
+     *
+     * @return $this
+     */
+    public function setInvoker($invoker)
+    {
+        $this->requestParameters['Invoker'] = $invoker;
+        $this->queryParameters['Invoker'] = $invoker;
+
+        return $this;
+    }
+
+    /**
+     * @param string $bid
+     *
+     * @return $this
+     */
+    public function setBid($bid)
+    {
+        $this->requestParameters['Bid'] = $bid;
+        $this->queryParameters['Bid'] = $bid;
+
+        return $this;
+    }
+
+    /**
+     * @param string $message
+     *
+     * @return $this
+     */
+    public function setMessage($message)
+    {
+        $this->requestParameters['Message'] = $message;
+        $this->queryParameters['Message'] = $message;
+
+        return $this;
+    }
+
+    /**
+     * @param string $taskExtraData
+     *
+     * @return $this
+     */
+    public function setTaskExtraData($taskExtraData)
+    {
+        $this->requestParameters['TaskExtraData'] = $taskExtraData;
+        $this->queryParameters['TaskExtraData'] = $taskExtraData;
+
+        return $this;
+    }
+
+    /**
+     * @param string $taskIdentifier
+     *
+     * @return $this
+     */
+    public function setTaskIdentifier($taskIdentifier)
+    {
+        $this->requestParameters['TaskIdentifier'] = $taskIdentifier;
+        $this->queryParameters['TaskIdentifier'] = $taskIdentifier;
+
+        return $this;
+    }
+}

+ 183 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/PhysicalDeleteResourceRequest.php

@@ -0,0 +1,183 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of PhysicalDeleteResource
+ *
+ * @method string getCountry()
+ * @method string getHid()
+ * @method string getSuccess()
+ * @method string getInterrupt()
+ * @method string getGmtWakeup()
+ * @method string getPk()
+ * @method string getInvoker()
+ * @method string getBid()
+ * @method string getMessage()
+ * @method string getTaskExtraData()
+ * @method string getTaskIdentifier()
+ */
+class PhysicalDeleteResourceRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'PhysicalDeleteResource',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $country
+     *
+     * @return $this
+     */
+    public function setCountry($country)
+    {
+        $this->requestParameters['Country'] = $country;
+        $this->queryParameters['Country'] = $country;
+
+        return $this;
+    }
+
+    /**
+     * @param string $hid
+     *
+     * @return $this
+     */
+    public function setHid($hid)
+    {
+        $this->requestParameters['Hid'] = $hid;
+        $this->queryParameters['Hid'] = $hid;
+
+        return $this;
+    }
+
+    /**
+     * @param string $success
+     *
+     * @return $this
+     */
+    public function setSuccess($success)
+    {
+        $this->requestParameters['Success'] = $success;
+        $this->queryParameters['Success'] = $success;
+
+        return $this;
+    }
+
+    /**
+     * @param string $interrupt
+     *
+     * @return $this
+     */
+    public function setInterrupt($interrupt)
+    {
+        $this->requestParameters['Interrupt'] = $interrupt;
+        $this->queryParameters['Interrupt'] = $interrupt;
+
+        return $this;
+    }
+
+    /**
+     * @param string $gmtWakeup
+     *
+     * @return $this
+     */
+    public function setGmtWakeup($gmtWakeup)
+    {
+        $this->requestParameters['GmtWakeup'] = $gmtWakeup;
+        $this->queryParameters['GmtWakeup'] = $gmtWakeup;
+
+        return $this;
+    }
+
+    /**
+     * @param string $pk
+     *
+     * @return $this
+     */
+    public function setPk($pk)
+    {
+        $this->requestParameters['Pk'] = $pk;
+        $this->queryParameters['Pk'] = $pk;
+
+        return $this;
+    }
+
+    /**
+     * @param string $invoker
+     *
+     * @return $this
+     */
+    public function setInvoker($invoker)
+    {
+        $this->requestParameters['Invoker'] = $invoker;
+        $this->queryParameters['Invoker'] = $invoker;
+
+        return $this;
+    }
+
+    /**
+     * @param string $bid
+     *
+     * @return $this
+     */
+    public function setBid($bid)
+    {
+        $this->requestParameters['Bid'] = $bid;
+        $this->queryParameters['Bid'] = $bid;
+
+        return $this;
+    }
+
+    /**
+     * @param string $message
+     *
+     * @return $this
+     */
+    public function setMessage($message)
+    {
+        $this->requestParameters['Message'] = $message;
+        $this->queryParameters['Message'] = $message;
+
+        return $this;
+    }
+
+    /**
+     * @param string $taskExtraData
+     *
+     * @return $this
+     */
+    public function setTaskExtraData($taskExtraData)
+    {
+        $this->requestParameters['TaskExtraData'] = $taskExtraData;
+        $this->queryParameters['TaskExtraData'] = $taskExtraData;
+
+        return $this;
+    }
+
+    /**
+     * @param string $taskIdentifier
+     *
+     * @return $this
+     */
+    public function setTaskIdentifier($taskIdentifier)
+    {
+        $this->requestParameters['TaskIdentifier'] = $taskIdentifier;
+        $this->queryParameters['TaskIdentifier'] = $taskIdentifier;
+
+        return $this;
+    }
+}

+ 197 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/PlayInfoRequest.php

@@ -0,0 +1,197 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of PlayInfo
+ *
+ * @method string getPlayDomain()
+ * @method string getResourceOwnerId()
+ * @method string getFormats()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getHlsUriToken()
+ * @method string getTerminal()
+ * @method string getOwnerId()
+ * @method string getMediaId()
+ * @method string getRand()
+ * @method string getAuthTimeout()
+ * @method string getAuthInfo()
+ */
+class PlayInfoRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'PlayInfo',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $playDomain
+     *
+     * @return $this
+     */
+    public function setPlayDomain($playDomain)
+    {
+        $this->requestParameters['PlayDomain'] = $playDomain;
+        $this->queryParameters['PlayDomain'] = $playDomain;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $formats
+     *
+     * @return $this
+     */
+    public function setFormats($formats)
+    {
+        $this->requestParameters['Formats'] = $formats;
+        $this->queryParameters['Formats'] = $formats;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $hlsUriToken
+     *
+     * @return $this
+     */
+    public function setHlsUriToken($hlsUriToken)
+    {
+        $this->requestParameters['HlsUriToken'] = $hlsUriToken;
+        $this->queryParameters['HlsUriToken'] = $hlsUriToken;
+
+        return $this;
+    }
+
+    /**
+     * @param string $terminal
+     *
+     * @return $this
+     */
+    public function setTerminal($terminal)
+    {
+        $this->requestParameters['Terminal'] = $terminal;
+        $this->queryParameters['Terminal'] = $terminal;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $mediaId
+     *
+     * @return $this
+     */
+    public function setMediaId($mediaId)
+    {
+        $this->requestParameters['MediaId'] = $mediaId;
+        $this->queryParameters['MediaId'] = $mediaId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $rand
+     *
+     * @return $this
+     */
+    public function setRand($rand)
+    {
+        $this->requestParameters['Rand'] = $rand;
+        $this->queryParameters['Rand'] = $rand;
+
+        return $this;
+    }
+
+    /**
+     * @param string $authTimeout
+     *
+     * @return $this
+     */
+    public function setAuthTimeout($authTimeout)
+    {
+        $this->requestParameters['AuthTimeout'] = $authTimeout;
+        $this->queryParameters['AuthTimeout'] = $authTimeout;
+
+        return $this;
+    }
+
+    /**
+     * @param string $authInfo
+     *
+     * @return $this
+     */
+    public function setAuthInfo($authInfo)
+    {
+        $this->requestParameters['AuthInfo'] = $authInfo;
+        $this->queryParameters['AuthInfo'] = $authInfo;
+
+        return $this;
+    }
+}

+ 85 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/PlayerAuthRequest.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of PlayerAuth
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ */
+class PlayerAuthRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'PlayerAuth',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/QueryAnalysisJobListRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of QueryAnalysisJobList
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getAnalysisJobIds()
+ */
+class QueryAnalysisJobListRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'QueryAnalysisJobList',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $analysisJobIds
+     *
+     * @return $this
+     */
+    public function setAnalysisJobIds($analysisJobIds)
+    {
+        $this->requestParameters['AnalysisJobIds'] = $analysisJobIds;
+        $this->queryParameters['AnalysisJobIds'] = $analysisJobIds;
+
+        return $this;
+    }
+}

+ 99 - 0
vendor/aliyun/aliyun-php-sdk-mts/Mts/Request/V20140618/QueryAnnotationJobListRequest.php

@@ -0,0 +1,99 @@
+<?php
+
+namespace Mts\Request\V20140618;
+
+/**
+ * Request of QueryAnnotationJobList
+ *
+ * @method string getResourceOwnerId()
+ * @method string getResourceOwnerAccount()
+ * @method string getOwnerAccount()
+ * @method string getOwnerId()
+ * @method string getAnnotationJobIds()
+ */
+class QueryAnnotationJobListRequest extends \RpcAcsRequest
+{
+
+    /**
+     * @var string
+     */
+    protected $method = 'POST';
+
+    /**
+     * Class constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct(
+            'Mts',
+            '2014-06-18',
+            'QueryAnnotationJobList',
+            'mts'
+        );
+    }
+
+    /**
+     * @param string $resourceOwnerId
+     *
+     * @return $this
+     */
+    public function setResourceOwnerId($resourceOwnerId)
+    {
+        $this->requestParameters['ResourceOwnerId'] = $resourceOwnerId;
+        $this->queryParameters['ResourceOwnerId'] = $resourceOwnerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $resourceOwnerAccount
+     *
+     * @return $this
+     */
+    public function setResourceOwnerAccount($resourceOwnerAccount)
+    {
+        $this->requestParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+        $this->queryParameters['ResourceOwnerAccount'] = $resourceOwnerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerAccount
+     *
+     * @return $this
+     */
+    public function setOwnerAccount($ownerAccount)
+    {
+        $this->requestParameters['OwnerAccount'] = $ownerAccount;
+        $this->queryParameters['OwnerAccount'] = $ownerAccount;
+
+        return $this;
+    }
+
+    /**
+     * @param string $ownerId
+     *
+     * @return $this
+     */
+    public function setOwnerId($ownerId)
+    {
+        $this->requestParameters['OwnerId'] = $ownerId;
+        $this->queryParameters['OwnerId'] = $ownerId;
+
+        return $this;
+    }
+
+    /**
+     * @param string $annotationJobIds
+     *
+     * @return $this
+     */
+    public function setAnnotationJobIds($annotationJobIds)
+    {
+        $this->requestParameters['AnnotationJobIds'] = $annotationJobIds;
+        $this->queryParameters['AnnotationJobIds'] = $annotationJobIds;
+
+        return $this;
+    }
+}

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott