tccli 3.0.1405.1__py2.py3-none-any.whl → 3.0.1406.1__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tccli/__init__.py +1 -1
 - tccli/services/autoscaling/v20180419/api.json +1 -1
 - tccli/services/batch/v20170312/api.json +1 -1
 - tccli/services/cdb/v20170320/api.json +31 -21
 - tccli/services/cdn/v20180606/api.json +1 -1
 - tccli/services/cloudhsm/v20191112/api.json +10 -10
 - tccli/services/cls/v20201016/api.json +40 -31
 - tccli/services/cls/v20201016/examples.json +8 -2
 - tccli/services/ctem/v20231128/api.json +30 -0
 - tccli/services/dbbrain/v20210527/api.json +17 -7
 - tccli/services/dbbrain/v20210527/examples.json +1 -1
 - tccli/services/dts/v20211206/api.json +13 -3
 - tccli/services/emr/v20190103/api.json +9 -0
 - tccli/services/es/es_client.py +57 -4
 - tccli/services/es/v20250101/api.json +133 -0
 - tccli/services/es/v20250101/examples.json +8 -0
 - tccli/services/ess/ess_client.py +106 -0
 - tccli/services/ess/v20201111/api.json +345 -24
 - tccli/services/ess/v20201111/examples.json +25 -3
 - tccli/services/essbasic/v20210526/api.json +12 -3
 - tccli/services/essbasic/v20210526/examples.json +2 -2
 - tccli/services/gwlb/gwlb_client.py +53 -0
 - tccli/services/gwlb/v20240906/api.json +80 -0
 - tccli/services/gwlb/v20240906/examples.json +8 -0
 - tccli/services/hunyuan/v20230901/api.json +2 -2
 - tccli/services/ioa/ioa_client.py +220 -8
 - tccli/services/ioa/v20220601/api.json +559 -0
 - tccli/services/ioa/v20220601/examples.json +38 -0
 - tccli/services/iotexplorer/iotexplorer_client.py +220 -8
 - tccli/services/iotexplorer/v20190423/api.json +959 -12
 - tccli/services/iotexplorer/v20190423/examples.json +68 -0
 - tccli/services/lcic/v20220817/api.json +2 -2
 - tccli/services/lke/v20231130/api.json +1 -1
 - tccli/services/lke/v20231130/examples.json +2 -2
 - tccli/services/lkeap/v20240522/api.json +1 -1
 - tccli/services/lkeap/v20240522/examples.json +7 -1
 - tccli/services/monitor/monitor_client.py +53 -0
 - tccli/services/monitor/v20180724/api.json +248 -0
 - tccli/services/monitor/v20180724/examples.json +8 -0
 - tccli/services/mps/v20190612/api.json +140 -2
 - tccli/services/mqtt/v20240516/api.json +10 -0
 - tccli/services/mqtt/v20240516/examples.json +3 -9
 - tccli/services/nlp/v20190408/api.json +6 -6
 - tccli/services/oceanus/oceanus_client.py +110 -4
 - tccli/services/oceanus/v20190422/api.json +152 -8
 - tccli/services/oceanus/v20190422/examples.json +16 -0
 - tccli/services/privatedns/privatedns_client.py +641 -58
 - tccli/services/privatedns/v20201028/api.json +923 -12
 - tccli/services/privatedns/v20201028/examples.json +88 -0
 - tccli/services/redis/v20180412/api.json +1 -1
 - tccli/services/teo/v20220901/api.json +51 -51
 - tccli/services/tione/v20211111/api.json +1 -1
 - tccli/services/tke/v20180525/api.json +23 -14
 - tccli/services/tke/v20180525/examples.json +1 -1
 - tccli/services/trtc/v20190722/api.json +9 -9
 - tccli/services/trtc/v20190722/examples.json +1 -1
 - tccli/services/tse/v20201207/api.json +30 -1
 - tccli/services/vpc/v20170312/api.json +11 -2
 - tccli/services/wedata/v20210820/api.json +1281 -601
 - tccli/services/wedata/v20210820/examples.json +127 -157
 - tccli/services/wedata/v20250806/api.json +477 -15
 - tccli/services/wedata/v20250806/examples.json +38 -6
 - tccli/services/wedata/wedata_client.py +216 -4
 - {tccli-3.0.1405.1.dist-info → tccli-3.0.1406.1.dist-info}/METADATA +2 -2
 - {tccli-3.0.1405.1.dist-info → tccli-3.0.1406.1.dist-info}/RECORD +68 -68
 - {tccli-3.0.1405.1.dist-info → tccli-3.0.1406.1.dist-info}/WHEEL +0 -0
 - {tccli-3.0.1405.1.dist-info → tccli-3.0.1406.1.dist-info}/entry_points.txt +0 -0
 - {tccli-3.0.1405.1.dist-info → tccli-3.0.1406.1.dist-info}/license_files/LICENSE +0 -0
 
| 
         @@ -135,7 +135,7 @@ 
     | 
|
| 
       135 
135 
     | 
    
         
             
                "CreateBatchOrganizationAuthorizationUrl": [
         
     | 
| 
       136 
136 
     | 
    
         
             
                  {
         
     | 
| 
       137 
137 
     | 
    
         
             
                    "document": "根据批量注册企业子任务 Id 和超管的三要素生成批量认证链接。\n1. 批量注册企业子任务是由接口 [CreateBatchOrganizationRegistrationTasks创建企业批量认证链接任务接口](https://qian.tencent.com/developers/companyApis/organizations/CreateBatchOrganizationRegistrationTasks)  生成的。\n2. 调用[查询企业批量认证链接DescribeBatchOrganizationRegistrationUrls](https://qian.tencent.com/developers/companyApis/organizations/DescribeBatchOrganizationRegistrationUrls),获得子任务 TaskId。\n3. Endpoint 设置为长链接,会生成一条长链。",
         
     | 
| 
       138 
     | 
    
         
            -
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateBatchOrganizationAuthorizationUrl\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ\",\n        \"ClientIp\": \"8.8.8.8\"\n    },\n    \"SubTaskIds\": [\n        \"yDCHlUUckpaeefmfUxPr7deu6g5PvvJz\",\n        \"yDCHlUUckpaeix9uU0ETNLSzHbAxJxLj\"\n    ],\n    \"AdminName\": \"典子谦\",\n    \"AdminMobile\": \" 
     | 
| 
      
 138 
     | 
    
         
            +
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateBatchOrganizationAuthorizationUrl\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yDwf3UUckps8dvveUEfH3DjvMmg3ZkjQ\",\n        \"ClientIp\": \"8.8.8.8\"\n    },\n    \"SubTaskIds\": [\n        \"yDCHlUUckpaeefmfUxPr7deu6g5PvvJz\",\n        \"yDCHlUUckpaeix9uU0ETNLSzHbAxJxLj\"\n    ],\n    \"AdminName\": \"典子谦\",\n    \"AdminMobile\": \"1320****000\",\n    \"AdminIdCardType\": \"ID_CARD\",\n    \"AdminIdCardNumber\": \"620000198802020000\",\n    \"Endpoint\": \"HTTP\"\n}",
         
     | 
| 
       139 
139 
     | 
    
         
             
                    "output": "{\n    \"Response\": {\n        \"AuthUrl\": \"https://res.ess.tencent.cn/cdn/h5-activity-dev/jump-mp.html?to=AUTHORIZATION_ENTERPRISE_FOR_BATCH_SUBMIT&shortKey=yDCHHURDfCVEoeNYGCc6\",\n        \"ErrorMessages\": [],\n        \"ExpireTime\": 1724165376,\n        \"RequestId\": \"s1723560576553977682\"\n    }\n}",
         
     | 
| 
       140 
140 
     | 
    
         
             
                    "title": "根据批量注册企业子任务 Id 和超管的三要素生成批量认证链接"
         
     | 
| 
       141 
141 
     | 
    
         
             
                  }
         
     | 
| 
         @@ -254,6 +254,14 @@ 
     | 
|
| 
       254 
254 
     | 
    
         
             
                    "title": "生成动态签署人批量领取链接-并且预设企业名称"
         
     | 
| 
       255 
255 
     | 
    
         
             
                  }
         
     | 
| 
       256 
256 
     | 
    
         
             
                ],
         
     | 
| 
      
 257 
     | 
    
         
            +
                "CreateContractComparisonTask": [
         
     | 
| 
      
 258 
     | 
    
         
            +
                  {
         
     | 
| 
      
 259 
     | 
    
         
            +
                    "document": "此接口(CreateContractComparisonTask)用于创建合同对比任务。\n适用场景:对比两份合同中字段(如:金额、日期、甲方名称等)的内容差异。",
         
     | 
| 
      
 260 
     | 
    
         
            +
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateContractDiffTaskWebUrl\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yD*****************ZC\"\n    },\n    \"DiffFileResourceId\": \"yD***************yQ\",\n    \"OriginFileResourceId\": \"yD**************Xy\",\n    \"Comment\": \"这是一个合同对比任务\",\n    \"UserData\": \"QmFzZTY0IEJhc2U2NCA\",\n    \"Tags\": [\n        {\n            \"TagKey\": \"电子签\",\n            \"TagValue\": \"对比任务\"\n        }\n    ]\n}",
         
     | 
| 
      
 261 
     | 
    
         
            +
                    "output": "{\n    \"Response\": {\n        \"RequestId\": \"s1760425670608827095\",\n        \"TaskId\": \"yD*************Ks\",\n        \"UserData\": \"QmFzZTY0IEJhc2U2NCA\"\n    }\n}",
         
     | 
| 
      
 262 
     | 
    
         
            +
                    "title": "创建合同对比任务"
         
     | 
| 
      
 263 
     | 
    
         
            +
                  }
         
     | 
| 
      
 264 
     | 
    
         
            +
                ],
         
     | 
| 
       257 
265 
     | 
    
         
             
                "CreateContractDiffTaskWebUrl": [
         
     | 
| 
       258 
266 
     | 
    
         
             
                  {
         
     | 
| 
       259 
267 
     | 
    
         
             
                    "document": "",
         
     | 
| 
         @@ -263,8 +271,8 @@ 
     | 
|
| 
       263 
271 
     | 
    
         
             
                  },
         
     | 
| 
       264 
272 
     | 
    
         
             
                  {
         
     | 
| 
       265 
273 
     | 
    
         
             
                    "document": "",
         
     | 
| 
       266 
     | 
    
         
            -
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateContractDiffTaskWebUrl\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yDw9iUUgyg36ykr3Ux4GQpt1FPWYQOZC\"\n    },\n    \"OriginalFileResourceId\": \"yDttXUUckpx90i17UxPpcHHE1VDpNJPW\",\n    \"DiffFileResourceId\": \"yDttXUUckpx90i1xUxPpcHHyPdyqVErm\",\n    \"SkipFileUpload\": true\n}",
         
     | 
| 
       267 
     | 
    
         
            -
                    "output": "{\n    \"Response\": {\n        \"RequestId\": \"s1748937464610832514\",\n        \"TaskId\": \"yDt31UUckpx91cypUyoAic6wP2oyarMN\",\n        \"WebUrl\": \"https://embed.qian.tencent.cn/contract-compare?embed=1&code=yDt31UUckpx9196lUxKwEYgzw4fEWCom&channel=TENCENTCLOUD&embedType=CONTRACT_DIFF&businessType=TASK_ID&businessId=yDt31UUckpx91cypUyoAic6wP2oyarMN\"\n    }\n}",
         
     | 
| 
      
 274 
     | 
    
         
            +
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateContractDiffTaskWebUrl\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yDw9iUUgyg36ykr3Ux4GQpt1FPWYQOZC\"\n    },\n    \"OriginalFileResourceId\": \"yDttXUUckpx90i17UxPpcHHE1VDpNJPW\",\n    \"DiffFileResourceId\": \"yDttXUUckpx90i1xUxPpcHHyPdyqVErm\",\n    \"SkipFileUpload\": true,\n    \"UserData\": \"QmFzZTY0IEJhc2U2NCA\",\n    \"Tags\": [\n        {\n            \"TagKey\": \"key1\",\n            \"TagValue\": \"value1\"\n        }\n    ]\n}",
         
     | 
| 
      
 275 
     | 
    
         
            +
                    "output": "{\n    \"Response\": {\n        \"RequestId\": \"s1748937464610832514\",\n        \"TaskId\": \"yDt31UUckpx91cypUyoAic6wP2oyarMN\",\n        \"WebUrl\": \"https://embed.qian.tencent.cn/contract-compare?embed=1&code=yDt31UUckpx9196lUxKwEYgzw4fEWCom&channel=TENCENTCLOUD&embedType=CONTRACT_DIFF&businessType=TASK_ID&businessId=yDt31UUckpx91cypUyoAic6wP2oyarMN\",\n        \"UserData\": \"QmFzZTY0IEJhc2U2NCA\"\n    }\n}",
         
     | 
| 
       268 
276 
     | 
    
         
             
                    "title": "创建合同对比web页面 - 跳过文件上传确认页"
         
     | 
| 
       269 
277 
     | 
    
         
             
                  }
         
     | 
| 
       270 
278 
     | 
    
         
             
                ],
         
     | 
| 
         @@ -1504,6 +1512,12 @@ 
     | 
|
| 
       1504 
1512 
     | 
    
         
             
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeContractComparisonTask\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yDwqbUUckp3o2rzmUxHsV0j1FlhYIKo7\"\n    },\n    \"TaskId\": \"yDtrrUUckp94goxhUyjVZ8rSEQ0lg7vb\"\n}",
         
     | 
| 
       1505 
1513 
     | 
    
         
             
                    "output": "{\n    \"Response\": {\n        \"AddDiffCount\": 7,\n        \"ChangeDiffCount\": 2,\n        \"Comment\": \"备注备注备注\",\n        \"CreateTime\": 1758526698,\n        \"DeleteDiffCount\": 3,\n        \"DiffFileResourceId\": \"yDtryUUckp9tv5kcUEdITpJ9VXDn080c\",\n        \"Message\": \"\",\n        \"Operator\": \"yDtGuUUckp955n9yUECLj6JusBmg10dc\",\n        \"OriginalFileResourceId\": \"yDtryUUckp9tv5odUEdITpJvu1v2faCj\",\n        \"RequestId\": \"s1760000134519523795\",\n        \"Status\": 2,\n        \"TaskId\": \"yDtrrUUckp94goxhUyjVZ8rSEQ0lg7vb\",\n        \"TotalDiffCount\": 12\n    }\n}",
         
     | 
| 
       1506 
1514 
     | 
    
         
             
                    "title": "查询合同对比任务结果"
         
     | 
| 
      
 1515 
     | 
    
         
            +
                  },
         
     | 
| 
      
 1516 
     | 
    
         
            +
                  {
         
     | 
| 
      
 1517 
     | 
    
         
            +
                    "document": "",
         
     | 
| 
      
 1518 
     | 
    
         
            +
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeContractComparisonTask\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yDwqbUUckp3o2rzmUxHsV0j1FlhYIKo7\"\n    },\n    \"TaskId\": \"yDtrrUUckp94goxhUyjVZ8rSEQ0lg7vb\",\n    \"ShowDetail\": true\n}",
         
     | 
| 
      
 1519 
     | 
    
         
            +
                    "output": "{\n    \"Response\": {\n        \"AddDiffCount\": 7,\n        \"ChangeDiffCount\": 2,\n        \"Comment\": \"测试备注\",\n        \"ComparisonDetail\": [\n            {\n                \"ComparisonType\": \"delete\",\n                \"ContentType\": \"text\",\n                \"DiffText\": \"\",\n                \"OriginText\": \"@huaxi\"\n            },\n            {\n                \"ComparisonType\": \"change\",\n                \"ContentType\": \"text\",\n                \"DiffText\": \"完整地填写上\",\n                \"OriginText\": \"请乙方务必准确、完整\"\n            },\n            {\n                \"ComparisonType\": \"add\",\n                \"ContentType\": \"text\",\n                \"DiffText\": \"行贷款本息\",\n                \"OriginText\": \"\"\n            }\n        ],\n        \"CreateTime\": 1760430451,\n        \"DeleteDiffCount\": 3,\n        \"DiffFileResourceId\": \"yDtrDUUckp99jn93UE5rKNiyiKd4XGyQ\",\n        \"Message\": \"\",\n        \"Operator\": \"yDt49UUckp936q0sUx2QXTeCzkDPurYe\",\n        \"OriginalFileResourceId\": \"yDtrDUUckp99jn9kUE5rKNiyseDep5Xy\",\n        \"RequestId\": \"s1760430603916269519\",\n        \"Status\": 2,\n        \"TaskId\": \"yDtTFUUckp9elogcUudRpd6uv7cdx6Qa\",\n        \"TotalDiffCount\": 12\n    }\n}",
         
     | 
| 
      
 1520 
     | 
    
         
            +
                    "title": "查询合同对比任务结果(展示详情)"
         
     | 
| 
       1507 
1521 
     | 
    
         
             
                  }
         
     | 
| 
       1508 
1522 
     | 
    
         
             
                ],
         
     | 
| 
       1509 
1523 
     | 
    
         
             
                "DescribeContractDiffTaskWebUrl": [
         
     | 
| 
         @@ -1898,6 +1912,14 @@ 
     | 
|
| 
       1898 
1912 
     | 
    
         
             
                    "title": "关闭个人自动签"
         
     | 
| 
       1899 
1913 
     | 
    
         
             
                  }
         
     | 
| 
       1900 
1914 
     | 
    
         
             
                ],
         
     | 
| 
      
 1915 
     | 
    
         
            +
                "ExportContractComparisonTask": [
         
     | 
| 
      
 1916 
     | 
    
         
            +
                  {
         
     | 
| 
      
 1917 
     | 
    
         
            +
                    "document": "本接口(ExportContractComparisonTask)用于导出指定的合同对比任务的结果文件。任务完成后,用户可根据不同的使用场景,选择导出可视化对比报告(PDF)或结构化差异明细(EXCEL)。",
         
     | 
| 
      
 1918 
     | 
    
         
            +
                    "input": "POST / HTTP/1.1\nHost: ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeContractComparisonTask\n<公共请求参数>\n\n{\n    \"Operator\": {\n        \"UserId\": \"yDwqbUUckp3o2rzmUxHsV0j1FlhYIKo7\"\n    },\n    \"TaskId\": \"yDtrrUUckp94goxhUyjVZ8rSEQ0lg7vb\",\n    \"ExportType\": 1,\n    \"Ignore\": true\n}",
         
     | 
| 
      
 1919 
     | 
    
         
            +
                    "output": "{\n    \"Response\": {\n        \"ExpireTime\": 1760182715,\n        \"RequestId\": \"s1760182415600292411\",\n        \"ResourceUrl\": \"https://file.test.ess.tencent.cn/bresource/resource/resource/0/0.PDF?hkey=*****************\"\n    }\n}",
         
     | 
| 
      
 1920 
     | 
    
         
            +
                    "title": "导出合同对比任务详情"
         
     | 
| 
      
 1921 
     | 
    
         
            +
                  }
         
     | 
| 
      
 1922 
     | 
    
         
            +
                ],
         
     | 
| 
       1901 
1923 
     | 
    
         
             
                "GetTaskResultApi": [
         
     | 
| 
       1902 
1924 
     | 
    
         
             
                  {
         
     | 
| 
       1903 
1925 
     | 
    
         
             
                    "document": "通过转换任务Id查询任务状态",
         
     | 
| 
         @@ -1954,7 +1954,7 @@ 
     | 
|
| 
       1954 
1954 
     | 
    
         
             
                    },
         
     | 
| 
       1955 
1955 
     | 
    
         
             
                    {
         
     | 
| 
       1956 
1956 
     | 
    
         
             
                      "disabled": false,
         
     | 
| 
       1957 
     | 
    
         
            -
                      "document": "是否允许此链接中签署方批量拒签。 <ul><li>false (默认): 不允许批量拒签</li> <li>true : 允许批量拒签。</li></ul 
     | 
| 
      
 1957 
     | 
    
         
            +
                      "document": "是否允许此链接中签署方批量拒签。 <ul><li>false (默认): 不允许批量拒签</li> <li>true : 允许批量拒签。</li></ul>注:`当前合同组不支持批量拒签功能。请对合同组中的每个子合同逐一执行拒签操作,以达到拒签整个合同组的效果。`",
         
     | 
| 
       1958 
1958 
     | 
    
         
             
                      "example": "false",
         
     | 
| 
       1959 
1959 
     | 
    
         
             
                      "member": "bool",
         
     | 
| 
       1960 
1960 
     | 
    
         
             
                      "name": "CanBatchReject",
         
     | 
| 
         @@ -2144,7 +2144,7 @@ 
     | 
|
| 
       2144 
2144 
     | 
    
         
             
                    },
         
     | 
| 
       2145 
2145 
     | 
    
         
             
                    {
         
     | 
| 
       2146 
2146 
     | 
    
         
             
                      "disabled": false,
         
     | 
| 
       2147 
     | 
    
         
            -
                      "document": "是否允许此链接中签署方批量拒签。 <ul><li>false (默认): 不允许批量拒签</li> <li>true : 允许批量拒签。</li></ul>\n注:`1.  
     | 
| 
      
 2147 
     | 
    
         
            +
                      "document": "是否允许此链接中签署方批量拒签。 <ul><li>false (默认): 不允许批量拒签</li> <li>true : 允许批量拒签。</li></ul>\n注:`1. 当前合同组不支持批量拒签功能。请对合同组中的每个子合同逐一执行拒签操作,以达到拒签整个合同组的效果。2. 如果是链接直接跳转至详情页(JumpToDetail参数为true),也不支持批量拒签功能`",
         
     | 
| 
       2148 
2148 
     | 
    
         
             
                      "example": "false",
         
     | 
| 
       2149 
2149 
     | 
    
         
             
                      "member": "bool",
         
     | 
| 
       2150 
2150 
     | 
    
         
             
                      "name": "CanBatchReject",
         
     | 
| 
         @@ -3399,7 +3399,7 @@ 
     | 
|
| 
       3399 
3399 
     | 
    
         
             
                    {
         
     | 
| 
       3400 
3400 
     | 
    
         
             
                      "disabled": false,
         
     | 
| 
       3401 
3401 
     | 
    
         
             
                      "document": "请指定需执行批量签署的流程ID,数量范围为1-100。 您可登录腾讯电子签控制台,浏览 \"合同\"->\"合同中心\" 以查阅某一合同的FlowId(在页面中显示为合同ID)。 用户将利用链接对这些合同实施批量操作。\t",
         
     | 
| 
       3402 
     | 
    
         
            -
                      "example": "[yDxxxxxxxxxxxxxxxxxxxxxxxx]",
         
     | 
| 
      
 3402 
     | 
    
         
            +
                      "example": "[\"yDxxxxxxxxxxxxxxxxxxxxxxxx\"]",
         
     | 
| 
       3403 
3403 
     | 
    
         
             
                      "member": "string",
         
     | 
| 
       3404 
3404 
     | 
    
         
             
                      "name": "FlowIds",
         
     | 
| 
       3405 
3405 
     | 
    
         
             
                      "required": false,
         
     | 
| 
         @@ -3440,6 +3440,15 @@ 
     | 
|
| 
       3440 
3440 
     | 
    
         
             
                      "name": "FlowGroupId",
         
     | 
| 
       3441 
3441 
     | 
    
         
             
                      "required": false,
         
     | 
| 
       3442 
3442 
     | 
    
         
             
                      "type": "string"
         
     | 
| 
      
 3443 
     | 
    
         
            +
                    },
         
     | 
| 
      
 3444 
     | 
    
         
            +
                    {
         
     | 
| 
      
 3445 
     | 
    
         
            +
                      "disabled": false,
         
     | 
| 
      
 3446 
     | 
    
         
            +
                      "document": "是否允许此链接中签署方批量拒签。 <ul><li>false (默认): 不允许批量拒签</li> <li>true : 允许批量拒签。</li></ul>注:`当前合同组不支持批量拒签功能。请对合同组中的每个子合同逐一执行拒签操作,以达到拒签整个合同组的效果。`",
         
     | 
| 
      
 3447 
     | 
    
         
            +
                      "example": "false",
         
     | 
| 
      
 3448 
     | 
    
         
            +
                      "member": "bool",
         
     | 
| 
      
 3449 
     | 
    
         
            +
                      "name": "CanBatchReject",
         
     | 
| 
      
 3450 
     | 
    
         
            +
                      "required": false,
         
     | 
| 
      
 3451 
     | 
    
         
            +
                      "type": "bool"
         
     | 
| 
       3443 
3452 
     | 
    
         
             
                    }
         
     | 
| 
       3444 
3453 
     | 
    
         
             
                  ],
         
     | 
| 
       3445 
3454 
     | 
    
         
             
                  "type": "object"
         
     | 
| 
         @@ -160,8 +160,8 @@ 
     | 
|
| 
       160 
160 
     | 
    
         
             
                    "title": "生成saas企业经办人小程序批量签署链接"
         
     | 
| 
       161 
161 
     | 
    
         
             
                  },
         
     | 
| 
       162 
162 
     | 
    
         
             
                  {
         
     | 
| 
       163 
     | 
    
         
            -
                    "document": "合同(yDR1AUUgygja******uO4zjEB8zAkJEFN)中的参与方为:【姓名:张三 ,手机号: 
     | 
| 
       164 
     | 
    
         
            -
                    "input": "POST / HTTP/1.1\nHost:  ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateBatchSignUrl\n<公共请求参数>\n\n{\n    \"IdCardNumber\": \"\",\n    \"IdCardType\": \"\",\n    \"Name\": \"张三\",\n    \"NotifyType\": \"SMS\",\n    \"Mobile\": \" 
     | 
| 
      
 163 
     | 
    
         
            +
                    "document": "合同(yDR1AUUgygja******uO4zjEB8zAkJEFN)中的参与方为:【姓名:张三 ,手机号:1888****888】,发起的时候并未填入证件号且1888****888手机号并未在腾讯电子签注册实名。 \n\n此时,如果使用 【姓名:张三,手机号:1777****777】生成批量签署链接,且FlowIds参数传入(yDR1AUUgygja******uO4zjEB8zAkJEFN)时,会报错,提示签署方信息不存在。\n\n因为手机号不同,无法定位到签署方。 此时,除了将手机号修改成 1888****888 之外来解决问题,也可以在发起合同和生成链接的时候传入证件信息,保证姓名和证件一致的情况下,手机号可以不相同。",
         
     | 
| 
      
 164 
     | 
    
         
            +
                    "input": "POST / HTTP/1.1\nHost:  ess.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateBatchSignUrl\n<公共请求参数>\n\n{\n    \"IdCardNumber\": \"\",\n    \"IdCardType\": \"\",\n    \"Name\": \"张三\",\n    \"NotifyType\": \"SMS\",\n    \"Mobile\": \"1777****777\",\n    \"Agent\": {\n        \"ProxyOperator\": {\n            \"OpenId\": \"test_open_id\"\n        },\n        \"ProxyOrganizationOpenId\": \"test_org_open_id\",\n        \"AppId\": \"yDxbWUyKQ*******4zjEB8mxCcDjAyF\"\n    },\n    \"FlowIds\": [\n        \"yDR1AUUgygja******uO4zjEB8zAkJEFN\"\n    ]\n}",
         
     | 
| 
       165 
165 
     | 
    
         
             
                    "output": "{\n    \"Response\": {\n        \"Error\": {\n            \"Code\": \"InvalidParameter\",\n            \"Message\": \"合同[yDR1AUUgygja******uO4zjEB8zAkJEFN]不包含链接中的参与方信息, 请确保链接姓名手机号等信息与合同中一致\"\n        },\n        \"RequestId\": \"5beb5f54-cf3d-4c26-a4ee-a97c85196a3e\"\n    }\n}",
         
     | 
| 
       166 
166 
     | 
    
         
             
                    "title": "合同发起的时候签署方信息和生成链接中的不一致"
         
     | 
| 
       167 
167 
     | 
    
         
             
                  },
         
     | 
| 
         @@ -589,6 +589,58 @@ def doAssociateTargetGroups(args, parsed_globals): 
     | 
|
| 
       589 
589 
     | 
    
         
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
       590 
590 
     | 
    
         | 
| 
       591 
591 
     | 
    
         | 
| 
      
 592 
     | 
    
         
            +
            def doDescribeGatewayLoadBalancersResources(args, parsed_globals):
         
     | 
| 
      
 593 
     | 
    
         
            +
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
      
 594 
     | 
    
         
            +
             
     | 
| 
      
 595 
     | 
    
         
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         
     | 
| 
      
 596 
     | 
    
         
            +
                    cred = credential.CVMRoleCredential()
         
     | 
| 
      
 597 
     | 
    
         
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         
     | 
| 
      
 598 
     | 
    
         
            +
                    cred = credential.STSAssumeRoleCredential(
         
     | 
| 
      
 599 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         
     | 
| 
      
 600 
     | 
    
         
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         
     | 
| 
      
 601 
     | 
    
         
            +
                    )
         
     | 
| 
      
 602 
     | 
    
         
            +
                elif os.getenv(OptionsDefine.ENV_TKE_REGION)             and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID)             and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE)             and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
         
     | 
| 
      
 603 
     | 
    
         
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         
     | 
| 
      
 604 
     | 
    
         
            +
                else:
         
     | 
| 
      
 605 
     | 
    
         
            +
                    cred = credential.Credential(
         
     | 
| 
      
 606 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         
     | 
| 
      
 607 
     | 
    
         
            +
                    )
         
     | 
| 
      
 608 
     | 
    
         
            +
                http_profile = HttpProfile(
         
     | 
| 
      
 609 
     | 
    
         
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         
     | 
| 
      
 610 
     | 
    
         
            +
                    reqMethod="POST",
         
     | 
| 
      
 611 
     | 
    
         
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         
     | 
| 
      
 612 
     | 
    
         
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         
     | 
| 
      
 613 
     | 
    
         
            +
                )
         
     | 
| 
      
 614 
     | 
    
         
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         
     | 
| 
      
 615 
     | 
    
         
            +
                if g_param[OptionsDefine.Language]:
         
     | 
| 
      
 616 
     | 
    
         
            +
                    profile.language = g_param[OptionsDefine.Language]
         
     | 
| 
      
 617 
     | 
    
         
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 618 
     | 
    
         
            +
                client = mod.GwlbClient(cred, g_param[OptionsDefine.Region], profile)
         
     | 
| 
      
 619 
     | 
    
         
            +
                client._sdkVersion += ("_CLI_" + __version__)
         
     | 
| 
      
 620 
     | 
    
         
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 621 
     | 
    
         
            +
                model = models.DescribeGatewayLoadBalancersResourcesRequest()
         
     | 
| 
      
 622 
     | 
    
         
            +
                model.from_json_string(json.dumps(args))
         
     | 
| 
      
 623 
     | 
    
         
            +
                start_time = time.time()
         
     | 
| 
      
 624 
     | 
    
         
            +
                while True:
         
     | 
| 
      
 625 
     | 
    
         
            +
                    rsp = client.DescribeGatewayLoadBalancersResources(model)
         
     | 
| 
      
 626 
     | 
    
         
            +
                    result = rsp.to_json_string()
         
     | 
| 
      
 627 
     | 
    
         
            +
                    try:
         
     | 
| 
      
 628 
     | 
    
         
            +
                        json_obj = json.loads(result)
         
     | 
| 
      
 629 
     | 
    
         
            +
                    except TypeError as e:
         
     | 
| 
      
 630 
     | 
    
         
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         
     | 
| 
      
 631 
     | 
    
         
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         
     | 
| 
      
 632 
     | 
    
         
            +
                        break
         
     | 
| 
      
 633 
     | 
    
         
            +
                    cur_time = time.time()
         
     | 
| 
      
 634 
     | 
    
         
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         
     | 
| 
      
 635 
     | 
    
         
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         
     | 
| 
      
 636 
     | 
    
         
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         
     | 
| 
      
 637 
     | 
    
         
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         
     | 
| 
      
 638 
     | 
    
         
            +
                    else:
         
     | 
| 
      
 639 
     | 
    
         
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         
     | 
| 
      
 640 
     | 
    
         
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         
     | 
| 
      
 641 
     | 
    
         
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
      
 642 
     | 
    
         
            +
             
     | 
| 
      
 643 
     | 
    
         
            +
             
     | 
| 
       592 
644 
     | 
    
         
             
            def doDescribeGatewayLoadBalancers(args, parsed_globals):
         
     | 
| 
       593 
645 
     | 
    
         
             
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
       594 
646 
     | 
    
         | 
| 
         @@ -975,6 +1027,7 @@ ACTION_MAP = { 
     | 
|
| 
       975 
1027 
     | 
    
         
             
                "DisassociateTargetGroups": doDisassociateTargetGroups,
         
     | 
| 
       976 
1028 
     | 
    
         
             
                "RegisterTargetGroupInstances": doRegisterTargetGroupInstances,
         
     | 
| 
       977 
1029 
     | 
    
         
             
                "AssociateTargetGroups": doAssociateTargetGroups,
         
     | 
| 
      
 1030 
     | 
    
         
            +
                "DescribeGatewayLoadBalancersResources": doDescribeGatewayLoadBalancersResources,
         
     | 
| 
       978 
1031 
     | 
    
         
             
                "DescribeGatewayLoadBalancers": doDescribeGatewayLoadBalancers,
         
     | 
| 
       979 
1032 
     | 
    
         
             
                "ModifyGatewayLoadBalancerAttribute": doModifyGatewayLoadBalancerAttribute,
         
     | 
| 
       980 
1033 
     | 
    
         
             
                "ModifyTargetGroupInstancesWeight": doModifyTargetGroupInstancesWeight,
         
     | 
| 
         @@ -49,6 +49,13 @@ 
     | 
|
| 
       49 
49 
     | 
    
         
             
                  "output": "DescribeGatewayLoadBalancersResponse",
         
     | 
| 
       50 
50 
     | 
    
         
             
                  "status": "online"
         
     | 
| 
       51 
51 
     | 
    
         
             
                },
         
     | 
| 
      
 52 
     | 
    
         
            +
                "DescribeGatewayLoadBalancersResources": {
         
     | 
| 
      
 53 
     | 
    
         
            +
                  "document": "查询用户在当前地域支持可用区列表",
         
     | 
| 
      
 54 
     | 
    
         
            +
                  "input": "DescribeGatewayLoadBalancersResourcesRequest",
         
     | 
| 
      
 55 
     | 
    
         
            +
                  "name": "查询用户在当前地域支持可用区列表",
         
     | 
| 
      
 56 
     | 
    
         
            +
                  "output": "DescribeGatewayLoadBalancersResourcesResponse",
         
     | 
| 
      
 57 
     | 
    
         
            +
                  "status": "online"
         
     | 
| 
      
 58 
     | 
    
         
            +
                },
         
     | 
| 
       52 
59 
     | 
    
         
             
                "DescribeTargetGroupInstanceStatus": {
         
     | 
| 
       53 
60 
     | 
    
         
             
                  "document": "查询目标组后端服务状态。目前仅支持网关负载均衡类型的目标组支持查询后端服务状态。",
         
     | 
| 
       54 
61 
     | 
    
         
             
                  "input": "DescribeTargetGroupInstanceStatusRequest",
         
     | 
| 
         @@ -592,6 +599,62 @@ 
     | 
|
| 
       592 
599 
     | 
    
         
             
                  ],
         
     | 
| 
       593 
600 
     | 
    
         
             
                  "type": "object"
         
     | 
| 
       594 
601 
     | 
    
         
             
                },
         
     | 
| 
      
 602 
     | 
    
         
            +
                "DescribeGatewayLoadBalancersResourcesRequest": {
         
     | 
| 
      
 603 
     | 
    
         
            +
                  "document": "DescribeGatewayLoadBalancersResources请求参数结构体",
         
     | 
| 
      
 604 
     | 
    
         
            +
                  "members": [
         
     | 
| 
      
 605 
     | 
    
         
            +
                    {
         
     | 
| 
      
 606 
     | 
    
         
            +
                      "disabled": false,
         
     | 
| 
      
 607 
     | 
    
         
            +
                      "document": "返回可用区资源列表数目,默认20,最大值100。",
         
     | 
| 
      
 608 
     | 
    
         
            +
                      "example": "20",
         
     | 
| 
      
 609 
     | 
    
         
            +
                      "member": "uint64",
         
     | 
| 
      
 610 
     | 
    
         
            +
                      "name": "Limit",
         
     | 
| 
      
 611 
     | 
    
         
            +
                      "required": false,
         
     | 
| 
      
 612 
     | 
    
         
            +
                      "type": "int"
         
     | 
| 
      
 613 
     | 
    
         
            +
                    },
         
     | 
| 
      
 614 
     | 
    
         
            +
                    {
         
     | 
| 
      
 615 
     | 
    
         
            +
                      "disabled": false,
         
     | 
| 
      
 616 
     | 
    
         
            +
                      "document": "返回可用区资源列表起始偏移量,默认0。",
         
     | 
| 
      
 617 
     | 
    
         
            +
                      "example": "0",
         
     | 
| 
      
 618 
     | 
    
         
            +
                      "member": "uint64",
         
     | 
| 
      
 619 
     | 
    
         
            +
                      "name": "Offset",
         
     | 
| 
      
 620 
     | 
    
         
            +
                      "required": false,
         
     | 
| 
      
 621 
     | 
    
         
            +
                      "type": "int"
         
     | 
| 
      
 622 
     | 
    
         
            +
                    }
         
     | 
| 
      
 623 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 624 
     | 
    
         
            +
                  "type": "object"
         
     | 
| 
      
 625 
     | 
    
         
            +
                },
         
     | 
| 
      
 626 
     | 
    
         
            +
                "DescribeGatewayLoadBalancersResourcesResponse": {
         
     | 
| 
      
 627 
     | 
    
         
            +
                  "document": "DescribeGatewayLoadBalancersResources返回参数结构体",
         
     | 
| 
      
 628 
     | 
    
         
            +
                  "members": [
         
     | 
| 
      
 629 
     | 
    
         
            +
                    {
         
     | 
| 
      
 630 
     | 
    
         
            +
                      "disabled": false,
         
     | 
| 
      
 631 
     | 
    
         
            +
                      "document": "可用区支持的资源列表。",
         
     | 
| 
      
 632 
     | 
    
         
            +
                      "example": "无",
         
     | 
| 
      
 633 
     | 
    
         
            +
                      "member": "ZoneResource",
         
     | 
| 
      
 634 
     | 
    
         
            +
                      "name": "ZoneResourceSet",
         
     | 
| 
      
 635 
     | 
    
         
            +
                      "output_required": false,
         
     | 
| 
      
 636 
     | 
    
         
            +
                      "type": "list",
         
     | 
| 
      
 637 
     | 
    
         
            +
                      "value_allowed_null": false
         
     | 
| 
      
 638 
     | 
    
         
            +
                    },
         
     | 
| 
      
 639 
     | 
    
         
            +
                    {
         
     | 
| 
      
 640 
     | 
    
         
            +
                      "disabled": false,
         
     | 
| 
      
 641 
     | 
    
         
            +
                      "document": "可用区资源列表数目。",
         
     | 
| 
      
 642 
     | 
    
         
            +
                      "example": "3",
         
     | 
| 
      
 643 
     | 
    
         
            +
                      "member": "uint64",
         
     | 
| 
      
 644 
     | 
    
         
            +
                      "name": "TotalCount",
         
     | 
| 
      
 645 
     | 
    
         
            +
                      "output_required": false,
         
     | 
| 
      
 646 
     | 
    
         
            +
                      "type": "int",
         
     | 
| 
      
 647 
     | 
    
         
            +
                      "value_allowed_null": false
         
     | 
| 
      
 648 
     | 
    
         
            +
                    },
         
     | 
| 
      
 649 
     | 
    
         
            +
                    {
         
     | 
| 
      
 650 
     | 
    
         
            +
                      "document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
         
     | 
| 
      
 651 
     | 
    
         
            +
                      "member": "string",
         
     | 
| 
      
 652 
     | 
    
         
            +
                      "name": "RequestId",
         
     | 
| 
      
 653 
     | 
    
         
            +
                      "type": "string"
         
     | 
| 
      
 654 
     | 
    
         
            +
                    }
         
     | 
| 
      
 655 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 656 
     | 
    
         
            +
                  "type": "object"
         
     | 
| 
      
 657 
     | 
    
         
            +
                },
         
     | 
| 
       595 
658 
     | 
    
         
             
                "DescribeGatewayLoadBalancersResponse": {
         
     | 
| 
       596 
659 
     | 
    
         
             
                  "document": "DescribeGatewayLoadBalancers返回参数结构体",
         
     | 
| 
       597 
660 
     | 
    
         
             
                  "members": [
         
     | 
| 
         @@ -2026,6 +2089,23 @@ 
     | 
|
| 
       2026 
2089 
     | 
    
         
             
                    }
         
     | 
| 
       2027 
2090 
     | 
    
         
             
                  ],
         
     | 
| 
       2028 
2091 
     | 
    
         
             
                  "usage": "out"
         
     | 
| 
      
 2092 
     | 
    
         
            +
                },
         
     | 
| 
      
 2093 
     | 
    
         
            +
                "ZoneResource": {
         
     | 
| 
      
 2094 
     | 
    
         
            +
                  "document": "可用区资源列表",
         
     | 
| 
      
 2095 
     | 
    
         
            +
                  "members": [
         
     | 
| 
      
 2096 
     | 
    
         
            +
                    {
         
     | 
| 
      
 2097 
     | 
    
         
            +
                      "disabled": false,
         
     | 
| 
      
 2098 
     | 
    
         
            +
                      "document": "主可用区",
         
     | 
| 
      
 2099 
     | 
    
         
            +
                      "example": "ap-guangzhou-2",
         
     | 
| 
      
 2100 
     | 
    
         
            +
                      "member": "string",
         
     | 
| 
      
 2101 
     | 
    
         
            +
                      "name": "MasterZone",
         
     | 
| 
      
 2102 
     | 
    
         
            +
                      "output_required": false,
         
     | 
| 
      
 2103 
     | 
    
         
            +
                      "required": false,
         
     | 
| 
      
 2104 
     | 
    
         
            +
                      "type": "string",
         
     | 
| 
      
 2105 
     | 
    
         
            +
                      "value_allowed_null": false
         
     | 
| 
      
 2106 
     | 
    
         
            +
                    }
         
     | 
| 
      
 2107 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 2108 
     | 
    
         
            +
                  "usage": "both"
         
     | 
| 
       2029 
2109 
     | 
    
         
             
                }
         
     | 
| 
       2030 
2110 
     | 
    
         
             
              },
         
     | 
| 
       2031 
2111 
     | 
    
         
             
              "version": "1.0"
         
     | 
| 
         @@ -62,6 +62,14 @@ 
     | 
|
| 
       62 
62 
     | 
    
         
             
                    "title": "指定标签查询网关负载均衡"
         
     | 
| 
       63 
63 
     | 
    
         
             
                  }
         
     | 
| 
       64 
64 
     | 
    
         
             
                ],
         
     | 
| 
      
 65 
     | 
    
         
            +
                "DescribeGatewayLoadBalancersResources": [
         
     | 
| 
      
 66 
     | 
    
         
            +
                  {
         
     | 
| 
      
 67 
     | 
    
         
            +
                    "document": "查询部署了GWLB集群的可用区",
         
     | 
| 
      
 68 
     | 
    
         
            +
                    "input": "POST / HTTP/1.1\nHost: gwlb.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeGatewayLoadBalancersResources\n<公共请求参数>\n\n{}",
         
     | 
| 
      
 69 
     | 
    
         
            +
                    "output": "{\n    \"Response\": {\n        \"RequestId\": \"33a90f66-209e-4554-948a-c9652c08776e\",\n        \"TotalCount\": 1,\n        \"ZoneResourceSet\": [\n            {\n                \"MasterZone\": \"ap-guangzhou-2\"\n            }\n        ]\n    }\n}",
         
     | 
| 
      
 70 
     | 
    
         
            +
                    "title": "查询部署了GWLB集群的可用区"
         
     | 
| 
      
 71 
     | 
    
         
            +
                  }
         
     | 
| 
      
 72 
     | 
    
         
            +
                ],
         
     | 
| 
       65 
73 
     | 
    
         
             
                "DescribeTargetGroupInstanceStatus": [
         
     | 
| 
       66 
74 
     | 
    
         
             
                  {
         
     | 
| 
       67 
75 
     | 
    
         
             
                    "document": "批量查询gwlb目标组后端服务状态",
         
     | 
| 
         @@ -628,7 +628,7 @@ 
     | 
|
| 
       628 
628 
     | 
    
         
             
                    },
         
     | 
| 
       629 
629 
     | 
    
         
             
                    {
         
     | 
| 
       630 
630 
     | 
    
         
             
                      "disabled": false,
         
     | 
| 
       631 
     | 
    
         
            -
                      "document": "源语言。\n支持语言列表:  
     | 
| 
      
 631 
     | 
    
         
            +
                      "document": "源语言。\n支持语言列表: \n简体中文:zh,繁体中文:zh-TR,粤语:yue,英语:en,法语:fr,葡萄牙语:pt,西班牙语:es,日语:ja,土耳其语:tr,俄语:ru,阿拉伯语:ar,韩语:ko,泰语:th,意大利语:it,德语:de,越南语:vi,马来语:ms,印尼语:id\n以下语种仅 hunyuan-translation 模型支持:\n菲律宾语:fil,印地语:hi,波兰语:pl,捷克语:cs,荷兰语:nl,高棉语:km,缅甸语:my,波斯语:fa,古吉拉特语:gu,乌尔都语:ur,泰卢固语:te,马拉地语:mr,希伯来语:he,孟加拉语:bn,泰米尔语:ta,乌克兰语:uk,藏语:bo,哈萨克语:kk,蒙古语:mn,维吾尔语:ug",
         
     | 
| 
       632 
632 
     | 
    
         
             
                      "example": "en",
         
     | 
| 
       633 
633 
     | 
    
         
             
                      "member": "string",
         
     | 
| 
       634 
634 
     | 
    
         
             
                      "name": "Source",
         
     | 
| 
         @@ -637,7 +637,7 @@ 
     | 
|
| 
       637 
637 
     | 
    
         
             
                    },
         
     | 
| 
       638 
638 
     | 
    
         
             
                    {
         
     | 
| 
       639 
639 
     | 
    
         
             
                      "disabled": false,
         
     | 
| 
       640 
     | 
    
         
            -
                      "document": "目标语言。\n支持语言列表:  
     | 
| 
      
 640 
     | 
    
         
            +
                      "document": "目标语言。\n支持语言列表: \n简体中文:zh,繁体中文:zh-TR,粤语:yue,英语:en,法语:fr,葡萄牙语:pt,西班牙语:es,日语:ja,土耳其语:tr,俄语:ru,阿拉伯语:ar,韩语:ko,泰语:th,意大利语:it,德语:de,越南语:vi,马来语:ms,印尼语:id\n以下语种仅 hunyuan-translation 模型支持:\n菲律宾语:fil,印地语:hi,波兰语:pl,捷克语:cs,荷兰语:nl,高棉语:km,缅甸语:my,波斯语:fa,古吉拉特语:gu,乌尔都语:ur,泰卢固语:te,马拉地语:mr,希伯来语:he,孟加拉语:bn,泰米尔语:ta,乌克兰语:uk,藏语:bo,哈萨克语:kk,蒙古语:mn,维吾尔语:ug",
         
     | 
| 
       641 
641 
     | 
    
         
             
                      "example": "zh",
         
     | 
| 
       642 
642 
     | 
    
         
             
                      "member": "string",
         
     | 
| 
       643 
643 
     | 
    
         
             
                      "name": "Target",
         
     | 
    
        tccli/services/ioa/ioa_client.py
    CHANGED
    
    | 
         @@ -173,7 +173,7 @@ def doDescribeSoftwareInformation(args, parsed_globals): 
     | 
|
| 
       173 
173 
     | 
    
         
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
       174 
174 
     | 
    
         | 
| 
       175 
175 
     | 
    
         | 
| 
       176 
     | 
    
         
            -
            def  
     | 
| 
      
 176 
     | 
    
         
            +
            def doCreateDLPFileDetectTask(args, parsed_globals):
         
     | 
| 
       177 
177 
     | 
    
         
             
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
       178 
178 
     | 
    
         | 
| 
       179 
179 
     | 
    
         
             
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         
     | 
| 
         @@ -202,11 +202,115 @@ def doCreateDeviceVirtualGroup(args, parsed_globals): 
     | 
|
| 
       202 
202 
     | 
    
         
             
                client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
         
     | 
| 
       203 
203 
     | 
    
         
             
                client._sdkVersion += ("_CLI_" + __version__)
         
     | 
| 
       204 
204 
     | 
    
         
             
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
       205 
     | 
    
         
            -
                model = models. 
     | 
| 
      
 205 
     | 
    
         
            +
                model = models.CreateDLPFileDetectTaskRequest()
         
     | 
| 
       206 
206 
     | 
    
         
             
                model.from_json_string(json.dumps(args))
         
     | 
| 
       207 
207 
     | 
    
         
             
                start_time = time.time()
         
     | 
| 
       208 
208 
     | 
    
         
             
                while True:
         
     | 
| 
       209 
     | 
    
         
            -
                    rsp = client. 
     | 
| 
      
 209 
     | 
    
         
            +
                    rsp = client.CreateDLPFileDetectTask(model)
         
     | 
| 
      
 210 
     | 
    
         
            +
                    result = rsp.to_json_string()
         
     | 
| 
      
 211 
     | 
    
         
            +
                    try:
         
     | 
| 
      
 212 
     | 
    
         
            +
                        json_obj = json.loads(result)
         
     | 
| 
      
 213 
     | 
    
         
            +
                    except TypeError as e:
         
     | 
| 
      
 214 
     | 
    
         
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         
     | 
| 
      
 215 
     | 
    
         
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         
     | 
| 
      
 216 
     | 
    
         
            +
                        break
         
     | 
| 
      
 217 
     | 
    
         
            +
                    cur_time = time.time()
         
     | 
| 
      
 218 
     | 
    
         
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         
     | 
| 
      
 219 
     | 
    
         
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         
     | 
| 
      
 220 
     | 
    
         
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         
     | 
| 
      
 221 
     | 
    
         
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         
     | 
| 
      
 222 
     | 
    
         
            +
                    else:
         
     | 
| 
      
 223 
     | 
    
         
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         
     | 
| 
      
 224 
     | 
    
         
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         
     | 
| 
      
 225 
     | 
    
         
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
      
 226 
     | 
    
         
            +
             
     | 
| 
      
 227 
     | 
    
         
            +
             
     | 
| 
      
 228 
     | 
    
         
            +
            def doDescribeDeviceChildGroups(args, parsed_globals):
         
     | 
| 
      
 229 
     | 
    
         
            +
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
      
 231 
     | 
    
         
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         
     | 
| 
      
 232 
     | 
    
         
            +
                    cred = credential.CVMRoleCredential()
         
     | 
| 
      
 233 
     | 
    
         
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         
     | 
| 
      
 234 
     | 
    
         
            +
                    cred = credential.STSAssumeRoleCredential(
         
     | 
| 
      
 235 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         
     | 
| 
      
 236 
     | 
    
         
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         
     | 
| 
      
 237 
     | 
    
         
            +
                    )
         
     | 
| 
      
 238 
     | 
    
         
            +
                elif os.getenv(OptionsDefine.ENV_TKE_REGION)             and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID)             and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE)             and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
         
     | 
| 
      
 239 
     | 
    
         
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         
     | 
| 
      
 240 
     | 
    
         
            +
                else:
         
     | 
| 
      
 241 
     | 
    
         
            +
                    cred = credential.Credential(
         
     | 
| 
      
 242 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         
     | 
| 
      
 243 
     | 
    
         
            +
                    )
         
     | 
| 
      
 244 
     | 
    
         
            +
                http_profile = HttpProfile(
         
     | 
| 
      
 245 
     | 
    
         
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         
     | 
| 
      
 246 
     | 
    
         
            +
                    reqMethod="POST",
         
     | 
| 
      
 247 
     | 
    
         
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         
     | 
| 
      
 248 
     | 
    
         
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         
     | 
| 
      
 249 
     | 
    
         
            +
                )
         
     | 
| 
      
 250 
     | 
    
         
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         
     | 
| 
      
 251 
     | 
    
         
            +
                if g_param[OptionsDefine.Language]:
         
     | 
| 
      
 252 
     | 
    
         
            +
                    profile.language = g_param[OptionsDefine.Language]
         
     | 
| 
      
 253 
     | 
    
         
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 254 
     | 
    
         
            +
                client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
         
     | 
| 
      
 255 
     | 
    
         
            +
                client._sdkVersion += ("_CLI_" + __version__)
         
     | 
| 
      
 256 
     | 
    
         
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 257 
     | 
    
         
            +
                model = models.DescribeDeviceChildGroupsRequest()
         
     | 
| 
      
 258 
     | 
    
         
            +
                model.from_json_string(json.dumps(args))
         
     | 
| 
      
 259 
     | 
    
         
            +
                start_time = time.time()
         
     | 
| 
      
 260 
     | 
    
         
            +
                while True:
         
     | 
| 
      
 261 
     | 
    
         
            +
                    rsp = client.DescribeDeviceChildGroups(model)
         
     | 
| 
      
 262 
     | 
    
         
            +
                    result = rsp.to_json_string()
         
     | 
| 
      
 263 
     | 
    
         
            +
                    try:
         
     | 
| 
      
 264 
     | 
    
         
            +
                        json_obj = json.loads(result)
         
     | 
| 
      
 265 
     | 
    
         
            +
                    except TypeError as e:
         
     | 
| 
      
 266 
     | 
    
         
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         
     | 
| 
      
 267 
     | 
    
         
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         
     | 
| 
      
 268 
     | 
    
         
            +
                        break
         
     | 
| 
      
 269 
     | 
    
         
            +
                    cur_time = time.time()
         
     | 
| 
      
 270 
     | 
    
         
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         
     | 
| 
      
 271 
     | 
    
         
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         
     | 
| 
      
 272 
     | 
    
         
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         
     | 
| 
      
 273 
     | 
    
         
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         
     | 
| 
      
 274 
     | 
    
         
            +
                    else:
         
     | 
| 
      
 275 
     | 
    
         
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         
     | 
| 
      
 276 
     | 
    
         
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         
     | 
| 
      
 277 
     | 
    
         
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
             
     | 
| 
      
 280 
     | 
    
         
            +
            def doDescribeDLPFileDetectTaskResult(args, parsed_globals):
         
     | 
| 
      
 281 
     | 
    
         
            +
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
      
 282 
     | 
    
         
            +
             
     | 
| 
      
 283 
     | 
    
         
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         
     | 
| 
      
 284 
     | 
    
         
            +
                    cred = credential.CVMRoleCredential()
         
     | 
| 
      
 285 
     | 
    
         
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         
     | 
| 
      
 286 
     | 
    
         
            +
                    cred = credential.STSAssumeRoleCredential(
         
     | 
| 
      
 287 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         
     | 
| 
      
 288 
     | 
    
         
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         
     | 
| 
      
 289 
     | 
    
         
            +
                    )
         
     | 
| 
      
 290 
     | 
    
         
            +
                elif os.getenv(OptionsDefine.ENV_TKE_REGION)             and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID)             and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE)             and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
         
     | 
| 
      
 291 
     | 
    
         
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         
     | 
| 
      
 292 
     | 
    
         
            +
                else:
         
     | 
| 
      
 293 
     | 
    
         
            +
                    cred = credential.Credential(
         
     | 
| 
      
 294 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         
     | 
| 
      
 295 
     | 
    
         
            +
                    )
         
     | 
| 
      
 296 
     | 
    
         
            +
                http_profile = HttpProfile(
         
     | 
| 
      
 297 
     | 
    
         
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         
     | 
| 
      
 298 
     | 
    
         
            +
                    reqMethod="POST",
         
     | 
| 
      
 299 
     | 
    
         
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         
     | 
| 
      
 300 
     | 
    
         
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         
     | 
| 
      
 301 
     | 
    
         
            +
                )
         
     | 
| 
      
 302 
     | 
    
         
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         
     | 
| 
      
 303 
     | 
    
         
            +
                if g_param[OptionsDefine.Language]:
         
     | 
| 
      
 304 
     | 
    
         
            +
                    profile.language = g_param[OptionsDefine.Language]
         
     | 
| 
      
 305 
     | 
    
         
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 306 
     | 
    
         
            +
                client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
         
     | 
| 
      
 307 
     | 
    
         
            +
                client._sdkVersion += ("_CLI_" + __version__)
         
     | 
| 
      
 308 
     | 
    
         
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 309 
     | 
    
         
            +
                model = models.DescribeDLPFileDetectTaskResultRequest()
         
     | 
| 
      
 310 
     | 
    
         
            +
                model.from_json_string(json.dumps(args))
         
     | 
| 
      
 311 
     | 
    
         
            +
                start_time = time.time()
         
     | 
| 
      
 312 
     | 
    
         
            +
                while True:
         
     | 
| 
      
 313 
     | 
    
         
            +
                    rsp = client.DescribeDLPFileDetectTaskResult(model)
         
     | 
| 
       210 
314 
     | 
    
         
             
                    result = rsp.to_json_string()
         
     | 
| 
       211 
315 
     | 
    
         
             
                    try:
         
     | 
| 
       212 
316 
     | 
    
         
             
                        json_obj = json.loads(result)
         
     | 
| 
         @@ -589,6 +693,58 @@ def doDescribeAggrSoftCategorySoftList(args, parsed_globals): 
     | 
|
| 
       589 
693 
     | 
    
         
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
       590 
694 
     | 
    
         | 
| 
       591 
695 
     | 
    
         | 
| 
      
 696 
     | 
    
         
            +
            def doDescribeDLPEdgeNodes(args, parsed_globals):
         
     | 
| 
      
 697 
     | 
    
         
            +
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
      
 698 
     | 
    
         
            +
             
     | 
| 
      
 699 
     | 
    
         
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         
     | 
| 
      
 700 
     | 
    
         
            +
                    cred = credential.CVMRoleCredential()
         
     | 
| 
      
 701 
     | 
    
         
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         
     | 
| 
      
 702 
     | 
    
         
            +
                    cred = credential.STSAssumeRoleCredential(
         
     | 
| 
      
 703 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         
     | 
| 
      
 704 
     | 
    
         
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         
     | 
| 
      
 705 
     | 
    
         
            +
                    )
         
     | 
| 
      
 706 
     | 
    
         
            +
                elif os.getenv(OptionsDefine.ENV_TKE_REGION)             and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID)             and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE)             and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
         
     | 
| 
      
 707 
     | 
    
         
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         
     | 
| 
      
 708 
     | 
    
         
            +
                else:
         
     | 
| 
      
 709 
     | 
    
         
            +
                    cred = credential.Credential(
         
     | 
| 
      
 710 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         
     | 
| 
      
 711 
     | 
    
         
            +
                    )
         
     | 
| 
      
 712 
     | 
    
         
            +
                http_profile = HttpProfile(
         
     | 
| 
      
 713 
     | 
    
         
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         
     | 
| 
      
 714 
     | 
    
         
            +
                    reqMethod="POST",
         
     | 
| 
      
 715 
     | 
    
         
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         
     | 
| 
      
 716 
     | 
    
         
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         
     | 
| 
      
 717 
     | 
    
         
            +
                )
         
     | 
| 
      
 718 
     | 
    
         
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         
     | 
| 
      
 719 
     | 
    
         
            +
                if g_param[OptionsDefine.Language]:
         
     | 
| 
      
 720 
     | 
    
         
            +
                    profile.language = g_param[OptionsDefine.Language]
         
     | 
| 
      
 721 
     | 
    
         
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 722 
     | 
    
         
            +
                client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
         
     | 
| 
      
 723 
     | 
    
         
            +
                client._sdkVersion += ("_CLI_" + __version__)
         
     | 
| 
      
 724 
     | 
    
         
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 725 
     | 
    
         
            +
                model = models.DescribeDLPEdgeNodesRequest()
         
     | 
| 
      
 726 
     | 
    
         
            +
                model.from_json_string(json.dumps(args))
         
     | 
| 
      
 727 
     | 
    
         
            +
                start_time = time.time()
         
     | 
| 
      
 728 
     | 
    
         
            +
                while True:
         
     | 
| 
      
 729 
     | 
    
         
            +
                    rsp = client.DescribeDLPEdgeNodes(model)
         
     | 
| 
      
 730 
     | 
    
         
            +
                    result = rsp.to_json_string()
         
     | 
| 
      
 731 
     | 
    
         
            +
                    try:
         
     | 
| 
      
 732 
     | 
    
         
            +
                        json_obj = json.loads(result)
         
     | 
| 
      
 733 
     | 
    
         
            +
                    except TypeError as e:
         
     | 
| 
      
 734 
     | 
    
         
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         
     | 
| 
      
 735 
     | 
    
         
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         
     | 
| 
      
 736 
     | 
    
         
            +
                        break
         
     | 
| 
      
 737 
     | 
    
         
            +
                    cur_time = time.time()
         
     | 
| 
      
 738 
     | 
    
         
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         
     | 
| 
      
 739 
     | 
    
         
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         
     | 
| 
      
 740 
     | 
    
         
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         
     | 
| 
      
 741 
     | 
    
         
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         
     | 
| 
      
 742 
     | 
    
         
            +
                    else:
         
     | 
| 
      
 743 
     | 
    
         
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         
     | 
| 
      
 744 
     | 
    
         
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         
     | 
| 
      
 745 
     | 
    
         
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
      
 746 
     | 
    
         
            +
             
     | 
| 
      
 747 
     | 
    
         
            +
             
     | 
| 
       592 
748 
     | 
    
         
             
            def doDescribeAggrSoftDetail(args, parsed_globals):
         
     | 
| 
       593 
749 
     | 
    
         
             
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
       594 
750 
     | 
    
         | 
| 
         @@ -745,7 +901,7 @@ def doDescribeDeviceHardwareInfoList(args, parsed_globals): 
     | 
|
| 
       745 
901 
     | 
    
         
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
       746 
902 
     | 
    
         | 
| 
       747 
903 
     | 
    
         | 
| 
       748 
     | 
    
         
            -
            def  
     | 
| 
      
 904 
     | 
    
         
            +
            def doCreateDeviceVirtualGroup(args, parsed_globals):
         
     | 
| 
       749 
905 
     | 
    
         
             
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
       750 
906 
     | 
    
         | 
| 
       751 
907 
     | 
    
         
             
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         
     | 
| 
         @@ -774,11 +930,11 @@ def doDescribeDeviceChildGroups(args, parsed_globals): 
     | 
|
| 
       774 
930 
     | 
    
         
             
                client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
         
     | 
| 
       775 
931 
     | 
    
         
             
                client._sdkVersion += ("_CLI_" + __version__)
         
     | 
| 
       776 
932 
     | 
    
         
             
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
       777 
     | 
    
         
            -
                model = models. 
     | 
| 
      
 933 
     | 
    
         
            +
                model = models.CreateDeviceVirtualGroupRequest()
         
     | 
| 
       778 
934 
     | 
    
         
             
                model.from_json_string(json.dumps(args))
         
     | 
| 
       779 
935 
     | 
    
         
             
                start_time = time.time()
         
     | 
| 
       780 
936 
     | 
    
         
             
                while True:
         
     | 
| 
       781 
     | 
    
         
            -
                    rsp = client. 
     | 
| 
      
 937 
     | 
    
         
            +
                    rsp = client.CreateDeviceVirtualGroup(model)
         
     | 
| 
       782 
938 
     | 
    
         
             
                    result = rsp.to_json_string()
         
     | 
| 
       783 
939 
     | 
    
         
             
                    try:
         
     | 
| 
       784 
940 
     | 
    
         
             
                        json_obj = json.loads(result)
         
     | 
| 
         @@ -953,6 +1109,58 @@ def doDescribeLocalAccounts(args, parsed_globals): 
     | 
|
| 
       953 
1109 
     | 
    
         
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
       954 
1110 
     | 
    
         | 
| 
       955 
1111 
     | 
    
         | 
| 
      
 1112 
     | 
    
         
            +
            def doDescribeDLPEdgeNodeGroups(args, parsed_globals):
         
     | 
| 
      
 1113 
     | 
    
         
            +
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
      
 1114 
     | 
    
         
            +
             
     | 
| 
      
 1115 
     | 
    
         
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         
     | 
| 
      
 1116 
     | 
    
         
            +
                    cred = credential.CVMRoleCredential()
         
     | 
| 
      
 1117 
     | 
    
         
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         
     | 
| 
      
 1118 
     | 
    
         
            +
                    cred = credential.STSAssumeRoleCredential(
         
     | 
| 
      
 1119 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         
     | 
| 
      
 1120 
     | 
    
         
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         
     | 
| 
      
 1121 
     | 
    
         
            +
                    )
         
     | 
| 
      
 1122 
     | 
    
         
            +
                elif os.getenv(OptionsDefine.ENV_TKE_REGION)             and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID)             and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE)             and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
         
     | 
| 
      
 1123 
     | 
    
         
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         
     | 
| 
      
 1124 
     | 
    
         
            +
                else:
         
     | 
| 
      
 1125 
     | 
    
         
            +
                    cred = credential.Credential(
         
     | 
| 
      
 1126 
     | 
    
         
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         
     | 
| 
      
 1127 
     | 
    
         
            +
                    )
         
     | 
| 
      
 1128 
     | 
    
         
            +
                http_profile = HttpProfile(
         
     | 
| 
      
 1129 
     | 
    
         
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         
     | 
| 
      
 1130 
     | 
    
         
            +
                    reqMethod="POST",
         
     | 
| 
      
 1131 
     | 
    
         
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         
     | 
| 
      
 1132 
     | 
    
         
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         
     | 
| 
      
 1133 
     | 
    
         
            +
                )
         
     | 
| 
      
 1134 
     | 
    
         
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         
     | 
| 
      
 1135 
     | 
    
         
            +
                if g_param[OptionsDefine.Language]:
         
     | 
| 
      
 1136 
     | 
    
         
            +
                    profile.language = g_param[OptionsDefine.Language]
         
     | 
| 
      
 1137 
     | 
    
         
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 1138 
     | 
    
         
            +
                client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
         
     | 
| 
      
 1139 
     | 
    
         
            +
                client._sdkVersion += ("_CLI_" + __version__)
         
     | 
| 
      
 1140 
     | 
    
         
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         
     | 
| 
      
 1141 
     | 
    
         
            +
                model = models.DescribeDLPEdgeNodeGroupsRequest()
         
     | 
| 
      
 1142 
     | 
    
         
            +
                model.from_json_string(json.dumps(args))
         
     | 
| 
      
 1143 
     | 
    
         
            +
                start_time = time.time()
         
     | 
| 
      
 1144 
     | 
    
         
            +
                while True:
         
     | 
| 
      
 1145 
     | 
    
         
            +
                    rsp = client.DescribeDLPEdgeNodeGroups(model)
         
     | 
| 
      
 1146 
     | 
    
         
            +
                    result = rsp.to_json_string()
         
     | 
| 
      
 1147 
     | 
    
         
            +
                    try:
         
     | 
| 
      
 1148 
     | 
    
         
            +
                        json_obj = json.loads(result)
         
     | 
| 
      
 1149 
     | 
    
         
            +
                    except TypeError as e:
         
     | 
| 
      
 1150 
     | 
    
         
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         
     | 
| 
      
 1151 
     | 
    
         
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         
     | 
| 
      
 1152 
     | 
    
         
            +
                        break
         
     | 
| 
      
 1153 
     | 
    
         
            +
                    cur_time = time.time()
         
     | 
| 
      
 1154 
     | 
    
         
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         
     | 
| 
      
 1155 
     | 
    
         
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         
     | 
| 
      
 1156 
     | 
    
         
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         
     | 
| 
      
 1157 
     | 
    
         
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         
     | 
| 
      
 1158 
     | 
    
         
            +
                    else:
         
     | 
| 
      
 1159 
     | 
    
         
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         
     | 
| 
      
 1160 
     | 
    
         
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         
     | 
| 
      
 1161 
     | 
    
         
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         
     | 
| 
      
 1162 
     | 
    
         
            +
             
     | 
| 
      
 1163 
     | 
    
         
            +
             
     | 
| 
       956 
1164 
     | 
    
         
             
            def doDescribeDevices(args, parsed_globals):
         
     | 
| 
       957 
1165 
     | 
    
         
             
                g_param = parse_global_arg(parsed_globals)
         
     | 
| 
       958 
1166 
     | 
    
         | 
| 
         @@ -1175,7 +1383,9 @@ ACTION_MAP = { 
     | 
|
| 
       1175 
1383 
     | 
    
         
             
                "DescribeAggrSoftDeviceList": doDescribeAggrSoftDeviceList,
         
     | 
| 
       1176 
1384 
     | 
    
         
             
                "CreateDeviceTask": doCreateDeviceTask,
         
     | 
| 
       1177 
1385 
     | 
    
         
             
                "DescribeSoftwareInformation": doDescribeSoftwareInformation,
         
     | 
| 
       1178 
     | 
    
         
            -
                " 
     | 
| 
      
 1386 
     | 
    
         
            +
                "CreateDLPFileDetectTask": doCreateDLPFileDetectTask,
         
     | 
| 
      
 1387 
     | 
    
         
            +
                "DescribeDeviceChildGroups": doDescribeDeviceChildGroups,
         
     | 
| 
      
 1388 
     | 
    
         
            +
                "DescribeDLPFileDetectTaskResult": doDescribeDLPFileDetectTaskResult,
         
     | 
| 
       1179 
1389 
     | 
    
         
             
                "DescribeVirtualDevices": doDescribeVirtualDevices,
         
     | 
| 
       1180 
1390 
     | 
    
         
             
                "ExportSoftwareInformationList": doExportSoftwareInformationList,
         
     | 
| 
       1181 
1391 
     | 
    
         
             
                "CreateDLPFileDetectionTask": doCreateDLPFileDetectionTask,
         
     | 
| 
         @@ -1183,13 +1393,15 @@ ACTION_MAP = { 
     | 
|
| 
       1183 
1393 
     | 
    
         
             
                "DescribeRootAccountGroup": doDescribeRootAccountGroup,
         
     | 
| 
       1184 
1394 
     | 
    
         
             
                "DescribeDLPFileDetectResult": doDescribeDLPFileDetectResult,
         
     | 
| 
       1185 
1395 
     | 
    
         
             
                "DescribeAggrSoftCategorySoftList": doDescribeAggrSoftCategorySoftList,
         
     | 
| 
      
 1396 
     | 
    
         
            +
                "DescribeDLPEdgeNodes": doDescribeDLPEdgeNodes,
         
     | 
| 
       1186 
1397 
     | 
    
         
             
                "DescribeAggrSoftDetail": doDescribeAggrSoftDetail,
         
     | 
| 
       1187 
1398 
     | 
    
         
             
                "DescribeDeviceInfo": doDescribeDeviceInfo,
         
     | 
| 
       1188 
1399 
     | 
    
         
             
                "DescribeDeviceHardwareInfoList": doDescribeDeviceHardwareInfoList,
         
     | 
| 
       1189 
     | 
    
         
            -
                " 
     | 
| 
      
 1400 
     | 
    
         
            +
                "CreateDeviceVirtualGroup": doCreateDeviceVirtualGroup,
         
     | 
| 
       1190 
1401 
     | 
    
         
             
                "DescribeAccountGroups": doDescribeAccountGroups,
         
     | 
| 
       1191 
1402 
     | 
    
         
             
                "DescribeDeviceDetailList": doDescribeDeviceDetailList,
         
     | 
| 
       1192 
1403 
     | 
    
         
             
                "DescribeLocalAccounts": doDescribeLocalAccounts,
         
     | 
| 
      
 1404 
     | 
    
         
            +
                "DescribeDLPEdgeNodeGroups": doDescribeDLPEdgeNodeGroups,
         
     | 
| 
       1193 
1405 
     | 
    
         
             
                "DescribeDevices": doDescribeDevices,
         
     | 
| 
       1194 
1406 
     | 
    
         
             
                "DescribeDeviceVirtualGroups": doDescribeDeviceVirtualGroups,
         
     | 
| 
       1195 
1407 
     | 
    
         
             
                "DescribeSoftCensusListByDevice": doDescribeSoftCensusListByDevice,
         
     |